From owner-p4-projects@FreeBSD.ORG Sun Mar 18 02:06:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5529916A406; Sun, 18 Mar 2007 02:06:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DB99116A403 for ; Sun, 18 Mar 2007 02:06:06 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C9D5913C458 for ; Sun, 18 Mar 2007 02:06:06 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2I2663U015407 for ; Sun, 18 Mar 2007 02:06:06 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2I265S1015348 for perforce@freebsd.org; Sun, 18 Mar 2007 02:06:05 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Mar 2007 02:06:05 GMT Message-Id: <200703180206.l2I265S1015348@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 116060 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2007 02:06:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=116060 Change 116060 by kmacy@kmacy_vt-x:opentoe_init on 2007/03/18 01:54:07 initial branch integrate for network offload support Affected files ... .. //depot/projects/opentoe/COPYRIGHT#1 branch .. //depot/projects/opentoe/LOCKS#1 branch .. //depot/projects/opentoe/MAINTAINERS#1 branch .. //depot/projects/opentoe/Makefile#1 branch .. //depot/projects/opentoe/Makefile.inc1#1 branch .. //depot/projects/opentoe/ObsoleteFiles.inc#1 branch .. //depot/projects/opentoe/README#1 branch .. //depot/projects/opentoe/UPDATING#1 branch .. //depot/projects/opentoe/bin/Makefile#1 branch .. //depot/projects/opentoe/bin/Makefile.inc#1 branch .. //depot/projects/opentoe/bin/cat/Makefile#1 branch .. //depot/projects/opentoe/bin/cat/cat.1#1 branch .. //depot/projects/opentoe/bin/cat/cat.c#1 branch .. //depot/projects/opentoe/bin/chflags/Makefile#1 branch .. //depot/projects/opentoe/bin/chflags/chflags.1#1 branch .. //depot/projects/opentoe/bin/chflags/chflags.c#1 branch .. //depot/projects/opentoe/bin/chio/Makefile#1 branch .. //depot/projects/opentoe/bin/chio/chio.1#1 branch .. //depot/projects/opentoe/bin/chio/chio.c#1 branch .. //depot/projects/opentoe/bin/chio/defs.h#1 branch .. //depot/projects/opentoe/bin/chio/pathnames.h#1 branch .. //depot/projects/opentoe/bin/chmod/Makefile#1 branch .. //depot/projects/opentoe/bin/chmod/chmod.1#1 branch .. //depot/projects/opentoe/bin/chmod/chmod.c#1 branch .. //depot/projects/opentoe/bin/cp/Makefile#1 branch .. //depot/projects/opentoe/bin/cp/cp.1#1 branch .. //depot/projects/opentoe/bin/cp/cp.c#1 branch .. //depot/projects/opentoe/bin/cp/extern.h#1 branch .. //depot/projects/opentoe/bin/cp/utils.c#1 branch .. //depot/projects/opentoe/bin/csh/Makefile#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/opentoe/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/opentoe/bin/csh/config.h#1 branch .. //depot/projects/opentoe/bin/csh/config_p.h#1 branch .. //depot/projects/opentoe/bin/csh/host.defs#1 branch .. //depot/projects/opentoe/bin/csh/iconv.h#1 branch .. //depot/projects/opentoe/bin/csh/iconv_stub.c#1 branch .. //depot/projects/opentoe/bin/date/Makefile#1 branch .. //depot/projects/opentoe/bin/date/date.1#1 branch .. //depot/projects/opentoe/bin/date/date.c#1 branch .. //depot/projects/opentoe/bin/date/extern.h#1 branch .. //depot/projects/opentoe/bin/date/netdate.c#1 branch .. //depot/projects/opentoe/bin/date/vary.c#1 branch .. //depot/projects/opentoe/bin/date/vary.h#1 branch .. //depot/projects/opentoe/bin/dd/Makefile#1 branch .. //depot/projects/opentoe/bin/dd/args.c#1 branch .. //depot/projects/opentoe/bin/dd/conv.c#1 branch .. //depot/projects/opentoe/bin/dd/conv_tab.c#1 branch .. //depot/projects/opentoe/bin/dd/dd.1#1 branch .. //depot/projects/opentoe/bin/dd/dd.c#1 branch .. //depot/projects/opentoe/bin/dd/dd.h#1 branch .. //depot/projects/opentoe/bin/dd/extern.h#1 branch .. //depot/projects/opentoe/bin/dd/gen.c#1 branch .. //depot/projects/opentoe/bin/dd/misc.c#1 branch .. //depot/projects/opentoe/bin/dd/position.c#1 branch .. //depot/projects/opentoe/bin/dd/ref.ascii#1 branch .. //depot/projects/opentoe/bin/dd/ref.ebcdic#1 branch .. //depot/projects/opentoe/bin/dd/ref.ibm#1 branch .. //depot/projects/opentoe/bin/dd/ref.lcase#1 branch .. //depot/projects/opentoe/bin/dd/ref.oldascii#1 branch .. //depot/projects/opentoe/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/opentoe/bin/dd/ref.oldibm#1 branch .. //depot/projects/opentoe/bin/dd/ref.pareven#1 branch .. //depot/projects/opentoe/bin/dd/ref.parnone#1 branch .. //depot/projects/opentoe/bin/dd/ref.parodd#1 branch .. //depot/projects/opentoe/bin/dd/ref.parset#1 branch .. //depot/projects/opentoe/bin/dd/ref.swab#1 branch .. //depot/projects/opentoe/bin/dd/ref.ucase#1 branch .. //depot/projects/opentoe/bin/df/Makefile#1 branch .. //depot/projects/opentoe/bin/df/df.1#1 branch .. //depot/projects/opentoe/bin/df/df.c#1 branch .. //depot/projects/opentoe/bin/domainname/Makefile#1 branch .. //depot/projects/opentoe/bin/domainname/domainname.1#1 branch .. //depot/projects/opentoe/bin/domainname/domainname.c#1 branch .. //depot/projects/opentoe/bin/echo/Makefile#1 branch .. //depot/projects/opentoe/bin/echo/echo.1#1 branch .. //depot/projects/opentoe/bin/echo/echo.c#1 branch .. //depot/projects/opentoe/bin/ed/Makefile#1 branch .. //depot/projects/opentoe/bin/ed/POSIX#1 branch .. //depot/projects/opentoe/bin/ed/README#1 branch .. //depot/projects/opentoe/bin/ed/buf.c#1 branch .. //depot/projects/opentoe/bin/ed/cbc.c#1 branch .. //depot/projects/opentoe/bin/ed/ed.1#1 branch .. //depot/projects/opentoe/bin/ed/ed.h#1 branch .. //depot/projects/opentoe/bin/ed/glbl.c#1 branch .. //depot/projects/opentoe/bin/ed/io.c#1 branch .. //depot/projects/opentoe/bin/ed/main.c#1 branch .. //depot/projects/opentoe/bin/ed/re.c#1 branch .. //depot/projects/opentoe/bin/ed/sub.c#1 branch .. //depot/projects/opentoe/bin/ed/test/=.err#1 branch .. //depot/projects/opentoe/bin/ed/test/Makefile#1 branch .. //depot/projects/opentoe/bin/ed/test/README#1 branch .. //depot/projects/opentoe/bin/ed/test/TODO#1 branch .. //depot/projects/opentoe/bin/ed/test/a.d#1 branch .. //depot/projects/opentoe/bin/ed/test/a.r#1 branch .. //depot/projects/opentoe/bin/ed/test/a.t#1 branch .. //depot/projects/opentoe/bin/ed/test/a1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/a2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/addr.d#1 branch .. //depot/projects/opentoe/bin/ed/test/addr.r#1 branch .. //depot/projects/opentoe/bin/ed/test/addr.t#1 branch .. //depot/projects/opentoe/bin/ed/test/addr1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/addr2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/opentoe/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/opentoe/bin/ed/test/ascii.t#1 branch .. //depot/projects/opentoe/bin/ed/test/bang1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/bang1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/bang1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/bang1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/bang2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/c.d#1 branch .. //depot/projects/opentoe/bin/ed/test/c.r#1 branch .. //depot/projects/opentoe/bin/ed/test/c.t#1 branch .. //depot/projects/opentoe/bin/ed/test/c1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/c2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/opentoe/bin/ed/test/d.d#1 branch .. //depot/projects/opentoe/bin/ed/test/d.err#1 branch .. //depot/projects/opentoe/bin/ed/test/d.r#1 branch .. //depot/projects/opentoe/bin/ed/test/d.t#1 branch .. //depot/projects/opentoe/bin/ed/test/e1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/e1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/e1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/e1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/e2.d#1 branch .. //depot/projects/opentoe/bin/ed/test/e2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/e2.r#1 branch .. //depot/projects/opentoe/bin/ed/test/e2.t#1 branch .. //depot/projects/opentoe/bin/ed/test/e3.d#1 branch .. //depot/projects/opentoe/bin/ed/test/e3.err#1 branch .. //depot/projects/opentoe/bin/ed/test/e3.r#1 branch .. //depot/projects/opentoe/bin/ed/test/e3.t#1 branch .. //depot/projects/opentoe/bin/ed/test/e4.d#1 branch .. //depot/projects/opentoe/bin/ed/test/e4.r#1 branch .. //depot/projects/opentoe/bin/ed/test/e4.t#1 branch .. //depot/projects/opentoe/bin/ed/test/f1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/f2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/g1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/g1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/g1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/g1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/g2.d#1 branch .. //depot/projects/opentoe/bin/ed/test/g2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/g2.r#1 branch .. //depot/projects/opentoe/bin/ed/test/g2.t#1 branch .. //depot/projects/opentoe/bin/ed/test/g3.d#1 branch .. //depot/projects/opentoe/bin/ed/test/g3.err#1 branch .. //depot/projects/opentoe/bin/ed/test/g3.r#1 branch .. //depot/projects/opentoe/bin/ed/test/g3.t#1 branch .. //depot/projects/opentoe/bin/ed/test/g4.d#1 branch .. //depot/projects/opentoe/bin/ed/test/g4.r#1 branch .. //depot/projects/opentoe/bin/ed/test/g4.t#1 branch .. //depot/projects/opentoe/bin/ed/test/g5.d#1 branch .. //depot/projects/opentoe/bin/ed/test/g5.r#1 branch .. //depot/projects/opentoe/bin/ed/test/g5.t#1 branch .. //depot/projects/opentoe/bin/ed/test/h.err#1 branch .. //depot/projects/opentoe/bin/ed/test/i.d#1 branch .. //depot/projects/opentoe/bin/ed/test/i.r#1 branch .. //depot/projects/opentoe/bin/ed/test/i.t#1 branch .. //depot/projects/opentoe/bin/ed/test/i1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/i2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/i3.err#1 branch .. //depot/projects/opentoe/bin/ed/test/j.d#1 branch .. //depot/projects/opentoe/bin/ed/test/j.r#1 branch .. //depot/projects/opentoe/bin/ed/test/j.t#1 branch .. //depot/projects/opentoe/bin/ed/test/k.d#1 branch .. //depot/projects/opentoe/bin/ed/test/k.r#1 branch .. //depot/projects/opentoe/bin/ed/test/k.t#1 branch .. //depot/projects/opentoe/bin/ed/test/k1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/k2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/k3.err#1 branch .. //depot/projects/opentoe/bin/ed/test/k4.err#1 branch .. //depot/projects/opentoe/bin/ed/test/l.d#1 branch .. //depot/projects/opentoe/bin/ed/test/l.r#1 branch .. //depot/projects/opentoe/bin/ed/test/l.t#1 branch .. //depot/projects/opentoe/bin/ed/test/m.d#1 branch .. //depot/projects/opentoe/bin/ed/test/m.err#1 branch .. //depot/projects/opentoe/bin/ed/test/m.r#1 branch .. //depot/projects/opentoe/bin/ed/test/m.t#1 branch .. //depot/projects/opentoe/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/opentoe/bin/ed/test/n.d#1 branch .. //depot/projects/opentoe/bin/ed/test/n.r#1 branch .. //depot/projects/opentoe/bin/ed/test/n.t#1 branch .. //depot/projects/opentoe/bin/ed/test/nl.err#1 branch .. //depot/projects/opentoe/bin/ed/test/nl1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/nl1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/nl1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/nl2.d#1 branch .. //depot/projects/opentoe/bin/ed/test/nl2.r#1 branch .. //depot/projects/opentoe/bin/ed/test/nl2.t#1 branch .. //depot/projects/opentoe/bin/ed/test/p.d#1 branch .. //depot/projects/opentoe/bin/ed/test/p.r#1 branch .. //depot/projects/opentoe/bin/ed/test/p.t#1 branch .. //depot/projects/opentoe/bin/ed/test/q.d#1 branch .. //depot/projects/opentoe/bin/ed/test/q.r#1 branch .. //depot/projects/opentoe/bin/ed/test/q.t#1 branch .. //depot/projects/opentoe/bin/ed/test/q1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/r1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/r1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/r1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/r1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/r2.d#1 branch .. //depot/projects/opentoe/bin/ed/test/r2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/r2.r#1 branch .. //depot/projects/opentoe/bin/ed/test/r2.t#1 branch .. //depot/projects/opentoe/bin/ed/test/r3.d#1 branch .. //depot/projects/opentoe/bin/ed/test/r3.r#1 branch .. //depot/projects/opentoe/bin/ed/test/r3.t#1 branch .. //depot/projects/opentoe/bin/ed/test/s1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/s1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/s1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/s10.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s2.d#1 branch .. //depot/projects/opentoe/bin/ed/test/s2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s2.r#1 branch .. //depot/projects/opentoe/bin/ed/test/s2.t#1 branch .. //depot/projects/opentoe/bin/ed/test/s3.d#1 branch .. //depot/projects/opentoe/bin/ed/test/s3.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s3.r#1 branch .. //depot/projects/opentoe/bin/ed/test/s3.t#1 branch .. //depot/projects/opentoe/bin/ed/test/s4.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s5.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s6.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s7.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s8.err#1 branch .. //depot/projects/opentoe/bin/ed/test/s9.err#1 branch .. //depot/projects/opentoe/bin/ed/test/t.d#1 branch .. //depot/projects/opentoe/bin/ed/test/t.r#1 branch .. //depot/projects/opentoe/bin/ed/test/t1.d#1 branch .. //depot/projects/opentoe/bin/ed/test/t1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/t1.r#1 branch .. //depot/projects/opentoe/bin/ed/test/t1.t#1 branch .. //depot/projects/opentoe/bin/ed/test/t2.d#1 branch .. //depot/projects/opentoe/bin/ed/test/t2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/t2.r#1 branch .. //depot/projects/opentoe/bin/ed/test/t2.t#1 branch .. //depot/projects/opentoe/bin/ed/test/u.d#1 branch .. //depot/projects/opentoe/bin/ed/test/u.err#1 branch .. //depot/projects/opentoe/bin/ed/test/u.r#1 branch .. //depot/projects/opentoe/bin/ed/test/u.t#1 branch .. //depot/projects/opentoe/bin/ed/test/v.d#1 branch .. //depot/projects/opentoe/bin/ed/test/v.r#1 branch .. //depot/projects/opentoe/bin/ed/test/v.t#1 branch .. //depot/projects/opentoe/bin/ed/test/w.d#1 branch .. //depot/projects/opentoe/bin/ed/test/w.r#1 branch .. //depot/projects/opentoe/bin/ed/test/w.t#1 branch .. //depot/projects/opentoe/bin/ed/test/w1.err#1 branch .. //depot/projects/opentoe/bin/ed/test/w2.err#1 branch .. //depot/projects/opentoe/bin/ed/test/w3.err#1 branch .. //depot/projects/opentoe/bin/ed/test/x.err#1 branch .. //depot/projects/opentoe/bin/ed/test/z.err#1 branch .. //depot/projects/opentoe/bin/ed/undo.c#1 branch .. //depot/projects/opentoe/bin/expr/Makefile#1 branch .. //depot/projects/opentoe/bin/expr/expr.1#1 branch .. //depot/projects/opentoe/bin/expr/expr.y#1 branch .. //depot/projects/opentoe/bin/getfacl/Makefile#1 branch .. //depot/projects/opentoe/bin/getfacl/getfacl.1#1 branch .. //depot/projects/opentoe/bin/getfacl/getfacl.c#1 branch .. //depot/projects/opentoe/bin/hostname/Makefile#1 branch .. //depot/projects/opentoe/bin/hostname/hostname.1#1 branch .. //depot/projects/opentoe/bin/hostname/hostname.c#1 branch .. //depot/projects/opentoe/bin/kenv/Makefile#1 branch .. //depot/projects/opentoe/bin/kenv/kenv.1#1 branch .. //depot/projects/opentoe/bin/kenv/kenv.c#1 branch .. //depot/projects/opentoe/bin/kill/Makefile#1 branch .. //depot/projects/opentoe/bin/kill/kill.1#1 branch .. //depot/projects/opentoe/bin/kill/kill.c#1 branch .. //depot/projects/opentoe/bin/ln/Makefile#1 branch .. //depot/projects/opentoe/bin/ln/ln.1#1 branch .. //depot/projects/opentoe/bin/ln/ln.c#1 branch .. //depot/projects/opentoe/bin/ln/symlink.7#1 branch .. //depot/projects/opentoe/bin/ls/Makefile#1 branch .. //depot/projects/opentoe/bin/ls/cmp.c#1 branch .. //depot/projects/opentoe/bin/ls/extern.h#1 branch .. //depot/projects/opentoe/bin/ls/ls.1#1 branch .. //depot/projects/opentoe/bin/ls/ls.c#1 branch .. //depot/projects/opentoe/bin/ls/ls.h#1 branch .. //depot/projects/opentoe/bin/ls/print.c#1 branch .. //depot/projects/opentoe/bin/ls/util.c#1 branch .. //depot/projects/opentoe/bin/mkdir/Makefile#1 branch .. //depot/projects/opentoe/bin/mkdir/mkdir.1#1 branch .. //depot/projects/opentoe/bin/mkdir/mkdir.c#1 branch .. //depot/projects/opentoe/bin/mv/Makefile#1 branch .. //depot/projects/opentoe/bin/mv/mv.1#1 branch .. //depot/projects/opentoe/bin/mv/mv.c#1 branch .. //depot/projects/opentoe/bin/pax/Makefile#1 branch .. //depot/projects/opentoe/bin/pax/ar_io.c#1 branch .. //depot/projects/opentoe/bin/pax/ar_subs.c#1 branch .. //depot/projects/opentoe/bin/pax/buf_subs.c#1 branch .. //depot/projects/opentoe/bin/pax/cache.c#1 branch .. //depot/projects/opentoe/bin/pax/cache.h#1 branch .. //depot/projects/opentoe/bin/pax/cpio.1#1 branch .. //depot/projects/opentoe/bin/pax/cpio.c#1 branch .. //depot/projects/opentoe/bin/pax/cpio.h#1 branch .. //depot/projects/opentoe/bin/pax/extern.h#1 branch .. //depot/projects/opentoe/bin/pax/file_subs.c#1 branch .. //depot/projects/opentoe/bin/pax/ftree.c#1 branch .. //depot/projects/opentoe/bin/pax/ftree.h#1 branch .. //depot/projects/opentoe/bin/pax/gen_subs.c#1 branch .. //depot/projects/opentoe/bin/pax/getoldopt.c#1 branch .. //depot/projects/opentoe/bin/pax/options.c#1 branch .. //depot/projects/opentoe/bin/pax/options.h#1 branch .. //depot/projects/opentoe/bin/pax/pat_rep.c#1 branch .. //depot/projects/opentoe/bin/pax/pat_rep.h#1 branch .. //depot/projects/opentoe/bin/pax/pax.1#1 branch .. //depot/projects/opentoe/bin/pax/pax.c#1 branch .. //depot/projects/opentoe/bin/pax/pax.h#1 branch .. //depot/projects/opentoe/bin/pax/sel_subs.c#1 branch .. //depot/projects/opentoe/bin/pax/sel_subs.h#1 branch .. //depot/projects/opentoe/bin/pax/tables.c#1 branch .. //depot/projects/opentoe/bin/pax/tables.h#1 branch .. //depot/projects/opentoe/bin/pax/tar.1#1 branch .. //depot/projects/opentoe/bin/pax/tar.c#1 branch .. //depot/projects/opentoe/bin/pax/tar.h#1 branch .. //depot/projects/opentoe/bin/pax/tty_subs.c#1 branch .. //depot/projects/opentoe/bin/ps/Makefile#1 branch .. //depot/projects/opentoe/bin/ps/extern.h#1 branch .. //depot/projects/opentoe/bin/ps/fmt.c#1 branch .. //depot/projects/opentoe/bin/ps/keyword.c#1 branch .. //depot/projects/opentoe/bin/ps/nlist.c#1 branch .. //depot/projects/opentoe/bin/ps/print.c#1 branch .. //depot/projects/opentoe/bin/ps/ps.1#1 branch .. //depot/projects/opentoe/bin/ps/ps.c#1 branch .. //depot/projects/opentoe/bin/ps/ps.h#1 branch .. //depot/projects/opentoe/bin/pwd/Makefile#1 branch .. //depot/projects/opentoe/bin/pwd/pwd.1#1 branch .. //depot/projects/opentoe/bin/pwd/pwd.c#1 branch .. //depot/projects/opentoe/bin/rcp/Makefile#1 branch .. //depot/projects/opentoe/bin/rcp/extern.h#1 branch .. //depot/projects/opentoe/bin/rcp/rcp.1#1 branch .. //depot/projects/opentoe/bin/rcp/rcp.c#1 branch .. //depot/projects/opentoe/bin/rcp/util.c#1 branch .. //depot/projects/opentoe/bin/realpath/Makefile#1 branch .. //depot/projects/opentoe/bin/realpath/realpath.1#1 branch .. //depot/projects/opentoe/bin/realpath/realpath.c#1 branch .. //depot/projects/opentoe/bin/rm/Makefile#1 branch .. //depot/projects/opentoe/bin/rm/rm.1#1 branch .. //depot/projects/opentoe/bin/rm/rm.c#1 branch .. //depot/projects/opentoe/bin/rmail/Makefile#1 branch .. //depot/projects/opentoe/bin/rmdir/Makefile#1 branch .. //depot/projects/opentoe/bin/rmdir/rmdir.1#1 branch .. //depot/projects/opentoe/bin/rmdir/rmdir.c#1 branch .. //depot/projects/opentoe/bin/setfacl/Makefile#1 branch .. //depot/projects/opentoe/bin/setfacl/file.c#1 branch .. //depot/projects/opentoe/bin/setfacl/mask.c#1 branch .. //depot/projects/opentoe/bin/setfacl/merge.c#1 branch .. //depot/projects/opentoe/bin/setfacl/remove.c#1 branch .. //depot/projects/opentoe/bin/setfacl/setfacl.1#1 branch .. //depot/projects/opentoe/bin/setfacl/setfacl.c#1 branch .. //depot/projects/opentoe/bin/setfacl/setfacl.h#1 branch .. //depot/projects/opentoe/bin/setfacl/util.c#1 branch .. //depot/projects/opentoe/bin/sh/Makefile#1 branch .. //depot/projects/opentoe/bin/sh/TOUR#1 branch .. //depot/projects/opentoe/bin/sh/alias.c#1 branch .. //depot/projects/opentoe/bin/sh/alias.h#1 branch .. //depot/projects/opentoe/bin/sh/arith.h#1 branch .. //depot/projects/opentoe/bin/sh/arith.y#1 branch .. //depot/projects/opentoe/bin/sh/arith_lex.l#1 branch .. //depot/projects/opentoe/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/opentoe/bin/sh/bltin/echo.1#1 branch .. //depot/projects/opentoe/bin/sh/bltin/echo.c#1 branch .. //depot/projects/opentoe/bin/sh/builtins.def#1 branch .. //depot/projects/opentoe/bin/sh/cd.c#1 branch .. //depot/projects/opentoe/bin/sh/cd.h#1 branch .. //depot/projects/opentoe/bin/sh/error.c#1 branch .. //depot/projects/opentoe/bin/sh/error.h#1 branch .. //depot/projects/opentoe/bin/sh/eval.c#1 branch .. //depot/projects/opentoe/bin/sh/eval.h#1 branch .. //depot/projects/opentoe/bin/sh/exec.c#1 branch .. //depot/projects/opentoe/bin/sh/exec.h#1 branch .. //depot/projects/opentoe/bin/sh/expand.c#1 branch .. //depot/projects/opentoe/bin/sh/expand.h#1 branch .. //depot/projects/opentoe/bin/sh/funcs/cmv#1 branch .. //depot/projects/opentoe/bin/sh/funcs/dirs#1 branch .. //depot/projects/opentoe/bin/sh/funcs/kill#1 branch .. //depot/projects/opentoe/bin/sh/funcs/login#1 branch .. //depot/projects/opentoe/bin/sh/funcs/newgrp#1 branch .. //depot/projects/opentoe/bin/sh/funcs/popd#1 branch .. //depot/projects/opentoe/bin/sh/funcs/pushd#1 branch .. //depot/projects/opentoe/bin/sh/funcs/suspend#1 branch .. //depot/projects/opentoe/bin/sh/histedit.c#1 branch .. //depot/projects/opentoe/bin/sh/init.h#1 branch .. //depot/projects/opentoe/bin/sh/input.c#1 branch .. //depot/projects/opentoe/bin/sh/input.h#1 branch .. //depot/projects/opentoe/bin/sh/jobs.c#1 branch .. //depot/projects/opentoe/bin/sh/jobs.h#1 branch .. //depot/projects/opentoe/bin/sh/mail.c#1 branch .. //depot/projects/opentoe/bin/sh/mail.h#1 branch .. //depot/projects/opentoe/bin/sh/main.c#1 branch .. //depot/projects/opentoe/bin/sh/main.h#1 branch .. //depot/projects/opentoe/bin/sh/memalloc.c#1 branch .. //depot/projects/opentoe/bin/sh/memalloc.h#1 branch .. //depot/projects/opentoe/bin/sh/miscbltin.c#1 branch .. //depot/projects/opentoe/bin/sh/mkbuiltins#1 branch .. //depot/projects/opentoe/bin/sh/mkinit.c#1 branch .. //depot/projects/opentoe/bin/sh/mknodes.c#1 branch .. //depot/projects/opentoe/bin/sh/mksyntax.c#1 branch .. //depot/projects/opentoe/bin/sh/mktokens#1 branch .. //depot/projects/opentoe/bin/sh/myhistedit.h#1 branch .. //depot/projects/opentoe/bin/sh/mystring.c#1 branch .. //depot/projects/opentoe/bin/sh/mystring.h#1 branch .. //depot/projects/opentoe/bin/sh/nodes.c.pat#1 branch .. //depot/projects/opentoe/bin/sh/nodetypes#1 branch .. //depot/projects/opentoe/bin/sh/options.c#1 branch .. //depot/projects/opentoe/bin/sh/options.h#1 branch .. //depot/projects/opentoe/bin/sh/output.c#1 branch .. //depot/projects/opentoe/bin/sh/output.h#1 branch .. //depot/projects/opentoe/bin/sh/parser.c#1 branch .. //depot/projects/opentoe/bin/sh/parser.h#1 branch .. //depot/projects/opentoe/bin/sh/redir.c#1 branch .. //depot/projects/opentoe/bin/sh/redir.h#1 branch .. //depot/projects/opentoe/bin/sh/sh.1#1 branch .. //depot/projects/opentoe/bin/sh/shell.h#1 branch .. //depot/projects/opentoe/bin/sh/show.c#1 branch .. //depot/projects/opentoe/bin/sh/show.h#1 branch .. //depot/projects/opentoe/bin/sh/trap.c#1 branch .. //depot/projects/opentoe/bin/sh/trap.h#1 branch .. //depot/projects/opentoe/bin/sh/var.c#1 branch .. //depot/projects/opentoe/bin/sh/var.h#1 branch .. //depot/projects/opentoe/bin/sleep/Makefile#1 branch .. //depot/projects/opentoe/bin/sleep/sleep.1#1 branch .. //depot/projects/opentoe/bin/sleep/sleep.c#1 branch .. //depot/projects/opentoe/bin/stty/Makefile#1 branch .. //depot/projects/opentoe/bin/stty/cchar.c#1 branch .. //depot/projects/opentoe/bin/stty/extern.h#1 branch .. //depot/projects/opentoe/bin/stty/gfmt.c#1 branch .. //depot/projects/opentoe/bin/stty/key.c#1 branch .. //depot/projects/opentoe/bin/stty/modes.c#1 branch .. //depot/projects/opentoe/bin/stty/print.c#1 branch .. //depot/projects/opentoe/bin/stty/stty.1#1 branch .. //depot/projects/opentoe/bin/stty/stty.c#1 branch .. //depot/projects/opentoe/bin/stty/stty.h#1 branch .. //depot/projects/opentoe/bin/stty/util.c#1 branch .. //depot/projects/opentoe/bin/sync/Makefile#1 branch .. //depot/projects/opentoe/bin/sync/sync.8#1 branch .. //depot/projects/opentoe/bin/sync/sync.c#1 branch .. //depot/projects/opentoe/bin/test/Makefile#1 branch .. //depot/projects/opentoe/bin/test/TEST.README#1 branch .. //depot/projects/opentoe/bin/test/TEST.csh#1 branch .. //depot/projects/opentoe/bin/test/TEST.sh#1 branch .. //depot/projects/opentoe/bin/test/test.1#1 branch .. //depot/projects/opentoe/bin/test/test.c#1 branch .. //depot/projects/opentoe/contrib/amd/AUTHORS#1 branch .. //depot/projects/opentoe/contrib/amd/BUGS#1 branch .. //depot/projects/opentoe/contrib/amd/COPYING#1 branch .. //depot/projects/opentoe/contrib/amd/ChangeLog#1 branch .. //depot/projects/opentoe/contrib/amd/FREEBSD-Xlist#1 branch .. //depot/projects/opentoe/contrib/amd/FREEBSD-upgrade#1 branch .. //depot/projects/opentoe/contrib/amd/INSTALL#1 branch .. //depot/projects/opentoe/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/opentoe/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/opentoe/contrib/amd/NEWS#1 branch .. //depot/projects/opentoe/contrib/amd/README#1 branch .. //depot/projects/opentoe/contrib/amd/README.ldap#1 branch .. //depot/projects/opentoe/contrib/amd/README.y2k#1 branch .. //depot/projects/opentoe/contrib/amd/amd/am_ops.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amd.8#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amd.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amd.h#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_auto.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_direct.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_error.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_host.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_inherit.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_link.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_linkx.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_nfsl.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_nfsx.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_program.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_root.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_toplvl.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amfs_union.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amq_subr.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/amq_svc.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/autil.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/clock.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/conf.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/conf_parse.y#1 branch .. //depot/projects/opentoe/contrib/amd/amd/conf_tok.l#1 branch .. //depot/projects/opentoe/contrib/amd/amd/get_args.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_file.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_hesiod.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_ldap.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_ndbm.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_nis.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_nisplus.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_passwd.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/info_union.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/map.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/mapc.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/mntfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/nfs_prot_svc.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/nfs_start.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/nfs_subr.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_TEMPLATE.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_cachefs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_cdfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_efs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_lofs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_mfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_nfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_nfs3.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_nullfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_pcfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_tfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_tmpfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_ufs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_umapfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_unionfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/ops_xfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/opts.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/restart.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/rpc_fwd.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/sched.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/srvr_amfs_auto.c#1 branch .. //depot/projects/opentoe/contrib/amd/amd/srvr_nfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/amq/amq.8#1 branch .. //depot/projects/opentoe/contrib/amd/amq/amq.c#1 branch .. //depot/projects/opentoe/contrib/amd/amq/amq.h#1 branch .. //depot/projects/opentoe/contrib/amd/amq/amq_clnt.c#1 branch .. //depot/projects/opentoe/contrib/amd/amq/amq_xdr.c#1 branch .. //depot/projects/opentoe/contrib/amd/amq/pawd.1#1 branch .. //depot/projects/opentoe/contrib/amd/amq/pawd.c#1 branch .. //depot/projects/opentoe/contrib/amd/aux_conf.h.in#1 branch .. //depot/projects/opentoe/contrib/amd/bootstrap#1 branch .. //depot/projects/opentoe/contrib/amd/conf/checkmount/checkmount_bsd44.c#1 branch .. //depot/projects/opentoe/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#1 branch .. //depot/projects/opentoe/contrib/amd/conf/mtab/mtab_bsd.c#1 branch .. //depot/projects/opentoe/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#1 branch .. //depot/projects/opentoe/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#1 branch .. //depot/projects/opentoe/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#1 branch .. //depot/projects/opentoe/contrib/amd/conf/transp/transp_sockets.c#1 branch .. //depot/projects/opentoe/contrib/amd/conf/trap/trap_default.h#1 branch .. //depot/projects/opentoe/contrib/amd/conf/umount/umount_bsd44.c#1 branch .. //depot/projects/opentoe/contrib/amd/doc/am-utils.texi#1 branch .. //depot/projects/opentoe/contrib/amd/doc/texinfo.tex#1 branch .. //depot/projects/opentoe/contrib/amd/doc/version.texi#1 branch .. //depot/projects/opentoe/contrib/amd/fixmount/fixmount.8#1 branch .. //depot/projects/opentoe/contrib/amd/fixmount/fixmount.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsi_analyze.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsi_data.h#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsi_dict.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsi_gram.y#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsi_lex.l#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsi_util.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsinfo.8#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsinfo.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/fsinfo.h#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/wr_atab.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/wr_bparam.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/wr_dumpset.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/wr_exportfs.c#1 branch .. //depot/projects/opentoe/contrib/amd/fsinfo/wr_fstab.c#1 branch .. //depot/projects/opentoe/contrib/amd/hlfsd/hlfsd.8#1 branch .. //depot/projects/opentoe/contrib/amd/hlfsd/hlfsd.c#1 branch .. //depot/projects/opentoe/contrib/amd/hlfsd/hlfsd.h#1 branch .. //depot/projects/opentoe/contrib/amd/hlfsd/homedir.c#1 branch .. //depot/projects/opentoe/contrib/amd/hlfsd/nfs_prot_svc.c#1 branch .. //depot/projects/opentoe/contrib/amd/hlfsd/stubs.c#1 branch .. //depot/projects/opentoe/contrib/amd/include/am_compat.h#1 branch .. //depot/projects/opentoe/contrib/amd/include/am_defs.h#1 branch .. //depot/projects/opentoe/contrib/amd/include/am_utils.h#1 branch .. //depot/projects/opentoe/contrib/amd/include/am_xdr_func.h#1 branch .. //depot/projects/opentoe/contrib/amd/include/amq_defs.h#1 branch .. //depot/projects/opentoe/contrib/amd/include/mount_headers1.h#1 branch .. //depot/projects/opentoe/contrib/amd/include/mount_headers2.h#1 branch .. //depot/projects/opentoe/contrib/amd/ldap-id.ms#1 branch .. //depot/projects/opentoe/contrib/amd/ldap-id.txt#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/alloca.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/amu.h#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/hasmntopt.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/misc_rpc.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/mount_fs.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/mtab.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/nfs_prot_xdr.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/strerror.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/util.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/wire.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/xdr_func.c#1 branch .. //depot/projects/opentoe/contrib/amd/libamu/xutil.c#1 branch .. //depot/projects/opentoe/contrib/amd/m4/GNUmakefile#1 branch .. //depot/projects/opentoe/contrib/amd/m4/amdgrep#1 branch .. //depot/projects/opentoe/contrib/amd/m4/amindent#1 branch .. //depot/projects/opentoe/contrib/amd/m4/autopat#1 branch .. //depot/projects/opentoe/contrib/amd/m4/chop-aclocal.pl#1 branch .. //depot/projects/opentoe/contrib/amd/m4/copy-if-newbig#1 branch .. //depot/projects/opentoe/contrib/amd/m4/macros/HEADER#1 branch .. //depot/projects/opentoe/contrib/amd/m4/macros/TRAILER#1 branch .. //depot/projects/opentoe/contrib/amd/m4/mk-aclocal#1 branch .. //depot/projects/opentoe/contrib/amd/m4/mkconf#1 branch .. //depot/projects/opentoe/contrib/amd/m4/rmtspc#1 branch .. //depot/projects/opentoe/contrib/amd/m4/update_build_version#1 branch .. //depot/projects/opentoe/contrib/amd/mk-amd-map/mk-amd-map.8#1 branch .. //depot/projects/opentoe/contrib/amd/mk-amd-map/mk-amd-map.c#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/Makefile.am#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/am-eject.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/amd.conf-sample#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/amd.conf.5#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/amd2ldif.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/amd2sun.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/automount2amd.8#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/automount2amd.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/ctl-amd.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/ctl-hlfsd.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/expn.1#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/expn.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/fix-amd-map.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/fixrmtab.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/redhat-ctl-amd.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/wait4amd.in#1 branch .. //depot/projects/opentoe/contrib/amd/scripts/wait4amd2die.in#1 branch .. //depot/projects/opentoe/contrib/amd/tasks#1 branch .. //depot/projects/opentoe/contrib/amd/wire-test/wire-test.8#1 branch .. //depot/projects/opentoe/contrib/amd/wire-test/wire-test.c#1 branch .. //depot/projects/opentoe/contrib/bc/AUTHORS#1 branch .. //depot/projects/opentoe/contrib/bc/ChangeLog#1 branch .. //depot/projects/opentoe/contrib/bc/Examples/ckbook.b#1 branch .. //depot/projects/opentoe/contrib/bc/Examples/pi.b#1 branch .. //depot/projects/opentoe/contrib/bc/Examples/primes.b#1 branch .. //depot/projects/opentoe/contrib/bc/Examples/twins.b#1 branch .. //depot/projects/opentoe/contrib/bc/FAQ#1 branch .. //depot/projects/opentoe/contrib/bc/FREEBSD-upgrade#1 branch .. //depot/projects/opentoe/contrib/bc/INSTALL#1 branch .. //depot/projects/opentoe/contrib/bc/Makefile.am#1 branch .. //depot/projects/opentoe/contrib/bc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bc/NEWS#1 branch .. //depot/projects/opentoe/contrib/bc/README#1 branch .. //depot/projects/opentoe/contrib/bc/Test/BUG.bc#1 branch .. //depot/projects/opentoe/contrib/bc/Test/array.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/arrayp.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/aryprm.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/atan.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/checklib.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/div.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/exp.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/fact.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/jn.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/ln.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/mul.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/raise.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/signum#1 branch .. //depot/projects/opentoe/contrib/bc/Test/sine.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/sqrt.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/sqrt1.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/sqrt2.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/testfn.b#1 branch .. //depot/projects/opentoe/contrib/bc/Test/timetest#1 branch .. //depot/projects/opentoe/contrib/bc/acconfig.h#1 branch .. //depot/projects/opentoe/contrib/bc/aclocal.m4#1 branch .. //depot/projects/opentoe/contrib/bc/bc/Makefile.am#1 branch .. //depot/projects/opentoe/contrib/bc/bc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bc/bc/bc.y#1 branch .. //depot/projects/opentoe/contrib/bc/bc/bcdefs.h#1 branch .. //depot/projects/opentoe/contrib/bc/bc/const.h#1 branch .. //depot/projects/opentoe/contrib/bc/bc/execute.c#1 branch .. //depot/projects/opentoe/contrib/bc/bc/fix-libmath_h#1 branch .. //depot/projects/opentoe/contrib/bc/bc/global.c#1 branch .. //depot/projects/opentoe/contrib/bc/bc/global.h#1 branch .. //depot/projects/opentoe/contrib/bc/bc/libmath.b#1 branch .. //depot/projects/opentoe/contrib/bc/bc/libmath.h#1 branch .. //depot/projects/opentoe/contrib/bc/bc/load.c#1 branch .. //depot/projects/opentoe/contrib/bc/bc/main.c#1 branch .. //depot/projects/opentoe/contrib/bc/bc/proto.h#1 branch .. //depot/projects/opentoe/contrib/bc/bc/sbc.y#1 branch .. //depot/projects/opentoe/contrib/bc/bc/scan.l#1 branch .. //depot/projects/opentoe/contrib/bc/bc/storage.c#1 branch .. //depot/projects/opentoe/contrib/bc/bc/util.c#1 branch .. //depot/projects/opentoe/contrib/bc/config.h.in#1 branch .. //depot/projects/opentoe/contrib/bc/configure#1 branch .. //depot/projects/opentoe/contrib/bc/configure.in#1 branch .. //depot/projects/opentoe/contrib/bc/dc/Makefile.am#1 branch .. //depot/projects/opentoe/contrib/bc/dc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bc/dc/array.c#1 branch .. //depot/projects/opentoe/contrib/bc/dc/dc-proto.h#1 branch .. //depot/projects/opentoe/contrib/bc/dc/dc-regdef.h#1 branch .. //depot/projects/opentoe/contrib/bc/dc/dc.c#1 branch .. //depot/projects/opentoe/contrib/bc/dc/dc.h#1 branch .. //depot/projects/opentoe/contrib/bc/dc/eval.c#1 branch .. //depot/projects/opentoe/contrib/bc/dc/misc.c#1 branch .. //depot/projects/opentoe/contrib/bc/dc/numeric.c#1 branch .. //depot/projects/opentoe/contrib/bc/dc/stack.c#1 branch .. //depot/projects/opentoe/contrib/bc/dc/string.c#1 branch .. //depot/projects/opentoe/contrib/bc/doc/Makefile.am#1 branch .. //depot/projects/opentoe/contrib/bc/doc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bc/doc/bc.1#1 branch .. //depot/projects/opentoe/contrib/bc/doc/bc.texi#1 branch .. //depot/projects/opentoe/contrib/bc/doc/dc.1#1 branch .. //depot/projects/opentoe/contrib/bc/doc/dc.texi#1 branch .. //depot/projects/opentoe/contrib/bc/h/number.h#1 branch .. //depot/projects/opentoe/contrib/bc/install-sh#1 branch .. //depot/projects/opentoe/contrib/bc/lib/Makefile.am#1 branch .. //depot/projects/opentoe/contrib/bc/lib/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bc/lib/number.c#1 branch .. //depot/projects/opentoe/contrib/bc/lib/testmul.c#1 branch .. //depot/projects/opentoe/contrib/bc/lib/vfprintf.c#1 branch .. //depot/projects/opentoe/contrib/bc/missing#1 branch .. //depot/projects/opentoe/contrib/bc/mkinstalldirs#1 branch .. //depot/projects/opentoe/contrib/bc/stamp-h.in#1 branch .. //depot/projects/opentoe/contrib/bind9/CHANGES#1 branch .. //depot/projects/opentoe/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/opentoe/contrib/bind9/FAQ#1 branch .. //depot/projects/opentoe/contrib/bind9/FAQ.xml#1 branch .. //depot/projects/opentoe/contrib/bind9/FREEBSD-Upgrade#1 branch .. //depot/projects/opentoe/contrib/bind9/FREEBSD-Xlist#1 branch .. //depot/projects/opentoe/contrib/bind9/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/README#1 branch .. //depot/projects/opentoe/contrib/bind9/acconfig.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/aclconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/aclconf.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/ns_smf_globals.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.8#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.conf#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.conf.5#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.conf.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.conf.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.docbook#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/rndc.html#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/unix/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/unix/os.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/util.c#1 branch .. //depot/projects/opentoe/contrib/bind9/bin/rndc/util.h#1 branch .. //depot/projects/opentoe/contrib/bind9/config.guess#1 branch .. //depot/projects/opentoe/contrib/bind9/config.sub#1 branch .. //depot/projects/opentoe/contrib/bind9/config.threads.in#1 branch .. //depot/projects/opentoe/contrib/bind9/configure.in#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM-book.xml#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch01.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch02.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch03.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch04.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch05.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch06.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch07.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch08.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.ch09.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.html#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Bv9ARM.pdf#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/arm/README-SGML#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-09.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-insensitive-06.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-02.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-04.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-08.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-04.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-04.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-04.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/draft/update#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/Makefile.in#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/dnssec#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/format-options.pl#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/ipv6#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/migration#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/migration-4to9#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/options#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/rfc-compliance#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/roadmap#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/misc/sdb#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/index#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1032.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1033.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1034.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1035.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1101.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1122.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1123.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1183.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1348.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1535.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1536.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1537.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1591.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1611.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1612.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1706.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1712.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1750.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1876.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1886.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1982.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1995.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc1996.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2052.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2104.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2119.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2133.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2136.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2137.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2163.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2168.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2181.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2230.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2308.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2317.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2373.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2374.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2375.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2418.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2535.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2536.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2537.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2538.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2539.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2540.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2541.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2553.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2671.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2672.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2673.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2782.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2825.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2826.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2845.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2874.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2915.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2929.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2930.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc2931.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3007.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3008.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3071.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3090.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3110.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3123.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3152.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3197.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3225.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3226.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3258.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3363.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3364.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3425.txt#1 branch .. //depot/projects/opentoe/contrib/bind9/doc/rfc/rfc3445.txt#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 18 04:54:47 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 611A116A404; Sun, 18 Mar 2007 04:54:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3A96116A400 for ; Sun, 18 Mar 2007 04:54:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2C93413C468 for ; Sun, 18 Mar 2007 04:54:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2I4sk6W055075 for ; Sun, 18 Mar 2007 04:54:47 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2I4skjO055072 for perforce@freebsd.org; Sun, 18 Mar 2007 04:54:46 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Mar 2007 04:54:46 GMT Message-Id: <200703180454.l2I4skjO055072@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 116069 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2007 04:54:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=116069 Change 116069 by kmacy@kmacy_vt-x:opentoe_init on 2007/03/18 04:54:44 import TOE code from Linux as baseline Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_l2t.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_l2t.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_offload.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_offload.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_toedev.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/module_support.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/offload.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/cpl_io.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/cpl_sock.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/defs.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/failover.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/listen.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/module_support.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/t3_ddp.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/t3_ddp.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/tom.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/tom.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/tom_compat.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/tom_sysctl.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/t3_tom/version.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/toe_bonding.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/toe_bonding.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/toe_compat.h#1 add .. //depot/projects/opentoe/sys/dev/cxgb/offload/toedev.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 18 06:32:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF86B16A404; Sun, 18 Mar 2007 06:32:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 74EB416A402 for ; Sun, 18 Mar 2007 06:32:56 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6F113C44C for ; Sun, 18 Mar 2007 06:32:56 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2I6WukE073313 for ; Sun, 18 Mar 2007 06:32:56 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2I6WuXd073308 for perforce@freebsd.org; Sun, 18 Mar 2007 06:32:56 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Mar 2007 06:32:56 GMT Message-Id: <200703180632.l2I6WuXd073308@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 116074 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2007 06:32:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=116074 Change 116074 by kmacy@kmacy_vt-x:opentoe_init on 2007/03/18 06:32:04 fix copyrights and includes Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_offload.h#2 edit .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_toedev.h#2 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_offload.h#2 (text+ko) ==== @@ -1,46 +1,48 @@ -/* - * Copyright (c) 2006 Chelsio, Inc. All rights reserved. - * Copyright (c) 2006 Open Grid Computing, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef _CXGB3_OFFLOAD_H -#define _CXGB3_OFFLOAD_H + +/************************************************************************** + +Copyright (c) 2007, Chelsio Inc. +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. + + 3. Neither the name of the Chelsio Corporation 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +$FreeBSD$ + +***************************************************************************/ + +#ifndef _CXGB_OFFLOAD_H +#define _CXGB_OFFLOAD_H -#include -#include -#include "tcb.h" -#include "l2t.h" +#include +#include -#include "t3cdev.h" -#include "t3_cpl.h" +#include +#include struct adapter; ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_toedev.h#2 (text+ko) ==== @@ -1,60 +1,57 @@ -/* - * Copyright (C) 2003-2006 Chelsio Communications. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef _T3CDEV_H_ -#define _T3CDEV_H_ + +/************************************************************************** + +Copyright (c) 2007, Chelsio Inc. +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. + + 3. Neither the name of the Chelsio Corporation 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +$FreeBSD$ + +***************************************************************************/ -#include -#include -#include -#include -#include -#include -#include +#ifndef _TOEDEV_H_ +#define _TOEDEV_H_ -#define T3CNAMSIZ 16 +#define TOENAMSIZ 16 /* Get the t3cdev associated with a net_device */ -#define T3CDEV(netdev) (struct t3cdev *)(netdev->priv) +#define TOEDEV(netdev) (struct toedev *)(netdev->if_softc) struct cxgb3_client; -enum t3ctype { +enum toetype { T3A = 0, T3B }; -struct t3cdev { - char name[T3CNAMSIZ]; /* T3C device name */ - enum t3ctype type; +struct toedev { + char name[TOENAMSIZ]; /* T3C device name */ + enum toetype type; struct list_head ofld_dev_list; /* for list linking */ struct net_device *lldev; /* LL dev associated with T3C messages */ struct proc_dir_entry *proc_dir; /* root of proc dir for this T3C */ @@ -69,4 +66,4 @@ void *ulp; /* ulp stuff */ }; -#endif /* _T3CDEV_H_ */ +#endif /* _TOEDEV_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Mar 18 06:33:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6FDBB16A407; Sun, 18 Mar 2007 06:33:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 34C4216A402 for ; Sun, 18 Mar 2007 06:33:58 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 24A1213C484 for ; Sun, 18 Mar 2007 06:33:58 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2I6XwoN073589 for ; Sun, 18 Mar 2007 06:33:58 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2I6XvAb073586 for perforce@freebsd.org; Sun, 18 Mar 2007 06:33:57 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 18 Mar 2007 06:33:57 GMT Message-Id: <200703180633.l2I6XvAb073586@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 116075 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Mar 2007 06:33:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=116075 Change 116075 by kmacy@kmacy_vt-x:opentoe_init on 2007/03/18 06:33:10 - fix copyrights - fix includes - fix API usage to something closer to what would work on FreeBSD - fix style Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_offload.c#2 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_offload.c#2 (text+ko) ==== @@ -1,71 +1,86 @@ -/* - * Copyright (c) 2006 Chelsio, Inc. All rights reserved. - * Copyright (c) 2006 Open Grid Computing, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - 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. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ + +/************************************************************************** + +Copyright (c) 2007, Chelsio Inc. +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. + + 3. Neither the name of the Chelsio Corporation 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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/dev/cxgb/cxgb_main.c,v 1.3 2007/03/14 07:57:59 kmacy Exp $"); -#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 "common.h" -#include "regs.h" -#include "cxgb3_ioctl.h" -#include "cxgb3_ctl_defs.h" -#include "cxgb3_defs.h" -#include "l2t.h" -#include "firmware_exports.h" -#include "cxgb3_offload.h" +#include +#include +#include +#include +#include +#include -#include "cxgb3_compat.h" -#if defined(NETEVENT) -#include -#endif static LIST_HEAD(client_list); static LIST_HEAD(ofld_dev_list); -static DEFINE_MUTEX(cxgb3_db_lock); +static LIST_HEAD(adapter_list); + +static struct mtx cxgb_db_lock; +static struct rwlock adapter_list_lock; -static DEFINE_RWLOCK(adapter_list_lock); -static LIST_HEAD(adapter_list); static const unsigned int MAX_ATIDS = 64 * 1024; static const unsigned int ATID_BASE = 0x100000; -static struct proc_dir_entry *cxgb3_proc_root; -static inline int offload_activated(struct t3cdev *tdev) +static inline int +offload_activated(struct toedev *tdev) { struct adapter *adapter = tdev2adap(tdev); @@ -73,110 +88,114 @@ } /** - * cxgb3_register_client - register an offload client + * cxgb_register_client - register an offload client * @client: the client * * Add the client to the client list, * and call backs the client for each activated offload device */ -void cxgb3_register_client(struct cxgb3_client *client) +void +cxgb_register_client(struct cxgb_client *client) { - struct t3cdev *tdev; + struct toedev *tdev; - mutex_lock(&cxgb3_db_lock); - list_add_tail(&client->client_list, &client_list); + mtx_lock(&cxgb_db_lock); + TAILQ_INSERT_TAIL(&client->client_list, client, client_entry); if (client->add) { - list_for_each_entry(tdev, &ofld_dev_list, ofld_dev_list) { + TAILQ_FOREACH(tdev, &ofld_dev_list, ofld_entry) { if (offload_activated(tdev)) client->add(tdev); } } - mutex_unlock(&cxgb3_db_lock); + mtx_unlock(&cxgb_db_lock); } -EXPORT_SYMBOL(cxgb3_register_client); + /** - * cxgb3_unregister_client - unregister an offload client + * cxgb_unregister_client - unregister an offload client * @client: the client * * Remove the client to the client list, * and call backs the client for each activated offload device. */ -void cxgb3_unregister_client(struct cxgb3_client *client) +void +cxgb_unregister_client(struct cxgb_client *client) { - struct t3cdev *tdev; + struct toedev *tdev; - mutex_lock(&cxgb3_db_lock); - list_del(&client->client_list); + mtx_lock(&cxgb_db_lock); + TAILQ_REMOVE(&client->client_list, client, client_entry); if (client->remove) { - list_for_each_entry(tdev, &ofld_dev_list, ofld_dev_list) { + TAILQ_FOREACH(tdev, &ofld_dev_list, ofld_entry) { if (offload_activated(tdev)) client->remove(tdev); } } - mutex_unlock(&cxgb3_db_lock); + mtx_unlock(&cxgb_db_lock); } -EXPORT_SYMBOL(cxgb3_unregister_client); /** - * cxgb3_add_clients - activate register clients for an offload device + * cxgb_add_clients - activate register clients for an offload device * @tdev: the offload device * * Call backs all registered clients once a offload device is activated */ -void cxgb3_add_clients(struct t3cdev *tdev) +void +cxgb_add_clients(struct toedev *tdev) { - struct cxgb3_client *client; + struct cxgb_client *client; - mutex_lock(&cxgb3_db_lock); - list_for_each_entry(client, &client_list, client_list) { + mtx_lock(&cxgb_db_lock); + TAILQ_FOREACH(client, &client_list, client_entry) { if (client->add) client->add(tdev); } - mutex_unlock(&cxgb3_db_lock); + mtx_unlock(&cxgb_db_lock); } /** - * cxgb3_remove_clients - activate register clients for an offload device + * cxgb_remove_clients - activate register clients for an offload device * @tdev: the offload device * * Call backs all registered clients once a offload device is deactivated */ -void cxgb3_remove_clients(struct t3cdev *tdev) +void +cxgb_remove_clients(struct toedev *tdev) { - struct cxgb3_client *client; + struct cxgb_client *client; - mutex_lock(&cxgb3_db_lock); - list_for_each_entry(client, &client_list, client_list) { + mtx_lock(&cxgb_db_lock); + TAILQ_FOREACH(client, &client_list, client_entry) { if (client->remove) client->remove(tdev); } - mutex_unlock(&cxgb3_db_lock); + mtx_unlock(&cxgb_db_lock); } -static int is_offloading(struct net_device *dev) +static int +is_offloading(struct ifnet *ifp) { struct adapter *adapter; int port; - read_lock_bh(&adapter_list_lock); - list_for_each_entry(adapter, &adapter_list, adapter_list) { + rw_rlock(&adapter_list_lock); + + TAILQ_FOREACH(adapter, &adapter_list, adapter_entry) { for_each_port(adapter, port) { if (dev == adapter->port[port].dev) { - read_unlock_bh(&adapter_list_lock); + rw_runlock(&adapter_list_lock); return 1; } } } - read_unlock_bh(&adapter_list_lock); + rw_runlock(&adapter_list_lock); return 0; } -static struct net_device *get_iff_from_mac(adapter_t *adapter, - const unsigned char *mac, - unsigned int vlan) +static struct net_device * +get_iff_from_mac(adapter_t *adapter, const uint8_t *mac, unsigned int vlan) { int i; @@ -198,7 +217,8 @@ return NULL; } -static inline void failover_fixup(adapter_t *adapter, int port) +static inline void +failover_fixup(adapter_t *adapter, int port) { if (adapter->params.rev == 0) { struct net_device *dev = adapter->port[port].dev; @@ -218,7 +238,8 @@ } } -static int cxgb_ulp_iscsi_ctl(adapter_t *adapter, unsigned int req, void *data) +static int +cxgb_ulp_iscsi_ctl(adapter_t *adapter, unsigned int req, void *data) { int ret = 0; struct ulp_iscsi_info *uiip = data; @@ -255,7 +276,8 @@ /* Response queue used for RDMA events. */ #define ASYNC_NOTIF_RSPQ 0 -static int cxgb_rdma_ctl(adapter_t *adapter, unsigned int req, void *data) +static int +cxgb_rdma_ctl(adapter_t *adapter, unsigned int req, void *data) { int ret = 0; @@ -340,7 +362,8 @@ return ret; } -static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data) +static int +cxgb_offload_ctl(struct toedev *tdev, unsigned int req, void *data) { struct adapter *adapter = tdev2adap(tdev); struct tid_range *tid; @@ -438,21 +461,23 @@ * proper processing is setup. This complains and drops the packet as it isn't * normal to get offload packets at this stage. */ -static int rx_offload_blackhole(struct t3cdev *dev, struct sk_buff **skbs, - int n) +static int +rx_offload_blackhole(struct toedev *dev, struct mbuf **m, int n) { CH_ERR(tdev2adap(dev), "%d unexpected offload packets, first data %u\n", - n, ntohl(*(u32 *)skbs[0]->data)); + n, ntohl(*(u32 *)m[0]->data)); while (n--) - dev_kfree_skb_any(skbs[n]); + m_freem(m[n]); return 0; } -static void dummy_neigh_update(struct t3cdev *dev, struct neighbour *neigh) +static void +dummy_neigh_update(struct toedev *dev, struct neighbour *neigh) { } -void cxgb3_set_dummy_ops(struct t3cdev *dev) +void +cxgb_set_dummy_ops(struct toedev *dev) { dev->recv = rx_offload_blackhole; dev->neigh_update = dummy_neigh_update; @@ -461,39 +486,40 @@ /* * Free an active-open TID. */ -void *cxgb3_free_atid(struct t3cdev *tdev, int atid) +void * +cxgb_free_atid(struct toedev *tdev, int atid) { struct tid_info *t = &(T3C_DATA(tdev))->tid_maps; union active_open_entry *p = atid2entry(t, atid); void *ctx = p->t3c_tid.ctx; - spin_lock_bh(&t->atid_lock); + mtx_lock(&t->atid_lock); p->next = t->afree; t->afree = p; t->atids_in_use--; - spin_unlock_bh(&t->atid_lock); + mtx_lock(&t->atid_lock); return ctx; } -EXPORT_SYMBOL(cxgb3_free_atid); /* * Free a server TID and return it to the free pool. */ -void cxgb3_free_stid(struct t3cdev *tdev, int stid) +void +cxgb_free_stid(struct toedev *tdev, int stid) { struct tid_info *t = &(T3C_DATA(tdev))->tid_maps; union listen_entry *p = stid2entry(t, stid); - spin_lock_bh(&t->stid_lock); + mtx_lock(&t->stid_lock); p->next = t->sfree; t->sfree = p; t->stids_in_use--; - spin_unlock_bh(&t->stid_lock); + mtx_unlock(&t->stid_lock); } -EXPORT_SYMBOL(cxgb3_free_stid); -void cxgb3_insert_tid(struct t3cdev *tdev, struct cxgb3_client *client, +void +cxgb_insert_tid(struct toedev *tdev, struct cxgb_client *client, void *ctx, unsigned int tid) { struct tid_info *t = &(T3C_DATA(tdev))->tid_maps; @@ -502,12 +528,12 @@ t->tid_tab[tid].ctx = ctx; atomic_inc(&t->tids_in_use); } -EXPORT_SYMBOL(cxgb3_insert_tid); /* * Populate a TID_RELEASE WR. The skb must be already propely sized. */ -static inline void mk_tid_release(struct sk_buff *skb, unsigned int tid) +static inline void +mk_tid_release(struct mbuf *m, unsigned int tid) { struct cpl_tid_release *req; @@ -517,43 +543,44 @@ OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_TID_RELEASE, tid)); } -static void t3_process_tid_release_list(void *data) +static void +t3_process_tid_release_list(void *data) { - struct sk_buff *skb; - struct t3cdev *tdev = data; + struct mbuf *m; + struct toedev *tdev = data; struct t3c_data *td = T3C_DATA(tdev); - spin_lock_bh(&td->tid_release_lock); + mtx_lock(&td->tid_release_lock); while (td->tid_release_list) { struct t3c_tid_entry *p = td->tid_release_list; td->tid_release_list = (struct t3c_tid_entry *)p->ctx; - spin_unlock_bh(&td->tid_release_lock); + mtx_unlock(&td->tid_release_lock); skb = alloc_skb(sizeof(struct cpl_tid_release), GFP_KERNEL | __GFP_NOFAIL); mk_tid_release(skb, p - td->tid_maps.tid_tab); - cxgb3_ofld_send(tdev, skb); + cxgb_ofld_send(tdev, skb); p->ctx = NULL; - spin_lock_bh(&td->tid_release_lock); + mtx_lock(&td->tid_release_lock); } - spin_unlock_bh(&td->tid_release_lock); + mtx_unlock(&td->tid_release_lock); } /* use ctx as a next pointer in the tid release list */ -void cxgb3_queue_tid_release(struct t3cdev *tdev, unsigned int tid) +void +cxgb_queue_tid_release(struct toedev *tdev, unsigned int tid) { struct t3c_data *td = T3C_DATA(tdev); struct t3c_tid_entry *p = &td->tid_maps.tid_tab[tid]; - spin_lock_bh(&td->tid_release_lock); + mtx_lock(&td->tid_release_lock); p->ctx = (void *)td->tid_release_list; td->tid_release_list = p; if (!p->ctx) schedule_work(&td->tid_release_task); - spin_unlock_bh(&td->tid_release_lock); + mtx_unlock(&td->tid_release_lock); } -EXPORT_SYMBOL(cxgb3_queue_tid_release); /* * Remove a tid from the TID table. A client may defer processing its last @@ -562,7 +589,8 @@ * To handle this we atomically switch the TID association if it still points * to the original client context. */ -void cxgb3_remove_tid(struct t3cdev *tdev, void *ctx, unsigned int tid) +void +cxgb_remove_tid(struct toedev *tdev, void *ctx, unsigned int tid) { struct tid_info *t = &(T3C_DATA(tdev))->tid_maps; @@ -570,27 +598,27 @@ if (tdev->type == T3A) (void)cmpxchg(&t->tid_tab[tid].ctx, ctx, NULL); else { - struct sk_buff *skb; + struct mbuf *m; skb = alloc_skb(sizeof(struct cpl_tid_release), GFP_ATOMIC); if (likely(skb)) { mk_tid_release(skb, tid); - cxgb3_ofld_send(tdev, skb); + cxgb_ofld_send(tdev, skb); t->tid_tab[tid].ctx = NULL; } else - cxgb3_queue_tid_release(tdev, tid); + cxgb_queue_tid_release(tdev, tid); } atomic_dec(&t->tids_in_use); } -EXPORT_SYMBOL(cxgb3_remove_tid); -int cxgb3_alloc_atid(struct t3cdev *tdev, struct cxgb3_client *client, +int +cxgb_alloc_atid(struct toedev *tdev, struct cxgb_client *client, void *ctx) { int atid = -1; struct tid_info *t = &(T3C_DATA(tdev))->tid_maps; - spin_lock_bh(&t->atid_lock); + mtx_lock(&t->atid_lock); if (t->afree) { union active_open_entry *p = t->afree; @@ -600,18 +628,18 @@ p->t3c_tid.client = client; t->atids_in_use++; } - spin_unlock_bh(&t->atid_lock); + mtx_unlock(&t->atid_lock); return atid; } -EXPORT_SYMBOL(cxgb3_alloc_atid); -int cxgb3_alloc_stid(struct t3cdev *tdev, struct cxgb3_client *client, +int +cxgb_alloc_stid(struct toedev *tdev, struct cxgb_client *client, void *ctx) { int stid = -1; struct tid_info *t = &(T3C_DATA(tdev))->tid_maps; - spin_lock_bh(&t->stid_lock); + mtx_lock(&t->stid_lock); if (t->sfree) { union listen_entry *p = t->sfree; @@ -621,36 +649,38 @@ p->t3c_tid.client = client; t->stids_in_use++; } - spin_unlock_bh(&t->stid_lock); + mtx_unlock(&t->stid_lock); return stid; } -EXPORT_SYMBOL(cxgb3_alloc_stid); -static int do_smt_write_rpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_smt_write_rpl(struct toedev *dev, struct mbuf *m) { struct cpl_smt_write_rpl *rpl = cplhdr(skb); if (rpl->status != CPL_ERR_NONE) - printk(KERN_ERR + log(LOG_ERR, "Unexpected SMT_WRITE_RPL status %u for entry %u\n", rpl->status, GET_TID(rpl)); return CPL_RET_BUF_DONE; } -static int do_l2t_write_rpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_l2t_write_rpl(struct toedev *dev, struct mbuf *m) { struct cpl_l2t_write_rpl *rpl = cplhdr(skb); if (rpl->status != CPL_ERR_NONE) - printk(KERN_ERR + log(LOG_ERR, "Unexpected L2T_WRITE_RPL status %u for entry %u\n", rpl->status, GET_TID(rpl)); return CPL_RET_BUF_DONE; } -static int do_act_open_rpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_act_open_rpl(struct toedev *dev, struct mbuf *m) { struct cpl_act_open_rpl *rpl = cplhdr(skb); unsigned int atid = G_TID(ntohl(rpl->atid)); @@ -662,13 +692,14 @@ return t3c_tid->client->handlers[CPL_ACT_OPEN_RPL] (dev, skb, t3c_tid->ctx); } else { - printk(KERN_ERR "%s: received clientless CPL command 0x%x\n", + log(LOG_ERR, "%s: received clientless CPL command 0x%x\n", dev->name, CPL_ACT_OPEN_RPL); return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; } } -static int do_stid_rpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_stid_rpl(struct toedev *dev, struct mbuf *m) { union opcode_tid *p = cplhdr(skb); unsigned int stid = G_TID(ntohl(p->opcode_tid)); @@ -679,13 +710,14 @@ t3c_tid->client->handlers[p->opcode]) { return t3c_tid->client->handlers[p->opcode] (dev, skb, t3c_tid->ctx); } else { - printk(KERN_ERR "%s: received clientless CPL command 0x%x\n", + log(LOG_ERR, "%s: received clientless CPL command 0x%x\n", dev->name, p->opcode); return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; } } -static int do_hwtid_rpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_hwtid_rpl(struct toedev *dev, struct mbuf *m) { union opcode_tid *p = cplhdr(skb); unsigned int hwtid = G_TID(ntohl(p->opcode_tid)); @@ -697,13 +729,14 @@ return t3c_tid->client->handlers[p->opcode] (dev, skb, t3c_tid->ctx); } else { - printk(KERN_ERR "%s: received clientless CPL command 0x%x\n", + log(LOG_ERR, "%s: received clientless CPL command 0x%x\n", dev->name, p->opcode); return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; } } -static int do_cr(struct t3cdev *dev, struct sk_buff *skb) +static int +do_cr(struct toedev *dev, struct mbuf *m) { struct cpl_pass_accept_req *req = cplhdr(skb); unsigned int stid = G_PASS_OPEN_TID(ntohl(req->tos_tid)); @@ -715,13 +748,14 @@ return t3c_tid->client->handlers[CPL_PASS_ACCEPT_REQ] (dev, skb, t3c_tid->ctx); } else { - printk(KERN_ERR "%s: received clientless CPL command 0x%x\n", + log(LOG_ERR, "%s: received clientless CPL command 0x%x\n", dev->name, CPL_PASS_ACCEPT_REQ); return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; } } -static int do_abort_req_rss(struct t3cdev *dev, struct sk_buff *skb) +static int +do_abort_req_rss(struct toedev *dev, struct mbuf *m) { union opcode_tid *p = cplhdr(skb); unsigned int hwtid = G_TID(ntohl(p->opcode_tid)); @@ -736,10 +770,10 @@ struct cpl_abort_req_rss *req = cplhdr(skb); struct cpl_abort_rpl *rpl; - struct sk_buff *skb = + struct mbuf *m = alloc_skb(sizeof(struct cpl_abort_rpl), GFP_ATOMIC); if (!skb) { - printk("do_abort_req_rss: couldn't get skb!\n"); + log(LOG_NOTICE, "do_abort_req_rss: couldn't get skb!\n"); goto out; } skb->priority = CPL_PRIORITY_DATA; @@ -751,13 +785,14 @@ OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_ABORT_RPL, GET_TID(req))); rpl->cmd = req->status; - cxgb3_ofld_send(dev, skb); + cxgb_ofld_send(dev, skb); out: return CPL_RET_BUF_DONE; } } -static int do_act_establish(struct t3cdev *dev, struct sk_buff *skb) +static int +do_act_establish(struct toedev *dev, struct mbuf *m) { struct cpl_act_establish *req = cplhdr(skb); unsigned int atid = G_PASS_OPEN_TID(ntohl(req->tos_tid)); @@ -769,24 +804,26 @@ return t3c_tid->client->handlers[CPL_ACT_ESTABLISH] (dev, skb, t3c_tid->ctx); } else { - printk(KERN_ERR "%s: received clientless CPL command 0x%x\n", + log(LOG_ERR, "%s: received clientless CPL command 0x%x\n", dev->name, CPL_PASS_ACCEPT_REQ); return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; } } -static int do_set_tcb_rpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_set_tcb_rpl(struct toedev *dev, struct mbuf *m) { struct cpl_set_tcb_rpl *rpl = cplhdr(skb); if (rpl->status != CPL_ERR_NONE) - printk(KERN_ERR - "Unexpected SET_TCB_RPL status %u for tid %u\n", + log(LOG_ERR, + "Unexpected SET_TCB_RPL status %u for tid %u\n", rpl->status, GET_TID(rpl)); return CPL_RET_BUF_DONE; } -static int do_trace(struct t3cdev *dev, struct sk_buff *skb) +static int +do_trace(struct toedev *dev, struct mbuf *m) { struct cpl_trace_pkt *p = cplhdr(skb); @@ -798,7 +835,8 @@ return 0; } -static int do_term(struct t3cdev *dev, struct sk_buff *skb) +static int +do_term(struct toedev *dev, struct mbuf *m) { unsigned int hwtid = ntohl(skb->priority) >> 8 & 0xfffff; unsigned int opcode = G_OPCODE(ntohl(skb->csum)); @@ -809,45 +847,12 @@ t3c_tid->client->handlers[opcode]) { return t3c_tid->client->handlers[opcode](dev,skb,t3c_tid->ctx); } else { - printk(KERN_ERR "%s: received clientless CPL command 0x%x\n", + log(LOG_ERR, "%s: received clientless CPL command 0x%x\n", dev->name, opcode); return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; } } -#if defined(NETEVENT) -static int nb_callback(struct notifier_block *self, unsigned long event, - void *ctx) -{ - switch (event) { - case (NETEVENT_NEIGH_UPDATE): { - cxgb_neigh_update((struct neighbour *)ctx); - break; - } -#ifdef DIVY /* XXX Divy no NETEVENT_ROUTE_UPDATE definition */ - case (NETEVENT_ROUTE_UPDATE): - break; -#endif - case (NETEVENT_PMTU_UPDATE): - break; - case (NETEVENT_REDIRECT): { - struct netevent_redirect *nr = ctx; - cxgb_redirect(nr->old, nr->new); - cxgb_neigh_update(nr->new->neighbour); - break; - } - default: - break; - } - return 0; -} -#else -static int nb_callback(struct notifier_block *self, unsigned long event, - void *ctx) -{ - return 0; -} - #if defined (CONFIG_CHELSIO_T3_MODULE) #include #include @@ -856,7 +861,8 @@ static int (*orig_arp_constructor)(struct neighbour *); -static void neigh_suspect(struct neighbour *neigh) +static void +neigh_suspect(struct neighbour *neigh) { struct hh_cache *hh; @@ -866,7 +872,8 @@ hh->hh_output = neigh->ops->output; } -static void neigh_connect(struct neighbour *neigh) +static void +neigh_connect(struct neighbour *neigh) { struct hh_cache *hh; @@ -876,7 +883,8 @@ hh->hh_output = neigh->ops->hh_output; } -static inline int neigh_max_probes(const struct neighbour *n) +static inline int +neigh_max_probes(const struct neighbour *n) { const struct neigh_parms *p = n->parms; return (n->nud_state & NUD_PROBE ? @@ -884,7 +892,8 @@ p->ucast_probes + p->app_probes + p->mcast_probes); } -static void neigh_timer_handler_offload(unsigned long arg) +static void +neigh_timer_handler_offload(unsigned long arg) { unsigned long now, next; struct neighbour *neigh = (struct neighbour *)arg; @@ -899,7 +908,7 @@ if (!(state & NUD_IN_TIMER)) { #ifndef CONFIG_SMP - printk(KERN_WARNING "neigh: timer & !nud_in_timer\n"); + log(LOG_WARNING, "neigh: timer & !nud_in_timer\n"); #endif goto out; } @@ -944,7 +953,7 @@ if ((neigh->nud_state & (NUD_INCOMPLETE | NUD_PROBE)) && atomic_read(&neigh->probes) >= neigh_max_probes(neigh)) { - struct sk_buff *skb; + struct mbuf *m; neigh->nud_state = NUD_FAILED; neigh->updated = jiffies; @@ -973,7 +982,7 @@ neigh_hold(neigh); } if (neigh->nud_state & (NUD_INCOMPLETE | NUD_PROBE)) { - struct sk_buff *skb = skb_peek(&neigh->arp_queue); + struct mbuf *m = skb_peek(&neigh->arp_queue); /* keep skb alive even if arp_queue overflows */ if (skb) skb_get(skb); @@ -994,7 +1003,8 @@ neigh_release(neigh); } -static int arp_constructor_offload(struct neighbour *neigh) +static int +arp_constructor_offload(struct neighbour *neigh) { if (neigh->dev && is_offloading(neigh->dev)) neigh->timer.function = neigh_timer_handler_offload; @@ -1005,7 +1015,8 @@ * This must match exactly the signature of neigh_update for jprobes to work. * It runs from a trap handler with interrupts off so don't disable BH. */ -static int neigh_update_offload(struct neighbour *neigh, const u8 *lladdr, +static int +neigh_update_offload(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags) { write_lock(&neigh->lock); @@ -1021,13 +1032,15 @@ .kp.addr = (kprobe_opcode_t *) neigh_update }; -static int prepare_arp_with_t3core(void) +#ifdef MODULE_SUPPORT +static int +prepare_arp_with_t3core(void) { int err; err = register_jprobe(&neigh_update_jprobe); if (err) { - printk(KERN_ERR "Could not install neigh_update jprobe, " + log(LOG_ERR, "Could not install neigh_update jprobe, " "error %d\n", err); return err; } @@ -1038,35 +1051,34 @@ return 0; } -static void restore_arp_sans_t3core(void) +static void +restore_arp_sans_t3core(void) { arp_tbl.constructor = orig_arp_constructor; unregister_jprobe(&neigh_update_jprobe); } #else /* Module suport */ -static inline int prepare_arp_with_t3core(void) +static inline int +prepare_arp_with_t3core(void) { return 0; } -static inline void restore_arp_sans_t3core(void) +static inline void +restore_arp_sans_t3core(void) {} + #endif -#endif /* netevent */ - -static struct notifier_block nb = { - .notifier_call = nb_callback -}; - /* * Process a received packet with an unknown/unexpected CPL opcode. */ -static int do_bad_cpl(struct t3cdev *dev, struct sk_buff *skb) +static int +do_bad_cpl(struct toedev *dev, struct mbuf *m) { - printk(KERN_ERR "%s: received bad CPL command 0x%x\n", dev->name, - *skb->data); - return CPL_RET_BUF_DONE | CPL_RET_BAD_MSG; + log(LOG_ERR, "%s: received bad CPL command 0x%x\n", dev->name, + *m->m_data); + return (CPL_RET_BUF_DONE | CPL_RET_BAD_MSG); } /* @@ -1078,37 +1090,38 @@ * Add a new handler to the CPL dispatch table. A NULL handler may be supplied * to unregister an existing handler. */ -void t3_register_cpl_handler(unsigned int opcode, cpl_handler_func h) +void +t3_register_cpl_handler(unsigned int opcode, cpl_handler_func h) { if (opcode < NUM_CPL_CMDS) cpl_handlers[opcode] = h ? h : do_bad_cpl; else - printk(KERN_ERR "T3C: handler registration for " + log(LOG_ERR, "T3C: handler registration for " "opcode %x failed\n", opcode); } -EXPORT_SYMBOL(t3_register_cpl_handler); /* - * T3CDEV's receive method. + * TOEDEV's receive method. */ -int process_rx(struct t3cdev *dev, struct sk_buff **skbs, int n) +int +process_rx(struct toedev *dev, struct mbuf **m, int n) { while (n--) { - struct sk_buff *skb = *skbs++; + struct mbuf *m0 = *m++; unsigned int opcode = G_OPCODE(ntohl(skb->csum)); - int ret = cpl_handlers[opcode] (dev, skb); + int ret = cpl_handlers[opcode] (dev, m0); #if VALIDATE_TID if (ret & CPL_RET_UNKNOWN_TID) { - union opcode_tid *p = cplhdr(skb); + union opcode_tid *p = cplhdr(m0); - printk(KERN_ERR "%s: CPL message (opcode %u) had " + log(LOG_ERR, "%s: CPL message (opcode %u) had " "unknown TID %u\n", dev->name, opcode, G_TID(ntohl(p->opcode_tid))); } #endif if (ret & CPL_RET_BUF_DONE) - kfree_skb(skb); + m_freem(m0); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 18 08:57:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3180016A403 for ; Sun, 18 Mar 2007 08:57:58 +0000 (UTC) (envelope-from bounce@unicef.popularmediamail.org) Received: from unicef.popularmediamail.org (unicef.popularmediamail.org [69.80.213.196]) by mx1.freebsd.org (Postfix) with ESMTP id 1A21013C45A for ; Sun, 18 Mar 2007 08:57:57 +0000 (UTC) (envelope-from bounce@unicef.popularmediamail.org) X-VirtualServer: unicef.popularmediamail.org, unicef.popularmediamail.org, 69.80.213.196 X-Destination-ID: X-MailingID: 00000::00000::00000::00000::32cf7e516303a40d1cf35b35f0cd60df:UNICEF:INVITE-WEBMAIL:15::539966 X-SMFBL: cDQtcHJvamVjdHNAZnJlZWJzZC5vcmc= X-Mailer: StrongMail Enterprise 3.2.1(3.00.215) Received: from localhost.localdomain by unicef.popularmediamail.org (StrongMail Enterprise 3.2.1(3.00.215)); Sun, 18 Mar 2007 03:40:07 -0700 X-VirtualServerGroup: unicef.popularmediamail.org X-SMHeaderMap: mid="X-MailingID" DomainKey-Signature: a=rsa-sha1; c=nofws; s=pm; d=popularmediamail.biz; q=dns; b=Clu3TbH41w+8DRN3nicpxYv9gP+B3qH585M1qjv4odaGEVykqO87nbUB5tjAyCk2HPa0IDWdGwn88O0Yt3LHpVDvN8Efes1jTqC2KOHOLfz3AfmMpx1KX0FLP/z3a+m8 Message-ID: <1174214407.539967@unicef.popularmediamail.org> Date: Sun, 18 Mar 2007 03:40:07 -0700 Sender: unicef@popularmediamail.biz To: p4-projects@freebsd.org From: "rambabu322005@gmail.com" Content-Type: text/plain; charset="iso-8859-1" X-Supp: 32cf7e516303a40d1cf35b35f0cd60df:UNICEF:INVITE-WEBMAIL:15 Subject: We can make a difference X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: rambabu322005@gmail.com List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Mar 2007 08:57:58 -0000 I'm extending a personal invitation to my friends and family. To see your invitation, click the link below, or copy and paste it into your browser's address field: http://friends.unicefusa.org/r/9df97a502675102aa29c If you would prefer not to receive invitations from Friends.UNICEFUSA.org please click here http://friends.unicefusa.org/?PC=UNSUB&rh=32cf7e516303a40d1cf35b35f0cd60df&sender=rambabu.bandari@gmail.com&tc=11 ---------------------------------------------------------- UNICEF USA PMB# 210 2440 16th Street San Francisco, CA 94103-4211 From owner-p4-projects@FreeBSD.ORG Mon Mar 19 10:56:53 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CEAA16A401; Mon, 19 Mar 2007 10:56:53 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5D91016A40B for ; Mon, 19 Mar 2007 10:56:53 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4B8C513C465 for ; Mon, 19 Mar 2007 10:56:53 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2JAuraF077845 for ; Mon, 19 Mar 2007 10:56:53 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2JAurjS077842 for perforce@freebsd.org; Mon, 19 Mar 2007 10:56:53 GMT (envelope-from sephe@FreeBSD.org) Date: Mon, 19 Mar 2007 10:56:53 GMT Message-Id: <200703191056.l2JAurjS077842@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 116130 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2007 10:56:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=116130 Change 116130 by sephe@sephe_zealot:sam_wifi on 2007/03/19 10:56:26 Correct the condition of setting short slot time subfield in assoc/reassoc req, so shslot-capable NIC will not be counted as shslot-encapable NIC. Reviewed-by: sam@ Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#69 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#69 (text+ko) ==== @@ -1765,7 +1765,7 @@ if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) && IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan)) capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE; - if ((ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME) && + if (IEEE80211_IS_CHAN_ANYG(ic->ic_curchan) && (ic->ic_caps & IEEE80211_C_SHSLOT)) capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME; *(u_int16_t *)frm = htole16(capinfo); From owner-p4-projects@FreeBSD.ORG Mon Mar 19 21:56:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67C2C16A40B; Mon, 19 Mar 2007 21:56:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F047A16A408 for ; Mon, 19 Mar 2007 21:56:17 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DEF9E13C4BF for ; Mon, 19 Mar 2007 21:56:17 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2JLuHsu045529 for ; Mon, 19 Mar 2007 21:56:17 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2JLu0Kj045485 for perforce@freebsd.org; Mon, 19 Mar 2007 21:56:00 GMT (envelope-from imp@freebsd.org) Date: Mon, 19 Mar 2007 21:56:00 GMT Message-Id: <200703192156.l2JLu0Kj045485@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 116177 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Mar 2007 21:56:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=116177 Change 116177 by imp@imp_paco-paco on 2007/03/19 21:54:59 IFC @116173 Affected files ... .. //depot/projects/arm/src/Makefile.inc1#23 integrate .. //depot/projects/arm/src/bin/csh/config.h#2 integrate .. //depot/projects/arm/src/bin/csh/config_p.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/FREEBSD-Xlist#2 integrate .. //depot/projects/arm/src/contrib/tcsh/FREEBSD-upgrade#2 integrate .. //depot/projects/arm/src/contrib/tcsh/Fixes#2 integrate .. //depot/projects/arm/src/contrib/tcsh/Imakefile#2 integrate .. //depot/projects/arm/src/contrib/tcsh/MAKEDIFFS#2 integrate .. //depot/projects/arm/src/contrib/tcsh/MAKESHAR#2 integrate .. //depot/projects/arm/src/contrib/tcsh/Makefile.in#2 integrate .. //depot/projects/arm/src/contrib/tcsh/Makefile.std#2 integrate .. //depot/projects/arm/src/contrib/tcsh/Makefile.vms#2 integrate .. //depot/projects/arm/src/contrib/tcsh/README#2 integrate .. //depot/projects/arm/src/contrib/tcsh/complete.tcsh#2 integrate .. //depot/projects/arm/src/contrib/tcsh/config.h.in#2 integrate .. //depot/projects/arm/src/contrib/tcsh/config/bsd4.4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/config_f.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/configure#2 integrate .. //depot/projects/arm/src/contrib/tcsh/configure.in#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.chared.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.decls.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.defns.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.init.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.inputl.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.refresh.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.screen.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.term.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.term.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ed.xmap.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/eight-bit.me#2 integrate .. //depot/projects/arm/src/contrib/tcsh/gethost.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/glob.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/glob.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/host.defs#2 integrate .. //depot/projects/arm/src/contrib/tcsh/imake.config#2 integrate .. //depot/projects/arm/src/contrib/tcsh/ma.setp.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/mi.termios.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/mi.varargs.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/C/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/Makefile#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/et/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/finnish/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/french/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/german/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/greek/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/italian/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ja/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/pl/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/russian/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/spanish/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set1#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set10#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set11#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set12#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set13#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set14#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set15#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set16#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set17#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set18#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set19#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set2#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set20#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set21#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set22#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set23#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set24#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set25#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set26#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set27#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set29#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set3#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set30#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set31#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set4#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set5#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set6#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set7#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set8#2 integrate .. //depot/projects/arm/src/contrib/tcsh/nls/ukrainian/set9#2 integrate .. //depot/projects/arm/src/contrib/tcsh/patchlevel.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/pathnames.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.char.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.char.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.decls.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.dir.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.dir.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.dol.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.err.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.exec.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.exp.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.file.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.glob.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.hist.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.init.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.lex.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.misc.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.parse.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.print.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.proc.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.proc.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.sem.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.set.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.time.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/sh.types.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/snames.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.alloc.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.bind.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.const.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.decls.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.disc.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.func.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.nls.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.nls.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.os.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.os.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.printf.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.prompt.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.sched.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.sig.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.sig.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.str.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.vers.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.wait.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tc.who.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tcsh.man2html#2 integrate .. //depot/projects/arm/src/contrib/tcsh/termcap.vms#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.color.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.comp.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.decls.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.h#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.help.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.init.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.parse.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/tw.spell.c#2 integrate .. //depot/projects/arm/src/contrib/tcsh/vms.termcap.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/CHANGES#4 integrate .. //depot/projects/arm/src/crypto/openssl/Configure#4 integrate .. //depot/projects/arm/src/crypto/openssl/FAQ#4 integrate .. //depot/projects/arm/src/crypto/openssl/FREEBSD-upgrade#2 integrate .. //depot/projects/arm/src/crypto/openssl/INSTALL#3 integrate .. //depot/projects/arm/src/crypto/openssl/LICENSE#4 integrate .. //depot/projects/arm/src/crypto/openssl/Makefile#4 integrate .. //depot/projects/arm/src/crypto/openssl/NEWS#4 integrate .. //depot/projects/arm/src/crypto/openssl/README#4 integrate .. //depot/projects/arm/src/crypto/openssl/apps/CA.pl#4 integrate .. //depot/projects/arm/src/crypto/openssl/apps/Makefile#3 integrate .. //depot/projects/arm/src/crypto/openssl/apps/ca.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/apps/dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/apps/ec.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/apps/enc.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/apps/ocsp.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/apps/pkcs12.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/apps/s_client.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/apps/s_server.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/certs/aol1.pem#1 branch .. //depot/projects/arm/src/crypto/openssl/certs/aol2.pem#1 branch .. //depot/projects/arm/src/crypto/openssl/certs/aoltw1.pem#1 branch .. //depot/projects/arm/src/crypto/openssl/certs/aoltw2.pem#1 branch .. //depot/projects/arm/src/crypto/openssl/config#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/aes/Makefile#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/aes/aes_misc.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/a_strex.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/asn1_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/asn1_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/asn1t.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/t_x509.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/tasn_dec.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/asn1/x_x509.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bf/bf_ecb.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bio/bio.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bio/bio_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bio/bio_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bn/bn_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bn/bn_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/bn/bn_print.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/buffer/buf_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/camellia/Makefile#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/camellia/camellia.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/camellia/cmll_cbc.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/camellia/cmll_locl.h#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/camellia/cmll_misc.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/cast/c_ecb.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/comp/c_zlib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/comp/comp_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/conf/conf_def.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/conf/conf_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/conf/conf_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/cpt_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/cryptlib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/des/INSTALL#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/des/des_ver.h#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/des/ecb_enc.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/dh/dh_err.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/dh/dh_lib.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/dsa/dsa_err.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/dsa/dsa_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/dso/dso_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ec/ec_asn1.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ec/ec_err.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ecdh/ech_err.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ecdh/ech_lib.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ecdsa/ecdsa.h#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ecdsa/ecs_err.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ecdsa/ecs_lib.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ecdsa/ecs_ossl.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/engine/eng_all.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/engine/eng_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/engine/eng_padlock.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/engine/tb_ecdh.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/engine/tb_ecdsa.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/err/err_all.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/evp/bio_md.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/evp/evp.h#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/evp/evp_enc.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/evp/evp_err.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/evp/evp_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/evp/evp_locl.h#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/idea/i_ecb.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/idea/idea_lcl.h#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/lhash/lhash.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/md2/md2.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/md2/md2_dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/md4/md4.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/md4/md4_dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/md5/md5.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/md5/md5_dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/objects/obj_dat.h#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/objects/obj_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/objects/obj_mac.h#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/objects/obj_mac.num#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/objects/objects.txt#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ocsp/ocsp_asn.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ocsp/ocsp_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ocsp/ocsp_vfy.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/opensslconf.h#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/opensslv.h#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pem/pem.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pem/pem_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pem/pem_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pem/pem_pkey.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pkcs12/pk12err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pkcs7/pk7_doit.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pkcs7/pk7_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pkcs7/pk7_smime.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/pkcs7/pkcs7err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/rand/md_rand.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/rand/rand_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/rc2/rc2_ecb.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/rc4/rc4_skey.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ripemd/ripemd.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ripemd/rmd_dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/rsa/rsa_err.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/rsa/rsa_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/sha/sha.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/sha/sha1dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/sha/sha256.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/sha/sha512.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/sha/sha_dgst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/stack/safestack.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/stack/stack.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/store/str_err.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/txt_db/txt_db.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/ui/ui_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/by_dir.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/x509.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/x509_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/x509_req.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/x509_txt.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/x509_vfy.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509/x509_vfy.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/Makefile#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/ext_dat.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/pcy_tree.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_addr.c#1 branch .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_akey.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_alt.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_asid.c#1 branch .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_bcons.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_bitst.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_cpols.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_crld.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_enum.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_extku.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_ia5.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_info.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_int.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_ncons.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_ocsp.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_pci.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_pcons.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_pku.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_pmaps.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_purp.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_skey.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_sxnet.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3_utl.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/v3err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/crypto/x509v3/x509v3.h#3 integrate .. //depot/projects/arm/src/crypto/openssl/doc/apps/ciphers.pod#3 integrate .. //depot/projects/arm/src/crypto/openssl/doc/apps/s_client.pod#3 integrate .. //depot/projects/arm/src/crypto/openssl/doc/apps/x509.pod#3 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/ASN1_STRING_print_ex.pod#3 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/BIO_set_callback.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/CONF_modules_free.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/RAND_egd.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/RSA_get_ex_new_index.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/md5.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/mdc2.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/ripemd.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/crypto/sha.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod#2 integrate .. //depot/projects/arm/src/crypto/openssl/doc/ssl/SSL_SESSION_get_time.pod#3 integrate .. //depot/projects/arm/src/crypto/openssl/openssl.spec#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/d1_lib.c#2 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/d1_pkt.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/kssl.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s23_clnt.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s23_srvr.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s2_enc.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s2_lib.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s3_clnt.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s3_enc.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s3_lib.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s3_pkt.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/s3_srvr.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/ssl.h#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/ssl_ciph.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/ssl_err.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/ssl_lib.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/ssl_sess.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/t1_enc.c#4 integrate .. //depot/projects/arm/src/crypto/openssl/ssl/t1_lib.c#3 integrate .. //depot/projects/arm/src/crypto/openssl/test/Makefile#4 integrate .. //depot/projects/arm/src/crypto/openssl/tools/c_rehash#3 integrate .. //depot/projects/arm/src/crypto/openssl/util/libeay.num#4 integrate .. //depot/projects/arm/src/crypto/openssl/util/mk1mf.pl#4 integrate .. //depot/projects/arm/src/crypto/openssl/util/mkdef.pl#4 integrate .. //depot/projects/arm/src/crypto/openssl/util/mkerr.pl#3 integrate .. //depot/projects/arm/src/crypto/openssl/util/ssleay.num#3 integrate .. //depot/projects/arm/src/etc/rc.d/bgfsck#2 integrate .. //depot/projects/arm/src/etc/rc.d/syscons#3 integrate .. //depot/projects/arm/src/etc/rc.subr#8 integrate .. //depot/projects/arm/src/gnu/usr.bin/cc/Makefile.fe#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/cc/Makefile.inc#6 integrate .. //depot/projects/arm/src/gnu/usr.bin/cc/c++filt/Makefile#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/cc/cc_int/Makefile#5 integrate .. //depot/projects/arm/src/gnu/usr.bin/cc/f77/Makefile#2 integrate .. //depot/projects/arm/src/lib/libarchive/Makefile#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_extract.c#7 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.c#9 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_disk.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_set_compression_none.c#6 integrate .. //depot/projects/arm/src/lib/libarchive/test/test.h#2 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_sys_calls.c#3 integrate .. //depot/projects/arm/src/lib/libc/stdio/tmpnam.3#3 integrate .. //depot/projects/arm/src/lib/libc/sys/getsockopt.2#5 integrate .. //depot/projects/arm/src/lib/libedit/chared.h#2 integrate .. //depot/projects/arm/src/lib/libedit/common.c#2 integrate .. //depot/projects/arm/src/lib/libedit/editline.3#2 integrate .. //depot/projects/arm/src/lib/libedit/editrc.5#2 integrate .. //depot/projects/arm/src/lib/libedit/emacs.c#2 integrate .. //depot/projects/arm/src/lib/libedit/history.c#2 integrate .. //depot/projects/arm/src/lib/libedit/key.c#2 integrate .. //depot/projects/arm/src/lib/libedit/key.h#2 integrate .. //depot/projects/arm/src/lib/libedit/map.c#2 integrate .. //depot/projects/arm/src/lib/libedit/read.c#2 integrate .. //depot/projects/arm/src/lib/libedit/read.h#2 integrate .. //depot/projects/arm/src/lib/libedit/term.c#2 integrate .. //depot/projects/arm/src/lib/libedit/term.h#2 integrate .. //depot/projects/arm/src/lib/libedit/tty.c#2 integrate .. //depot/projects/arm/src/lib/libedit/vi.c#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_data.c#2 integrate .. //depot/projects/arm/src/lib/libmemstat/memstat.h#3 integrate .. //depot/projects/arm/src/lib/libufs/type.c#2 integrate .. //depot/projects/arm/src/lib/ncurses/Makefile#2 integrate .. //depot/projects/arm/src/lib/ncurses/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/ncurses/config.mk#2 integrate .. //depot/projects/arm/src/lib/ncurses/form/Makefile#2 integrate .. //depot/projects/arm/src/lib/ncurses/formw/Makefile#1 branch .. //depot/projects/arm/src/lib/ncurses/menu/Makefile#2 integrate .. //depot/projects/arm/src/lib/ncurses/menuw/Makefile#1 branch .. //depot/projects/arm/src/lib/ncurses/ncurses/Makefile#2 integrate .. //depot/projects/arm/src/lib/ncurses/ncurses/ncurses_cfg.h#2 integrate .. //depot/projects/arm/src/lib/ncurses/ncursesw/Makefile#1 branch .. //depot/projects/arm/src/lib/ncurses/panel/Makefile#2 integrate .. //depot/projects/arm/src/lib/ncurses/panelw/Makefile#1 branch .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#5 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/arm/src/release/doc/share/misc/dev.archlist.txt#6 integrate .. //depot/projects/arm/src/sbin/ifconfig/af_ipx.c#3 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifconfig.c#7 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/Makefile#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/Makefile.inc#5 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/Makefile.man#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ASN1_OBJECT_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ASN1_STRING_length.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ASN1_STRING_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ASN1_generate_nconf.3#3 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_ctrl.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_f_base64.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_f_buffer.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_f_cipher.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_f_md.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_f_null.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_f_ssl.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_find_type.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_push.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_read.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_accept.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_bio.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_connect.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_fd.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_file.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_mem.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_null.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_s_socket.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_set_callback.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BIO_should_retry.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_BLINDING_new.3#3 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_CTX_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_CTX_start.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_add.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_add_word.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_bn2bin.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_cmp.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_copy.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_generate_prime.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_mod_inverse.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_num_bytes.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_rand.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_set_bit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_swap.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/BN_zero.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/CONF_modules_free.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/CONF_modules_load_file.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DH_generate_key.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DH_generate_parameters.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DH_get_ex_new_index.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DH_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DH_set_method.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DH_size.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_SIG_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_do_sign.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_dup_DH.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_generate_key.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_generate_parameters.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_get_ex_new_index.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_set_method.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_sign.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/DSA_size.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_GET_LIB.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_clear_error.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_error_string.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_get_error.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_load_crypto_strings.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_load_strings.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_print_errors.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_put_error.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_remove_state.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ERR_set_mark.3#3 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_BytesToKey.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_DigestInit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_EncryptInit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_OpenInit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_PKEY_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_SealInit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_SignInit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/EVP_VerifyInit.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OBJ_nid2obj.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OPENSSL_Applink.3#3 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OPENSSL_config.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OPENSSL_ia32cap.3#3 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/PKCS12_create.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/PKCS12_parse.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/PKCS7_decrypt.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/PKCS7_encrypt.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/PKCS7_sign.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/PKCS7_verify.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RAND_add.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RAND_bytes.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RAND_cleanup.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RAND_egd.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RAND_load_file.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RAND_set_rand_method.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_blinding_on.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_check_key.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_generate_key.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_get_ex_new_index.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_print.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_private_encrypt.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_public_encrypt.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_set_method.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_sign.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/RSA_size.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/SMIME_read_PKCS7.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/SMIME_write_PKCS7.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/X509_NAME_print_ex.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/X509_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/bio.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/blowfish.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/bn.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/bn_internal.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/buffer.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/crypto.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_DHparams.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_DSAPublicKey.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_RSAPublicKey.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_X509.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_X509_ALGOR.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_X509_CRL.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_X509_NAME.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_X509_REQ.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/d2i_X509_SIG.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/des.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/dh.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/dsa.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ecdsa.3#3 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/engine.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/err.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/evp.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/hmac.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/lh_stats.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/lhash.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/md5.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/mdc2.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/pem.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/rand.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/rc4.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ripemd.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/rsa.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/sha.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/threads.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ui.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/ui_compat.3#4 integrate .. //depot/projects/arm/src/secure/lib/libcrypto/man/x509.3#3 integrate .. //depot/projects/arm/src/secure/lib/libssl/Makefile.man#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CIPHER_get_name.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_COMP_add_compression_method.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_add_session.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_ctrl.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_flush_sessions.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_free.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_sess_number.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_sessions.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_cert_store.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_info_callback.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_mode.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_options.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_timeout.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_set_verify.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_CTX_use_certificate.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_SESSION_free.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_SESSION_get_time.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_accept.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_alert_type_string.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_clear.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_connect.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_do_handshake.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_free.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_SSL_CTX.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_ciphers.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_client_CA_list.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_current_cipher.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_default_timeout.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_error.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_ex_new_index.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_fd.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_peer_cert_chain.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_peer_certificate.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_rbio.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_session.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_verify_result.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_get_version.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_library_init.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_load_client_CA_file.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_new.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_pending.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_read.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_rstate_string.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_session_reused.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_set_bio.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_set_connect_state.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_set_fd.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_set_session.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_set_shutdown.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_set_verify_result.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_shutdown.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_state_string.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_want.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/SSL_write.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/d2i_SSL_SESSION.3#4 integrate .. //depot/projects/arm/src/secure/lib/libssl/man/ssl.3#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/Makefile.man#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/CA.pl.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/asn1parse.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/ca.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/ciphers.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/crl.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/crl2pkcs7.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/dgst.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/dhparam.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/dsa.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/dsaparam.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/ec.1#3 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/ecparam.1#3 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/enc.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/errstr.1#3 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/gendsa.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/genrsa.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/nseq.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/ocsp.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/openssl.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/passwd.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/pkcs12.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/pkcs7.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/pkcs8.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/rand.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/req.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/rsa.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/rsautl.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/s_client.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/s_server.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/s_time.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/sess_id.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/smime.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/speed.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/spkac.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/verify.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/version.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/x509.1#4 integrate .. //depot/projects/arm/src/secure/usr.bin/openssl/man/x509v3_config.1#3 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#8 integrate .. //depot/projects/arm/src/share/man/man4/acpi_thermal.4#3 integrate .. //depot/projects/arm/src/share/man/man4/ata.4#7 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Mar 20 16:25:50 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF69F16A404; Tue, 20 Mar 2007 16:25:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AFE0D16A400 for ; Tue, 20 Mar 2007 16:25:49 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A009013C484 for ; Tue, 20 Mar 2007 16:25:49 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2KGPnqi003224 for ; Tue, 20 Mar 2007 16:25:49 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2KGPnnV003221 for perforce@freebsd.org; Tue, 20 Mar 2007 16:25:49 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 20 Mar 2007 16:25:49 GMT Message-Id: <200703201625.l2KGPnnV003221@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 116212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2007 16:25:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=116212 Change 116212 by gonzo@gonzo_jeeves on 2007/03/20 16:24:51 o Implement TRAPF_USERMODE, TRAPF_PC macroses. o Implement cpu_getstack and cpu_setstack macroses. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/cpu.h#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/cpu.h#5 (text+ko) ==== @@ -36,6 +36,8 @@ #ifndef _MACHINE_CPU_H_ #define _MACHINE_CPU_H_ +#include + /* * definitions of cpu-dependent requirements * referenced in generic code @@ -44,28 +46,13 @@ #define cpu_exec(p) /* nothing */ #define cpu_swapin(p) /* nothing */ -/* - * XXXMIPS: Change those once we'll bring header files from NetBSD. - */ -#if 0 -#define cpu_getstack(td) ((td)->td_frame->tf_rsp) -#define cpu_setstack(td, ap) ((td)->td_frame->tf_rsp = (ap)) -#define cpu_spinwait() /* ia32_pause() */ -#endif -#define cpu_getstack(td) (0) -#define cpu_setstack(td, ap) (0) -#define cpu_spinwait() +#define cpu_getstack(td) ((td)->td_frame->tf_regs[TF_SP]) +#define cpu_setstack(td, ap) ((td)->td_frame->tf_regs[TF_SP] = (ap)) +#define cpu_spinwait() /* XXXMIPS */ -/* - * XXXMIPS: Change those once we'll bring header files from NetBSD. - */ -#if 0 #define TRAPF_USERMODE(framep) \ - (ISPL((framep)->tf_cs) == SEL_UPL) -#define TRAPF_PC(framep) ((framep)->tf_rip) -#endif -#define TRAPF_USERMODE(framep) (0) -#define TRAPF_PC(framep) (0) + (((framep)->tf_regs[TF_SR] & MIPS_SR_KSU_USER) != 0) +#define TRAPF_PC(framep) ((framep)->tf_regs[TF_EPC]) /* * CTL_MACHDEP definitions. From owner-p4-projects@FreeBSD.ORG Tue Mar 20 16:35:03 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDB9C16A402; Tue, 20 Mar 2007 16:35:02 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AE3AD16A400 for ; Tue, 20 Mar 2007 16:35:02 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9DF7C13C48C for ; Tue, 20 Mar 2007 16:35:02 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2KGZ2HT004900 for ; Tue, 20 Mar 2007 16:35:02 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2KGZ2pG004886 for perforce@freebsd.org; Tue, 20 Mar 2007 16:35:02 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 20 Mar 2007 16:35:02 GMT Message-Id: <200703201635.l2KGZ2pG004886@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 116213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2007 16:35:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=116213 Change 116213 by gonzo@gonzo_jeeves on 2007/03/20 16:34:09 o Ged rid of extra-newlines and unnecessary XXXMIPS o Add DO_AST macros. It's purpose - perform preliminary checks and call ast if conditions (usermode and either TDF_ASTPENDING or TDF_NEEDRESCHED is set) are met. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/asm.h#10 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/asm.h#10 (text+ko) ==== @@ -147,13 +147,13 @@ #define AENT(x) \ .aent x, 0 - /* * WEAK_ALIAS: create a weak alias. */ #define WEAK_ALIAS(alias,sym) \ .weak alias; \ alias = sym + /* * STRONG_ALIAS: create a strong alias. */ @@ -236,6 +236,25 @@ #define END(x) \ .end _C_LABEL(x) +/* + * Call ast if required + */ +#define DO_AST \ + lw k1, pcpup; \ + lw k1, PC_CURTHREAD(k1); \ + lw k1, TD_FRAME(k1); \ + lw t0, TF_REG_SR(k1); \ + and t0, t0, MIPS_SR_KSU_USER; \ + beq t0, zero, 27f; \ + nop; \ + lw t0, TD_FLAGS(k1); \ + and t0, t0, (TDF_ASTPENDING|TDF_NEEDRESCHED); \ + beq t0, zero, 27f; \ + nop; \ + move a0, k1; \ + jal ast; \ + nop; \ +27: /* * standard callframe { @@ -289,7 +308,6 @@ #define _OFFSETOF_SC_MASK 460 #endif -/* XXXMIPS: end */ #define RCSID(x) .text; .asciz x #undef __FBSDID From owner-p4-projects@FreeBSD.ORG Tue Mar 20 16:41:11 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F87F16A408; Tue, 20 Mar 2007 16:41:11 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5021616A406 for ; Tue, 20 Mar 2007 16:41:11 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4095413C4B7 for ; Tue, 20 Mar 2007 16:41:11 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2KGfBuj005833 for ; Tue, 20 Mar 2007 16:41:11 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2KGfBUk005829 for perforce@freebsd.org; Tue, 20 Mar 2007 16:41:11 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 20 Mar 2007 16:41:11 GMT Message-Id: <200703201641.l2KGfBUk005829@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 116216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2007 16:41:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=116216 Change 116216 by gonzo@gonzo_jeeves on 2007/03/20 16:40:47 o Add handling of asynchronous software trap to userland exceptions handler and userland interrupts handler. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#20 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#20 (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/mips2/src/sys/mips/mips/exception.S#19 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#20 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -693,11 +693,8 @@ jal trap nop + DO_AST - ### - ### TODO: Check pending traps here. - ### - /* * Make sure interrupts are disabled for the purposes of * having a clean go at restoring. @@ -749,9 +746,7 @@ nop - ### - ### TODO: Check pending traps here. - ### + DO_AST /* * Make sure interrupts are disabled for the purposes of From owner-p4-projects@FreeBSD.ORG Tue Mar 20 16:47:20 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5917A16A406; Tue, 20 Mar 2007 16:47:20 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1C6F216A401 for ; Tue, 20 Mar 2007 16:47:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0CBD913C45D for ; Tue, 20 Mar 2007 16:47:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2KGlJc1015227 for ; Tue, 20 Mar 2007 16:47:19 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2KGlJpQ015224 for perforce@freebsd.org; Tue, 20 Mar 2007 16:47:19 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 20 Mar 2007 16:47:19 GMT Message-Id: <200703201647.l2KGlJpQ015224@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 116217 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2007 16:47:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=116217 Change 116217 by gonzo@gonzo_jeeves on 2007/03/20 16:46:42 o Add handling of asynchronous software trap to fork_trampoline. o Minor cleanup. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/swtch.S#9 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/swtch.S#9 (text+ko) ==== @@ -179,22 +179,19 @@ nop nop - move a0, s0 move a1, s1 move a2, s2 jal fork_exit nop - /* XXX AST */ + DO_AST .set at lw t2, pcpup .set noat lw t3, PC_CURTHREAD(t2) - lw t0, TD_FRAME(t3) - - move k1, t0 + lw k1, TD_FRAME(t3) jal exception_restore_registers nop eret From owner-p4-projects@FreeBSD.ORG Tue Mar 20 23:31:28 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67AA116A405; Tue, 20 Mar 2007 23:31:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 349B116A401 for ; Tue, 20 Mar 2007 23:31:28 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2429E13C4C5 for ; Tue, 20 Mar 2007 23:31:28 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2KNVRCZ018581 for ; Tue, 20 Mar 2007 23:31:28 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2KNVPLe018576 for perforce@freebsd.org; Tue, 20 Mar 2007 23:31:25 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 20 Mar 2007 23:31:25 GMT Message-Id: <200703202331.l2KNVPLe018576@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 116231 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 20 Mar 2007 23:31:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=116231 Change 116231 by kmacy@kmacy_vt-x:opentoe_init on 2007/03/20 23:30:37 IFC Affected files ... .. //depot/projects/opentoe/ObsoleteFiles.inc#2 integrate .. //depot/projects/opentoe/lib/libarchive/archive_write_set_compression_none.c#2 integrate .. //depot/projects/opentoe/lib/libc/stdio/tmpnam.3#2 integrate .. //depot/projects/opentoe/lib/libc/stdlib/malloc.c#2 integrate .. //depot/projects/opentoe/lib/libelf/elf_data.c#2 integrate .. //depot/projects/opentoe/share/man/man4/acpi_thermal.4#2 integrate .. //depot/projects/opentoe/share/man/man4/ip.4#2 integrate .. //depot/projects/opentoe/share/man/man4/multicast.4#2 integrate .. //depot/projects/opentoe/share/man/man4/tap.4#2 integrate .. //depot/projects/opentoe/share/man/man9/locking.9#2 integrate .. //depot/projects/opentoe/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/opentoe/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/opentoe/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/opentoe/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/opentoe/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/opentoe/sys/amd64/conf/GENERIC#2 edit .. //depot/projects/opentoe/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/opentoe/sys/amd64/include/specialreg.h#2 integrate .. //depot/projects/opentoe/sys/conf/options#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/opentoe/sys/contrib/pf/net/if_pfsync.h#2 integrate .. //depot/projects/opentoe/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/opentoe/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/common/cxgb_regs.h#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/common/cxgb_version.h#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_config.h#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_ioctl.h#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/opentoe/sys/dev/firewire/fwohci.c#2 integrate .. //depot/projects/opentoe/sys/dev/firewire/fwohci_pci.c#2 integrate .. //depot/projects/opentoe/sys/dev/mii/brgphy.c#2 integrate .. //depot/projects/opentoe/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/opentoe/sys/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/opentoe/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/opentoe/sys/i386/bios/smapi.c#2 integrate .. //depot/projects/opentoe/sys/i386/bios/smbios.c#2 integrate .. //depot/projects/opentoe/sys/i386/bios/vpd.c#2 integrate .. //depot/projects/opentoe/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/opentoe/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/opentoe/sys/i386/i386/legacy.c#2 integrate .. //depot/projects/opentoe/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/opentoe/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/opentoe/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/opentoe/sys/i386/include/specialreg.h#2 integrate .. //depot/projects/opentoe/sys/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/opentoe/sys/kern/vfs_mount.c#2 integrate .. //depot/projects/opentoe/sys/modules/if_vlan/Makefile#2 integrate .. //depot/projects/opentoe/sys/net/if.c#2 integrate .. //depot/projects/opentoe/sys/net/if_bridge.c#2 integrate .. //depot/projects/opentoe/sys/net/if_ethersubr.c#2 integrate .. //depot/projects/opentoe/sys/net/if_tap.c#2 integrate .. //depot/projects/opentoe/sys/net/if_var.h#2 integrate .. //depot/projects/opentoe/sys/net/if_vlan.c#2 integrate .. //depot/projects/opentoe/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/opentoe/sys/netgraph/ng_ether.c#2 integrate .. //depot/projects/opentoe/sys/netinet/in.c#2 integrate .. //depot/projects/opentoe/sys/netinet/in_var.h#2 integrate .. //depot/projects/opentoe/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/opentoe/sys/netinet/ip_input.c#2 integrate .. //depot/projects/opentoe/sys/netinet/raw_ip.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_indata.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_input.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_os_bsd.h#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_output.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_pcb.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_pcb.h#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_structs.h#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_timer.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_usrreq.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctp_var.h#2 integrate .. //depot/projects/opentoe/sys/netinet/sctputil.c#2 integrate .. //depot/projects/opentoe/sys/netinet/sctputil.h#2 integrate .. //depot/projects/opentoe/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/opentoe/sys/netinet/tcp_output.c#2 integrate .. //depot/projects/opentoe/sys/netinet/tcp_sack.c#2 integrate .. //depot/projects/opentoe/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/opentoe/sys/netinet/tcp_timer.c#2 integrate .. //depot/projects/opentoe/sys/netinet6/mld6.c#2 integrate .. //depot/projects/opentoe/sys/netinet6/sctp6_usrreq.c#2 integrate .. //depot/projects/opentoe/sys/netinet6/sctp6_var.h#2 integrate .. //depot/projects/opentoe/sys/pc98/pc98/machdep.c#2 integrate .. //depot/projects/opentoe/sys/sys/param.h#2 integrate .. //depot/projects/opentoe/sys/sys/socketvar.h#2 integrate .. //depot/projects/opentoe/sys/ufs/ffs/ffs_softdep.c#2 integrate .. //depot/projects/opentoe/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/opentoe/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/opentoe/usr.bin/tar/write.c#2 integrate .. //depot/projects/opentoe/usr.sbin/daemon/daemon.8#2 integrate .. //depot/projects/opentoe/usr.sbin/daemon/daemon.c#2 integrate .. //depot/projects/opentoe/usr.sbin/ifmcstat/Makefile#2 integrate .. //depot/projects/opentoe/usr.sbin/ifmcstat/ifmcstat.8#2 integrate .. //depot/projects/opentoe/usr.sbin/ifmcstat/ifmcstat.c#2 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/config.c#2 integrate .. //depot/projects/opentoe/usr.sbin/sysinstall/devices.c#2 integrate Differences ... ==== //depot/projects/opentoe/ObsoleteFiles.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.75 2007/03/01 10:53:55 bms Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.76 2007/03/19 11:15:53 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070303: libarchive 2.0 +OLD_LIBS+=usr/lib/libarchive.so.3 # 20070301: remove addr2ascii and ascii2addr OLD_FILES+=usr/share/man/man3/addr2ascii.3.gz # 20070225: vm_page_unmanage() removed ==== //depot/projects/opentoe/lib/libarchive/archive_write_set_compression_none.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_compression_none.c,v 1.12 2007/03/03 07:37:36 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_compression_none.c,v 1.13 2007/03/17 14:59:04 cperciva Exp $"); #ifdef HAVE_ERRNO_H #include @@ -143,6 +143,7 @@ a->client_data, buff, remaining); if (bytes_written <= 0) return (ARCHIVE_FATAL); + a->archive.raw_position += bytes_written; remaining -= bytes_written; buff += bytes_written; } ==== //depot/projects/opentoe/lib/libc/stdio/tmpnam.3#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)tmpnam.3 8.2 (Berkeley) 11/17/93 -.\" $FreeBSD: src/lib/libc/stdio/tmpnam.3,v 1.19 2007/01/09 00:28:07 imp Exp $ +.\" $FreeBSD: src/lib/libc/stdio/tmpnam.3,v 1.20 2007/03/16 21:46:24 maxim Exp $ .\" -.Dd November 17, 1993 +.Dd March 18, 2007 .Dt TMPFILE 3 .Os .Sh NAME @@ -152,6 +152,19 @@ .Dv NULL pointer on error. +.Sh ENVIRONMENT +.Bl -tag -width Ds +.It Ev TMPDIR +.Pf [ Fn tempnam +only] +If set, +the directory in which the temporary file is stored. +.Ev TMPDIR +is ignored for processes +for which +.Xr issetugid 2 +is true. +.El .Sh COMPATIBILITY These interfaces are provided from System V and .Tn ANSI ==== //depot/projects/opentoe/lib/libc/stdlib/malloc.c#2 (text+ko) ==== @@ -185,7 +185,7 @@ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.140 2007/02/22 19:10:30 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.141 2007/03/20 03:44:10 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -214,6 +214,7 @@ #include #include #include +#include #include #include #include @@ -242,44 +243,46 @@ #endif /* Size of stack-allocated buffer passed to strerror_r(). */ -#define STRERROR_BUF 64 +#define STRERROR_BUF 64 /* Minimum alignment of allocations is 2^QUANTUM_2POW_MIN bytes. */ #ifdef __i386__ # define QUANTUM_2POW_MIN 4 -# define SIZEOF_PTR 4 +# define SIZEOF_PTR_2POW 2 # define USE_BRK #endif #ifdef __ia64__ # define QUANTUM_2POW_MIN 4 -# define SIZEOF_PTR 8 +# define SIZEOF_PTR_2POW 3 #endif #ifdef __alpha__ # define QUANTUM_2POW_MIN 4 -# define SIZEOF_PTR 8 +# define SIZEOF_PTR_2POW 3 # define NO_TLS #endif #ifdef __sparc64__ # define QUANTUM_2POW_MIN 4 -# define SIZEOF_PTR 8 +# define SIZEOF_PTR_2POW 3 # define NO_TLS #endif #ifdef __amd64__ # define QUANTUM_2POW_MIN 4 -# define SIZEOF_PTR 8 +# define SIZEOF_PTR_2POW 3 #endif #ifdef __arm__ # define QUANTUM_2POW_MIN 3 -# define SIZEOF_PTR 4 +# define SIZEOF_PTR_2POW 2 # define USE_BRK # define NO_TLS #endif #ifdef __powerpc__ # define QUANTUM_2POW_MIN 4 -# define SIZEOF_PTR 4 +# define SIZEOF_PTR_2POW 2 # define USE_BRK #endif +#define SIZEOF_PTR (1 << SIZEOF_PTR_2POW) + /* sizeof(int) == (1 << SIZEOF_INT_2POW). */ #ifndef SIZEOF_INT_2POW # define SIZEOF_INT_2POW 2 @@ -293,12 +296,8 @@ /* * Size and alignment of memory chunks that are allocated by the OS's virtual * memory system. - * - * chunksize limits: - * - * 2^(pagesize_2pow - 1 + RUN_MIN_REGS_2POW) <= chunk_size <= 2^28 */ -#define CHUNK_2POW_DEFAULT 21 +#define CHUNK_2POW_DEFAULT 20 #define CHUNK_2POW_MAX 28 /* @@ -306,38 +305,36 @@ * so over-estimates are okay (up to a point), but under-estimates will * negatively affect performance. */ -#define CACHELINE_2POW 6 -#define CACHELINE ((size_t)(1 << CACHELINE_2POW)) +#define CACHELINE_2POW 6 +#define CACHELINE ((size_t)(1 << CACHELINE_2POW)) + +/* Smallest size class to support. */ +#define TINY_MIN_2POW 1 /* * Maximum size class that is a multiple of the quantum, but not (necessarily) * a power of 2. Above this size, allocations are rounded up to the nearest * power of 2. */ -#define SMALL_MAX_2POW_DEFAULT 9 -#define SMALL_MAX_DEFAULT (1 << SMALL_MAX_2POW_DEFAULT) +#define SMALL_MAX_2POW_DEFAULT 9 +#define SMALL_MAX_DEFAULT (1 << SMALL_MAX_2POW_DEFAULT) /* - * Minimum number of regions that must fit into a run that serves quantum-size - * bin allocations. + * Maximum desired run header overhead. Runs are sized as small as possible + * such that this setting is still honored, without violating other constraints. + * The goal is to make runs as small as possible without exceeding a per run + * external fragmentation threshold. * - * Note that if this is set too low, space will be wasted if there are size - * classes that are small enough that RUN_MIN_REGS regions don't fill a page. - * If this is set too high, then the overhead of searching through the bitmap - * that tracks region usage will become excessive. + * Note that it is possible to set this low enough that it cannot be honored + * for some/all object sizes, since there is one bit of header overhead per + * object (plus a constant). In such cases, this value is iteratively doubled + * in order to make sure that the overhead limit is achievable. */ -#define RUN_MIN_REGS_2POW 10 -#define RUN_MIN_REGS (1 << RUN_MIN_REGS_2POW) +#define RUN_MAX_HDR_OVERHEAD 0.005 -/* - * Maximum number of pages for a run that is used for bin allocations. - * - * Note that if this is set too low, then fragmentation for the largest bin - * size classes will be high. If this is set too high, then even small - * programs will often have to allocate more than two chunks early on. - */ -#define RUN_MAX_PAGES_2POW 4 -#define RUN_MAX_PAGES (1 << RUN_MAX_PAGES_2POW) +/* Put a cap on small object run size. This overrides RUN_MAX_HDR_OVERHEAD. */ +#define RUN_MAX_SMALL_2POW 16 +#define RUN_MAX_SMALL (1 << RUN_MAX_SMALL_2POW) /******************************************************************************/ @@ -511,11 +508,6 @@ /* Bin this run is associated with. */ arena_bin_t *bin; - /* Bitmask of in-use regions (0: in use, 1: free). */ -#define REGS_MASK_NELMS \ - (1 << (RUN_MIN_REGS_2POW - SIZEOF_INT_2POW - 2)) - unsigned regs_mask[REGS_MASK_NELMS]; - /* Index of first element that might have a free region. */ unsigned regs_minelm; @@ -541,6 +533,9 @@ */ unsigned free_max; unsigned free_min; + + /* Bitmask of in-use regions (0: in use, 1: free). */ + unsigned regs_mask[1]; /* Dynamically sized. */ }; /* Used for run ring headers, where the run isn't actually used. */ @@ -608,6 +603,9 @@ /* Total number of regions in a run for this bin's size class. */ uint32_t nregs; + /* Number of elements in a run's regs_mask for this bin's size class. */ + uint32_t regs_mask_nelms; + /* Offset of first region in a run for this bin's size class. */ uint32_t reg0_offset; @@ -691,7 +689,6 @@ static unsigned nsbins; /* Number of (2^n)-spaced sub-page bins. */ static size_t small_min; static size_t small_max; -static unsigned tiny_min_2pow; /* Various quantum-related settings. */ static size_t quantum; @@ -840,7 +837,10 @@ static void malloc_mutex_init(malloc_mutex_t *a_mutex); static void wrtmessage(const char *p1, const char *p2, const char *p3, const char *p4); +#ifdef MALLOC_STATS static void malloc_printf(const char *format, ...); +#endif +static char *umax2s(uintmax_t x, char *s); static bool base_chunk_alloc(size_t minsize); static void *base_alloc(size_t size); static chunk_node_t *base_chunk_node_alloc(void); @@ -867,6 +867,7 @@ static void arena_run_dalloc(arena_t *arena, arena_run_t *run, size_t size); static arena_run_t *arena_bin_nonfull_run_get(arena_t *arena, arena_bin_t *bin); static void *arena_bin_malloc_hard(arena_t *arena, arena_bin_t *bin); +static size_t arena_bin_run_size_calc(arena_bin_t *bin, size_t min_run_size); static void *arena_malloc(arena_t *arena, size_t size); static size_t arena_salloc(const void *ptr); static void *arena_ralloc(void *ptr, size_t size, size_t oldsize); @@ -976,6 +977,7 @@ void (*_malloc_message)(const char *p1, const char *p2, const char *p3, const char *p4) = wrtmessage; +#ifdef MALLOC_STATS /* * Print to stderr in such a way as to (hopefully) avoid memory allocation. */ @@ -990,6 +992,33 @@ va_end(ap); _malloc_message(buf, "", "", ""); } +#endif + +/* + * We don't want to depend on vsnprintf() for production builds, since that can + * cause unnecessary bloat for static binaries. umax2s() provides minimal + * integer printing functionality, so that malloc_printf() use can be limited to + * MALLOC_STATS code. + */ +#define UMAX2S_BUFSIZE 21 +static char * +umax2s(uintmax_t x, char *s) +{ + unsigned i; + + /* Make sure UMAX2S_BUFSIZE is large enough. */ + assert(sizeof(uintmax_t) <= 8); + + i = UMAX2S_BUFSIZE - 1; + s[i] = '\0'; + do { + i--; + s[i] = "0123456789"[x % 10]; + x /= 10; + } while (x > 0); + + return (&s[i]); +} /******************************************************************************/ @@ -1231,8 +1260,8 @@ char buf[STRERROR_BUF]; strerror_r(errno, buf, sizeof(buf)); - malloc_printf("%s: (malloc) Error in munmap(): %s\n", - _getprogname(), buf); + _malloc_message(_getprogname(), + ": (malloc) Error in munmap(): ", buf, "\n"); if (opt_abort) abort(); } @@ -1252,8 +1281,8 @@ char buf[STRERROR_BUF]; strerror_r(errno, buf, sizeof(buf)); - malloc_printf("%s: (malloc) Error in munmap(): %s\n", - _getprogname(), buf); + _malloc_message(_getprogname(), + ": (malloc) Error in munmap(): ", buf, "\n"); if (opt_abort) abort(); } @@ -1616,7 +1645,7 @@ assert(run->magic == ARENA_RUN_MAGIC); - for (i = run->regs_minelm; i < REGS_MASK_NELMS; i++) { + for (i = run->regs_minelm; i < bin->regs_mask_nelms; i++) { mask = run->regs_mask[i]; if (mask != 0) { /* Usable allocation found. */ @@ -2205,16 +2234,15 @@ qr_new(run, link); run->bin = bin; - for (i = 0; i < (bin->nregs >> (SIZEOF_INT_2POW + 3)); i++) + for (i = 0; i < bin->regs_mask_nelms; i++) run->regs_mask[i] = UINT_MAX; remainder = bin->nregs % (1 << (SIZEOF_INT_2POW + 3)); if (remainder != 0) { + /* The last element has spare bits that need to be unset. */ run->regs_mask[i] = (UINT_MAX >> ((1 << (SIZEOF_INT_2POW + 3)) - remainder)); i++; } - for (; i < REGS_MASK_NELMS; i++) - run->regs_mask[i] = 0; run->regs_minelm = 0; @@ -2271,6 +2299,99 @@ return (arena_bin_malloc_easy(arena, bin, bin->runcur)); } +/* + * Calculate bin->run_size such that it meets the following constraints: + * + * *) bin->run_size >= min_run_size + * *) bin->run_size <= arena_maxclass + * *) bin->run_size <= RUN_MAX_SMALL + * *) run header overhead <= RUN_MAX_HDR_OVERHEAD + * + * bin->nregs, bin->regs_mask_nelms, and bin->reg0_offset are + * also calculated here, since these settings are all interdependent. + */ +static size_t +arena_bin_run_size_calc(arena_bin_t *bin, size_t min_run_size) +{ + size_t try_run_size, good_run_size; + uint32_t good_nregs, good_mask_nelms, good_reg0_offset; + uint32_t try_nregs, try_mask_nelms, try_reg0_offset; + float run_max_hdr_overhead = RUN_MAX_HDR_OVERHEAD; + + if (min_run_size < pagesize) + min_run_size = pagesize; + assert(min_run_size <= arena_maxclass); + assert(min_run_size <= RUN_MAX_SMALL); + + /* + * Make sure that the header overhead constraint allows a solution. If + * the maximum overhead is less than or equal to one bit per region, + * there is clearly no solution. + */ + while (run_max_hdr_overhead <= 1.0 / ((float)(bin->reg_size << 3))) + run_max_hdr_overhead *= 2.0; + + /* + * Calculate known-valid settings before entering the run_size + * expansion loop, so that the first part of the loop always copies + * valid settings. + * + * The do..while loop iteratively reduces the number of regions until + * the run header and the regions no longer overlap. A closed formula + * would be quite messy, since there is an interdependency between the + * header's mask length and the number of regions. + */ + try_run_size = min_run_size; + try_nregs = ((try_run_size - sizeof(arena_run_t)) / bin->reg_size) + + 1; /* Counter-act the first line of the loop. */ + do { + try_nregs--; + try_mask_nelms = (try_nregs >> (SIZEOF_INT_2POW + 3)) + + ((try_nregs & ((1 << (SIZEOF_INT_2POW + 3)) - 1)) ? 1 : 0); + try_reg0_offset = try_run_size - (try_nregs * bin->reg_size); + } while (sizeof(arena_run_t) + (sizeof(unsigned) * (try_mask_nelms - 1)) + > try_reg0_offset); + + /* run_size expansion loop. */ + do { + /* + * Copy valid settings before trying more aggressive settings. + */ + good_run_size = try_run_size; + good_nregs = try_nregs; + good_mask_nelms = try_mask_nelms; + good_reg0_offset = try_reg0_offset; + + /* Try more aggressive settings. */ + try_run_size <<= 1; + try_nregs = ((try_run_size - sizeof(arena_run_t)) / + bin->reg_size) + 1; /* Counter-act try_nregs-- in loop. */ + do { + try_nregs--; + try_mask_nelms = (try_nregs >> (SIZEOF_INT_2POW + 3)) + + ((try_nregs & ((1 << (SIZEOF_INT_2POW + 3)) - 1)) ? + 1 : 0); + try_reg0_offset = try_run_size - (try_nregs * + bin->reg_size); + } while (sizeof(arena_run_t) + (sizeof(unsigned) * + (try_mask_nelms - 1)) > try_reg0_offset); + } while (try_run_size <= arena_maxclass && try_run_size <= RUN_MAX_SMALL + && ((float)(try_reg0_offset)) / ((float)(try_run_size)) > + run_max_hdr_overhead); + + assert(sizeof(arena_run_t) + (sizeof(unsigned) * (good_mask_nelms - 1)) + <= good_reg0_offset); + assert((good_mask_nelms << (SIZEOF_INT_2POW + 3)) >= good_nregs); + + /* Copy final settings. */ + bin->run_size = good_run_size; + bin->nregs = good_nregs; + bin->regs_mask_nelms = good_mask_nelms; + bin->reg0_offset = good_reg0_offset; + + return (good_run_size); +} + static void * arena_malloc(arena_t *arena, size_t size) { @@ -2290,7 +2411,7 @@ if (size < small_min) { /* Tiny. */ size = pow2_ceil(size); - bin = &arena->bins[ffs((int)(size >> (tiny_min_2pow + + bin = &arena->bins[ffs((int)(size >> (TINY_MIN_2POW + 1)))]; #if (!defined(NDEBUG) || defined(MALLOC_STATS)) /* @@ -2298,8 +2419,8 @@ * to fix size for the purposes of assertions and/or * stats accuracy. */ - if (size < (1 << tiny_min_2pow)) - size = (1 << tiny_min_2pow); + if (size < (1 << TINY_MIN_2POW)) + size = (1 << TINY_MIN_2POW); #endif } else if (size <= small_max) { /* Quantum-spaced. */ @@ -2390,8 +2511,8 @@ /* Avoid moving the allocation if the size class would not change. */ if (size < small_min) { if (oldsize < small_min && - ffs((int)(pow2_ceil(size) >> (tiny_min_2pow + 1))) - == ffs((int)(pow2_ceil(oldsize) >> (tiny_min_2pow + 1)))) + ffs((int)(pow2_ceil(size) >> (TINY_MIN_2POW + 1))) + == ffs((int)(pow2_ceil(oldsize) >> (TINY_MIN_2POW + 1)))) goto IN_PLACE; } else if (size <= small_max) { if (oldsize >= small_min && oldsize <= small_max && @@ -2490,7 +2611,7 @@ { unsigned i; arena_bin_t *bin; - size_t pow2_size, run_size; + size_t pow2_size, prev_run_size; malloc_mutex_init(&arena->mtx); @@ -2503,6 +2624,7 @@ arena->spare = NULL; /* Initialize bins. */ + prev_run_size = pagesize; /* (2^n)-spaced tiny bins. */ for (i = 0; i < ntbins; i++) { @@ -2513,28 +2635,9 @@ qr_new(arena_bin_link(&bin->runs50), link); qr_new(arena_bin_link(&bin->runs75), link); - bin->reg_size = (1 << (tiny_min_2pow + i)); + bin->reg_size = (1 << (TINY_MIN_2POW + i)); - /* - * Calculate how large of a run to allocate. Make sure that at - * least RUN_MIN_REGS regions fit in the run. - */ - run_size = bin->reg_size << RUN_MIN_REGS_2POW; - if (run_size < pagesize) - run_size = pagesize; - if (run_size > (pagesize << RUN_MAX_PAGES_2POW)) - run_size = (pagesize << RUN_MAX_PAGES_2POW); - if (run_size > arena_maxclass) - run_size = arena_maxclass; - bin->run_size = run_size; - - assert(run_size >= sizeof(arena_run_t)); - bin->nregs = (run_size - sizeof(arena_run_t)) / bin->reg_size; - if (bin->nregs > (REGS_MASK_NELMS << (SIZEOF_INT_2POW + 3))) { - /* Take care not to overflow regs_mask. */ - bin->nregs = REGS_MASK_NELMS << (SIZEOF_INT_2POW + 3); - } - bin->reg0_offset = run_size - (bin->nregs * bin->reg_size); + prev_run_size = arena_bin_run_size_calc(bin, prev_run_size); #ifdef MALLOC_STATS memset(&bin->stats, 0, sizeof(malloc_bin_stats_t)); @@ -2552,23 +2655,8 @@ bin->reg_size = quantum * (i - ntbins + 1); - /* - * Calculate how large of a run to allocate. Make sure that at - * least RUN_MIN_REGS regions fit in the run. - */ pow2_size = pow2_ceil(quantum * (i - ntbins + 1)); - run_size = (pow2_size << RUN_MIN_REGS_2POW); - if (run_size < pagesize) - run_size = pagesize; - if (run_size > (pagesize << RUN_MAX_PAGES_2POW)) - run_size = (pagesize << RUN_MAX_PAGES_2POW); - if (run_size > arena_maxclass) - run_size = arena_maxclass; - bin->run_size = run_size; - - bin->nregs = (run_size - sizeof(arena_run_t)) / bin->reg_size; - assert(bin->nregs <= REGS_MASK_NELMS << (SIZEOF_INT_2POW + 3)); - bin->reg0_offset = run_size - (bin->nregs * bin->reg_size); + prev_run_size = arena_bin_run_size_calc(bin, prev_run_size); #ifdef MALLOC_STATS memset(&bin->stats, 0, sizeof(malloc_bin_stats_t)); @@ -2586,23 +2674,8 @@ bin->reg_size = (small_max << (i - (ntbins + nqbins) + 1)); - /* - * Calculate how large of a run to allocate. Make sure that at - * least RUN_MIN_REGS regions fit in the run. - */ - run_size = bin->reg_size << RUN_MIN_REGS_2POW; - if (run_size < pagesize) - run_size = pagesize; - if (run_size > (pagesize << RUN_MAX_PAGES_2POW)) - run_size = (pagesize << RUN_MAX_PAGES_2POW); - if (run_size > arena_maxclass) - run_size = arena_maxclass; - bin->run_size = run_size; + prev_run_size = arena_bin_run_size_calc(bin, prev_run_size); - bin->nregs = (run_size - sizeof(arena_run_t)) / bin->reg_size; - assert(bin->nregs <= REGS_MASK_NELMS << (SIZEOF_INT_2POW + 3)); - bin->reg0_offset = run_size - (bin->nregs * bin->reg_size); - #ifdef MALLOC_STATS memset(&bin->stats, 0, sizeof(malloc_bin_stats_t)); #endif @@ -2636,8 +2709,8 @@ * by using arenas[0]. In practice, this is an extremely unlikely * failure. */ - malloc_printf("%s: (malloc) Error initializing arena\n", - _getprogname()); + _malloc_message(_getprogname(), + ": (malloc) Error initializing arena\n", "", ""); if (opt_abort) abort(); @@ -3011,25 +3084,32 @@ { if (opt_print_stats) { - malloc_printf("___ Begin malloc statistics ___\n"); - malloc_printf("Number of CPUs: %u\n", ncpus); - malloc_printf("Number of arenas: %u\n", narenas); - malloc_printf("Chunk size: %zu (2^%zu)\n", chunk_size, - opt_chunk_2pow); - malloc_printf("Quantum size: %zu (2^%zu)\n", quantum, - opt_quantum_2pow); - malloc_printf("Max small size: %zu\n", small_max); - malloc_printf("Pointer size: %u\n", sizeof(void *)); - malloc_printf("Assertions %s\n", + char s[UMAX2S_BUFSIZE]; + _malloc_message("___ Begin malloc statistics ___\n", "", "", + ""); + _malloc_message("Number of CPUs: ", umax2s(ncpus, s), "\n", ""); + _malloc_message("Number of arenas: ", umax2s(narenas, s), "\n", + ""); + + _malloc_message("Chunk size: ", umax2s(chunk_size, s), "", ""); + _malloc_message(" (2^", umax2s(opt_chunk_2pow, s), ")\n", ""); + + _malloc_message("Quantum size: ", umax2s(quantum, s), "", ""); + _malloc_message(" (2^", umax2s(opt_quantum_2pow, s), ")\n", ""); + + _malloc_message("Max small size: ", umax2s(small_max, s), "\n", + ""); + _malloc_message("Pointer size: ", umax2s(sizeof(void *), s), + "\n", ""); + _malloc_message("Assertions ", #ifdef NDEBUG - "disabled" + "disabled", #else - "enabled" + "enabled", #endif - ); + "\n", ""); #ifdef MALLOC_STATS - { size_t allocated, total; unsigned i; @@ -3101,7 +3181,7 @@ } } #endif /* #ifdef MALLOC_STATS */ - malloc_printf("--- End malloc statistics ---\n"); + _malloc_message("--- End malloc statistics ---\n", "", "", ""); } } @@ -3302,10 +3382,15 @@ case 'Z': opt_zero = true; break; - default: - malloc_printf("%s: (malloc) Unsupported" - " character in malloc options: '%c'\n", - _getprogname(), opts[j]); + default: { + char cbuf[2]; + + cbuf[0] = opts[j]; + cbuf[1] = '\0'; + _malloc_message(_getprogname(), + ": (malloc) Unsupported character in " + "malloc options: '", cbuf, "'\n"); + } } } } @@ -3323,12 +3408,8 @@ /* Set bin-related variables. */ bin_maxclass = (pagesize >> 1); - if (pagesize_2pow > RUN_MIN_REGS_2POW + 1) - tiny_min_2pow = pagesize_2pow - (RUN_MIN_REGS_2POW + 1); - else - tiny_min_2pow = 1; - assert(opt_quantum_2pow >= tiny_min_2pow); - ntbins = opt_quantum_2pow - tiny_min_2pow; + assert(opt_quantum_2pow >= TINY_MIN_2POW); + ntbins = opt_quantum_2pow - TINY_MIN_2POW; assert(ntbins <= opt_quantum_2pow); nqbins = (small_max >> opt_quantum_2pow); nsbins = pagesize_2pow - opt_small_max_2pow - 1; @@ -3510,8 +3591,9 @@ RETURN: if (ret == NULL) { if (opt_xmalloc) { - malloc_printf("%s: (malloc) Error in malloc(%zu):" - " out of memory\n", _getprogname(), size); + _malloc_message(_getprogname(), + ": (malloc) Error in malloc(): out of memory\n", "", + ""); abort(); } errno = ENOMEM; @@ -3534,10 +3616,9 @@ if (((alignment - 1) & alignment) != 0 || alignment < sizeof(void *)) { if (opt_xmalloc) { - malloc_printf("%s: (malloc) Error in" - " posix_memalign(%zu, %zu):" - " invalid alignment\n", - _getprogname(), alignment, size); + _malloc_message(_getprogname(), + ": (malloc) Error in posix_memalign(): " + "invalid alignment\n", "", ""); abort(); } result = NULL; @@ -3550,9 +3631,9 @@ if (result == NULL) { if (opt_xmalloc) { - malloc_printf("%s: (malloc) Error in" - " posix_memalign(%zu, %zu): out of memory\n", - _getprogname(), alignment, size); + _malloc_message(_getprogname(), + ": (malloc) Error in posix_memalign(): out of memory\n", + "", ""); abort(); } ret = ENOMEM; @@ -3604,9 +3685,9 @@ RETURN: if (ret == NULL) { if (opt_xmalloc) { - malloc_printf("%s: (malloc) Error in" - " calloc(%zu, %zu): out of memory\n", - _getprogname(), num, size); + _malloc_message(_getprogname(), + ": (malloc) Error in calloc(): out of memory\n", "", + ""); abort(); } errno = ENOMEM; @@ -3639,9 +3720,9 @@ if (ret == NULL) { if (opt_xmalloc) { - malloc_printf("%s: (malloc) Error in" - " realloc(%p, %zu): out of memory\n", - _getprogname(), ptr, size); + _malloc_message(_getprogname(), + ": (malloc) Error in realloc(): out of " + "memory\n", "", ""); abort(); } errno = ENOMEM; @@ -3654,9 +3735,9 @@ if (ret == NULL) { if (opt_xmalloc) { - malloc_printf("%s: (malloc) Error in" - " realloc(%p, %zu): out of memory\n", - _getprogname(), ptr, size); + _malloc_message(_getprogname(), + ": (malloc) Error in realloc(): out of " + "memory\n", "", ""); abort(); } errno = ENOMEM; ==== //depot/projects/opentoe/lib/libelf/elf_data.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libelf/elf_data.c,v 1.1 2006/11/11 17:16:33 jkoshy Exp $"); +__FBSDID("$FreeBSD: src/lib/libelf/elf_data.c,v 1.2 2007/03/19 03:52:20 jkoshy Exp $"); #include #include @@ -203,9 +203,9 @@ sh_size = (uint64_t) s->s_shdr.s_shdr32.sh_size; sh_align = (uint64_t) s->s_shdr.s_shdr32.sh_addralign; } else { - sh_offset = s->s_shdr.s_shdr32.sh_offset; - sh_size = s->s_shdr.s_shdr32.sh_size; - sh_align = s->s_shdr.s_shdr32.sh_addralign; + sh_offset = s->s_shdr.s_shdr64.sh_offset; + sh_size = s->s_shdr.s_shdr64.sh_size; + sh_align = s->s_shdr.s_shdr64.sh_addralign; } if ((d = _libelf_allocate_data(s)) == NULL) ==== //depot/projects/opentoe/share/man/man4/acpi_thermal.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_thermal.4,v 1.10 2006/07/29 21:47:24 njl Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_thermal.4,v 1.11 2007/03/18 00:57:07 njl Exp $ .\" -.Dd July 29, 2006 +.Dd March 17, 2007 .Dt ACPI_THERMAL 4 .Os .Sh NAME @@ -97,9 +97,12 @@ .El .Pp All temperatures are printed in Celsius. +Values can be set in Celsius (by providing a trailing +.Qq C ) +or Kelvin (by leaving off any trailing letter). When setting a value by .Xr sysctl 8 , -do not specify a trailing decimal (i.e., 90 instead of 90.0C). +do not specify a trailing decimal (i.e., 90C instead of 90.0C). .Sh NOTIFIES Notifies are passed to userland via .Xr devd 8 . ==== //depot/projects/opentoe/share/man/man4/ip.4#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ip.4 8.2 (Berkeley) 11/30/93 -.\" $FreeBSD: src/share/man/man4/ip.4,v 1.47 2006/05/14 14:13:30 bms Exp $ +.\" $FreeBSD: src/share/man/man4/ip.4,v 1.48 2007/03/18 15:31:06 bms Exp $ .\" -.Dd May 14, 2006 +.Dd March 18, 2007 .Dt IP 4 .Os .Sh NAME @@ -199,6 +199,7 @@ .Xr recvmsg 2 can be used directly as a control message for .Xr sendmsg 2 . +.\" .Pp If the .Dv IP_ONESBCAST @@ -262,6 +263,7 @@ cmsg_level = IPPROTO_IP cmsg_type = IP_RECVTTL .Ed +.\" .Pp If the .Dv IP_RECVIF @@ -480,6 +482,8 @@ .Tn IP address of a particular multicast-capable interface if the host is multihomed. +.\" TODO: Remove this piece when the RFC 3678 API is implemented and +.\" the RFC 1724 hack is removed. Since .Fx 4.4 , if the @@ -488,13 +492,22 @@ .Li 0.0.0.0/8 , it is treated as an interface index in the system interface MIB, as per the RIP Version 2 MIB Extension (RFC-1724). +.\" TODO: Update this piece when IPv4 source-address selection is implemented. .Pp +Up to +.Dv IP_MAX_MEMBERSHIPS +memberships may be added on a single socket. Membership is associated with a single interface; programs running on multihomed hosts may need to join the same group on more than one interface. -Up to -.Dv IP_MAX_MEMBERSHIPS -memberships may be added on a single socket. +.Pp +The IGMP protocol uses the primary IP address of the interface +as its identifier for group membership. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 21 18:19:34 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C92316A406; Wed, 21 Mar 2007 18:19:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 16A6B16A404 for ; Wed, 21 Mar 2007 18:19:34 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 01BDC13C487 for ; Wed, 21 Mar 2007 18:19:34 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2LIJXfb078311 for ; Wed, 21 Mar 2007 18:19:33 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2LIIN1j078262 for perforce@freebsd.org; Wed, 21 Mar 2007 18:18:23 GMT (envelope-from marcel@freebsd.org) Date: Wed, 21 Mar 2007 18:18:23 GMT Message-Id: <200703211818.l2LIIN1j078262@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 116262 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2007 18:19:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=116262 Change 116262 by marcel@marcel_jnpr on 2007/03/21 18:17:47 IFC @116257 Affected files ... .. //depot/projects/uart/Makefile#10 integrate .. //depot/projects/uart/amd64/acpica/madt.c#7 integrate .. //depot/projects/uart/amd64/amd64/apic_vector.S#8 integrate .. //depot/projects/uart/amd64/amd64/busdma_machdep.c#17 integrate .. //depot/projects/uart/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/uart/amd64/amd64/exception.S#9 integrate .. //depot/projects/uart/amd64/amd64/genassym.c#9 integrate .. //depot/projects/uart/amd64/amd64/identcpu.c#12 integrate .. //depot/projects/uart/amd64/amd64/intr_machdep.c#12 integrate .. //depot/projects/uart/amd64/amd64/io_apic.c#11 integrate .. //depot/projects/uart/amd64/amd64/legacy.c#5 integrate .. //depot/projects/uart/amd64/amd64/local_apic.c#13 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#25 integrate .. //depot/projects/uart/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/uart/amd64/amd64/mp_machdep.c#19 integrate .. //depot/projects/uart/amd64/amd64/mptable.c#6 integrate .. //depot/projects/uart/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/uart/amd64/amd64/msi.c#3 integrate .. //depot/projects/uart/amd64/amd64/nexus.c#10 integrate .. //depot/projects/uart/amd64/amd64/pmap.c#44 integrate .. //depot/projects/uart/amd64/amd64/trap.c#16 integrate .. //depot/projects/uart/amd64/amd64/uma_machdep.c#3 integrate .. //depot/projects/uart/amd64/conf/GENERIC#26 integrate .. //depot/projects/uart/amd64/ia32/ia32_exception.S#3 integrate .. //depot/projects/uart/amd64/ia32/ia32_syscall.c#10 integrate .. //depot/projects/uart/amd64/include/apicvar.h#11 integrate .. //depot/projects/uart/amd64/include/atomic.h#6 integrate .. //depot/projects/uart/amd64/include/clock.h#9 integrate .. //depot/projects/uart/amd64/include/gdb_machdep.h#4 integrate .. //depot/projects/uart/amd64/include/intr_machdep.h#6 integrate .. //depot/projects/uart/amd64/include/md_var.h#8 integrate .. //depot/projects/uart/amd64/include/pcpu.h#4 integrate .. //depot/projects/uart/amd64/include/pmap.h#14 integrate .. //depot/projects/uart/amd64/include/setjmp.h#2 integrate .. //depot/projects/uart/amd64/include/smp.h#10 integrate .. //depot/projects/uart/amd64/include/specialreg.h#7 integrate .. //depot/projects/uart/amd64/isa/atpic.c#6 integrate .. //depot/projects/uart/amd64/isa/atpic_vector.S#4 integrate .. //depot/projects/uart/amd64/isa/clock.c#12 integrate .. //depot/projects/uart/amd64/isa/icu.h#4 integrate .. //depot/projects/uart/amd64/isa/isa.c#6 integrate .. //depot/projects/uart/amd64/linux32/linux.h#5 integrate .. //depot/projects/uart/amd64/linux32/linux32_dummy.c#6 integrate .. //depot/projects/uart/amd64/linux32/linux32_machdep.c#9 integrate .. //depot/projects/uart/amd64/linux32/linux32_proto.h#12 integrate .. //depot/projects/uart/amd64/linux32/linux32_syscall.h#12 integrate .. //depot/projects/uart/amd64/linux32/linux32_sysent.c#12 integrate .. //depot/projects/uart/amd64/linux32/linux32_sysvec.c#13 integrate .. //depot/projects/uart/amd64/linux32/syscalls.master#12 integrate .. //depot/projects/uart/amd64/pci/pci_bus.c#13 integrate .. //depot/projects/uart/arm/arm/busdma_machdep.c#12 integrate .. //depot/projects/uart/arm/arm/cpufunc.c#9 integrate .. //depot/projects/uart/arm/arm/cpufunc_asm_arm9.S#5 integrate .. //depot/projects/uart/arm/arm/db_interface.c#5 integrate .. //depot/projects/uart/arm/arm/elf_trampoline.c#9 integrate .. //depot/projects/uart/arm/arm/genassym.c#7 integrate .. //depot/projects/uart/arm/arm/identcpu.c#9 integrate .. //depot/projects/uart/arm/arm/intr.c#10 integrate .. //depot/projects/uart/arm/arm/locore.S#9 integrate .. //depot/projects/uart/arm/arm/machdep.c#11 integrate .. //depot/projects/uart/arm/arm/mem.c#4 integrate .. //depot/projects/uart/arm/arm/nexus.c#8 integrate .. //depot/projects/uart/arm/arm/nexus_io.c#4 integrate .. //depot/projects/uart/arm/arm/pmap.c#21 integrate .. //depot/projects/uart/arm/arm/support.S#6 integrate .. //depot/projects/uart/arm/arm/sys_machdep.c#3 integrate .. //depot/projects/uart/arm/arm/trap.c#15 integrate .. //depot/projects/uart/arm/arm/vm_machdep.c#15 integrate .. //depot/projects/uart/arm/at91/at91.c#7 integrate .. //depot/projects/uart/arm/at91/at91_mci.c#2 integrate .. //depot/projects/uart/arm/at91/at91_pio.c#4 integrate .. //depot/projects/uart/arm/at91/at91_pioreg.h#2 integrate .. //depot/projects/uart/arm/at91/at91_pmc.c#4 integrate .. //depot/projects/uart/arm/at91/at91_rtc.c#3 integrate .. //depot/projects/uart/arm/at91/at91_spi.c#4 integrate .. //depot/projects/uart/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/uart/arm/at91/at91_ssc.c#4 integrate .. //depot/projects/uart/arm/at91/at91_st.c#6 integrate .. //depot/projects/uart/arm/at91/at91_twi.c#6 integrate .. //depot/projects/uart/arm/at91/files.at91#5 integrate .. //depot/projects/uart/arm/at91/if_ate.c#9 integrate .. //depot/projects/uart/arm/at91/kb920x_machdep.c#8 integrate .. //depot/projects/uart/arm/at91/ohci_atmelarm.c#2 integrate .. //depot/projects/uart/arm/at91/uart_dev_at91usart.c#8 integrate .. //depot/projects/uart/arm/conf/AVILA#1 branch .. //depot/projects/uart/arm/conf/BWCT#1 branch .. //depot/projects/uart/arm/conf/BWCT.hints#1 branch .. //depot/projects/uart/arm/conf/EP80219#3 integrate .. //depot/projects/uart/arm/conf/IQ31244#12 integrate .. //depot/projects/uart/arm/conf/SIMICS#9 integrate .. //depot/projects/uart/arm/include/atomic.h#11 integrate .. //depot/projects/uart/arm/include/bootconfig.h#3 integrate .. //depot/projects/uart/arm/include/bus.h#6 integrate .. //depot/projects/uart/arm/include/bus_dma.h#2 integrate .. //depot/projects/uart/arm/include/cpuconf.h#9 integrate .. //depot/projects/uart/arm/include/cpufunc.h#9 integrate .. //depot/projects/uart/arm/include/intr.h#5 integrate .. //depot/projects/uart/arm/include/md_var.h#3 integrate .. //depot/projects/uart/arm/include/pcpu.h#4 integrate .. //depot/projects/uart/arm/include/pmap.h#15 integrate .. //depot/projects/uart/arm/include/undefined.h#3 integrate .. //depot/projects/uart/arm/sa11x0/assabet_machdep.c#12 integrate .. //depot/projects/uart/arm/sa11x0/sa11x0.c#5 integrate .. //depot/projects/uart/arm/sa11x0/sa11x0_io.c#7 integrate .. //depot/projects/uart/arm/sa11x0/sa11x0_ost.c#5 integrate .. //depot/projects/uart/arm/sa11x0/uart_dev_sa1110.c#6 integrate .. //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/uart/arm/xscale/i80321/i80321_pci.c#9 integrate .. //depot/projects/uart/arm/xscale/i80321/i80321_space.c#6 integrate .. //depot/projects/uart/arm/xscale/i80321/i80321_timer.c#9 integrate .. //depot/projects/uart/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#17 integrate .. //depot/projects/uart/arm/xscale/i80321/iq80321.c#12 integrate .. //depot/projects/uart/arm/xscale/i80321/obio_space.c#4 integrate .. //depot/projects/uart/arm/xscale/ixp425/avila_ata.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/avila_led.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/avila_machdep.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/files.avila#1 branch .. //depot/projects/uart/arm/xscale/ixp425/files.ixp425#1 branch .. //depot/projects/uart/arm/xscale/ixp425/if_npe.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/if_npereg.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixdp425_pci.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixdp425reg.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_iic.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_intr.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_mem.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_npe.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_npevar.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_pci.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_pci_space.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_qmgr.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_qmgr.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_space.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_timer.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425_wdog.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425reg.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/ixp425var.h#1 branch .. //depot/projects/uart/arm/xscale/ixp425/std.avila#1 branch .. //depot/projects/uart/arm/xscale/ixp425/std.ixp425#1 branch .. //depot/projects/uart/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch .. //depot/projects/uart/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch .. //depot/projects/uart/boot/arm/at91/Makefile.inc#5 integrate .. //depot/projects/uart/boot/arm/at91/boot0spi/main.c#5 integrate .. //depot/projects/uart/boot/arm/at91/bootspi/loader_prompt.c#3 integrate .. //depot/projects/uart/boot/arm/at91/libat91/Makefile#5 integrate .. //depot/projects/uart/boot/arm/at91/libat91/arm_init.S#2 integrate .. //depot/projects/uart/boot/arm/at91/libat91/at91rm9200_lowlevel.h#4 integrate .. //depot/projects/uart/boot/arm/at91/libat91/eeprom.c#3 integrate .. //depot/projects/uart/boot/arm/at91/libat91/emac.c#4 integrate .. //depot/projects/uart/boot/arm/at91/libat91/emac_init.c#3 integrate .. //depot/projects/uart/boot/arm/at91/libat91/lib.h#4 integrate .. //depot/projects/uart/boot/arm/at91/libat91/spi_flash.c#3 integrate .. //depot/projects/uart/boot/arm/at91/libat91/spi_flash.h#2 integrate .. //depot/projects/uart/boot/common/bootstrap.h#5 integrate .. //depot/projects/uart/boot/common/loader.8#12 integrate .. //depot/projects/uart/boot/common/pnp.c#3 integrate .. //depot/projects/uart/boot/common/pnpdata#2 delete .. //depot/projects/uart/boot/forth/loader.conf#13 integrate .. //depot/projects/uart/boot/i386/btx/btx/btx.S#4 integrate .. //depot/projects/uart/boot/i386/cdboot/cdboot.s#4 integrate .. //depot/projects/uart/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/uart/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/uart/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/uart/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/uart/boot/sparc64/loader/hcall.S#2 delete .. //depot/projects/uart/boot/sparc64/loader/main.c#6 integrate .. //depot/projects/uart/bsm/audit.h#6 integrate .. //depot/projects/uart/bsm/audit_internal.h#4 integrate .. //depot/projects/uart/bsm/audit_kevents.h#6 integrate .. //depot/projects/uart/bsm/audit_record.h#5 integrate .. //depot/projects/uart/cam/cam_ccb.h#9 integrate .. //depot/projects/uart/cam/cam_periph.c#12 integrate .. //depot/projects/uart/cam/cam_xpt.c#16 integrate .. //depot/projects/uart/cam/cam_xpt.h#3 integrate .. //depot/projects/uart/cam/scsi/scsi_all.h#6 integrate .. //depot/projects/uart/cam/scsi/scsi_cd.c#14 integrate .. //depot/projects/uart/cam/scsi/scsi_ch.c#5 integrate .. //depot/projects/uart/cam/scsi/scsi_da.c#22 integrate .. //depot/projects/uart/cam/scsi/scsi_pass.c#6 integrate .. //depot/projects/uart/cam/scsi/scsi_pt.c#4 integrate .. //depot/projects/uart/cam/scsi/scsi_sa.c#8 integrate .. //depot/projects/uart/cam/scsi/scsi_ses.c#6 integrate .. //depot/projects/uart/cam/scsi/scsi_targ_bh.c#6 integrate .. //depot/projects/uart/cam/scsi/scsi_target.c#10 integrate .. //depot/projects/uart/coda/coda_vfsops.h#5 integrate .. //depot/projects/uart/coda/coda_vnops.c#13 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_misc.c#18 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_proto.h#19 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_syscall.h#19 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_syscalls.c#19 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_sysent.c#19 integrate .. //depot/projects/uart/compat/freebsd32/syscalls.master#18 integrate .. //depot/projects/uart/compat/linprocfs/linprocfs.c#22 integrate .. //depot/projects/uart/compat/linsysfs/linsysfs.c#2 integrate .. //depot/projects/uart/compat/linux/linux_emul.c#4 integrate .. //depot/projects/uart/compat/linux/linux_emul.h#3 integrate .. //depot/projects/uart/compat/linux/linux_file.c#11 integrate .. //depot/projects/uart/compat/linux/linux_futex.c#2 integrate .. //depot/projects/uart/compat/linux/linux_futex.h#2 integrate .. //depot/projects/uart/compat/linux/linux_ipc.c#10 integrate .. //depot/projects/uart/compat/linux/linux_ipc.h#3 integrate .. //depot/projects/uart/compat/linux/linux_mib.c#6 integrate .. //depot/projects/uart/compat/linux/linux_mib.h#3 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#21 integrate .. //depot/projects/uart/compat/linux/linux_misc.h#2 integrate .. //depot/projects/uart/compat/linux/linux_signal.c#10 integrate .. //depot/projects/uart/compat/linux/linux_socket.c#15 integrate .. //depot/projects/uart/compat/linux/linux_stats.c#14 integrate .. //depot/projects/uart/compat/linux/linux_time.c#2 integrate .. //depot/projects/uart/compat/linux/linux_uid16.c#6 integrate .. //depot/projects/uart/compat/linux/linux_util.c#7 integrate .. //depot/projects/uart/compat/ndis/kern_ndis.c#9 integrate .. //depot/projects/uart/compat/ndis/subr_ntoskrnl.c#10 integrate .. //depot/projects/uart/conf/NOTES#46 integrate .. //depot/projects/uart/conf/files#78 integrate .. //depot/projects/uart/conf/files.amd64#27 integrate .. //depot/projects/uart/conf/files.arm#9 integrate .. //depot/projects/uart/conf/files.i386#33 integrate .. //depot/projects/uart/conf/files.pc98#27 integrate .. //depot/projects/uart/conf/files.powerpc#14 integrate .. //depot/projects/uart/conf/files.sparc64#17 integrate .. //depot/projects/uart/conf/files.sun4v#4 integrate .. //depot/projects/uart/conf/kern.mk#9 integrate .. //depot/projects/uart/conf/kern.post.mk#18 integrate .. //depot/projects/uart/conf/kmod.mk#25 integrate .. //depot/projects/uart/conf/options#43 integrate .. //depot/projects/uart/conf/options.arm#11 integrate .. //depot/projects/uart/conf/options.sun4v#2 integrate .. //depot/projects/uart/contrib/dev/ath/ah.h#7 integrate .. //depot/projects/uart/contrib/dev/ath/ah_desc.h#5 integrate .. //depot/projects/uart/contrib/dev/ath/ah_devid.h#6 integrate .. //depot/projects/uart/contrib/dev/ath/public/alpha-elf.hal.o.uu#3 integrate .. //depot/projects/uart/contrib/dev/ath/public/alpha-elf.inc#2 integrate .. //depot/projects/uart/contrib/dev/ath/public/ap30.hal.o.uu#2 integrate .. //depot/projects/uart/contrib/dev/ath/public/ap43.hal.o.uu#2 integrate .. //depot/projects/uart/contrib/dev/ath/public/ap51.hal.o.uu#2 integrate .. //depot/projects/uart/contrib/dev/ath/public/ap61.hal.o.uu#2 integrate .. //depot/projects/uart/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/arm9-le-thumb-elf.inc#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/armv4-be-elf.inc#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/armv4-le-elf.inc#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/i386-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/mips-be-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/mips-le-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#3 integrate .. //depot/projects/uart/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#2 integrate .. //depot/projects/uart/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#3 integrate .. //depot/projects/uart/contrib/dev/ath/public/wackelf.c#1 branch .. //depot/projects/uart/contrib/dev/ath/public/x86_64-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/xscale-be-elf.inc#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#4 integrate .. //depot/projects/uart/contrib/dev/ath/public/xscale-le-elf.inc#4 integrate .. //depot/projects/uart/contrib/dev/ath/version.h#7 integrate .. //depot/projects/uart/contrib/dev/ipw/LICENSE#1 branch .. //depot/projects/uart/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/iwi/LICENSE#1 branch .. //depot/projects/uart/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/oltr/if_oltr.c#9 integrate .. //depot/projects/uart/contrib/ipfilter/netinet/ip_state.c#7 integrate .. //depot/projects/uart/contrib/pf/net/if_pfsync.c#10 integrate .. //depot/projects/uart/contrib/pf/net/if_pfsync.h#4 integrate .. //depot/projects/uart/contrib/pf/net/pf.c#12 integrate .. //depot/projects/uart/contrib/pf/net/pf_ioctl.c#11 integrate .. //depot/projects/uart/crypto/via/padlock.c#6 integrate .. //depot/projects/uart/ddb/db_command.c#13 integrate .. //depot/projects/uart/ddb/db_ps.c#14 integrate .. //depot/projects/uart/ddb/db_thread.c#7 integrate .. //depot/projects/uart/dev/aac/aac.c#18 integrate .. //depot/projects/uart/dev/aac/aac_cam.c#10 integrate .. //depot/projects/uart/dev/aac/aac_linux.c#4 integrate .. //depot/projects/uart/dev/aac/aac_pci.c#15 integrate .. //depot/projects/uart/dev/aac/aacvar.h#6 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdDebug.c#5 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdInterrupt.c#6 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdSchedule.c#12 integrate .. //depot/projects/uart/dev/acpica/acpi.c#26 integrate .. //depot/projects/uart/dev/acpica/acpi_battery.c#8 integrate .. //depot/projects/uart/dev/acpica/acpi_cpu.c#9 integrate .. //depot/projects/uart/dev/acpica/acpi_ec.c#16 integrate .. //depot/projects/uart/dev/acpica/acpi_package.c#6 integrate .. //depot/projects/uart/dev/acpica/acpi_pcib_acpi.c#12 integrate .. //depot/projects/uart/dev/acpica/acpi_pcib_pci.c#10 integrate .. //depot/projects/uart/dev/acpica/acpi_perf.c#5 integrate .. //depot/projects/uart/dev/acpica/acpi_thermal.c#12 integrate .. //depot/projects/uart/dev/acpica/acpi_throttle.c#5 integrate .. //depot/projects/uart/dev/acpica/acpivar.h#14 integrate .. //depot/projects/uart/dev/adlink/adlink.c#9 integrate .. //depot/projects/uart/dev/advansys/adv_eisa.c#8 integrate .. //depot/projects/uart/dev/advansys/adv_isa.c#8 integrate .. //depot/projects/uart/dev/advansys/adv_pci.c#12 integrate .. //depot/projects/uart/dev/advansys/advansys.c#8 integrate .. //depot/projects/uart/dev/advansys/adw_pci.c#11 integrate .. //depot/projects/uart/dev/advansys/adwcam.c#8 integrate .. //depot/projects/uart/dev/aha/aha.c#9 integrate .. //depot/projects/uart/dev/aha/aha_isa.c#10 integrate .. //depot/projects/uart/dev/aha/aha_mca.c#7 integrate .. //depot/projects/uart/dev/ahb/ahb.c#9 integrate .. //depot/projects/uart/dev/aic/aic_cbus.c#5 integrate .. //depot/projects/uart/dev/aic/aic_isa.c#5 integrate .. //depot/projects/uart/dev/aic/aic_pccard.c#8 integrate .. //depot/projects/uart/dev/aic7xxx/aic79xx.h#6 integrate .. //depot/projects/uart/dev/aic7xxx/aic79xx.seq#4 integrate .. //depot/projects/uart/dev/aic7xxx/aic79xx_osm.c#9 integrate .. //depot/projects/uart/dev/aic7xxx/aic79xx_pci.c#8 integrate .. //depot/projects/uart/dev/aic7xxx/aic7xxx.seq#4 integrate .. //depot/projects/uart/dev/aic7xxx/aic7xxx_osm.c#8 integrate .. //depot/projects/uart/dev/aic7xxx/aicasm/aicasm_gram.y#3 integrate .. //depot/projects/uart/dev/aic7xxx/aicasm/aicasm_macro_gram.y#3 integrate .. //depot/projects/uart/dev/amd/amd.c#11 integrate .. //depot/projects/uart/dev/amr/amr_pci.c#15 integrate .. //depot/projects/uart/dev/an/if_an_isa.c#6 integrate .. //depot/projects/uart/dev/an/if_an_pccard.c#8 integrate .. //depot/projects/uart/dev/an/if_an_pci.c#9 integrate .. //depot/projects/uart/dev/ar/if_ar.c#9 integrate .. //depot/projects/uart/dev/arcmsr/arcmsr.c#6 integrate .. //depot/projects/uart/dev/arcmsr/arcmsr.h#2 integrate .. //depot/projects/uart/dev/arl/if_arl.c#6 integrate .. //depot/projects/uart/dev/arl/if_arl_isa.c#5 integrate .. //depot/projects/uart/dev/asr/asr.c#14 integrate .. //depot/projects/uart/dev/ata/ata-all.c#25 integrate .. //depot/projects/uart/dev/ata/ata-all.h#16 integrate .. //depot/projects/uart/dev/ata/ata-card.c#12 integrate .. //depot/projects/uart/dev/ata/ata-cbus.c#7 integrate .. //depot/projects/uart/dev/ata/ata-chipset.c#25 integrate .. //depot/projects/uart/dev/ata/ata-disk.c#17 integrate .. //depot/projects/uart/dev/ata/ata-disk.h#6 integrate .. //depot/projects/uart/dev/ata/ata-dma.c#13 integrate .. //depot/projects/uart/dev/ata/ata-isa.c#7 integrate .. //depot/projects/uart/dev/ata/ata-lowlevel.c#21 integrate .. //depot/projects/uart/dev/ata/ata-pci.c#15 integrate .. //depot/projects/uart/dev/ata/ata-pci.h#18 integrate .. //depot/projects/uart/dev/ata/ata-queue.c#20 integrate .. //depot/projects/uart/dev/ata/ata-raid.c#15 integrate .. //depot/projects/uart/dev/ata/ata-raid.h#10 integrate .. //depot/projects/uart/dev/ata/ata-usb.c#5 integrate .. //depot/projects/uart/dev/ata/atapi-cam.c#13 integrate .. //depot/projects/uart/dev/ata/atapi-cd.c#21 integrate .. //depot/projects/uart/dev/ata/atapi-cd.h#9 integrate .. //depot/projects/uart/dev/ata/atapi-fd.c#12 integrate .. //depot/projects/uart/dev/ata/atapi-fd.h#7 integrate .. //depot/projects/uart/dev/ata/atapi-tape.c#9 integrate .. //depot/projects/uart/dev/ata/atapi-tape.h#6 integrate .. //depot/projects/uart/dev/ath/ath_rate/amrr/amrr.c#6 integrate .. //depot/projects/uart/dev/ath/ath_rate/onoe/onoe.c#6 integrate .. //depot/projects/uart/dev/ath/ath_rate/sample/sample.c#8 integrate .. //depot/projects/uart/dev/ath/ath_rate/sample/sample.h#4 integrate .. //depot/projects/uart/dev/ath/if_ath.c#35 integrate .. //depot/projects/uart/dev/ath/if_ath_pci.c#11 integrate .. //depot/projects/uart/dev/ath/if_athrate.h#3 integrate .. //depot/projects/uart/dev/ath/if_athvar.h#24 integrate .. //depot/projects/uart/dev/atkbdc/atkbd_atkbdc.c#2 integrate .. //depot/projects/uart/dev/atkbdc/psm.c#5 integrate .. //depot/projects/uart/dev/awi/awivar.h#5 integrate .. //depot/projects/uart/dev/awi/if_awi_pccard.c#8 integrate .. //depot/projects/uart/dev/bce/if_bce.c#7 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#8 integrate .. //depot/projects/uart/dev/bfe/if_bfe.c#16 integrate .. //depot/projects/uart/dev/bge/if_bge.c#32 integrate .. //depot/projects/uart/dev/bge/if_bgereg.h#21 integrate .. //depot/projects/uart/dev/bktr/bktr_i2c.c#8 integrate .. //depot/projects/uart/dev/bktr/bktr_os.c#12 integrate .. //depot/projects/uart/dev/buslogic/bt.c#9 integrate .. //depot/projects/uart/dev/buslogic/bt_eisa.c#7 integrate .. //depot/projects/uart/dev/buslogic/bt_isa.c#7 integrate .. //depot/projects/uart/dev/buslogic/bt_mca.c#5 integrate .. //depot/projects/uart/dev/buslogic/bt_pci.c#8 integrate .. //depot/projects/uart/dev/cardbus/cardbus.c#12 integrate .. //depot/projects/uart/dev/ce/if_ce.c#4 integrate .. //depot/projects/uart/dev/ciss/ciss.c#19 integrate .. //depot/projects/uart/dev/cm/if_cm_isa.c#7 integrate .. //depot/projects/uart/dev/cm/smc90cx6.c#6 integrate .. //depot/projects/uart/dev/cnw/if_cnw.c#9 integrate .. //depot/projects/uart/dev/cp/if_cp.c#7 integrate .. //depot/projects/uart/dev/cs/if_cs_isa.c#5 integrate .. //depot/projects/uart/dev/cs/if_cs_pccard.c#8 integrate .. //depot/projects/uart/dev/ct/ct_isa.c#7 integrate .. //depot/projects/uart/dev/ctau/if_ct.c#8 integrate .. //depot/projects/uart/dev/cx/if_cx.c#7 integrate .. //depot/projects/uart/dev/cxgb/common/cxgb_ael1002.c#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_common.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_firmware_exports.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_mc5.c#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_mv88e1xxx.c#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_regs.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_sge_defs.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_t3_cpl.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_t3_hw.c#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_tcb.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_version.h#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_vsc8211.c#1 branch .. //depot/projects/uart/dev/cxgb/common/cxgb_xgmac.c#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_adapter.h#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_config.h#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_ioctl.h#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_lro.c#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_main.c#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_osdep.h#1 branch .. //depot/projects/uart/dev/cxgb/cxgb_sge.c#1 branch .. //depot/projects/uart/dev/cxgb/t3fw-3.2.bin.gz.uu#1 branch .. //depot/projects/uart/dev/cy/cy.c#3 integrate .. //depot/projects/uart/dev/cy/cy_isa.c#2 integrate .. //depot/projects/uart/dev/cy/cy_pci.c#4 integrate .. //depot/projects/uart/dev/cy/cyvar.h#2 integrate .. //depot/projects/uart/dev/dc/if_dc.c#10 integrate .. //depot/projects/uart/dev/dc/if_dcreg.h#6 integrate .. //depot/projects/uart/dev/de/if_de.c#4 integrate .. //depot/projects/uart/dev/dpt/dpt.h#4 integrate .. //depot/projects/uart/dev/dpt/dpt_eisa.c#6 integrate .. //depot/projects/uart/dev/dpt/dpt_isa.c#6 integrate .. //depot/projects/uart/dev/dpt/dpt_pci.c#9 integrate .. //depot/projects/uart/dev/dpt/dpt_scsi.c#10 integrate .. //depot/projects/uart/dev/drm/drm_agpsupport.c#6 integrate .. //depot/projects/uart/dev/drm/drm_irq.c#3 integrate .. //depot/projects/uart/dev/ed/if_ed.c#14 integrate .. //depot/projects/uart/dev/ed/if_ed_cbus.c#13 integrate .. //depot/projects/uart/dev/ed/if_ed_isa.c#10 integrate .. //depot/projects/uart/dev/ed/if_ed_pccard.c#14 integrate .. //depot/projects/uart/dev/ed/if_ed_pci.c#10 integrate .. //depot/projects/uart/dev/em/if_em.c#27 integrate .. //depot/projects/uart/dev/em/if_em.h#23 integrate .. //depot/projects/uart/dev/en/if_en_pci.c#11 integrate .. //depot/projects/uart/dev/en/midway.c#12 integrate .. //depot/projects/uart/dev/ep/if_ep.c#14 integrate .. //depot/projects/uart/dev/ep/if_ep_eisa.c#9 integrate .. //depot/projects/uart/dev/ep/if_ep_isa.c#10 integrate .. //depot/projects/uart/dev/ep/if_ep_mca.c#7 integrate .. //depot/projects/uart/dev/ep/if_ep_pccard.c#11 integrate .. //depot/projects/uart/dev/esp/esp_sbus.c#5 integrate .. //depot/projects/uart/dev/ex/if_ex_isa.c#5 integrate .. //depot/projects/uart/dev/ex/if_ex_pccard.c#7 integrate .. //depot/projects/uart/dev/exca/exca.c#13 integrate .. //depot/projects/uart/dev/fatm/if_fatm.c#15 integrate .. //depot/projects/uart/dev/fb/boot_font.c#7 integrate .. //depot/projects/uart/dev/fb/creator.c#7 integrate .. //depot/projects/uart/dev/fb/creatorreg.h#1 branch .. //depot/projects/uart/dev/fb/fbreg.h#6 integrate .. //depot/projects/uart/dev/fb/gallant12x22.c#1 branch .. //depot/projects/uart/dev/fb/gfb.c#7 delete .. //depot/projects/uart/dev/fb/gfb.h#4 integrate .. //depot/projects/uart/dev/fdc/fdc.c#15 integrate .. //depot/projects/uart/dev/fe/if_fe.c#10 integrate .. //depot/projects/uart/dev/firewire/firewire.c#12 integrate .. //depot/projects/uart/dev/firewire/firewirereg.h#8 integrate .. //depot/projects/uart/dev/firewire/fwdev.c#10 integrate .. //depot/projects/uart/dev/firewire/fwmem.c#8 integrate .. //depot/projects/uart/dev/firewire/fwohci.c#14 integrate .. //depot/projects/uart/dev/firewire/fwohci_pci.c#14 integrate .. //depot/projects/uart/dev/firewire/fwohcivar.h#4 integrate .. //depot/projects/uart/dev/firewire/if_fwe.c#11 integrate .. //depot/projects/uart/dev/firewire/if_fwip.c#5 integrate .. //depot/projects/uart/dev/firewire/sbp.c#15 integrate .. //depot/projects/uart/dev/firewire/sbp_targ.c#4 integrate .. //depot/projects/uart/dev/flash/at45d.c#1 branch .. //depot/projects/uart/dev/fxp/if_fxp.c#26 integrate .. //depot/projects/uart/dev/fxp/if_fxpvar.h#9 integrate .. //depot/projects/uart/dev/gem/if_gem.c#10 integrate .. //depot/projects/uart/dev/gem/if_gem_pci.c#9 integrate .. //depot/projects/uart/dev/gem/if_gemvar.h#4 integrate .. //depot/projects/uart/dev/gfb/gfb_pci.c#9 delete .. //depot/projects/uart/dev/gfb/gfb_pci.h#3 delete .. //depot/projects/uart/dev/hatm/if_hatm.c#14 integrate .. //depot/projects/uart/dev/hfa/hfa_pci.c#5 integrate .. //depot/projects/uart/dev/hifn/hifn7751.c#15 integrate .. //depot/projects/uart/dev/hifn/hifn7751reg.h#7 integrate .. //depot/projects/uart/dev/hifn/hifn7751var.h#7 integrate .. //depot/projects/uart/dev/hme/if_hme.c#16 integrate .. //depot/projects/uart/dev/hme/if_hme_pci.c#12 integrate .. //depot/projects/uart/dev/hme/if_hme_sbus.c#10 integrate .. //depot/projects/uart/dev/hme/if_hmevar.h#6 integrate .. //depot/projects/uart/dev/hptmv/entry.c#7 integrate .. //depot/projects/uart/dev/hptmv/ioctl.c#3 integrate .. //depot/projects/uart/dev/hwpmc/hwpmc_mod.c#10 integrate .. //depot/projects/uart/dev/ichsmb/ichsmb.c#9 integrate .. //depot/projects/uart/dev/ichsmb/ichsmb_pci.c#10 integrate .. //depot/projects/uart/dev/ichwd/ichwd.c#4 integrate .. //depot/projects/uart/dev/ida/ida_eisa.c#7 integrate .. //depot/projects/uart/dev/ida/ida_pci.c#10 integrate .. //depot/projects/uart/dev/idt/idt_pci.c#7 integrate .. //depot/projects/uart/dev/idt/idtreg.h#3 integrate .. //depot/projects/uart/dev/ie/if_ie_isa.c#7 integrate .. //depot/projects/uart/dev/ieee488/pcii.c#4 integrate .. //depot/projects/uart/dev/ieee488/tnt4882.c#2 integrate .. //depot/projects/uart/dev/if_ndis/if_ndis.c#11 integrate .. //depot/projects/uart/dev/iicbus/ad7418.c#1 branch .. //depot/projects/uart/dev/iicbus/ds1672.c#1 branch .. //depot/projects/uart/dev/iicbus/iic.c#8 integrate .. //depot/projects/uart/dev/iicbus/iic.h#3 integrate .. //depot/projects/uart/dev/iicbus/iicbb.c#5 integrate .. //depot/projects/uart/dev/iicbus/iicbus.c#6 integrate .. //depot/projects/uart/dev/iicbus/iicbus_if.m#4 integrate .. //depot/projects/uart/dev/iicbus/iiconf.c#4 integrate .. //depot/projects/uart/dev/iicbus/iiconf.h#3 integrate .. //depot/projects/uart/dev/iir/iir_pci.c#12 integrate .. //depot/projects/uart/dev/ipmi/ipmi.c#6 integrate .. //depot/projects/uart/dev/ipmi/ipmi_ssif.c#2 integrate .. //depot/projects/uart/dev/ips/ips_pci.c#11 integrate .. //depot/projects/uart/dev/ipw/if_ipw.c#8 integrate .. //depot/projects/uart/dev/ipw/if_ipwvar.h#5 integrate .. //depot/projects/uart/dev/isp/isp.c#18 integrate .. //depot/projects/uart/dev/isp/isp_freebsd.c#20 integrate .. //depot/projects/uart/dev/isp/isp_freebsd.h#16 integrate .. //depot/projects/uart/dev/isp/isp_ioctl.h#9 integrate .. //depot/projects/uart/dev/isp/isp_library.c#8 integrate .. //depot/projects/uart/dev/isp/isp_library.h#5 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#19 integrate .. //depot/projects/uart/dev/isp/isp_sbus.c#14 integrate .. //depot/projects/uart/dev/isp/isp_stds.h#3 integrate .. //depot/projects/uart/dev/isp/isp_target.c#12 integrate .. //depot/projects/uart/dev/isp/isp_target.h#10 integrate .. //depot/projects/uart/dev/isp/isp_tpublic.h#10 integrate .. //depot/projects/uart/dev/isp/ispmbox.h#11 integrate .. //depot/projects/uart/dev/isp/ispreg.h#7 integrate .. //depot/projects/uart/dev/isp/ispvar.h#16 integrate .. //depot/projects/uart/dev/ispfw/ispfw.c#9 integrate .. //depot/projects/uart/dev/iwi/if_iwi.c#13 integrate .. //depot/projects/uart/dev/iwi/if_iwireg.h#8 integrate .. //depot/projects/uart/dev/iwi/if_iwivar.h#7 integrate .. //depot/projects/uart/dev/ixgb/if_ixgb.c#9 integrate .. //depot/projects/uart/dev/le/am7990.c#4 integrate .. //depot/projects/uart/dev/le/am79900.c#4 integrate .. //depot/projects/uart/dev/le/if_le_cbus.c#2 integrate .. //depot/projects/uart/dev/le/if_le_isa.c#2 integrate .. //depot/projects/uart/dev/le/if_le_lebuffer.c#1 branch .. //depot/projects/uart/dev/le/if_le_ledma.c#3 integrate .. //depot/projects/uart/dev/le/if_le_pci.c#4 integrate .. //depot/projects/uart/dev/le/lance.c#3 integrate .. //depot/projects/uart/dev/le/lancevar.h#3 integrate .. //depot/projects/uart/dev/le/lebuffer_sbus.c#1 branch .. //depot/projects/uart/dev/lge/if_lge.c#15 integrate .. //depot/projects/uart/dev/lmc/if_lmc.c#9 integrate .. //depot/projects/uart/dev/mc146818/mc146818reg.h#3 integrate .. //depot/projects/uart/dev/md/md.c#18 integrate .. //depot/projects/uart/dev/mfi/mfi.c#10 integrate .. //depot/projects/uart/dev/mfi/mfi_ioctl.h#4 integrate .. //depot/projects/uart/dev/mfi/mfi_pci.c#4 integrate .. //depot/projects/uart/dev/mfi/mfireg.h#6 integrate .. //depot/projects/uart/dev/mii/acphy.c#7 integrate .. //depot/projects/uart/dev/mii/acphyreg.h#2 integrate .. //depot/projects/uart/dev/mii/amphy.c#7 integrate .. //depot/projects/uart/dev/mii/bmtphy.c#7 integrate .. //depot/projects/uart/dev/mii/brgphy.c#17 integrate .. //depot/projects/uart/dev/mii/brgphyreg.h#3 integrate .. //depot/projects/uart/dev/mii/ciphy.c#6 integrate .. //depot/projects/uart/dev/mii/e1000phy.c#8 integrate .. //depot/projects/uart/dev/mii/e1000phyreg.h#4 integrate .. //depot/projects/uart/dev/mii/exphy.c#7 integrate .. //depot/projects/uart/dev/mii/gentbi.c#2 integrate .. //depot/projects/uart/dev/mii/inphy.c#5 integrate .. //depot/projects/uart/dev/mii/ip1000phy.c#2 integrate .. //depot/projects/uart/dev/mii/lxtphy.c#7 integrate .. //depot/projects/uart/dev/mii/mii.c#8 integrate .. //depot/projects/uart/dev/mii/mii_physubr.c#8 integrate .. //depot/projects/uart/dev/mii/miidevs#11 integrate .. //depot/projects/uart/dev/mii/miivar.h#4 integrate .. //depot/projects/uart/dev/mii/mlphy.c#6 integrate .. //depot/projects/uart/dev/mii/nsgphy.c#8 integrate .. //depot/projects/uart/dev/mii/nsphy.c#7 integrate .. //depot/projects/uart/dev/mii/pnaphy.c#7 integrate .. //depot/projects/uart/dev/mii/qsphy.c#7 integrate .. //depot/projects/uart/dev/mii/rgephy.c#9 integrate .. //depot/projects/uart/dev/mii/rlphy.c#8 integrate .. //depot/projects/uart/dev/mii/rlswitch.c#1 branch .. //depot/projects/uart/dev/mii/ruephy.c#5 integrate .. //depot/projects/uart/dev/mii/tdkphy.c#8 integrate .. //depot/projects/uart/dev/mii/tlphy.c#7 integrate .. //depot/projects/uart/dev/mii/ukphy.c#7 integrate .. //depot/projects/uart/dev/mii/xmphy.c#7 integrate .. //depot/projects/uart/dev/mk48txx/mk48txx.c#8 integrate .. //depot/projects/uart/dev/mlx/mlx.c#7 integrate .. //depot/projects/uart/dev/mly/mly.c#11 integrate .. //depot/projects/uart/dev/mpt/mpt.c#22 integrate .. //depot/projects/uart/dev/mpt/mpt.h#20 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.c#22 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.h#4 integrate .. //depot/projects/uart/dev/mpt/mpt_debug.c#14 integrate .. //depot/projects/uart/dev/mpt/mpt_pci.c#25 integrate .. //depot/projects/uart/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/uart/dev/mse/mse.c#6 integrate .. //depot/projects/uart/dev/msk/if_msk.c#1 branch .. //depot/projects/uart/dev/msk/if_mskreg.h#1 branch .. //depot/projects/uart/dev/mxge/eth_z8e.dat.gz.uu#4 integrate .. //depot/projects/uart/dev/mxge/ethp_z8e.dat.gz.uu#4 integrate .. //depot/projects/uart/dev/mxge/if_mxge.c#6 integrate .. //depot/projects/uart/dev/mxge/if_mxge_var.h#4 integrate .. //depot/projects/uart/dev/my/if_my.c#12 integrate .. //depot/projects/uart/dev/ncv/ncr53c500_pccard.c#10 integrate .. //depot/projects/uart/dev/nfe/if_nfe.c#5 integrate .. //depot/projects/uart/dev/nfe/if_nfereg.h#4 integrate .. //depot/projects/uart/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/uart/dev/nge/if_nge.c#16 integrate .. //depot/projects/uart/dev/nsp/nsp_pccard.c#8 integrate .. //depot/projects/uart/dev/nve/if_nve.c#7 integrate .. //depot/projects/uart/dev/nve/if_nvereg.h#5 integrate .. //depot/projects/uart/dev/patm/if_patm_attach.c#11 integrate .. //depot/projects/uart/dev/pccard/pccard.c#16 integrate .. //depot/projects/uart/dev/pccard/pccard_cis.c#13 integrate .. //depot/projects/uart/dev/pccard/pccarddevs#20 integrate .. //depot/projects/uart/dev/pccard/pccardvarp.h#2 integrate .. //depot/projects/uart/dev/pccbb/pccbb.c#22 integrate .. //depot/projects/uart/dev/pccbb/pccbb_pci.c#12 integrate .. //depot/projects/uart/dev/pccbb/pccbbvar.h#9 integrate .. //depot/projects/uart/dev/pcf/envctrl.c#4 integrate .. //depot/projects/uart/dev/pcf/pcf_ebus.c#4 integrate .. //depot/projects/uart/dev/pcf/pcf_isa.c#4 integrate .. //depot/projects/uart/dev/pci/pci.c#28 integrate .. //depot/projects/uart/dev/pci/pci_if.m#6 integrate .. //depot/projects/uart/dev/pci/pci_pci.c#11 integrate .. //depot/projects/uart/dev/pci/pci_private.h#10 integrate .. //depot/projects/uart/dev/pci/pcib_if.m#5 integrate .. //depot/projects/uart/dev/pci/pcib_private.h#6 integrate .. //depot/projects/uart/dev/pci/pcireg.h#13 integrate .. //depot/projects/uart/dev/pci/pcivar.h#11 integrate .. //depot/projects/uart/dev/pdq/if_fea.c#6 integrate .. //depot/projects/uart/dev/pdq/if_fpa.c#8 integrate .. //depot/projects/uart/dev/ppbus/if_plip.c#8 integrate .. //depot/projects/uart/dev/ppbus/lpt.c#9 integrate .. //depot/projects/uart/dev/ppbus/ppbconf.c#4 integrate .. //depot/projects/uart/dev/ppbus/ppi.c#6 integrate .. //depot/projects/uart/dev/ppbus/pps.c#8 integrate .. //depot/projects/uart/dev/ppbus/vpo.c#4 integrate .. //depot/projects/uart/dev/ppc/ppc.c#12 integrate .. //depot/projects/uart/dev/ppc/ppcvar.h#6 integrate .. //depot/projects/uart/dev/pst/pst-iop.c#5 integrate .. //depot/projects/uart/dev/puc/puc.c#44 integrate .. //depot/projects/uart/dev/puc/puc_bfe.h#8 integrate .. //depot/projects/uart/dev/ral/if_ral_pci.c#5 integrate .. //depot/projects/uart/dev/ral/rt2560.c#7 integrate .. //depot/projects/uart/dev/ral/rt2560var.h#2 integrate .. //depot/projects/uart/dev/ral/rt2661.c#7 integrate .. //depot/projects/uart/dev/ral/rt2661var.h#2 integrate .. //depot/projects/uart/dev/random/randomdev_soft.c#9 integrate .. //depot/projects/uart/dev/ray/if_ray.c#10 integrate .. //depot/projects/uart/dev/rc/rc.c#6 integrate .. //depot/projects/uart/dev/re/if_re.c#21 integrate .. //depot/projects/uart/dev/rp/rp.c#7 integrate .. //depot/projects/uart/dev/rp/rpreg.h#4 integrate .. //depot/projects/uart/dev/rp/rpvar.h#5 integrate .. //depot/projects/uart/dev/rr232x/osm_bsd.c#3 integrate .. //depot/projects/uart/dev/safe/safe.c#11 integrate .. //depot/projects/uart/dev/sbni/if_sbni_isa.c#6 integrate .. //depot/projects/uart/dev/sbni/if_sbni_pci.c#6 integrate .. //depot/projects/uart/dev/sbsh/if_sbsh.c#11 integrate .. //depot/projects/uart/dev/scc/scc_bfe.h#20 integrate .. //depot/projects/uart/dev/scc/scc_core.c#26 integrate .. //depot/projects/uart/dev/scd/scd.c#8 integrate .. //depot/projects/uart/dev/si/si.c#8 integrate .. //depot/projects/uart/dev/si/si_eisa.c#5 integrate .. //depot/projects/uart/dev/si/si_isa.c#5 integrate .. //depot/projects/uart/dev/si/si_pci.c#7 integrate .. //depot/projects/uart/dev/sio/sio.c#19 integrate .. //depot/projects/uart/dev/sk/if_sk.c#13 integrate .. //depot/projects/uart/dev/sk/if_skreg.h#8 integrate .. //depot/projects/uart/dev/sn/if_sn.c#9 integrate .. //depot/projects/uart/dev/snc/if_snc_cbus.c#4 integrate .. //depot/projects/uart/dev/snc/if_snc_pccard.c#8 integrate .. //depot/projects/uart/dev/sound/driver.c#9 integrate .. //depot/projects/uart/dev/sound/isa/ad1816.c#9 integrate .. //depot/projects/uart/dev/sound/isa/ad1816.h#3 integrate .. //depot/projects/uart/dev/sound/isa/ess.c#8 integrate .. //depot/projects/uart/dev/sound/isa/gusc.c#5 integrate .. //depot/projects/uart/dev/sound/isa/mss.c#10 integrate .. //depot/projects/uart/dev/sound/isa/mss.h#3 integrate .. //depot/projects/uart/dev/sound/isa/sb.h#3 integrate .. //depot/projects/uart/dev/sound/isa/sb16.c#7 integrate .. //depot/projects/uart/dev/sound/isa/sb8.c#7 integrate .. //depot/projects/uart/dev/sound/isa/sbc.c#5 integrate .. //depot/projects/uart/dev/sound/midi/midi.c#5 integrate .. //depot/projects/uart/dev/sound/midi/midi.h#4 integrate .. //depot/projects/uart/dev/sound/midi/midiq.h#2 integrate .. //depot/projects/uart/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/uart/dev/sound/midi/mpu401.h#2 integrate .. //depot/projects/uart/dev/sound/midi/mpu_if.m#2 integrate .. //depot/projects/uart/dev/sound/midi/mpufoi_if.m#2 integrate .. //depot/projects/uart/dev/sound/midi/sequencer.c#8 integrate .. //depot/projects/uart/dev/sound/midi/sequencer.h#4 integrate .. //depot/projects/uart/dev/sound/midi/synth_if.m#2 integrate .. //depot/projects/uart/dev/sound/pci/als4000.c#10 integrate .. //depot/projects/uart/dev/sound/pci/atiixp.c#7 integrate .. //depot/projects/uart/dev/sound/pci/au88x0.c#8 integrate .. //depot/projects/uart/dev/sound/pci/aureal.c#9 integrate .. //depot/projects/uart/dev/sound/pci/cmi.c#13 integrate .. //depot/projects/uart/dev/sound/pci/cs4281.c#8 integrate .. //depot/projects/uart/dev/sound/pci/csa.c#10 integrate .. //depot/projects/uart/dev/sound/pci/csapcm.c#10 integrate .. //depot/projects/uart/dev/sound/pci/ds1.c#10 integrate .. //depot/projects/uart/dev/sound/pci/emu10k1.c#13 integrate .. //depot/projects/uart/dev/sound/pci/emu10kx-pcm.c#3 integrate .. //depot/projects/uart/dev/sound/pci/emu10kx.c#3 integrate .. //depot/projects/uart/dev/sound/pci/emu10kx.h#3 integrate .. //depot/projects/uart/dev/sound/pci/envy24.c#4 integrate .. //depot/projects/uart/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/uart/dev/sound/pci/envy24ht.h#2 integrate .. //depot/projects/uart/dev/sound/pci/es137x.c#15 integrate .. //depot/projects/uart/dev/sound/pci/fm801.c#9 integrate .. //depot/projects/uart/dev/sound/pci/hda/hda_reg.h#2 integrate .. //depot/projects/uart/dev/sound/pci/hda/hdac.c#3 integrate .. //depot/projects/uart/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/uart/dev/sound/pci/ich.c#24 integrate .. //depot/projects/uart/dev/sound/pci/maestro.c#12 integrate .. //depot/projects/uart/dev/sound/pci/maestro3.c#9 integrate .. //depot/projects/uart/dev/sound/pci/solo.c#11 integrate .. //depot/projects/uart/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/uart/dev/sound/pci/t4dwave.c#9 integrate .. //depot/projects/uart/dev/sound/pci/via8233.c#12 integrate .. //depot/projects/uart/dev/sound/pci/via82c686.c#10 integrate .. //depot/projects/uart/dev/sound/pci/vibes.c#8 integrate .. //depot/projects/uart/dev/sound/pcm/ac97.c#14 integrate .. //depot/projects/uart/dev/sound/pcm/ac97.h#6 integrate .. //depot/projects/uart/dev/sound/pcm/ac97_patch.c#6 integrate .. //depot/projects/uart/dev/sound/pcm/ac97_patch.h#6 integrate .. //depot/projects/uart/dev/sound/pcm/buffer.c#8 integrate .. //depot/projects/uart/dev/sound/pcm/buffer.h#7 integrate .. //depot/projects/uart/dev/sound/pcm/channel.c#11 integrate .. //depot/projects/uart/dev/sound/pcm/channel.h#7 integrate .. //depot/projects/uart/dev/sound/pcm/channel_if.m#4 integrate .. //depot/projects/uart/dev/sound/pcm/dsp.c#16 integrate .. //depot/projects/uart/dev/sound/pcm/dsp.h#6 integrate .. //depot/projects/uart/dev/sound/pcm/fake.c#6 integrate .. //depot/projects/uart/dev/sound/pcm/feeder.c#9 integrate .. //depot/projects/uart/dev/sound/pcm/feeder.h#7 integrate .. //depot/projects/uart/dev/sound/pcm/feeder_fmt.c#8 integrate .. //depot/projects/uart/dev/sound/pcm/feeder_rate.c#7 integrate .. //depot/projects/uart/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/uart/dev/sound/pcm/mixer.c#11 integrate .. //depot/projects/uart/dev/sound/pcm/sndstat.c#7 integrate .. //depot/projects/uart/dev/sound/pcm/sound.c#14 integrate .. //depot/projects/uart/dev/sound/pcm/sound.h#13 integrate .. //depot/projects/uart/dev/sound/pcm/vchan.c#11 integrate .. //depot/projects/uart/dev/sound/sbus/cs4231.c#5 integrate .. //depot/projects/uart/dev/sound/usb/uaudio.c#8 integrate .. //depot/projects/uart/dev/sound/usb/uaudio.h#5 integrate .. //depot/projects/uart/dev/sound/usb/uaudio_pcm.c#9 integrate .. //depot/projects/uart/dev/sr/if_sr.c#9 integrate .. //depot/projects/uart/dev/stg/tmc18c30_isa.c#5 integrate .. //depot/projects/uart/dev/stg/tmc18c30_pccard.c#8 integrate .. //depot/projects/uart/dev/stg/tmc18c30_pci.c#7 integrate .. //depot/projects/uart/dev/stge/if_stge.c#3 integrate .. //depot/projects/uart/dev/sym/sym_hipd.c#13 integrate .. //depot/projects/uart/dev/syscons/fire/fire_saver.c#3 integrate .. //depot/projects/uart/dev/syscons/logo/logo_saver.c#3 integrate .. //depot/projects/uart/dev/syscons/rain/rain_saver.c#2 integrate .. //depot/projects/uart/dev/syscons/scvesactl.c#7 integrate .. //depot/projects/uart/dev/syscons/warp/warp_saver.c#3 integrate .. //depot/projects/uart/dev/ti/if_ti.c#4 integrate .. //depot/projects/uart/dev/trm/trm.c#14 integrate .. //depot/projects/uart/dev/twa/tw_osl_freebsd.c#3 integrate .. //depot/projects/uart/dev/twe/twe_freebsd.c#8 integrate .. //depot/projects/uart/dev/tx/if_tx.c#14 integrate .. //depot/projects/uart/dev/txp/if_txp.c#14 integrate .. //depot/projects/uart/dev/uart/uart_core.c#57 integrate .. //depot/projects/uart/dev/uart/uart_cpu.h#22 integrate .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#47 integrate .. //depot/projects/uart/dev/uart/uart_dev_sab82532.c#43 integrate .. //depot/projects/uart/dev/uart/uart_dev_z8530.c#35 integrate .. //depot/projects/uart/dev/uart/uart_kbd_sun.c#12 integrate .. //depot/projects/uart/dev/ubsec/ubsec.c#16 integrate .. //depot/projects/uart/dev/usb/FILES#3 integrate .. //depot/projects/uart/dev/usb/ehci_pci.c#14 integrate .. //depot/projects/uart/dev/usb/if_aue.c#14 integrate .. //depot/projects/uart/dev/usb/if_auereg.h#7 integrate .. //depot/projects/uart/dev/usb/if_ural.c#13 integrate .. //depot/projects/uart/dev/usb/ohci_pci.c#13 integrate .. //depot/projects/uart/dev/usb/sl811hs.c#5 integrate .. //depot/projects/uart/dev/usb/sl811hsvar.h#4 integrate .. //depot/projects/uart/dev/usb/slhci_pccard.c#3 integrate .. //depot/projects/uart/dev/usb/ubsa.c#9 integrate .. //depot/projects/uart/dev/usb/uhci_pci.c#8 integrate .. //depot/projects/uart/dev/usb/uhub.c#13 integrate .. //depot/projects/uart/dev/usb/uipaq.c#1 branch .. //depot/projects/uart/dev/usb/ukbd.c#11 integrate .. //depot/projects/uart/dev/usb/umass.c#21 integrate .. //depot/projects/uart/dev/usb/ums.c#12 integrate .. //depot/projects/uart/dev/usb/uplcom.c#18 integrate .. //depot/projects/uart/dev/usb/usb_ethersubr.c#7 integrate .. //depot/projects/uart/dev/usb/usb_ethersubr.h#4 integrate .. //depot/projects/uart/dev/usb/usb_quirks.c#11 integrate .. //depot/projects/uart/dev/usb/usb_quirks.h#6 integrate .. //depot/projects/uart/dev/usb/usb_subr.c#18 integrate .. //depot/projects/uart/dev/usb/usbdevs#29 integrate .. //depot/projects/uart/dev/usb/usbdi.c#13 integrate .. //depot/projects/uart/dev/usb/usbdi_util.h#7 integrate .. //depot/projects/uart/dev/usb/uvisor.c#11 integrate .. //depot/projects/uart/dev/usb/uvscom.c#8 integrate .. //depot/projects/uart/dev/vge/if_vge.c#10 integrate .. //depot/projects/uart/dev/vx/if_vx_eisa.c#6 integrate .. //depot/projects/uart/dev/vx/if_vx_pci.c#10 integrate .. //depot/projects/uart/dev/watchdog/watchdog.c#3 integrate .. //depot/projects/uart/dev/wds/wd7000.c#6 integrate .. //depot/projects/uart/dev/wi/if_wi.c#20 integrate .. //depot/projects/uart/dev/wi/if_wivar.h#8 integrate .. //depot/projects/uart/dev/wl/if_wl.c#10 integrate .. //depot/projects/uart/dev/xe/if_xe.c#9 integrate .. //depot/projects/uart/dev/zs/z8530reg.h#4 delete .. //depot/projects/uart/dev/zs/z8530var.h#3 delete .. //depot/projects/uart/dev/zs/zs.c#9 delete .. //depot/projects/uart/dev/zs/zs_macio.c#5 delete .. //depot/projects/uart/fs/cd9660/TODO#1 branch .. //depot/projects/uart/fs/cd9660/TODO.hibler#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_bmap.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_iconv.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_lookup.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_mount.h#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_node.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_node.h#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_rrip.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_rrip.h#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_util.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_vfsops.c#1 branch .. //depot/projects/uart/fs/cd9660/cd9660_vnops.c#1 branch .. //depot/projects/uart/fs/cd9660/iso.h#1 branch .. //depot/projects/uart/fs/cd9660/iso_rrip.h#1 branch .. //depot/projects/uart/fs/deadfs/dead_vnops.c#8 integrate .. //depot/projects/uart/fs/devfs/devfs_vnops.c#19 integrate .. //depot/projects/uart/fs/fdescfs/fdesc_vnops.c#11 integrate .. //depot/projects/uart/fs/fifofs/fifo_vnops.c#11 integrate .. //depot/projects/uart/fs/hpfs/hpfs_vfsops.c#13 integrate .. //depot/projects/uart/fs/hpfs/hpfs_vnops.c#13 integrate .. //depot/projects/uart/fs/msdosfs/bpb.h#4 integrate .. //depot/projects/uart/fs/msdosfs/denode.h#8 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_conv.c#11 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_denode.c#12 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_fat.c#4 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_vfsops.c#18 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_vnops.c#15 integrate .. //depot/projects/uart/fs/ntfs/ntfs_subr.c#10 integrate .. //depot/projects/uart/fs/ntfs/ntfs_subr.h#3 integrate .. //depot/projects/uart/fs/ntfs/ntfs_vfsops.c#17 integrate .. //depot/projects/uart/fs/ntfs/ntfs_vnops.c#13 integrate .. //depot/projects/uart/fs/nullfs/null_subr.c#8 integrate .. //depot/projects/uart/fs/nullfs/null_vfsops.c#12 integrate .. //depot/projects/uart/fs/nullfs/null_vnops.c#12 integrate .. //depot/projects/uart/fs/nwfs/nwfs_node.c#8 integrate .. //depot/projects/uart/fs/portalfs/portal_vfsops.c#8 integrate .. //depot/projects/uart/fs/portalfs/portal_vnops.c#7 integrate .. //depot/projects/uart/fs/procfs/procfs.c#6 integrate .. //depot/projects/uart/fs/procfs/procfs_ioctl.c#7 integrate .. //depot/projects/uart/fs/procfs/procfs_status.c#7 integrate .. //depot/projects/uart/fs/pseudofs/pseudofs.c#7 integrate .. //depot/projects/uart/fs/pseudofs/pseudofs.h#6 integrate .. //depot/projects/uart/fs/pseudofs/pseudofs_vncache.c#7 integrate .. //depot/projects/uart/fs/smbfs/smbfs_node.c#10 integrate .. //depot/projects/uart/fs/smbfs/smbfs_smb.c#7 integrate .. //depot/projects/uart/fs/udf/udf.h#5 integrate .. //depot/projects/uart/fs/udf/udf_vfsops.c#18 integrate .. //depot/projects/uart/fs/udf/udf_vnops.c#14 integrate .. //depot/projects/uart/fs/umapfs/umap_subr.c#4 integrate .. //depot/projects/uart/fs/umapfs/umap_vfsops.c#10 integrate .. //depot/projects/uart/fs/umapfs/umap_vnops.c#6 integrate .. //depot/projects/uart/fs/unionfs/union.h#5 integrate .. //depot/projects/uart/fs/unionfs/union_subr.c#9 integrate .. //depot/projects/uart/fs/unionfs/union_vfsops.c#10 integrate .. //depot/projects/uart/fs/unionfs/union_vnops.c#11 integrate .. //depot/projects/uart/geom/eli/g_eli.c#12 integrate .. //depot/projects/uart/geom/eli/g_eli_crypto.c#4 integrate .. //depot/projects/uart/geom/eli/g_eli_ctl.c#6 integrate .. //depot/projects/uart/geom/geom_apple.c#4 delete .. //depot/projects/uart/geom/geom_dev.c#13 integrate .. //depot/projects/uart/geom/geom_disk.c#13 integrate .. //depot/projects/uart/geom/geom_gpt.c#11 delete .. //depot/projects/uart/geom/geom_io.c#13 integrate .. //depot/projects/uart/geom/geom_vfs.c#6 integrate .. //depot/projects/uart/geom/journal/g_journal.c#2 integrate .. //depot/projects/uart/geom/multipath/g_multipath.c#1 branch .. //depot/projects/uart/geom/multipath/g_multipath.h#1 branch .. //depot/projects/uart/geom/part/g_part.c#1 branch .. //depot/projects/uart/geom/part/g_part.h#1 branch .. //depot/projects/uart/geom/part/g_part_apm.c#1 branch .. //depot/projects/uart/geom/part/g_part_gpt.c#1 branch .. //depot/projects/uart/geom/part/g_part_if.m#1 branch .. //depot/projects/uart/gnu/fs/ext2fs/ext2_vfsops.c#8 integrate .. //depot/projects/uart/gnu/fs/ext2fs/ext2_vnops.c#5 integrate .. //depot/projects/uart/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/uart/gnu/fs/reiserfs/reiserfs_vfsops.c#6 integrate .. //depot/projects/uart/gnu/fs/reiserfs/reiserfs_vnops.c#2 integrate .. //depot/projects/uart/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/uart/gnu/fs/xfs/FreeBSD/xfs_mountops.c#5 integrate .. //depot/projects/uart/gnu/fs/xfs/FreeBSD/xfs_vnops.c#3 integrate .. //depot/projects/uart/i386/acpica/acpi_wakeup.c#15 integrate .. //depot/projects/uart/i386/acpica/madt.c#7 integrate .. //depot/projects/uart/i386/bios/smapi.c#4 integrate .. //depot/projects/uart/i386/bios/smbios.c#4 integrate .. //depot/projects/uart/i386/bios/vpd.c#3 integrate .. //depot/projects/uart/i386/conf/GENERIC#25 integrate .. //depot/projects/uart/i386/cpufreq/powernow.c#3 integrate .. //depot/projects/uart/i386/i386/apic_vector.s#6 integrate .. //depot/projects/uart/i386/i386/busdma_machdep.c#20 integrate .. //depot/projects/uart/i386/i386/db_trace.c#14 integrate .. //depot/projects/uart/i386/i386/elan-mmcr.c#7 integrate .. //depot/projects/uart/i386/i386/exception.s#9 integrate .. //depot/projects/uart/i386/i386/genassym.c#8 integrate .. //depot/projects/uart/i386/i386/identcpu.c#23 integrate .. //depot/projects/uart/i386/i386/intr_machdep.c#10 integrate .. //depot/projects/uart/i386/i386/io_apic.c#12 integrate .. //depot/projects/uart/i386/i386/legacy.c#6 integrate .. //depot/projects/uart/i386/i386/local_apic.c#14 integrate .. //depot/projects/uart/i386/i386/locore.s#9 integrate .. //depot/projects/uart/i386/i386/machdep.c#28 integrate .. //depot/projects/uart/i386/i386/mp_machdep.c#27 integrate .. //depot/projects/uart/i386/i386/mptable.c#7 integrate .. //depot/projects/uart/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/uart/i386/i386/msi.c#3 integrate .. //depot/projects/uart/i386/i386/nexus.c#9 integrate .. //depot/projects/uart/i386/i386/pmap.c#46 integrate .. //depot/projects/uart/i386/i386/swtch.s#8 integrate .. //depot/projects/uart/i386/i386/trap.c#17 integrate .. //depot/projects/uart/i386/i386/vm86.c#6 integrate .. //depot/projects/uart/i386/i386/vm86bios.s#3 integrate .. //depot/projects/uart/i386/i386/vm_machdep.c#18 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_sysvec.c#7 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_xenix.c#7 integrate .. //depot/projects/uart/i386/include/apicvar.h#11 integrate .. //depot/projects/uart/i386/include/atomic.h#9 integrate .. //depot/projects/uart/i386/include/clock.h#12 integrate .. //depot/projects/uart/i386/include/intr_machdep.h#7 integrate .. //depot/projects/uart/i386/include/pcpu.h#8 integrate .. //depot/projects/uart/i386/include/pmap.h#13 integrate .. //depot/projects/uart/i386/include/setjmp.h#2 integrate .. //depot/projects/uart/i386/include/smp.h#9 integrate .. //depot/projects/uart/i386/include/specialreg.h#8 integrate .. //depot/projects/uart/i386/isa/atpic.c#7 integrate .. //depot/projects/uart/i386/isa/atpic_vector.s#4 integrate .. //depot/projects/uart/i386/isa/clock.c#14 integrate .. //depot/projects/uart/i386/isa/icu.h#4 integrate .. //depot/projects/uart/i386/isa/isa.c#5 integrate .. //depot/projects/uart/i386/isa/npx.c#14 integrate .. //depot/projects/uart/i386/linux/imgact_linux.c#6 integrate .. //depot/projects/uart/i386/linux/linux.h#7 integrate .. //depot/projects/uart/i386/linux/linux_dummy.c#8 integrate .. //depot/projects/uart/i386/linux/linux_machdep.c#9 integrate .. //depot/projects/uart/i386/linux/linux_proto.h#14 integrate .. //depot/projects/uart/i386/linux/linux_syscall.h#14 integrate .. //depot/projects/uart/i386/linux/linux_sysent.c#14 integrate .. //depot/projects/uart/i386/linux/syscalls.master#14 integrate .. //depot/projects/uart/i386/pci/pci_bus.c#12 integrate .. //depot/projects/uart/i386/pci/pci_cfgreg.c#7 integrate .. //depot/projects/uart/i4b/capi/iavc/iavc_isa.c#5 integrate .. //depot/projects/uart/i4b/capi/iavc/iavc_pci.c#6 integrate .. //depot/projects/uart/i4b/driver/i4b_ipr.c#6 integrate .. //depot/projects/uart/i4b/layer1/ifpi/i4b_ifpi_pci.c#6 integrate .. //depot/projects/uart/i4b/layer1/ifpi2/i4b_ifpi2_pci.c#6 integrate .. //depot/projects/uart/i4b/layer1/ifpnp/i4b_ifpnp_avm.c#4 integrate .. //depot/projects/uart/i4b/layer1/ihfc/i4b_ihfc_pnp.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_avm_a1.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_elsa_pcc16.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_elsa_qs1p.c#6 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_isic_pnp.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_itk_ix1.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_tel_s016.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_tel_s0163.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_tel_s08.c#4 integrate .. //depot/projects/uart/i4b/layer1/isic/i4b_usr_sti.c#4 integrate .. //depot/projects/uart/i4b/layer1/itjc/i4b_itjc_pci.c#10 integrate .. //depot/projects/uart/i4b/layer1/iwic/i4b_iwic_pci.c#7 integrate .. //depot/projects/uart/ia64/conf/DEFAULTS#7 integrate .. //depot/projects/uart/ia64/conf/GENERIC#17 integrate .. //depot/projects/uart/ia64/ia64/busdma_machdep.c#10 integrate .. //depot/projects/uart/ia64/ia64/interrupt.c#15 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#29 integrate .. //depot/projects/uart/ia64/ia64/nexus.c#10 integrate .. //depot/projects/uart/ia64/ia64/pmap.c#27 integrate .. //depot/projects/uart/ia64/ia64/trap.c#20 integrate .. //depot/projects/uart/ia64/ia64/uma_machdep.c#3 integrate .. //depot/projects/uart/ia64/include/exec.h#4 integrate .. //depot/projects/uart/ia64/include/floatingpoint.h#3 integrate .. //depot/projects/uart/ia64/include/intr.h#2 integrate .. //depot/projects/uart/ia64/include/pcpu.h#5 integrate .. //depot/projects/uart/ia64/include/reloc.h#3 integrate .. //depot/projects/uart/ia64/isa/isa.c#3 integrate .. //depot/projects/uart/isa/isa_common.h#4 integrate .. //depot/projects/uart/isa/pnpparse.c#2 integrate .. //depot/projects/uart/isa/syscons_isa.c#6 integrate .. //depot/projects/uart/isofs/cd9660/TODO#2 delete .. //depot/projects/uart/isofs/cd9660/TODO.hibler#2 delete .. //depot/projects/uart/isofs/cd9660/cd9660_bmap.c#5 delete .. //depot/projects/uart/isofs/cd9660/cd9660_iconv.c#2 delete >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 21 19:07:44 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC94B16A4DE; Wed, 21 Mar 2007 19:07:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3214C16A4CF for ; Wed, 21 Mar 2007 19:07:43 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1EDB813C4E1 for ; Wed, 21 Mar 2007 19:07:43 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2LJ7he4088392 for ; Wed, 21 Mar 2007 19:07:43 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2LJ7c89088389 for perforce@freebsd.org; Wed, 21 Mar 2007 19:07:38 GMT (envelope-from jhb@freebsd.org) Date: Wed, 21 Mar 2007 19:07:38 GMT Message-Id: <200703211907.l2LJ7c89088389@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 116272 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2007 19:07:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=116272 Change 116272 by jhb@jhb_mutex on 2007/03/21 19:07:08 IFC @116266 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#22 integrate .. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#20 integrate .. //depot/projects/smpng/sys/amd64/amd64/legacy.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#28 integrate .. //depot/projects/smpng/sys/amd64/amd64/nexus.c#24 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#73 integrate .. //depot/projects/smpng/sys/amd64/include/apicvar.h#17 integrate .. //depot/projects/smpng/sys/amd64/include/pcpu.h#6 integrate .. //depot/projects/smpng/sys/amd64/include/specialreg.h#12 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm9.S#5 integrate .. //depot/projects/smpng/sys/arm/include/bootconfig.h#3 integrate .. //depot/projects/smpng/sys/arm/include/cpufunc.h#11 integrate .. //depot/projects/smpng/sys/arm/include/pcpu.h#4 integrate .. //depot/projects/smpng/sys/arm/include/undefined.h#3 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/loader_prompt.c#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/Makefile#6 integrate .. //depot/projects/smpng/sys/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/smpng/sys/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/smpng/sys/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/smpng/sys/cam/cam_xpt.c#42 integrate .. //depot/projects/smpng/sys/coda/coda_vnops.c#28 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#55 integrate .. //depot/projects/smpng/sys/compat/linsysfs/linsysfs.c#3 integrate .. //depot/projects/smpng/sys/conf/NOTES#138 integrate .. //depot/projects/smpng/sys/conf/files#201 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#64 integrate .. //depot/projects/smpng/sys/conf/options#137 integrate .. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#25 integrate .. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.h#6 integrate .. //depot/projects/smpng/sys/crypto/via/padlock.c#8 integrate .. //depot/projects/smpng/sys/dev/acpica/Osd/OsdDebug.c#11 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#98 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#42 integrate .. //depot/projects/smpng/sys/dev/ar/if_ar.c#22 integrate .. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#14 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#80 integrate .. //depot/projects/smpng/sys/dev/ata/ata-queue.c#40 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#31 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#91 integrate .. //depot/projects/smpng/sys/dev/ce/if_ce.c#7 integrate .. //depot/projects/smpng/sys/dev/cm/smc90cx6.c#14 integrate .. //depot/projects/smpng/sys/dev/cp/if_cp.c#20 integrate .. //depot/projects/smpng/sys/dev/ctau/if_ct.c#22 integrate .. //depot/projects/smpng/sys/dev/cx/if_cx.c#29 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_ael1002.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_common.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_firmware_exports.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_mc5.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_regs.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_sge_defs.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_cpl.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_hw.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_tcb.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_version.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_vsc8211.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_xgmac.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_config.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_ioctl.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_lro.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#1 branch .. //depot/projects/smpng/sys/dev/cxgb/t3fw-3.2.bin.gz.uu#1 branch .. //depot/projects/smpng/sys/dev/ed/if_ed.c#39 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#39 integrate .. //depot/projects/smpng/sys/dev/firewire/firewirereg.h#20 integrate .. //depot/projects/smpng/sys/dev/firewire/fwdev.c#23 integrate .. //depot/projects/smpng/sys/dev/firewire/fwmem.c#20 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci.c#37 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#39 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohcivar.h#12 integrate .. //depot/projects/smpng/sys/dev/firewire/if_fwe.c#30 integrate .. //depot/projects/smpng/sys/dev/firewire/if_fwip.c#10 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#41 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp_targ.c#8 integrate .. //depot/projects/smpng/sys/dev/hifn/hifn7751.c#25 integrate .. //depot/projects/smpng/sys/dev/hifn/hifn7751reg.h#7 integrate .. //depot/projects/smpng/sys/dev/hifn/hifn7751var.h#9 integrate .. //depot/projects/smpng/sys/dev/ichwd/ichwd.c#6 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#43 integrate .. //depot/projects/smpng/sys/dev/ipw/if_ipw.c#14 integrate .. //depot/projects/smpng/sys/dev/isp/isp.c#55 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#53 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.h#39 integrate .. //depot/projects/smpng/sys/dev/isp/isp_ioctl.h#18 integrate .. //depot/projects/smpng/sys/dev/isp/isp_library.c#9 integrate .. //depot/projects/smpng/sys/dev/isp/isp_library.h#5 integrate .. //depot/projects/smpng/sys/dev/isp/isp_pci.c#52 integrate .. //depot/projects/smpng/sys/dev/isp/isp_sbus.c#23 integrate .. //depot/projects/smpng/sys/dev/isp/isp_stds.h#4 integrate .. //depot/projects/smpng/sys/dev/isp/isp_target.c#24 integrate .. //depot/projects/smpng/sys/dev/isp/isp_target.h#16 integrate .. //depot/projects/smpng/sys/dev/isp/isp_tpublic.h#13 integrate .. //depot/projects/smpng/sys/dev/isp/ispmbox.h#27 integrate .. //depot/projects/smpng/sys/dev/isp/ispreg.h#11 integrate .. //depot/projects/smpng/sys/dev/isp/ispvar.h#36 integrate .. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#26 integrate .. //depot/projects/smpng/sys/dev/mii/brgphy.c#40 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt.h#21 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#22 integrate .. //depot/projects/smpng/sys/dev/my/if_my.c#27 integrate .. //depot/projects/smpng/sys/dev/pcf/envctrl.c#6 integrate .. //depot/projects/smpng/sys/dev/pcf/pcf_ebus.c#6 integrate .. //depot/projects/smpng/sys/dev/pcf/pcf_isa.c#5 integrate .. //depot/projects/smpng/sys/dev/ppc/ppc.c#17 integrate .. //depot/projects/smpng/sys/dev/ral/rt2560.c#8 integrate .. //depot/projects/smpng/sys/dev/ral/rt2661.c#6 integrate .. //depot/projects/smpng/sys/dev/safe/safe.c#11 integrate .. //depot/projects/smpng/sys/dev/sound/isa/ad1816.c#24 integrate .. //depot/projects/smpng/sys/dev/sound/isa/mss.c#30 integrate .. //depot/projects/smpng/sys/dev/sound/isa/sbc.c#18 integrate .. //depot/projects/smpng/sys/dev/sound/midi/midi.c#14 integrate .. //depot/projects/smpng/sys/dev/sound/midi/sequencer.c#18 integrate .. //depot/projects/smpng/sys/dev/sound/pci/als4000.c#20 integrate .. //depot/projects/smpng/sys/dev/sound/pci/atiixp.c#10 integrate .. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#33 integrate .. //depot/projects/smpng/sys/dev/sound/pci/csa.c#18 integrate .. //depot/projects/smpng/sys/dev/sound/pci/ds1.c#24 integrate .. //depot/projects/smpng/sys/dev/sound/pci/emu10k1.c#32 integrate .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx-pcm.c#5 integrate .. //depot/projects/smpng/sys/dev/sound/pci/envy24.c#9 integrate .. //depot/projects/smpng/sys/dev/sound/pci/envy24ht.c#6 integrate .. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#24 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#11 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac_private.h#4 integrate .. //depot/projects/smpng/sys/dev/sound/pci/ich.c#49 integrate .. //depot/projects/smpng/sys/dev/sound/pci/maestro.c#22 integrate .. //depot/projects/smpng/sys/dev/sound/pci/maestro3.c#25 integrate .. //depot/projects/smpng/sys/dev/sound/pci/solo.c#19 integrate .. //depot/projects/smpng/sys/dev/sound/pci/t4dwave.c#23 integrate .. //depot/projects/smpng/sys/dev/sound/pci/via8233.c#25 integrate .. //depot/projects/smpng/sys/dev/sound/pci/via82c686.c#25 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#36 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/buffer.c#19 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/channel.c#39 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/channel_if.m#4 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#41 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/fake.c#9 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder.c#18 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder.h#9 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder_fmt.c#17 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder_rate.c#14 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder_volume.c#4 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/sndstat.c#20 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/sound.c#39 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/sound.h#29 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/vchan.c#20 integrate .. //depot/projects/smpng/sys/dev/sound/sbus/cs4231.c#6 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#17 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.h#6 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio_pcm.c#16 integrate .. //depot/projects/smpng/sys/dev/sr/if_sr.c#23 integrate .. //depot/projects/smpng/sys/dev/ubsec/ubsec.c#25 integrate .. //depot/projects/smpng/sys/dev/usb/if_ural.c#22 integrate .. //depot/projects/smpng/sys/dev/wl/if_wl.c#31 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#61 integrate .. //depot/projects/smpng/sys/fs/fdescfs/fdesc_vnops.c#25 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vfsops.c#33 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#28 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vfsops.c#35 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_subr.c#16 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.c#19 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vfsops.c#21 integrate .. //depot/projects/smpng/sys/fs/portalfs/portal_vnops.c#27 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs.c#14 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs.c#23 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs.h#24 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vncache.c#25 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.c#25 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vfsops.c#34 integrate .. //depot/projects/smpng/sys/fs/umapfs/umap_subr.c#10 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_subr.c#28 integrate .. //depot/projects/smpng/sys/geom/eli/g_eli.c#20 integrate .. //depot/projects/smpng/sys/geom/eli/g_eli_crypto.c#4 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vfsops.c#11 integrate .. //depot/projects/smpng/sys/gnu/fs/reiserfs/reiserfs_inode.c#3 integrate .. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#36 integrate .. //depot/projects/smpng/sys/i386/bios/smapi.c#8 integrate .. //depot/projects/smpng/sys/i386/bios/smbios.c#6 integrate .. //depot/projects/smpng/sys/i386/bios/vpd.c#6 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#51 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#22 integrate .. //depot/projects/smpng/sys/i386/i386/legacy.c#11 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#49 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#126 integrate .. //depot/projects/smpng/sys/i386/i386/nexus.c#26 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#115 integrate .. //depot/projects/smpng/sys/i386/include/apicvar.h#26 integrate .. //depot/projects/smpng/sys/i386/include/pcpu.h#17 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#34 integrate .. //depot/projects/smpng/sys/i386/include/specialreg.h#14 integrate .. //depot/projects/smpng/sys/ia64/ia64/nexus.c#15 integrate .. //depot/projects/smpng/sys/ia64/include/pcpu.h#7 integrate .. //depot/projects/smpng/sys/kern/kern_acct.c#50 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#103 integrate .. //depot/projects/smpng/sys/kern/kern_rwlock.c#12 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#76 integrate .. //depot/projects/smpng/sys/kern/uipc_mqueue.c#12 integrate .. //depot/projects/smpng/sys/kern/uipc_sockbuf.c#5 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#102 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#75 integrate .. //depot/projects/smpng/sys/kern/vfs_hash.c#6 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#70 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#137 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#125 integrate .. //depot/projects/smpng/sys/modules/Makefile#136 integrate .. //depot/projects/smpng/sys/modules/crypto/Makefile#5 integrate .. //depot/projects/smpng/sys/modules/cxgb/Makefile#1 branch .. //depot/projects/smpng/sys/modules/hifn/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/if_vlan/Makefile#5 integrate .. //depot/projects/smpng/sys/modules/my/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/padlock/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/safe/Makefile#4 integrate .. //depot/projects/smpng/sys/modules/ubsec/Makefile#6 integrate .. //depot/projects/smpng/sys/net/bridgestp.c#20 integrate .. //depot/projects/smpng/sys/net/if.c#91 integrate .. //depot/projects/smpng/sys/net/if_bridge.c#45 integrate .. //depot/projects/smpng/sys/net/if_ethersubr.c#80 integrate .. //depot/projects/smpng/sys/net/if_tap.c#45 integrate .. //depot/projects/smpng/sys/net/if_var.h#47 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#56 integrate .. //depot/projects/smpng/sys/net80211/ieee80211.c#27 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto.c#10 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto.h#8 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.c#37 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#32 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#32 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.h#18 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_output.c#30 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.c#24 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.h#15 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_radiotap.h#7 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_var.h#26 integrate .. //depot/projects/smpng/sys/netgraph/ng_base.c#47 integrate .. //depot/projects/smpng/sys/netgraph/ng_ether.c#34 integrate .. //depot/projects/smpng/sys/netinet/in.c#36 integrate .. //depot/projects/smpng/sys/netinet/in_var.h#17 integrate .. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#28 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#82 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.c#56 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#64 integrate .. //depot/projects/smpng/sys/netinet/sctp.h#2 integrate .. //depot/projects/smpng/sys/netinet/sctp_asconf.c#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_asconf.h#4 integrate .. //depot/projects/smpng/sys/netinet/sctp_auth.c#5 integrate .. //depot/projects/smpng/sys/netinet/sctp_auth.h#3 integrate .. //depot/projects/smpng/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/smpng/sys/netinet/sctp_bsd_addr.h#3 integrate .. //depot/projects/smpng/sys/netinet/sctp_constants.h#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_header.h#2 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_lock_bsd.h#3 integrate .. //depot/projects/smpng/sys/netinet/sctp_os.h#5 integrate .. //depot/projects/smpng/sys/netinet/sctp_os_bsd.h#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.h#3 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.h#5 integrate .. //depot/projects/smpng/sys/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/smpng/sys/netinet/sctp_structs.h#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_sysctl.c#1 branch .. //depot/projects/smpng/sys/netinet/sctp_sysctl.h#1 branch .. //depot/projects/smpng/sys/netinet/sctp_timer.c#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_uio.h#6 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_var.h#5 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#8 integrate .. //depot/projects/smpng/sys/netinet/sctputil.h#6 integrate .. //depot/projects/smpng/sys/netinet/tcp.h#16 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#98 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#44 integrate .. //depot/projects/smpng/sys/netinet/tcp_sack.c#18 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#88 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#56 integrate .. //depot/projects/smpng/sys/netinet/tcp_timer.c#33 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#58 integrate .. //depot/projects/smpng/sys/netinet/tcp_var.h#48 integrate .. //depot/projects/smpng/sys/netinet6/mld6.c#20 integrate .. //depot/projects/smpng/sys/netinet6/sctp6_usrreq.c#6 integrate .. //depot/projects/smpng/sys/netinet6/sctp6_var.h#3 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.c#19 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_node.c#27 integrate .. //depot/projects/smpng/sys/nfsserver/nfs.h#20 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#51 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvcache.c#14 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#30 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#37 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_syscalls.c#33 integrate .. //depot/projects/smpng/sys/nfsserver/nfsm_subs.h#11 integrate .. //depot/projects/smpng/sys/opencrypto/crypto.c#16 integrate .. //depot/projects/smpng/sys/opencrypto/crypto_if.m#3 delete .. //depot/projects/smpng/sys/opencrypto/cryptodev.c#21 integrate .. //depot/projects/smpng/sys/opencrypto/cryptodev.h#10 integrate .. //depot/projects/smpng/sys/opencrypto/cryptodev_if.m#1 branch .. //depot/projects/smpng/sys/opencrypto/cryptosoft.c#12 integrate .. //depot/projects/smpng/sys/opencrypto/cryptosoft.h#4 integrate .. //depot/projects/smpng/sys/pc98/cbus/fdc.c#9 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#22 integrate .. //depot/projects/smpng/sys/pci/if_ste.c#47 integrate .. //depot/projects/smpng/sys/pci/if_stereg.h#12 integrate .. //depot/projects/smpng/sys/powerpc/include/pcpu.h#7 integrate .. //depot/projects/smpng/sys/sparc64/include/pcpu.h#10 integrate .. //depot/projects/smpng/sys/sun4v/include/pcpu.h#4 integrate .. //depot/projects/smpng/sys/sys/acl.h#12 integrate .. //depot/projects/smpng/sys/sys/extattr.h#11 integrate .. //depot/projects/smpng/sys/sys/param.h#113 integrate .. //depot/projects/smpng/sys/sys/pcpu.h#19 integrate .. //depot/projects/smpng/sys/sys/socketvar.h#56 integrate .. //depot/projects/smpng/sys/sys/ucred.h#28 integrate .. //depot/projects/smpng/sys/sys/vnode.h#78 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#61 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#93 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#51 integrate .. //depot/projects/smpng/sys/ufs/ufs/quota.h#13 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#27 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_quota.c#38 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#63 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#22 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.149 2007/01/09 19:23:21 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.152 2007/03/20 20:22:45 jkim Exp $"); #include "opt_cpu.h" @@ -225,7 +225,7 @@ "\004MON" /* MONITOR/MWAIT Instructions */ "\005DS_CPL" /* CPL Qualified Debug Store */ "\006VMX" /* Virtual Machine Extensions */ - "\007" + "\007SMX" /* Safer Mode Extensions */ "\010EST" /* Enhanced SpeedStep */ "\011TM2" /* Thermal Monitor 2 */ "\012SSSE3" /* SSSE3 */ @@ -233,11 +233,11 @@ "\014" "\015" "\016CX16" /* CMPXCHG16B Instruction */ - "\017XTPR" /* Send Task Priority Messages*/ + "\017xTPR" /* Send Task Priority Messages*/ "\020" "\021" "\022" - "\023" + "\023DCA" /* Direct Cache Access */ "\024" "\025" "\026" @@ -312,7 +312,7 @@ "\006" "\007" "\010" - "\011" + "\011Prefetch" /* 3DNow! Prefetch/PrefetchW */ "\012" "\013" "\014" ==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#20 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.28 2007/03/05 20:35:16 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.29 2007/03/20 21:53:30 jhb Exp $"); #include "opt_isa.h" @@ -52,6 +52,7 @@ #include #include #include +#include #include #define IOAPIC_ISA_INTS 16 @@ -100,6 +101,7 @@ u_int io_intbase:8; /* System Interrupt base */ u_int io_numintr:8; volatile ioapic_t *io_addr; /* XXX: should use bus_space */ + vm_paddr_t io_paddr; STAILQ_ENTRY(ioapic) io_next; struct ioapic_intsrc io_pins[0]; }; @@ -479,6 +481,7 @@ next_ioapic_base = intbase + numintr; io->io_numintr = numintr; io->io_addr = apic; + io->io_paddr = addr; /* * Initialize pins. Start off with interrupts disabled. Default @@ -774,3 +777,73 @@ static devclass_t ioapic_devclass; DRIVER_MODULE(ioapic, pci, ioapic_pci_driver, ioapic_devclass, 0, 0); + +/* + * A new-bus driver to consume the memory resources associated with + * the APICs in the system. On some systems ACPI or PnPBIOS system + * resource devices may already claim these resources. To keep from + * breaking those devices, we attach ourself to the nexus device after + * legacy0 and acpi0 and ignore any allocation failures. + */ +static void +apic_identify(driver_t *driver, device_t parent) +{ + + /* + * Add at order 12. acpi0 is probed at order 10 and legacy0 + * is probed at order 11. + */ + if (lapic_paddr != 0) + BUS_ADD_CHILD(parent, 12, "apic", 0); +} + +static int +apic_probe(device_t dev) +{ + + device_set_desc(dev, "APIC resources"); + device_quiet(dev); + return (0); +} + +static void +apic_add_resource(device_t dev, int rid, vm_paddr_t base, size_t length) +{ + int error; + + error = bus_set_resource(dev, SYS_RES_MEMORY, rid, base, length); + if (error) + panic("apic_add_resource: resource %d failed set with %d", rid, + error); + bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, 0); +} + +static int +apic_attach(device_t dev) +{ + struct ioapic *io; + int i; + + /* Reserve the local APIC. */ + apic_add_resource(dev, 0, lapic_paddr, sizeof(lapic_t)); + i = 1; + STAILQ_FOREACH(io, &ioapic_list, io_next) { + apic_add_resource(dev, i, io->io_paddr, IOAPIC_MEM_REGION); + i++; + } + return (0); +} + +static device_method_t apic_methods[] = { + /* Device interface */ + DEVMETHOD(device_identify, apic_identify), + DEVMETHOD(device_probe, apic_probe), + DEVMETHOD(device_attach, apic_attach), + + { 0, 0 } +}; + +DEFINE_CLASS_0(apic, apic_driver, apic_methods, 0); + +static devclass_t apic_devclass; +DRIVER_MODULE(apic, nexus, apic_driver, apic_devclass, 0, 0); ==== //depot/projects/smpng/sys/amd64/amd64/legacy.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.59 2005/02/15 07:26:28 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.60 2007/03/20 20:21:44 jhb Exp $"); /* * This code implements a system driver for legacy systems that do not @@ -105,10 +105,10 @@ { /* - * Add child device with order of 1 so it gets probed - * after ACPI (which is at order 0. + * Add child device with order of 11 so it gets probed + * after ACPI (which is at order 10). */ - if (BUS_ADD_CHILD(parent, 1, "legacy", 0) == NULL) + if (BUS_ADD_CHILD(parent, 11, "legacy", 0) == NULL) panic("legacy: could not attach"); } ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#28 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.36 2007/03/06 17:16:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.37 2007/03/20 21:53:30 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -148,6 +148,7 @@ }; volatile lapic_t *lapic; +vm_paddr_t lapic_paddr; static u_long lapic_timer_divisor, lapic_timer_period, lapic_timer_hz; static void lapic_enable(void); @@ -212,6 +213,7 @@ KASSERT(trunc_page(addr) == addr, ("local APIC not aligned on a page boundary")); lapic = pmap_mapdev(addr, sizeof(lapic_t)); + lapic_paddr = addr; setidt(APIC_SPURIOUS_INT, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0); /* Perform basic initialization of the BSP's local APIC. */ ==== //depot/projects/smpng/sys/amd64/amd64/nexus.c#24 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.73 2007/02/23 12:18:25 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.75 2007/03/21 15:36:38 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -59,7 +60,9 @@ #include #include +#include #include +#include #include "pcib_if.h" @@ -348,12 +351,6 @@ if (rv == 0) return 0; rman_set_rid(rv, *rid); - if (type == SYS_RES_MEMORY) { - rman_set_bustag(rv, AMD64_BUS_SPACE_MEM); - } else if (type == SYS_RES_IOPORT) { - rman_set_bustag(rv, AMD64_BUS_SPACE_IO); - rman_set_bushandle(rv, rman_get_start(rv)); - } if (needactivate) { if (bus_activate_resource(child, type, *rid, rv)) { @@ -373,12 +370,16 @@ /* * If this is a memory resource, map it into the kernel. */ - if (rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) { + if (type == SYS_RES_MEMORY) { void *vaddr; vaddr = pmap_mapdev(rman_get_start(r), rman_get_size(r)); rman_set_virtual(r, vaddr); + rman_set_bustag(r, AMD64_BUS_SPACE_MEM); rman_set_bushandle(r, (bus_space_handle_t) vaddr); + } else if (type == SYS_RES_IOPORT) { + rman_set_bustag(r, AMD64_BUS_SPACE_IO); + rman_set_bushandle(r, rman_get_start(r)); } return (rman_activate_resource(r)); } @@ -390,7 +391,7 @@ /* * If this is a memory resource, unmap it. */ - if (rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) { + if (type == SYS_RES_MEMORY) { pmap_unmapdev((vm_offset_t)rman_get_virtual(r), rman_get_size(r)); } @@ -550,6 +551,79 @@ return (msi_release(irqs, count)); } +/* Placeholder for system RAM. */ +static void +ram_identify(driver_t *driver, device_t parent) +{ + + if (resource_disabled("ram", 0)) + return; + if (BUS_ADD_CHILD(parent, 0, "ram", 0) == NULL) + panic("ram_identify"); +} + +static int +ram_probe(device_t dev) +{ + + device_quiet(dev); + device_set_desc(dev, "System RAM"); + return (0); +} + +static int +ram_attach(device_t dev) +{ + struct bios_smap *smapbase, *smap, *smapend; + struct resource *res; + caddr_t kmdp; + uint32_t smapsize; + int error, rid; + + /* Retrieve the system memory map from the loader. */ + kmdp = preload_search_by_type("elf kernel"); + if (kmdp == NULL) + kmdp = preload_search_by_type("elf64 kernel"); + smapbase = (struct bios_smap *)preload_search_info(kmdp, + MODINFO_METADATA | MODINFOMD_SMAP); + smapsize = *((u_int32_t *)smapbase - 1); + smapend = (struct bios_smap *)((uintptr_t)smapbase + smapsize); + + rid = 0; + for (smap = smapbase; smap < smapend; smap++) { + if (smap->type != 0x01 || smap->length == 0) + continue; + error = bus_set_resource(dev, SYS_RES_MEMORY, rid, smap->base, + smap->length); + if (error) + panic("ram_attach: resource %d failed set with %d", rid, + error); + res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, 0); + if (res == NULL) + panic("ram_attach: resource %d failed to attach", rid); + rid++; + } + return (0); +} + +static device_method_t ram_methods[] = { + /* Device interface */ + DEVMETHOD(device_identify, ram_identify), + DEVMETHOD(device_probe, ram_probe), + DEVMETHOD(device_attach, ram_attach), + { 0, 0 } +}; + +static driver_t ram_driver = { + "ram", + ram_methods, + 1, /* no softc */ +}; + +static devclass_t ram_devclass; + +DRIVER_MODULE(ram, nexus, ram_driver, ram_devclass, 0, 0); + #ifdef DEV_ISA /* * Placeholder which claims PnP 'devices' which describe system ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#73 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.580 2007/03/05 21:40:10 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.581 2007/03/10 20:26:43 alc Exp $"); /* * Manages physical address maps. @@ -168,7 +168,6 @@ struct pmap kernel_pmap_store; -static vm_paddr_t avail_start; /* PA of first available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ @@ -396,38 +395,38 @@ } static u_int64_t -allocpages(int n) +allocpages(vm_paddr_t *firstaddr, int n) { u_int64_t ret; - ret = avail_start; + ret = *firstaddr; bzero((void *)ret, n * PAGE_SIZE); - avail_start += n * PAGE_SIZE; + *firstaddr += n * PAGE_SIZE; return (ret); } static void -create_pagetables(void) +create_pagetables(vm_paddr_t *firstaddr) { int i; /* Allocate pages */ - KPTphys = allocpages(NKPT); - KPML4phys = allocpages(1); - KPDPphys = allocpages(NKPML4E); - KPDphys = allocpages(NKPDPE); + KPTphys = allocpages(firstaddr, NKPT); + KPML4phys = allocpages(firstaddr, 1); + KPDPphys = allocpages(firstaddr, NKPML4E); + KPDphys = allocpages(firstaddr, NKPDPE); ndmpdp = (ptoa(Maxmem) + NBPDP - 1) >> PDPSHIFT; if (ndmpdp < 4) /* Minimum 4GB of dirmap */ ndmpdp = 4; - DMPDPphys = allocpages(NDMPML4E); - DMPDphys = allocpages(ndmpdp); + DMPDPphys = allocpages(firstaddr, NDMPML4E); + DMPDphys = allocpages(firstaddr, ndmpdp); dmaplimit = (vm_paddr_t)ndmpdp << PDPSHIFT; /* Fill in the underlying page table pages */ /* Read-only from zero to physfree */ /* XXX not fully used, underneath 2M pages */ - for (i = 0; (i << PAGE_SHIFT) < avail_start; i++) { + for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) { ((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT; ((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G; } @@ -440,7 +439,7 @@ /* Map from zero to end of allocations under 2M pages */ /* This replaces some of the KPTphys entries above */ - for (i = 0; (i << PDRSHIFT) < avail_start; i++) { + for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) { ((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT; ((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G; } @@ -493,15 +492,12 @@ vm_offset_t va; pt_entry_t *pte, *unused; - avail_start = *firstaddr; - /* * Create an initial set of page tables to run the kernel in. */ - create_pagetables(); - *firstaddr = avail_start; + create_pagetables(firstaddr); - virtual_avail = (vm_offset_t) KERNBASE + avail_start; + virtual_avail = (vm_offset_t) KERNBASE + *firstaddr; virtual_avail = pmap_kmem_choose(virtual_avail); virtual_end = VM_MAX_KERNEL_ADDRESS; ==== //depot/projects/smpng/sys/amd64/include/apicvar.h#17 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.22 2007/03/05 20:35:16 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.23 2007/03/20 21:53:31 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -174,6 +174,8 @@ IDTVEC(apic_isr4), IDTVEC(apic_isr5), IDTVEC(apic_isr6), IDTVEC(apic_isr7), IDTVEC(spuriousint), IDTVEC(timerint); +extern vm_paddr_t lapic_paddr; + u_int apic_alloc_vector(u_int irq); u_int apic_alloc_vectors(u_int *irqs, u_int count, u_int align); void apic_enable_vector(u_int vector); ==== //depot/projects/smpng/sys/amd64/include/pcpu.h#6 (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/include/pcpu.h,v 1.46 2007/02/06 18:04:02 bde Exp $ + * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.47 2007/03/11 05:54:28 alc Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -56,6 +56,7 @@ extern struct pcpu *pcpup; #define PCPU_GET(member) (pcpup->pc_ ## member) +#define PCPU_LAZY_INC(member) (++pcpup->pc_ ## member) #define PCPU_PTR(member) (&pcpup->pc_ ## member) #define PCPU_SET(member, val) (pcpup->pc_ ## member = (val)) @@ -109,6 +110,34 @@ }) /* + * Increments the value of the per-cpu counter name. The implementation + * must be atomic with respect to interrupts. + */ +#define __PCPU_LAZY_INC(name) do { \ + CTASSERT(sizeof(__pcpu_type(name)) == 1 || \ + sizeof(__pcpu_type(name)) == 2 || \ + sizeof(__pcpu_type(name)) == 4 || \ + sizeof(__pcpu_type(name)) == 8); \ + if (sizeof(__pcpu_type(name)) == 1) { \ + __asm __volatile("incb %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } else if (sizeof(__pcpu_type(name)) == 2) { \ + __asm __volatile("incw %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } else if (sizeof(__pcpu_type(name)) == 4) { \ + __asm __volatile("incl %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } else if (sizeof(__pcpu_type(name)) == 8) { \ + __asm __volatile("incq %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } \ +} while (0) + +/* * Sets the value of the per-cpu variable name to value val. */ #define __PCPU_SET(name, val) { \ @@ -130,6 +159,7 @@ } #define PCPU_GET(member) __PCPU_GET(pc_ ## member) +#define PCPU_LAZY_INC(member) __PCPU_LAZY_INC(pc_ ## member) #define PCPU_PTR(member) __PCPU_PTR(pc_ ## member) #define PCPU_SET(member, val) __PCPU_SET(pc_ ## member, val) ==== //depot/projects/smpng/sys/amd64/include/specialreg.h#12 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.36 2007/01/09 19:23:21 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.38 2007/03/20 20:22:45 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -112,35 +112,38 @@ #define CPUID_IA64 0x40000000 #define CPUID_PBE 0x80000000 -#define CPUID2_SSE3 0x00000001 -#define CPUID2_MON 0x00000008 -#define CPUID2_DS_CPL 0x00000010 -#define CPUID2_VMX 0x00000020 -#define CPUID2_EST 0x00000080 -#define CPUID2_TM2 0x00000100 -#define CPUID2_SSSE3 0x00000200 -#define CPUID2_CNXTID 0x00000400 -#define CPUID2_CX16 0x00002000 -#define CPUID2_XTPR 0x00004000 +#define CPUID2_SSE3 0x00000001 +#define CPUID2_MON 0x00000008 +#define CPUID2_DS_CPL 0x00000010 +#define CPUID2_VMX 0x00000020 +#define CPUID2_SMX 0x00000040 +#define CPUID2_EST 0x00000080 +#define CPUID2_TM2 0x00000100 +#define CPUID2_SSSE3 0x00000200 +#define CPUID2_CNXTID 0x00000400 +#define CPUID2_CX16 0x00002000 +#define CPUID2_XTPR 0x00004000 +#define CPUID2_DCA 0x00040000 /* * Important bits in the AMD extended cpuid flags */ -#define AMDID_SYSCALL 0x00000800 -#define AMDID_MP 0x00080000 -#define AMDID_NX 0x00100000 -#define AMDID_EXT_MMX 0x00400000 -#define AMDID_FFXSR 0x01000000 -#define AMDID_RDTSCP 0x08000000 -#define AMDID_LM 0x20000000 -#define AMDID_EXT_3DNOW 0x40000000 -#define AMDID_3DNOW 0x80000000 +#define AMDID_SYSCALL 0x00000800 +#define AMDID_MP 0x00080000 +#define AMDID_NX 0x00100000 +#define AMDID_EXT_MMX 0x00400000 +#define AMDID_FFXSR 0x01000000 +#define AMDID_RDTSCP 0x08000000 +#define AMDID_LM 0x20000000 +#define AMDID_EXT_3DNOW 0x40000000 +#define AMDID_3DNOW 0x80000000 -#define AMDID2_LAHF 0x00000001 -#define AMDID2_CMP 0x00000002 -#define AMDID2_SVM 0x00000004 -#define AMDID2_EXT_APIC 0x00000008 -#define AMDID2_CR8 0x00000010 +#define AMDID2_LAHF 0x00000001 +#define AMDID2_CMP 0x00000002 +#define AMDID2_SVM 0x00000004 +#define AMDID2_EXT_APIC 0x00000008 +#define AMDID2_CR8 0x00000010 +#define AMDID2_PREFETCH 0x00000100 /* * CPUID instruction 1 ebx info @@ -153,29 +156,29 @@ /* * AMD extended function 8000_0008h ecx info */ -#define AMDID_CMP_CORES 0x000000ff +#define AMDID_CMP_CORES 0x000000ff /* * Model-specific registers for the i386 family */ -#define MSR_P5_MC_ADDR 0x000 -#define MSR_P5_MC_TYPE 0x001 -#define MSR_TSC 0x010 +#define MSR_P5_MC_ADDR 0x000 +#define MSR_P5_MC_TYPE 0x001 +#define MSR_TSC 0x010 #define MSR_P5_CESR 0x011 #define MSR_P5_CTR0 0x012 #define MSR_P5_CTR1 0x013 #define MSR_IA32_PLATFORM_ID 0x017 -#define MSR_APICBASE 0x01b -#define MSR_EBL_CR_POWERON 0x02a +#define MSR_APICBASE 0x01b +#define MSR_EBL_CR_POWERON 0x02a #define MSR_TEST_CTL 0x033 -#define MSR_BIOS_UPDT_TRIG 0x079 +#define MSR_BIOS_UPDT_TRIG 0x079 #define MSR_BBL_CR_D0 0x088 #define MSR_BBL_CR_D1 0x089 #define MSR_BBL_CR_D2 0x08a -#define MSR_BIOS_SIGN 0x08b -#define MSR_PERFCTR0 0x0c1 -#define MSR_PERFCTR1 0x0c2 -#define MSR_MTRRcap 0x0fe +#define MSR_BIOS_SIGN 0x08b +#define MSR_PERFCTR0 0x0c1 +#define MSR_PERFCTR1 0x0c2 +#define MSR_MTRRcap 0x0fe #define MSR_BBL_CR_ADDR 0x116 #define MSR_BBL_CR_DECC 0x118 #define MSR_BBL_CR_CTL 0x119 @@ -185,47 +188,47 @@ #define MSR_SYSENTER_CS_MSR 0x174 #define MSR_SYSENTER_ESP_MSR 0x175 #define MSR_SYSENTER_EIP_MSR 0x176 -#define MSR_MCG_CAP 0x179 -#define MSR_MCG_STATUS 0x17a -#define MSR_MCG_CTL 0x17b -#define MSR_EVNTSEL0 0x186 -#define MSR_EVNTSEL1 0x187 -#define MSR_THERM_CONTROL 0x19a -#define MSR_THERM_INTERRUPT 0x19b -#define MSR_THERM_STATUS 0x19c >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 21 19:14:53 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8190216A4F5; Wed, 21 Mar 2007 19:14:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4194216A4EC for ; Wed, 21 Mar 2007 19:14:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3115B13C4D9 for ; Wed, 21 Mar 2007 19:14:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2LJErgb090218 for ; Wed, 21 Mar 2007 19:14:53 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2LJErCw090214 for perforce@freebsd.org; Wed, 21 Mar 2007 19:14:53 GMT (envelope-from jhb@freebsd.org) Date: Wed, 21 Mar 2007 19:14:53 GMT Message-Id: <200703211914.l2LJErCw090214@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 116274 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2007 19:14:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=116274 Change 116274 by jhb@jhb_mutex on 2007/03/21 19:14:12 IFC @116273 Affected files ... .. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#27 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#99 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#45 integrate Differences ... ==== //depot/projects/smpng/sys/dev/iwi/if_iwi.c#27 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.51 2007/03/11 22:39:13 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.52 2007/03/21 18:40:31 jhb Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -3093,7 +3093,7 @@ static int iwi_init_fw_dma(struct iwi_softc *sc, int size) { - if (sc->fw_dma_size > size) + if (sc->fw_dma_size >= size) return 0; if (bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, ==== //depot/projects/smpng/sys/netinet/tcp_input.c#99 (text+ko) ==== @@ -27,10 +27,10 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.320 2007/03/21 18:25:28 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.324 2007/03/21 18:56:03 andre Exp $ */ -#include "opt_ipfw.h" /* for ipfw_fwd */ +#include "opt_ipfw.h" /* for ipfw_fwd */ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipsec.h" @@ -106,11 +106,11 @@ static int tcp_log_in_vain = 0; SYSCTL_INT(_net_inet_tcp, OID_AUTO, log_in_vain, CTLFLAG_RW, - &tcp_log_in_vain, 0, "Log all incoming TCP connections"); + &tcp_log_in_vain, 0, "Log all incoming TCP segments to closed ports"); static int blackhole = 0; SYSCTL_INT(_net_inet_tcp, OID_AUTO, blackhole, CTLFLAG_RW, - &blackhole, 0, "Do not send RST when dropping refused connections"); + &blackhole, 0, "Do not send RST on segments to closed ports"); int tcp_delack_enabled = 1; SYSCTL_INT(_net_inet_tcp, OID_AUTO, delayed_ack, CTLFLAG_RW, @@ -617,14 +617,7 @@ th->th_urp = ntohs(th->th_urp); /* - * Delay dropping TCP, IP headers, IPv6 ext headers, and TCP options, - * until after ip6_savecontrol() is called and before other functions - * which don't want those proto headers. - * Because ip6_savecontrol() is going to parse the mbuf to - * search for data to be passed up to user-land, it wants mbuf - * parameters to be unchanged. - * XXX: the call of ip6_savecontrol() has been obsoleted based on - * latest version of the advanced API (20020110). + * Delay dropping TCP, IP headers, IPv6 ext headers, and TCP options. */ drop_hdrlen = off0 + off; @@ -664,8 +657,9 @@ } /* Remove the tag from the packet. We don't need it anymore. */ m_tag_delete(m, fwd_tag); - } else { + } else #endif /* IPFIREWALL_FORWARD */ + { if (isipv6) { #ifdef INET6 inp = in6_pcblookup_hash(&tcbinfo, @@ -680,9 +674,7 @@ ip->ip_dst, th->th_dport, INPLOOKUP_WILDCARD, m->m_pkthdr.rcvif); -#ifdef IPFIREWALL_FORWARD } -#endif /* IPFIREWALL_FORWARD */ #if defined(IPSEC) || defined(FAST_IPSEC) #ifdef INET6 @@ -704,62 +696,49 @@ #endif /*IPSEC || FAST_IPSEC*/ /* - * If the state is CLOSED (i.e., TCB does not exist) then - * all data in the incoming segment is discarded. - * If the TCB exists but is in CLOSED state, it is embryonic, - * but should either do a listen or a connect soon. + * If the INPCB does not exist then all data in the incoming + * segment is discarded and an appropriate RST is sent back. */ if (inp == NULL) { - if (tcp_log_in_vain) { -#ifdef INET6 + /* + * Log communication attempts to ports that are not + * in use. + */ + if ((tcp_log_in_vain == 1 && (thflags & TH_SYN)) || + tcp_log_in_vain == 2) { +#ifndef INET6 + char dbuf[4*sizeof "123"], sbuf[4*sizeof "123"]; +#else char dbuf[INET6_ADDRSTRLEN+2], sbuf[INET6_ADDRSTRLEN+2]; -#else - char dbuf[4*sizeof "123"], sbuf[4*sizeof "123"]; -#endif - if (isipv6) { -#ifdef INET6 strcpy(dbuf, "["); - strcpy(sbuf, "["); strcat(dbuf, ip6_sprintf(ip6buf, &ip6->ip6_dst)); + strcat(dbuf, "]"); + strcpy(sbuf, "["); strcat(sbuf, ip6_sprintf(ip6buf, &ip6->ip6_src)); - strcat(dbuf, "]"); strcat(sbuf, "]"); -#endif - } else { + } else +#endif /* INET6 */ + { strcpy(dbuf, inet_ntoa(ip->ip_dst)); strcpy(sbuf, inet_ntoa(ip->ip_src)); } - switch (tcp_log_in_vain) { - case 1: - if ((thflags & TH_SYN) == 0) - break; - /* FALLTHROUGH */ - case 2: - log(LOG_INFO, - "Connection attempt to TCP %s:%d " - "from %s:%d flags:0x%02x\n", - dbuf, ntohs(th->th_dport), sbuf, - ntohs(th->th_sport), thflags); - break; - default: - break; - } + log(LOG_INFO, + "Connection attempt to TCP %s:%d " + "from %s:%d flags:0x%02x\n", + dbuf, ntohs(th->th_dport), sbuf, + ntohs(th->th_sport), thflags); } - if (blackhole) { - switch (blackhole) { - case 1: - if (thflags & TH_SYN) - goto drop; - break; - case 2: - goto drop; - default: - goto drop; - } - } + /* + * When blackholing do not respond with a RST but + * completely ignore the segment and drop it. + */ + if ((blackhole == 1 && (thflags & TH_SYN)) || + blackhole == 2) + goto drop; + rstreason = BANDLIM_RST_CLOSEDPORT; goto dropwithreset; } @@ -776,21 +755,26 @@ goto drop; } + /* + * A previous connection in TIMEWAIT state is supposed to catch + * stray or duplicate segments arriving late. If this segment + * was a legitimate new connection attempt the old INPCB gets + * removed and we can try again to find a listening socket. + */ if (inp->inp_vflag & INP_TIMEWAIT) { - /* - * The only option of relevance is TOF_CC, and only if - * present in a SYN segment. See tcp_timewait(). - */ if (thflags & TH_SYN) tcp_dooptions(&to, optp, optlen, TO_SYN); if (tcp_timewait(inp, &to, th, m, tlen)) goto findpcb; - /* - * tcp_timewait unlocks inp. - */ + /* tcp_timewait unlocks inp. */ INP_INFO_WUNLOCK(&tcbinfo); return; } + /* + * The TCPCB may no longer exist if the connection is winding + * down or it is in the CLOSED state. Either way we drop the + * segment and send an appropriate response. + */ tp = intotcpcb(inp); if (tp == 0) { INP_UNLOCK(inp); @@ -817,13 +801,16 @@ tcp_savetcp = *th; } #endif + /* + * When the socket is accepting connections (the INPCB is in LISTEN + * state) we look into the SYN cache if this is a new connection + * attempt or the completion of a previous one. + */ if (so->so_options & SO_ACCEPTCONN) { struct in_conninfo inc; bzero(&inc, sizeof(inc)); -#ifdef INET6 inc.inc_isipv6 = isipv6; -#endif if (isipv6) { inc.inc6_faddr = ip6->ip6_src; inc.inc6_laddr = ip6->ip6_dst; @@ -949,21 +936,12 @@ } #endif /* + * Basic sanity checks on incoming SYN requests: + * + * Don't bother responding if the destination was a + * broadcast according to RFC1122 4.2.3.10, p. 104. + * * If it is from this socket, drop it, it must be forged. - * Don't bother responding if the destination was a broadcast. - */ - if (th->th_dport == th->th_sport) { - if (isipv6) { - if (IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, - &ip6->ip6_src)) - goto drop; - } else { - if (ip->ip_dst.s_addr == ip->ip_src.s_addr) - goto drop; - } - } - /* - * RFC1122 4.2.3.10, p. 104: discard bcast/mcast SYN * * Note that it is quite possible to receive unicast * link-layer packets with a broadcast IP address. Use @@ -972,10 +950,18 @@ if (m->m_flags & (M_BCAST|M_MCAST)) goto drop; if (isipv6) { +#ifdef INET6 + if (th->th_dport == th->th_sport && + IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, &ip6->ip6_src)) + goto drop; if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) || IN6_IS_ADDR_MULTICAST(&ip6->ip6_src)) goto drop; +#endif } else { + if (th->th_dport == th->th_sport && + ip->ip_dst.s_addr == ip->ip_src.s_addr) + goto drop; if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) || IN_MULTICAST(ntohl(ip->ip_src.s_addr)) || ip->ip_src.s_addr == htonl(INADDR_BROADCAST) || @@ -983,8 +969,8 @@ goto drop; } /* - * SYN appears to be valid; create compressed TCP state - * for syncache, or perform t/tcp connection. + * SYN appears to be valid. Create compressed TCP state + * for syncache. */ if (so->so_qlen <= so->so_qlimit) { #ifdef TCPDEBUG @@ -994,47 +980,18 @@ #endif tcp_dooptions(&to, optp, optlen, TO_SYN); if (!syncache_add(&inc, &to, th, inp, &so, m)) - goto drop; /* XXX: does not happen */ - if (so == NULL) { - /* - * Entry added to syncache, mbuf used to - * send SYN,ACK packet. Everything unlocked - * already. - */ - return; - } - panic("T/TCP not supported at the moment"); -#if 0 /* T/TCP */ + goto drop; /* - * Segment passed TAO tests. - * XXX: Can't happen at the moment. + * Entry added to syncache, mbuf used to + * send SYN-ACK packet. Everything unlocked + * already. */ - INP_UNLOCK(inp); - inp = sotoinpcb(so); - INP_LOCK(inp); - tp = intotcpcb(inp); - tp->t_starttime = ticks; - tp->t_state = TCPS_ESTABLISHED; - - /* - * T/TCP logic: - * If there is a FIN or if there is data, then - * delay SYN,ACK(SYN) in the hope of piggy-backing - * it on a response segment. Otherwise must send - * ACK now in case the other side is slow starting. - */ - if (thflags & TH_FIN || tlen != 0) - tp->t_flags |= (TF_DELACK | TF_NEEDSYN); - else - tp->t_flags |= (TF_ACKNOW | TF_NEEDSYN); - tiwin = th->th_win << tp->snd_scale; - tcpstat.tcps_connects++; - soisconnected(so); - goto trimthenstep6; -#endif /* T/TCP */ + return; } + /* Catch all. Everthing that makes it down here is junk. */ goto drop; } + after_listen: KASSERT(headlocked, ("tcp_input: after_listen: head not locked")); INP_LOCK_ASSERT(inp); @@ -1481,9 +1438,6 @@ tp->t_state = TCPS_SYN_RECEIVED; } -#if 0 /* T/TCP */ -trimthenstep6: -#endif KASSERT(headlocked, ("tcp_input: trimthenstep6: head not " "locked")); INP_LOCK_ASSERT(inp); ==== //depot/projects/smpng/sys/netinet/tcp_output.c#45 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_output.c 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_output.c,v 1.128 2007/03/19 18:42:27 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_output.c,v 1.129 2007/03/21 19:04:07 andre Exp $ */ #include "opt_inet.h" @@ -717,7 +717,7 @@ if (len + optlen + ipoptlen > tp->t_maxopd) { flags &= ~TH_FIN; if (tso) { - if (len > TCP_MAXWIN - hdrlen) { + if (len > TCP_MAXWIN - hdrlen - optlen) { len = TCP_MAXWIN - hdrlen - optlen; len = len - (len % (tp->t_maxopd - optlen)); sendalot = 1; From owner-p4-projects@FreeBSD.ORG Wed Mar 21 19:33:16 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BA0016A4DE; Wed, 21 Mar 2007 19:33:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5643616A4CC for ; Wed, 21 Mar 2007 19:33:16 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2E97C13C48C for ; Wed, 21 Mar 2007 19:33:16 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2LJXGG4093634 for ; Wed, 21 Mar 2007 19:33:16 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2LJXFrK093630 for perforce@freebsd.org; Wed, 21 Mar 2007 19:33:15 GMT (envelope-from jhb@freebsd.org) Date: Wed, 21 Mar 2007 19:33:15 GMT Message-Id: <200703211933.l2LJXFrK093630@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 116278 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2007 19:33:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=116278 Change 116278 by jhb@jhb_mutex on 2007/03/21 19:32:31 Fix a mismerge. Affected files ... .. //depot/projects/smpng/sys/kern/subr_firmware.c#17 edit Differences ... ==== //depot/projects/smpng/sys/kern/subr_firmware.c#17 (text+ko) ==== @@ -372,8 +372,6 @@ */ if (err == 0) fp->file = NULL; - else if (fp->file) - taskqueue_enqueue(taskqueue_thread, &firmware_task); } mtx_unlock(&firmware_mtx); } From owner-p4-projects@FreeBSD.ORG Wed Mar 21 20:56:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D31FC16A40A; Wed, 21 Mar 2007 20:56:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 82C1A16A406 for ; Wed, 21 Mar 2007 20:56:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 86D0913C4C4 for ; Wed, 21 Mar 2007 20:56:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2LKuTQN017865 for ; Wed, 21 Mar 2007 20:56:29 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2LKuSul017862 for perforce@freebsd.org; Wed, 21 Mar 2007 20:56:28 GMT (envelope-from jhb@freebsd.org) Date: Wed, 21 Mar 2007 20:56:28 GMT Message-Id: <200703212056.l2LKuSul017862@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 116292 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2007 20:56:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=116292 Change 116292 by jhb@jhb_mutex on 2007/03/21 20:55:35 IFC @116291 Affected files ... .. //depot/projects/smpng/sys/kern/kern_condvar.c#45 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#60 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#126 integrate .. //depot/projects/smpng/sys/netinet/tcp_hostcache.c#10 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#100 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#46 integrate .. //depot/projects/smpng/sys/netinet/tcp_sack.c#19 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#89 integrate .. //depot/projects/smpng/sys/netinet/tcp_timer.c#34 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#59 integrate Differences ... ==== //depot/projects/smpng/sys/kern/kern_condvar.c#45 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.57 2006/12/16 06:54:08 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.58 2007/03/21 20:46:26 jhb Exp $"); #include "opt_ktrace.h" @@ -96,7 +96,16 @@ cv_wait(struct cv *cvp, struct mtx *mp) { WITNESS_SAVE_DECL(mp); + struct thread *td; + td = curthread; +#ifdef KTRACE + if (KTRPOINT(td, KTR_CSW)) + ktrcsw(1, 0); +#endif + CV_ASSERT(cvp, mp, td); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->mtx_object, + "Waiting on \"%s\"", cvp->cv_description); WITNESS_SAVE(&mp->mtx_object, mp); if (cold || panicstr) { @@ -109,7 +118,21 @@ return; } - cv_wait_unlock(cvp, mp); + sleepq_lock(cvp); + + cvp->cv_waiters++; + DROP_GIANT(); + mtx_unlock(mp); + + sleepq_add(cvp, &mp->mtx_object, cvp->cv_description, SLEEPQ_CONDVAR, + 0); + sleepq_wait(cvp); + +#ifdef KTRACE + if (KTRPOINT(td, KTR_CSW)) + ktrcsw(0, 0); +#endif + PICKUP_GIANT(); mtx_lock(mp); WITNESS_RESTORE(&mp->mtx_object, mp); } @@ -153,6 +176,10 @@ 0); sleepq_wait(cvp); +#ifdef KTRACE + if (KTRPOINT(td, KTR_CSW)) + ktrcsw(0, 0); +#endif PICKUP_GIANT(); } ==== //depot/projects/smpng/sys/kern/kern_lock.c#60 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.106 2007/03/09 16:27:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.107 2007/03/21 19:28:20 jhb Exp $"); #include "opt_ddb.h" #include "opt_global.h" ==== //depot/projects/smpng/sys/kern/vfs_syscalls.c#126 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.433 2007/03/14 08:45:55 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.434 2007/03/21 19:32:08 jhb Exp $"); #include "opt_compat.h" #include "opt_mac.h" ==== //depot/projects/smpng/sys/netinet/tcp_hostcache.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/tcp_hostcache.c,v 1.11 2006/12/12 12:17:56 bz Exp $ + * $FreeBSD: src/sys/netinet/tcp_hostcache.c,v 1.12 2007/03/21 19:34:12 andre Exp $ */ /* @@ -156,26 +156,26 @@ SYSCTL_NODE(_net_inet_tcp, OID_AUTO, hostcache, CTLFLAG_RW, 0, "TCP Host cache"); SYSCTL_INT(_net_inet_tcp_hostcache, OID_AUTO, cachelimit, CTLFLAG_RDTUN, - &tcp_hostcache.cache_limit, 0, "Overall entry limit for hostcache"); + &tcp_hostcache.cache_limit, 0, "Overall entry limit for hostcache"); SYSCTL_INT(_net_inet_tcp_hostcache, OID_AUTO, hashsize, CTLFLAG_RDTUN, - &tcp_hostcache.hashsize, 0, "Size of TCP hostcache hashtable"); + &tcp_hostcache.hashsize, 0, "Size of TCP hostcache hashtable"); SYSCTL_INT(_net_inet_tcp_hostcache, OID_AUTO, bucketlimit, CTLFLAG_RDTUN, - &tcp_hostcache.bucket_limit, 0, "Per-bucket hash limit for hostcache"); + &tcp_hostcache.bucket_limit, 0, "Per-bucket hash limit for hostcache"); SYSCTL_INT(_net_inet_tcp_hostcache, OID_AUTO, count, CTLFLAG_RD, - &tcp_hostcache.cache_count, 0, "Current number of entries in hostcache"); + &tcp_hostcache.cache_count, 0, "Current number of entries in hostcache"); SYSCTL_INT(_net_inet_tcp_hostcache, OID_AUTO, expire, CTLFLAG_RW, - &tcp_hostcache.expire, 0, "Expire time of TCP hostcache entries"); + &tcp_hostcache.expire, 0, "Expire time of TCP hostcache entries"); SYSCTL_INT(_net_inet_tcp_hostcache, OID_AUTO, purge, CTLFLAG_RW, - &tcp_hostcache.purgeall, 0, "Expire all entires on next purge run"); + &tcp_hostcache.purgeall, 0, "Expire all entires on next purge run"); SYSCTL_PROC(_net_inet_tcp_hostcache, OID_AUTO, list, - CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_SKIP, 0, 0, - sysctl_tcp_hc_list, "A", "List of all hostcache entries"); + CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_SKIP, 0, 0, + sysctl_tcp_hc_list, "A", "List of all hostcache entries"); static MALLOC_DEFINE(M_HOSTCACHE, "hostcache", "TCP hostcache"); ==== //depot/projects/smpng/sys/netinet/tcp_input.c#100 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.324 2007/03/21 18:56:03 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.325 2007/03/21 19:37:55 andre Exp $ */ #include "opt_ipfw.h" /* for ipfw_fwd */ @@ -236,11 +236,7 @@ } static int -tcp_reass(tp, th, tlenp, m) - register struct tcpcb *tp; - register struct tcphdr *th; - int *tlenp; - struct mbuf *m; +tcp_reass(struct tcpcb *tp, struct tcphdr *th, int *tlenp, struct mbuf *m) { struct tseg_qent *q; struct tseg_qent *p = NULL; @@ -310,7 +306,7 @@ * segment. If it provides all of our data, drop us. */ if (p != NULL) { - register int i; + int i; /* conversion to int (in i) handles seq wraparound */ i = p->tqe_th->th_seq + p->tqe_len - th->th_seq; if (i > 0) { @@ -342,7 +338,7 @@ * if they are completely covered, dequeue them. */ while (q) { - register int i = (th->th_seq + *tlenp) - q->tqe_th->th_seq; + int i = (th->th_seq + *tlenp) - q->tqe_th->th_seq; if (i <= 0) break; if (i < q->tqe_len) { @@ -408,11 +404,9 @@ */ #ifdef INET6 int -tcp6_input(mp, offp, proto) - struct mbuf **mp; - int *offp, proto; +tcp6_input(struct mbuf **mp, int *offp, int proto) { - register struct mbuf *m = *mp; + struct mbuf *m = *mp; struct in6_ifaddr *ia6; IP6_EXTHDR_CHECK(m, *offp, sizeof(struct tcphdr), IPPROTO_DONE); @@ -437,20 +431,18 @@ #endif void -tcp_input(m, off0) - register struct mbuf *m; - int off0; +tcp_input(struct mbuf *m, int off0) { - register struct tcphdr *th; - register struct ip *ip = NULL; - register struct ipovly *ipov; - register struct inpcb *inp = NULL; + struct tcphdr *th; + struct ip *ip = NULL; + struct ipovly *ipov; + struct inpcb *inp = NULL; u_char *optp = NULL; int optlen = 0; int len, tlen, off; int drop_hdrlen; - register struct tcpcb *tp = 0; - register int thflags; + struct tcpcb *tp = 0; + int thflags; struct socket *so = 0; int todrop, acked, ourfinisacked, needoutput = 0; u_long tiwin; @@ -2137,8 +2129,8 @@ */ if ((!tcp_do_newreno && !tp->sack_enable) || !IN_FASTRECOVERY(tp)) { - register u_int cw = tp->snd_cwnd; - register u_int incr = tp->t_maxseg; + u_int cw = tp->snd_cwnd; + u_int incr = tp->t_maxseg; if (cw > tp->snd_ssthresh) incr = incr * incr / cw; tp->snd_cwnd = min(cw+incr, TCP_MAXWIN<snd_scale); @@ -2597,11 +2589,7 @@ * Parse TCP options and place in tcpopt. */ static void -tcp_dooptions(to, cp, cnt, flags) - struct tcpopt *to; - u_char *cp; - int cnt; - int flags; +tcp_dooptions(struct tcpopt *to, u_char *cp, int cnt, int flags) { int opt, optlen; @@ -2691,11 +2679,8 @@ * sequencing purposes. */ static void -tcp_pulloutofband(so, th, m, off) - struct socket *so; - struct tcphdr *th; - register struct mbuf *m; - int off; /* delayed to be droped hdrlen */ +tcp_pulloutofband(struct socket *so, struct tcphdr *th, struct mbuf *m, + int off) { int cnt = off + th->th_urp - 1; @@ -2725,11 +2710,9 @@ * and update averages and current timeout. */ static void -tcp_xmit_timer(tp, rtt) - register struct tcpcb *tp; - int rtt; +tcp_xmit_timer(struct tcpcb *tp, int rtt) { - register int delta; + int delta; INP_LOCK_ASSERT(tp->t_inpcb); @@ -2833,9 +2816,7 @@ * segment. Outgoing SYN/ACK MSS settings are handled in tcp_mssopt(). */ void -tcp_mss(tp, offer) - struct tcpcb *tp; - int offer; +tcp_mss(struct tcpcb *tp, int offer) { int rtt, mss; u_long bufsize; @@ -3079,8 +3060,7 @@ * Determine the MSS option to send on an outgoing SYN. */ int -tcp_mssopt(inc) - struct in_conninfo *inc; +tcp_mssopt(struct in_conninfo *inc) { int mss = 0; u_long maxmtu = 0; @@ -3122,9 +3102,7 @@ * be started again. */ static void -tcp_newreno_partial_ack(tp, th) - struct tcpcb *tp; - struct tcphdr *th; +tcp_newreno_partial_ack(struct tcpcb *tp, struct tcphdr *th) { tcp_seq onxt = tp->snd_nxt; u_long ocwnd = tp->snd_cwnd; @@ -3158,12 +3136,8 @@ * looking for a pcb in the listen state. Returns 0 otherwise. */ static int -tcp_timewait(inp, to, th, m, tlen) - struct inpcb *inp; - struct tcpopt *to; - struct tcphdr *th; - struct mbuf *m; - int tlen; +tcp_timewait(struct inpcb *inp, struct tcpopt *to, struct tcphdr *th, + struct mbuf *m, int tlen) { struct tcptw *tw; int thflags; ==== //depot/projects/smpng/sys/netinet/tcp_output.c#46 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_output.c 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_output.c,v 1.129 2007/03/21 19:04:07 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_output.c,v 1.130 2007/03/21 19:37:55 andre Exp $ */ #include "opt_inet.h" @@ -1226,8 +1226,7 @@ } void -tcp_setpersist(tp) - register struct tcpcb *tp; +tcp_setpersist(struct tcpcb *tp) { int t = ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1; int tt; ==== //depot/projects/smpng/sys/netinet/tcp_sack.c#19 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_sack.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_sack.c,v 1.33 2007/03/21 18:25:28 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_sack.c,v 1.34 2007/03/21 19:37:55 andre Exp $ */ /*- @@ -319,7 +319,7 @@ */ static struct sackhole * tcp_sackhole_insert(struct tcpcb *tp, tcp_seq start, tcp_seq end, - struct sackhole *after) + struct sackhole *after) { struct sackhole *hole; @@ -582,9 +582,7 @@ * of sack recovery. */ void -tcp_sack_partialack(tp, th) - struct tcpcb *tp; - struct tcphdr *th; +tcp_sack_partialack(struct tcpcb *tp, struct tcphdr *th) { int num_segs = 1; ==== //depot/projects/smpng/sys/netinet/tcp_subr.c#89 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.271 2007/03/21 18:05:54 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.272 2007/03/21 19:37:55 andre Exp $ */ #include "opt_compat.h" @@ -466,10 +466,10 @@ * NOTE: If m != NULL, then ti must point to *inside* the mbuf. */ void -tcp_respond(struct tcpcb *tp, void *ipgen, register struct tcphdr *th, - register struct mbuf *m, tcp_seq ack, tcp_seq seq, int flags) +tcp_respond(struct tcpcb *tp, void *ipgen, struct tcphdr *th, + struct mbuf *m, tcp_seq ack, tcp_seq seq, int flags) { - register int tlen; + int tlen; int win = 0; struct ip *ip; struct tcphdr *nth; @@ -1058,7 +1058,7 @@ } SYSCTL_PROC(_net_inet_tcp, TCPCTL_PCBLIST, pcblist, CTLFLAG_RD, 0, 0, - tcp_pcblist, "S,xtcpcb", "List of active TCP connections"); + tcp_pcblist, "S,xtcpcb", "List of active TCP connections"); static int tcp_getcred(SYSCTL_HANDLER_ARGS) ==== //depot/projects/smpng/sys/netinet/tcp_timer.c#34 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_timer.c 8.2 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_timer.c,v 1.87 2007/03/19 18:57:10 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_timer.c,v 1.88 2007/03/21 19:37:55 andre Exp $ */ #include "opt_inet6.h" @@ -146,8 +146,7 @@ */ void -tcp_timer_delack(xtp) - void *xtp; +tcp_timer_delack(void *xtp) { struct tcpcb *tp = xtp; struct inpcb *inp; @@ -182,8 +181,7 @@ } void -tcp_timer_2msl(xtp) - void *xtp; +tcp_timer_2msl(void *xtp) { struct tcpcb *tp = xtp; struct inpcb *inp; @@ -306,8 +304,7 @@ } void -tcp_timer_keep(xtp) - void *xtp; +tcp_timer_keep(void *xtp) { struct tcpcb *tp = xtp; struct tcptemp *t_template; @@ -398,8 +395,7 @@ } void -tcp_timer_persist(xtp) - void *xtp; +tcp_timer_persist(void *xtp) { struct tcpcb *tp = xtp; struct inpcb *inp; @@ -465,8 +461,7 @@ } void -tcp_timer_rexmt(xtp) - void *xtp; +tcp_timer_rexmt(void * xtp) { struct tcpcb *tp = xtp; int rexmt; ==== //depot/projects/smpng/sys/netinet/tcp_usrreq.c#59 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 - * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.148 2007/03/21 18:05:54 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.149 2007/03/21 19:37:55 andre Exp $ */ #include "opt_ddb.h" @@ -777,7 +777,7 @@ */ static int tcp_usr_send(struct socket *so, int flags, struct mbuf *m, - struct sockaddr *nam, struct mbuf *control, struct thread *td) + struct sockaddr *nam, struct mbuf *control, struct thread *td) { int error = 0; struct inpcb *inp; @@ -1100,10 +1100,7 @@ * Initialize connection parameters and enter SYN-SENT state. */ static int -tcp_connect(tp, nam, td) - register struct tcpcb *tp; - struct sockaddr *nam; - struct thread *td; +tcp_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) { struct inpcb *inp = tp->t_inpcb, *oinp; struct socket *so = inp->inp_socket; @@ -1159,10 +1156,7 @@ #ifdef INET6 static int -tcp6_connect(tp, nam, td) - register struct tcpcb *tp; - struct sockaddr *nam; - struct thread *td; +tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) { struct inpcb *inp = tp->t_inpcb, *oinp; struct socket *so = inp->inp_socket; @@ -1232,9 +1226,7 @@ * from Linux. */ static void -tcp_fill_info(tp, ti) - struct tcpcb *tp; - struct tcp_info *ti; +tcp_fill_info(struct tcpcb *tp, struct tcp_info *ti) { INP_LOCK_ASSERT(tp->t_inpcb); @@ -1276,9 +1268,7 @@ * the inpcb lock. */ int -tcp_ctloutput(so, sopt) - struct socket *so; - struct sockopt *sopt; +tcp_ctloutput(struct socket *so, struct sockopt *sopt) { int error, opt, optval; struct inpcb *inp; @@ -1440,10 +1430,9 @@ * bufer space, and entering LISTEN state if to accept connections. */ static int -tcp_attach(so) - struct socket *so; +tcp_attach(struct socket *so) { - register struct tcpcb *tp; + struct tcpcb *tp; struct inpcb *inp; int error; #ifdef INET6 @@ -1503,8 +1492,7 @@ * send segment to peer (with FIN). */ static void -tcp_disconnect(tp) - register struct tcpcb *tp; +tcp_disconnect(struct tcpcb *tp) { struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; @@ -1544,8 +1532,7 @@ * We can let the user exit from the close as soon as the FIN is acked. */ static void -tcp_usrclosed(tp) - register struct tcpcb *tp; +tcp_usrclosed(struct tcpcb *tp) { INP_INFO_WLOCK_ASSERT(&tcbinfo); From owner-p4-projects@FreeBSD.ORG Wed Mar 21 21:27:13 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 231DD16A485; Wed, 21 Mar 2007 21:27:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EC01216A46F for ; Wed, 21 Mar 2007 21:27:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C713913C4E1 for ; Wed, 21 Mar 2007 21:27:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2LLRCTi025412 for ; Wed, 21 Mar 2007 21:27:12 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2LLRCHr025409 for perforce@freebsd.org; Wed, 21 Mar 2007 21:27:12 GMT (envelope-from jhb@freebsd.org) Date: Wed, 21 Mar 2007 21:27:12 GMT Message-Id: <200703212127.l2LLRCHr025409@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 116296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 21 Mar 2007 21:27:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=116296 Change 116296 by jhb@jhb_mutex on 2007/03/21 21:26:23 IFC @116295. Affected files ... .. //depot/projects/smpng/sys/kern/kern_condvar.c#46 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#121 integrate .. //depot/projects/smpng/sys/kern/kern_kse.c#37 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#61 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#144 integrate .. //depot/projects/smpng/sys/kern/kern_rwlock.c#13 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#133 integrate .. //depot/projects/smpng/sys/kern/kern_sx.c#44 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#115 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#160 integrate .. //depot/projects/smpng/sys/sys/_mutex.h#17 integrate .. //depot/projects/smpng/sys/sys/_rwlock.h#3 integrate .. //depot/projects/smpng/sys/sys/lock.h#44 integrate .. //depot/projects/smpng/sys/sys/mutex.h#71 integrate .. //depot/projects/smpng/sys/sys/proc.h#179 integrate .. //depot/projects/smpng/sys/sys/rwlock.h#8 integrate .. //depot/projects/smpng/sys/sys/sx.h#24 integrate .. //depot/projects/smpng/sys/sys/systm.h#82 integrate Differences ... ==== //depot/projects/smpng/sys/kern/kern_condvar.c#46 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.58 2007/03/21 20:46:26 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.59 2007/03/21 21:20:50 jhb Exp $"); #include "opt_ktrace.h" @@ -104,9 +104,9 @@ ktrcsw(1, 0); #endif CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->mtx_object, + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->mtx_object, mp); + WITNESS_SAVE(&mp->lock_object, mp); if (cold || panicstr) { /* @@ -124,7 +124,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, &mp->mtx_object, cvp->cv_description, SLEEPQ_CONDVAR, + sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_wait(cvp); @@ -134,7 +134,7 @@ #endif PICKUP_GIANT(); mtx_lock(mp); - WITNESS_RESTORE(&mp->mtx_object, mp); + WITNESS_RESTORE(&mp->lock_object, mp); } /* @@ -152,7 +152,7 @@ ktrcsw(1, 0); #endif CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->mtx_object, + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, "Waiting on \"%s\"", cvp->cv_description); if (cold || panicstr) { @@ -172,7 +172,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, &mp->mtx_object, cvp->cv_description, SLEEPQ_CONDVAR, + sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_wait(cvp); @@ -204,9 +204,9 @@ ktrcsw(1, 0); #endif CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->mtx_object, + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->mtx_object, mp); + WITNESS_SAVE(&mp->lock_object, mp); if (cold || panicstr) { /* @@ -224,7 +224,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, &mp->mtx_object, cvp->cv_description, SLEEPQ_CONDVAR | + sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE, 0); rval = sleepq_wait_sig(cvp); @@ -234,7 +234,7 @@ #endif PICKUP_GIANT(); mtx_lock(mp); - WITNESS_RESTORE(&mp->mtx_object, mp); + WITNESS_RESTORE(&mp->lock_object, mp); return (rval); } @@ -258,9 +258,9 @@ ktrcsw(1, 0); #endif CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->mtx_object, + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->mtx_object, mp); + WITNESS_SAVE(&mp->lock_object, mp); if (cold || panicstr) { /* @@ -278,7 +278,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, &mp->mtx_object, cvp->cv_description, SLEEPQ_CONDVAR, + sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_set_timeout(cvp, timo); rval = sleepq_timedwait(cvp); @@ -289,7 +289,7 @@ #endif PICKUP_GIANT(); mtx_lock(mp); - WITNESS_RESTORE(&mp->mtx_object, mp); + WITNESS_RESTORE(&mp->lock_object, mp); return (rval); } @@ -316,9 +316,9 @@ ktrcsw(1, 0); #endif CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->mtx_object, + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->mtx_object, mp); + WITNESS_SAVE(&mp->lock_object, mp); if (cold || panicstr) { /* @@ -336,7 +336,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, &mp->mtx_object, cvp->cv_description, SLEEPQ_CONDVAR | + sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE, 0); sleepq_set_timeout(cvp, timo); rval = sleepq_timedwait_sig(cvp); @@ -347,7 +347,7 @@ #endif PICKUP_GIANT(); mtx_lock(mp); - WITNESS_RESTORE(&mp->mtx_object, mp); + WITNESS_RESTORE(&mp->lock_object, mp); return (rval); } ==== //depot/projects/smpng/sys/kern/kern_exit.c#121 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.296 2007/03/05 13:10:57 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.297 2007/03/21 21:20:50 jhb Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -495,7 +495,7 @@ */ cpu_exit(td); - WITNESS_WARN(WARN_PANIC, &proctree_lock.sx_object, + WITNESS_WARN(WARN_PANIC, &proctree_lock.lock_object, "process (pid %d) exiting", p->p_pid); PROC_LOCK(p); ==== //depot/projects/smpng/sys/kern/kern_kse.c#37 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.228 2007/03/07 20:17:41 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.229 2007/03/21 21:20:50 jhb Exp $"); #include #include @@ -1253,7 +1253,7 @@ PROC_LOCK(p); if (p->p_upsleeps) wakeup(&p->p_completed); - WITNESS_WARN(WARN_PANIC, &p->p_mtx.mtx_object, + WITNESS_WARN(WARN_PANIC, &p->p_mtx.lock_object, "thread exiting in userret"); sigqueue_flush(&td->td_sigqueue); mtx_lock_spin(&sched_lock); ==== //depot/projects/smpng/sys/kern/kern_lock.c#61 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.107 2007/03/21 19:28:20 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.108 2007/03/21 21:20:50 jhb Exp $"); #include "opt_ddb.h" #include "opt_global.h" @@ -217,7 +217,7 @@ if ((flags & (LK_NOWAIT|LK_RELEASE)) == 0) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, - &lkp->lk_interlock->mtx_object, + &lkp->lk_interlock->lock_object, "Acquiring lockmgr lock \"%s\"", lkp->lk_wmesg); if (panicstr != NULL) { ==== //depot/projects/smpng/sys/kern/kern_mutex.c#144 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.185 2007/03/09 16:27:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.186 2007/03/21 21:20:50 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -181,16 +181,16 @@ MPASS(curthread != NULL); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_lock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->mtx_object) == &lock_class_mtx_sleep, - ("mtx_lock() of spin mutex %s @ %s:%d", m->mtx_object.lo_name, + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, + ("mtx_lock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); - WITNESS_CHECKORDER(&m->mtx_object, opts | LOP_NEWORDER | LOP_EXCLUSIVE, + WITNESS_CHECKORDER(&m->lock_object, opts | LOP_NEWORDER | LOP_EXCLUSIVE, file, line); _get_sleep_lock(m, curthread, opts, file, line); - LOCK_LOG_LOCK("LOCK", &m->mtx_object, opts, m->mtx_recurse, file, + LOCK_LOG_LOCK("LOCK", &m->lock_object, opts, m->mtx_recurse, file, line); - WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, line); + WITNESS_LOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); curthread->td_locks++; } @@ -200,16 +200,16 @@ MPASS(curthread != NULL); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_unlock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->mtx_object) == &lock_class_mtx_sleep, - ("mtx_unlock() of spin mutex %s @ %s:%d", m->mtx_object.lo_name, + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, + ("mtx_unlock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); curthread->td_locks--; - WITNESS_UNLOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, line); - LOCK_LOG_LOCK("UNLOCK", &m->mtx_object, opts, m->mtx_recurse, file, + WITNESS_UNLOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); + LOCK_LOG_LOCK("UNLOCK", &m->lock_object, opts, m->mtx_recurse, file, line); mtx_assert(m, MA_OWNED); - lock_profile_release_lock(&m->mtx_object); + lock_profile_release_lock(&m->lock_object); _rel_sleep_lock(m, curthread, opts, file, line); } @@ -220,15 +220,15 @@ MPASS(curthread != NULL); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_lock_spin() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->mtx_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, ("mtx_lock_spin() of sleep mutex %s @ %s:%d", - m->mtx_object.lo_name, file, line)); - WITNESS_CHECKORDER(&m->mtx_object, opts | LOP_NEWORDER | LOP_EXCLUSIVE, + 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); - LOCK_LOG_LOCK("LOCK", &m->mtx_object, opts, m->mtx_recurse, file, + LOCK_LOG_LOCK("LOCK", &m->lock_object, opts, m->mtx_recurse, file, line); - WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, line); + WITNESS_LOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); } void @@ -238,15 +238,15 @@ MPASS(curthread != NULL); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_unlock_spin() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->mtx_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, ("mtx_unlock_spin() of sleep mutex %s @ %s:%d", - m->mtx_object.lo_name, file, line)); - WITNESS_UNLOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, line); - LOCK_LOG_LOCK("UNLOCK", &m->mtx_object, opts, m->mtx_recurse, file, + m->lock_object.lo_name, file, line)); + WITNESS_UNLOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); + LOCK_LOG_LOCK("UNLOCK", &m->lock_object, opts, m->mtx_recurse, file, line); mtx_assert(m, MA_OWNED); - lock_profile_release_lock(&m->mtx_object); + lock_profile_release_lock(&m->lock_object); _rel_spin_lock(m); } @@ -264,24 +264,24 @@ MPASS(curthread != NULL); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_trylock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->mtx_object) == &lock_class_mtx_sleep, - ("mtx_trylock() of spin mutex %s @ %s:%d", m->mtx_object.lo_name, + KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, + ("mtx_trylock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); - if (mtx_owned(m) && (m->mtx_object.lo_flags & LO_RECURSABLE) != 0) { + if (mtx_owned(m) && (m->lock_object.lo_flags & LO_RECURSABLE) != 0) { m->mtx_recurse++; atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); rval = 1; } else rval = _obtain_lock(m, (uintptr_t)curthread); - LOCK_LOG_TRY("LOCK", &m->mtx_object, opts, rval, file, line); + LOCK_LOG_TRY("LOCK", &m->lock_object, opts, rval, file, line); if (rval) { - WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE | LOP_TRYLOCK, + WITNESS_LOCK(&m->lock_object, opts | LOP_EXCLUSIVE | LOP_TRYLOCK, file, line); curthread->td_locks++; if (m->mtx_recurse == 0) - lock_profile_obtain_lock_success(&m->mtx_object, contested, + lock_profile_obtain_lock_success(&m->lock_object, contested, waittime, file, line); } @@ -308,12 +308,12 @@ uintptr_t v; if (mtx_owned(m)) { - KASSERT((m->mtx_object.lo_flags & LO_RECURSABLE) != 0, + KASSERT((m->lock_object.lo_flags & LO_RECURSABLE) != 0, ("_mtx_lock_sleep: recursed on non-recursive mutex %s @ %s:%d\n", - m->mtx_object.lo_name, file, line)); + m->lock_object.lo_name, file, line)); m->mtx_recurse++; atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_lock_sleep: %p recursing", m); return; } @@ -327,13 +327,13 @@ if (panicstr != NULL && curthread->td_flags & TDF_INPANIC) return; - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR4(KTR_LOCK, "_mtx_lock_sleep: %s contested (lock=%p) at %s:%d", - m->mtx_object.lo_name, (void *)m->mtx_lock, file, line); + m->lock_object.lo_name, (void *)m->mtx_lock, file, line); while (!_obtain_lock(m, tid)) { - turnstile_lock(&m->mtx_object); + turnstile_lock(&m->lock_object); v = m->mtx_lock; /* @@ -341,7 +341,7 @@ * the turnstile chain lock. */ if (v == MTX_UNOWNED) { - turnstile_release(&m->mtx_object); + turnstile_release(&m->lock_object); cpu_spinwait(); continue; } @@ -357,7 +357,7 @@ */ if (v == MTX_CONTESTED) { m->mtx_lock = tid | MTX_CONTESTED; - turnstile_claim(&m->mtx_object); + turnstile_claim(&m->lock_object); break; } #endif @@ -369,7 +369,7 @@ */ if ((v & MTX_CONTESTED) == 0 && !atomic_cmpset_ptr(&m->mtx_lock, v, v | MTX_CONTESTED)) { - turnstile_release(&m->mtx_object); + turnstile_release(&m->lock_object); cpu_spinwait(); continue; } @@ -386,7 +386,7 @@ if (m != &Giant && TD_IS_RUNNING(owner)) #endif { - turnstile_release(&m->mtx_object); + turnstile_release(&m->lock_object); while (mtx_owner(m) == owner && TD_IS_RUNNING(owner)) { cpu_spinwait(); } @@ -403,9 +403,9 @@ if (!cont_logged) { CTR6(KTR_CONTENTION, "contention: %p at %s:%d wants %s, taken by %s:%d", - (void *)tid, file, line, m->mtx_object.lo_name, - WITNESS_FILE(&m->mtx_object), - WITNESS_LINE(&m->mtx_object)); + (void *)tid, file, line, m->lock_object.lo_name, + WITNESS_FILE(&m->lock_object), + WITNESS_LINE(&m->lock_object)); cont_logged = 1; } #endif @@ -413,14 +413,14 @@ /* * Block on the turnstile. */ - turnstile_wait(&m->mtx_object, mtx_owner(m), + turnstile_wait(&m->lock_object, mtx_owner(m), TS_EXCLUSIVE_QUEUE); } #ifdef KTR if (cont_logged) { CTR4(KTR_CONTENTION, "contention end: %s acquired by %p at %s:%d", - m->mtx_object.lo_name, (void *)tid, file, line); + m->lock_object.lo_name, (void *)tid, file, line); } #endif return; @@ -440,7 +440,7 @@ int i = 0; struct thread *td; - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_lock_spin: %p spinning", m); while (!_obtain_lock(m, tid)) { @@ -462,9 +462,9 @@ continue; printf( "spin lock %p (%s) held by %p (tid %d) too long\n", - m, m->mtx_object.lo_name, td, td->td_tid); + m, m->lock_object.lo_name, td, td->td_tid); #ifdef WITNESS - witness_display_spinlock(&m->mtx_object, td); + witness_display_spinlock(&m->lock_object, td); #endif panic("spin lock held too long"); } @@ -473,7 +473,7 @@ spinlock_enter(); } - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_lock_spin: %p spin done", m); return; @@ -497,7 +497,7 @@ if (mtx_recursed(m)) { if (--(m->mtx_recurse) == 0) atomic_clear_ptr(&m->mtx_lock, MTX_RECURSED); - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p unrecurse", m); return; } @@ -511,17 +511,17 @@ if (panicstr != NULL && curthread->td_flags & TDF_INPANIC) return; - turnstile_lock(&m->mtx_object); - ts = turnstile_lookup(&m->mtx_object); - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + turnstile_lock(&m->lock_object); + ts = turnstile_lookup(&m->lock_object); + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p contested", m); #if defined(SMP) && !defined(NO_ADAPTIVE_MUTEXES) if (ts == NULL) { _release_lock_quick(m); - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p no sleepers", m); - turnstile_release(&m->mtx_object); + turnstile_release(&m->lock_object); return; } #else @@ -537,11 +537,11 @@ #else if (turnstile_signal(ts, TS_EXCLUSIVE_QUEUE)) { _release_lock_quick(m); - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); } else { m->mtx_lock = MTX_CONTESTED; - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", m); } @@ -566,7 +566,7 @@ struct ithd *it = td->td_ithd; if (it->it_interrupted) { - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p interrupted %p", it, it->it_interrupted); @@ -574,13 +574,13 @@ } } #endif - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p switching out lock=%p", m, (void *)m->mtx_lock); mi_switch(SW_INVOL, NULL); - if (LOCK_LOG_TEST(&m->mtx_object, opts)) + if (LOCK_LOG_TEST(&m->lock_object, opts)) CTR2(KTR_LOCK, "_mtx_unlock_sleep: %p resuming lock=%p", m, (void *)m->mtx_lock); } @@ -611,20 +611,20 @@ case MA_OWNED | MA_NOTRECURSED: if (!mtx_owned(m)) panic("mutex %s not owned at %s:%d", - m->mtx_object.lo_name, file, line); + m->lock_object.lo_name, file, line); if (mtx_recursed(m)) { if ((what & MA_NOTRECURSED) != 0) panic("mutex %s recursed at %s:%d", - m->mtx_object.lo_name, file, line); + m->lock_object.lo_name, file, line); } else if ((what & MA_RECURSED) != 0) { panic("mutex %s unrecursed at %s:%d", - m->mtx_object.lo_name, file, line); + m->lock_object.lo_name, file, line); } break; case MA_NOTOWNED: if (mtx_owned(m)) panic("mutex %s owned at %s:%d", - m->mtx_object.lo_name, file, line); + m->lock_object.lo_name, file, line); break; default: panic("unknown mtx_assert at %s:%d", file, line); @@ -715,8 +715,8 @@ m->mtx_lock = MTX_UNOWNED; m->mtx_recurse = 0; - lock_profile_object_init(&m->mtx_object, class, name); - lock_init(&m->mtx_object, class, name, type, flags); + lock_profile_object_init(&m->lock_object, class, name); + lock_init(&m->lock_object, class, name, type, flags); } /* @@ -735,19 +735,19 @@ MPASS((m->mtx_lock & (MTX_RECURSED|MTX_CONTESTED)) == 0); /* Perform the non-mtx related part of mtx_unlock_spin(). */ - if (LOCK_CLASS(&m->mtx_object) == &lock_class_mtx_spin) + if (LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin) spinlock_exit(); else curthread->td_locks--; /* Tell witness this isn't locked to make it happy. */ - WITNESS_UNLOCK(&m->mtx_object, LOP_EXCLUSIVE, __FILE__, + WITNESS_UNLOCK(&m->lock_object, LOP_EXCLUSIVE, __FILE__, __LINE__); } m->mtx_lock = MTX_DESTROYED; - lock_profile_object_destroy(&m->mtx_object); - lock_destroy(&m->mtx_object); + lock_profile_object_destroy(&m->lock_object); + lock_destroy(&m->lock_object); } /* @@ -788,9 +788,9 @@ db_printf("SPIN"); else db_printf("DEF"); - if (m->mtx_object.lo_flags & LO_RECURSABLE) + if (m->lock_object.lo_flags & LO_RECURSABLE) db_printf(", RECURSE"); - if (m->mtx_object.lo_flags & LO_DUPOK) + if (m->lock_object.lo_flags & LO_DUPOK) db_printf(", DUPOK"); db_printf("}\n"); db_printf(" state: {"); ==== //depot/projects/smpng/sys/kern/kern_rwlock.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.20 2007/03/13 16:51:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.21 2007/03/21 21:20:50 jhb Exp $"); #include "opt_ddb.h" @@ -118,8 +118,8 @@ rw->rw_lock = RW_UNLOCKED; - lock_profile_object_init(&rw->rw_object, &lock_class_rw, name); - lock_init(&rw->rw_object, &lock_class_rw, name, NULL, LO_WITNESS | + lock_profile_object_init(&rw->lock_object, &lock_class_rw, name); + lock_init(&rw->lock_object, &lock_class_rw, name, NULL, LO_WITNESS | LO_RECURSABLE | LO_UPGRADABLE); } @@ -128,8 +128,8 @@ { KASSERT(rw->rw_lock == RW_UNLOCKED, ("rw lock not unlocked")); - lock_profile_object_destroy(&rw->rw_object); - lock_destroy(&rw->rw_object); + lock_profile_object_destroy(&rw->lock_object); + lock_destroy(&rw->lock_object); } void @@ -154,12 +154,12 @@ MPASS(curthread != NULL); KASSERT(rw_wowner(rw) != curthread, ("%s (%s): wlock already held @ %s:%d", __func__, - rw->rw_object.lo_name, file, line)); - WITNESS_CHECKORDER(&rw->rw_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, + rw->lock_object.lo_name, file, line)); + WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, line); __rw_wlock(rw, curthread, file, line); - LOCK_LOG_LOCK("WLOCK", &rw->rw_object, 0, 0, file, line); - WITNESS_LOCK(&rw->rw_object, LOP_EXCLUSIVE, file, line); + LOCK_LOG_LOCK("WLOCK", &rw->lock_object, 0, 0, file, line); + WITNESS_LOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); curthread->td_locks++; } @@ -170,9 +170,9 @@ MPASS(curthread != NULL); _rw_assert(rw, RA_WLOCKED, file, line); curthread->td_locks--; - WITNESS_UNLOCK(&rw->rw_object, LOP_EXCLUSIVE, file, line); - LOCK_LOG_LOCK("WUNLOCK", &rw->rw_object, 0, 0, file, line); - lock_profile_release_lock(&rw->rw_object); + WITNESS_UNLOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); + LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, 0, file, line); + lock_profile_release_lock(&rw->lock_object); __rw_wunlock(rw, curthread, file, line); } @@ -188,8 +188,8 @@ KASSERT(rw_wowner(rw) != curthread, ("%s (%s): wlock already held @ %s:%d", __func__, - rw->rw_object.lo_name, file, line)); - WITNESS_CHECKORDER(&rw->rw_object, LOP_NEWORDER, file, line); + rw->lock_object.lo_name, file, line)); + WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER, file, line); /* * Note that we don't make any attempt to try to block read @@ -224,21 +224,21 @@ MPASS((x & RW_LOCK_READ_WAITERS) == 0); if (atomic_cmpset_acq_ptr(&rw->rw_lock, x, x + RW_ONE_READER)) { - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR4(KTR_LOCK, "%s: %p succeed %p -> %p", __func__, rw, (void *)x, (void *)(x + RW_ONE_READER)); if (RW_READERS(x) == 0) lock_profile_obtain_lock_success( - &rw->rw_object, contested, waittime, + &rw->lock_object, contested, waittime, file, line); break; } cpu_spinwait(); continue; } - lock_profile_obtain_lock_failed(&rw->rw_object, &contested, + lock_profile_obtain_lock_failed(&rw->lock_object, &contested, &waittime); /* @@ -246,7 +246,7 @@ * has a write lock, so acquire the turnstile lock so we can * begin the process of blocking. */ - turnstile_lock(&rw->rw_object); + turnstile_lock(&rw->lock_object); /* * The lock might have been released while we spun, so @@ -255,7 +255,7 @@ */ x = rw->rw_lock; if (x & RW_LOCK_READ) { - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); cpu_spinwait(); continue; } @@ -269,11 +269,11 @@ if (!(x & RW_LOCK_READ_WAITERS)) { if (!atomic_cmpset_ptr(&rw->rw_lock, x, x | RW_LOCK_READ_WAITERS)) { - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); cpu_spinwait(); continue; } - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p set read waiters flag", __func__, rw); } @@ -286,8 +286,8 @@ */ owner = (struct thread *)RW_OWNER(x); if (TD_IS_RUNNING(owner)) { - turnstile_release(&rw->rw_object); - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + turnstile_release(&rw->lock_object); + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, rw, owner); while ((struct thread*)RW_OWNER(rw->rw_lock)== owner && @@ -301,11 +301,11 @@ * We were unable to acquire the lock and the read waiters * flag is set, so we must block on the turnstile. */ - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, rw); - turnstile_wait(&rw->rw_object, rw_owner(rw), TS_SHARED_QUEUE); - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + turnstile_wait(&rw->lock_object, rw_owner(rw), TS_SHARED_QUEUE); + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p resuming from turnstile", __func__, rw); } @@ -316,8 +316,8 @@ * turnstile_wait() currently. */ - LOCK_LOG_LOCK("RLOCK", &rw->rw_object, 0, 0, file, line); - WITNESS_LOCK(&rw->rw_object, 0, file, line); + LOCK_LOG_LOCK("RLOCK", &rw->lock_object, 0, 0, file, line); + WITNESS_LOCK(&rw->lock_object, 0, file, line); curthread->td_locks++; } @@ -329,8 +329,8 @@ _rw_assert(rw, RA_RLOCKED, file, line); curthread->td_locks--; - WITNESS_UNLOCK(&rw->rw_object, 0, file, line); - LOCK_LOG_LOCK("RUNLOCK", &rw->rw_object, 0, 0, file, line); + WITNESS_UNLOCK(&rw->lock_object, 0, file, line); + LOCK_LOG_LOCK("RUNLOCK", &rw->lock_object, 0, 0, file, line); /* TODO: drop "owner of record" here. */ @@ -343,7 +343,7 @@ if (RW_READERS(x) > 1) { if (atomic_cmpset_ptr(&rw->rw_lock, x, x - RW_ONE_READER)) { - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR4(KTR_LOCK, "%s: %p succeeded %p -> %p", __func__, rw, (void *)x, @@ -377,7 +377,7 @@ MPASS(x == RW_READERS_LOCK(1)); if (atomic_cmpset_ptr(&rw->rw_lock, RW_READERS_LOCK(1), RW_UNLOCKED)) { - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p last succeeded", __func__, rw); break; @@ -395,7 +395,7 @@ * Ok, we know we have a waiting writer and we think we * are the last reader, so grab the turnstile lock. */ - turnstile_lock(&rw->rw_object); + turnstile_lock(&rw->lock_object); /* * Try to drop our lock leaving the lock in a unlocked @@ -415,10 +415,10 @@ */ if (!atomic_cmpset_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | RW_LOCK_WRITE_WAITERS, RW_UNLOCKED)) { - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); continue; } - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p last succeeded with waiters", __func__, rw); @@ -429,13 +429,13 @@ * block again if they run before the new lock holder(s) * release the lock. */ - ts = turnstile_lookup(&rw->rw_object); + ts = turnstile_lookup(&rw->lock_object); MPASS(ts != NULL); turnstile_broadcast(ts, TS_EXCLUSIVE_QUEUE); turnstile_unpend(ts, TS_SHARED_LOCK); break; } - lock_profile_release_lock(&rw->rw_object); + lock_profile_release_lock(&rw->lock_object); } /* @@ -451,12 +451,12 @@ #endif uintptr_t v; - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR5(KTR_LOCK, "%s: %s contested (lock=%p) at %s:%d", __func__, - rw->rw_object.lo_name, (void *)rw->rw_lock, file, line); + rw->lock_object.lo_name, (void *)rw->rw_lock, file, line); while (!_rw_write_lock(rw, tid)) { - turnstile_lock(&rw->rw_object); + turnstile_lock(&rw->lock_object); v = rw->rw_lock; /* @@ -464,7 +464,7 @@ * turnstile chain lock, try again. */ if (v == RW_UNLOCKED) { - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); cpu_spinwait(); continue; } @@ -483,12 +483,12 @@ if (atomic_cmpset_acq_ptr(&rw->rw_lock, RW_UNLOCKED | RW_LOCK_WRITE_WAITERS, tid | RW_LOCK_WRITE_WAITERS)) { - turnstile_claim(&rw->rw_object); + turnstile_claim(&rw->lock_object); CTR2(KTR_LOCK, "%s: %p claimed by new writer", __func__, rw); break; } - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); cpu_spinwait(); continue; } @@ -501,11 +501,11 @@ if (!(v & RW_LOCK_WRITE_WAITERS)) { if (!atomic_cmpset_ptr(&rw->rw_lock, v, v | RW_LOCK_WRITE_WAITERS)) { - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); cpu_spinwait(); continue; } - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p set write waiters flag", __func__, rw); } @@ -518,8 +518,8 @@ */ owner = (struct thread *)RW_OWNER(v); if (!(v & RW_LOCK_READ) && TD_IS_RUNNING(owner)) { - turnstile_release(&rw->rw_object); - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + turnstile_release(&rw->lock_object); + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, rw, owner); while ((struct thread*)RW_OWNER(rw->rw_lock)== owner && @@ -533,12 +533,12 @@ * We were unable to acquire the lock and the write waiters * flag is set, so we must block on the turnstile. */ - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, rw); - turnstile_wait(&rw->rw_object, rw_owner(rw), + turnstile_wait(&rw->lock_object, rw_owner(rw), TS_EXCLUSIVE_QUEUE); - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p resuming from turnstile", __func__, rw); } @@ -559,11 +559,11 @@ KASSERT(rw->rw_lock & (RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS), ("%s: neither of the waiter flags are set", __func__)); - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p contested", __func__, rw); - turnstile_lock(&rw->rw_object); - ts = turnstile_lookup(&rw->rw_object); + turnstile_lock(&rw->lock_object); + ts = turnstile_lookup(&rw->lock_object); #ifdef SMP /* @@ -573,9 +573,9 @@ */ if (ts == NULL) { atomic_store_rel_ptr(&rw->rw_lock, RW_UNLOCKED); - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p no sleepers", __func__, rw); - turnstile_release(&rw->rw_object); + turnstile_release(&rw->lock_object); return; } #else @@ -624,7 +624,7 @@ * disown the turnstile and return. */ if (turnstile_empty(ts, queue)) { - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p no sleepers 2", __func__, rw); atomic_store_rel_ptr(&rw->rw_lock, v); turnstile_disown(ts); @@ -633,7 +633,7 @@ #endif /* Wake up all waiters for the specific queue. */ - if (LOCK_LOG_TEST(&rw->rw_object, 0)) + if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: %p waking up %s waiters", __func__, rw, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 22 02:53:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FE9C16A4E7; Thu, 22 Mar 2007 02:53:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 265D716A4E2 for ; Thu, 22 Mar 2007 02:53:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1608B13C455 for ; Thu, 22 Mar 2007 02:53:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2M2r379095746 for ; Thu, 22 Mar 2007 02:53:03 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2M2r381095742 for perforce@freebsd.org; Thu, 22 Mar 2007 02:53:03 GMT (envelope-from jhb@freebsd.org) Date: Thu, 22 Mar 2007 02:53:03 GMT Message-Id: <200703220253.l2M2r381095742@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 116308 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 02:53:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=116308 Change 116308 by jhb@jhb_mutex on 2007/03/22 02:52:38 IFC @116307. Affected files ... .. //depot/projects/smpng/sys/kern/kern_condvar.c#47 integrate .. //depot/projects/smpng/sys/sys/condvar.h#10 integrate .. //depot/projects/smpng/sys/sys/lock.h#45 integrate Differences ... ==== //depot/projects/smpng/sys/kern/kern_condvar.c#47 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.59 2007/03/21 21:20:50 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.60 2007/03/21 22:22:12 jhb Exp $"); #include "opt_ktrace.h" @@ -49,12 +49,11 @@ /* * Common sanity checks for cv_wait* functions. */ -#define CV_ASSERT(cvp, mp, td) do { \ +#define CV_ASSERT(cvp, lock, td) do { \ KASSERT((td) != NULL, ("%s: curthread NULL", __func__)); \ KASSERT(TD_IS_RUNNING(td), ("%s: not TDS_RUNNING", __func__)); \ KASSERT((cvp) != NULL, ("%s: cvp NULL", __func__)); \ - KASSERT((mp) != NULL, ("%s: mp NULL", __func__)); \ - mtx_assert((mp), MA_OWNED | MA_NOTRECURSED); \ + KASSERT((lock) != NULL, ("%s: lock NULL", __func__)); \ } while (0) /* @@ -93,20 +92,23 @@ * held when cv_signal or cv_broadcast are called. */ void -cv_wait(struct cv *cvp, struct mtx *mp) +_cv_wait(struct cv *cvp, struct lock_object *lock) { - WITNESS_SAVE_DECL(mp); + WITNESS_SAVE_DECL(lock_witness); + struct lock_class *class; struct thread *td; + int lock_state; td = curthread; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) ktrcsw(1, 0); #endif - CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, + CV_ASSERT(cvp, lock, td); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->lock_object, mp); + WITNESS_SAVE(lock, lock_witness); + class = LOCK_CLASS(lock); if (cold || panicstr) { /* @@ -122,10 +124,9 @@ cvp->cv_waiters++; DROP_GIANT(); - mtx_unlock(mp); + lock_state = class->lc_unlock(lock); - sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR, - 0); + sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_wait(cvp); #ifdef KTRACE @@ -133,8 +134,8 @@ ktrcsw(0, 0); #endif PICKUP_GIANT(); - mtx_lock(mp); - WITNESS_RESTORE(&mp->lock_object, mp); + class->lc_lock(lock, lock_state); + WITNESS_RESTORE(lock, lock_witness); } /* @@ -142,8 +143,9 @@ * not aquiring the mutex after condition variable was signaled. */ void -cv_wait_unlock(struct cv *cvp, struct mtx *mp) +_cv_wait_unlock(struct cv *cvp, struct lock_object *lock) { + struct lock_class *class; struct thread *td; td = curthread; @@ -151,9 +153,10 @@ if (KTRPOINT(td, KTR_CSW)) ktrcsw(1, 0); #endif - CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, + CV_ASSERT(cvp, lock, td); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Waiting on \"%s\"", cvp->cv_description); + class = LOCK_CLASS(lock); if (cold || panicstr) { /* @@ -162,7 +165,7 @@ * thread or panic below, in case this is the idle * process and already asleep. */ - mtx_unlock(mp); + class->lc_unlock(lock); return; } @@ -170,10 +173,9 @@ cvp->cv_waiters++; DROP_GIANT(); - mtx_unlock(mp); + class->lc_unlock(lock); - sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR, - 0); + sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_wait(cvp); #ifdef KTRACE @@ -190,12 +192,13 @@ * restarted if possible. */ int -cv_wait_sig(struct cv *cvp, struct mtx *mp) +_cv_wait_sig(struct cv *cvp, struct lock_object *lock) { + WITNESS_SAVE_DECL(lock_witness); + struct lock_class *class; struct thread *td; struct proc *p; - int rval; - WITNESS_SAVE_DECL(mp); + int lock_state, rval; td = curthread; p = td->td_proc; @@ -203,10 +206,11 @@ if (KTRPOINT(td, KTR_CSW)) ktrcsw(1, 0); #endif - CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, + CV_ASSERT(cvp, lock, td); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->lock_object, mp); + WITNESS_SAVE(lock, lock_witness); + class = LOCK_CLASS(lock); if (cold || panicstr) { /* @@ -222,9 +226,9 @@ cvp->cv_waiters++; DROP_GIANT(); - mtx_unlock(mp); + lock_state = class->lc_unlock(lock); - sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR | + sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE, 0); rval = sleepq_wait_sig(cvp); @@ -233,8 +237,8 @@ ktrcsw(0, 0); #endif PICKUP_GIANT(); - mtx_lock(mp); - WITNESS_RESTORE(&mp->lock_object, mp); + class->lc_lock(lock, lock_state); + WITNESS_RESTORE(lock, lock_witness); return (rval); } @@ -245,11 +249,12 @@ * expires. */ int -cv_timedwait(struct cv *cvp, struct mtx *mp, int timo) +_cv_timedwait(struct cv *cvp, struct lock_object *lock, int timo) { + WITNESS_SAVE_DECL(lock_witness); + struct lock_class *class; struct thread *td; - int rval; - WITNESS_SAVE_DECL(mp); + int lock_state, rval; td = curthread; rval = 0; @@ -257,10 +262,11 @@ if (KTRPOINT(td, KTR_CSW)) ktrcsw(1, 0); #endif - CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, + CV_ASSERT(cvp, lock, td); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->lock_object, mp); + WITNESS_SAVE(lock, lock_witness); + class = LOCK_CLASS(lock); if (cold || panicstr) { /* @@ -276,10 +282,9 @@ cvp->cv_waiters++; DROP_GIANT(); - mtx_unlock(mp); + lock_state = class->lc_unlock(lock); - sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR, - 0); + sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_set_timeout(cvp, timo); rval = sleepq_timedwait(cvp); @@ -288,8 +293,8 @@ ktrcsw(0, 0); #endif PICKUP_GIANT(); - mtx_lock(mp); - WITNESS_RESTORE(&mp->lock_object, mp); + class->lc_lock(lock, lock_state); + WITNESS_RESTORE(lock, lock_witness); return (rval); } @@ -301,12 +306,13 @@ * a signal was caught. */ int -cv_timedwait_sig(struct cv *cvp, struct mtx *mp, int timo) +_cv_timedwait_sig(struct cv *cvp, struct lock_object *lock, int timo) { + WITNESS_SAVE_DECL(lock_witness); + struct lock_class *class; struct thread *td; struct proc *p; - int rval; - WITNESS_SAVE_DECL(mp); + int lock_state, rval; td = curthread; p = td->td_proc; @@ -315,10 +321,11 @@ if (KTRPOINT(td, KTR_CSW)) ktrcsw(1, 0); #endif - CV_ASSERT(cvp, mp, td); - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, &mp->lock_object, + CV_ASSERT(cvp, lock, td); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Waiting on \"%s\"", cvp->cv_description); - WITNESS_SAVE(&mp->lock_object, mp); + WITNESS_SAVE(lock, lock_witness); + class = LOCK_CLASS(lock); if (cold || panicstr) { /* @@ -334,9 +341,9 @@ cvp->cv_waiters++; DROP_GIANT(); - mtx_unlock(mp); + lock_state = class->lc_unlock(lock); - sleepq_add(cvp, &mp->lock_object, cvp->cv_description, SLEEPQ_CONDVAR | + sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE, 0); sleepq_set_timeout(cvp, timo); rval = sleepq_timedwait_sig(cvp); @@ -346,8 +353,8 @@ ktrcsw(0, 0); #endif PICKUP_GIANT(); - mtx_lock(mp); - WITNESS_RESTORE(&mp->lock_object, mp); + class->lc_lock(lock, lock_state); + WITNESS_RESTORE(lock, lock_witness); return (rval); } ==== //depot/projects/smpng/sys/sys/condvar.h#10 (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/sys/condvar.h,v 1.13 2005/12/12 00:02:22 rodrigc Exp $ + * $FreeBSD: src/sys/sys/condvar.h,v 1.14 2007/03/21 22:22:13 jhb Exp $ */ #ifndef _SYS_CONDVAR_H_ @@ -32,7 +32,7 @@ #ifndef LOCORE #include -struct mtx; +struct lock_object; struct thread; TAILQ_HEAD(cv_waitq, thread); @@ -52,15 +52,26 @@ void cv_init(struct cv *cvp, const char *desc); void cv_destroy(struct cv *cvp); -void cv_wait(struct cv *cvp, struct mtx *mp); -void cv_wait_unlock(struct cv *cvp, struct mtx *mp); -int cv_wait_sig(struct cv *cvp, struct mtx *mp); -int cv_timedwait(struct cv *cvp, struct mtx *mp, int timo); -int cv_timedwait_sig(struct cv *cvp, struct mtx *mp, int timo); +void _cv_wait(struct cv *cvp, struct lock_object *lock); +void _cv_wait_unlock(struct cv *cvp, struct lock_object *lock); +int _cv_wait_sig(struct cv *cvp, struct lock_object *lock); +int _cv_timedwait(struct cv *cvp, struct lock_object *lock, int timo); +int _cv_timedwait_sig(struct cv *cvp, struct lock_object *lock, int timo); void cv_signal(struct cv *cvp); void cv_broadcastpri(struct cv *cvp, int pri); +#define cv_wait(cvp, lock) \ + _cv_wait((cvp), &(lock)->lock_object) +#define cv_wait_unlock(cvp, lock) \ + _cv_wait_unlock((cvp), &(lock)->lock_object) +#define cv_wait_sig(cvp, lock) \ + _cv_wait_sig((cvp), &(lock)->lock_object) +#define cv_timedwait(cvp, lock, timo) \ + _cv_timedwait((cvp), &(lock)->lock_object, (timo)) +#define cv_timedwait_sig(cvp, lock, timo) \ + _cv_timedwait_sig((cvp), &(lock)->lock_object, (timo)) + #define cv_broadcast(cvp) cv_broadcastpri(cvp, -1) #define cv_wmesg(cvp) ((cvp)->cv_description) ==== //depot/projects/smpng/sys/sys/lock.h#45 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * from BSDI $Id: mutex.h,v 2.7.2.35 2000/04/27 03:10:26 cp Exp $ - * $FreeBSD: src/sys/sys/lock.h,v 1.66 2007/03/21 21:20:51 jhb Exp $ + * $FreeBSD: src/sys/sys/lock.h,v 1.67 2007/03/21 22:18:10 jhb Exp $ */ #ifndef _SYS_LOCK_H_ @@ -325,16 +325,12 @@ * Helper macros to allow developers to add explicit lock order checks * wherever they please without having to actually grab a lock to do so. */ -#define witness_check_mutex(m) \ - WITNESS_CHECKORDER(&(m)->lock_object, LOP_EXCLUSIVE, LOCK_FILE, \ +#define witness_check(l) \ + WITNESS_CHECKORDER(&(l)->lock_object, LOP_EXCLUSIVE, LOCK_FILE, \ LOCK_LINE) -#define witness_check_shared_sx(sx) \ - WITNESS_CHECKORDER(&(sx)->lock_object, 0, LOCK_FILE, LOCK_LINE) +#define witness_check_shared(l) \ + WITNESS_CHECKORDER(&(l)->lock_object, 0, LOCK_FILE, LOCK_LINE) -#define witness_check_exclusive_sx(sx) \ - WITNESS_CHECKORDER(&(sx)->lock_object, LOP_EXCLUSIVE, LOCK_FILE, \ - LOCK_LINE) - #endif /* _KERNEL */ #endif /* _SYS_LOCK_H_ */ From owner-p4-projects@FreeBSD.ORG Thu Mar 22 19:42:06 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC5DC16A402; Thu, 22 Mar 2007 19:42:05 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 952B616A400 for ; Thu, 22 Mar 2007 19:42:05 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8623A13C43E for ; Thu, 22 Mar 2007 19:42:05 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MJg56c085554 for ; Thu, 22 Mar 2007 19:42:05 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MJg5Mm085551 for perforce@freebsd.org; Thu, 22 Mar 2007 19:42:05 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 19:42:05 GMT Message-Id: <200703221942.l2MJg5Mm085551@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 116354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 19:42:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=116354 Change 116354 by gonzo@gonzo_jeeves on 2007/03/22 19:41:58 o Remove extra newlines. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#21 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#21 (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/mips2/src/sys/mips/mips/exception.S#20 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#21 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -930,9 +930,6 @@ sw sp, TF_REG_SP(k1) sw gp, TF_REG_GP(k1) - - - /* * All done. */ From owner-p4-projects@FreeBSD.ORG Thu Mar 22 19:44:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6558216A40B; Thu, 22 Mar 2007 19:44:10 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1253516A407 for ; Thu, 22 Mar 2007 19:44:10 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 110BE13C45D for ; Thu, 22 Mar 2007 19:44:09 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MJi80t086576 for ; Thu, 22 Mar 2007 19:44:08 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MJi8IE086573 for perforce@freebsd.org; Thu, 22 Mar 2007 19:44:08 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 19:44:08 GMT Message-Id: <200703221944.l2MJi8IE086573@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 116356 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 19:44:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=116356 Change 116356 by gonzo@gonzo_jeeves on 2007/03/22 19:43:36 o Fill sigcode with implementation - just make sigreturn syscall. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/locore.S#15 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/locore.S#15 (text+ko) ==== @@ -26,6 +26,7 @@ * $FreeBSD$ */ +#include #include #include #include @@ -116,7 +117,10 @@ /* NOTREACHED */ ASM_ENTRY(sigcode) - break + move a0, sp + li v0, SYS_sigreturn + syscall + break 0 esigcode: .data From owner-p4-projects@FreeBSD.ORG Thu Mar 22 20:18:52 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F20016A406; Thu, 22 Mar 2007 20:18:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 273EC16A400 for ; Thu, 22 Mar 2007 20:18:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 17F7513C45B for ; Thu, 22 Mar 2007 20:18:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MKIpl7006808 for ; Thu, 22 Mar 2007 20:18:51 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MKIpD0006801 for perforce@freebsd.org; Thu, 22 Mar 2007 20:18:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 20:18:51 GMT Message-Id: <200703222018.l2MKIpD0006801@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 116358 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 20:18:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=116358 Change 116358 by gonzo@gonzo_jeeves on 2007/03/22 20:18:43 o Save EntryHi (we need ASID part only) before start messing with it and then restore before resume. EntryHi should be set to pm_asid by pmap_activate and should be kept during process's lifecycle in userland. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/swtch.S#10 edit .. //depot/projects/mips2/src/sys/mips/mips/tlb.c#12 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/swtch.S#10 (text+ko) ==== @@ -60,6 +60,7 @@ break entry0: + mfc0 t0, MIPS_COP_0_TLB_HI # Save old ASID mtc0 v0, MIPS_COP_0_TLB_HI # VPN = va COP0_SYNC nop @@ -87,6 +88,7 @@ nop mtc0 v0, MIPS_COP_0_TLB_HI # set VPN again COP0_SYNC + entry0set: mtc0 zero, MIPS_COP_0_TLB_INDEX # TLB entry #0 COP0_SYNC @@ -102,9 +104,9 @@ COP0_SYNC nop nop + mtc0 t0, MIPS_COP_0_TLB_HI # Restore old ASID + resume: - - .set at lw t2, pcpup .set noat @@ -156,7 +158,6 @@ li v0, 0 jr ra nop - END(savectx) /* @@ -167,7 +168,6 @@ */ ENTRY(fork_trampoline) - mtc0 zero, MIPS_COP_0_STATUS # disable int COP0_SYNC nop # 3 op delay @@ -195,5 +195,4 @@ jal exception_restore_registers nop eret - END(fork_trampoline) ==== //depot/projects/mips2/src/sys/mips/mips/tlb.c#12 (text+ko) ==== @@ -181,21 +181,25 @@ void tlb_update(vm_offset_t va, uint32_t asid, pt_entry_t pte0, pt_entry_t pte1) { - u_long ehi; + register_t ehi, old_ehi; int i; va &= ~PAGE_MASK; ehi = MIPS_HI_ENTRY(va, asid); + old_ehi = mips_rd_entryhi(); mips_wr_entryhi(ehi); mips_tlbp(); i = mips_rd_index(); mips_wr_entrylo0(pte0); mips_wr_entrylo1(pte1); mips_wr_entryhi(ehi); + if (i < 0) mips_tlbwr(); else mips_tlbwi(); + + mips_wr_entryhi(old_ehi); } /* @@ -204,12 +208,9 @@ void tlb_invalidate_all(void) { - u_long asid; int i; - asid = mips_rd_entryhi(); for (i = 0; i < mips_num_tlb_entries; i++) tlb_invalidate_one(i); - mips_wr_entryhi(asid); } /* @@ -219,12 +220,9 @@ void tlb_invalidate_nonwired(void) { - u_long asid; int i; - asid = mips_rd_entryhi(); for (i = mips_rd_wired(); i < mips_num_tlb_entries; i++) tlb_invalidate_one(i); - mips_wr_entryhi(asid); } /* @@ -246,7 +244,10 @@ tlb_invalidate_one(int i) { u_long ehi; + u_long old_ehi; + old_ehi = mips_rd_entryhi(); + /* Bogus VPN2. */ ehi = MIPS_KSEG3_START + 0x0fff0000 + 2 * i * PAGE_SIZE; mips_wr_index(i); @@ -254,22 +255,30 @@ mips_wr_entrylo1(0); mips_wr_entryhi(ehi); mips_tlbwi(); + + mips_wr_entryhi(old_ehi); } void tlb_invalidate_page(vm_offset_t va, uint32_t asid) { - u_long ehi; + u_long ehi, old_ehi; int i; + old_ehi = mips_rd_entryhi(); + va &= ~PAGE_MASK; ehi = MIPS_HI_ENTRY(va, asid); mips_wr_entryhi(ehi); mips_tlbp(); i = mips_rd_index(); + if (i >= 0) tlb_invalidate_one(i); + mips_dcache_wbinv_range_index(va, PAGE_SIZE); + + mips_wr_entryhi(old_ehi); } /* From owner-p4-projects@FreeBSD.ORG Thu Mar 22 20:37:15 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80A8D16A407; Thu, 22 Mar 2007 20:37:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4FF7B16A401 for ; Thu, 22 Mar 2007 20:37:15 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3F70C13C4B0 for ; Thu, 22 Mar 2007 20:37:15 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MKbFiP016750 for ; Thu, 22 Mar 2007 20:37:15 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MKbEWt016745 for perforce@freebsd.org; Thu, 22 Mar 2007 20:37:14 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 20:37:14 GMT Message-Id: <200703222037.l2MKbEWt016745@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 116360 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 20:37:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=116360 Change 116360 by gonzo@gonzo_jeeves on 2007/03/22 20:36:35 o Add support for restartable syscalls (ERESTART handling). o Send SIGSEGV to process if there was memory access fault in userland. o Add userland -> kernel routine like in arm: update credentials, call thread_user_enter. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/trap.c#17 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#17 (text+ko) ==== @@ -118,6 +118,17 @@ static volatile char *trap_addr; static volatile int trap_error; +static void +call_trapsignal(struct thread *td, int sig, u_long code) +{ + ksiginfo_t ksi; + + ksiginfo_init_trap(&ksi); + ksi.ksi_signo = sig; + ksi.ksi_code = (int)code; + trapsignal(td, &ksi); +} + void trap(struct trapframe * tf, u_int cause, void *badvaddr) { @@ -130,17 +141,26 @@ platform_trap_enter(); + td = curthread; + va = trunc_page(badvaddr); code = (cause & MIPS3_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; kernelmode = (tf->tf_regs[TF_SR] & MIPS_SR_KSU_USER) == 0; if(! kernelmode) + { + td->td_pticks = 0; + td->td_frame = tf; + if (td->td_ucred != td->td_proc->p_ucred) + cred_update_thread(td); + if (td->td_pflags & TDP_SA) + thread_user_enter(td); + code |= TrUser; + } /* * Handle that which we can. */ - va = trunc_page(badvaddr); - td = curthread; switch (code) { case TrMod: @@ -226,11 +246,12 @@ if (kernelmode) break; - /* TODO: send signal */ printf("Userland memory access error %d on va=%p, pc=%08x\n", error, badvaddr, tf->tf_regs[TF_EPC]); - panic("TODO: signal on memory access errors"); + call_trapsignal(curthread, SIGSEGV, 0); + goto done; + break; case TrSys + TrUser: syscall(curthread, tf); @@ -251,7 +272,9 @@ tf->tf_regs[TF_EPC] += 4; goto done; } - /* fall through */ + call_trapsignal(curthread, SIGSEGV, 0); + goto done; + break; default: /* Fatal! */ break; @@ -355,12 +378,15 @@ int locked = 0; int args_shift = 0; int quad_syscall = 0; + register_t ov0, opc; PCPU_LAZY_INC(cnt.v_syscall); td->td_pticks = 0; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); + opc = frame->tf_regs[TF_EPC]; + ov0 = frame->tf_regs[TF_V0]; /* * XXXMIPS(1): Check for branch delay? * XXXMIPS(2): Right now frame and td->td_frame point @@ -472,8 +498,8 @@ /* * Reconstruct the pc to point at the swi. */ - panic("TODO: implement ERESTART in syscall"); - /* frame->tf_pc -= INSN_SIZE; */ + frame->tf_regs[TF_EPC] = opc; + frame->tf_regs[TF_V0] = ov0; break; case EJUSTRETURN: From owner-p4-projects@FreeBSD.ORG Thu Mar 22 20:39:19 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E0F116A405; Thu, 22 Mar 2007 20:39:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1007C16A402 for ; Thu, 22 Mar 2007 20:39:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 010D013C483 for ; Thu, 22 Mar 2007 20:39:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MKdI6p017584 for ; Thu, 22 Mar 2007 20:39:18 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MKdIIS017581 for perforce@freebsd.org; Thu, 22 Mar 2007 20:39:18 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 20:39:18 GMT Message-Id: <200703222039.l2MKdIIS017581@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 116362 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 20:39:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=116362 Change 116362 by gonzo@gonzo_jeeves on 2007/03/22 20:38:22 o Add status register field to mcontext/sigcontext. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/signal.h#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/signal.h#4 (text+ko) ==== @@ -63,6 +63,7 @@ int sc_onstack; /* sigstack state to restore */ __register_t sc_pc; /* pc at time of signal */ __register_t sc_regs[32]; /* processor regs 0 to 31 */ + __register_t sc_sr; /* status register */ __register_t mullo, mulhi; /* mullo and mulhi registers... */ int sc_fpused; /* fp has been used */ int sc_fpregs[33]; /* fp regs 0 to 31 and csr */ From owner-p4-projects@FreeBSD.ORG Thu Mar 22 20:45:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 066AB16A409; Thu, 22 Mar 2007 20:45:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CD62E16A403 for ; Thu, 22 Mar 2007 20:45:28 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7368E13C4AD for ; Thu, 22 Mar 2007 20:45:27 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MKjRCH020503 for ; Thu, 22 Mar 2007 20:45:27 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MKjQdq020500 for perforce@freebsd.org; Thu, 22 Mar 2007 20:45:26 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 20:45:26 GMT Message-Id: <200703222045.l2MKjQdq020500@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 116363 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 20:45:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=116363 Change 116363 by gonzo@gonzo_jeeves on 2007/03/22 20:44:55 o Add implementation of sendsig/sigreturn. o Add implementation of set_mcontext/get_mcontext. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#26 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#26 (text+ko) ==== @@ -38,12 +38,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include @@ -63,7 +65,10 @@ #include #include #include +#include #include +#include + #ifdef DDB #include @@ -89,7 +94,65 @@ void sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) { - panic("Signal is not implemented"); + struct thread *td = curthread; + struct proc *p = td->td_proc; + struct trapframe *tf = td->td_frame; + struct sigframe *fp, frame; + struct sigacts *psp = td->td_proc->p_sigacts; + int onstack; + int sig; + int code; + + onstack = sigonstack(td->td_frame->tf_regs[TF_SP]); + + sig = ksi->ksi_signo; + code = ksi->ksi_code; + + if ((td->td_flags & TDP_ALTSTACK) && + !(onstack) && + SIGISMEMBER(td->td_proc->p_sigacts->ps_sigonstack, sig)) { + fp = (void*)(td->td_sigstk.ss_sp + td->td_sigstk.ss_size); + td->td_sigstk.ss_flags |= SS_ONSTACK; + } else + fp = (void*)td->td_frame->tf_regs[TF_SP]; + + /* make room on the stack */ + fp--; + + /* make the stack aligned */ + fp = (struct sigframe *)((unsigned int)fp & ~8); + + /* Populate the siginfo frame. */ + frame.sf_si = ksi->ksi_info; + frame.sf_uc.uc_sigmask = *mask; + frame.sf_uc.uc_link = NULL; + frame.sf_uc.uc_flags = (td->td_pflags & TDP_ALTSTACK ) + ? ((onstack) ? SS_ONSTACK : 0) : SS_DISABLE; + frame.sf_uc.uc_stack = td->td_sigstk; + memset(&frame.sf_uc.uc_stack, 0, sizeof(frame.sf_uc.uc_stack)); + get_mcontext(td, &frame.sf_uc.uc_mcontext, 0); + PROC_UNLOCK(td->td_proc); + mtx_unlock(&psp->ps_mtx); + if (copyout(&frame, (void*)fp, sizeof(frame)) != 0) + sigexit(td, SIGILL); + /* + * Build context to run handler in. We invoke the handler + * directly, only returning via the trampoline. Note the + * trampoline version numbers are coordinated with machine- + * dependent code in libc. + */ + + tf->tf_regs[TF_A0] = sig; + tf->tf_regs[TF_A1] = (int)&fp->sf_si; + tf->tf_regs[TF_A2] = (int)&fp->sf_uc; + tf->tf_regs[TF_A3] = (int)&fp->sf_uc; + tf->tf_regs[TF_EPC] = (int)catcher; + /* t9 should be set to entry point for PIC calls */ + tf->tf_regs[TF_T9] = (int)catcher; + tf->tf_regs[TF_SP] = (int)fp; + tf->tf_regs[TF_RA] = (int)(PS_STRINGS - *(p->p_sysent->sv_szsigcode)); + PROC_LOCK(td->td_proc); + mtx_lock(&psp->ps_mtx); } void @@ -196,14 +259,82 @@ int get_mcontext(struct thread *td, mcontext_t *mcp, int clear_ret) { - __asm __volatile("break"); + struct trapframe *tf = td->td_frame; + + /* Save register context. Dont copy R0 - it is always 0 */ + mcp->mc_regs[AST] = tf->tf_regs[TF_AST]; + /* V0, V1 */ + memcpy(&mcp->mc_regs[V0], &tf->tf_regs[TF_V0], + sizeof(__register_t) * 2); + /* A0 - A3 */ + memcpy(&mcp->mc_regs[A0], &tf->tf_regs[TF_A0], + sizeof(__register_t) * 4); + /* A4 - A7 */ + memcpy(&mcp->mc_regs[A4], &tf->tf_regs[TF_A4], + sizeof(__register_t) * 4); + /* T0 - T3 */ + memcpy(&mcp->mc_regs[T0], &tf->tf_regs[TF_T0], + sizeof(__register_t) * 4); + + /* S0 - S7 */ + memcpy(&mcp->mc_regs[S0], &tf->tf_regs[TF_S0], + sizeof(__register_t) * 8); + + mcp->mc_regs[T8] = tf->tf_regs[TF_T8]; + mcp->mc_regs[T9] = tf->tf_regs[TF_T9]; + mcp->mc_regs[GP] = tf->tf_regs[TF_GP]; + mcp->mc_regs[SP] = tf->tf_regs[TF_SP]; + mcp->mc_regs[S8] = tf->tf_regs[TF_S8]; + mcp->mc_regs[RA] = tf->tf_regs[TF_RA]; + + mcp->mc_sr = tf->tf_regs[TF_SR]; + mcp->mullo = tf->tf_regs[TF_MULLO]; + mcp->mulhi = tf->tf_regs[TF_MULHI]; + mcp->mc_pc = tf->tf_regs[TF_EPC]; + return (0); } int set_mcontext(struct thread *td, const mcontext_t *mcp) { - __asm __volatile("break"); + struct trapframe *tf = td->td_frame; + + /* Restore register context. Dont copy R0 - it is always 0 */ + tf->tf_regs[TF_AST] = mcp->mc_regs[AST]; + + /* V0, V1 */ + memcpy(&tf->tf_regs[TF_V0], &mcp->mc_regs[V0], + sizeof(__register_t) * 2); + /* A0 - A3 */ + memcpy(&tf->tf_regs[TF_A0], &mcp->mc_regs[A0], + sizeof(__register_t) * 4); + + /* A4 - A7 */ + memcpy(&tf->tf_regs[TF_A4], &mcp->mc_regs[A4], + sizeof(__register_t) * 4); + /* T0 - T3 */ + memcpy(&tf->tf_regs[TF_T0], &mcp->mc_regs[T0], + sizeof(__register_t) * 4); + + /* S0 - S7 */ + memcpy(&tf->tf_regs[TF_S0], &mcp->mc_regs[S0], + sizeof(__register_t) * 8); + + KASSERT(mcp->mc_regs[GP] != 0, ("GP == 0!")); + + tf->tf_regs[TF_T8] = mcp->mc_regs[T8]; + tf->tf_regs[TF_T9] = mcp->mc_regs[T9]; + tf->tf_regs[TF_GP] = mcp->mc_regs[GP]; + tf->tf_regs[TF_SP] = mcp->mc_regs[SP]; + tf->tf_regs[TF_S8] = mcp->mc_regs[S8]; + tf->tf_regs[TF_RA] = mcp->mc_regs[RA]; + + tf->tf_regs[TF_SR] = mcp->mc_sr; + tf->tf_regs[TF_MULLO] = mcp->mullo; + tf->tf_regs[TF_MULHI] = mcp->mulhi; + tf->tf_regs[TF_EPC] = mcp->mc_pc; + return (0); } @@ -367,8 +498,28 @@ const struct __ucontext *sigcntxp; } */ *uap; { - panic("sigreturn is not implemented\n"); - return (0); + struct proc *p = td->td_proc; + struct sigframe sf; + struct trapframe *tf; + + if (uap == NULL) + return (EFAULT); + + if (copyin(uap->sigcntxp, &sf, sizeof(sf))) + return (EFAULT); + + /* Restore register context. */ + tf = td->td_frame; + set_mcontext(td, &sf.sf_uc.uc_mcontext); + + /* Restore signal mask. */ + PROC_LOCK(p); + td->td_sigmask = sf.sf_uc.uc_sigmask; + SIG_CANTMASK(td->td_sigmask); + signotify(td); + PROC_UNLOCK(p); + + return (EJUSTRETURN); } void @@ -397,5 +548,5 @@ sysbeep(int pitch, int period) { - return (0); + return (0); } From owner-p4-projects@FreeBSD.ORG Thu Mar 22 22:26:36 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7BF416A405; Thu, 22 Mar 2007 22:26:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B40316A402 for ; Thu, 22 Mar 2007 22:26:36 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6BFA613C46C for ; Thu, 22 Mar 2007 22:26:36 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MMQa7W049472 for ; Thu, 22 Mar 2007 22:26:36 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MMQart049469 for perforce@freebsd.org; Thu, 22 Mar 2007 22:26:36 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 22:26:36 GMT Message-Id: <200703222226.l2MMQart049469@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 116369 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 22:26:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=116369 Change 116369 by gonzo@gonzo_jeeves on 2007/03/22 22:26:08 o Err, forgot to submit ucontext.h along with signal.h in 116362. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/ucontext.h#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/ucontext.h#3 (text+ko) ==== @@ -41,6 +41,7 @@ __register_t mc_onstack; /* XXX - sigcontext compat. */ __register_t mc_pc; /* pc at time of signal */ __register_t mc_regs[32]; /* processor regs 0 to 31 */ + __register_t mc_sr; /* status register */ __register_t mullo, mulhi;/* mullo and mulhi registers... */ int mc_fpused; /* fp has been used */ int mc_fpregs[33]; /* fp regs 0 to 31 and csr */ From owner-p4-projects@FreeBSD.ORG Thu Mar 22 22:28:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97DD416A404; Thu, 22 Mar 2007 22:28:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 723AD16A401 for ; Thu, 22 Mar 2007 22:28:42 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 39FB313C48C for ; Thu, 22 Mar 2007 22:28:41 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MMSd34049608 for ; Thu, 22 Mar 2007 22:28:40 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MMSdvC049605 for perforce@freebsd.org; Thu, 22 Mar 2007 22:28:39 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 22 Mar 2007 22:28:39 GMT Message-Id: <200703222228.l2MMSdvC049605@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 116371 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 22:28:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=116371 Change 116371 by gonzo@gonzo_jeeves on 2007/03/22 22:27:56 o Handle a case of unallocated segmap in pmap_protect. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#23 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#23 (text+ko) ==== @@ -1140,7 +1140,7 @@ * If pte is invalid, skip this page */ pte = pmap_pte(pmap, sva); - if (!pte_valid(pte)) { + if ((pte == NULL) || !pte_valid(pte)) { sva += PAGE_SIZE; continue; } From owner-p4-projects@FreeBSD.ORG Thu Mar 22 23:37:15 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D402416A406; Thu, 22 Mar 2007 23:37:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 93C0C16A402 for ; Thu, 22 Mar 2007 23:37:14 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 83C1A13C465 for ; Thu, 22 Mar 2007 23:37:14 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MNbERM063086 for ; Thu, 22 Mar 2007 23:37:14 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MNbEJB063083 for perforce@freebsd.org; Thu, 22 Mar 2007 23:37:14 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 22 Mar 2007 23:37:14 GMT Message-Id: <200703222337.l2MNbEJB063083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 116379 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 23:37:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=116379 Change 116379 by mjacob@mjexp on 2007/03/22 23:36:29 a) Some constification from NetBSD (gcc 4.1.2) b) Split default param fetching/setting into scsi and fibre functions and retry the fibre fetch more than once. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp.c#17 edit .. //depot/projects/mjexp/sys/dev/isp/isp_library.c#4 edit .. //depot/projects/mjexp/sys/dev/isp/isp_library.h#4 edit .. //depot/projects/mjexp/sys/dev/isp/isp_pci.c#18 edit .. //depot/projects/mjexp/sys/dev/isp/ispvar.h#7 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp.c#17 (text+ko) ==== @@ -140,6 +140,7 @@ static void isp_update(ispsoftc_t *); static void isp_update_bus(ispsoftc_t *, int); static void isp_setdfltparm(ispsoftc_t *, int); +static void isp_setdfltfcparm(ispsoftc_t *); static int isp_read_nvram(ispsoftc_t *); static int isp_read_nvram_2400(ispsoftc_t *); static void isp_rdnvram_word(ispsoftc_t *, int, uint16_t *); @@ -776,7 +777,7 @@ } if (dodnld && IS_24XX(isp)) { - uint32_t *ptr = isp->isp_mdvec->dv_ispfw; + const uint32_t *ptr = isp->isp_mdvec->dv_ispfw; /* * NB: Whatever you do do, do *not* issue the VERIFY FIRMWARE @@ -844,7 +845,7 @@ } isp->isp_loaded_fw = 1; } else if (dodnld && IS_23XX(isp)) { - uint16_t *ptr = isp->isp_mdvec->dv_ispfw; + const uint16_t *ptr = isp->isp_mdvec->dv_ispfw; uint16_t wi, wl, segno; uint32_t la; @@ -934,15 +935,18 @@ } isp->isp_loaded_fw = 1; } else if (dodnld) { - uint16_t *ptr = isp->isp_mdvec->dv_ispfw; - - isp->isp_mbxworkp = &ptr[1]; - isp->isp_mbxwrk0 = ptr[3] - 1; + union { + const uint16_t *cp; + uint16_t *np; + } u; + u.cp = isp->isp_mdvec->dv_ispfw; + isp->isp_mbxworkp = &u.np[1]; + isp->isp_mbxwrk0 = u.np[3] - 1; isp->isp_mbxwrk1 = code_org + 1; MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_WRITE_RAM_WORD; mbs.param[1] = code_org; - mbs.param[2] = ptr[0]; + mbs.param[2] = u.np[0]; mbs.logval = MBLOGNONE; isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { @@ -1176,9 +1180,13 @@ /* * Must do this first to get defaults established. */ - isp_setdfltparm(isp, 0); - if (IS_DUALBUS(isp)) { - isp_setdfltparm(isp, 1); + if (IS_SCSI(isp)) { + isp_setdfltparm(isp, 0); + if (IS_DUALBUS(isp)) { + isp_setdfltparm(isp, 1); + } + } else { + isp_setdfltfcparm(isp); } } @@ -3403,7 +3411,7 @@ fcportdb_t *lp; isp_pdb_t pdb; uint64_t wwnn, wwpn; - int dbidx, r, nr; + int dbidx, nr; portid = ((rs1->snscb_ports[portidx].portid[0]) << 16) | @@ -4535,8 +4543,8 @@ if (mbox & 0x4000) { isp->isp_intmboxc++; if (isp->isp_mboxbsy) { - int i = 0, obits = isp->isp_obits; - isp->isp_mboxtmp[i++] = mbox; + int obits = isp->isp_obits; + isp->isp_mboxtmp[0] = mbox; for (i = 1; i < MAX_MAILBOX(isp); i++) { if ((obits & (1 << i)) == 0) { continue; @@ -5838,7 +5846,7 @@ */ case RQCS_PORT_LOGGED_OUT: { - char *reason; + const char *reason; uint8_t sts = sp->req_completion_status & 0xff; /* @@ -5988,7 +5996,7 @@ */ case RQCS_PORT_LOGGED_OUT: { - char *reason; + const char *reason; uint8_t sts = sp->req_completion_status & 0xff; /* @@ -6269,7 +6277,7 @@ ISPOPMAP(0x01, 0x01) /* 0x5d: GET NOST DATA */ }; -static char *scsi_mbcmd_names[] = { +static const char *scsi_mbcmd_names[] = { "NO-OP", "LOAD RAM", "EXEC FIRMWARE", @@ -6504,7 +6512,7 @@ * is that we won't overflow. */ -static char *fc_mbcmd_names[] = { +static const char *fc_mbcmd_names[] = { "NO-OP", "LOAD RAM", "EXEC FIRMWARE", @@ -6681,7 +6689,8 @@ static void isp_mboxcmd(ispsoftc_t *isp, mbreg_t *mbp) { - char *cname, *xname, tname[16], mname[16]; + const char *cname, *xname; + char tname[16], mname[16]; unsigned int lim, ibits, obits, box, opcode; const uint32_t *mcp; @@ -6999,9 +7008,6 @@ } } -#ifndef DEFAULT_FRAMESIZE -#define DEFAULT_FRAMESIZE(isp) ICB_DFLT_FRMLEN -#endif #ifndef DEFAULT_EXEC_THROTTLE #define DEFAULT_EXEC_THROTTLE(isp) ISP_EXEC_THROTTLE #endif @@ -7012,97 +7018,6 @@ int tgt; sdparam *sdp; - if (IS_FC(isp)) { - fcparam *fcp = (fcparam *) isp->isp_param; - int nvfail; - - fcp += channel; - if (fcp->isp_gotdparms) { - return; - } - fcp->isp_gotdparms = 1; - fcp->isp_maxfrmlen = DEFAULT_FRAMESIZE(isp); - fcp->isp_maxalloc = ICB_DFLT_ALLOC; - fcp->isp_execthrottle = DEFAULT_EXEC_THROTTLE(isp); - fcp->isp_retry_delay = ICB_DFLT_RDELAY; - fcp->isp_retry_count = ICB_DFLT_RCOUNT; - /* Platform specific.... */ - fcp->isp_loopid = DEFAULT_LOOPID(isp); - fcp->isp_wwnn_nvram = DEFAULT_NODEWWN(isp); - fcp->isp_wwpn_nvram = DEFAULT_PORTWWN(isp); - fcp->isp_fwoptions = 0; - fcp->isp_fwoptions |= ICBOPT_FAIRNESS; - fcp->isp_fwoptions |= ICBOPT_PDBCHANGE_AE; - fcp->isp_fwoptions |= ICBOPT_HARD_ADDRESS; - fcp->isp_fwoptions |= ICBOPT_FAST_POST; - if (isp->isp_confopts & ISP_CFG_FULL_DUPLEX) { - fcp->isp_fwoptions |= ICBOPT_FULL_DUPLEX; - } - - /* - * Make sure this is turned off now until we get - * extended options from NVRAM - */ - fcp->isp_fwoptions &= ~ICBOPT_EXTENDED; - - /* - * Now try and read NVRAM unless told to not do so. - * This will set fcparam's isp_wwnn_nvram && isp_wwpn_nvram. - */ - if ((isp->isp_confopts & ISP_CFG_NONVRAM) == 0) { - nvfail = isp_read_nvram(isp); - if (nvfail) { - isp->isp_confopts |= ISP_CFG_NONVRAM; - } - } else { - nvfail = 1; - } - /* - * Set node && port to override platform set defaults - * unless the nvram read failed (or none was done), - * or the platform code wants to use what had been - * set in the defaults. - */ - if (nvfail) { - isp->isp_confopts |= ISP_CFG_OWNWWPN|ISP_CFG_OWNWWNN; - } - if (isp->isp_confopts & ISP_CFG_OWNWWNN) { - isp_prt(isp, ISP_LOGCONFIG, "Using Node WWN 0x%08x%08x", - (uint32_t) (DEFAULT_NODEWWN(isp) >> 32), - (uint32_t) (DEFAULT_NODEWWN(isp) & 0xffffffff)); - ISP_NODEWWN(isp) = DEFAULT_NODEWWN(isp); - } else { - /* - * We always start out with values derived - * from NVRAM or our platform default. - */ - ISP_NODEWWN(isp) = fcp->isp_wwnn_nvram; - if (fcp->isp_wwnn_nvram == 0) { - isp_prt(isp, ISP_LOGCONFIG, - "bad WWNN- using default"); - ISP_NODEWWN(isp) = DEFAULT_NODEWWN(isp); - } - } - if (isp->isp_confopts & ISP_CFG_OWNWWPN) { - isp_prt(isp, ISP_LOGCONFIG, "Using Port WWN 0x%08x%08x", - (uint32_t) (DEFAULT_PORTWWN(isp) >> 32), - (uint32_t) (DEFAULT_PORTWWN(isp) & 0xffffffff)); - ISP_PORTWWN(isp) = DEFAULT_PORTWWN(isp); - } else { - /* - * We always start out with values derived - * from NVRAM or our platform default. - */ - ISP_PORTWWN(isp) = fcp->isp_wwpn_nvram; - if (fcp->isp_wwpn_nvram == 0) { - isp_prt(isp, ISP_LOGCONFIG, - "bad WWPN- using default"); - ISP_PORTWWN(isp) = DEFAULT_PORTWWN(isp); - } - } - return; - } - sdp = (sdparam *) isp->isp_param; sdp += channel; @@ -7113,7 +7028,7 @@ return; } sdp->isp_gotdparms = 1; - + sdp->isp_bad_nvram = 0; /* * Establish some default parameters. */ @@ -7153,6 +7068,7 @@ if (isp_read_nvram(isp) == 0) { return; } + sdp->isp_bad_nvram = 1; } /* @@ -7237,6 +7153,110 @@ } } +#ifndef DEFAULT_FRAMESIZE +#define DEFAULT_FRAMESIZE(isp) ICB_DFLT_FRMLEN +#endif +static void +isp_setdfltfcparm(ispsoftc_t *isp) +{ + fcparam *fcp = FCPARAM(isp); + + if (fcp->isp_gotdparms) { + return; + } + fcp->isp_gotdparms = 1; + fcp->isp_bad_nvram = 0; + fcp->isp_maxfrmlen = DEFAULT_FRAMESIZE(isp); + fcp->isp_maxalloc = ICB_DFLT_ALLOC; + fcp->isp_execthrottle = DEFAULT_EXEC_THROTTLE(isp); + fcp->isp_retry_delay = ICB_DFLT_RDELAY; + fcp->isp_retry_count = ICB_DFLT_RCOUNT; + /* Platform specific.... */ + fcp->isp_loopid = DEFAULT_LOOPID(isp); + fcp->isp_wwnn_nvram = DEFAULT_NODEWWN(isp); + fcp->isp_wwpn_nvram = DEFAULT_PORTWWN(isp); + fcp->isp_fwoptions = 0; + fcp->isp_fwoptions |= ICBOPT_FAIRNESS; + fcp->isp_fwoptions |= ICBOPT_PDBCHANGE_AE; + fcp->isp_fwoptions |= ICBOPT_HARD_ADDRESS; + fcp->isp_fwoptions |= ICBOPT_FAST_POST; + if (isp->isp_confopts & ISP_CFG_FULL_DUPLEX) { + fcp->isp_fwoptions |= ICBOPT_FULL_DUPLEX; + } + + /* + * Make sure this is turned off now until we get + * extended options from NVRAM + */ + fcp->isp_fwoptions &= ~ICBOPT_EXTENDED; + + /* + * Now try and read NVRAM unless told to not do so. + * This will set fcparam's isp_wwnn_nvram && isp_wwpn_nvram. + */ + if ((isp->isp_confopts & ISP_CFG_NONVRAM) == 0) { + int i, j = 0; + /* + * Give a couple of tries at reading NVRAM. + */ + for (i = 0; i < 2; i++) { + j = isp_read_nvram(isp); + if (j == 0) { + break; + } + } + if (j) { + fcp->isp_bad_nvram = 1; + isp->isp_confopts |= ISP_CFG_NONVRAM; + isp->isp_confopts |= ISP_CFG_OWNWWPN; + isp->isp_confopts |= ISP_CFG_OWNWWNN; + } + } else { + isp->isp_confopts |= ISP_CFG_OWNWWPN|ISP_CFG_OWNWWNN; + } + + /* + * Set node && port to override platform set defaults + * unless the nvram read failed (or none was done), + * or the platform code wants to use what had been + * set in the defaults. + */ + if (isp->isp_confopts & ISP_CFG_OWNWWNN) { + isp_prt(isp, ISP_LOGCONFIG, "Using Node WWN 0x%08x%08x", + (uint32_t) (DEFAULT_NODEWWN(isp) >> 32), + (uint32_t) (DEFAULT_NODEWWN(isp) & 0xffffffff)); + ISP_NODEWWN(isp) = DEFAULT_NODEWWN(isp); + } else { + /* + * We always start out with values derived + * from NVRAM or our platform default. + */ + ISP_NODEWWN(isp) = fcp->isp_wwnn_nvram; + if (fcp->isp_wwnn_nvram == 0) { + isp_prt(isp, ISP_LOGCONFIG, + "bad WWNN- using default"); + ISP_NODEWWN(isp) = DEFAULT_NODEWWN(isp); + } + } + if (isp->isp_confopts & ISP_CFG_OWNWWPN) { + isp_prt(isp, ISP_LOGCONFIG, "Using Port WWN 0x%08x%08x", + (uint32_t) (DEFAULT_PORTWWN(isp) >> 32), + (uint32_t) (DEFAULT_PORTWWN(isp) & 0xffffffff)); + ISP_PORTWWN(isp) = DEFAULT_PORTWWN(isp); + } else { + /* + * We always start out with values derived + * from NVRAM or our platform default. + */ + ISP_PORTWWN(isp) = fcp->isp_wwpn_nvram; + if (fcp->isp_wwpn_nvram == 0) { + isp_prt(isp, ISP_LOGCONFIG, + "bad WWPN- using default"); + ISP_PORTWWN(isp) = DEFAULT_PORTWWN(isp); + } + } +} + /* * Re-initialize the ISP and complete all orphaned commands * with a 'botched' notice. The reset/init routines should ==== //depot/projects/mjexp/sys/dev/isp/isp_library.c#4 (text) ==== @@ -150,7 +150,7 @@ } void -isp_print_bytes(ispsoftc_t *isp, char *msg, int amt, void *arg) +isp_print_bytes(ispsoftc_t *isp, const char *msg, int amt, void *arg) { char buf[128]; uint8_t *ptr = arg; ==== //depot/projects/mjexp/sys/dev/isp/isp_library.h#4 (text) ==== @@ -35,7 +35,7 @@ extern void isp_destroy_handle(ispsoftc_t *, uint32_t); extern int isp_getrqentry(ispsoftc_t *, uint32_t *, uint32_t *, void **); extern void isp_print_qentry (ispsoftc_t *, char *, int, void *); -extern void isp_print_bytes(ispsoftc_t *, char *, int, void *); +extern void isp_print_bytes(ispsoftc_t *, const char *, int, void *); extern int isp_fc_runstate(ispsoftc_t *, int); extern void isp_dump_portdb(ispsoftc_t *); extern void isp_shutdown(ispsoftc_t *); ==== //depot/projects/mjexp/sys/dev/isp/isp_pci.c#18 (text+ko) ==== @@ -1053,12 +1053,7 @@ isp->isp_osinfo.fw = firmware_get(fwname); } if (isp->isp_osinfo.fw != NULL) { - union { - const void *fred; - uint16_t *bob; - } u; - u.fred = isp->isp_osinfo.fw->data; - isp->isp_mdvec->dv_ispfw = u.bob; + isp->isp_mdvec->dv_ispfw = isp->isp_osinfo.fw->data; } } #else ==== //depot/projects/mjexp/sys/dev/isp/ispvar.h#7 (text+ko) ==== @@ -68,7 +68,7 @@ void (*dv_reset0) (ispsoftc_t *); void (*dv_reset1) (ispsoftc_t *); void (*dv_dregs) (ispsoftc_t *, const char *); - void * dv_ispfw; /* ptr to f/w */ + const void * dv_ispfw; /* ptr to f/w */ uint16_t dv_conf1; uint16_t dv_clock; /* clock frequency */ }; @@ -162,7 +162,9 @@ * SCSI Specific Host Adapter Parameters- per bus, per target */ typedef struct { - uint32_t isp_gotdparms : 1, + uint32_t : 10, + isp_bad_nvram : 1, + isp_gotdparms : 1, isp_req_ack_active_neg : 1, isp_data_line_active_neg: 1, isp_cmd_dma_burst_enable: 1, @@ -363,10 +365,10 @@ isp_gbspeed : 3, : 1, : 1, - : 1, + isp_gotdparms : 1, + isp_bad_nvram : 1, isp_loopstate : 4, /* Current Loop State */ isp_fwstate : 4, /* ISP F/W state */ - isp_gotdparms : 1, isp_topo : 3, loop_seen_once : 1; uint32_t : 8, From owner-p4-projects@FreeBSD.ORG Thu Mar 22 23:58:50 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D885216A421; Thu, 22 Mar 2007 23:58:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 937CA16A411 for ; Thu, 22 Mar 2007 23:58:49 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 811CD13C4D3 for ; Thu, 22 Mar 2007 23:58:49 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2MNwnmj066704 for ; Thu, 22 Mar 2007 23:58:49 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2MNwiXb066698 for perforce@freebsd.org; Thu, 22 Mar 2007 23:58:44 GMT (envelope-from marcel@freebsd.org) Date: Thu, 22 Mar 2007 23:58:44 GMT Message-Id: <200703222358.l2MNwiXb066698@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 116384 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2007 23:58:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=116384 Change 116384 by marcel@marcel_jnpr on 2007/03/22 23:57:56 IFC @116381 Affected files ... .. //depot/projects/uart/amd64/acpica/OsdEnvironment.c#6 integrate .. //depot/projects/uart/amd64/acpica/madt.c#8 integrate .. //depot/projects/uart/amd64/conf/NOTES#14 integrate .. //depot/projects/uart/amd64/include/acpica_machdep.h#4 integrate .. //depot/projects/uart/boot/i386/libi386/biosacpi.c#8 integrate .. //depot/projects/uart/boot/ia64/ski/acpi_stub.c#4 integrate .. //depot/projects/uart/conf/NOTES#47 integrate .. //depot/projects/uart/conf/files#79 integrate .. //depot/projects/uart/conf/options#44 integrate .. //depot/projects/uart/contrib/dev/acpica/CHANGES.txt#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acapps.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acconfig.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acdebug.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acdisasm.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/acdispat.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acefi.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acenv.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/acevents.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acexcep.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acfreebsd.h#8 integrate .. //depot/projects/uart/contrib/dev/acpica/acgcc.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acglobal.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/achware.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acinterp.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/aclocal.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acmacros.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acnames.h#2 integrate .. //depot/projects/uart/contrib/dev/acpica/acnamesp.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/acobject.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acopcode.h#2 integrate .. //depot/projects/uart/contrib/dev/acpica/acoutput.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/acparser.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acpi.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/acpica_prep.sh#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acpiosxf.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acpixf.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acresrc.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/acstruct.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/actables.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/actbl.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/actbl1.h#4 integrate .. //depot/projects/uart/contrib/dev/acpica/actbl2.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/actypes.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/acutils.h#6 integrate .. //depot/projects/uart/contrib/dev/acpica/aecommon.h#2 integrate .. //depot/projects/uart/contrib/dev/acpica/aeexec.c#2 delete .. //depot/projects/uart/contrib/dev/acpica/amlcode.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/amlresrc.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/common/adfile.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/common/adisasm.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/common/adwalk.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/common/dmrestag.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/common/dmtable.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/common/dmtbdump.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/common/dmtbinfo.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/common/getopt.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslanalyze.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslcodegen.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompile.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompiler.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompiler.l#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompiler.y#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslerror.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslfiles.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslfold.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslglobal.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asllength.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asllisting.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslload.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asllookup.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslmain.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslmap.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslopcodes.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asloperands.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslopt.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslresource.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslrestype1.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslrestype2.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslstubs.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asltransform.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asltree.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/asltypes.h#5 integrate .. //depot/projects/uart/contrib/dev/acpica/compiler/aslutils.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dbcmds.c#7 integrate .. //depot/projects/uart/contrib/dev/acpica/dbdisply.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dbexec.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dbfileio.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dbhistry.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dbinput.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dbstats.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dbutils.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dbxface.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dmbuffer.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dmnames.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dmobject.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dmopcode.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dmresrc.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dmresrcl.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dmresrcs.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dmutils.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dmwalk.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dsfield.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dsinit.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dsmethod.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dsmthdat.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dsobject.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dsopcode.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dsutils.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dswexec.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/dswload.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dswscope.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/dswstate.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/evevent.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/evgpe.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/evgpeblk.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/evmisc.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/evregion.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/evrgnini.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/evsci.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/evxface.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/evxfevnt.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/evxfregn.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/exconfig.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exconvrt.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/excreate.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exdump.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exfield.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exfldio.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exmisc.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/exmutex.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exnames.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exoparg1.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exoparg2.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/exoparg3.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exoparg6.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exprep.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/exregion.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exresnte.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exresolv.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/exresop.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/exstore.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exstoren.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exstorob.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/exsystem.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/exutils.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/hwacpi.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/hwgpe.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/hwregs.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/hwsleep.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/hwtimer.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsaccess.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsalloc.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsdump.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/nsdumpdv.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nseval.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/nsinit.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsload.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsnames.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsobject.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/nsparse.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/nssearch.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsutils.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nswalk.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/nsxfeval.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/nsxfname.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/nsxfobj.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/osunixxf.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/psargs.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/psloop.c#2 integrate .. //depot/projects/uart/contrib/dev/acpica/psopcode.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/psparse.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/psscope.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/pstree.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/psutils.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/pswalk.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/psxface.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/rsaddr.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/rscalc.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/rscreate.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/rsdump.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/rsinfo.c#2 integrate .. //depot/projects/uart/contrib/dev/acpica/rsio.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/rsirq.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/rslist.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/rsmemory.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/rsmisc.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/rsutils.c#4 integrate .. //depot/projects/uart/contrib/dev/acpica/rsxface.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/tbconvrt.c#6 delete .. //depot/projects/uart/contrib/dev/acpica/tbfadt.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/tbfind.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/tbget.c#6 delete .. //depot/projects/uart/contrib/dev/acpica/tbgetall.c#5 delete .. //depot/projects/uart/contrib/dev/acpica/tbinstal.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/tbrsdt.c#5 delete .. //depot/projects/uart/contrib/dev/acpica/tbutils.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/tbxface.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/tbxfroot.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/utalloc.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/utcache.c#2 integrate .. //depot/projects/uart/contrib/dev/acpica/utclib.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/utcopy.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/utdebug.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/utdelete.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/uteval.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/utglobal.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/utinit.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/utmath.c#5 integrate .. //depot/projects/uart/contrib/dev/acpica/utmisc.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/utmutex.c#2 integrate .. //depot/projects/uart/contrib/dev/acpica/utobject.c#6 integrate .. //depot/projects/uart/contrib/dev/acpica/utresrc.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/utstate.c#2 integrate .. //depot/projects/uart/contrib/dev/acpica/uttrack.c#1 branch .. //depot/projects/uart/contrib/dev/acpica/utxface.c#5 integrate .. //depot/projects/uart/dev/acpi_support/acpi_asus.c#9 integrate .. //depot/projects/uart/dev/acpi_support/acpi_fujitsu.c#5 integrate .. //depot/projects/uart/dev/acpi_support/acpi_ibm.c#7 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdDebug.c#6 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdMemory.c#7 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdSchedule.c#13 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdSynch.c#8 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdTable.c#5 integrate .. //depot/projects/uart/dev/acpica/acpi.c#27 integrate .. //depot/projects/uart/dev/acpica/acpi_acad.c#11 integrate .. //depot/projects/uart/dev/acpica/acpi_button.c#8 integrate .. //depot/projects/uart/dev/acpica/acpi_cmbat.c#12 integrate .. //depot/projects/uart/dev/acpica/acpi_cpu.c#10 integrate .. //depot/projects/uart/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/uart/dev/acpica/acpi_ec.c#17 integrate .. //depot/projects/uart/dev/acpica/acpi_lid.c#6 integrate .. //depot/projects/uart/dev/acpica/acpi_pci_link.c#13 integrate .. //depot/projects/uart/dev/acpica/acpi_perf.c#6 integrate .. //depot/projects/uart/dev/acpica/acpi_quirk.c#4 integrate .. //depot/projects/uart/dev/acpica/acpi_resource.c#12 integrate .. //depot/projects/uart/dev/acpica/acpi_throttle.c#6 integrate .. //depot/projects/uart/dev/acpica/acpi_timer.c#9 integrate .. //depot/projects/uart/dev/acpica/acpivar.h#15 integrate .. //depot/projects/uart/dev/isp/isp.c#19 integrate .. //depot/projects/uart/dev/isp/isp_library.c#9 integrate .. //depot/projects/uart/dev/isp/isp_library.h#6 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#20 integrate .. //depot/projects/uart/dev/isp/ispvar.h#17 integrate .. //depot/projects/uart/dev/iwi/if_iwi.c#14 integrate .. //depot/projects/uart/dev/scc/scc_bfe.h#21 integrate .. //depot/projects/uart/dev/scc/scc_bfe_ebus.c#10 integrate .. //depot/projects/uart/dev/scc/scc_bfe_macio.c#3 integrate .. //depot/projects/uart/dev/scc/scc_bfe_sbus.c#10 integrate .. //depot/projects/uart/dev/scc/scc_core.c#27 integrate .. //depot/projects/uart/dev/sound/pci/atiixp.c#8 integrate .. //depot/projects/uart/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/uart/dev/sound/pci/ich.c#25 integrate .. //depot/projects/uart/dev/sound/pci/via8233.c#13 integrate .. //depot/projects/uart/dev/sound/pci/via82c686.c#11 integrate .. //depot/projects/uart/dev/sound/pcm/buffer.c#9 integrate .. //depot/projects/uart/geom/journal/g_journal.c#3 integrate .. //depot/projects/uart/i386/acpica/OsdEnvironment.c#5 integrate .. //depot/projects/uart/i386/acpica/acpi_machdep.c#10 integrate .. //depot/projects/uart/i386/acpica/madt.c#8 integrate .. //depot/projects/uart/i386/conf/NOTES#25 integrate .. //depot/projects/uart/i386/include/acpica_machdep.h#4 integrate .. //depot/projects/uart/ia64/acpica/OsdEnvironment.c#5 integrate .. //depot/projects/uart/ia64/acpica/madt.c#7 integrate .. //depot/projects/uart/ia64/include/acpica_machdep.h#4 integrate .. //depot/projects/uart/kern/kern_condvar.c#9 integrate .. //depot/projects/uart/kern/kern_exit.c#20 integrate .. //depot/projects/uart/kern/kern_kse.c#14 integrate .. //depot/projects/uart/kern/kern_lock.c#16 integrate .. //depot/projects/uart/kern/kern_mutex.c#19 integrate .. //depot/projects/uart/kern/kern_rwlock.c#9 integrate .. //depot/projects/uart/kern/kern_sig.c#34 integrate .. //depot/projects/uart/kern/kern_sx.c#11 integrate .. //depot/projects/uart/kern/kern_synch.c#21 integrate .. //depot/projects/uart/kern/subr_witness.c#20 integrate .. //depot/projects/uart/kern/uipc_socket.c#25 integrate .. //depot/projects/uart/kern/vfs_syscalls.c#31 integrate .. //depot/projects/uart/modules/Makefile#45 integrate .. //depot/projects/uart/modules/acpi/Makefile#15 integrate .. //depot/projects/uart/modules/acpi/acpi/Makefile#7 integrate .. //depot/projects/uart/modules/padlock/Makefile#3 integrate .. //depot/projects/uart/net/if_ethersubr.c#21 integrate .. //depot/projects/uart/net/rtsock.c#15 integrate .. //depot/projects/uart/netinet/if_ether.c#18 integrate .. //depot/projects/uart/netinet/tcp.h#9 integrate .. //depot/projects/uart/netinet/tcp_hostcache.c#5 integrate .. //depot/projects/uart/netinet/tcp_input.c#29 integrate .. //depot/projects/uart/netinet/tcp_output.c#13 integrate .. //depot/projects/uart/netinet/tcp_sack.c#10 integrate .. //depot/projects/uart/netinet/tcp_subr.c#26 integrate .. //depot/projects/uart/netinet/tcp_timer.c#17 integrate .. //depot/projects/uart/netinet/tcp_usrreq.c#19 integrate .. //depot/projects/uart/netinet/tcp_var.h#16 integrate .. //depot/projects/uart/netipsec/ipsec.c#15 integrate .. //depot/projects/uart/sys/_mutex.h#4 integrate .. //depot/projects/uart/sys/_rwlock.h#3 integrate .. //depot/projects/uart/sys/condvar.h#4 integrate .. //depot/projects/uart/sys/lock.h#11 integrate .. //depot/projects/uart/sys/mutex.h#16 integrate .. //depot/projects/uart/sys/proc.h#27 integrate .. //depot/projects/uart/sys/rwlock.h#7 integrate .. //depot/projects/uart/sys/sx.h#9 integrate .. //depot/projects/uart/sys/systm.h#20 integrate .. //depot/projects/uart/tools/acpi_quirks2h.awk#3 integrate .. //depot/projects/uart/vm/vm_object.c#26 integrate Differences ... ==== //depot/projects/uart/amd64/acpica/OsdEnvironment.c#6 (text+ko) ==== @@ -26,16 +26,18 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/OsdEnvironment.c,v 1.13 2005/09/11 18:39:00 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/OsdEnvironment.c,v 1.14 2007/03/22 18:16:38 jkim Exp $"); /* * 6.1 : Environmental support */ #include +#include #include #include #include +#include static u_long amd64_acpi_root; @@ -54,25 +56,16 @@ return(0); } -ACPI_STATUS -AcpiOsGetRootPointer(UINT32 Flags, ACPI_POINTER *RsdpPhysicalAddress) +ACPI_PHYSICAL_ADDRESS +AcpiOsGetRootPointer(void) { - ACPI_POINTER ptr; - ACPI_STATUS status; + u_long ptr; - if (amd64_acpi_root == 0) { - /* - * The loader passes the physical address at which it found the - * RSDP in a hint. We could recover this rather than searching - * manually here. - */ - status = AcpiFindRootPointer(Flags, &ptr); - if (status == AE_OK) - amd64_acpi_root = ptr.Pointer.Physical; - } else - status = AE_OK; + if (amd64_acpi_root == 0 && + (resource_long_value("acpi", 0, "rsdp", (long *)&ptr) == 0 || + AcpiFindRootPointer((ACPI_NATIVE_UINT *)&ptr) == AE_OK) && + ptr != 0) + amd64_acpi_root = ptr; - RsdpPhysicalAddress->PointerType = ACPI_PHYSICAL_POINTER; - RsdpPhysicalAddress->Pointer.Physical = amd64_acpi_root; - return (status); + return (amd64_acpi_root); } ==== //depot/projects/uart/amd64/acpica/madt.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.22 2007/03/05 20:35:16 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.23 2007/03/22 18:16:38 jkim Exp $"); #include #include @@ -56,7 +56,7 @@ #define NIOAPICS 32 /* Max number of I/O APICs */ #define NLAPICS 32 /* Max number of local APICs */ -typedef void madt_entry_handler(APIC_HEADER *entry, void *arg); +typedef void madt_entry_handler(ACPI_SUBTABLE_HEADER *entry, void *arg); /* These two arrays are indexed by APIC IDs. */ struct ioapic_info { @@ -70,26 +70,29 @@ } lapics[NLAPICS]; static int madt_found_sci_override; -static MULTIPLE_APIC_TABLE *madt; +static ACPI_TABLE_MADT *madt; static vm_paddr_t madt_physaddr; static vm_offset_t madt_length; MALLOC_DEFINE(M_MADT, "madt_table", "ACPI MADT Table Items"); -static enum intr_polarity interrupt_polarity(UINT16 Polarity, UINT8 Source); -static enum intr_trigger interrupt_trigger(UINT16 TriggerMode, UINT8 Source); +static enum intr_polarity interrupt_polarity(UINT16 IntiFlags, UINT8 Source); +static enum intr_trigger interrupt_trigger(UINT16 IntiFlags, UINT8 Source); static int madt_find_cpu(u_int acpi_id, u_int *apic_id); static int madt_find_interrupt(int intr, void **apic, u_int *pin); static void *madt_map(vm_paddr_t pa, int offset, vm_offset_t length); static void *madt_map_table(vm_paddr_t pa, int offset, const char *sig); -static void madt_parse_apics(APIC_HEADER *entry, void *arg); -static void madt_parse_interrupt_override(MADT_INTERRUPT_OVERRIDE *intr); -static void madt_parse_ints(APIC_HEADER *entry, void *arg __unused); -static void madt_parse_local_nmi(MADT_LOCAL_APIC_NMI *nmi); -static void madt_parse_nmi(MADT_NMI_SOURCE *nmi); +static void madt_parse_apics(ACPI_SUBTABLE_HEADER *entry, void *arg); +static void madt_parse_interrupt_override( + ACPI_MADT_INTERRUPT_OVERRIDE *intr); +static void madt_parse_ints(ACPI_SUBTABLE_HEADER *entry, + void *arg __unused); +static void madt_parse_local_nmi(ACPI_MADT_LOCAL_APIC_NMI *nmi); +static void madt_parse_nmi(ACPI_MADT_NMI_SOURCE *nmi); static int madt_probe(void); static int madt_probe_cpus(void); -static void madt_probe_cpus_handler(APIC_HEADER *entry, void *arg __unused); +static void madt_probe_cpus_handler(ACPI_SUBTABLE_HEADER *entry, + void *arg __unused); static int madt_probe_table(vm_paddr_t address); static void madt_register(void *dummy); static int madt_setup_local(void); @@ -161,14 +164,14 @@ void *table; header = madt_map(pa, offset, sizeof(ACPI_TABLE_HEADER)); - if (strncmp(header->Signature, sig, 4) != 0) { + if (strncmp(header->Signature, sig, ACPI_NAME_SIZE) != 0) { madt_unmap(header, sizeof(ACPI_TABLE_HEADER)); return (NULL); } length = header->Length; madt_unmap(header, sizeof(ACPI_TABLE_HEADER)); table = madt_map(pa, offset, length); - if (ACPI_FAILURE(AcpiTbVerifyTableChecksum(table))) { + if (ACPI_FAILURE(AcpiTbChecksum(table, length))) { if (bootverbose) printf("MADT: Failed checksum for table %s\n", sig); madt_unmap(table, length); @@ -192,10 +195,10 @@ static int madt_probe(void) { - ACPI_POINTER rsdp_ptr; - RSDP_DESCRIPTOR *rsdp; - RSDT_DESCRIPTOR *rsdt; - XSDT_DESCRIPTOR *xsdt; + ACPI_PHYSICAL_ADDRESS rsdp_ptr; + ACPI_TABLE_RSDP *rsdp; + ACPI_TABLE_RSDT *rsdt; + ACPI_TABLE_XSDT *xsdt; int i, count; if (resource_disabled("acpi", 0)) @@ -206,12 +209,9 @@ * calls pmap_mapbios() to find the RSDP, we assume that we can use * pmap_mapbios() to map the RSDP. */ - if (AcpiOsGetRootPointer(ACPI_LOGICAL_ADDRESSING, &rsdp_ptr) != AE_OK) + if ((rsdp_ptr = AcpiOsGetRootPointer()) == 0) return (ENXIO); -#ifdef __i386__ - KASSERT(rsdp_ptr.Pointer.Physical < KERNLOAD, ("RSDP too high")); -#endif - rsdp = pmap_mapbios(rsdp_ptr.Pointer.Physical, sizeof(RSDP_DESCRIPTOR)); + rsdp = pmap_mapbios(rsdp_ptr, sizeof(ACPI_TABLE_RSDP)); if (rsdp == NULL) { if (bootverbose) printf("MADT: Failed to map RSDP\n"); @@ -230,38 +230,40 @@ * the version 1.0 portion of the RSDP. Version 2.0 has * an additional checksum that we verify first. */ - if (AcpiTbGenerateChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH)) { + if (AcpiTbChecksum((UINT8 *)rsdp, ACPI_RSDP_XCHECKSUM_LENGTH)) { if (bootverbose) printf("MADT: RSDP failed extended checksum\n"); return (ENXIO); } - xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, XSDT_SIG); + xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, + ACPI_SIG_XSDT); if (xsdt == NULL) { if (bootverbose) printf("MADT: Failed to map XSDT\n"); return (ENXIO); } - count = (xsdt->Length - sizeof(ACPI_TABLE_HEADER)) / + count = (xsdt->Header.Length - sizeof(ACPI_TABLE_HEADER)) / sizeof(UINT64); for (i = 0; i < count; i++) if (madt_probe_table(xsdt->TableOffsetEntry[i])) break; madt_unmap_table(xsdt); } else { - rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 1, RSDT_SIG); + rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 1, + ACPI_SIG_RSDT); if (rsdt == NULL) { if (bootverbose) printf("MADT: Failed to map RSDT\n"); return (ENXIO); } - count = (rsdt->Length - sizeof(ACPI_TABLE_HEADER)) / + count = (rsdt->Header.Length - sizeof(ACPI_TABLE_HEADER)) / sizeof(UINT32); for (i = 0; i < count; i++) if (madt_probe_table(rsdt->TableOffsetEntry[i])) break; madt_unmap_table(rsdt); } - pmap_unmapbios((vm_offset_t)rsdp, sizeof(RSDP_DESCRIPTOR)); + pmap_unmapbios((vm_offset_t)rsdp, sizeof(ACPI_TABLE_RSDP)); if (madt_physaddr == 0) { if (bootverbose) printf("MADT: No MADT table found\n"); @@ -275,7 +277,7 @@ * Verify that we can map the full table and that its checksum is * correct, etc. */ - madt = madt_map_table(madt_physaddr, 0, APIC_SIG); + madt = madt_map_table(madt_physaddr, 0, ACPI_SIG_MADT); if (madt == NULL) return (ENXIO); madt_unmap_table(madt); @@ -303,7 +305,7 @@ printf("Table '%.4s' at 0x%jx\n", table->Signature, (uintmax_t)address); - if (strncmp(table->Signature, APIC_SIG, 4) != 0) { + if (strncmp(table->Signature, ACPI_SIG_MADT, ACPI_NAME_SIZE) != 0) { madt_unmap(table, sizeof(ACPI_TABLE_HEADER)); return (0); } @@ -320,7 +322,7 @@ madt_probe_cpus(void) { - madt = madt_map_table(madt_physaddr, 0, APIC_SIG); + madt = madt_map_table(madt_physaddr, 0, ACPI_SIG_MADT); KASSERT(madt != NULL, ("Unable to re-map MADT")); madt_walk_table(madt_probe_cpus_handler, NULL); madt_unmap_table(madt); @@ -336,10 +338,10 @@ { madt = pmap_mapbios(madt_physaddr, madt_length); - lapic_init(madt->LocalApicAddress); + lapic_init(madt->Address); printf("ACPI APIC Table: <%.*s %.*s>\n", - (int)sizeof(madt->OemId), madt->OemId, - (int)sizeof(madt->OemTableId), madt->OemTableId); + (int)sizeof(madt->Header.OemId), madt->Header.OemId, + (int)sizeof(madt->Header.OemTableId), madt->Header.OemTableId); /* * We ignore 64-bit local APIC override entries. Should we @@ -378,10 +380,10 @@ * force it to use level trigger and active-low polarity. */ if (!madt_found_sci_override) { - if (madt_find_interrupt(AcpiGbl_FADT->SciInt, &ioapic, &pin) - != 0) - printf("MADT: Could not find APIC for SCI IRQ %d\n", - AcpiGbl_FADT->SciInt); + if (madt_find_interrupt(AcpiGbl_FADT.SciInterrupt, &ioapic, + &pin) != 0) + printf("MADT: Could not find APIC for SCI IRQ %u\n", + AcpiGbl_FADT.SciInterrupt); else { printf( "MADT: Forcing active-low polarity and level trigger for SCI\n"); @@ -416,46 +418,46 @@ static void madt_walk_table(madt_entry_handler *handler, void *arg) { - APIC_HEADER *entry; + ACPI_SUBTABLE_HEADER *entry; u_char *p, *end; - end = (u_char *)(madt) + madt->Length; + end = (u_char *)(madt) + madt->Header.Length; for (p = (u_char *)(madt + 1); p < end; ) { - entry = (APIC_HEADER *)p; + entry = (ACPI_SUBTABLE_HEADER *)p; handler(entry, arg); p += entry->Length; } } static void -madt_probe_cpus_handler(APIC_HEADER *entry, void *arg) +madt_probe_cpus_handler(ACPI_SUBTABLE_HEADER *entry, void *arg) { - MADT_PROCESSOR_APIC *proc; + ACPI_MADT_LOCAL_APIC *proc; struct lapic_info *la; switch (entry->Type) { - case APIC_PROCESSOR: + case ACPI_MADT_TYPE_LOCAL_APIC: /* * The MADT does not include a BSP flag, so we have to * let the MP code figure out which CPU is the BSP on * its own. */ - proc = (MADT_PROCESSOR_APIC *)entry; + proc = (ACPI_MADT_LOCAL_APIC *)entry; if (bootverbose) - printf("MADT: Found CPU APIC ID %d ACPI ID %d: %s\n", - proc->LocalApicId, proc->ProcessorId, - proc->ProcessorEnabled ? "enabled" : "disabled"); - if (!proc->ProcessorEnabled) + printf("MADT: Found CPU APIC ID %u ACPI ID %u: %s\n", + proc->Id, proc->ProcessorId, + (proc->LapicFlags & ACPI_MADT_ENABLED) ? + "enabled" : "disabled"); + if (!(proc->LapicFlags & ACPI_MADT_ENABLED)) break; - if (proc->LocalApicId >= NLAPICS) - panic("%s: CPU ID %d too high", __func__, - proc->LocalApicId); - la = &lapics[proc->LocalApicId]; + if (proc->Id >= NLAPICS) + panic("%s: CPU ID %u too high", __func__, proc->Id); + la = &lapics[proc->Id]; KASSERT(la->la_enabled == 0, - ("Duplicate local APIC ID %d", proc->LocalApicId)); + ("Duplicate local APIC ID %u", proc->Id)); la->la_enabled = 1; la->la_acpi_id = proc->ProcessorId; - lapic_create(proc->LocalApicId, 0); + lapic_create(proc->Id, 0); break; } } @@ -465,26 +467,26 @@ * Add an I/O APIC from an entry in the table. */ static void -madt_parse_apics(APIC_HEADER *entry, void *arg __unused) +madt_parse_apics(ACPI_SUBTABLE_HEADER *entry, void *arg __unused) { - MADT_IO_APIC *apic; + ACPI_MADT_IO_APIC *apic; switch (entry->Type) { - case APIC_IO: - apic = (MADT_IO_APIC *)entry; + case ACPI_MADT_TYPE_IO_APIC: + apic = (ACPI_MADT_IO_APIC *)entry; if (bootverbose) - printf("MADT: Found IO APIC ID %d, Interrupt %d at %p\n", - apic->IoApicId, apic->Interrupt, + printf( + "MADT: Found IO APIC ID %u, Interrupt %u at %p\n", + apic->Id, apic->GlobalIrqBase, (void *)(uintptr_t)apic->Address); - if (apic->IoApicId >= NIOAPICS) - panic("%s: I/O APIC ID %d too high", __func__, - apic->IoApicId); - if (ioapics[apic->IoApicId].io_apic != NULL) - panic("%s: Double APIC ID %d", __func__, - apic->IoApicId); - ioapics[apic->IoApicId].io_apic = ioapic_create(apic->Address, - apic->IoApicId, apic->Interrupt); - ioapics[apic->IoApicId].io_vector = apic->Interrupt; + if (apic->Id >= NIOAPICS) + panic("%s: I/O APIC ID %u too high", __func__, + apic->Id); + if (ioapics[apic->Id].io_apic != NULL) + panic("%s: Double APIC ID %u", __func__, apic->Id); + ioapics[apic->Id].io_apic = ioapic_create(apic->Address, + apic->Id, apic->GlobalIrqBase); + ioapics[apic->Id].io_vector = apic->GlobalIrqBase; break; default: break; @@ -498,18 +500,18 @@ * SCI for which we use Active Lo, Level Triggered. */ static enum intr_polarity -interrupt_polarity(UINT16 Polarity, UINT8 Source) +interrupt_polarity(UINT16 IntiFlags, UINT8 Source) { - switch (Polarity) { - case POLARITY_CONFORMS: - if (Source == AcpiGbl_FADT->SciInt) + switch (IntiFlags & ACPI_MADT_POLARITY_MASK) { + case ACPI_MADT_POLARITY_CONFORMS: + if (Source == AcpiGbl_FADT.SciInterrupt) return (INTR_POLARITY_LOW); else return (INTR_POLARITY_HIGH); - case POLARITY_ACTIVE_HIGH: + case ACPI_MADT_POLARITY_ACTIVE_HIGH: return (INTR_POLARITY_HIGH); - case POLARITY_ACTIVE_LOW: + case ACPI_MADT_POLARITY_ACTIVE_LOW: return (INTR_POLARITY_LOW); default: panic("Bogus Interrupt Polarity"); @@ -517,18 +519,18 @@ } static enum intr_trigger -interrupt_trigger(UINT16 TriggerMode, UINT8 Source) +interrupt_trigger(UINT16 IntiFlags, UINT8 Source) { - switch (TriggerMode) { - case TRIGGER_CONFORMS: - if (Source == AcpiGbl_FADT->SciInt) + switch (IntiFlags & ACPI_MADT_TRIGGER_MASK) { + case ACPI_MADT_TRIGGER_CONFORMS: + if (Source == AcpiGbl_FADT.SciInterrupt) return (INTR_TRIGGER_LEVEL); else return (INTR_TRIGGER_EDGE); - case TRIGGER_EDGE: + case ACPI_MADT_TRIGGER_EDGE: return (INTR_TRIGGER_EDGE); - case TRIGGER_LEVEL: + case ACPI_MADT_TRIGGER_LEVEL: return (INTR_TRIGGER_LEVEL); default: panic("Bogus Interrupt Trigger Mode"); @@ -586,7 +588,7 @@ * Parse an interrupt source override for an ISA interrupt. */ static void -madt_parse_interrupt_override(MADT_INTERRUPT_OVERRIDE *intr) +madt_parse_interrupt_override(ACPI_MADT_INTERRUPT_OVERRIDE *intr) { void *new_ioapic, *old_ioapic; u_int new_pin, old_pin; @@ -594,20 +596,19 @@ enum intr_polarity pol; char buf[64]; - if (acpi_quirks & ACPI_Q_MADT_IRQ0 && intr->Source == 0 && - intr->Interrupt == 2) { + if (acpi_quirks & ACPI_Q_MADT_IRQ0 && intr->SourceIrq == 0 && + intr->GlobalIrq == 2) { if (bootverbose) printf("MADT: Skipping timer override\n"); return; } if (bootverbose) printf("MADT: Interrupt override: source %u, irq %u\n", - intr->Source, intr->Interrupt); + intr->SourceIrq, intr->GlobalIrq); KASSERT(intr->Bus == 0, ("bus for interrupt overrides must be zero")); - if (madt_find_interrupt(intr->Interrupt, &new_ioapic, - &new_pin) != 0) { - printf("MADT: Could not find APIC for vector %d (IRQ %d)\n", - intr->Interrupt, intr->Source); + if (madt_find_interrupt(intr->GlobalIrq, &new_ioapic, &new_pin) != 0) { + printf("MADT: Could not find APIC for vector %u (IRQ %u)\n", + intr->GlobalIrq, intr->SourceIrq); return; } @@ -615,15 +616,15 @@ * Lookup the appropriate trigger and polarity modes for this * entry. */ - trig = interrupt_trigger(intr->TriggerMode, intr->Source); - pol = interrupt_polarity(intr->Polarity, intr->Source); + trig = interrupt_trigger(intr->IntiFlags, intr->SourceIrq); + pol = interrupt_polarity(intr->IntiFlags, intr->SourceIrq); /* * If the SCI is identity mapped but has edge trigger and * active-hi polarity or the force_sci_lo tunable is set, * force it to use level/lo. */ - if (intr->Source == AcpiGbl_FADT->SciInt) { + if (intr->SourceIrq == AcpiGbl_FADT.SciInterrupt) { madt_found_sci_override = 1; if (getenv_string("hw.acpi.sci.trigger", buf, sizeof(buf))) { if (tolower(buf[0]) == 'e') @@ -652,23 +653,24 @@ } /* Remap the IRQ if it is mapped to a different interrupt vector. */ - if (intr->Source != intr->Interrupt) { + if (intr->SourceIrq != intr->GlobalIrq) { /* * If the SCI is remapped to a non-ISA global interrupt, * then override the vector we use to setup and allocate * the interrupt. */ - if (intr->Interrupt > 15 && - intr->Source == AcpiGbl_FADT->SciInt) - acpi_OverrideInterruptLevel(intr->Interrupt); + if (intr->GlobalIrq > 15 && + intr->SourceIrq == AcpiGbl_FADT.SciInterrupt) + acpi_OverrideInterruptLevel(intr->GlobalIrq); else - ioapic_remap_vector(new_ioapic, new_pin, intr->Source); - if (madt_find_interrupt(intr->Source, &old_ioapic, + ioapic_remap_vector(new_ioapic, new_pin, + intr->SourceIrq); + if (madt_find_interrupt(intr->SourceIrq, &old_ioapic, &old_pin) != 0) - printf("MADT: Could not find APIC for source IRQ %d\n", - intr->Source); + printf("MADT: Could not find APIC for source IRQ %u\n", + intr->SourceIrq); else if (ioapic_get_vector(old_ioapic, old_pin) == - intr->Source) + intr->SourceIrq) ioapic_disable_pin(old_ioapic, old_pin); } @@ -681,31 +683,31 @@ * Parse an entry for an NMI routed to an IO APIC. */ static void -madt_parse_nmi(MADT_NMI_SOURCE *nmi) +madt_parse_nmi(ACPI_MADT_NMI_SOURCE *nmi) { void *ioapic; u_int pin; - if (madt_find_interrupt(nmi->Interrupt, &ioapic, &pin) != 0) { - printf("MADT: Could not find APIC for vector %d\n", - nmi->Interrupt); + if (madt_find_interrupt(nmi->GlobalIrq, &ioapic, &pin) != 0) { + printf("MADT: Could not find APIC for vector %u\n", + nmi->GlobalIrq); return; } ioapic_set_nmi(ioapic, pin); - if (nmi->TriggerMode != TRIGGER_CONFORMS) + if (!(nmi->IntiFlags & ACPI_MADT_TRIGGER_CONFORMS)) ioapic_set_triggermode(ioapic, pin, - interrupt_trigger(nmi->TriggerMode, 0)); - if (nmi->Polarity != TRIGGER_CONFORMS) + interrupt_trigger(nmi->IntiFlags, 0)); + if (!(nmi->IntiFlags & ACPI_MADT_TRIGGER_CONFORMS)) ioapic_set_polarity(ioapic, pin, - interrupt_polarity(nmi->Polarity, 0)); + interrupt_polarity(nmi->IntiFlags, 0)); } /* * Parse an entry for an NMI routed to a local APIC LVT pin. */ static void -madt_parse_local_nmi(MADT_LOCAL_APIC_NMI *nmi) +madt_parse_local_nmi(ACPI_MADT_LOCAL_APIC_NMI *nmi) { u_int apic_id, pin; @@ -713,8 +715,8 @@ apic_id = APIC_ID_ALL; else if (madt_find_cpu(nmi->ProcessorId, &apic_id) != 0) { if (bootverbose) - printf("MADT: Ignoring local NMI routed to ACPI CPU %u\n", - nmi->ProcessorId); + printf("MADT: Ignoring local NMI routed to " + "ACPI CPU %u\n", nmi->ProcessorId); return; } if (nmi->Lint == 0) @@ -722,31 +724,31 @@ else pin = LVT_LINT1; lapic_set_lvt_mode(apic_id, pin, APIC_LVT_DM_NMI); - if (nmi->TriggerMode != TRIGGER_CONFORMS) + if (!(nmi->IntiFlags & ACPI_MADT_TRIGGER_CONFORMS)) lapic_set_lvt_triggermode(apic_id, pin, - interrupt_trigger(nmi->TriggerMode, 0)); - if (nmi->Polarity != POLARITY_CONFORMS) + interrupt_trigger(nmi->IntiFlags, 0)); + if (!(nmi->IntiFlags & ACPI_MADT_POLARITY_CONFORMS)) lapic_set_lvt_polarity(apic_id, pin, - interrupt_polarity(nmi->Polarity, 0)); + interrupt_polarity(nmi->IntiFlags, 0)); } /* * Parse interrupt entries. */ static void -madt_parse_ints(APIC_HEADER *entry, void *arg __unused) +madt_parse_ints(ACPI_SUBTABLE_HEADER *entry, void *arg __unused) { switch (entry->Type) { - case APIC_XRUPT_OVERRIDE: + case ACPI_MADT_TYPE_INTERRUPT_OVERRIDE: madt_parse_interrupt_override( - (MADT_INTERRUPT_OVERRIDE *)entry); + (ACPI_MADT_INTERRUPT_OVERRIDE *)entry); break; - case APIC_NMI: - madt_parse_nmi((MADT_NMI_SOURCE *)entry); + case ACPI_MADT_TYPE_NMI_SOURCE: + madt_parse_nmi((ACPI_MADT_NMI_SOURCE *)entry); break; - case APIC_LOCAL_NMI: - madt_parse_local_nmi((MADT_LOCAL_APIC_NMI *)entry); + case ACPI_MADT_TYPE_LOCAL_APIC_NMI: + madt_parse_local_nmi((ACPI_MADT_LOCAL_APIC_NMI *)entry); break; } } @@ -767,7 +769,7 @@ if (CPU_ABSENT(i)) continue; pc = pcpu_find(i); - KASSERT(pc != NULL, ("no pcpu data for CPU %d", i)); + KASSERT(pc != NULL, ("no pcpu data for CPU %u", i)); la = &lapics[pc->pc_apic_id]; if (!la->la_enabled) panic("APIC: CPU with APIC ID %u is not enabled", ==== //depot/projects/uart/amd64/conf/NOTES#14 (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.63 2006/10/23 13:23:13 ru Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.64 2007/03/22 18:16:38 jkim Exp $ # # @@ -278,18 +278,10 @@ # defined when it is built). # # ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op. -# -# ACPICA_PEDANTIC enables strict checking of AML. Our default is to -# relax these checks to allow code generated by the Microsoft compiler -# to still execute. -# -# Note that building ACPI into the kernel is deprecated; the module is -# normally loaded automatically by the loader. device acpi options ACPI_DEBUG #!options ACPI_NO_SEMAPHORES -#!options ACPICA_PEDANTIC # The cpufreq(4) driver provides support for non-ACPI CPU frequency control device cpufreq ==== //depot/projects/uart/amd64/include/acpica_machdep.h#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/include/acpica_machdep.h,v 1.6 2004/10/11 05:39:15 njl Exp $ + * $FreeBSD: src/sys/amd64/include/acpica_machdep.h,v 1.7 2007/03/22 18:16:39 jkim Exp $ */ /****************************************************************************** @@ -34,7 +34,7 @@ *****************************************************************************/ #ifndef __ACPICA_MACHDEP_H__ -#define __ACPICA_MACHDEP_H__ +#define __ACPICA_MACHDEP_H__ #ifdef _KERNEL /* @@ -45,33 +45,35 @@ * ACPI_INTERNAL_XFACE - Internal ACPI interfaces * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces */ -#define ACPI_SYSTEM_XFACE -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE +#define ACPI_SYSTEM_XFACE +#define ACPI_EXTERNAL_XFACE +#define ACPI_INTERNAL_XFACE +#define ACPI_INTERNAL_VAR_XFACE /* Asm macros */ -#define ACPI_ASM_MACROS -#define BREAKPOINT3 -#define ACPI_DISABLE_IRQS() disable_intr() >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 23 12:51:32 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7912216A408; Fri, 23 Mar 2007 12:51:32 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4C78916A404 for ; Fri, 23 Mar 2007 12:51:32 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3A4DC13C44C for ; Fri, 23 Mar 2007 12:51:32 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2NCpWbq062430 for ; Fri, 23 Mar 2007 12:51:32 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2NCpV4x062426 for perforce@freebsd.org; Fri, 23 Mar 2007 12:51:31 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 23 Mar 2007 12:51:31 GMT Message-Id: <200703231251.l2NCpV4x062426@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 116411 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2007 12:51:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=116411 Change 116411 by rdivacky@rdivacky_witten on 2007/03/23 12:51:19 Implement prototypes for *at family of syscalls. Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_proto.h#21 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_syscall.h#21 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysent.c#20 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/syscalls.master#21 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_proto.h#21 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_syscall.h#20 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_sysent.c#20 edit .. //depot/projects/linuxolator/src/sys/i386/linux/syscalls.master#20 edit Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_proto.h#21 (text+ko) ==== @@ -915,40 +915,72 @@ char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; }; struct linux_mkdirat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; }; struct linux_mknodat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; + char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; }; struct linux_fchownat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char user_l_[PADL_(uid_t)]; uid_t user; char user_r_[PADR_(uid_t)]; + char group_l_[PADL_(gid_t)]; gid_t group; char group_r_[PADR_(gid_t)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_futimesat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char utimes_l_[PADL_(struct l_timeval *)]; struct l_timeval * utimes; char utimes_r_[PADR_(struct l_timeval *)]; }; struct linux_fstatat64_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char statbuf_l_[PADL_(struct l_stat64 *)]; struct l_stat64 * statbuf; char statbuf_r_[PADR_(struct l_stat64 *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_unlinkat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_renameat_args { - register_t dummy; + char olddfd_l_[PADL_(l_int)]; l_int olddfd; char olddfd_r_[PADR_(l_int)]; + char oldname_l_[PADL_(char *)]; char * oldname; char oldname_r_[PADR_(char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(char *)]; char * newname; char newname_r_[PADR_(char *)]; }; struct linux_linkat_args { - register_t dummy; + char olddfd_l_[PADL_(l_int)]; l_int olddfd; char olddfd_r_[PADR_(l_int)]; + char oldname_l_[PADL_(char *)]; char * oldname; char oldname_r_[PADR_(char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(char *)]; char * newname; char newname_r_[PADR_(char *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_symlinkat_args { - register_t dummy; + char oldname_l_[PADL_(char *)]; char * oldname; char oldname_r_[PADR_(char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(char *)]; char * newname; char newname_r_[PADR_(char *)]; }; struct linux_readlinkat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char bufsiz_l_[PADL_(l_int)]; l_int bufsiz; char bufsiz_r_[PADR_(l_int)]; }; struct linux_fchmodat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)]; }; struct linux_faccessat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; }; struct linux_pselect6_args { register_t dummy; ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_syscall.h#21 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysent.c#20 (text+ko) ==== @@ -316,18 +316,18 @@ { 0, (sy_call_t *)linux_inotify_rm_watch, AUE_NULL, NULL, 0, 0 }, /* 293 = linux_inotify_rm_watch */ { 0, (sy_call_t *)linux_migrate_pages, AUE_NULL, NULL, 0, 0 }, /* 294 = linux_migrate_pages */ { AS(linux_openat_args), (sy_call_t *)linux_openat, AUE_OPEN_RWTC, NULL, 0, 0 }, /* 295 = linux_openat */ - { 0, (sy_call_t *)linux_mkdirat, AUE_NULL, NULL, 0, 0 }, /* 296 = linux_mkdirat */ - { 0, (sy_call_t *)linux_mknodat, AUE_NULL, NULL, 0, 0 }, /* 297 = linux_mknodat */ - { 0, (sy_call_t *)linux_fchownat, AUE_NULL, NULL, 0, 0 }, /* 298 = linux_fchownat */ - { 0, (sy_call_t *)linux_futimesat, AUE_NULL, NULL, 0, 0 }, /* 299 = linux_futimesat */ - { 0, (sy_call_t *)linux_fstatat64, AUE_NULL, NULL, 0, 0 }, /* 300 = linux_fstatat64 */ - { 0, (sy_call_t *)linux_unlinkat, AUE_NULL, NULL, 0, 0 }, /* 301 = linux_unlinkat */ - { 0, (sy_call_t *)linux_renameat, AUE_NULL, NULL, 0, 0 }, /* 302 = linux_renameat */ - { 0, (sy_call_t *)linux_linkat, AUE_NULL, NULL, 0, 0 }, /* 303 = linux_linkat */ - { 0, (sy_call_t *)linux_symlinkat, AUE_NULL, NULL, 0, 0 }, /* 304 = linux_symlinkat */ - { 0, (sy_call_t *)linux_readlinkat, AUE_NULL, NULL, 0, 0 }, /* 305 = linux_readlinkat */ - { 0, (sy_call_t *)linux_fchmodat, AUE_NULL, NULL, 0, 0 }, /* 306 = linux_fchmodat */ - { 0, (sy_call_t *)linux_faccessat, AUE_NULL, NULL, 0, 0 }, /* 307 = linux_faccessat */ + { AS(linux_mkdirat_args), (sy_call_t *)linux_mkdirat, AUE_NULL, NULL, 0, 0 }, /* 296 = linux_mkdirat */ + { AS(linux_mknodat_args), (sy_call_t *)linux_mknodat, AUE_NULL, NULL, 0, 0 }, /* 297 = linux_mknodat */ + { AS(linux_fchownat_args), (sy_call_t *)linux_fchownat, AUE_NULL, NULL, 0, 0 }, /* 298 = linux_fchownat */ + { AS(linux_futimesat_args), (sy_call_t *)linux_futimesat, AUE_NULL, NULL, 0, 0 }, /* 299 = linux_futimesat */ + { AS(linux_fstatat64_args), (sy_call_t *)linux_fstatat64, AUE_NULL, NULL, 0, 0 }, /* 300 = linux_fstatat64 */ + { AS(linux_unlinkat_args), (sy_call_t *)linux_unlinkat, AUE_NULL, NULL, 0, 0 }, /* 301 = linux_unlinkat */ + { AS(linux_renameat_args), (sy_call_t *)linux_renameat, AUE_NULL, NULL, 0, 0 }, /* 302 = linux_renameat */ + { AS(linux_linkat_args), (sy_call_t *)linux_linkat, AUE_NULL, NULL, 0, 0 }, /* 303 = linux_linkat */ + { AS(linux_symlinkat_args), (sy_call_t *)linux_symlinkat, AUE_NULL, NULL, 0, 0 }, /* 304 = linux_symlinkat */ + { AS(linux_readlinkat_args), (sy_call_t *)linux_readlinkat, AUE_NULL, NULL, 0, 0 }, /* 305 = linux_readlinkat */ + { AS(linux_fchmodat_args), (sy_call_t *)linux_fchmodat, AUE_NULL, NULL, 0, 0 }, /* 306 = linux_fchmodat */ + { AS(linux_faccessat_args), (sy_call_t *)linux_faccessat, AUE_NULL, NULL, 0, 0 }, /* 307 = linux_faccessat */ { 0, (sy_call_t *)linux_pselect6, AUE_NULL, NULL, 0, 0 }, /* 308 = linux_pselect6 */ { 0, (sy_call_t *)linux_ppoll, AUE_NULL, NULL, 0, 0 }, /* 309 = linux_ppoll */ { 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0 }, /* 310 = linux_unshare */ ==== //depot/projects/linuxolator/src/sys/amd64/linux32/syscalls.master#21 (text+ko) ==== @@ -467,18 +467,24 @@ 294 AUE_NULL STD { int linux_migrate_pages(void); } 295 AUE_OPEN_RWTC STD { int linux_openat(l_int dfd, char *filename, \ l_int flags, l_int mode); } -296 AUE_NULL STD { int linux_mkdirat(void); } -297 AUE_NULL STD { int linux_mknodat(void); } -298 AUE_NULL STD { int linux_fchownat(void); } -299 AUE_NULL STD { int linux_futimesat(void); } -300 AUE_NULL STD { int linux_fstatat64(void); } -301 AUE_NULL STD { int linux_unlinkat(void); } -302 AUE_NULL STD { int linux_renameat(void); } -303 AUE_NULL STD { int linux_linkat(void); } -304 AUE_NULL STD { int linux_symlinkat(void); } -305 AUE_NULL STD { int linux_readlinkat(void); } -306 AUE_NULL STD { int linux_fchmodat(void); } -307 AUE_NULL STD { int linux_faccessat(void); } +296 AUE_NULL STD { int linux_mkdirat(l_int dfd, char *pathname, l_int mode); } +297 AUE_NULL STD { int linux_mknodat(l_int dfd, char *filename, l_int mode, \ + l_uint dev); } +298 AUE_NULL STD { int linux_fchownat(l_int dfd, char *filename, uid_t user, \ + gid_t group, l_int flag); } +299 AUE_NULL STD { int linux_futimesat(l_int dfd, char *filename, \ + struct l_timeval *utimes); } +300 AUE_NULL STD { int linux_fstatat64(l_int dfd, char *pathname, \ + struct l_stat64 *statbuf, l_int flag); } +301 AUE_NULL STD { int linux_unlinkat(l_int dfd, char *pathname, l_int flag); } +302 AUE_NULL STD { int linux_renameat(l_int olddfd, char *oldname, \ + l_int newdfd, char *newname); } +303 AUE_NULL STD { int linux_linkat(l_int olddfd, char *oldname, \ + l_int newdfd, char *newname, l_int flags); } +304 AUE_NULL STD { int linux_symlinkat(char *oldname, l_int newdfd, char *newname); } +305 AUE_NULL STD { int linux_readlinkat(l_int dfd, char *path, char *buf, l_int bufsiz); } +306 AUE_NULL STD { int linux_fchmodat(l_int dfd, char *filename, l_mode_t mode); } +307 AUE_NULL STD { int linux_faccessat(l_int dfd, char *filename, l_int mode); } 308 AUE_NULL STD { int linux_pselect6(void); } 309 AUE_NULL STD { int linux_ppoll(void); } 310 AUE_NULL STD { int linux_unshare(void); } ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_proto.h#21 (text+ko) ==== @@ -934,40 +934,72 @@ char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; }; struct linux_mkdirat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; }; struct linux_mknodat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; + char dev_l_[PADL_(l_uint)]; l_uint dev; char dev_r_[PADR_(l_uint)]; }; struct linux_fchownat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char user_l_[PADL_(uid_t)]; uid_t user; char user_r_[PADR_(uid_t)]; + char group_l_[PADL_(gid_t)]; gid_t group; char group_r_[PADR_(gid_t)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_futimesat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char utimes_l_[PADL_(struct l_timeval *)]; struct l_timeval * utimes; char utimes_r_[PADR_(struct l_timeval *)]; }; struct linux_fstatat64_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char statbuf_l_[PADL_(struct l_stat64 *)]; struct l_stat64 * statbuf; char statbuf_r_[PADR_(struct l_stat64 *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_unlinkat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(char *)]; char * pathname; char pathname_r_[PADR_(char *)]; + char flag_l_[PADL_(l_int)]; l_int flag; char flag_r_[PADR_(l_int)]; }; struct linux_renameat_args { - register_t dummy; + char olddfd_l_[PADL_(l_int)]; l_int olddfd; char olddfd_r_[PADR_(l_int)]; + char oldname_l_[PADL_(char *)]; char * oldname; char oldname_r_[PADR_(char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(char *)]; char * newname; char newname_r_[PADR_(char *)]; }; struct linux_linkat_args { - register_t dummy; + char olddfd_l_[PADL_(l_int)]; l_int olddfd; char olddfd_r_[PADR_(l_int)]; + char oldname_l_[PADL_(char *)]; char * oldname; char oldname_r_[PADR_(char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(char *)]; char * newname; char newname_r_[PADR_(char *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_symlinkat_args { - register_t dummy; + char oldname_l_[PADL_(char *)]; char * oldname; char oldname_r_[PADR_(char *)]; + char newdfd_l_[PADL_(l_int)]; l_int newdfd; char newdfd_r_[PADR_(l_int)]; + char newname_l_[PADL_(char *)]; char * newname; char newname_r_[PADR_(char *)]; }; struct linux_readlinkat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; + char bufsiz_l_[PADL_(l_int)]; l_int bufsiz; char bufsiz_r_[PADR_(l_int)]; }; struct linux_fchmodat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char mode_r_[PADR_(l_mode_t)]; }; struct linux_faccessat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char filename_l_[PADL_(char *)]; char * filename; char filename_r_[PADR_(char *)]; + char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)]; }; struct linux_pselect6_args { register_t dummy; ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_syscall.h#20 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_sysent.c#20 (text+ko) ==== @@ -315,18 +315,18 @@ { 0, (sy_call_t *)linux_inotify_rm_watch, AUE_NULL, NULL, 0, 0 }, /* 293 = linux_inotify_rm_watch */ { 0, (sy_call_t *)linux_migrate_pages, AUE_NULL, NULL, 0, 0 }, /* 294 = linux_migrate_pages */ { AS(linux_openat_args), (sy_call_t *)linux_openat, AUE_OPEN_RWTC, NULL, 0, 0 }, /* 295 = linux_openat */ - { 0, (sy_call_t *)linux_mkdirat, AUE_NULL, NULL, 0, 0 }, /* 296 = linux_mkdirat */ - { 0, (sy_call_t *)linux_mknodat, AUE_NULL, NULL, 0, 0 }, /* 297 = linux_mknodat */ - { 0, (sy_call_t *)linux_fchownat, AUE_NULL, NULL, 0, 0 }, /* 298 = linux_fchownat */ - { 0, (sy_call_t *)linux_futimesat, AUE_NULL, NULL, 0, 0 }, /* 299 = linux_futimesat */ - { 0, (sy_call_t *)linux_fstatat64, AUE_NULL, NULL, 0, 0 }, /* 300 = linux_fstatat64 */ - { 0, (sy_call_t *)linux_unlinkat, AUE_NULL, NULL, 0, 0 }, /* 301 = linux_unlinkat */ - { 0, (sy_call_t *)linux_renameat, AUE_NULL, NULL, 0, 0 }, /* 302 = linux_renameat */ - { 0, (sy_call_t *)linux_linkat, AUE_NULL, NULL, 0, 0 }, /* 303 = linux_linkat */ - { 0, (sy_call_t *)linux_symlinkat, AUE_NULL, NULL, 0, 0 }, /* 304 = linux_symlinkat */ - { 0, (sy_call_t *)linux_readlinkat, AUE_NULL, NULL, 0, 0 }, /* 305 = linux_readlinkat */ - { 0, (sy_call_t *)linux_fchmodat, AUE_NULL, NULL, 0, 0 }, /* 306 = linux_fchmodat */ - { 0, (sy_call_t *)linux_faccessat, AUE_NULL, NULL, 0, 0 }, /* 307 = linux_faccessat */ + { AS(linux_mkdirat_args), (sy_call_t *)linux_mkdirat, AUE_NULL, NULL, 0, 0 }, /* 296 = linux_mkdirat */ + { AS(linux_mknodat_args), (sy_call_t *)linux_mknodat, AUE_NULL, NULL, 0, 0 }, /* 297 = linux_mknodat */ + { AS(linux_fchownat_args), (sy_call_t *)linux_fchownat, AUE_NULL, NULL, 0, 0 }, /* 298 = linux_fchownat */ + { AS(linux_futimesat_args), (sy_call_t *)linux_futimesat, AUE_NULL, NULL, 0, 0 }, /* 299 = linux_futimesat */ + { AS(linux_fstatat64_args), (sy_call_t *)linux_fstatat64, AUE_NULL, NULL, 0, 0 }, /* 300 = linux_fstatat64 */ + { AS(linux_unlinkat_args), (sy_call_t *)linux_unlinkat, AUE_NULL, NULL, 0, 0 }, /* 301 = linux_unlinkat */ + { AS(linux_renameat_args), (sy_call_t *)linux_renameat, AUE_NULL, NULL, 0, 0 }, /* 302 = linux_renameat */ + { AS(linux_linkat_args), (sy_call_t *)linux_linkat, AUE_NULL, NULL, 0, 0 }, /* 303 = linux_linkat */ + { AS(linux_symlinkat_args), (sy_call_t *)linux_symlinkat, AUE_NULL, NULL, 0, 0 }, /* 304 = linux_symlinkat */ + { AS(linux_readlinkat_args), (sy_call_t *)linux_readlinkat, AUE_NULL, NULL, 0, 0 }, /* 305 = linux_readlinkat */ + { AS(linux_fchmodat_args), (sy_call_t *)linux_fchmodat, AUE_NULL, NULL, 0, 0 }, /* 306 = linux_fchmodat */ + { AS(linux_faccessat_args), (sy_call_t *)linux_faccessat, AUE_NULL, NULL, 0, 0 }, /* 307 = linux_faccessat */ { 0, (sy_call_t *)linux_pselect6, AUE_NULL, NULL, 0, 0 }, /* 308 = linux_pselect6 */ { 0, (sy_call_t *)linux_ppoll, AUE_NULL, NULL, 0, 0 }, /* 309 = linux_ppoll */ { 0, (sy_call_t *)linux_unshare, AUE_NULL, NULL, 0, 0 }, /* 310 = linux_unshare */ ==== //depot/projects/linuxolator/src/sys/i386/linux/syscalls.master#20 (text+ko) ==== @@ -477,18 +477,24 @@ 294 AUE_NULL STD { int linux_migrate_pages(void); } 295 AUE_OPEN_RWTC STD { int linux_openat(l_int dfd, char *filename, \ l_int flags, l_int mode); } -296 AUE_NULL STD { int linux_mkdirat(void); } -297 AUE_NULL STD { int linux_mknodat(void); } -298 AUE_NULL STD { int linux_fchownat(void); } -299 AUE_NULL STD { int linux_futimesat(void); } -300 AUE_NULL STD { int linux_fstatat64(void); } -301 AUE_NULL STD { int linux_unlinkat(void); } -302 AUE_NULL STD { int linux_renameat(void); } -303 AUE_NULL STD { int linux_linkat(void); } -304 AUE_NULL STD { int linux_symlinkat(void); } -305 AUE_NULL STD { int linux_readlinkat(void); } -306 AUE_NULL STD { int linux_fchmodat(void); } -307 AUE_NULL STD { int linux_faccessat(void); } +296 AUE_NULL STD { int linux_mkdirat(l_int dfd, char *pathname, l_int mode); } +297 AUE_NULL STD { int linux_mknodat(l_int dfd, char *filename, l_int mode, \ + l_uint dev); } +298 AUE_NULL STD { int linux_fchownat(l_int dfd, char *filename, uid_t user, \ + gid_t group, l_int flag); } +299 AUE_NULL STD { int linux_futimesat(l_int dfd, char *filename, \ + struct l_timeval *utimes); } +300 AUE_NULL STD { int linux_fstatat64(l_int dfd, char *pathname, \ + struct l_stat64 *statbuf, l_int flag); } +301 AUE_NULL STD { int linux_unlinkat(l_int dfd, char *pathname, l_int flag); } +302 AUE_NULL STD { int linux_renameat(l_int olddfd, char *oldname, \ + l_int newdfd, char *newname); } +303 AUE_NULL STD { int linux_linkat(l_int olddfd, char *oldname, \ + l_int newdfd, char *newname, l_int flags); } +304 AUE_NULL STD { int linux_symlinkat(char *oldname, l_int newdfd, char *newname); } +305 AUE_NULL STD { int linux_readlinkat(l_int dfd, char *path, char *buf, l_int bufsiz); } +306 AUE_NULL STD { int linux_fchmodat(l_int dfd, char *filename, l_mode_t mode); } +307 AUE_NULL STD { int linux_faccessat(l_int dfd, char *filename, l_int mode); } 308 AUE_NULL STD { int linux_pselect6(void); } 309 AUE_NULL STD { int linux_ppoll(void); } 310 AUE_NULL STD { int linux_unshare(void); } From owner-p4-projects@FreeBSD.ORG Fri Mar 23 12:52:34 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4ABBB16A406; Fri, 23 Mar 2007 12:52:34 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 292E216A403 for ; Fri, 23 Mar 2007 12:52:34 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 18D3B13C4AE for ; Fri, 23 Mar 2007 12:52:34 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2NCqXlr062625 for ; Fri, 23 Mar 2007 12:52:33 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2NCqXQM062622 for perforce@freebsd.org; Fri, 23 Mar 2007 12:52:33 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 23 Mar 2007 12:52:33 GMT Message-Id: <200703231252.l2NCqXQM062622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 116412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2007 12:52:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=116412 Change 116412 by rdivacky@rdivacky_witten on 2007/03/23 12:52:07 Implement empty stubs for *at family of syscalls. Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_dummy.c#10 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_file.c#16 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#63 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_util.h#3 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_dummy.c#10 edit Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_dummy.c#10 (text+ko) ==== @@ -96,16 +96,6 @@ DUMMY(inotify_add_watch); DUMMY(inotify_rm_watch); DUMMY(migrate_pages); -DUMMY(mkdirat); -DUMMY(mknodat); -DUMMY(fchownat); -DUMMY(futimesat); -DUMMY(fstatat64); -DUMMY(unlinkat); -DUMMY(renameat); -DUMMY(linkat); -DUMMY(symlinkat); -DUMMY(readlinkat); DUMMY(fchmodat); DUMMY(faccessat); DUMMY(pselect6); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_file.c#16 (text+ko) ==== @@ -68,6 +68,63 @@ #endif #include +/* + * common code for linux *at set of syscalls + * + * works like this: + * if filename is absolute + * ignore dirfd + * else + * if dirfd == AT_FDCWD + * return CWD/filename + * else + * return DIRFD/filename + */ +int +linux_at(struct thread *td, int dirfd, char *filename, char **newpath, char **freebuf) +{ + struct file *fp; + int error = 0; + struct vnode *dvp; + struct filedesc *fdp = td->td_proc->p_fd; + char *fullpath = "unknown"; + char *freepath = NULL; + + /* don't do anything if the pathname is absolute */ + if (*filename == '/') { + *newpath= filename; + return (0); + } + + /* check for AT_FDWCD */ + if (dirfd == LINUX_AT_FDCWD) { + FILEDESC_LOCK(fdp); + dvp = fdp->fd_cdir; + FILEDESC_UNLOCK(fdp); + } else { + error = fget(td, dirfd, &fp); + if (error) + return (error); + dvp = fp->f_vnode; + /* only a dir can be dfd */ + if (dvp->v_type != VDIR) { + fdrop(fp, td); + return (ENOTDIR); + } + fdrop(fp, td); + } + + error = vn_fullpath(td, dvp, &fullpath, &freepath); + if (!error) { + *newpath = malloc(strlen(fullpath) + strlen(filename) + 2, M_TEMP, M_WAITOK | M_ZERO); + *freebuf = freepath; + sprintf(*newpath, "%s/%s", fullpath, filename); + } + + return (error); +} + + int linux_creat(struct thread *td, struct linux_creat_args *args) { @@ -177,62 +234,6 @@ return error; } -/* - * common code for linux *at set of syscalls - * - * works like this: - * if filename is absolute - * ignore dirfd - * else - * if dirfd == AT_FDCWD - * return CWD/filename - * else - * return DIRFD/filename - */ -static int -linux_at(struct thread *td, int dirfd, char *filename, char **newpath, char **freebuf) -{ - struct file *fp; - int error = 0; - struct vnode *dvp; - struct filedesc *fdp = td->td_proc->p_fd; - char *fullpath = "unknown"; - char *freepath = NULL; - - /* don't do anything if the pathname is absolute */ - if (*filename == '/') { - *newpath= filename; - return (0); - } - - /* check for AT_FDWCD */ - if (dirfd == LINUX_AT_FDCWD) { - FILEDESC_LOCK(fdp); - dvp = fdp->fd_cdir; - FILEDESC_UNLOCK(fdp); - } else { - error = fget(td, dirfd, &fp); - if (error) - return (error); - dvp = fp->f_vnode; - /* only a dir can be dfd */ - if (dvp->v_type != VDIR) { - fdrop(fp, td); - return (ENOTDIR); - } - fdrop(fp, td); - } - - error = vn_fullpath(td, dvp, &fullpath, &freepath); - if (!error) { - *newpath = malloc(strlen(fullpath) + strlen(filename) + 2, M_TEMP, M_WAITOK | M_ZERO); - *freebuf = freepath; - sprintf(*newpath, "%s/%s", fullpath, filename); - } - - return (error); -} - int linux_openat(struct thread *td, struct linux_openat_args *args) { @@ -658,6 +659,12 @@ } int +linux_unlinkat(struct thread *td, struct linux_unlinkat_args *args) +{ + return (ENOSYS); +} + +int linux_chdir(struct thread *td, struct linux_chdir_args *args) { char *path; @@ -709,6 +716,12 @@ } int +linux_mkdirat(struct thread *td, struct linux_mkdirat_args *args) +{ + return (ENOSYS); +} + +int linux_rmdir(struct thread *td, struct linux_rmdir_args *args) { char *path; @@ -750,6 +763,12 @@ } int +linux_renameat(struct thread *td, struct linux_renameat_args *args) +{ + return (ENOSYS); +} + +int linux_symlink(struct thread *td, struct linux_symlink_args *args) { char *path, *to; @@ -774,6 +793,12 @@ } int +linux_symlinkat(struct thread *td, struct linux_symlinkat_args *args) +{ + return (ENOSYS); +} + +int linux_readlink(struct thread *td, struct linux_readlink_args *args) { char *name; @@ -793,6 +818,12 @@ } int +linux_readlinkat(struct thread *td, struct linux_readlinkat_args *args) +{ + return (ENOSYS); +} + +int linux_truncate(struct thread *td, struct linux_truncate_args *args) { char *path; @@ -850,6 +881,12 @@ } int +linux_linkat(struct thread *td, struct linux_linkat_args *args) +{ + return (ENOSYS); +} + +int linux_fdatasync(td, uap) struct thread *td; struct linux_fdatasync_args *uap; @@ -1330,3 +1367,22 @@ LFREEPATH(path); return (error); } + +int +linux_futimesat(struct thread *td, struct linux_futimesat_args *args) +{ + return (ENOSYS); +} + +int +linux_fstatat64(struct thread *td, struct linux_fstatat64_args *args) +{ + return (ENOSYS); +} + +int +linux_fchownat(struct thread *td, struct linux_fchownat_args *args) +{ + return (ENOSYS); +} + ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#63 (text+ko) ==== @@ -971,6 +971,12 @@ return (error); } +int +linux_mknodat(struct thread *td, struct linux_mknodat_args *args) +{ + return (ENOSYS); +} + /* * UGH! This is just about the dumbest idea I've ever heard!! */ ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_util.h#3 (text+ko) ==== @@ -104,4 +104,7 @@ char *linux_get_char_devices(void); void linux_free_get_char_devices(char *string); +/* XXX: doesnt belong here */ +int linux_at(struct thread *td, int dirfd, char *filename, char **newpath, char **freebuf); + #endif /* !_LINUX_UTIL_H_ */ ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_dummy.c#10 (text+ko) ==== @@ -86,18 +86,6 @@ DUMMY(inotify_add_watch); DUMMY(inotify_rm_watch); DUMMY(migrate_pages); -DUMMY(mkdirat); -DUMMY(mknodat); -DUMMY(fchownat); -DUMMY(futimesat); -DUMMY(fstatat64); -DUMMY(unlinkat); -DUMMY(renameat); -DUMMY(linkat); -DUMMY(symlinkat); -DUMMY(readlinkat); -DUMMY(fchmodat); -DUMMY(faccessat); DUMMY(pselect6); DUMMY(ppoll); DUMMY(unshare); From owner-p4-projects@FreeBSD.ORG Fri Mar 23 12:56:40 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B175316A40A; Fri, 23 Mar 2007 12:56:40 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8599C16A406 for ; Fri, 23 Mar 2007 12:56:40 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3509913C4D3 for ; Fri, 23 Mar 2007 12:56:40 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2NCudj8063320 for ; Fri, 23 Mar 2007 12:56:40 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2NCudh0063317 for perforce@freebsd.org; Fri, 23 Mar 2007 12:56:39 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 23 Mar 2007 12:56:39 GMT Message-Id: <200703231256.l2NCudh0063317@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 116413 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2007 12:56:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=116413 Change 116413 by gonzo@gonzo_jeeves on 2007/03/23 12:56:32 o Implement pmap_page_protect. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#24 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#24 (text+ko) ==== @@ -1575,12 +1575,31 @@ void pmap_page_protect(vm_page_t m, vm_prot_t prot) { + pv_entry_t pv, npv; + vm_offset_t va; + pt_entry_t *pte; + /* * Consider only readonly case */ if ((prot & VM_PROT_WRITE) == 0) { if (prot & (VM_PROT_READ | VM_PROT_EXECUTE)) { - panic("pmap_page_protect unimplemented\n"); + /* + * Loop over all current mappings + * setting/clearing as appropos. + */ + for(pv = TAILQ_FIRST(&m->md.pv_list); pv; pv = npv) { + npv = TAILQ_NEXT(pv, pv_plist); + pte = pmap_pte(pv->pv_pmap, pv->pv_va); + + if ((pte == NULL) || !pte_valid(pte)) + panic("page on pm_pvlist has no pte\n"); + + va = pv->pv_va; + pmap_protect(pv->pv_pmap, va, va + PAGE_SIZE, + prot); + + } } else { pmap_remove_all(m); } From owner-p4-projects@FreeBSD.ORG Fri Mar 23 21:25:47 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24AEA16A408; Fri, 23 Mar 2007 21:25:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C51C116A403 for ; Fri, 23 Mar 2007 21:25:46 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B443A13C45B for ; Fri, 23 Mar 2007 21:25:46 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2NLPkML084536 for ; Fri, 23 Mar 2007 21:25:46 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2NLPjoA084533 for perforce@freebsd.org; Fri, 23 Mar 2007 21:25:45 GMT (envelope-from scottl@freebsd.org) Date: Fri, 23 Mar 2007 21:25:45 GMT Message-Id: <200703232125.l2NLPjoA084533@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 116448 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2007 21:25:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=116448 Change 116448 by scottl@scottl-x64 on 2007/03/23 21:25:11 Finalize the API for cam_periph_lock/unlock and cam_periph_acquire/release. cam_periph_lock() locks the periph using the SIM mutex. cam_periph_acquire() increments the refcount on the periph using the XPT topology lock. More work is needed to make the topology lock cover everything that is needed so that periph and SIM removal is safe. It may also be prudent for cam_periph_acquire() to look up the periph in the global list to make sure it's still valid. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#16 edit .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.h#9 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_cd.c#9 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_ch.c#7 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#23 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#17 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pt.c#6 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_sa.c#9 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_ses.c#10 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#16 (text+ko) ==== @@ -280,15 +280,13 @@ cam_status cam_periph_acquire(struct cam_periph *periph) { - int s; if (periph == NULL) return(CAM_REQ_CMP_ERR); - s = splsoftcam(); - mtx_assert(periph->sim->mtx, MA_OWNED); + xpt_lock_buses(); periph->refcount++; - splx(s); + xpt_unlock_buses(); return(CAM_REQ_CMP); } @@ -296,18 +294,16 @@ void cam_periph_release(struct cam_periph *periph) { - int s; if (periph == NULL) return; - s = splsoftcam(); - mtx_assert(periph->sim->mtx, MA_OWNED); + xpt_lock_buses(); if ((--periph->refcount == 0) && (periph->flags & CAM_PERIPH_INVALID)) { camperiphfree(periph); } - splx(s); + xpt_unlock_buses(); } @@ -430,9 +426,7 @@ void cam_periph_invalidate(struct cam_periph *periph) { - int s; - s = splsoftcam(); /* * We only call this routine the first time a peripheral is * invalidated. The oninvalidate() routine is always called at @@ -445,11 +439,12 @@ periph->flags |= CAM_PERIPH_INVALID; periph->flags &= ~CAM_PERIPH_NEW_DEV_FOUND; + xpt_lock_buses(); if (periph->refcount == 0) camperiphfree(periph); else if (periph->refcount < 0) printf("cam_invalidate_periph: refcount < 0!!\n"); - splx(s); + xpt_unlock_buses(); } static void @@ -508,34 +503,12 @@ /* * Wait interruptibly for an exclusive lock. */ -int -cam_periph_lock(struct cam_periph *periph, int priority) +void +cam_periph_lock(struct cam_periph *periph) { - /* - * Interlock the SIM lock with the XPT lock to protect against the - * SIM going away unexpectedly while we are trying reference it. - xpt_lock_buses(); - */ - - /* - * Now it's safe to take the SIM lock. - */ mtx_lock(periph->sim->mtx); - /* - xpt_unlock_buses(); - */ - - /* - * Increment the reference count on the peripheral. - */ - if (cam_periph_acquire(periph) != CAM_REQ_CMP) { - mtx_unlock(periph->sim->mtx); - return(ENXIO); - } - periph->flags |= CAM_PERIPH_LOCKED; - return 0; } /* @@ -544,9 +517,8 @@ void cam_periph_unlock(struct cam_periph *periph) { + periph->flags &= ~CAM_PERIPH_LOCKED; - - cam_periph_release(periph); mtx_unlock(periph->sim->mtx); } @@ -760,13 +732,10 @@ { struct ccb_hdr *ccb_h; struct mtx *mtx; - int s; + mtx_assert(periph->sim->mtx, MA_OWNED); CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("entering cdgetccb\n")); - mtx_assert(periph->sim->mtx, MA_OWNED); - s = splsoftcam(); - while (SLIST_FIRST(&periph->ccb_list) == NULL) { if (periph->immediate_priority > priority) periph->immediate_priority = priority; @@ -784,7 +753,6 @@ ccb_h = SLIST_FIRST(&periph->ccb_list); SLIST_REMOVE_HEAD(&periph->ccb_list, periph_links.sle); - splx(s); return ((union ccb *)ccb_h); } @@ -881,10 +849,10 @@ struct cam_sim *sim; int error; + mtx_assert(sim->mtx, MA_OWNED); error = 0; sim = xpt_path_sim(ccb->ccb_h.path); - mtx_assert(sim->mtx, MA_OWNED); /* * If the user has supplied a stats structure, and if we understand * this particular type of ccb, record the transaction start. ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.h#9 (text+ko) ==== @@ -141,7 +141,7 @@ char *name, cam_periph_type type, struct cam_path *, ac_callback_t *, ac_code, void *arg); struct cam_periph *cam_periph_find(struct cam_path *path, char *name); -int cam_periph_lock(struct cam_periph *periph, int priority); +void cam_periph_lock(struct cam_periph *periph); void cam_periph_unlock(struct cam_periph *periph); cam_status cam_periph_acquire(struct cam_periph *periph); void cam_periph_release(struct cam_periph *periph); ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_cd.c#9 (text+ko) ==== @@ -978,9 +978,8 @@ cdregisterexit: - /* Lock this peripheral until we are setup */ - /* Can't block */ - cam_periph_lock(periph, PRIBIO); + /* Refcount this periph now that it's been created. */ + (void)cam_periph_acquire(periph); if ((softc->flags & CD_FLAG_CHANGER) == 0) xpt_schedule(periph, /*priority*/5); @@ -995,8 +994,6 @@ { struct cam_periph *periph; struct cd_softc *softc; - int error; - int s; periph = (struct cam_periph *)dp->d_drv1; if (periph == NULL) @@ -1007,22 +1004,15 @@ /* * Grab splsoftcam and hold it until we lock the peripheral. */ - s = splsoftcam(); if (softc->flags & CD_FLAG_INVALID) { - splx(s); return(ENXIO); } - if ((error = cam_periph_lock(periph, PRIBIO | PCATCH)) != 0) { - splx(s); - return (error); - } - - splx(s); - if (cam_periph_acquire(periph) != CAM_REQ_CMP) return(ENXIO); + cam_periph_lock(periph); + /* * Check for media, and set the appropriate flags. We don't bail * if we don't have media, but then we don't allow anything but the @@ -1030,11 +1020,10 @@ */ cdcheckmedia(periph); + CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("leaving cdopen\n")); cam_periph_unlock(periph); - CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("leaving cdopen\n")); - - return (error); + return (0); } static int @@ -1042,7 +1031,6 @@ { struct cam_periph *periph; struct cd_softc *softc; - int error; periph = (struct cam_periph *)dp->d_drv1; if (periph == NULL) @@ -1050,8 +1038,7 @@ softc = (struct cd_softc *)periph->softc; - if ((error = cam_periph_lock(periph, PRIBIO)) != 0) - return (error); + cam_periph_lock(periph); if ((softc->flags & CD_FLAG_DISC_REMOVABLE) != 0) cdprevent(periph, PR_ALLOW); @@ -1905,7 +1892,7 @@ struct cam_periph *periph; struct cd_softc *softc; - int error, nocopyout; + int nocopyout, error = 0; periph = (struct cam_periph *)dp->d_drv1; if (periph == NULL) @@ -1915,13 +1902,10 @@ softc = (struct cd_softc *)periph->softc; + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("trying to do ioctl %#lx\n", cmd)); - error = cam_periph_lock(periph, PRIBIO | PCATCH); - - if (error != 0) - return(error); /* * If we don't have media loaded, check for it. If still don't * have media loaded, we can only do a load or eject. @@ -1936,11 +1920,10 @@ && (cmd != CDIOCEJECT)) && (IOCGROUP(cmd) == 'c')) { error = cdcheckmedia(periph); - if (error != 0) { - cam_periph_unlock(periph); - return (error); - } } + cam_periph_unlock(periph); + if (error != 0) + return (error); nocopyout = 0; switch (cmd) { @@ -1956,12 +1939,14 @@ params.mode_buf = malloc(params.alloc_len, M_TEMP, M_WAITOK | M_ZERO); + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCPLAYTRACKS\n")); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -1970,8 +1955,10 @@ page->audio.flags |= CD_PA_IMMED; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); - if (error) + if (error) { + cam_periph_unlock(periph); break; + } /* * This was originally implemented with the PLAY @@ -2033,6 +2020,7 @@ args->end_track, args->end_index); } + cam_periph_unlock(periph); } break; case CDIOCPLAYMSF: @@ -2046,12 +2034,14 @@ params.mode_buf = malloc(params.alloc_len, M_TEMP, M_WAITOK | M_ZERO); + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCPLAYMSF\n")); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2060,8 +2050,10 @@ page->audio.flags |= CD_PA_IMMED; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); - if (error) + if (error) { + cam_periph_unlock(periph); break; + } error = cdplaymsf(periph, args->start_m, args->start_s, @@ -2069,6 +2061,7 @@ args->end_m, args->end_s, args->end_f); + cam_periph_unlock(periph); } break; case CDIOCPLAYBLOCKS: @@ -2078,16 +2071,19 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCPLAYBLOCKS\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2096,9 +2092,12 @@ page->audio.flags |= CD_PA_IMMED; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); - if (error) + if (error) { + cam_periph_unlock(periph); break; + } error = cdplay(periph, args->blk, args->len); + cam_periph_unlock(periph); } break; case CDIOCREADSUBCHANNEL_SYSSPACE: @@ -2111,12 +2110,13 @@ struct cd_sub_channel_info *data; u_int32_t len = args->data_len; + data = malloc(sizeof(struct cd_sub_channel_info), + M_TEMP, M_WAITOK); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCREADSUBCHANNEL\n")); - data = malloc(sizeof(struct cd_sub_channel_info), - M_TEMP, M_WAITOK); - if ((len > sizeof(struct cd_sub_channel_info)) || (len < sizeof(struct cd_sub_channel_header))) { printf( @@ -2125,6 +2125,7 @@ len); error = EINVAL; free(data, M_TEMP); + cam_periph_unlock(periph); break; } @@ -2136,6 +2137,7 @@ if (error) { free(data, M_TEMP); + cam_periph_unlock(periph); break; } if (softc->quirks & CD_Q_BCD_TRACKS) @@ -2144,6 +2146,7 @@ len = min(len, ((data->header.data_len[0] << 8) + data->header.data_len[1] + sizeof(struct cd_sub_channel_header))); + cam_periph_unlock(periph); if (nocopyout == 0) { if (copyout(data, args->data, len) != 0) { error = EFAULT; @@ -2159,15 +2162,18 @@ { struct ioc_toc_header *th; + th = malloc(sizeof(struct ioc_toc_header), M_TEMP, + M_WAITOK); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOREADTOCHEADER\n")); - th = malloc(sizeof(struct ioc_toc_header), M_TEMP, - M_WAITOK); error = cdreadtoc(periph, 0, 0, (u_int8_t *)th, sizeof (*th), /*sense_flags*/0); if (error) { free(th, M_TEMP); + cam_periph_unlock(periph); break; } if (softc->quirks & CD_Q_BCD_TRACKS) { @@ -2181,6 +2187,7 @@ th->len = ntohs(th->len); bcopy(th, addr, sizeof(*th)); free(th, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOREADTOCENTRYS: @@ -2193,12 +2200,13 @@ u_int32_t len, readlen, idx, num; u_int32_t starting_track = te->starting_track; + data = malloc(sizeof(*data), M_TEMP, M_WAITOK); + lead = malloc(sizeof(*lead), M_TEMP, M_WAITOK); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOREADTOCENTRYS\n")); - data = malloc(sizeof(*data), M_TEMP, M_WAITOK); - lead = malloc(sizeof(*lead), M_TEMP, M_WAITOK); - if (te->data_len < sizeof(struct cd_toc_entry) || (te->data_len % sizeof(struct cd_toc_entry)) != 0 || (te->address_format != CD_MSF_FORMAT @@ -2208,6 +2216,7 @@ "returning EINVAL\n"); free(data, M_TEMP); free(lead, M_TEMP); + cam_periph_unlock(periph); break; } @@ -2217,6 +2226,7 @@ if (error) { free(data, M_TEMP); free(lead, M_TEMP); + cam_periph_unlock(periph); break; } @@ -2239,6 +2249,7 @@ "returning EINVAL\n"); free(data, M_TEMP); free(lead, M_TEMP); + cam_periph_unlock(periph); error = EINVAL; break; } @@ -2260,6 +2271,7 @@ error = EINVAL; free(data, M_TEMP); free(lead, M_TEMP); + cam_periph_unlock(periph); break; } num = len / sizeof(struct cd_toc_entry); @@ -2273,6 +2285,7 @@ if (error) { free(data, M_TEMP); free(lead, M_TEMP); + cam_periph_unlock(periph); break; } } @@ -2289,6 +2302,7 @@ if (error) { free(data, M_TEMP); free(lead, M_TEMP); + cam_periph_unlock(periph); break; } data->entries[idx - starting_track] = @@ -2301,6 +2315,7 @@ } } + cam_periph_unlock(periph); error = copyout(data->entries, te->data, len); free(data, M_TEMP); free(lead, M_TEMP); @@ -2314,17 +2329,19 @@ struct ioc_toc_header *th; u_int32_t track; + data = malloc(sizeof(*data), M_TEMP, M_WAITOK); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOREADTOCENTRY\n")); - data = malloc(sizeof(*data), M_TEMP, M_WAITOK); - if (te->address_format != CD_MSF_FORMAT && te->address_format != CD_LBA_FORMAT) { printf("error in readtocentry, " " returning EINVAL\n"); free(data, M_TEMP); error = EINVAL; + cam_periph_unlock(periph); break; } @@ -2333,6 +2350,7 @@ sizeof (*th), /*sense_flags*/0); if (error) { free(data, M_TEMP); + cam_periph_unlock(periph); break; } @@ -2355,6 +2373,7 @@ " returning EINVAL\n"); free(data, M_TEMP); error = EINVAL; + cam_periph_unlock(periph); break; } @@ -2363,6 +2382,7 @@ /*sense_flags*/0); if (error) { free(data, M_TEMP); + cam_periph_unlock(periph); break; } @@ -2371,6 +2391,7 @@ bcopy(&data->entry, &te->entry, sizeof(struct cd_toc_entry)); free(data, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCSETPATCH: @@ -2379,15 +2400,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCSETPATCH\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2400,6 +2424,7 @@ page->audio.port[3].channels = arg->patch[3]; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCGETVOL: @@ -2408,15 +2433,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCGETVOL\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2428,6 +2456,7 @@ arg->vol[2] = page->audio.port[2].volume; arg->vol[3] = page->audio.port[3].volume; free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCSETVOL: @@ -2436,15 +2465,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCSETVOL\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2458,6 +2490,7 @@ page->audio.port[2].volume = arg->vol[2]; page->audio.port[3].volume = arg->vol[3]; error = cdsetmode(periph, ¶ms); + cam_periph_unlock(periph); free(params.mode_buf, M_TEMP); } break; @@ -2466,15 +2499,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCSETMONO\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2486,6 +2522,7 @@ page->audio.port[2].channels = 0; page->audio.port[3].channels = 0; error = cdsetmode(periph, ¶ms); + cam_periph_unlock(periph); free(params.mode_buf, M_TEMP); } break; @@ -2494,15 +2531,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCSETSTEREO\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2515,6 +2555,7 @@ page->audio.port[3].channels = 0; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCSETMUTE: @@ -2522,15 +2563,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCSETMUTE\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(¶ms, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2541,6 +2585,7 @@ page->audio.port[3].channels = 0; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCSETLEFT: @@ -2548,16 +2593,18 @@ struct cd_mode_params params; union cd_pages *page; + params.alloc_len = sizeof(union cd_mode_data_6_10); + params.mode_buf = malloc(params.alloc_len, M_TEMP, + M_WAITOK | M_ZERO); + + cam_periph_lock(periph); CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, ("trying to do CDIOCSETLEFT\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); - params.mode_buf = malloc(params.alloc_len, M_TEMP, - M_WAITOK | M_ZERO); - error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2568,6 +2615,7 @@ page->audio.port[3].channels = 0; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCSETRIGHT: @@ -2575,16 +2623,18 @@ struct cd_mode_params params; union cd_pages *page; - CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, - ("trying to do CDIOCSETRIGHT\n")); - params.alloc_len = sizeof(union cd_mode_data_6_10); params.mode_buf = malloc(params.alloc_len, M_TEMP, M_WAITOK | M_ZERO); + cam_periph_lock(periph); + CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, + ("trying to do CDIOCSETRIGHT\n")); + error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); break; } page = cdgetpage(¶ms); @@ -2595,31 +2645,48 @@ page->audio.port[3].channels = 0; error = cdsetmode(periph, ¶ms); free(params.mode_buf, M_TEMP); + cam_periph_unlock(periph); } break; case CDIOCRESUME: + cam_periph_lock(periph); error = cdpause(periph, 1); + cam_periph_unlock(periph); break; case CDIOCPAUSE: + cam_periph_lock(periph); error = cdpause(periph, 0); + cam_periph_unlock(periph); break; case CDIOCSTART: + cam_periph_lock(periph); error = cdstartunit(periph, 0); + cam_periph_unlock(periph); break; case CDIOCCLOSE: + cam_periph_lock(periph); error = cdstartunit(periph, 1); + cam_periph_unlock(periph); break; case CDIOCSTOP: + cam_periph_lock(periph); error = cdstopunit(periph, 0); + cam_periph_unlock(periph); break; case CDIOCEJECT: + cam_periph_lock(periph); error = cdstopunit(periph, 1); + cam_periph_unlock(periph); break; case CDIOCALLOW: + cam_periph_lock(periph); cdprevent(periph, PR_ALLOW); + cam_periph_unlock(periph); break; case CDIOCPREVENT: + cam_periph_lock(periph); cdprevent(periph, PR_PREVENT); + cam_periph_unlock(periph); break; case CDIOCSETDEBUG: /* sc_link->flags |= (SDEV_DB1 | SDEV_DB2); */ @@ -2634,10 +2701,14 @@ error = ENOTTY; break; case CDRIOCREADSPEED: + cam_periph_lock(periph); error = cdsetspeed(periph, *(u_int32_t *)addr, CDR_MAX_SPEED); + cam_periph_unlock(periph); break; case CDRIOCWRITESPEED: + cam_periph_lock(periph); error = cdsetspeed(periph, CDR_MAX_SPEED, *(u_int32_t *)addr); + cam_periph_unlock(periph); break; case DVDIOCSENDKEY: case DVDIOCREPORTKEY: { @@ -2645,10 +2716,12 @@ authinfo = (struct dvd_authinfo *)addr; + cam_periph_lock(periph); if (cmd == DVDIOCREPORTKEY) error = cdreportkey(periph, authinfo); else error = cdsendkey(periph, authinfo); + cam_periph_unlock(periph); break; } case DVDIOCREADSTRUCTURE: { @@ -2656,18 +2729,19 @@ dvdstruct = (struct dvd_struct *)addr; + cam_periph_lock(periph); error = cdreaddvdstructure(periph, dvdstruct); + cam_periph_unlock(periph); break; } default: + cam_periph_lock(periph); error = cam_periph_ioctl(periph, cmd, addr, cderror); + cam_periph_unlock(periph); break; } - cam_periph_unlock(periph); - - CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("leaving cdioctl\n")); if (error && bootverbose) { printf("scsi_cd.c::ioctl cmd=%08lx error=%d\n", cmd, error); } ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_ch.c#7 (text+ko) ==== @@ -392,11 +392,8 @@ csa.callback_arg = periph; xpt_action((union ccb *)&csa); - /* - * Lock this peripheral until we are setup. - * This first call can't block - */ - (void)cam_periph_lock(periph, PRIBIO); + /* Refcount this periph now that it's been created. */ + (void)cam_periph_acquire(periph); xpt_schedule(periph, /*priority*/5); return(CAM_REQ_CMP); @@ -408,7 +405,6 @@ struct cam_periph *periph; struct ch_softc *softc; int error; - int s; periph = (struct cam_periph *)dev->si_drv1; if (periph == NULL) @@ -416,25 +412,18 @@ softc = (struct ch_softc *)periph->softc; - s = splsoftcam(); if (softc->flags & CH_FLAG_INVALID) { - splx(s); return(ENXIO); } - if ((error = cam_periph_lock(periph, PRIBIO | PCATCH)) != 0) { - splx(s); - return (error); - } - - splx(s); - if ((softc->flags & CH_FLAG_OPEN) == 0) { if (cam_periph_acquire(periph) != CAM_REQ_CMP) return(ENXIO); softc->flags |= CH_FLAG_OPEN; } + cam_periph_lock(periph); + /* * Load information about this changer device into the softc. */ @@ -465,8 +454,7 @@ softc = (struct ch_softc *)periph->softc; - if ((error = cam_periph_lock(periph, PRIBIO)) != 0) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 23 21:31:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1D7516A404; Fri, 23 Mar 2007 21:31:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 63FE816A402 for ; Fri, 23 Mar 2007 21:31:55 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 48FE513C45E for ; Fri, 23 Mar 2007 21:31:55 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2NLVtmt085553 for ; Fri, 23 Mar 2007 21:31:55 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2NLVsJl085546 for perforce@freebsd.org; Fri, 23 Mar 2007 21:31:54 GMT (envelope-from scottl@freebsd.org) Date: Fri, 23 Mar 2007 21:31:54 GMT Message-Id: <200703232131.l2NLVsJl085546@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 116449 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2007 21:31:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=116449 Change 116449 by scottl@scottl-x64 on 2007/03/23 21:31:19 Remove CAM_PERIPH_LOCK/UNLOCK. These were redundant with their functional equivalents. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.h#10 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#24 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#18 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_sa.c#10 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_ses.c#11 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.h#10 (text+ko) ==== @@ -126,9 +126,6 @@ #define CAM_PERIPH_MAXMAPS 2 -#define CAM_PERIPH_LOCK(periph) mtx_lock((periph)->sim->mtx) -#define CAM_PERIPH_UNLOCK(periph) mtx_unlock((periph)->sim->mtx) - struct cam_periph_map_info { int num_bufs_used; struct buf *bp[CAM_PERIPH_MAXMAPS]; ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#24 (text+ko) ==== @@ -716,7 +716,7 @@ } softc = (struct da_softc *)periph->softc; - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); #if 0 /* @@ -737,7 +737,7 @@ */ if ((softc->flags & DA_FLAG_PACK_INVALID)) { splx(s); - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); biofinish(bp, NULL, ENXIO); return; } @@ -753,7 +753,7 @@ * Schedule ourselves for performing the work. */ xpt_schedule(periph, /* XXX priority */1); - CAM_PERIPH_UNLOCK(periph); + cam_periph_lock(periph); return; } ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#18 (text+ko) ==== @@ -459,7 +459,7 @@ if (periph == NULL) return(ENXIO); - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); softc = (struct pass_softc *)periph->softc; error = 0; @@ -526,7 +526,7 @@ break; } - CAM_PERIPH_UNLOCK(periph); + cam_periph_lock(periph); return(error); } ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_sa.c#10 (text+ko) ==== ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_ses.c#11 (text+ko) ==== @@ -533,17 +533,17 @@ CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("entering sesioctl\n")); - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); ssc = (struct ses_softc *)periph->softc; /* * Now check to see whether we're initialized or not. */ if ((ssc->ses_flags & SES_FLAG_INITIALIZED) == 0) { - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); return (ENXIO); } - CAM_PERIPH_UNLOCK(periph); + cam_periph_lock(periph); error = 0; @@ -577,30 +577,30 @@ * XXX Dropping the lock while copying multiple segments is * bogus. */ - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); for (uobj = addr, i = 0; i != ssc->ses_nobjects; i++, uobj++) { obj.obj_id = i; obj.subencid = ssc->ses_objmap[i].subenclosure; obj.object_type = ssc->ses_objmap[i].enctype; - CAM_PERIPH_UNLOCK(periph); + cam_periph_lock(periph); error = copyout(&obj, uobj, sizeof (ses_object)); - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); if (error) { break; } } - CAM_PERIPH_UNLOCK(periph); + cam_periph_lock(periph); break; case SESIOC_GETENCSTAT: - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); error = (*ssc->ses_vec.get_encstat)(ssc, 1); if (error) { - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); break; } tmp = ssc->ses_encstat & ~ENCI_SVALID; - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); error = copyout(&tmp, addr, sizeof (ses_encstat)); ssc->ses_encstat = tmp; break; @@ -609,9 +609,9 @@ error = copyin(addr, &tmp, sizeof (ses_encstat)); if (error) break; - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); error = (*ssc->ses_vec.set_encstat)(ssc, tmp, 1); - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); break; case SESIOC_GETOBJSTAT: @@ -622,9 +622,9 @@ error = EINVAL; break; } - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); error = (*ssc->ses_vec.get_objstat)(ssc, &objs, 1); - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); if (error) break; error = copyout(&objs, addr, sizeof (ses_objstat)); @@ -643,9 +643,9 @@ error = EINVAL; break; } - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); error = (*ssc->ses_vec.set_objstat)(ssc, &objs, 1); - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); /* * Always (for now) invalidate entry. @@ -655,15 +655,15 @@ case SESIOC_INIT: - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); error = (*ssc->ses_vec.init_enc)(ssc); - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); break; default: - CAM_PERIPH_LOCK(periph); + cam_periph_lock(periph); error = cam_periph_ioctl(periph, cmd, arg_addr, seserror); - CAM_PERIPH_UNLOCK(periph); + cam_periph_unlock(periph); break; } return (error); From owner-p4-projects@FreeBSD.ORG Sat Mar 24 15:57:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E1FF16A406; Sat, 24 Mar 2007 15:57:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2559E16A402 for ; Sat, 24 Mar 2007 15:57:17 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1609213C4BB for ; Sat, 24 Mar 2007 15:57:17 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2OFvG67034282 for ; Sat, 24 Mar 2007 15:57:16 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2OFvGu2034274 for perforce@freebsd.org; Sat, 24 Mar 2007 15:57:16 GMT (envelope-from sam@freebsd.org) Date: Sat, 24 Mar 2007 15:57:16 GMT Message-Id: <200703241557.l2OFvGu2034274@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 116492 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Mar 2007 15:57:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=116492 Change 116492 by sam@sam_ebb on 2007/03/24 15:56:53 checkpoint scanning changes for iwi & co. Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_scan.c#11 edit .. //depot/projects/wifi/sys/net80211/ieee80211_scan.h#6 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#52 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.c#11 (text+ko) ==== @@ -88,6 +88,8 @@ #define ROAM_RATE_11BONLY_DEFAULT 2*1 /* tx rate thresh for 11b-only bss */ static void scan_restart_pwrsav(void *); +static void scan_curchan(struct ieee80211com *, unsigned long); +static void scan_mindwell(struct ieee80211com *); static void scan_next(void *); MALLOC_DEFINE(M_80211_SCAN, "80211scan", "802.11 scan state"); @@ -108,6 +110,9 @@ callout_init(&ss->ss_scan_timer, CALLOUT_MPSAFE); ic->ic_scan = &ss->base; + ic->ic_scan_curchan = scan_curchan; + ic->ic_scan_mindwell = scan_mindwell; + ic->ic_bgscanidle = (IEEE80211_BGSCAN_IDLE_DEFAULT*1000)/hz; ic->ic_bgscanintvl = IEEE80211_BGSCAN_INTVAL_DEFAULT*hz; ic->ic_scanvalid = IEEE80211_SCAN_VALID_DEFAULT*hz; @@ -610,6 +615,73 @@ } /* + * Public access to scan_next for drivers that manage + * scanning themselves (e.g. for firmware-based devices). + */ +void +ieee80211_scan_next(struct ieee80211com *ic) +{ + /* + * XXX: We might need/want to decouple context here by either: + * callout_reset(&SCAN_PRIVATE(ss)->ss_scan_timer, 0, scan_next, ss); + * or using a taskqueue. Let's see what kind of problems direct + * dispatch has for now. + */ + scan_next(ic->ic_scan); +} + +/* + * Scan curchan. If this is an active scan and the channel + * is not marked passive then send probe request frame(s). + * Arrange for the channel change after maxdwell ticks. + */ +static void +scan_curchan(struct ieee80211com *ic, unsigned long maxdwell) +{ + struct ieee80211_scan_state *ss = ic->ic_scan; + + if ((ss->ss_flags & IEEE80211_SCAN_ACTIVE) && + (ic->ic_curchan->ic_flags & IEEE80211_CHAN_PASSIVE) == 0) { + struct ifnet *ifp = ic->ic_ifp; + int i; + + /* + * Send a broadcast probe request followed by + * any specified directed probe requests. + * XXX suppress broadcast probe req? + * XXX remove dependence on ic/ic->ic_bss + * XXX move to policy code? + */ + ieee80211_send_probereq(ic->ic_bss, + ic->ic_myaddr, ifp->if_broadcastaddr, + ifp->if_broadcastaddr, + "", 0, + ic->ic_opt_ie, ic->ic_opt_ie_len); + for (i = 0; i < ss->ss_nssid; i++) + ieee80211_send_probereq(ic->ic_bss, + ic->ic_myaddr, ifp->if_broadcastaddr, + ifp->if_broadcastaddr, + ss->ss_ssid[i].ssid, + ss->ss_ssid[i].len, + ic->ic_opt_ie, ic->ic_opt_ie_len); + } + callout_reset(&SCAN_PRIVATE(ss)->ss_scan_timer, + maxdwell, scan_next, ss); +} + +/* + * Handle mindwell requirements completed; initiate a channel + * change to the next channel asap. + */ +static void +scan_mindwell(struct ieee80211com *ic) +{ + struct ieee80211_scan_state *ss = ic->ic_scan; + + callout_reset(&SCAN_PRIVATE(ss)->ss_scan_timer, 0, scan_next, ss); +} + +/* * Switch to the next channel marked for scanning. */ static void @@ -620,7 +692,7 @@ struct ieee80211com *ic = ss->ss_ic; struct ieee80211_channel *chan; unsigned long maxdwell, scanend; - int scanning, scandone, i; + int scanning, scandone; IEEE80211_LOCK(ic); scanning = (ic->ic_flags & IEEE80211_F_SCAN) != 0; @@ -663,36 +735,15 @@ change_channel(ic, chan); /* - * If doing an active scan and the channel is not - * marked passive-only then send a probe request. - * Otherwise just listen for traffic on the channel. + * Scan curchan. Drivers for "intelligent hardware" + * override ic_scan_curchan to tell the device to do + * the work. Otherwise we manage the work outselves; + * sending a probe request (as needed), and arming the + * timeout to switch channels after maxdwell ticks. */ - if ((ss->ss_flags & IEEE80211_SCAN_ACTIVE) && - (chan->ic_flags & IEEE80211_CHAN_PASSIVE) == 0) { - struct ifnet *ifp = ic->ic_ifp; - /* - * Send a broadcast probe request followed by - * any specified directed probe requests. - * XXX suppress broadcast probe req? - * XXX remove dependence on ic/ic->ic_bss - * XXX move to policy code? - */ - ieee80211_send_probereq(ic->ic_bss, - ic->ic_myaddr, ifp->if_broadcastaddr, - ifp->if_broadcastaddr, - "", 0, - ic->ic_opt_ie, ic->ic_opt_ie_len); - for (i = 0; i < ss->ss_nssid; i++) - ieee80211_send_probereq(ic->ic_bss, - ic->ic_myaddr, ifp->if_broadcastaddr, - ifp->if_broadcastaddr, - ss->ss_ssid[i].ssid, - ss->ss_ssid[i].len, - ic->ic_opt_ie, ic->ic_opt_ie_len); - } + ic->ic_scan_curchan(ic, maxdwell); + SCAN_PRIVATE(ss)->ss_chanmindwell = ticks + ss->ss_mindwell; - callout_reset(&SCAN_PRIVATE(ss)->ss_scan_timer, - maxdwell, scan_next, ss); /* clear mindwell lock and initial channel change flush */ SCAN_PRIVATE(ss)->ss_iflags &= ~ISCAN_REP; } else { @@ -861,9 +912,11 @@ #else SCAN_PRIVATE(ss)->ss_iflags |= ISCAN_DISCARD; #endif - /* NB: trigger at next clock tick */ - callout_reset(&SCAN_PRIVATE(ss)->ss_scan_timer, - 0, scan_next, ss); + /* + * NB: trigger at next clock tick or wait for the + * hardware + */ + ic->ic_scan_mindwell(ic); } } } ==== //depot/projects/wifi/sys/net80211/ieee80211_scan.h#6 (text+ko) ==== @@ -88,6 +88,7 @@ u_int nssid, const struct ieee80211_scan_ssid ssids[]); int ieee80211_bg_scan(struct ieee80211com *); void ieee80211_cancel_scan(struct ieee80211com *); +void ieee80211_scan_next(struct ieee80211com *); struct ieee80211_scanparams; void ieee80211_add_scan(struct ieee80211com *, ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#52 (text+ko) ==== @@ -249,6 +249,9 @@ void (*ic_scan_start)(struct ieee80211com *); void (*ic_scan_end)(struct ieee80211com *); void (*ic_set_channel)(struct ieee80211com *); + void (*ic_scan_curchan)(struct ieee80211com *, + unsigned long); + void (*ic_scan_mindwell)(struct ieee80211com *); /* per-vap eventually... */ int (*ic_newstate)(struct ieee80211com *, enum ieee80211_state, int); From owner-p4-projects@FreeBSD.ORG Sat Mar 24 15:58:21 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12CE616A408; Sat, 24 Mar 2007 15:58:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C882716A405 for ; Sat, 24 Mar 2007 15:58:20 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B6A3013C4DA for ; Sat, 24 Mar 2007 15:58:19 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2OFwJWU034325 for ; Sat, 24 Mar 2007 15:58:19 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2OFwJD2034322 for perforce@freebsd.org; Sat, 24 Mar 2007 15:58:19 GMT (envelope-from sam@freebsd.org) Date: Sat, 24 Mar 2007 15:58:19 GMT Message-Id: <200703241558.l2OFwJD2034322@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 116493 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Mar 2007 15:58:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=116493 Change 116493 by sam@sam_ebb on 2007/03/24 15:57:27 checkpoint scanning changes for iwi Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#25 edit .. //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#12 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#25 (text+ko) ==== @@ -163,12 +163,12 @@ static int iwi_get_firmware(struct iwi_softc *); static void iwi_put_firmware(struct iwi_softc *); static void iwi_scanabort(void *, int); -static void iwi_scandone(void *, int); -static void iwi_scanstart(void *, int); -static void iwi_scanchan(void *, int); +static int iwi_scanchan(struct iwi_softc *, unsigned long); static void iwi_scan_start(struct ieee80211com *); static void iwi_scan_end(struct ieee80211com *); static void iwi_set_channel(struct ieee80211com *); +static void iwi_scan_curchan(struct ieee80211com *, unsigned long maxdwell); +static void iwi_scan_mindwell(struct ieee80211com *); static void iwi_assoc(struct ieee80211com *ic); static void iwi_ops(void *, int); static int iwi_auth_and_assoc(struct iwi_softc *); @@ -275,10 +275,7 @@ #endif TASK_INIT(&sc->sc_radiontask, 0, iwi_radio_on, sc); TASK_INIT(&sc->sc_radiofftask, 0, iwi_radio_off, sc); - TASK_INIT(&sc->sc_scanstarttask, 0, iwi_scanstart, sc); TASK_INIT(&sc->sc_scanaborttask, 0, iwi_scanabort, sc); - TASK_INIT(&sc->sc_scandonetask, 0, iwi_scandone, sc); - TASK_INIT(&sc->sc_scantask, 0, iwi_scanchan, sc); TASK_INIT(&sc->sc_setwmetask, 0, iwi_wme_setparams, sc); TASK_INIT(&sc->sc_downtask, 0, iwi_down, sc); TASK_INIT(&sc->sc_restarttask, 0, iwi_restart, sc); @@ -369,12 +366,16 @@ /* set device capabilities */ ic->ic_caps = - IEEE80211_C_IBSS | /* IBSS mode supported */ - IEEE80211_C_MONITOR | /* monitor mode supported */ - IEEE80211_C_PMGT | /* power save supported */ - IEEE80211_C_SHPREAMBLE | /* short preamble supported */ - IEEE80211_C_WPA | /* 802.11i */ - IEEE80211_C_WME; /* 802.11e */ + IEEE80211_C_IBSS /* IBSS mode supported */ + | IEEE80211_C_MONITOR /* monitor mode supported */ + | IEEE80211_C_PMGT /* power save supported */ + | IEEE80211_C_SHPREAMBLE /* short preamble supported */ + | IEEE80211_C_WPA /* 802.11i */ + | IEEE80211_C_WME /* 802.11e */ +#if 0 + | IEEE80211_C_BGSCAN /* capable of bg scanning */ +#endif + ; /* read MAC address from EEPROM */ val = iwi_read_prom_word(sc, IWI_EEPROM_MAC + 0); @@ -403,6 +404,8 @@ ic->ic_scan_start = iwi_scan_start; ic->ic_scan_end = iwi_scan_end; ic->ic_set_channel = iwi_set_channel; + ic->ic_scan_curchan = iwi_scan_curchan; + ic->ic_scan_mindwell = iwi_scan_mindwell; /* override state transition machine */ sc->sc_newstate = ic->ic_newstate; @@ -1371,7 +1374,6 @@ DPRINTFN(3, ("Scan of channel %u complete (%u)\n", ic->ic_channels[chan->nchan].ic_freq, chan->nchan)); - sc->flags &= ~IWI_FLAG_CHANNEL_SCAN; break; case IWI_NOTIF_TYPE_SCAN_COMPLETE: @@ -1381,6 +1383,8 @@ scan->status)); sc->sc_scan_timer = 0; + sc->flags &= ~IWI_FLAG_SCANNING; + ieee80211_scan_next(ic); break; @@ -1966,6 +1970,7 @@ if (--sc->sc_scan_timer == 0) { if (sc->flags & IWI_FLAG_SCANNING) { if_printf(ifp, "scan stuck\n"); + ieee80211_cancel_scan(&sc->sc_ic); taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); } } @@ -2638,97 +2643,6 @@ *st = (*st & 0x0f) | ((scan_type & 0xf) << 4); } -static int -iwi_scan(struct iwi_softc *sc) -{ - struct ieee80211com *ic = &sc->sc_ic; - const struct ieee80211_channel *c; - struct iwi_scan_ext scan; - int i, ix, start, scan_type, error; - - IWI_LOCK_CHECK(sc); - - memset(&scan, 0, sizeof scan); - - /* XXX different dwell times for different scan types */ - scan.dwell_time[IWI_SCAN_TYPE_PASSIVE] = htole16(sc->dwelltime); - scan.dwell_time[IWI_SCAN_TYPE_BROADCAST] = htole16(sc->dwelltime); - scan.dwell_time[IWI_SCAN_TYPE_BDIRECTED] = htole16(sc->dwelltime); - - scan.full_scan_index = htole32(++sc->sc_scangen); - - if (ic->ic_des_nssid != 0) { - scan_type = IWI_SCAN_TYPE_BDIRECTED; -#ifdef IWI_DEBUG - if (iwi_debug > 0) { - printf("Setting desired ESSID to "); - ieee80211_print_essid(ic->ic_des_ssid[0].ssid, - ic->ic_des_ssid[0].len); - printf("\n"); - } -#endif - error = iwi_cmd(sc, IWI_CMD_SET_ESSID, ic->ic_des_ssid[0].ssid, - ic->ic_des_ssid[0].len); - if (error != 0) - return error; - } else - scan_type = IWI_SCAN_TYPE_BROADCAST; - - ix = 0; - if (isset(ic->ic_modecaps, IEEE80211_MODE_11A)) { - start = ix; - for (i = 0; i <= IEEE80211_CHAN_MAX; i++) { - c = &ic->ic_channels[i]; - /* - * NB: ieee80211_next_scan clears curchan from the - * channel list so we must explicitly check; this - * will be fixed when the new scanning support arrives. - */ - if (!IEEE80211_IS_CHAN_5GHZ(c) || - !(isset(ic->ic_chan_scan,i) || c == ic->ic_curchan)) - continue; - ix++; - scan.channels[ix] = c->ic_ieee; - if (c->ic_flags & IEEE80211_CHAN_PASSIVE) - set_scan_type(&scan, ix, IWI_SCAN_TYPE_PASSIVE); - else - set_scan_type(&scan, ix, scan_type); - } - if (start != ix) { - scan.channels[start] = IWI_CHAN_5GHZ | (ix - start); - ix++; - } - } - if (isset(ic->ic_modecaps, IEEE80211_MODE_11B)) { - start = ix; - for (i = 0; i <= IEEE80211_CHAN_MAX; i++) { - c = &ic->ic_channels[i]; - /* NB: see above */ - if (!IEEE80211_IS_CHAN_2GHZ(c) || - !(isset(ic->ic_chan_scan,i) || c == ic->ic_curchan)) - continue; - ix++; - scan.channels[ix] = c->ic_ieee; - if (c->ic_flags & IEEE80211_CHAN_PASSIVE) - set_scan_type(&scan, ix, IWI_SCAN_TYPE_PASSIVE); - else - set_scan_type(&scan, ix, scan_type); - } - if (start != ix) - scan.channels[start] = IWI_CHAN_2GHZ | (ix - start); - } - - DPRINTF(("Start scanning\n")); - /* - * With 100ms/channel dwell time and a max of ~20 channels - * 5 seconds may be too tight; leave a bit more slack. - */ - sc->sc_scan_timer = 7; /* seconds to complete */ - sc->sc_ifp->if_timer = 1; - sc->flags |= IWI_FLAG_SCANNING; - return iwi_cmd(sc, IWI_CMD_SCAN_EXT, &scan, sizeof scan); -} - static void iwi_scanabort(void *arg, int npending) { @@ -2742,88 +2656,61 @@ IWI_UNLOCK(sc); } -static void -iwi_scanstart(void *arg, int npending) -{ - struct iwi_softc *sc = arg; - struct ieee80211com *ic = &sc->sc_ic; - IWI_LOCK_DECL; - - IWI_LOCK(sc); - /* - * Tell the card to kick off a scan. We guard this - * by checking IWI_FLAG_SCANNING as otherwise we'll - * do this twice because ieee80211_begin_scan will - * immediately call us back to scan the first channel - * in the list. - */ - if (sc->flags & IWI_FLAG_SCANNING) { - if (iwi_scan(sc) != 0) { - /* XXX should not happen */ - sc->flags &= ~IWI_FLAG_SCANNING; - ieee80211_new_state(ic, IEEE80211_S_INIT, 0); - } - } - IWI_UNLOCK(sc); -} - -static void -iwi_scandone(void *arg, int npending) -{ - struct iwi_softc *sc = arg; - IWI_LOCK_DECL; - - IWI_LOCK(sc); - if (sc->flags & IWI_FLAG_ASSOCIATED) - iwi_disassociate(sc, 0); -#if 0 - ieee80211_end_scan(ic); -#endif - IWI_UNLOCK(sc); -} - /* - * Set the current channel by doing a passive scan. Note this - * is explicitly for monitor mode operation; do not use it for - * anything else (sigh). + * Scan on ic_curchan according to ic_scan (essid, active/passive, dwell ...) */ -static void -iwi_scanchan(void *arg, int npending) +static int +iwi_scanchan(struct iwi_softc *sc, unsigned long maxdwell) { - struct iwi_softc *sc = arg; struct ieee80211com *ic; struct ieee80211_channel *chan; + struct ieee80211_scan_state *ss; struct iwi_scan_ext scan; - IWI_LOCK_DECL; + int error = 0; + + IWI_LOCK_CHECK(sc); + if (sc->flags & IWI_FLAG_SCANNING) { + /* + * This should not happen as we only trigger scan_next after + * completion + */ + DPRINTF(("%s: called too early - still scanning\n", __func__)); + return (EBUSY); + } - IWI_LOCK(sc); ic = &sc->sc_ic; - KASSERT(ic->ic_opmode == IEEE80211_M_MONITOR, - ("opmode %u", ic->ic_opmode)); + ss = ic->ic_scan; chan = ic->ic_curchan; memset(&scan, 0, sizeof scan); - /* - * Set the dwell time to a fairly small value. The firmware - * is prone to crash when aborting a scan so it's better to - * let a scan complete before changing channels--such as when - * channel hopping in monitor mode. - */ - scan.dwell_time[IWI_SCAN_TYPE_PASSIVE] = htole16(20); - scan.dwell_time[IWI_SCAN_TYPE_BROADCAST] = htole16(20); - scan.dwell_time[IWI_SCAN_TYPE_BDIRECTED] = htole16(20); scan.full_scan_index = htole32(++sc->sc_scangen); + scan.dwell_time[IWI_SCAN_TYPE_PASSIVE] = htole16(maxdwell); + scan.dwell_time[IWI_SCAN_TYPE_BROADCAST] = htole16(maxdwell); + scan.dwell_time[IWI_SCAN_TYPE_BDIRECTED] = htole16(maxdwell); + if (IEEE80211_IS_CHAN_5GHZ(chan)) scan.channels[0] = 1 | IWI_CHAN_5GHZ; else scan.channels[0] = 1 | IWI_CHAN_2GHZ; scan.channels[1] = ieee80211_chan2ieee(ic, chan); - set_scan_type(&scan, 1, IWI_SCAN_TYPE_PASSIVE); + /* We can only set one essid for a directed scan */ + if (ss->ss_nssid != 0) { + set_scan_type(&scan, 1, IWI_SCAN_TYPE_BDIRECTED); + error = iwi_cmd(sc, IWI_CMD_SET_ESSID, ss->ss_ssid[0].ssid, + ss->ss_ssid[0].len); + if (error) + return (error); + } else if ((ss->ss_flags & IEEE80211_SCAN_ACTIVE) && + (chan->ic_flags & IEEE80211_CHAN_PASSIVE) == 0) { + set_scan_type(&scan, 1, IWI_SCAN_TYPE_BROADCAST); + } else + set_scan_type(&scan, 1, IWI_SCAN_TYPE_PASSIVE); - DPRINTF(("Setting channel to %u\n", ieee80211_chan2ieee(ic, chan))); + DPRINTF(("Scanning on channel %u\n", ieee80211_chan2ieee(ic, chan))); sc->flags |= IWI_FLAG_SCANNING; - (void) iwi_cmd(sc, IWI_CMD_SCAN_EXT, &scan, sizeof scan); - IWI_UNLOCK(sc); + sc->sc_scan_timer = 1; + + return (iwi_cmd(sc, IWI_CMD_SCAN_EXT, &scan, sizeof scan)); } static int @@ -3333,11 +3220,6 @@ CTLTYPE_OPAQUE | CTLFLAG_RD, sc, 0, iwi_sysctl_stats, "S", "statistics"); - sc->dwelltime = 100; - SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "dwell", - CTLFLAG_RW, &sc->dwelltime, 0, - "channel dwell time (ms) for AP/station scanning"); - sc->bluetooth = 0; SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "bluetooth", CTLFLAG_RW, &sc->bluetooth, 0, "bluetooth coexistence"); @@ -3557,11 +3439,25 @@ iwi_auth_and_assoc(sc); break; case IWI_SCAN_START: - iwi_scan(sc); + sc->flags |= IWI_FLAG_CHANNEL_SCAN; break; case IWI_SCAN_END: + sc->flags &= ~IWI_FLAG_CHANNEL_SCAN; iwi_scanabort(sc, 0); break; + case IWI_SCAN_CURCHAN: + if (!(sc->flags & IWI_FLAG_CHANNEL_SCAN)) { + DPRINTF(("%s: ic_scan_curchan while not scanning\n", + __func__)); + return; + } + if (iwi_scanchan(sc, sc->sc_maxdwell)) { + iwi_scanabort(sc, 0); + IWI_UNLOCK(sc); + ieee80211_cancel_scan(ic); + return; + } + break; } done: IWI_UNLOCK(sc); @@ -3572,7 +3468,7 @@ { struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; - printf("start scan\n"); + sc->sc_scanop = IWI_SCAN_START; taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); @@ -3583,17 +3479,33 @@ { struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; - if (!(sc->flags & IWI_FLAG_SCANNING)) + if (!(sc->flags & (IWI_FLAG_SCANNING | IWI_FLAG_CHANNEL_SCAN))) iwi_setcurchan(sc, ic->ic_curchan->ic_ieee); } static void +iwi_scan_curchan(struct ieee80211com *ic, unsigned long maxdwell) +{ + struct ifnet *ifp = ic->ic_ifp; + struct iwi_softc *sc = ifp->if_softc; + + sc->sc_scanop = IWI_SCAN_CURCHAN; + sc->sc_maxdwell = maxdwell; + taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); +} + +static void +iwi_scan_mindwell(struct ieee80211com *ic) +{ + /* NB: don't try to abort scan; wait for firmware to finish */ +} + +static void iwi_scan_end(struct ieee80211com *ic) { struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; - printf("end scan\n"); sc->sc_scanop = IWI_SCAN_END; taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); } ==== //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#12 (text+ko) ==== @@ -176,7 +176,6 @@ int curchan; /* current h/w channel # */ int antenna; - int dwelltime; int bluetooth; struct iwi_associate assoc; struct iwi_wme_params wme[3]; @@ -187,7 +186,6 @@ struct task sc_scanstarttask;/* scan start processing */ struct task sc_scanaborttask;/* scan abort processing */ struct task sc_scandonetask;/* scan completed processing */ - struct task sc_scantask; /* scan channel processing */ struct task sc_setwmetask; /* set wme params processing */ struct task sc_downtask; /* disassociate processing */ struct task sc_restarttask; /* restart adapter processing */ @@ -215,7 +213,9 @@ #define IWI_SET_CHANNEL (1 << 1) #define IWI_SCAN_END (1 << 2) #define IWI_ASSOC (1 << 3) - int sc_scanop; /* operation for scan task to perform */ +#define IWI_SCAN_CURCHAN (1 << 4) + int sc_scanop; /* op for scan task to do */ + unsigned long sc_maxdwell; /* max dwell time for curchan */ struct bpf_if *sc_drvbpf; union { From owner-p4-projects@FreeBSD.ORG Sat Mar 24 16:18:48 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBEBD16A406; Sat, 24 Mar 2007 16:18:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7BFAF16A402 for ; Sat, 24 Mar 2007 16:18:47 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6095C13C465 for ; Sat, 24 Mar 2007 16:18:47 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2OGIlU5038789 for ; Sat, 24 Mar 2007 16:18:47 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2OGIlTu038786 for perforce@freebsd.org; Sat, 24 Mar 2007 16:18:47 GMT (envelope-from sam@freebsd.org) Date: Sat, 24 Mar 2007 16:18:47 GMT Message-Id: <200703241618.l2OGIlTu038786@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 116495 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Mar 2007 16:18:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=116495 Change 116495 by sam@sam_ebb on 2007/03/24 16:18:40 Add driver-specified headroom requirement: o change ieee80211_getmgtframe to take an additional parameter that specifies the headroom required for prepending headers and always backload the payload, even when allocating a cluster (this also eliminate the builting knowledge that the payload will be encapsulated with struct ieee80211_frame) o add ic_headroom to the com structure for drivers to specify an additional headroom space requirement for outbound frames This eliminates potential copies for drivers that must prepend chip-specific crap at the front of outbound frames. Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.c#24 edit .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#25 edit .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#70 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#53 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_freebsd.c#24 (text+ko) ==== @@ -171,6 +171,15 @@ } /* + * As above, for mbufs allocated with m_gethdr/MGETHDR + * or initialized by M_COPY_PKTHDR. + */ +#define MC_ALIGN(m, len) \ +do { \ + (m)->m_data += (MCLBYTES - (len)) &~ (sizeof(long) - 1); \ +} while (/* CONSTCOND */ 0) + +/* * Allocate and setup a management frame of the specified * size. We return the mbuf and a pointer to the start * of the contiguous data area that's been reserved based @@ -180,7 +189,7 @@ * can use this interface too. */ struct mbuf * -ieee80211_getmgtframe(u_int8_t **frm, u_int pktlen) +ieee80211_getmgtframe(u_int8_t **frm, int headroom, int pktlen) { struct mbuf *m; u_int len; @@ -189,8 +198,7 @@ * NB: we know the mbuf routines will align the data area * so we don't need to do anything special. */ - /* XXX 4-address frame? */ - len = roundup(sizeof(struct ieee80211_frame) + pktlen, 4); + len = roundup2(headroom + pktlen, 4); KASSERT(len <= MCLBYTES, ("802.11 mgt frame too large: %u", len)); if (len < MINCLSIZE) { m = m_gethdr(M_NOWAIT, MT_DATA); @@ -202,8 +210,11 @@ */ if (m != NULL) MH_ALIGN(m, len); - } else + } else { m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); + if (m != NULL) + MC_ALIGN(m, len); + } if (m != NULL) { m->m_data += sizeof(struct ieee80211_frame); *frm = m->m_data; ==== //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#25 (text+ko) ==== @@ -185,7 +185,7 @@ #define time_after_eq(a,b) ((long)(a) - (long)(b) >= 0) #define time_before_eq(a,b) time_after_eq(b,a) -struct mbuf *ieee80211_getmgtframe(u_int8_t **frm, u_int pktlen); +struct mbuf *ieee80211_getmgtframe(u_int8_t **frm, int headroom, int pktlen); #define M_LINK0 M_PROTO1 /* WEP requested */ #define M_PWR_SAV M_PROTO4 /* bypass PS handling */ #define M_MORE_DATA M_PROTO5 /* more data frames to follow */ ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#70 (text+ko) ==== @@ -359,6 +359,7 @@ ic->ic_stats.is_tx_nobuf++; return ENOMEM; } + MH_ALIGN(m, sizeof(struct ieee80211_frame)); m->m_pkthdr.rcvif = (void *) ni; wh = mtod(m, struct ieee80211_frame *); @@ -512,7 +513,7 @@ struct ieee80211_key *key, struct mbuf *m) { #define TO_BE_RECLAIMED (sizeof(struct ether_header) - sizeof(struct llc)) - int needed_space = hdrsize; + int needed_space = ic->ic_headroom + hdrsize; if (key != NULL) { /* XXX belongs in crypto code? */ @@ -1464,6 +1465,7 @@ * [tlv] user-specified ie's */ m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), 2 + IEEE80211_NWID_LEN + 2 + IEEE80211_RATE_SIZE + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE) @@ -1584,6 +1586,7 @@ * [tlv] Atheros capabilities */ m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), 8 + sizeof(u_int16_t) + sizeof(u_int16_t) @@ -1668,6 +1671,7 @@ ic->ic_bss->ni_authmode == IEEE80211_AUTH_SHARED); m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), 3 * sizeof(u_int16_t) + (has_challenge && status == IEEE80211_STATUS_SUCCESS ? sizeof(u_int16_t)+IEEE80211_CHALLENGE_LEN : 0) @@ -1713,7 +1717,9 @@ IEEE80211_DPRINTF(ic, IEEE80211_MSG_AUTH, "[%s] send station deauthenticate (reason %d)\n", ether_sprintf(ni->ni_macaddr), arg); - m = ieee80211_getmgtframe(&frm, sizeof(u_int16_t)); + m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), + sizeof(u_int16_t)); if (m == NULL) senderr(ENOMEM, is_tx_nobuf); *(u_int16_t *)frm = htole16(arg); /* reason */ @@ -1740,6 +1746,7 @@ * [tlv] user-specified ie's */ m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), sizeof(u_int16_t) + sizeof(u_int16_t) + IEEE80211_ADDR_LEN @@ -1817,6 +1824,7 @@ * [tlv] Atheros capabilities (if enabled and STA enabled) */ m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), sizeof(u_int16_t) + sizeof(u_int16_t) + sizeof(u_int16_t) @@ -1857,7 +1865,9 @@ IEEE80211_DPRINTF(ic, IEEE80211_MSG_ASSOC, "[%s] send station disassociate (reason %d)\n", ether_sprintf(ni->ni_macaddr), arg); - m = ieee80211_getmgtframe(&frm, sizeof(u_int16_t)); + m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), + sizeof(u_int16_t)); if (m == NULL) senderr(ENOMEM, is_tx_nobuf); *(u_int16_t *)frm = htole16(arg); /* reason */ @@ -1971,7 +1981,8 @@ + (ic->ic_caps & IEEE80211_C_WPA ? /* WPA 1+2 */ 2*sizeof(struct ieee80211_ie_wpa) : 0) ; - m = ieee80211_getmgtframe(&frm, pktlen); + m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), pktlen); if (m == NULL) { IEEE80211_DPRINTF(ic, IEEE80211_MSG_ANY, "%s: cannot get buf; size %u\n", __func__, pktlen); ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#53 (text+ko) ==== @@ -103,6 +103,7 @@ struct sysctl_ctx_list *ic_sysctl; /* dynamic sysctl context */ u_int32_t ic_debug; /* debug msg flags */ int ic_vap; /* virtual AP index */ + int ic_headroom; /* driver tx headroom needs */ enum ieee80211_phytype ic_phytype; /* XXX wrong for multi-mode */ enum ieee80211_opmode ic_opmode; /* operation mode */ struct ifmedia ic_media; /* interface media config */ From owner-p4-projects@FreeBSD.ORG Sat Mar 24 21:19:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B01416A404; Sat, 24 Mar 2007 21:19:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F024B16A401 for ; Sat, 24 Mar 2007 21:19:03 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E0B6913C468 for ; Sat, 24 Mar 2007 21:19:03 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2OLJ3YA024288 for ; Sat, 24 Mar 2007 21:19:03 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2OLJ3T6024285 for perforce@freebsd.org; Sat, 24 Mar 2007 21:19:03 GMT (envelope-from sam@freebsd.org) Date: Sat, 24 Mar 2007 21:19:03 GMT Message-Id: <200703242119.l2OLJ3T6024285@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 116505 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Mar 2007 21:19:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=116505 Change 116505 by sam@sam_ebb on 2007/03/24 21:18:23 always set members of the beacon offsets structure; don't assume the caller pre-zero's it Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#71 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#71 (text+ko) ==== @@ -2034,13 +2034,15 @@ bo->bo_wme = frm; frm = ieee80211_add_wme_param(frm, &ic->ic_wme); ic->ic_flags &= ~IEEE80211_F_WMEUPDATE; - } + } else + bo->bo_wme = NULL; if (ic->ic_flags & IEEE80211_F_WPA) frm = ieee80211_add_wpa(frm, ic); if (IEEE80211_IS_CHAN_ANYG(ic->ic_bsschan)) { bo->bo_erp = frm; frm = ieee80211_add_erp(frm, ic); - } + } else + bo->bo_erp = NULL; efrm = ieee80211_add_xrates(frm, rs); bo->bo_trailer_len = efrm - bo->bo_trailer; m->m_pkthdr.len = m->m_len = efrm - mtod(m, u_int8_t *); From owner-p4-projects@FreeBSD.ORG Sat Mar 24 22:12:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 254A016A404; Sat, 24 Mar 2007 22:12:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D74E116A400 for ; Sat, 24 Mar 2007 22:12:09 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C74C113C448 for ; Sat, 24 Mar 2007 22:12:09 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2OMC9qs034523 for ; Sat, 24 Mar 2007 22:12:09 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2OMC9AL034519 for perforce@freebsd.org; Sat, 24 Mar 2007 22:12:09 GMT (envelope-from scottl@freebsd.org) Date: Sat, 24 Mar 2007 22:12:09 GMT Message-Id: <200703242212.l2OMC9AL034519@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 116506 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 24 Mar 2007 22:12:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=116506 Change 116506 by scottl@scottl-x64 on 2007/03/24 22:11:21 Remove spls. Move from a global timeout handler for ordered tags to a per-periph callout. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#25 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#25 (text+ko) ==== @@ -136,6 +136,7 @@ struct task sysctl_task; struct sysctl_ctx_list sysctl_ctx; struct sysctl_oid *sysctl_tree; + struct callout sendordered_c; }; struct da_quirk_entry { @@ -554,8 +555,6 @@ PERIPHDRIVER_DECLARE(da, dadriver); -static SLIST_HEAD(,da_softc) softc_list; - static int daopen(struct disk *dp) { @@ -563,12 +562,9 @@ struct da_softc *softc; int unit; int error; - int s; - s = splsoftcam(); periph = (struct cam_periph *)dp->d_drv1; if (periph == NULL) { - splx(s); return (ENXIO); } @@ -590,7 +586,6 @@ /* Invalidate our pack information. */ softc->flags &= ~DA_FLAG_PACK_INVALID; } - splx(s); error = dagetcapacity(periph); @@ -707,7 +702,6 @@ { struct cam_periph *periph; struct da_softc *softc; - int s; periph = (struct cam_periph *)bp->bio_disk->d_drv1; if (periph == NULL) { @@ -730,13 +724,11 @@ * after we are in the queue. Otherwise, we might not properly * clean up one of the buffers. */ - s = splbio(); /* * If the device has been made invalid, error out */ if ((softc->flags & DA_FLAG_PACK_INVALID)) { - splx(s); cam_periph_unlock(periph); biofinish(bp, NULL, ENXIO); return; @@ -747,8 +739,6 @@ */ bioq_disksort(&softc->bio_queue, bp); - splx(s); - /* * Schedule ourselves for performing the work. */ @@ -857,8 +847,6 @@ cam_status status; struct cam_path *path; - SLIST_INIT(&softc_list); - /* * Install a global async callback. This callback will * receive async callbacks like "new device found". @@ -884,13 +872,6 @@ "due to status 0x%x!\n", status); } else if (da_send_ordered) { - /* - * Schedule a periodic event to occasionally send an - * ordered tag to a device. - */ - timeout(dasendorderedtag, NULL, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL); - /* Register our shutdown event handler */ if ((EVENTHANDLER_REGISTER(shutdown_post_sync, dashutdown, NULL, SHUTDOWN_PRI_DEFAULT)) == NULL) @@ -901,7 +882,6 @@ static void daoninvalidate(struct cam_periph *periph) { - int s; struct da_softc *softc; struct ccb_setasync csa; @@ -921,21 +901,11 @@ softc->flags |= DA_FLAG_PACK_INVALID; /* - * Although the oninvalidate() routines are always called at - * splsoftcam, we need to be at splbio() here to keep the buffer - * queue from being modified while we traverse it. - */ - s = splbio(); - - /* * Return all queued I/O with ENXIO. * XXX Handle any transactions queued to the card * with XPT_ABORT_CCB. */ bioq_flush(&softc->bio_queue, NULL, ENXIO); - splx(s); - - SLIST_REMOVE(&softc_list, softc, da_softc, links); disk_gone(softc->disk); xpt_print(periph->path, "lost device\n"); @@ -957,6 +927,14 @@ xpt_print(periph->path, "can't remove sysctl context\n"); } disk_destroy(softc->disk); + + /* + * XXX Gotta drop the periph lock so that the drain can complete with + * deadlocking on the lock. Hopefully dropping here is safe. + */ + cam_periph_unlock(periph); + callout_drain(&softc->sendordered_c); + cam_periph_lock(periph); free(softc, M_DEVBUF); } @@ -1006,10 +984,8 @@ { struct da_softc *softc; struct ccb_hdr *ccbh; - int s; softc = (struct da_softc *)periph->softc; - s = splsoftcam(); /* * Don't fail on the expected unit attention * that will occur. @@ -1017,7 +993,6 @@ softc->flags |= DA_FLAG_RETRY_UA; LIST_FOREACH(ccbh, &softc->pending_ccbs, periph_links.le) ccbh->ccb_state |= DA_CCB_RETRY_UA; - splx(s); /* FALLTHROUGH*/ } default: @@ -1098,7 +1073,6 @@ static cam_status daregister(struct cam_periph *periph, void *arg) { - int s; struct da_softc *softc; struct ccb_setasync csa; struct ccb_pathinq cpi; @@ -1188,14 +1162,6 @@ softc->minimum_cmd_size = 16; /* - * Block our timeout handler while we - * add this softc to the dev list. - */ - s = splsoftclock(); - SLIST_INSERT_HEAD(&softc_list, softc, links); - splx(s); - - /* * Register this media as a disk */ @@ -1229,10 +1195,23 @@ csa.callback = daasync; csa.callback_arg = periph; xpt_action((union ccb *)&csa); - /* Refcount this periph now that it's been created. */ + + /* + * Refcount the periph while dastart is called to finish the probe. + * The reference will be dropped in dadone at the end of probe. + */ (void)cam_periph_acquire(periph); xpt_schedule(periph, /*priority*/5); + /* + * Schedule a periodic event to occasionally send an + * ordered tag to a device. + */ + callout_init_mtx(&softc->sendordered_c, periph->sim->mtx, 0); + callout_reset(&softc->sendordered_c, + (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, + dasendorderedtag, softc); + return(CAM_REQ_CMP); } @@ -1249,12 +1228,10 @@ { /* Pull a buffer from the queue and get going on it */ struct bio *bp; - int s; /* * See if there is a buf with work for us to do.. */ - s = splbio(); bp = bioq_first(&softc->bio_queue); if (periph->immediate_priority <= periph->pinfo.priority) { CAM_DEBUG_PRINT(CAM_DEBUG_SUBTRACE, @@ -1263,13 +1240,10 @@ SLIST_INSERT_HEAD(&periph->ccb_list, &start_ccb->ccb_h, periph_links.sle); periph->immediate_priority = CAM_PRIORITY_NONE; - splx(s); wakeup(&periph->ccb_list); } else if (bp == NULL) { - splx(s); xpt_release_ccb(start_ccb); } else { - int oldspl; u_int8_t tag_code; bioq_remove(&softc->bio_queue, bp); @@ -1316,11 +1290,9 @@ * Block out any asyncronous callbacks * while we touch the pending ccb list. */ - oldspl = splcam(); LIST_INSERT_HEAD(&softc->pending_ccbs, &start_ccb->ccb_h, periph_links.le); softc->outstanding_cmds++; - splx(oldspl); /* We expect a unit attention from this device */ if ((softc->flags & DA_FLAG_RETRY_UA) != 0) { @@ -1330,7 +1302,6 @@ start_ccb->ccb_h.ccb_bp = bp; bp = bioq_first(&softc->bio_queue); - splx(s); xpt_action(start_ccb); } @@ -1455,12 +1426,10 @@ case DA_CCB_BUFFER_IO: { struct bio *bp; - int oldspl; bp = (struct bio *)done_ccb->ccb_h.ccb_bp; if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { int error; - int s; int sf; if ((csio->ccb_h.ccb_state & DA_CCB_RETRY_UA) != 0) @@ -1478,8 +1447,6 @@ } if (error != 0) { - s = splbio(); - if (error == ENXIO) { /* * Catastrophic error. Mark our pack as @@ -1500,7 +1467,6 @@ * proper order should it attempt to recover. */ bioq_flush(&softc->bio_queue, NULL, EIO); - splx(s); bp->bio_error = error; bp->bio_resid = bp->bio_bcount; bp->bio_flags |= BIO_ERROR; @@ -1528,12 +1494,10 @@ * Block out any asyncronous callbacks * while we touch the pending ccb list. */ - oldspl = splcam(); LIST_REMOVE(&done_ccb->ccb_h, periph_links.le); softc->outstanding_cmds--; if (softc->outstanding_cmds == 0) softc->flags |= DA_FLAG_WENT_IDLE; - splx(oldspl); biodone(bp); break; @@ -1966,27 +1930,22 @@ static void dasendorderedtag(void *arg) { - struct da_softc *softc; - int s; + struct da_softc *softc = arg; + if (da_send_ordered) { - for (softc = SLIST_FIRST(&softc_list); - softc != NULL; - softc = SLIST_NEXT(softc, links)) { - s = splsoftcam(); - if ((softc->ordered_tag_count == 0) - && ((softc->flags & DA_FLAG_WENT_IDLE) == 0)) { - softc->flags |= DA_FLAG_NEED_OTAG; - } - if (softc->outstanding_cmds > 0) - softc->flags &= ~DA_FLAG_WENT_IDLE; + if ((softc->ordered_tag_count == 0) + && ((softc->flags & DA_FLAG_WENT_IDLE) == 0)) { + softc->flags |= DA_FLAG_NEED_OTAG; + } + if (softc->outstanding_cmds > 0) + softc->flags &= ~DA_FLAG_WENT_IDLE; - softc->ordered_tag_count = 0; - splx(s); - } - /* Queue us up again */ - timeout(dasendorderedtag, NULL, - (da_default_timeout * hz) / DA_ORDEREDTAG_INTERVAL); + softc->ordered_tag_count = 0; } + /* Queue us up again */ + callout_reset(&softc->sendordered_c, + (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, + dasendorderedtag, softc); } /*