From owner-p4-projects@FreeBSD.ORG Sun Jul 13 07:38:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF00B1065685; Sun, 13 Jul 2008 07:38:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B02ED106567F for ; Sun, 13 Jul 2008 07:38:54 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 997338FC15 for ; Sun, 13 Jul 2008 07:38:54 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6D7csgF031841 for ; Sun, 13 Jul 2008 07:38:54 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6D7csdH031837 for perforce@freebsd.org; Sun, 13 Jul 2008 07:38:54 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 13 Jul 2008 07:38:54 GMT Message-Id: <200807130738.m6D7csdH031837@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145137 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 07:38:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=145137 Change 145137 by ed@ed_dull on 2008/07/13 07:38:16 IFC - merge sio(4) -> uart(4) changes. Affected files ... .. //depot/projects/mpsafetty/UPDATING#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/CHANGES#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/FREEBSD-Upgrade#2 delete .. //depot/projects/mpsafetty/contrib/bind9/FREEBSD-Xlist#2 delete .. //depot/projects/mpsafetty/contrib/bind9/bin/named/client.c#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/bin/named/server.c#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/doc/arm/Bv9ARM.pdf#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/lib/bind/aclocal.m4#2 delete .. //depot/projects/mpsafetty/contrib/bind9/lib/bind/config.h.in#2 delete .. //depot/projects/mpsafetty/contrib/bind9/lib/bind/configure#2 delete .. //depot/projects/mpsafetty/contrib/bind9/lib/bind9/check.c#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/lib/dns/api#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/lib/dns/dispatch.c#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/lib/dns/resolver.c#2 integrate .. //depot/projects/mpsafetty/contrib/bind9/version#2 integrate .. //depot/projects/mpsafetty/etc/etc.amd64/ttys#2 integrate .. //depot/projects/mpsafetty/etc/etc.i386/ttys#2 integrate .. //depot/projects/mpsafetty/etc/namedb/named.conf#2 integrate .. //depot/projects/mpsafetty/etc/rc.d/pf#2 integrate .. //depot/projects/mpsafetty/lib/libarchive/archive_read_support_format_tar.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/sys/Symbol.map#2 integrate .. //depot/projects/mpsafetty/sbin/mount_nfs/mount_nfs.c#2 integrate .. //depot/projects/mpsafetty/share/man/man9/style.9#3 integrate .. //depot/projects/mpsafetty/sys/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/mpsafetty/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/mpsafetty/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/mpsafetty/sys/arm/at91/if_atereg.h#2 integrate .. //depot/projects/mpsafetty/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/mpsafetty/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/mpsafetty/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/mpsafetty/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/mpsafetty/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/mpsafetty/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-chipset.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-pci.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ciss/cissio.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ciss/cissreg.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ciss/cissvar.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/et/if_et.c#2 integrate .. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_subr.c#2 integrate .. //depot/projects/mpsafetty/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/mpsafetty/sys/i386/conf/GENERIC.hints#2 integrate .. //depot/projects/mpsafetty/sys/kern/kern_conf.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/link_elf.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/vfs_mount.c#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.h#3 integrate .. //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet6/in6_pcb.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/mpsafetty/sys/netinet6/in6_src.c#4 integrate .. //depot/projects/mpsafetty/sys/sys/link_elf.h#2 integrate .. //depot/projects/mpsafetty/sys/vm/swap_pager.c#2 integrate .. //depot/projects/mpsafetty/usr.bin/cmp/regular.c#2 integrate Differences ... ==== //depot/projects/mpsafetty/UPDATING#2 (text+ko) ==== @@ -22,6 +22,17 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080713: + The sio(4) driver has been removed from the i386 and amd64 + kernel configuration files. This means uart(4) is now the + default serial port driver on those platforms as well. + + To prevent collisions with the sio(4) driver, the uart(4) driver + uses different names for its device nodes. This means the + onboard serial port will now most likely be called "ttyu0" + instead of "ttyd0". You may need to reconfigure applications to + use the new device names. + 20080609: The gpt(8) utility has been removed. Use gpart(8) to partition disks instead. @@ -1067,4 +1078,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.534 2008/07/07 13:08:30 remko Exp $ +$FreeBSD: src/UPDATING,v 1.535 2008/07/13 07:20:14 ed Exp $ ==== //depot/projects/mpsafetty/contrib/bind9/CHANGES#2 (text+ko) ==== @@ -1,3 +1,7 @@ + --- 9.4.2-P1 released --- + +2375. [security] Fully randomize UDP query ports to improve + forgery resilience. [RT #17949] --- 9.4.2 released --- --- 9.4.2rc2 released --- ==== //depot/projects/mpsafetty/contrib/bind9/bin/named/client.c#2 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.219.18.28 2007/08/28 07:20:00 tbox Exp $ */ +/* $Id: client.c,v 1.219.18.28.10.1 2008/05/22 21:28:04 each Exp $ */ #include @@ -1440,14 +1440,6 @@ } /* - * Hash the incoming request here as it is after - * dns_dispatch_importrecv(). - */ - dns_dispatch_hash(&client->now, sizeof(client->now)); - dns_dispatch_hash(isc_buffer_base(buffer), - isc_buffer_usedlength(buffer)); - - /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/mpsafetty/contrib/bind9/bin/named/server.c#2 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.419.18.57 2007/08/28 07:20:01 tbox Exp $ */ +/* $Id: server.c,v 1.419.18.57.10.1 2008/05/22 21:28:04 each Exp $ */ /*! \file */ @@ -540,6 +540,14 @@ attrs |= DNS_DISPATCHATTR_IPV6; break; } + + if (isc_sockaddr_getport(&sa) != 0) { + INSIST(obj != NULL); + cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO, + "using specific query-source port suppresses port " + "randomization and can be insecure."); + } + attrmask = 0; attrmask |= DNS_DISPATCHATTR_UDP; attrmask |= DNS_DISPATCHATTR_TCP; @@ -549,7 +557,7 @@ disp = NULL; result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr, ns_g_taskmgr, &sa, 4096, - 1000, 32768, 16411, 16433, + 1024, 32768, 16411, 16433, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { isc_sockaddr_t any; @@ -2369,7 +2377,9 @@ } static isc_result_t -add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr) { +add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, + isc_boolean_t wcardport_ok) +{ ns_listenelt_t *lelt = NULL; dns_acl_t *src_acl = NULL; dns_aclelement_t aelt; @@ -2379,7 +2389,8 @@ REQUIRE(isc_sockaddr_pf(addr) == AF_INET6); isc_sockaddr_any6(&any_sa6); - if (!isc_sockaddr_equal(&any_sa6, addr)) { + if (!isc_sockaddr_equal(&any_sa6, addr) && + (wcardport_ok || isc_sockaddr_getport(addr) != 0)) { aelt.type = dns_aclelementtype_ipprefix; aelt.negative = ISC_FALSE; aelt.u.ip_prefix.prefixlen = 128; @@ -2438,7 +2449,16 @@ result = dns_dispatch_getlocaladdress(dispatch6, &addr); if (result != ISC_R_SUCCESS) goto fail; - result = add_listenelt(mctx, list, &addr); + + /* + * We always add non-wildcard address regardless of whether + * the port is 'any' (the fourth arg is TRUE): if the port is + * specific, we need to add it since it may conflict with a + * listening interface; if it's zero, we'll dynamically open + * query ports, and some of them may override an existing + * wildcard IPv6 port. + */ + result = add_listenelt(mctx, list, &addr, ISC_TRUE); if (result != ISC_R_SUCCESS) goto fail; } @@ -2468,12 +2488,12 @@ continue; addrp = dns_zone_getnotifysrc6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; addrp = dns_zone_getxfrsource6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; } ==== //depot/projects/mpsafetty/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -6067,7 +6067,15 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 options; + it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports and avoid-v6-udp-ports options can be used to prevent named from selecting certain ports. The defaults are: ==== //depot/projects/mpsafetty/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -3078,10 +3078,18 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports - and avoid-v6-udp-ports options can be used - to prevent named - from selecting certain ports. The defaults are: + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 + options; it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports + and avoid-v6-udp-ports options can be used + to prevent named + from selecting certain ports. The defaults are:

query-source address * port *;
 query-source-v6 address * port *;

==== //depot/projects/mpsafetty/contrib/bind9/doc/arm/Bv9ARM.pdf#2 (text+ko) ====

@@ -1583,19 +1583,26 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 743 0 obj <<
-/Length 3152      
+/Length 3153      
 /Filter /FlateDecode
 >>
 stream
-x[w)(=pˣ9I[۱՗y)X	I$]݁jȵD&'la0X-
?{qsq`+MUe{OĠĄ1bj180bPEbDŐfJ:r^^1cEebF!ԉqF2q`
C&!qy'Yo?W?y}
gw&-&{LrrY	08Zad8ANl7`GLALQqd2~TbxOh_NsP_?xFLe1"cJA0Q:)s꯹/AΊs^0xbNGE^'R[LMàa!pωa	wEs}$*<(yT
c;PB1~OG.{Ii)>?vYa
we1'jq2I	R둶߶a;\VunrR)x5	-b@80xP<,S	
-ut$%ښ;HjB
xI:
-O.{_I	*U/:}}MoG|3%`zsq`(JZ{z8(aAP:<ӑ='`!eÐā!z(Ieemn;O-Kb*b @)x@ЎXCv PAs"歘
-`QuQ@'* FQ=u|M*a',b⊱-/u߼b:.BY-Xx{3xmLBݕY|rCǵNP,/0	VK80yQQ^?5L?!樔+x[w)(=kNvliZ	UI*.Y;ȵD&'l#MM&q71NE̖gtr동gz-\~HWYBe˫__}s凋_/:{u
+=3*S_%Y5@	sOgR	og~'?ݙfF	g~.PQh"X.SzCvrE\\Lbt;]Ϻ:sO=T+MZoz/~.{`E)Ց޳a~l?7oV;Cbb!FT
#&F=#QںHyѬA)]Gn>u;0q2X0:q3H&Իa~Ѿe	f[YV
+y'r;LjS
No7ev,n)qL䶖A  endobj
 742 0 obj <<
 /Type /Page
@@ -1972,7 +1979,7 @@
 800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.2773 112.292 511.2325 121.3978]
+/Rect [499.2773 112.292 511.2325 121.2483]
 /Subtype /Link
 /A << /S /GoTo /D (subsubsection.6.2.16.17) >>
 >> endobj
@@ -1993,7 +2000,7 @@
 803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.2773 76.197 511.2325 85.3027]
+/Rect [499.2773 76.197 511.2325 85.1533]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.6.2.17) >>
 >> endobj
@@ -2016,23 +2023,19 @@
 /Filter /FlateDecode
 >>
 stream
-xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
-[|tBܚ

ĠY&a
9+ZhĝoZihdcN=wܝ
`Z)a=TXK*d"0ݝbg؊nͅ
-"ЬMNhRv ڙDkm{R&-PqP֕Hx>X&	B~\B BZth\{KDPi"!rQ.jG+䶾'x8 #m7?	;0~P-?!B늟}9UW܈m+QI؁1joQ+VDyF^.Yw2nʒbnWdOy
-^fb(a$AzUIIe$/Lf2,YbNj"5bu[th6.@tpANsp9=;z$MZ.^x|y%2 Cނ)qX-"xt/@HJ}^譥ۼ\lt4uaXͺ©شx+na~КZ'Z*߉jz`0(*Mb<_&kW]pxU(aF=Ҥ(іmd~TqisN|ᚇzTӪ٠,
-tb'W\A+YW'5ERyyO 17Lkogjlu)PgC1`X1v`P$\ɸQskb[jU/G3yT[>L,rJ v?w.a;r41I4oJb_e(:" QChwݙ2UAX!
-j@r?*^P-ALPq6A@#Ɛ!AHj;[T9	
->&b2+xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
+"ЬMNhRv ڙDkm{R&+f芍x0Gԣ
{pLv؁ vx-Þ;+$%߸DZ&x6vKlƀ V݌%C}3qQׯӵfmy=/lA~3~1jh~*}'Wĵ:Zba$Оꂄ'wA{t溜_G]gofgݲ;wljM]?¸[)M'U3L;Li)M{A9zZ!ͦ>8j]o[/{jo?0s?7~Xlo^{F^@p~<_=R93h>Ɏ6½s$	;cP^ҫ
+NՠX]b.=WƳq<[N3ΌGPG7e3+
+Y(@A` (@P$&
+IMy^V,TX1[?RWnj!x5]Vا}
ۋRv``~A3_Wޚpo;pܫ;z5 1VC	#dLuL hx:o>Hb9BB]w"8"i#x.	 1#Aަ
ň\q^to!byiԚe@+ZmLLj63@cFvAp]?QDfDx:Xq&6-bO%{_e+h}:v)C0P<\
ujrP?}T?GJe3ݝR+h
+	+00ݑ#q
> >> endobj @@ -2136,7 +2139,7 @@ 822 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 603.1591 539.579 612.0157] +/Rect [527.6238 603.0594 539.579 612.0157] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.1.2) >> >> endobj @@ -2185,21 +2188,21 @@ 829 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 519.3733 539.579 528.3296] +/Rect [527.6238 519.3733 539.579 528.479] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.5.3) >> >> endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 507.4181 539.579 516.3744] +/Rect [527.6238 507.4181 539.579 516.5239] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.6) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 495.4629 539.579 504.5687] +/Rect [527.6238 495.4629 539.579 504.4192] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.7) >> >> endobj @@ -4820,22 +4823,20 @@ /ProcSet [ /PDF /Text ] >> endobj 1244 0 obj << -/Length 2446 +/Length 2371 /Filter /FlateDecode >> stream -x]sFݿBon~ュb6[E M ,7@ZFٴfq ,-\Z\޶lG\Õ`xcƲLXզlZZiGgQ y UfVp -ЌkN1h Ў9짭_G§@H P 7U+ꉣ (jTmh⾪py$\-3eL-Q -~b׿rzwdFn?#5`?knޛhw$C?=^Ǟem -bOzen`U}r$_U@q!"E.8\1ᘞE8ЊvAJD t) -Sm0L@i{CA֫E,F6#-!A֝Rjh%){.p:!H(p ~Jrܴ#D҂{I Xͦ8RJaE܎_nj~pGŒQ R.XL-7H {+?76X!*l(j.^$=0|`xD7ayH'0gWD4{!c˼ 8}]ž!6WЂd3i튧∄e~!(Xd4(HdqO8`R;XT/h5<[`TGp5A,QrqlW= @e.Vrء^ -|Av4]a) Ej i\񔋀I1eVo"XjYķw>g\D -GCOSP.M=pjJ@b}*A*.߿f: U[~=~|{!RvmxncO,=UMB$_Eg$`e^OEU6V -԰m0 Q1-&yg`% u\ f`QBgj?z[EDfu1]Bz xDmD]]GsK̀'-^,GpUW>bqYVW]PƘb`W&x ;wI8Ag+ڏ"VtZ>ӈQ;籃)R[&ϣLBȅzTvOF~oNWRqb}ZS70t"v"Bd8 O_5Vp}Dm HN#êyDC^\,]Ny|$RZX`XP ï̻%wYgp5r)ܵtYިiԖF{endstream +xY_sFQ7f/V#71Tϥ#~Xkua+%jfOcIn$y*2/{}^eE~Y; 42a*8ZeTt_CH-@3h7|KrUEc\ULQ.HxT:2fxAh50 ;1_wlHfW ;{:ûZ~> endobj 370 0 obj << -/D [1243 0 R /XYZ 85.0394 650.4851 null] +/D [1243 0 R /XYZ 85.0394 644.6312 null] >> endobj 1246 0 obj << -/D [1243 0 R /XYZ 85.0394 625.2941 null] +/D [1243 0 R /XYZ 85.0394 617.8313 null] >> endobj 374 0 obj << -/D [1243 0 R /XYZ 85.0394 171.1138 null] +/D [1243 0 R /XYZ 85.0394 131.6963 null] >> endobj 1006 0 obj << -/D [1243 0 R /XYZ 85.0394 149.3849 null] +/D [1243 0 R /XYZ 85.0394 108.3585 null] >> endobj 1242 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F39 863 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> @@ -4865,26 +4866,25 @@ /ProcSet [ /PDF /Text ] >> endobj 1249 0 obj << -/Length 3623 +/Length 3641 /Filter /FlateDecode >> stream -x[s6_sf<~f{\wt>(hjKeo @}YvҹNL ?-㝝={=^%{6W_7^BTOP-=D)(_5(wo>dD)O*& UZ&j NkV|*7ZR媠c1WpJSCs,\}h$-G g}qv=e}Y-fI:d_!XP^|\⁀{']a^zvjIic͛d$^x & - (ٶr)Nz4s|Fai+`t[L΃l:1;񱖅 zېBB R wUĴbr2@B \5b@P)tu;Y}APzфm=p-zC!9Ʋ.I(z[MI+E._ʼ 9}dTJ:]l{C9)7L -X289Z;!U{QۺNy8Kf~ d_@9vR> R jt?SI+mǛcD&e=x;?(A0{|irsw&% Ku60с$cԍ+1FQLx!] .%IÖI5 aԆߕK*B4~0@$^h=3K}KτdwsRaxZ(?[xۓώ*71˸~eTt"B׫gȚ L|RLH8Wo&^m&xwn-~l ,jZ6z ApJe>yTCƓ:-Li'Ĩ\Tl< d>C>ٿ62ȥ!%;w\V˖H_H"v3 i:=+!- -r* a18Np:1$N83׃gZ0A =tN)=:zK*>FJO2^+D8bm/<h P7q-,vaSk"__ʱ1R|z - -pl#3hFacsdairxaGn q5{VؤMlܯ%rS7xER<a@;NDc3|Omܣ`LJT*J}~>t(e"z\Sg|7VJU|/I& F8 jtxAAL6lrS!^endstream +x[s_P3&GNilV'&y8G#-}wR̴qX,~]@RŸLRz/3oE"Ur^{hB1<T^.N/oWΩϳThq#ٛ|2;yj9{{k*}?x5W.Q7~#5<Ʒ7ᆪO?'x7Wpq}ۮ^% .䷋KXRGBy/61"ĚŧZC)ĉDrnp0Ȕ,"5ڴRjJʑ +oz^r4^6.MRMnz+%Hf9dM}ojS6{*+jJY4?c7mA})vܼ_yNZ Vh" yФZ4!3! ʨxOYEJPWjobpqztl\)l[5h% +蒜V4ZF>쏭T*<+-/lY08`aBoOqJ;pgT@*PkEKBޞã`.}@y3w?n 2V=HEjR,[ +-/Cs1rL)##{%UgN+알آ^Ib[^IW"a"+6 a JvUc{>G,# 9:UͮDgk&9ַil:l- +sd4%.hQz2?m[.|tp%ʛP~I idN$ g3@NXtޜN*H+X289R;!U{ RۺNY8$K+/i+PTCOh-CxeI6d hUh?YMo_nE* +!96SUIO*Kp){z! XkM]zx9ŗxz&\+}6C>LjkI ٭g">BT=B`XuNXkYZc5g'09)dgSjp>%dbSn2H[B-='5zoM_ ӡ!yɾ'ɟ[OYk,F< endobj 1248 0 obj << /Type /Page @@ -4897,181 +4897,193 @@ /D [1248 0 R /XYZ 56.6929 794.5015 null] >> endobj 1247 0 obj << -/Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1253 0 obj << -/Length 2665 +/Length 2555 /Filter /FlateDecode >> stream -x]o8=o-{vO@"-U~۲8(}STI0gت̼mXӢ} hv=R$ZclߤBj8h>$'Em'OQΧ'7H.DD;3>2MRI;).b;M׊}^`=pŌ૘b3{:TPEYif^[j@{LѶd}0gɬ|]4ݹdAs#h`\3:PC,8c#'1ݑt}c=.Ep q0e2U^v`1BvXG<1 !?ဍkA4h&&_(oF6)'6J{^_bL{@ ,PDkbNMCˏ@YD[$s's"'H#| "3`5ckb]Aá=_DKo0DdN1feӢ=V5}o862nE5g!r*:MSLQ!vC9i]- <&-{0@Ww J/208Eäut@>&Dg]U N/&e@>-Oՠ~6ف -H# S)C^00 ~`Smcq-Ōy"OD+0p\z?Lu1Qoi&4kAg@2 y\6RŏoW|awlW+]!xz8&!.r]ƁȈ憧Bc'PTe d &<3m>}B#O -e\2c]Χjn!;]9Gd>:*i -("”)8-aTP}@T֪|ٹkfu~"Z޻#B8Ijg7HT --g)kyls`"7aqȸeˆr (E+xZ_s8ϧ)3I=v۴ݴunrll HEe7fn:S$H +G&/_.fYLA',ؿTfNOReb:SZZI{-SKvDBLR#ax"ԛyU=P-ɇgSoԷkQz;7Xҧ/b[ 5=a}q:_smy[4p)RrI,E᧜Ÿ)tX2UmCoNizz1@]^ +"om ˪"j삲q8I bvQx!'$re>s> +ULNW4-jv^-hX/ВA۲!Hȴ5ͦ{:s-q4("&d 76_7bhl;6*J'ӌã7OJ2Z2סqSOHZ¦$B\cM3 u4b^~dL4TPk+7/BH0bh7;Gy#vwr(֡sjnlweqGzmMxKB-ڱ;5 +H{5S& +s ؄財 +-}(Z͢w +Fi:3: +3 L7U=Le4OmN+&+weLW}Ԃr%&k8Ӥ򴿴?Þ]h8c |u^<&KRNA$SŖzu<6| +'mK䯱+iDrK>A^"[uC,k/p(@⁝0zbEZ؀+ 8$1rհ'SJ a >K%-=Xg;aY+NG5}V]՟f`H؛rf(·ME/ᲁIaIgR a+zBj,z` zҹT endobj 1252 0 obj << /Type /Page /Contents 1253 0 R /Resources 1251 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R +/Parent 1255 0 R >> endobj 1254 0 obj << /D [1252 0 R /XYZ 85.0394 794.5015 null] >> endobj -378 0 obj << -/D [1252 0 R /XYZ 85.0394 141.2512 null] ->> endobj -1255 0 obj << -/D [1252 0 R /XYZ 85.0394 118.94 null] ->> endobj 1251 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1259 0 obj << -/Length 3339 +1258 0 obj << +/Length 3193 /Filter /FlateDecode >> stream -xڭZs6_*3N5m%^d[ItkK%'>lٹd2H-J\07npSSF&u#)c`iX-4!xhh=<" ?sz.#@ vUUVL{|!-Qk]B%GB$Rd@/-.+ߝ4]sĞT*W#)$ʟP_C |姲uͩD⥐CVqCi=˜XKuL}=0mZ:94lTbR3eAi4ՄCKg@/uU]4Ϻ`_MG%ݾZL)ީx<6O"38MPp=亰kB8y X!q(P`4Wũtv};#CJCEgЯO~M~/<+xڭZKsWtՊ+yx&ڝamf(R+R8>%$)x4@%"6It:B,`d'Z]Ji,Gl(o 8O?z2O(럯/\J|)<^zO#)=N0pusw?]\kW + b B*:"i-6:Va#{YIFD3ɹ ШH(Mha[ִ_ƗfQZ\1]FI%SSOz_o[wT ]ebx׽RfLHil5n}SdAj@sO#_4~-$vx.ꆇVۓe$DNK)4@m"2dfeо]cmP4ݥA^Ь+0Pa\v +n}؎`v{n\c=3q° 7{ 9߀1?"&+8jMd7 V{.)44A䪄]V<'>=t+b!C\Cަa e %t.ݠϜKb[٢=i9a!g<0cLK _?^^nLv !JTngc{+5_jg0CT̑z*D]3Ѐ!l8VeUv=&wWD+@<9+dD4vtm=sNCIQi[![TVyhF"~EO4 p^S n m>z";F +XqoXqQRPB>Y͹jea|'> endobj 1262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [361.118 694.3759 409.8647 706.4356] +/Rect [361.118 590.715 409.8647 602.7746] /Subtype /Link /A << /S /GoTo /D (configuration_file_elements) >> >> endobj 1264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [347.1258 314.3269 404.2417 326.3865] +/Rect [347.1258 196.3262 404.2417 208.3859] /Subtype /Link /A << /S /GoTo /D (journal) >> >> endobj +1259 0 obj << +/D [1257 0 R /XYZ 56.6929 794.5015 null] +>> endobj +378 0 obj << +/D [1257 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1260 0 obj << -/D [1258 0 R /XYZ 56.6929 794.5015 null] +/D [1257 0 R /XYZ 56.6929 751.6696 null] >> endobj 382 0 obj << -/D [1258 0 R /XYZ 56.6929 769.5949 null] +/D [1257 0 R /XYZ 56.6929 674.5298 null] >> endobj 1261 0 obj << -/D [1258 0 R /XYZ 56.6929 749.7681 null] +/D [1257 0 R /XYZ 56.6929 647.321 null] >> endobj 386 0 obj << -/D [1258 0 R /XYZ 56.6929 443.842 null] +/D [1257 0 R /XYZ 56.6929 331.2658 null] >> endobj 1263 0 obj << -/D [1258 0 R /XYZ 56.6929 420.887 null] +/D [1257 0 R /XYZ 56.6929 306.5278 null] >> endobj -1257 0 obj << +1256 0 obj << /Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1267 0 obj << -/Length 2860 +/Length 3155 /Filter /FlateDecode >> stream -xڭ]s۸ݿB}g"'Oۗ=eqBHw PD)餓pX,vg )eJ5z\̽f1OwlfvxٔYgwߒtw}{9%&kÒn>L>o?~xwWJn>~ o/jpb]_n/n%֗3|w6[ڿ\TVϞaRbPZZI0?.>0fҩSڦZ(3kZk)i8yxjʆS|rf|,:OyYHjB Huy9*OHIY~ g.UX4(%6ZWu~͊}5eMpݶH'Ryk-b"͒3&jYۤ,/~E􎴭ܺ}&`S4/ݽ4P7墯ڦ , /sUݣn- W5N  Γn[,Jڝ'h7~CHV8}9]#ܷSy2peGuyj^ m腩뗱Vt7S:Pi 8b:z ܤC`%].KwixM?EFT -#iLuO*sQE;GjDX+ϋ0PM0v,U67c!)iD Z="sشOP'mEeLеXx2.Ț36D҇b?"Oȥ5{Fva# e,G<5'l>Z a\XϻxqF3Ť,Or^֑cCʞ-^,wVܞy-|Xb7W&W+W8\ d,ˇ)uYQB \wdR%(+")k.nƾ*B`OjTرe{)`38"esPFAEoZ;ZJQÌ>͋1bjKJB&8 -X&\kz@%dG | >Bǡu\ dž"߶`ٗsITݟCو-4 -1k!䖁JAj]fKͶ.7%8#HWy =s|?vePæ&gз_ ̠V-HSpmG?$!XJs_!qICźmҳ(Ӹ{JzBBE autEo 9O*l)+A/0ra -O\:jy5*ևyOwe¶J ag`5:Ͻ_/<(;AW|.tE32YpbZ>Ftç0+i\z_gq,s~7LV22p -:%ͼ) -AB~PƁ%!.,s5p#Զ*j,pI5'C-X 䙻$nr.,_A]O84sv°~7K0kt-!CW;JfiBWjȌCKD7>*)13QE H]ǹan 2Αꜽo/P#PoLOb 4yCZ3ܑ&+Xп(gfzs}' A0a@$y\#6]Ypl+xڭr6m'Gg:8Yẃ(5)kO7A%g+[:h4@?ə6:3$3Ζ+1{$,<"O:eQxxHS9{\:_oʊy]/l,G>tn3nn?^/dj%ẀOw?O?<\cpRh\ȗ_,+,4D$L6W=?zA:ƦU&-XYiwYD®-#J~eO-eUuXj|U2 ٞLSM̮٥N`_ +,ofF<;5}[论.}KǏ0bٕMTKy͕bʪ"(_.m&*A=(VuPtkUdScaphDm#DLc0&|O3Ž/Xك =Մ+,qa ڱ1iƛv {Qfy]4cw cN!ͫ#k[mC.vd'>I$m⤵"axNcL#ބz:ħb$QdpX̘!A+ZxJw0Fh5 Xug$+>зv~8,p| W;eUHu z*\Kﺧ".ATe&W2ұc)Đ]0ba1n{S3&GvZ]E\ถp|vJߡP첆JP"v`i6VLO +>N%`?r~:IPaCM?U4Q!TJ+b? $'gHϺ8|wXgV|F>MMϐ$ǃ̪8gzH)!l>SkbuaL0l[qNÍkKA{RxX?&4~+`a ⛻}f> endobj 1268 0 obj << /D [1266 0 R /XYZ 85.0394 794.5015 null] >> endobj 390 0 obj << -/D [1266 0 R /XYZ 85.0394 690.2056 null] +/D [1266 0 R /XYZ 85.0394 568.5356 null] >> endobj 1269 0 obj << -/D [1266 0 R /XYZ 85.0394 665.1198 null] +/D [1266 0 R /XYZ 85.0394 542.9142 null] >> endobj 394 0 obj << -/D [1266 0 R /XYZ 85.0394 302.1184 null] +/D [1266 0 R /XYZ 85.0394 177.2349 null] >> endobj 1270 0 obj << -/D [1266 0 R /XYZ 85.0394 278.2032 null] +/D [1266 0 R /XYZ 85.0394 152.7841 null] >> endobj 1265 0 obj << -/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F62 995 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R /F62 995 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1273 0 obj << -/Length 2998 +/Length 3133 /Filter /FlateDecode >> stream -xڵ]s6ݿbN*DMIi=}we[]ɑu3PKiNfBA-BĹ1%Xe"]dM]]fT D%s"+_F&4LfXkw煈p]u/7|+o" +!uoԀeh]IwJU*-|{? -` Mnw5hvXfWm-1e V- =-gSR^un*v=+Sa`fV鑛-F{-zEqV'b\4H$\CFVIB"@Q⁈ed&)$u(y¦>NAE)~\CS+>q8P6 0e-u?I%B"V?)π,Z{$(.Ci603`!ۢ_MyTY~;@:S#YR%5)TeԳªtm~uBs^HOj!0V|S8ntͦ#!%2kq jø UZn2(7d 7)q|ܕv-AsVG]zjAUZGg-'`ݐ&Ҭ1XJ{ܐhHUӱՠ/Wt9TQZU ;5~݋bEP3dPp>!* ($3n2!~;&=ǘ֬3y̍X(;骩KR8?4TbL3C9 "i($bjŤ]55$dEH$Gk -r--d5غ( o(5#} ?9ŏMl䛺ȱʴx)5-1GEv MO-V{[VwL쾟IJ&`E +|}8N|绻&Qޡ$r1 -J6FE 0᫠-LQ QwFҜ2Io"85yC:%NSL6&R #uLBό9ekf50cp}4b Ҳ92ca,eL2:zpUK5c`쭆?Q_) mˆqKZ98p t"i? j=7( %|Hx f<21f44W)p&d_圄W#9o&-vRjgXxnyBNգM>SnrOMr3妞,7Tqtqfrj :{~u~_Nί‹|:dkr*f+1?g>y"-J@Y+iC^LFҸ-m55Mel?@$vw%Am{>ԭKPz{=Ade;qNA3!辘rbC-M-39P^R{n+I펃/$/ɣޕ ̽51h=[=]'~LSV7N-͢rVb茘oSmgS@'o7;Q L?֫]Űq <řIrHr ni䡍S 8n 8)!uaהxw\)) +xy3:er2~KaHc( im,aB*7EȈFh1>C1LC"HBJx~cʇ© ܲiX`UG2{ȘVG}Pӓ@Vv`ZM∻E%y6#*2kq C@hA =w~ncC y+Z  % c>/\bhᮉi#nVOJLhУV6BiٵזiN+b+jH,+CԱ(+GCB ]̈́ji+S>0T_W$Ÿk!)&uь:jgB{n|-3xuM3LXޟt-M1Yh}LϘ93s6㷌 bՠuc5S86_OggraX~1_K lzj]UA|;@w4>瑈)_r8ST*b I̞\Nq_x.ГchS'v߻X> endobj 1276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [213.6732 554.0172 286.8984 566.0768] +/Rect [213.6732 432.1255 286.8984 444.1851] /Subtype /Link /A << /S /GoTo /D (rrset_ordering) >> >> endobj 1277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [209.702 475.7236 283.4678 487.7833] +/Rect [209.702 354.4169 283.4678 366.4765] /Subtype /Link /A << /S /GoTo /D (topology) >> >> endobj @@ -5079,10 +5091,10 @@ /D [1272 0 R /XYZ 56.6929 794.5015 null] >> endobj 398 0 obj << -/D [1272 0 R /XYZ 56.6929 622.2509 null] +/D [1272 0 R /XYZ 56.6929 498.9148 null] >> endobj 1275 0 obj << -/D [1272 0 R /XYZ 56.6929 600.0717 null] +/D [1272 0 R /XYZ 56.6929 477.595 null] >> endobj 1271 0 obj << /Font << /F37 747 0 R /F39 863 0 R /F23 682 0 R /F62 995 0 R /F63 998 0 R /F21 658 0 R >> @@ -5090,35 +5102,33 @@ /ProcSet [ /PDF /Text ] >> endobj 1280 0 obj << -/Length 2668 +/Length 2260 /Filter /FlateDecode >> stream -x]s۸ݿB's@9ozN@K9TD) PD%7 X. ?61Pa$(d<[{}4MSf'?n\PcdxgWShTitq3Xl^|uWgfo.q)3z0Yo{}ugWgz^R~'a%Z>YH%Bđ?zɬ_:&?% Q#bL-` pnںn?rUw[} -cSfڦpSծ#=v^DnY: -o{M‰2FR3Ӕv{(.Jgê򬫖U]qpӆW{7],HK@׮7jp$$sVmӕqYl|ܖ 4M{!l]Inhqmc(Z7Lrf Ŷg}lT Am'n#7 -lT-!܉L tŲ`%!L#)4Ai7ع.u:T.&pĂyQkJ/~{H Bx qB}|O]1<<$6^84a-WW]$f- Jh-gܵ͘KV ^QSw0`'J_J駤[Xcx51NS8nncr>IU*ĄE0IX<[r p#5HH]YبHLr8'1n%1NS^brO\ %{̻=D~6F p0=Lb`a }DXԀ6%p*x4*ZtГwDPci"dz[Nz=B1AǕb`n*$\ȉT1%d\XҐUt\GW"25 hH|"&Ribr8A>O "HIˀd: iڎ!aڦݪ$iە|nfQOܶȅ~](Y_K_q*{h!e"I.Ğm2sJ2#;gjIH-$>׍\!vyXO 0ڞΓΎt_I -"r]'")]eU]f38n9 -þ-86QCKrfP_w}7R/gR=}MpeGʾ_U6i(\*<ժ,<-~ ->2r'ƠQeq*;r݉snOryAdJMrj5i_\>S֛34%93pcgL29 *'fgXΘ[淞|@t -Jם K>& S4왂`rW+xYs6_ɓ|S&>9;u)IH)%G~ ,@edn@\((BJ(Snh&hRpsrv)%Vs=Y$ ư͏NcMN'JW7/sz~ջk^\^L/\NQ Ȃ˫]ϧo~:imIeT8C~;`O'k^(aD*A"T'O2LC)a2<&+n<`ε/ꪪ-_ +ʪm9mNySOSq.E1 QFUn8WTCt9/Ql[pfVVŻ+ڋ2p9]_upG`f;0+JTmmXbb,aEҟ'v³ղXw@2$ aۻ1R xus{/}^55ø c"&$1 %HZYRi`ޑ|Ի+)$n] Bk"2j E9MVn +r]B' p*θXjk&-I(- [.fn9TsW;a^cya$y-@i0TG&PY &9T1ʉBquc:{>]s+t7/%F_ )N xJ{F2 CEREf ~ +c#TdC%1"#RAĄdԚ^! fVߟ[Q p^aWohL%UGW),g}¿)&i4)$2$i;upXBWPFVU9H 5м nP}|qGRvA-VjaU{ͷh[42ҠM#' o +;P4[Ed0efU9f A}Op)~} L["2@|&uZYTXPhgz+Cxk.3-(㣹_8m2%djP(xCkM'0,Fa|~ HT{բ :LڤQ>)5xu{]n +2Z;2c@(*WBW@tr}Ïtb8 J9Дk|~ endobj 1279 0 obj << /Type /Page /Contents 1280 0 R /Resources 1278 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R +/Parent 1255 0 R /Annots [ 1282 0 R ] >> endobj 1282 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [353.6787 560.2827 427.332 572.3423] +/Rect [353.6787 434.7534 427.332 446.813] /Subtype /Link /A << /S /GoTo /D (the_sortlist_statement) >> >> endobj @@ -5126,322 +5136,338 @@ /D [1279 0 R /XYZ 85.0394 794.5015 null] >> endobj 402 0 obj << -/D [1279 0 R /XYZ 85.0394 630.8728 null] +/D [1279 0 R /XYZ 85.0394 505.3435 null] >> endobj 955 0 obj << -/D [1279 0 R /XYZ 85.0394 603.2815 null] +/D [1279 0 R /XYZ 85.0394 477.7522 null] >> endobj 1283 0 obj << -/D [1279 0 R /XYZ 85.0394 477.5928 null] +/D [1279 0 R /XYZ 85.0394 352.0635 null] >> endobj 1284 0 obj << -/D [1279 0 R /XYZ 85.0394 465.6376 null] ->> endobj -406 0 obj << -/D [1279 0 R /XYZ 85.0394 128.2785 null] ->> endobj -1285 0 obj << -/D [1279 0 R /XYZ 85.0394 104.5761 null] +/D [1279 0 R /XYZ 85.0394 340.1083 null] >> endobj 1278 0 obj << -/Font << /F37 747 0 R /F23 682 0 R /F39 863 0 R /F21 658 0 R /F53 962 0 R /F62 995 0 R /F63 998 0 R >> -/XObject << /Im2 984 0 R >> +/Font << /F37 747 0 R /F39 863 0 R /F23 682 0 R /F21 658 0 R /F53 962 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1288 0 obj << -/Length 3669 +1287 0 obj << +/Length 3153 /Filter /FlateDecode >> stream -xڥZIw6W6{-,SA-pb7E]7=R~ݔ^PA^sX_/`rB`GTKw%~jZ?coMv8EOf}ՀCp$3 PkIx4二G+J2'p:/s{?p= -Oj`kj33,"lhLtU_]t ւvf$ڰSF_D7u0%7H,*Iq_QeG.^Mw3ES -=_:q-=R4UJǓ2nQ6O;ԛɚ{zM56hæ~WXBYۀͿpakv*~,Ȏf5Yd %Ll#-cb1jW 3ZM pmJiEPh5Pd(/hLz3j9fQhFF$e`WZLY_m`G~S9a `㦼i0q_v5~C %;Ӷ-ƚPMEd[К[bYPe0x35ն ؤ3`lka#`S-աJqhNq&} a^|r닱pЯ8\)+۲ۭ~y3i._BZȃ(1hxf- -G ^~-u!:3X3 ]Xy -hvU? 2 %-ң'NSV:O)\uZ;=;W2+#OVhg[%y3Q n$W9*>"b]C[T&p\Vl4m(̤Q[ӈ]ӶKwDגۗzt#۶֧qU/nNL$x0pM-l):}Ŝ ۟twy{t1{]q}Kނ-J]q\[?āI)yd32W/ST ۘOz[/3#4D;6$,&xgAKm`~)iN,ӯ .[B`sS\~oB|yka#|-4SHUٟ!_]Џp& -;Q]Cm -XVP' 'dAS2&]ދdqoc|܏wOi!+xڭZ[w6~ϩTDidӳu/mfFrutӓs" >|DaVQIxZ.]p{xoe2Bn79_ݖD:%߾e/c]Qͫ~zus<ꆆ[obsbћW7Wׯ.6e_$n_~cK3tX݅Je*)=e{a٨zHEbLepY>`-3KM׫ ORx^!W'&Mޯ̸^ei +w~-IR82rr|5n22KaE~_)c$1vXwbf ,*p|>T+-g%*SU]4!nKܜpynPfQӷilGFq}qǭWЗ[es +}cbp*Z5ӕu*YmSj 6+_P2&\JP. F S7+m|57o`h_K>8?yBJ0넧p1}.L46px0PΡD*ƎRƋ@tG͇v&<)i. +@Je]˅vΫxqڠ'4av,z%s[ \u9+:O3q\/:pٛkۡ?e0}E# !Q,;Q f`_7Ւ+w= @-:kPv:[&|OjK,w 1j_^W+#n*HHBC\j.tY5E x2՗G2 wp \sny,+K6\h{_3F>HwoѲjoYl҂/CeL?huX% ߦ7:R.\%%bFOEC7"R- .mIC]uDt h9ʬ'pJ`4M;M;L?H@ӋAeX88N3Dv WݦmI1b)h]#.3Ǣixx \h1>z$*c|7EF.gg֟Ql=f_bsK:RKZȘCV'WgL3Io˞e˽R3R/\,slٳU[t.q4?|=d\1 endobj -1287 0 obj << +1286 0 obj << /Type /Page -/Contents 1288 0 R -/Resources 1286 0 R +/Contents 1287 0 R +/Resources 1285 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R -/Annots [ 1290 0 R 1291 0 R ] +/Parent 1255 0 R +/Annots [ 1290 0 R ] >> endobj 1290 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [297.8955 476.5924 347.2449 488.6521] +/Rect [297.8955 313.5049 347.2449 325.5646] /Subtype /Link /A << /S /GoTo /D (dynamic_update) >> >> endobj -1291 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [324.9335 169.1118 381.8296 181.1714] -/Subtype /Link -/A << /S /GoTo /D (zonefile_format) >> +1288 0 obj << +/D [1286 0 R /XYZ 56.6929 794.5015 null] +>> endobj +406 0 obj << +/D [1286 0 R /XYZ 56.6929 670.419 null] >> endobj 1289 0 obj << -/D [1287 0 R /XYZ 56.6929 794.5015 null] +/D [1286 0 R /XYZ 56.6929 646.4658 null] >> endobj -1286 0 obj << -/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R /F48 885 0 R /F62 995 0 R >> +1285 0 obj << +/Font << /F37 747 0 R /F23 682 0 R /F62 995 0 R /F63 998 0 R /F21 658 0 R /F39 863 0 R /F48 885 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1295 0 obj << -/Length 3537 +1293 0 obj << +/Length 3875 /Filter /FlateDecode >> stream -xڭZmo6_o-xJ2R_}0hC4Jf 4ZfAk gQ",}/rQWy:_|ٛ ib]LF$:Jg-\$uZ Y`TstT·EC3G3[i(rN` /uK*_艴n!Ӄ[e%h7QЗl -9}rR3Y-hp[ T7Ge`+xޮNFHZ P<5'4>W4mpK޶ rZnˁ-"nLy:NBz lǣkg:lpM : ǽFbttsYjr w9iX0H0:8x2`(z+3 %Ħ}!kGƍMXQԤo}pIBv i e&p?^΢ T4bqcTXt:FBc7=htUϠii~kvbkGyC]ͶxX%18(4ǝ(_q$ .bt*Ne}<,JSg Wu|qܣTqAD6T hQRIƠhTv?345%!0!d=iaDۘW֮?a7B sq,Ach(2` -B-ֶ3]vQ'S/ayD`[RIiUSN(IHh̊t'LC\9O!8A. ez]O%+lj2=U晚1茹,@ ݏvrq~lg֌?  #q&0zEsnA2X_o -ml z=bMl)*`l# p]oYP]DQD,n[dN>BDênsi%cW&CJ*-C1''eO̓ BdPD圧Xi0)2F%/T*J^  ^{k.m.NlLB꘩ (qԁ'" b'f.u^A\Uyyq$T=}{u؃;SѧO%IQ,3b y'D+= -I*SO:٦} +Bk7kta $-kOxGCxS7-K"q؅Vw- ޗ#DbPbh'~SB$kD AmXGUƔ:osj><ġ v1ǼFWJs>7g#ɷXBBgy,BIKҀ7mlRj $;S@Kik&S (FzǙI{&*oSb@LVClPU',n5}Ns<c Q*]zq -៳LJ뎎 tydI -_P<{ʉeAҡ'D/}endstream +xڭZ_o6ϧȣUH6붗M}P,V\KN67!iɖ.pf5ڤ ֹJR]`+yi>R_Ia9$~P:{۟no"e,}w=Qrzㇻ{Dp{͜pwo}{3u Kdng谄繸\T&2POWFݫSKIR#(3hZyIB>nms3"Ƙp$\uG~]zgj.wjcޖ϶oMM;y?O0/hiꬨSv8l{yp{HSy|mG(9=ٔvkO]ҳ_[jU[> Փgx/DKJM m@<AQ>[6|_n]ÃXtaJKX +&yH̴ỳOQU7Ejï|6p"G2L&u!"ׄ#c@E p$Ƨ]T(E+EM-=:3jyz0d;-FEva:ܳ<_kI 2͒̈]p->!bZlcwg[ۉåLʋ[f pq@ZAr9$Dj5f*1QCMO\c-W<ΑS45kdkb, pXsmYHH'D(i]v3h mˮPNd5z!x]0ϋÍa :΀l`.{jto z%Y^GI+6=u4y+O/&J`x}V5H'|b|>.]d?[>U27ml+g:\@.@ជNLaFl02 H"rUYp}~Ҋ@I9U*\8aH9sA&Ϩ>U 8ֶ.51UjZ I~MSWkz zOHrEwCG;p;O0 +w׶v +?U"R"cՔXy6'rWo41#xr0C( .u]O-+;P(c3*gw)u'R;34lHHl36<)Ng$. svx21Jқ1bRc 0^aZ9:뒬Cc/烐_g "[D$ +ׯ~q:UodN! )2ên&ђcnǣ +ru'FoE ]+Ky]67T P͵We7S)@2Sci]927U=k(Q@_K\ps23saG'uPڝmbةֆ5DأKO?p2RÚB$]H/z/ۺZ80 ^J1Gf shHy@qH/1G2g+>?U^w2?S 2}/?ܨS>ºN2ogDxq_sw%5a'h;/C [5 +t̉4(:mLcQQ{z 1SXy8 z^8: e] 9rC G6&!Yv@^ pG^cUe,z!4sBU$t ]a세ȴo#K,N~TuDk=)g ))(u xAz$ ` +\@(MTʕH=YHrGxa63wX@7m+x4v<'n}{?2d }W`Y5I|B ܘp'9D DIIyhpg`h :R .`oB22z\L'"g;lppLRs2}l|4ROx"?dPQ:;g~*2HsrÓKmendstream endobj -1294 0 obj << +1292 0 obj << /Type /Page -/Contents 1295 0 R >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 13 12:23:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CE061065677; Sun, 13 Jul 2008 12:23:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3763F106566C for ; Sun, 13 Jul 2008 12:23:43 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1FE3B8FC12 for ; Sun, 13 Jul 2008 12:23:43 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DCNhLL072754 for ; Sun, 13 Jul 2008 12:23:43 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DCNhKp072752 for perforce@freebsd.org; Sun, 13 Jul 2008 12:23:43 GMT (envelope-from remko@freebsd.org) Date: Sun, 13 Jul 2008 12:23:43 GMT Message-Id: <200807131223.m6DCNhKp072752@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 145144 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 12:23:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=145144 Change 145144 by remko@remko_nakur on 2008/07/13 12:23:01 some style changes. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#8 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#8 (text+ko) ==== @@ -135,7 +135,7 @@ - Voordat dit hoofdstuk gelezen wordt, dient: + Voordat dit hoofdstuk gelezen wordt, dienen: @@ -181,8 +181,8 @@ anders dan de mail bezorgen bij de lokale mailhost, door deze af te leveren of bij een van de beschikbare serverdiensten, of via TCP - . + linkend="mail-mta">serverdiensten, of via + TCP. @@ -204,7 +204,7 @@ exim - &os; wordt standaard geleverd metsendmail + &os; wordt standaard geleverd met de sendmail , maar ondersteund meerdere andere mailserver daemons, zoals: @@ -239,7 +239,7 @@ tot de machine kan verkrijgen. Draai een actuele versie om deze problemen te voorkomen. Optioneel kan een alternatieve MTA van de &os; - Portscollectie geïnstalleerd worden. + Portscollectie geïnstalleerd worden. @@ -247,7 +247,7 @@ Email en DNS Het Domein Naam Systeem (DNS) en de daemon named - spelen een grote rol in het bezorgen van email. Om + spelen een grote rol in het bezorgen van email. Om het mogelijk te maken email van de deze lokatie naar een andere lokatie te bezorgen, zal de serverdaemon de andere lokatie opzoeken in het DNS om zo de host te bepalen die de email voor @@ -303,6 +303,7 @@ POP IMAP + Om op afstand toegang te krijgen tot postbussen is het nodig toegang te hebben tot een POP- of IMAP -server. Deze protocollen stellen gebruikers in @@ -339,9 +340,9 @@ Kies een IMAP- of POP - -server die het beste aan de eisen voldoet. + -server die het beste aan de eisen voldoet. De volgende POP- en IMAP - -servers zijn zeer bekend en zijn goede + -servers zijn zeer bekend en zijn goede voorbeelden: @@ -371,8 +372,8 @@ Wijzig indien nodig /etc/inetd.conf - om de POP- of IMAP - - server te laden. + om de POP- of IMAP + - server te laden. @@ -421,14 +422,12 @@ <application>sendmail</application> instellen - - sendmail - + sendmail &man.sendmail.8; is de standaard Mail Transfer Agent (MTA) in &os;. sendmail's taak is het accepteren van mail van gebruikersprogramma's (MUA - ) en deze te bezorgen bij de juiste mailer zoals + ) en deze te bezorgen bij de juiste mailer zoals gedefinieerd in het betreffende configuratiebestand. sendmail kan ook netwerkverbindingen accepteren en mail in lokale postbussen afleveren of bezorgen @@ -437,27 +436,14 @@ sendmail gebruikt de volgende configuratiebestanden: - - /etc/mail/access - - - /etc/mail/aliases - - - /etc/mail/local-host-names - - - /etc/mail/mailer.conf - - - /etc/mail/mailertable - - - /etc/mail/sendmail.cf - - - /etc/mail/virtusertable - + /etc/mail/access + /etc/mail/aliases + /etc/mail/local-host-names + /etc/mail/mailer.conf + /etc/mail/mailertable + /etc/mail/sendmail.cf + /etc/mail/virtusertable + @@ -559,11 +545,11 @@ erboven. Specifiekere regels vervangen minder specifieke. De laatste regel staat het doorsturen van elektronische mail toe vanaf hosts waarvan de IP-adressen beginnen met 128.32 - . Deze hosts zijn dan in staat om via deze mailserver + . Deze hosts zijn dan in staat om via deze mailserver naar een andere bestemming mail te versturen. Wanneer dit bestand is bijgewerkt, dient make - in /etc/mail/ te gedraaid te + in /etc/mail/ te gedraaid te worden om de database bij te werken. @@ -577,7 +563,8 @@ Mailaliassen - root: localuser + + root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail" @@ -594,7 +581,7 @@ voorbeeld toont een mailinglijst. Mail voor de postbus ftp-bugs wordt doorverwezen naar de drie lokale postbussen joe, eric - en paul. Merk op dat een + en paul. Merk op dat een externe postbus gespecificeerd kan worden als user@example.com. Het volgende voorbeeld toont het schrijven van mail naar een bestand, in dit geval @@ -632,7 +619,7 @@ <filename>/etc/mail/sendmail.cf</filename> Het hoofdinstellingenbestand van sendmail - , sendmail.cf controleert het + , sendmail.cf controleert het algemene gedrag van sendmail, inclusief alles van het herschrijven van emailadressen tot het sturen van weigeringsberichten naar externe mailservers. Met @@ -642,9 +629,9 @@ mailservers. Het hoofdinstellingenbestand van sendmail - kan gebouwd worden met &man.m4.1; macro's die het + kan gebouwd worden met &man.m4.1; macro's die het gedrag en de mogelijkheden van sendmail - specificeren. Lees + specificeren. Lees /usr/src/contrib/sendmail/cf/README voor meer details. @@ -657,13 +644,13 @@ <filename>/etc/mail/virtusertable</filename> De virtusertable verbindt mailadressen - voor virtuele domeinen en postbussen met echte postbussen. Deze postbussen kunnen lokaal, op afstand, aliassen gedefinieerd in + voor virtuele domeinen en postbussen met echte postbussen. Deze + postbussen kunnen lokaal, op afstand, aliassen gedefinieerd in /etc/mail/aliases, of bestanden zijn. - Voorbeeld van een mailtabel voor een virtueel domein - + Voorbeeld van een mailtabel voor een virtueel domein root@example.com root postmaster@example.com postmaster@noc.example.net @@ -706,13 +693,14 @@ De Mail Transfer Agent vervangen + email mta veranderen Zoals eerder vermeld wordt &os; geleverd met - sendmail voorgeïnstalleerd als MTA (Mail + sendmail voorgeïnstalleerd als MTA (Mail Transfer Agent). Daarom regelt het standaard uitgaande en binnenkomende mail. @@ -720,7 +708,7 @@ uiteenlopende redenen hun MTA vervangen. Deze redenen variëren van het uitproberen van een andere MTA tot het installeren van een bepaalde functionaliteit of pakket dat - afhankelijk is van een andere MTA. + afhankelijk is van een andere MTA. Een nieuwe MTA installeren @@ -762,7 +750,7 @@ binaries van sendmail blijven gebruiken om mail te versturen nadat deze uitgeschakeld werden , kan de mail in een inactieve sendmail - wachtrij geplaatst worden, en nooit bezorgd + wachtrij geplaatst worden, en nooit bezorgd worden. @@ -876,6 +864,7 @@ Problemen oplossen + email problemen oplossen @@ -912,7 +901,7 @@ Dit verschilt van het vorige gedrag, waar de zoektocht doorging over mompel.bar.edu - , en bar.edu. + , en bar.edu. Zie RFC 1535 voor de redenen waarom dit als een slechte gewoonte en zelfs als beveiligingslek werd beschouwd. @@ -923,7 +912,7 @@ in /etc/resolv.conf geplaatst worden. Ben er echter zeker van dat de zoekvolgorde niet verder gaat dan de grens tussen lokale en publieke regelgeving - , zoals RFC 1535 het noemt. + , zoals RFC 1535 het noemt. @@ -937,7 +926,7 @@ Dit wordt in de FAQ van sendmail - als volgt beantwoord: + als volgt beantwoord: Deze foutmeldingen verschijnen: @@ -958,7 +947,7 @@ De FAQ van sendmail is te vinden op en wordt aangeraden om te lezen indien enig tweaken - van de mailinstallatie gewenst is. + van de mailinstallatie gewenst is. @@ -969,6 +958,7 @@ Hoe kan een mailserver op een inbel-PPP-host gedraaid worden? + Het is gewenst om een &os;-computer in een LAN met het Internet te verbinden. De &os;-computer zal en mail-gateway @@ -1067,13 +1057,13 @@ Waarom blijven er fouten als Relaying Denied - verchijnen wanneer er mail van andere hosts + verchijnen wanneer er mail van andere hosts wordt verstuurd? In standaard &os;-installaties is sendmail - geconfigureerd om alleen mail te versturen + geconfigureerd om alleen mail te versturen van de host waarop het draait. Als bijvoorbeeld een POP-server beschikbaar is, kunnen gebruikers mail controleren vanuit school, werk, of andere @@ -1081,7 +1071,7 @@ zijn om uitgaande emails van lokaties van buitenaf te versturen. Gewoonlijk zal er na enkele ogenblikken na de poging een email van MAILER-DEAMON - worden verzonden met een foutbericht + worden verzonden met een foutbericht 5.7 Relaying Denied. Er zijn verschillende manieren om dit te omzeilen. De @@ -1206,7 +1196,7 @@ zal alle mail die naar de host ( example.FreeBSD.org) verzameld worden op hub - onder dezelfde gebruikersnaam in plaats van direct + onder dezelfde gebruikersnaam in plaats van direct naar de host verstuurd te worden. Bovenstaande informatie wordt door de DNS-server afgehandeld @@ -1216,7 +1206,7 @@ worden afgeleverd door middel van het IP-adres. De MX-regel voor freefall.FreeBSD.org - zag er eens als volgt uit: + zag er eens als volgt uit: freefall MX 30 mail.crl.net freefall MX 40 agora.rdrop.com @@ -1291,7 +1281,7 @@ Let erop dat customer1.org - pingen niet werkt tenzij er een A-regel voor bestaat + pingen niet werkt tenzij er een A-regel voor bestaat . @@ -1514,7 +1504,7 @@ hostname=_HOSTNAME_ Let erop dat het echte emailadres voor root - gebruikt wordt. Vervang + gebruikt wordt. Vervang mail.example.com door de uitgaande mail relay van de internetprovider (ook wel de uitgaande mailserver of SMTP-server genoemd). @@ -1542,7 +1532,7 @@ Indien het IP-adres statisch is, is het niet nodig om de standaardwaarden aan te passen. De toegewezen Internetnaam dient als hostnaam gebruikt te worden waarna sendmail - de rest kan doen. + de rest kan doen. Indien het IP-adres dynamisch is en er een inbelverbinding naar het Internet gebruikt wordt, is de postbus waarschijnlijk op @@ -1572,7 +1562,7 @@ Indien sendmail gebruikt wordt ( zoals hieronder te zien is) om mail aan niet-lokale accounts af te leveren, is het waarschijnlijk gewenst dat sendmail - de mailrij verwerkt zodra er een Internetverbinding + de mailrij verwerkt zodra er een Internetverbinding tot stand is gebracht. Hiervoor dient de volgende opdracht na de fetchmail-opdracht in /etc/ppp/ppp.linkup geplaatst te worden: @@ -1621,10 +1611,9 @@ In de vorige sectie staan de details over het omzetten van een .mc-bestand in bestand sendmail.cf - . Ook dient sendmail + . Ook dient sendmail herstart te worden na het wijzigen van sendmail.cf - . - + . @@ -1692,7 +1681,7 @@ Voeg de volgende regels toe aan /etc/rc.conf - : + : SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib @@ -1719,7 +1708,7 @@ Het compileren van sendmail zou geen problemen moeten geven indien /usr/src - niet veel veranderd is en dat de benodigde + niet veel veranderd is en dat de benodigde gedeelde bibliotheken aanwezig zijn. @@ -1745,13 +1734,13 @@ Voer als laatste &man.make.1; in /etc/mail - uit. Hierdoor wordt het nieuwe .mc - -bestand uitgevoerd en wordt een bestand + uit. Hierdoor wordt het nieuwe .mc + -bestand uitgevoerd en wordt een bestand freebsd.cf (of de plaatselijke variant ervan) aangemaakt. Voer hierna de opdracht make install restart uit, wat het bestand naar sendmail.cf kopieert en sendmail - op de juiste manier herstart. In + op de juiste manier herstart. In /etc/mail/Makefile staat meer informatie over dit proces. @@ -1795,7 +1784,7 @@ geïnstalleerd kunnen worden door de &os; Ports Collectie te gebruiken. Gebruikers kunnen kiezen tussen grafische emailclients zoals evolution - of balsa, op de console + of balsa, op de console gebaseerde clients zoals mutt, pine of mail, of de webinterface die door sommige grote organisaties wordt gebruikt. @@ -1813,7 +1802,7 @@ Hoewel mail van huis uit geen ondersteuning voor POP- of IMAP - -servers biedt, kunnen deze postbussen gedownload + -servers biedt, kunnen deze postbussen gedownload worden naar een lokaal mbox-bestand door een toepassing als fetchmail te gebruiken, welke later in dit hoofdstuk behandeld wordt (MUAs zoals mutt gaan veel intelligenter met bijlagen om. Maar indien het programma mail - nog steeds geprefereerd wordt, kan de port + nog steeds geprefereerd wordt, kan de port converters/mpack van aanzienlijk nut zijn. @@ -1948,7 +1937,7 @@ Al deze eigenschappen zorgen ervoor dat mutt - een van de meest geavanceerde beschikbare mail + een van de meest geavanceerde beschikbare mail user agents is. Op staat meer informatie. @@ -1968,9 +1957,9 @@ class="directory">/var/mail lezen en de inhoud weergeven indien van toepassing. Indien er geen mails gevonden zijn in de gebruikerspostbus, zal mutt - wachten voor opdrachten van de gebruiker. Het + wachten voor opdrachten van de gebruiker. Het onderstaande voorbeeld laat zien hoe mutt - een lijst berichten weergeeft: + een lijst berichten weergeeft: @@ -1990,7 +1979,7 @@ Net zoals het commando &man.mail.1; staat mutt - gebruikers toe om alleen de afzender alsook alle + gebruikers toe om alleen de afzender alsook alle ontvangers te beantwoorden. Om alleen de afzender van de email te antwoorden, wordt de toets r gebruikt. Om aan een groep te antwoorden, welke aan zowel de originele @@ -2168,7 +2157,7 @@ IMAP- en POP-servers op afstand naar plaatselijke postbussen te downloaden; daar kan het gemakkelijker worden benaderd. fetchmail - kan met de port kan met de port mail/fetchmail worden geïnstalleerd, en biedt verschillende mogelijkheden, waaronder: @@ -2218,7 +2207,7 @@ fetchmail om met example.com te verbinden als gebruiker joesoap met wachtwoord XXX - . Dit voorbeeld gaat ervan uit dat de gebruiker + . Dit voorbeeld gaat ervan uit dat de gebruiker joesoap ook een gebruiker is op het plaatselijke systeem. @@ -2241,7 +2230,7 @@ fetchmail de servers die in het bestand .fetchmailrc vermeld staan dient te vragen. Het volgende voorbeeld zorgt ervoor dat fetchmail - elke 600 seconden vraagt: + elke 600 seconden vraagt: &prompt.user; fetchmail -d 600 From owner-p4-projects@FreeBSD.ORG Sun Jul 13 13:09:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D3A9E1065673; Sun, 13 Jul 2008 13:09:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9775D106564A; Sun, 13 Jul 2008 13:09:07 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 205F58FC13; Sun, 13 Jul 2008 13:09:06 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.3/8.14.3/ALCHEMY.FRANKEN.DE) with ESMTP id m6DCT7w1063206; Sun, 13 Jul 2008 14:29:07 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.3/8.14.3/Submit) id m6DCT7XJ063205; Sun, 13 Jul 2008 14:29:07 +0200 (CEST) (envelope-from marius) Date: Sun, 13 Jul 2008 14:29:07 +0200 From: Marius Strobl To: Marcel Moolenaar Message-ID: <20080713122907.GA63008@alchemy.franken.de> References: <200807071855.m67ItHQp084707@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200807071855.m67ItHQp084707@repoman.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 144842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 13:09:08 -0000 On Mon, Jul 07, 2008 at 06:55:17PM +0000, Marcel Moolenaar wrote: > http://perforce.freebsd.org/chv.cgi?CH=144842 > > Change 144842 by marcel@marcel_xcllnt on 2008/07/07 18:55:11 > > ISA_PNP_PROBE() can also return ENOENT. > So, assume a match when the error is 0, not != ENXIO. > > Affected files ... > > .. //depot/projects/uart/dev/uart/uart_bus_isa.c#13 edit > > Differences ... > > ==== //depot/projects/uart/dev/uart/uart_bus_isa.c#13 (text+ko) ==== > > @@ -170,7 +170,7 @@ > sc = device_get_softc(dev); > > /* Probe PnP _and_ non-PnP ns8250 here. */ > - if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) != ENXIO) { > + if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) == 0) { > sc->sc_class = &uart_ns8250_class; > return (uart_bus_probe(dev, 0, 0, 0, 0)); > } Unfortunately, this now no longer probes non-PnP ns8250. You'll probably need something like the following to actually probe both: if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) == 0 || isa_get_vendorid(dev) == 0) Marius From owner-p4-projects@FreeBSD.ORG Sun Jul 13 13:18:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D8B21065674; Sun, 13 Jul 2008 13:18:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51A00106564A for ; Sun, 13 Jul 2008 13:18:41 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3B4398FC0C for ; Sun, 13 Jul 2008 13:18:41 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DDIfUF087519 for ; Sun, 13 Jul 2008 13:18:41 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DDIfQb087517 for perforce@freebsd.org; Sun, 13 Jul 2008 13:18:41 GMT (envelope-from konrad@FreeBSD.org) Date: Sun, 13 Jul 2008 13:18:41 GMT Message-Id: <200807131318.m6DDIfQb087517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 145151 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 13:18:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=145151 Change 145151 by konrad@vspredator on 2008/07/13 13:17:46 New generation scripts - for the colldef.apple branch. Affected files ... .. //depot/projects/soc2008/konrad_collation/colldef.apple/collate.h#3 edit .. //depot/projects/soc2008/konrad_collation/colldef_in.src.simple#2 delete .. //depot/projects/soc2008/konrad_collation/posix/pl_PL.UTF-8.src#2 edit .. //depot/projects/soc2008/konrad_collation/scripts/generate_apple.sh#1 add .. //depot/projects/soc2008/konrad_collation/scripts/localedef.sh#1 add Differences ... ==== //depot/projects/soc2008/konrad_collation/colldef.apple/collate.h#3 (text+ko) ==== @@ -62,11 +62,11 @@ __uint8_t directive[COLL_WEIGHTS_MAX]; __uint8_t flags; #if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN - int directive_count:4; - int chain_max_len:4; + unsigned int directive_count:4; + unsigned int chain_max_len:4; #else - int chain_max_len:4; - int directive_count:4; + unsigned int chain_max_len:4; + unsigned int directive_count:4; #endif __int32_t undef_pri[COLL_WEIGHTS_MAX]; __int32_t subst_count[COLL_WEIGHTS_MAX]; ==== //depot/projects/soc2008/konrad_collation/posix/pl_PL.UTF-8.src#2 (text+ko) ==== @@ -4913,6 +4913,7 @@ + * assignment of characters to weights From owner-p4-projects@FreeBSD.ORG Sun Jul 13 13:50:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54A911065671; Sun, 13 Jul 2008 13:50:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1843B106564A for ; Sun, 13 Jul 2008 13:50:21 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DC0858FC22 for ; Sun, 13 Jul 2008 13:50:20 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DDoKWX092436 for ; Sun, 13 Jul 2008 13:50:20 GMT (envelope-from diego@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DDoK5Q092434 for perforce@freebsd.org; Sun, 13 Jul 2008 13:50:20 GMT (envelope-from diego@FreeBSD.org) Date: Sun, 13 Jul 2008 13:50:20 GMT Message-Id: <200807131350.m6DDoK5Q092434@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to diego@FreeBSD.org using -f From: Diego Giagio To: Perforce Change Reviews Cc: Subject: PERFORCE change 145154 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 13:50:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=145154 Change 145154 by diego@diego_black on 2008/07/13 13:49:58 Small fix. Affected files ... .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#7 edit Differences ... ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#7 (text+ko) ==== @@ -219,7 +219,6 @@ sbuf_printf(sb, "pf: "); if (anchor != NULL) sbuf_printf(sb, "anchor=%s, ", anchor); - if (nrules != -1) sbuf_printf(sb, "nrules=%u", nrules); sbuf_finish(sb); } From owner-p4-projects@FreeBSD.ORG Sun Jul 13 15:41:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A00D71065677; Sun, 13 Jul 2008 15:41:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63A18106566C for ; Sun, 13 Jul 2008 15:41:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4C3B98FC1E for ; Sun, 13 Jul 2008 15:41:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DFfMUF004024 for ; Sun, 13 Jul 2008 15:41:22 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DFfMpE004022 for perforce@freebsd.org; Sun, 13 Jul 2008 15:41:22 GMT (envelope-from gabor@freebsd.org) Date: Sun, 13 Jul 2008 15:41:22 GMT Message-Id: <200807131541.m6DFfMpE004022@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145158 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 15:41:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=145158 Change 145158 by gabor@gabor_server on 2008/07/13 15:40:33 - Restore the old gzip and bzip2 support, which was better. Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/file.c#16 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#65 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.h#37 edit .. //depot/projects/soc2008/gabor_textproc/grep/util.c#59 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/file.c#16 (text+ko) ==== @@ -57,8 +57,46 @@ static int binbufsiz; char *binbufptr; +static int bzerr; + #define iswbinary(ch) (!iswspace((ch)) && iswcntrl((ch))) +int +grep_fgetc(struct file *f) +{ + char c; + + switch (filebehave) { + case FILE_STDIO: + return (fgetc(f->f)); + case FILE_GZIP: + return (gzgetc(f->gzf)); + case FILE_BZIP: + BZ2_bzRead(&bzerr, f->bzf, &c, 1); + if (bzerr == BZ_STREAM_END) + return (-1); + else if (bzerr != BZ_SEQUENCE_ERROR && bzerr != BZ_OK) + errx(2, "Cannot read bzip2 compressed file"); + return (c); + } + return (-1); +} + +int +grep_feof(struct file *f) +{ + + switch (filebehave) { + case FILE_STDIO: + return (feof(f->f)); + case FILE_GZIP: + return (gzeof(f->gzf)); + case FILE_BZIP: + return (bzerr == BZ_STREAM_END); + } + return (1); +} + char * grep_fgetln(struct file *f, size_t *len) { @@ -69,9 +107,9 @@ if ((binbufptr == NULL) && (binbehave != BINFILE_TEXT)) { for (i = 0; i < (BUFSIZ * 4); i++) { - if (feof(f->f)) + if (grep_feof(f)) break; - ch = fgetc(f->f); + ch = grep_fgetc(f); binbuf[i] = ch; } binbufsiz = i; @@ -87,9 +125,9 @@ for (i = 0; ; i++) { if (binbufptr == &binbuf[binbufsiz]) { - if (feof(f->f)) + if (grep_feof(f)) break; - ch = fgetc(f->f); + ch = grep_fgetc(f); } else { ch = binbufptr[0]; binbufptr++; @@ -102,7 +140,7 @@ break; lnbuf[i] = ch; } - if (feof(f->f) && (i == 0)) + if (grep_feof(f) && (i == 0)) return NULL; *len = i; return (lnbuf); @@ -128,61 +166,44 @@ grep_open(char *path) { struct file *f; - char *templ; - int tempfd; snprintf(fname, sizeof fname, "%s", path); f = grep_malloc(sizeof *f); - if (Zflag || Jflag) { - templ = grep_malloc(sizeof(char) * 15); - strlcpy(templ, "/tmp/grep.XXXXXXXX", 14); - if ((tempfd = mkstemp(templ)) == -1) - err(2, NULL); - free(templ); - if (Zflag) { - gzFile *gzf; - char buf[BUFSIZ]; - int i; + switch (filebehave) { + case FILE_STDIO: + if ((f->f = fopen(path, "r")) != NULL) + return (f); + break; + case FILE_GZIP: + if ((f->gzf = gzopen(fname, "r")) != NULL) + return (f); + break; + case FILE_BZIP: + if ((f->bzf = BZ2_bzopen(fname, "r")) != NULL) + return (f); + break; + } - if ((gzf = gzopen(fname, "r")) == NULL) - err(2, NULL); - while ((i = gzread(gzf, buf, BUFSIZ)) > 0) { - write(tempfd, buf, BUFSIZ); - } - gzclose(gzf); - lseek(tempfd, 0L, SEEK_SET); - if ((f->f = fdopen(tempfd, "r")) != NULL) - return (f); - else - return (NULL); - } else { - BZFILE *bzf; - char buf[BUFSIZ]; - int bzerror; - FILE *file; - if ((file = fopen(fname, "r")) == NULL) - err(2, NULL); - if ((bzf = BZ2_bzReadOpen(&bzerror, file, 0, 0, NULL, 0)) == NULL) - err(2, NULL); - do { - BZ2_bzRead(&bzerror, bzf, buf, BUFSIZ); - write(tempfd, buf, BUFSIZ); - } while (bzerror == BZ_OK); - BZ2_bzReadClose(&bzerror, bzf); - fclose(file); - lseek(tempfd, 0L, SEEK_SET); - if ((f->f = fdopen(tempfd, "r")) != NULL) - return (f); - else - return (NULL); - } - } + free(f); + return (NULL); +} - if ((f->f = fopen(path, "r")) != NULL) - return (f); +void +grep_close(struct file *f) +{ + switch (filebehave) { + case FILE_STDIO: + fclose(f->f); + break; + case FILE_GZIP: + gzclose(f->gzf); + break; + case FILE_BZIP: + BZ2_bzclose(f->bzf); + break; + } free(f); - return (NULL); } ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#65 (text+ko) ==== @@ -98,9 +98,7 @@ unsigned long long Aflag; /* -A x: print x lines trailing each match */ unsigned long long Bflag; /* -B x: print x lines leading each match */ int Hflag; /* -H: always print file name */ -int Jflag; /* -J: grep in bzipped file */ int Lflag; /* -L: only show names of files with no matches */ -int Zflag; /* -Z: grep in gzipped file */ int bflag; /* -b: show block numbers for each match */ int cflag; /* -c: only show a count of matching lines */ int hflag; /* -h: don't print filename headers */ @@ -124,6 +122,7 @@ int grepbehave = GREP_BASIC; int binbehave = BINFILE_BIN; +int filebehave = FILE_STDIO; int devbehave = DEV_GREP; int dirbehave = DIR_GREP; int linkbehave = LINK_GREP; @@ -305,7 +304,7 @@ grepbehave = GREP_BASIC; break; case 'z': - Zflag++; + filebehave = FILE_GZIP; switch(__progname[1]) { case 'e': grepbehave = GREP_EXTENDED; @@ -408,8 +407,7 @@ cflags |= REG_ICASE; break; case 'J': - Zflag = 0; - Jflag++; + filebehave = FILE_BZIP; break; case 'L': lflag = 0; @@ -474,8 +472,7 @@ xflag = 1; break; case 'Z': - Jflag = 0; - Zflag++; + filebehave = FILE_GZIP; break; case BIN_OPT: if (strcmp("binary", optarg) == 0) ==== //depot/projects/soc2008/gabor_textproc/grep/grep.h#37 (text+ko) ==== @@ -26,8 +26,10 @@ * SUCH DAMAGE. */ +#include #include #include +#include #if defined(WITH_PCRE) #include @@ -55,6 +57,10 @@ #define BINFILE_SKIP 1 #define BINFILE_TEXT 2 +#define FILE_STDIO 0 +#define FILE_GZIP 1 +#define FILE_BZIP 2 + #define DIR_GREP 0 #define DIR_SKIP 1 #define DIR_RECURSE 2 @@ -72,6 +78,8 @@ int binary; FILE *f; struct mmfile *mmf; + gzFile *gzf; + BZFILE *bzf; }; struct str { @@ -86,13 +94,13 @@ extern int cflags, eflags; /* Command line flags */ -extern int Eflag, Fflag, Gflag, Hflag, Jflag, Lflag, Zflag, +extern int Eflag, Fflag, Gflag, Hflag, Lflag, bflag, cflag, hflag, iflag, lflag, mflag, nflag, oflag, qflag, sflag, vflag, wflag, xflag; extern int nullflag, exclflag, inclflag; extern unsigned long long Aflag, Bflag, mcount; extern char *color, *label; -extern int binbehave, devbehave, dirbehave, linkbehave; +extern int binbehave, filebehave, devbehave, dirbehave, linkbehave; extern int first, prev, matchall, patterns, epatterns, tail, notfound; extern char **pattern, **epattern; @@ -117,6 +125,9 @@ void clearqueue(void); /* file.c */ +void grep_close(struct file *f); struct file *grep_stdin_open(void); struct file *grep_open(char *path); +int grep_feof(struct file *f); +int grep_fgetc(struct file *f); char *grep_fgetln(struct file *f, size_t *len); ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#59 (text+ko) ==== @@ -160,7 +160,7 @@ } if (f->binary && binbehave == BINFILE_SKIP) { - fclose(f->f); + grep_close(f); free(f); return (0); } @@ -196,7 +196,7 @@ } if (Bflag > 0) clearqueue(); - fclose(f->f); + grep_close(f); free(f); if (cflag) { From owner-p4-projects@FreeBSD.ORG Sun Jul 13 16:24:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADB45106566B; Sun, 13 Jul 2008 16:24:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 718F5106566C for ; Sun, 13 Jul 2008 16:24:05 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 592CD8FC16 for ; Sun, 13 Jul 2008 16:24:05 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DGO5gg008416 for ; Sun, 13 Jul 2008 16:24:05 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DGO5TA008414 for perforce@freebsd.org; Sun, 13 Jul 2008 16:24:05 GMT (envelope-from snagg@FreeBSD.org) Date: Sun, 13 Jul 2008 16:24:05 GMT Message-Id: <200807131624.m6DGO5TA008414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 145159 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 16:24:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=145159 Change 145159 by snagg@snagg_macosx on 2008/07/13 16:23:50 audit_pipe.c and audit_ioctl.h were modified in order to provide only per-pid tracing, the ABI is no longer broken a new structure has been created for ioctl. The old code, with events support, is in the new files added. Note that the old code still breaks the ABI. Affected files ... .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_ioctl-events.h#1 add .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_ioctl.h#16 edit .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_pipe-events.c#1 add .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_pipe.c#25 edit Differences ... ==== //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_ioctl.h#16 (text) ==== @@ -38,20 +38,14 @@ * structures, add new revised ones to be used by new ioctls, and keep the * old structures and ioctls for backwards compatibility. */ -struct auditpipe_ioctl_preselect_event { - int app_event; - int app_flag; -}; -struct auditpipe_ioctl_preselect { +struct auditpipe_ioctl_preselect_pid { au_id_t aip_auid; au_mask_t aip_mask; pid_t app_pid; - struct auditpipe_ioctl_preselect_event *app_auevents; - int app_event_len; }; -struct auditpipe_ioctl_preselect_old { +struct auditpipe_ioctl_preselect{ au_id_t aip_auid; au_mask_t aip_mask; }; @@ -61,8 +55,7 @@ */ #define AUDITPIPE_PRESELECT_MODE_TRAIL 1 /* Global audit trail. */ #define AUDITPIPE_PRESELECT_MODE_LOCAL 2 /* Local audit trail. */ -#define AUDITPIPE_PRESELECT_MODE_EVENT 3 /* Events-pid based audit trail */ -#define AUDITPIPE_PRESELECT_MODE_PID 4 /*Pid based audit trail*/ +#define AUDITPIPE_PRESELECT_MODE_PID 3 /*Pid based audit trail*/ /* * Ioctls to read and control the behavior of individual audit pipe devices. @@ -86,12 +79,12 @@ #define AUDITPIPE_SET_PRESELECT_MODE _IOW(AUDITPIPE_IOBASE, 15, int) #define AUDITPIPE_FLUSH _IO(AUDITPIPE_IOBASE, 16) #define AUDITPIPE_GET_MAXAUDITDATA _IOR(AUDITPIPE_IOBASE, 17, u_int) -#define AUDITPIPE_GET_PRESELECT_EVENT_LIST _IOWR(AUDITPIPE_IOBASE, 18, \ - struct auditpipe_ioctl_preselect) -#define AUDITPIPE_SET_PRESELECT_EVENTS _IOW(AUDITPIPE_IOBASE, 19, \ - struct auditpipe_ioctl_preselect) +#define AUDITPIPE_GET_PRESELECT_PID _IOR(AUDITPIPE_IOBASE, 18, \ + struct auditpipe_ioctl_preselect_pid) +#define AUDITPIPE_SET_PRESELECT_PID _IOW(AUDITPIPE_IOBASE, 19, \ + struct auditpipe_ioctl_preselect_pid) #define AUDITPIPE_DELETE_PRESELECT_PID _IOW(AUDITPIPE_IOBASE, 20, pid_t) -#define AUDITPIPE_FLUSH_PRESELECT_EVENTS _IO(AUDITPIPE_IOBASE, 21) +#define AUDITPIPE_FLUSH_PRESELECT_PID _IO(AUDITPIPE_IOBASE, 21) /* * Ioctls to retrieve audit pipe statistics. ==== //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_pipe.c#25 (text) ==== @@ -68,8 +68,6 @@ "Audit pipe entries and buffers"); static MALLOC_DEFINE(M_AUDIT_PIPE_PRESELECT, "audit_pipe_presel", "Audit pipe preselection structure"); -static MALLOC_DEFINE(M_AUDIT_PIPE_PRESELECT_EVENT, - "Audit_pipe_preselection", "Audit pipe preselection events structure"); /* * Audit pipe buffer parameters. @@ -77,7 +75,6 @@ #define AUDIT_PIPE_QLIMIT_DEFAULT (128) #define AUDIT_PIPE_QLIMIT_MIN (0) #define AUDIT_PIPE_QLIMIT_MAX (1024) -#define AUDIT_NEVENTS (256) /* * Description of an entry in an audit_pipe. @@ -99,16 +96,11 @@ * We may want to consider a more space/time-efficient data structure once * usage patterns for per-auid specifications are clear. */ -struct audit_pipe_preselect_event { - int app_event; - int app_flag; -}; struct audit_pipe_preselect { au_id_t app_auid; au_mask_t app_mask; pid_t app_pid; - struct audit_pipe_preselect_event *app_auevents; int app_event_len; TAILQ_ENTRY(audit_pipe_preselect) app_list; }; @@ -227,58 +219,24 @@ free(ape, M_AUDIT_PIPE_ENTRY); } -/* - * The event array is sorted in ascending order, needed for the binary search - */ -static int -audit_pipe_compare_preselect_event(const void *a, const void *b) -{ - const struct audit_pipe_preselect_event *entrya, *entryb; - - entrya = a; - entryb = b; - if(entrya->app_event > entryb->app_event) - return (1); - else if (entrya->app_event < entryb->app_event) - return (-1); - else - return (0); -} /* - * Find an audit pipe preselection specification for an event and flag, + * Find an audit pipe preselection specification for a pid, * if any. */ static struct audit_pipe_preselect * -audit_pipe_preselect_find_event(struct audit_pipe *ap, int app_event, - pid_t app_pid, int event_flag) +audit_pipe_preselect_find_pid(struct audit_pipe *ap, pid_t app_pid) { struct audit_pipe_preselect *app; - struct audit_pipe_preselect_event *event, ev_a; mtx_assert(&audit_pipe_mtx, MA_OWNED); - ev_a.app_event = app_event; - ev_a.app_flag = event_flag; TAILQ_FOREACH(app, &ap->ap_preselect_list, app_list) { - if(app->app_pid == app_pid) { - - /* Just skip if we are interested only in the pid. */ - if(app_event != -1 && app->app_event_len > 0) { - event = bsearch(&ev_a, (app->app_auevents), app->app_event_len, - sizeof(struct audit_pipe_preselect_event), - audit_pipe_compare_preselect_event); - if(event != NULL) { - if(event_flag != -1) - if (!(event->app_flag & event_flag)) - app = NULL; - } else - app = NULL; - } - break; - } + if(app->app_pid == app_pid) + return (app); } - return (app); + + return (NULL); } /* @@ -299,116 +257,84 @@ } /* - * Query the per-pipe events list for a specific pid. + * Query the per-pipe mask for a specific auid. */ static int -audit_pipe_preselect_get_events_list(struct audit_pipe *ap, - pid_t app_pid, struct audit_pipe_preselect_event *app_events, int app_len) +audit_pipe_preselect_get(struct audit_pipe *ap, au_id_t auid, + au_mask_t *maskp) { struct audit_pipe_preselect *app; int error; mtx_lock(&audit_pipe_mtx); - app = audit_pipe_preselect_find_event(ap, -1, app_pid, -1); - if (app != NULL) - error = copyout(app->app_auevents, app_events, - sizeof(struct audit_pipe_preselect_event)* - ((app_len > app->app_event_len) ? app->app_event_len : app_len)); - else + app = audit_pipe_preselect_find(ap, auid); + if (app != NULL) { + *maskp = app->app_mask; + error = 0; + } else error = ENOENT; mtx_unlock(&audit_pipe_mtx); return (error); } /* - * Query the per-pipe mask for a specific auid. + * Check if there's an entry for a given pid */ static int -audit_pipe_preselect_get(struct audit_pipe *ap, au_id_t auid, - au_mask_t *maskp) +audit_pipe_preselect_get_pid(struct audit_pipe *ap, pid_t pid) { struct audit_pipe_preselect *app; int error; - + mtx_lock(&audit_pipe_mtx); - app = audit_pipe_preselect_find(ap, auid); - if (app != NULL) { - *maskp = app->app_mask; + app = audit_pipe_preselect_find_pid(ap, pid); + if(app != NULL) error = 0; - } else + else error = ENOENT; + mtx_unlock(&audit_pipe_mtx); - return (error); + return(error); } - + /* * Add a new entry for a specifc event. Add a new entry if needed; * otherwise, update the current entry. */ static void -audit_pipe_preselect_set_events(struct audit_pipe *ap, pid_t app_pid, - struct audit_pipe_preselect_event *events, int num) +audit_pipe_preselect_set_pid(struct audit_pipe *ap, pid_t app_pid) { struct audit_pipe_preselect *app, *app_new; - int i, found; + int found; + + + KASSERT(app_pid >= 0, ("Pid is invalid")); /* * Pessimistically assume that the entry for this pid doesn't * exist, and allocate. We will free it if it is unneeded. */ - KASSERT(num >= 0, ("Number of events is out of range")); + app_new = malloc(sizeof(*app_new), M_AUDIT_PIPE_PRESELECT, M_WAITOK); - /* Max number allowed */ - KASSERT(num <= AUDIT_NEVENTS, ("Number of events is out of range")); - - app_new = malloc(sizeof(*app_new), M_AUDIT_PIPE_PRESELECT, M_WAITOK); - if(num) - app_new->app_auevents= malloc(sizeof(struct audit_pipe_preselect_event) * - num, M_AUDIT_PIPE_PRESELECT_EVENT, M_WAITOK); - mtx_lock(&audit_pipe_mtx); /* - * First search for the entry by its pid + * Search for the entry by its pid */ - app = audit_pipe_preselect_find_event(ap, -1, app_pid, -1); + app = audit_pipe_preselect_find_pid(ap, app_pid); found = (app != NULL) ? 1: 0; - if(found) { - if(app->app_event_len) - free(app->app_auevents, M_AUDIT_PIPE_PRESELECT_EVENT); - app->app_auevents = app_new->app_auevents; - app_new = NULL; - app->app_event_len = num; - for (i = 0; i < num; i++) { - (app->app_auevents + i)->app_event = (events + i)->app_event; - (app->app_auevents + i)->app_flag = (events + i)->app_flag; - } - qsort((app->app_auevents), app->app_event_len, - sizeof(struct audit_pipe_preselect_event), - audit_pipe_compare_preselect_event); - } else { + if(!found) { app = app_new; app_new = NULL; app->app_pid = app_pid; - app->app_event_len = num; - for (i = 0; i < num; i++) { - (app->app_auevents + i)->app_event = (events + i)->app_event; - (app->app_auevents + i)->app_flag = (events + i)->app_flag; - } - qsort((app->app_auevents), app->app_event_len, - sizeof(struct audit_pipe_preselect_event), - audit_pipe_compare_preselect_event); TAILQ_INSERT_TAIL(&ap->ap_preselect_list, app, app_list); } - mtx_unlock(&audit_pipe_mtx); if (app_new != NULL) { free(app_new, M_AUDIT_PIPE_PRESELECT); - if(num) - free(app_new->app_auevents, M_AUDIT_PIPE_PRESELECT_EVENT); - } -} + } +} /* * Set the per-pipe mask for a specific event. Add a new entry if needed; @@ -439,37 +365,6 @@ } /* - * Delete a per-event entry on an audit pipe. DON'T KNOW WHETHER IT IS USEFUL OR NOT - */ -/* -static int -audit_pipe_preselect_delete_event(struct audit_pipe *ap, int app_event, pid_t pid, - int app_flag) -{ - struct audit_pipe_preselect *app; - int i; - - mtx_lock(&audit_pipe_mtx); - app = audit_pipe_preselect_find_event(ap, app_event, pid, -1); - if (app != NULL) { - for( i = 0; i < app->app_event_len; i++) { - if((app->app_auevents + i)->app_event == app_event && - (app->app_auevents + i)->app_flag == app_flag) { - free((app->app_auevents + i), M_AUDIT_PIPE_PRESELECT_EVENT); - break; - } - } - mtx_unlock(&audit_pipe_mtx); - return(0); - } - mtx_unlock(&audit_pipe_mtx); - - return (ENOENT); - -} -*/ - -/* * Delete a per-pid entry on an audit pipe wiping the whole entry. */ static int @@ -478,12 +373,10 @@ struct audit_pipe_preselect *app; mtx_lock(&audit_pipe_mtx); - app = audit_pipe_preselect_find_event(ap, -1, pid, -1); + app = audit_pipe_preselect_find_pid(ap, pid); if (app != NULL) { TAILQ_REMOVE(&ap->ap_preselect_list, app, app_list); mtx_unlock(&audit_pipe_mtx); - if(app->app_auevents != NULL) - free(app->app_auevents, M_AUDIT_PIPE_PRESELECT_EVENT); free(app, M_AUDIT_PIPE_PRESELECT); return (0); } else @@ -518,7 +411,7 @@ * Delete all per-events entry on an audit pipe. */ static void -audit_pipe_preselect_events_flush_locked(struct audit_pipe *ap) +audit_pipe_preselect_pid_flush_locked(struct audit_pipe *ap) { struct audit_pipe_preselect *app; @@ -526,20 +419,17 @@ while ((app = TAILQ_FIRST(&ap->ap_preselect_list)) != NULL) { TAILQ_REMOVE(&ap->ap_preselect_list, app, app_list); - if (app != NULL) { - if(app->app_auevents != NULL) - free(app->app_auevents , M_AUDIT_PIPE_PRESELECT_EVENT); + if (app != NULL) free(app, M_AUDIT_PIPE_PRESELECT); - } } } static void -audit_pipe_preselect_events_flush(struct audit_pipe *ap) +audit_pipe_preselect_pid_flush(struct audit_pipe *ap) { mtx_lock(&audit_pipe_mtx); - audit_pipe_preselect_events_flush_locked(ap); + audit_pipe_preselect_pid_flush_locked(ap); mtx_unlock(&audit_pipe_mtx); } @@ -603,16 +493,9 @@ } else return (au_preselect(event, class, &app->app_mask, sorf)); - - case AUDITPIPE_PRESELECT_MODE_EVENT: - app = audit_pipe_preselect_find_event(ap, event, app_pid, sorf); - if(app != NULL) - return (1); - else - break; case AUDITPIPE_PRESELECT_MODE_PID: - app = audit_pipe_preselect_find_event(ap, -1, app_pid, -1); + app = audit_pipe_preselect_find_pid(ap, app_pid); if(app != NULL) return (1); else @@ -942,6 +825,7 @@ struct thread *td) { struct auditpipe_ioctl_preselect *aip; + struct auditpipe_ioctl_preselect_pid *aip_pid; struct audit_pipe *ap; au_mask_t *maskp; int error, mode; @@ -1065,18 +949,14 @@ &aip->aip_mask); break; - case AUDITPIPE_GET_PRESELECT_EVENT_LIST: - aip = (struct auditpipe_ioctl_preselect *)data; - error = audit_pipe_preselect_get_events_list(ap, aip->app_pid, - (struct audit_pipe_preselect_event *)aip->app_auevents, - aip->app_event_len); + case AUDITPIPE_GET_PRESELECT_PID: + aip_pid = (struct auditpipe_ioctl_preselect_pid *)data; + error = audit_pipe_preselect_get_pid(ap, aip_pid->app_pid); break; - case AUDITPIPE_SET_PRESELECT_EVENTS: - aip = (struct auditpipe_ioctl_preselect *)data; - audit_pipe_preselect_set_events(ap, aip->app_pid, - (struct audit_pipe_preselect_event *)aip->app_auevents, - aip->app_event_len); + case AUDITPIPE_SET_PRESELECT_PID: + aip_pid = (struct auditpipe_ioctl_preselect_pid *)data; + audit_pipe_preselect_set_pid(ap, aip_pid->app_pid); error = 0; break; @@ -1101,8 +981,8 @@ error = 0; break; - case AUDITPIPE_FLUSH_PRESELECT_EVENTS: - audit_pipe_preselect_events_flush(ap); + case AUDITPIPE_FLUSH_PRESELECT_PID: + audit_pipe_preselect_pid_flush(ap); error = 0; break; @@ -1118,7 +998,6 @@ switch (mode) { case AUDITPIPE_PRESELECT_MODE_TRAIL: case AUDITPIPE_PRESELECT_MODE_LOCAL: - case AUDITPIPE_PRESELECT_MODE_EVENT: case AUDITPIPE_PRESELECT_MODE_PID: mtx_lock(&audit_pipe_mtx); ap->ap_preselect_mode = mode; From owner-p4-projects@FreeBSD.ORG Sun Jul 13 16:32:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55101106567D; Sun, 13 Jul 2008 16:32:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 177181065676 for ; Sun, 13 Jul 2008 16:32:17 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F21418FC14 for ; Sun, 13 Jul 2008 16:32:16 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DGWG8L009033 for ; Sun, 13 Jul 2008 16:32:16 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DGWD0v009031 for perforce@freebsd.org; Sun, 13 Jul 2008 16:32:13 GMT (envelope-from snagg@FreeBSD.org) Date: Sun, 13 Jul 2008 16:32:13 GMT Message-Id: <200807131632.m6DGWD0v009031@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 145160 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 16:32:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=145160 Change 145160 by snagg@snagg_macosx on 2008/07/13 16:32:06 IFC Affected files ... .. //depot/projects/soc2008/snagg-audit/sys/Makefile#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/bpf_jit_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/bpf_jit_machdep.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/mem.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/trap.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/include/iodev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/include/pmc_mdep.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/include/stack.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/amd64/include/vmparam.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/at91/if_atereg.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/xscale/i8134x/i81342_pci.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/xscale/pxa/files.pxa#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/xscale/pxa/pxa_obio.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/arm/xscale/pxa/pxa_space.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/Makefile.inc#1 branch .. //depot/projects/soc2008/snagg-audit/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/soc2008/snagg-audit/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/efi/Makefile.inc#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/i386/Makefile.inc#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/i386/libi386/time.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/ia64/Makefile.inc#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/ia64/common/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/ia64/efi/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/ia64/ski/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/soc2008/snagg-audit/sys/boot/pc98/Makefile.inc#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/pc98/boot2/README.serial.98#2 delete .. //depot/projects/soc2008/snagg-audit/sys/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/soc2008/snagg-audit/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/sparc64/loader/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/soc2008/snagg-audit/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/ndis/subr_ntoskrnl.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/compat/pecoff/imgact_pecoff.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/NOTES#6 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/files#7 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/files.i386#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/files.pc98#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/files.powerpc#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/kern.mk#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/kern.post.mk#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/newvers.sh#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/options.i386#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/options.pc98#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/COPYRIGHT#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/if_oltr.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/if_oltr_isa.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/if_oltr_pci.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/if_oltrvar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/trlld.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/trlldbm.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/trlldhm.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/oltr/trlldmac.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/ddb/db_ps.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/aac/aac.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/aac/aac_pci.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/age/if_age.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/agp/agp_i810.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/arl/if_arl.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/arl/if_arl_isa.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/arl/if_arlreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-pci.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/bm/if_bm.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/bm/if_bmreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/bm/if_bmvar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ciss/cissio.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ciss/cissreg.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ciss/cissvar.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/cnw/if_cnw.c#3 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/cnw/if_cnwioctl.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/cnw/if_cnwreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/cp/cpddk.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/cs/if_cs.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/cs/if_csreg.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ctau/ctddk.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/cx/cxddk.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/dc/if_dc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/et/if_et.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/et/if_etreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/et/if_etvar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ex/if_ex_isa.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ex/if_ex_pccard.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ex/if_exvar.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/fe/if_fe_cbus.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/fe/if_fe_isa.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/fe/if_fe_pccard.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/fe/if_fevar.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/if_ndis/if_ndis.c#7 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/if_ndis/if_ndisvar.h#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/io/iodev.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/iwi/if_iwi.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/iwn/if_iwn.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ixgbe/tcp_lro.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/ixgbe/tcp_lro.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/k8temp/k8temp.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/lmc/if_lmc.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mfi/mfi.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/lxtphy.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/miidevs#6 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/rgephyreg.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/truephy.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/mii/truephyreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/dev/mpt/mpt_pci.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/ral/rt2661.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/re/if_re.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/sbni/if_sbni.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/sbni/if_sbni_isa.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/sbni/if_sbni_pci.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/sbni/if_sbnireg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/sbni/if_sbnivar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/sbsh/if_sbsh.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/sbsh/if_sbshreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/dev/si/si.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/si/si.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/smc/if_smc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/snp/snp.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/tx/if_txvar.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/ehcivar.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/if_rum.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/uplcom.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/usb_ethersubr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/usb/uscanner.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/vkbd/vkbd.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/dev/wpi/if_wpi.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/cd9660/cd9660_rrip.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/devfs/devfs_devs.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/ntfs/ntfs_ihash.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_apm.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_bsd.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_gpt.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_if.m#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_pc98.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/part/g_part_vtoc8.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/vinum/geom_vinum_subr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/i386/bpf_jit_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/i386/bpf_jit_machdep.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/include/iodev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/i386/include/pecoff_machdep.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/ia64/include/ia64_cpu.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/ia64/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_alq.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_conf.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_cpuset.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_dtrace.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_event.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_fork.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_intr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_jail.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_malloc.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_mib.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_poll.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_umtx.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/kern_xxx.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/link_elf.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/stack_protector.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/kern/subr_bus.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/subr_param.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_debug.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_export.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/adm5120_machdep.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/adm5120reg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/admpci.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/console.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/files.adm5120#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/if_admsw.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/if_admswreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/if_admswvar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/obio.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/obiovar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/std.adm5120#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/uart_bus_adm5120.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/uart_cpu_adm5120.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/uart_dev_adm5120.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/adm5120/uart_dev_adm5120.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/files.idt#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/idt_machdep.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/idtpci.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/idtreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/if_kr.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/if_krreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/obio.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/obiovar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/std.idt#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/uart_bus_rc32434.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/idt/uart_cpu_rc32434.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/include/iodev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/mips/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/mips/include/pte.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/files.malta#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/gt.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/gt_pci.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/gtreg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/gtvar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/malta_machdep.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/maltareg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/obio.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/obiovar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/std.malta#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/uart_bus_maltausart.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/uart_cpu_maltausart.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/yamon.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/malta/yamon.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/mips/pmap.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/mips/mips/trap.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/adm5120_machdep.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/adm5120reg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/admpci.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/console.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/files.adm5120#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/if_admsw.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/if_admswreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/if_admswvar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/obio.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/obiovar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/std.adm5120#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/files.idt#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/idt_machdep.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/idtpci.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/idtreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/if_kr.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/if_krreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/obio.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/obiovar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/std.idt#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/uart_bus_rc32434.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/idt/uart_cpu_rc32434.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/files.malta#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/gt.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/gt_pci.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/gtreg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/gtvar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/malta_machdep.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/maltareg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/obio.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/obiovar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/std.malta#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/uart_bus_maltausart.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/uart_cpu_maltausart.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/yamon.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/malta/yamon.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/files.sentry5#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/obio.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/obiovar.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/s5_machdep.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/s5reg.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/siba_cc.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/siba_mips.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/siba_sdram.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/files.sentry5#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/obio.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/obiovar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/s5_machdep.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/s5reg.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/siba_cc.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/siba_mips.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/siba_sdram.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/uart_bus_sbusart.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/mips/sentry5/uart_cpu_sbusart.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/modules/Makefile#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/modules/arl/Makefile#2 delete .. //depot/projects/soc2008/snagg-audit/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/modules/bm/Makefile#1 branch .. //depot/projects/soc2008/snagg-audit/sys/modules/cnw/Makefile#2 delete .. //depot/projects/soc2008/snagg-audit/sys/modules/et/Makefile#1 branch .. //depot/projects/soc2008/snagg-audit/sys/modules/ixgbe/Makefile#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/modules/mii/Makefile#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/modules/nfslockd/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/modules/oltr/Makefile#2 delete .. //depot/projects/soc2008/snagg-audit/sys/modules/pecoff/Makefile#2 delete .. //depot/projects/soc2008/snagg-audit/sys/modules/ralfw/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/modules/sbni/Makefile#2 delete .. //depot/projects/soc2008/snagg-audit/sys/modules/sbsh/Makefile#2 delete .. //depot/projects/soc2008/snagg-audit/sys/modules/sem/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/bpf.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/bpf.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/bpf_zerocopy.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/bpf_zerocopy.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_bridge.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_gre.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_gre.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_lagg.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_loop.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_ppp.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_tap.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_tun.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/if_var.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/netisr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/netisr.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/raw_cb.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/raw_cb.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/raw_usrreq.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/net/rtsock.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net80211/ieee80211_node.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/net80211/ieee80211_var.h#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/netatalk/ddp_usrreq.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/bluetooth/include/ng_bluetooth.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netgraph/ng_ip_input.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/if_ether.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/in.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/in_pcb.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_gre.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_input.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/libalias/alias.c#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/libalias/alias_db.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/libalias/alias_ftp.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/raw_ip.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_asconf.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_auth.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_bsd_addr.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_cc_functions.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_crc32.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_header.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_indata.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_input.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_lock_bsd.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_os_bsd.h#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_output.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_pcb.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_peeloff.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_sysctl.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_sysctl.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_timer.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_uio.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctp_var.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctputil.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/sctputil.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_lro.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_lro.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_syncache.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/frag6.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/icmp6.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_ifattach.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_pcb.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_rmx.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/in6_src.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/ip6_forward.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/ip6_input.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/raw_ip6.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/sctp6_var.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/netipsec/key.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netipsec/keysock.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netipx/ipx_input.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/netnatm/natm_proto.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfs.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfsmount.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nfsserver/nfs_syscalls.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nlm/nlm.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nlm/nlm_advlock.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/nlm/nlm_prot.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nlm/nlm_prot_clnt.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/nlm/nlm_prot_impl.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/nlm/nlm_prot_server.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/pc98/conf/GENERIC#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/pc98/include/bus.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/pc98/include/pecoff_machdep.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/pc98/pc98/busiosubr.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/pci/if_rl.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/pci/if_rlreg.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/pci/nfsmb.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/pci/viapm.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/booke/pmap.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/conf/GENERIC#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/conf/NOTES#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/include/dbdma.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/powerpc/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/dbdma.c#1 branch .. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/dbdmavar.h#1 branch .. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/macio.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/auth_unix.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/authunix_prot.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/clnt.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/clnt_dg.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/clnt_rc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/clnt_vc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/rpcb_clnt.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/rpc/svc_vc.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_pipe.c#26 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_worker.c#6 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac/mac_inet.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac/mac_policy.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac_stub/mac_stub.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/security/mac_test/mac_test.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sparc64/conf/GENERIC#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/sparc64/include/in_cksum.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sparc64/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sparc64/sparc64/in_cksum.c#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sun4v/conf/GENERIC#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/sun4v/include/in_cksum.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sun4v/include/memdev.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/apm.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/bus.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/conf.h#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/event.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/fcntl.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/file.h#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/ioctl.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/ioctl_compat.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/jail.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/kernel.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/ksem.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/link_elf.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/lockf.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/mount.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/param.h#5 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/priv.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/semaphore.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/socketvar.h#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/systm.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/ttychars.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/sys/ttydev.h#2 delete .. //depot/projects/soc2008/snagg-audit/sys/sys/umtx.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/sys/user.h#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/vm/swap_pager.c#3 integrate .. //depot/projects/soc2008/snagg-audit/sys/vm/vm_kern.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/vm/vm_kern.h#2 integrate .. //depot/projects/soc2008/snagg-audit/sys/vm/vm_map.c#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/vm/vnode_pager.c#3 integrate .. //depot/projects/soc2008/snagg-audit/tools/regression/fifo/fifo_create/fifo_create.c#2 integrate .. //depot/projects/soc2008/snagg-audit/tools/regression/file/flock/flock.c#2 integrate .. //depot/projects/soc2008/snagg-audit/tools/regression/lib/libc/stdio/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/tools/regression/lib/libc/stdio/test-print-positional.c#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/lib/libc/stdio/test-scanfloat.c#2 integrate .. //depot/projects/soc2008/snagg-audit/tools/regression/lib/msun/Makefile#2 integrate .. //depot/projects/soc2008/snagg-audit/tools/regression/lib/msun/test-fmaxmin.c#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/lib/msun/test-fmaxmin.t#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/posixsem/Makefile#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/posixsem/posixsem.c#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/posixsem/posixsem.t#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/posixsem/test.c#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/posixsem/test.h#1 branch .. //depot/projects/soc2008/snagg-audit/tools/regression/posixshm/test.c#2 integrate Differences ... ==== //depot/projects/soc2008/snagg-audit/sys/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.49 2008/05/26 10:39:52 bz Exp $ +# $FreeBSD: src/sys/Makefile,v 1.50 2008/07/10 16:03:24 obrien Exp $ .include @@ -12,9 +12,12 @@ gnu isa kern libkern modules net net80211 netatalk \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \ - pci rpc security sys ufs vm ${ARCHDIR} - -ARCHDIR ?= ${MACHINE} + pci rpc security sys ufs vm ${CSCOPE_ARCHDIR} +.if defined(ALL_ARCH) +CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips powerpc sparc64 +.else +CSCOPE_ARCHDIR ?= ${MACHINE} +.endif # Loadable kernel modules ==== //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/bpf_jit_machdep.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.4 2006/01/03 20:26:02 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.6 2008/06/24 20:12:12 jkim Exp $"); #include "opt_bpf.h" @@ -132,11 +132,11 @@ /* create the procedure header */ PUSH(RBP); - MOVrq(RBP, RSP); - MOVoqd(RBP, -8, ESI); - MOVoqd(RBP, -12, EDX); + MOVrq(RSP, RBP); + MOVdoq(ESI, -8, RBP); + MOVdoq(EDX, -12, RBP); PUSH(RBX); - MOVrq(RBX, RDI); + MOVrq(RDI, RBX); for (i = 0; i < nins; i++) { stream.bpf_pc++; @@ -146,7 +146,7 @@ return NULL; case BPF_RET|BPF_K: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); POP(RBX); LEAVE_RET(); break; @@ -157,119 +157,119 @@ break; case BPF_LD|BPF_W|BPF_ABS: - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LD|BPF_W|BPF_LEN: - MOVodd(EAX, RBP, -8); + MOVoqd(-8, RBP, EAX); break; case BPF_LDX|BPF_W|BPF_LEN: - MOVodd(EDX, RBP, -8); + MOVoqd(-8, RBP, EDX); break; case BPF_LD|BPF_W|BPF_IND: - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LDX|BPF_MSH|BPF_B: - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - ZERO_EDX(); - MOVobb(DL, RBX, RCX); - ANDib(DL, 0xf); - SHLib(EDX, 2); + ZEROrd(EDX); + MOVobb(RBX, RCX, DL); + ANDib(0xf, DL); + SHLib(2, EDX); break; case BPF_LD|BPF_IMM: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); break; case BPF_LDX|BPF_IMM: - MOVid(EDX, ins->k); + MOVid(ins->k, EDX); break; case BPF_LD|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EAX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EAX); break; case BPF_LDX|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EDX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EDX); break; case BPF_ST: @@ -278,15 +278,15 @@ * be optimized if the previous instruction * was already of this type */ - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EAX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EAX, RCX, RSI); break; case BPF_STX: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EDX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EDX, RCX, RSI); break; case BPF_JMP|BPF_JA: @@ -295,7 +295,7 @@ break; case BPF_JMP|BPF_JGT|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); /* 5 is the size of the following JMP */ JG(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5 ); @@ -304,7 +304,7 @@ break; case BPF_JMP|BPF_JGE|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JGE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -312,7 +312,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -320,8 +320,8 @@ break; case BPF_JMP|BPF_JSET|BPF_K: - MOVrd(ECX, EAX); - ANDid(ECX, ins->k); + MOVrd(EAX, ECX); + ANDid(ins->k, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -329,7 +329,7 @@ break; case BPF_JMP|BPF_JGT|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JA(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -337,7 +337,7 @@ break; case BPF_JMP|BPF_JGE|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JAE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -345,7 +345,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -353,8 +353,8 @@ break; case BPF_JMP|BPF_JSET|BPF_X: - MOVrd(ECX, EAX); - ANDrd(ECX, EDX); + MOVrd(EAX, ECX); + ANDrd(EDX, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -362,46 +362,46 @@ break; case BPF_ALU|BPF_ADD|BPF_X: - ADDrd(EAX, EDX); + ADDrd(EDX, EAX); break; case BPF_ALU|BPF_SUB|BPF_X: - SUBrd(EAX, EDX); + SUBrd(EDX, EAX); break; case BPF_ALU|BPF_MUL|BPF_X: + MOVrd(EDX, ECX); + MULrd(EDX); MOVrd(ECX, EDX); - MULrd(EDX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_DIV|BPF_X: - CMPid(EDX, 0); + CMPid(0, EDX); JNEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); + MOVrd(EDX, ECX); + ZEROrd(EDX); + DIVrd(ECX); MOVrd(ECX, EDX); - ZERO_EDX(); - DIVrd(ECX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_AND|BPF_X: - ANDrd(EAX, EDX); + ANDrd(EDX, EAX); break; case BPF_ALU|BPF_OR|BPF_X: - ORrd(EAX, EDX); + ORrd(EDX, EAX); break; case BPF_ALU|BPF_LSH|BPF_X: - MOVrd(ECX, EDX); + MOVrd(EDX, ECX); SHL_CLrb(EAX); break; case BPF_ALU|BPF_RSH|BPF_X: - MOVrd(ECX, EDX); + MOVrd(EDX, ECX); SHR_CLrb(EAX); break; @@ -414,34 +414,34 @@ break; case BPF_ALU|BPF_MUL|BPF_K: + MOVrd(EDX, ECX); + MOVid(ins->k, EDX); + MULrd(EDX); MOVrd(ECX, EDX); - MOVid(EDX, ins->k); - MULrd(EDX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_DIV|BPF_K: + MOVrd(EDX, ECX); + ZEROrd(EDX); + MOVid(ins->k, ESI); + DIVrd(ESI); MOVrd(ECX, EDX); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 13 18:53:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E58C1065673; Sun, 13 Jul 2008 18:53:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52832106566B for ; Sun, 13 Jul 2008 18:53:57 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3A2558FC08 for ; Sun, 13 Jul 2008 18:53:57 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DIrveL035809 for ; Sun, 13 Jul 2008 18:53:57 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DIrvhG035807 for perforce@freebsd.org; Sun, 13 Jul 2008 18:53:57 GMT (envelope-from marcel@freebsd.org) Date: Sun, 13 Jul 2008 18:53:57 GMT Message-Id: <200807131853.m6DIrvhG035807@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 145167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 18:53:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=145167 Change 145167 by marcel@marcel_xcllnt on 2008/07/13 18:53:06 Revert probing to what it was before. The previous commit was to fix the non-PnP case, but actually broke it. I know this works on i386, so if non-PnP probing is broken on PC98 then we'd better dig into it. While here, remove RSA-98III. Now that I know more on the subject, I think it's much better to create a rsa(4) driver that serves as an umbrella. This means that a new bus attachment will be created. Since the RSA hardware is commented-out in the standard hints file on PC98, I assume the hardware is less common/standard than i8251. As such, it'll will have to wait until i8251 hardware is supported. Affected files ... .. //depot/projects/uart/dev/uart/uart_bus_isa.c#14 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_bus_isa.c#14 (text+ko) ==== @@ -65,7 +65,6 @@ {0x0205d041, "Multiport serial device (non-intelligent 16550)"}, /* PNP0502 */ {0x1005d041, "Generic IRDA-compatible device"}, /* PNP0510 */ {0x1105d041, "Generic IRDA-compatible device"}, /* PNP0511 */ - {0x0100e4a5, "RSA-98III"}, /* Devices that do not have a compatid */ {0x12206804, NULL}, /* ACH2012 - 5634BTS 56K Video Ready Modem */ {0x7602a904, NULL}, /* AEI0276 - 56K v.90 Fax Modem (LKT) */ @@ -170,7 +169,7 @@ sc = device_get_softc(dev); /* Probe PnP _and_ non-PnP ns8250 here. */ - if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) == 0) { + if (ISA_PNP_PROBE(parent, dev, isa_ns8250_ids) != ENXIO) { sc->sc_class = &uart_ns8250_class; return (uart_bus_probe(dev, 0, 0, 0, 0)); } From owner-p4-projects@FreeBSD.ORG Sun Jul 13 20:11:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 222221065683; Sun, 13 Jul 2008 20:11:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA5CC1065682 for ; Sun, 13 Jul 2008 20:11:16 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C30688FC1B for ; Sun, 13 Jul 2008 20:11:16 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DKBGp9046983 for ; Sun, 13 Jul 2008 20:11:16 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DKBGEu046981 for perforce@freebsd.org; Sun, 13 Jul 2008 20:11:16 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 13 Jul 2008 20:11:16 GMT Message-Id: <200807132011.m6DKBGEu046981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145177 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 20:11:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=145177 Change 145177 by ed@ed_dull on 2008/07/13 20:10:54 Now sys/ioctl_compat.h contains no more valid items that we need outside the kernel, make it cause an error when included. Affected files ... .. //depot/projects/mpsafetty/sys/sys/ioctl_compat.h#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/ioctl_compat.h#2 (text+ko) ==== @@ -38,7 +38,9 @@ #ifndef _SYS_IOCTL_COMPAT_H_ #define _SYS_IOCTL_COMPAT_H_ -#ifdef _KERNEL +#ifndef _KERNEL +#error "no user-servicable parts inside" +#endif /* !_KERNEL */ struct tchars { char t_intrc; /* interrupt */ @@ -147,6 +149,4 @@ #define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars*/ #define OTIOCCONS _IO('t', 98) /* for hp300 -- sans int arg */ -#endif /* _KERNEL */ - #endif /* !_SYS_IOCTL_COMPAT_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Jul 13 23:41:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 10BFF1065678; Sun, 13 Jul 2008 23:41:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C89861065671 for ; Sun, 13 Jul 2008 23:41:45 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B1EDF8FC13 for ; Sun, 13 Jul 2008 23:41:45 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DNfXwL079573 for ; Sun, 13 Jul 2008 23:41:33 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DNfQUK079564 for perforce@freebsd.org; Sun, 13 Jul 2008 23:41:26 GMT (envelope-from snagg@FreeBSD.org) Date: Sun, 13 Jul 2008 23:41:26 GMT Message-Id: <200807132341.m6DNfQUK079564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 145181 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 23:41:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=145181 Change 145181 by snagg@snagg_macosx on 2008/07/13 23:40:36 Fixed some typos, added the ability to get a complete record with a GET on a specific pid. Change name conventions. Affected files ... .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_ioctl.h#17 edit .. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_pipe.c#27 edit Differences ... ==== //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_ioctl.h#17 (text) ==== @@ -38,11 +38,9 @@ * structures, add new revised ones to be used by new ioctls, and keep the * old structures and ioctls for backwards compatibility. */ - -struct auditpipe_ioctl_preselect_pid { - au_id_t aip_auid; - au_mask_t aip_mask; - pid_t app_pid; +struct auditpipe_ioctl_preselect_proc { + int aipp_flag; + pid_t aipp_pid; }; struct auditpipe_ioctl_preselect{ @@ -55,7 +53,7 @@ */ #define AUDITPIPE_PRESELECT_MODE_TRAIL 1 /* Global audit trail. */ #define AUDITPIPE_PRESELECT_MODE_LOCAL 2 /* Local audit trail. */ -#define AUDITPIPE_PRESELECT_MODE_PID 3 /*Pid based audit trail*/ +#define AUDITPIPE_PRESELECT_MODE_PROC 3 /* Pid based audit trail. */ /* * Ioctls to read and control the behavior of individual audit pipe devices. @@ -79,12 +77,12 @@ #define AUDITPIPE_SET_PRESELECT_MODE _IOW(AUDITPIPE_IOBASE, 15, int) #define AUDITPIPE_FLUSH _IO(AUDITPIPE_IOBASE, 16) #define AUDITPIPE_GET_MAXAUDITDATA _IOR(AUDITPIPE_IOBASE, 17, u_int) -#define AUDITPIPE_GET_PRESELECT_PID _IOR(AUDITPIPE_IOBASE, 18, \ - struct auditpipe_ioctl_preselect_pid) -#define AUDITPIPE_SET_PRESELECT_PID _IOW(AUDITPIPE_IOBASE, 19, \ - struct auditpipe_ioctl_preselect_pid) -#define AUDITPIPE_DELETE_PRESELECT_PID _IOW(AUDITPIPE_IOBASE, 20, pid_t) -#define AUDITPIPE_FLUSH_PRESELECT_PID _IO(AUDITPIPE_IOBASE, 21) +#define AUDITPIPE_GET_PRESELECT_PROC _IOWR(AUDITPIPE_IOBASE, 18, \ + struct auditpipe_ioctl_preselect_proc) +#define AUDITPIPE_SET_PRESELECT_PROC _IOW(AUDITPIPE_IOBASE, 19, \ + struct auditpipe_ioctl_preselect_proc) +#define AUDITPIPE_DELETE_PRESELECT_PROC _IOW(AUDITPIPE_IOBASE, 20, pid_t) +#define AUDITPIPE_FLUSH_PRESELECT_PROC _IO(AUDITPIPE_IOBASE, 21) /* * Ioctls to retrieve audit pipe statistics. ==== //depot/projects/soc2008/snagg-audit/sys/security/audit/audit_pipe.c#27 (text) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/security/audit/audit_pipe.c,v 1.16 2008/06/11 18:55:19 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/security/audit/audit_pipe.c,v 1.15 2008/04/13 22:06:56 rwatson Exp $"); #include #include @@ -96,12 +96,11 @@ * We may want to consider a more space/time-efficient data structure once * usage patterns for per-auid specifications are clear. */ - struct audit_pipe_preselect { au_id_t app_auid; au_mask_t app_mask; pid_t app_pid; - int app_event_len; + int app_flag; TAILQ_ENTRY(audit_pipe_preselect) app_list; }; @@ -180,7 +179,7 @@ static struct cdevsw audit_pipe_cdevsw = { .d_version = D_VERSION, - .d_flags = D_PSEUDO | D_NEEDGIANT | D_NEEDMINOR, + .d_flags = D_PSEUDO | D_NEEDGIANT, .d_open = audit_pipe_open, .d_close = audit_pipe_close, .d_read = audit_pipe_read, @@ -218,24 +217,21 @@ free(ape->ape_record, M_AUDIT_PIPE_ENTRY); free(ape, M_AUDIT_PIPE_ENTRY); } - /* - * Find an audit pipe preselection specification for a pid, - * if any. + * Find an audit pipe preselection specification for a pid, if any. */ static struct audit_pipe_preselect * -audit_pipe_preselect_find_pid(struct audit_pipe *ap, pid_t app_pid) +audit_pipe_preselect_find_proc(struct audit_pipe *ap, pid_t app_pid) { struct audit_pipe_preselect *app; mtx_assert(&audit_pipe_mtx, MA_OWNED); TAILQ_FOREACH(app, &ap->ap_preselect_list, app_list) { - if(app->app_pid == app_pid) + if (app->app_pid == app_pid) return (app); } - return (NULL); } @@ -278,62 +274,65 @@ } /* - * Check if there's an entry for a given pid + * Check if there's an entry for a given pid. */ static int -audit_pipe_preselect_get_pid(struct audit_pipe *ap, pid_t pid) +audit_pipe_preselect_get_proc(struct audit_pipe *ap, pid_t pid, + struct auditpipe_ioctl_preselect_proc *aipp) { struct audit_pipe_preselect *app; int error; mtx_lock(&audit_pipe_mtx); - app = audit_pipe_preselect_find_pid(ap, pid); - if(app != NULL) + app = audit_pipe_preselect_find_proc(ap, pid); + if (app != NULL) { + aipp->aipp_pid = pid; + aipp->aipp_flag = app->app_flag; error = 0; - else + }else error = ENOENT; mtx_unlock(&audit_pipe_mtx); - return(error); + return (error); } /* * Add a new entry for a specifc event. Add a new entry if needed; * otherwise, update the current entry. */ -static void -audit_pipe_preselect_set_pid(struct audit_pipe *ap, pid_t app_pid) +static int +audit_pipe_preselect_set_proc(struct audit_pipe *ap, + struct auditpipe_ioctl_preselect_proc *aipp) { struct audit_pipe_preselect *app, *app_new; - int found; - + + if (aipp->aipp_pid < 0) + return (EINVAL); - KASSERT(app_pid >= 0, ("Pid is invalid")); - /* - * Pessimistically assume that the entry for this pid doesn't - * exist, and allocate. We will free it if it is unneeded. + * Pessimistically assume that the entry for this pid doesn't exist, + * and allocate. We will free it if it is unneeded. */ app_new = malloc(sizeof(*app_new), M_AUDIT_PIPE_PRESELECT, M_WAITOK); - mtx_lock(&audit_pipe_mtx); - + /* - * Search for the entry by its pid + * Search for the entry by its pid. */ - app = audit_pipe_preselect_find_pid(ap, app_pid); - found = (app != NULL) ? 1: 0; - if(!found) { + app = audit_pipe_preselect_find_proc(ap, aipp->aipp_pid); + if (app == NULL) { app = app_new; app_new = NULL; - app->app_pid = app_pid; + app->app_pid = aipp->aipp_pid; + app->app_flag = aipp->aipp_flag; TAILQ_INSERT_TAIL(&ap->ap_preselect_list, app, app_list); - } + } mtx_unlock(&audit_pipe_mtx); - if (app_new != NULL) { + if (app_new != NULL) free(app_new, M_AUDIT_PIPE_PRESELECT); - } + + return (0); } /* @@ -368,12 +367,12 @@ * Delete a per-pid entry on an audit pipe wiping the whole entry. */ static int -audit_pipe_preselect_delete_pid(struct audit_pipe *ap, pid_t pid) +audit_pipe_preselect_delete_proc(struct audit_pipe *ap, pid_t pid) { struct audit_pipe_preselect *app; mtx_lock(&audit_pipe_mtx); - app = audit_pipe_preselect_find_pid(ap, pid); + app = audit_pipe_preselect_find_proc(ap, pid); if (app != NULL) { TAILQ_REMOVE(&ap->ap_preselect_list, app, app_list); mtx_unlock(&audit_pipe_mtx); @@ -381,7 +380,6 @@ return (0); } else mtx_unlock(&audit_pipe_mtx); - return (ENOENT); } @@ -408,32 +406,6 @@ } /* - * Delete all per-events entry on an audit pipe. - */ -static void -audit_pipe_preselect_pid_flush_locked(struct audit_pipe *ap) -{ - struct audit_pipe_preselect *app; - - mtx_assert(&audit_pipe_mtx, MA_OWNED); - - while ((app = TAILQ_FIRST(&ap->ap_preselect_list)) != NULL) { - TAILQ_REMOVE(&ap->ap_preselect_list, app, app_list); - if (app != NULL) - free(app, M_AUDIT_PIPE_PRESELECT); - } -} - -static void -audit_pipe_preselect_pid_flush(struct audit_pipe *ap) -{ - - mtx_lock(&audit_pipe_mtx); - audit_pipe_preselect_pid_flush_locked(ap); - mtx_unlock(&audit_pipe_mtx); -} - -/* * Delete all per-auid masks on an audit pipe. */ static void @@ -493,10 +465,10 @@ } else return (au_preselect(event, class, &app->app_mask, sorf)); - - case AUDITPIPE_PRESELECT_MODE_PID: - app = audit_pipe_preselect_find_pid(ap, app_pid); - if(app != NULL) + + case AUDITPIPE_PRESELECT_MODE_PROC: + app = audit_pipe_preselect_find_proc(ap, app_pid); + if (app != NULL) return (1); else break; @@ -825,7 +797,7 @@ struct thread *td) { struct auditpipe_ioctl_preselect *aip; - struct auditpipe_ioctl_preselect_pid *aip_pid; + struct auditpipe_ioctl_preselect_proc *aip_pid; struct audit_pipe *ap; au_mask_t *maskp; int error, mode; @@ -948,18 +920,17 @@ error = audit_pipe_preselect_get(ap, aip->aip_auid, &aip->aip_mask); break; - - case AUDITPIPE_GET_PRESELECT_PID: - aip_pid = (struct auditpipe_ioctl_preselect_pid *)data; - error = audit_pipe_preselect_get_pid(ap, aip_pid->app_pid); + + case AUDITPIPE_GET_PRESELECT_PROC: + aip_pid = (struct auditpipe_ioctl_preselect_proc *)data; + error = audit_pipe_preselect_get_proc(ap, aip_pid->aipp_pid, aip_pid); break; - case AUDITPIPE_SET_PRESELECT_PID: - aip_pid = (struct auditpipe_ioctl_preselect_pid *)data; - audit_pipe_preselect_set_pid(ap, aip_pid->app_pid); - error = 0; + case AUDITPIPE_SET_PRESELECT_PROC: + aip_pid = (struct auditpipe_ioctl_preselect_proc *)data; + error = audit_pipe_preselect_set_proc(ap, aip_pid); break; - + case AUDITPIPE_SET_PRESELECT_AUID: aip = (struct auditpipe_ioctl_preselect *)data; audit_pipe_preselect_set(ap, aip->aip_auid, aip->aip_mask); @@ -971,21 +942,17 @@ error = audit_pipe_preselect_delete(ap, auid); break; - case AUDITPIPE_DELETE_PRESELECT_PID: + case AUDITPIPE_DELETE_PRESELECT_PROC: app_pid = *(pid_t *)data; - error = audit_pipe_preselect_delete_pid(ap, app_pid); + error = audit_pipe_preselect_delete_proc(ap, app_pid); break; - + case AUDITPIPE_FLUSH_PRESELECT_AUID: + case AUDITPIPE_FLUSH_PRESELECT_PROC: audit_pipe_preselect_flush(ap); error = 0; break; - case AUDITPIPE_FLUSH_PRESELECT_PID: - audit_pipe_preselect_pid_flush(ap); - error = 0; - break; - case AUDITPIPE_GET_PRESELECT_MODE: mtx_lock(&audit_pipe_mtx); *(int *)data = ap->ap_preselect_mode; @@ -998,7 +965,8 @@ switch (mode) { case AUDITPIPE_PRESELECT_MODE_TRAIL: case AUDITPIPE_PRESELECT_MODE_LOCAL: - case AUDITPIPE_PRESELECT_MODE_PID: + case AUDITPIPE_PRESELECT_MODE_PROC: + audit_pipe_preselect_flush(ap); mtx_lock(&audit_pipe_mtx); ap->ap_preselect_mode = mode; mtx_unlock(&audit_pipe_mtx); From owner-p4-projects@FreeBSD.ORG Sun Jul 13 23:41:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50C3C1065739; Sun, 13 Jul 2008 23:41:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB23F1065674 for ; Sun, 13 Jul 2008 23:41:45 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D58118FC18 for ; Sun, 13 Jul 2008 23:41:45 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6DNfjkP079593 for ; Sun, 13 Jul 2008 23:41:45 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6DNfjva079591 for perforce@freebsd.org; Sun, 13 Jul 2008 23:41:45 GMT (envelope-from snagg@FreeBSD.org) Date: Sun, 13 Jul 2008 23:41:45 GMT Message-Id: <200807132341.m6DNfjva079591@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 145182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2008 23:41:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=145182 Change 145182 by snagg@snagg_macosx on 2008/07/13 23:41:11 IFC Affected files ... .. //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/soc2008/snagg-audit/sys/conf/newvers.sh#4 integrate .. //depot/projects/soc2008/snagg-audit/sys/kern/subr_stack.c#2 integrate Differences ... ==== //depot/projects/soc2008/snagg-audit/sys/amd64/amd64/pmap.c#7 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.631 2008/07/12 21:24:42 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $"); /* * Manages physical address maps. @@ -1041,17 +1041,25 @@ vm_paddr_t pmap_kextract(vm_offset_t va) { - pd_entry_t *pde; + pd_entry_t pde; vm_paddr_t pa; if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) { pa = DMAP_TO_PHYS(va); } else { - pde = vtopde(va); - if (*pde & PG_PS) { - pa = (*pde & PG_PS_FRAME) | (va & PDRMASK); + pde = *vtopde(va); + if (pde & PG_PS) { + pa = (pde & PG_PS_FRAME) | (va & PDRMASK); } else { - pa = *vtopte(va); + /* + * Beware of a concurrent promotion that changes the + * PDE at this point! For example, vtopte() must not + * be used to access the PTE because it would use the + * new PDE. It is, however, safe to use the old PDE + * because the page table page is preserved by the + * promotion. + */ + pa = *pmap_pde_to_pte(&pde, va); pa = (pa & PG_FRAME) | (va & PAGE_MASK); } } ==== //depot/projects/soc2008/snagg-audit/sys/conf/newvers.sh#4 (text+ko) ==== @@ -28,7 +28,7 @@ # SUCH DAMAGE. # # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 -# $FreeBSD: src/sys/conf/newvers.sh,v 1.75 2008/06/08 19:46:23 dougb Exp $ +# $FreeBSD: src/sys/conf/newvers.sh,v 1.76 2008/07/13 20:08:38 dougb Exp $ TYPE="FreeBSD" REVISION="8.0" @@ -97,7 +97,7 @@ done if [ -n "$svnversion" -a -d "${SRCDIR}/.svn" ] ; then - svn=" @`cd $SRCDIR && $svnversion`" + svn=" r`cd $SRCDIR && $svnversion`" else svn="" fi ==== //depot/projects/soc2008/snagg-audit/sys/kern/subr_stack.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/subr_stack.c,v 1.6 2007/12/03 14:44:35 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_stack.c,v 1.7 2008/07/13 17:15:19 svn Exp $"); #include #include @@ -40,7 +40,7 @@ #include #include -MALLOC_DEFINE(M_STACK, "stack", "Stack Traces"); +static MALLOC_DEFINE(M_STACK, "stack", "Stack Traces"); static void stack_symbol(vm_offset_t pc, char *namebuf, u_int buflen, long *offset); From owner-p4-projects@FreeBSD.ORG Mon Jul 14 03:37:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BFC001065673; Mon, 14 Jul 2008 03:37:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 838C41065670; Mon, 14 Jul 2008 03:37:57 +0000 (UTC) (envelope-from nyan@jp.FreeBSD.org) Received: from watery.cc.kogakuin.ac.jp (watery.cc.kogakuin.ac.jp [133.80.152.80]) by mx1.freebsd.org (Postfix) with ESMTP id 2644C8FC12; Mon, 14 Jul 2008 03:37:56 +0000 (UTC) (envelope-from nyan@jp.FreeBSD.org) Received: from localhost (localhost [IPv6:::1]) by watery.cc.kogakuin.ac.jp (unknown) with ESMTP id m6E3btqC035527; Mon, 14 Jul 2008 12:37:55 +0900 (JST) (envelope-from nyan@jp.FreeBSD.org) Date: Mon, 14 Jul 2008 12:37:43 +0900 (JST) Message-Id: <20080714.123743.191415597.nyan@jp.FreeBSD.org> To: marcel@freebsd.org From: Takahashi Yoshihiro In-Reply-To: <200807131853.m6DIrvhG035807@repoman.freebsd.org> References: <200807131853.m6DIrvhG035807@repoman.freebsd.org> X-Mailer: Mew version 6.1 on Emacs 22.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: perforce@freebsd.org Subject: Re: PERFORCE change 145167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 03:37:58 -0000 In article <200807131853.m6DIrvhG035807@repoman.freebsd.org> Marcel Moolenaar writes: > Revert probing to what it was before. The previous commit > was to fix the non-PnP case, but actually broke it. I know > this works on i386, so if non-PnP probing is broken on > PC98 then we'd better dig into it. You broke the non-PnP case on pc98 again. > it'll will have to wait until i8251 hardware is supported. Why? --- TAKAHASHI Yoshihiro From owner-p4-projects@FreeBSD.ORG Mon Jul 14 05:08:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 695DD1065671; Mon, 14 Jul 2008 05:08:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CF87106566B for ; Mon, 14 Jul 2008 05:08:36 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1E8F78FC0C for ; Mon, 14 Jul 2008 05:08:36 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6E58aBH035879 for ; Mon, 14 Jul 2008 05:08:36 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6E58KSm035868 for perforce@freebsd.org; Mon, 14 Jul 2008 05:08:20 GMT (envelope-from julian@freebsd.org) Date: Mon, 14 Jul 2008 05:08:20 GMT Message-Id: <200807140508.m6E58KSm035868@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 145189 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 05:08:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=145189 Change 145189 by julian@julian_trafmon1 on 2008/07/14 05:07:45 Slight cleanups after talking with Marko. Affected files ... .. //depot/projects/vimage/porting_to_vimage.txt#4 edit Differences ... ==== //depot/projects/vimage/porting_to_vimage.txt#4 (text+ko) ==== @@ -14,25 +14,42 @@ This generally requires NO changes to the network drivers of the classes covered (e.g. ethernet). -2/ If the module is to be virtualised, decide which attributes of the - module shoudl be virtualised. +2/ decide if your module is part of one of the major module groups. + These are V_GLOBAL V_NET V_PROCG V_CPU. + + The reader will note that the descriptions below use the acronym VNET + a lot. The vimage system has been at this time broken into a number of + subsections. One of these is the "VNET" group. The idea of these + subsections is that they might be individually selected as + virtualizable in a particular virtual machine instance. + + As an example, in a virtualization, one might to allocate a couple of + processors to it, but keep the saem filesystem and network setup, or + alternatively to share processors but to have virtualised networking. + + The current code has a "vnet" pointer in the thread. It could be argued + that it should actually be a vimage. + + [comments from Marko here] + +3/ If the module is to be virtualised, decide which attributes of the + module should be virtualised. - For example, It may make sense that ther ebe a single central pool + For example, It may make sense that there be a single central pool of "struct foo" and a single uma zone for them to come from, with a single - lock guarding it. it might also make sense if the "foo_debug" sysctl + lock guarding it. It might also make sense if the "foo_debug" sysctl controls all the instances at once, while on the other hand, the "foo_mode" sysctl might make better sense if it were controllable on a virtual system by virtual system basis. -3/ Work out what global variables and structures are to be virtualised to +4/ Work out what global variables and structures are to be virtualised to achieve the behaviour required for part #2. - -4/ Work out for all the code paths through the module, how the path entering +5/ Work out for all the code paths through the module, how the path entering the module can divine which virtual machine it is on. Some examples: - * Since interfaces are all assighed to one virtual machine or + * Since interfaces are all assigned to one virtual machine or another, an incoming packet has a pointer to the receive interface, which in turn has a pointer to the virtual machine instance. * Similarly, on any request from outside the kernel, (direct or indirect) @@ -51,13 +68,12 @@ required for the module to stash away the virtual machine instance somewhere, and make associated changes in the code. -5/ Add the code described below to the files that make up the module - +6/ Add the code described below to the files that make up the module - Details: (temp. for module FOO add a definition for VNET_MOD_FOO in sys/vimage.h) +For now these instructions refer mainly to VNET and not VCPU etc. Symbols defined in other modules that have been virtualised will have been moved to a module-specific virtualisation structure. It will be defined in a From owner-p4-projects@FreeBSD.ORG Mon Jul 14 06:47:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 981B41065672; Mon, 14 Jul 2008 06:47:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C392106566B for ; Mon, 14 Jul 2008 06:47:16 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FB128FC16 for ; Mon, 14 Jul 2008 06:47:16 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6E6lG9O047689 for ; Mon, 14 Jul 2008 06:47:16 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6E6lGu9047687 for perforce@freebsd.org; Mon, 14 Jul 2008 06:47:16 GMT (envelope-from julian@freebsd.org) Date: Mon, 14 Jul 2008 06:47:16 GMT Message-Id: <200807140647.m6E6lGu9047687@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 145196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 06:47:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=145196 Change 145196 by julian@julian_trafmon1 on 2008/07/14 06:47:13 Small tidyings Affected files ... .. //depot/projects/vimage/porting_to_vimage.txt#5 edit Differences ... ==== //depot/projects/vimage/porting_to_vimage.txt#5 (text+ko) ==== @@ -1,4 +1,9 @@ +July 13 2008 +Julian Elischer + +=================== Vimage: what is it? +=================== Vimage is a framework in the BSD kernel which allows a co-operating module to present multiple instances of itself so that it can participate @@ -72,7 +77,9 @@ Details: -(temp. for module FOO add a definition for VNET_MOD_FOO in sys/vimage.h) +temp. note: for module FOO add a definition for VNET_MOD_FOO in sys/vimage.h. +Thos will eventually be dynamically assigned. + For now these instructions refer mainly to VNET and not VCPU etc. Symbols defined in other modules that have been virtualised will have been @@ -156,9 +163,6 @@ routing tables for THIS virtual machine. (cute eh?) (of course that won't work for core dumps). (XXX *needs thought *) - - - As example of virtualising a dummy module named the FOO module the following code might be added to a special vfoo.h or at least to the exisitng foo.h file: @@ -195,8 +199,6 @@ functions are defined for the module. The Module will call these when a new virtual machine is created or destroyed. The constructor must be called once for the base machine when the system is booted, even when VIMAGE is not defined. - - ==================== in module foo.c ====== #include "opt_vimage.h" [...] @@ -251,7 +253,7 @@ { INIT_VNET_FOO(curvnet); /* Add this at the front */ - V_foo_counter++; /* add "V_" to teh front */ + V_foo_counter++; /* add "V_" to the front of the symbol */ [...] V_foo_barx.mumble = V_foo_counter; /* and here too */ [...] From owner-p4-projects@FreeBSD.ORG Mon Jul 14 07:24:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 718EA1065682; Mon, 14 Jul 2008 07:24:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C8A21065671 for ; Mon, 14 Jul 2008 07:24:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D14C8FC1B for ; Mon, 14 Jul 2008 07:24:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6E7OslB053430 for ; Mon, 14 Jul 2008 07:24:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6E7OsDT053428 for perforce@freebsd.org; Mon, 14 Jul 2008 07:24:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 14 Jul 2008 07:24:54 GMT Message-Id: <200807140724.m6E7OsDT053428@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 145200 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 07:24:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=145200 Change 145200 by hselasky@hselasky_laptop001 on 2008/07/14 07:24:41 There is a bug in the condition variable implementation that makes cv_xxx and mtx_sleep panic with no apparent reason when used together with the Giant mutex. I have a fix for this in the tree. But to make my USB stack work on older releases of FreeBSD, this patch is needed. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_busdma.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#15 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#13 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#9 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#13 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ufoma2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2_reg.h#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_busdma.c#2 (text+ko) ==== @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -389,7 +390,7 @@ if (isload) { (uptag->func) (uptag); } else { - cv_broadcast(uptag->cv); + usb2_cv_broadcast(uptag->cv); } if (!owned) mtx_unlock(uptag->mtx); @@ -476,7 +477,7 @@ pc, (BUS_DMA_WAITOK | BUS_DMA_COHERENT)); if (err == EINPROGRESS) { - cv_wait(uptag->cv, uptag->mtx); + usb2_cv_wait(uptag->cv, uptag->mtx); err = 0; } mtx_unlock(uptag->mtx); @@ -553,7 +554,7 @@ pc->tag, pc->map, pc->buffer, size, &usb2_pc_alloc_mem_cb, pc, BUS_DMA_WAITOK); if (err == EINPROGRESS) { - cv_wait(uptag->cv, uptag->mtx); + usb2_cv_wait(uptag->cv, uptag->mtx); err = 0; } mtx_unlock(uptag->mtx); @@ -1077,7 +1078,7 @@ } #ifdef __FreeBSD__ /* initialise condition variable */ - cv_init(udpt->cv, "USB DMA CV"); + usb2_cv_init(udpt->cv, "USB DMA CV"); #endif /* store some information */ @@ -1122,7 +1123,7 @@ if (udpt->utag_max) { #ifdef __FreeBSD__ /* destroy the condition variable */ - cv_destroy(udpt->cv); + usb2_cv_destroy(udpt->cv); #endif } return; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.c#6 (text+ko) ==== @@ -562,7 +562,7 @@ */ while (urb->transfer_flags & URB_WAIT_WAKEUP) { urb->transfer_flags |= URB_IS_SLEEPING; - err = mtx_sleep(urb, &Giant, 0, "USB Linux Wait", 0); + usb2_cv_wait(&(urb->cv_wait), &Giant); urb->transfer_flags &= ~URB_IS_SLEEPING; if (err) goto done; @@ -1006,6 +1006,8 @@ urb = malloc(size, M_USBDEV, M_WAITOK | M_ZERO); if (urb) { + + usb2_cv_init(&(urb->cv_wait), "URBWAIT"); if (iso_packets == 0xFFFF) { urb->setup_packet = (void *)(urb + 1); urb->transfer_buffer = (void *)(urb->setup_packet + @@ -1236,6 +1238,9 @@ /* make sure that the current URB is not active */ usb_kill_urb(urb); + /* destroy condition variable */ + usb2_cv_destroy(&(urb->cv_wait)); + /* just free it */ free(urb, M_USBDEV); return; @@ -1322,7 +1327,7 @@ usb_linux_wait_complete(struct urb *urb, struct pt_regs *pt_regs) { if (urb->transfer_flags & URB_IS_SLEEPING) { - wakeup(urb); + usb2_cv_signal(&(urb->cv_wait)); } urb->transfer_flags &= ~URB_WAIT_WAKEUP; return; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.h#3 (text+ko) ==== @@ -394,6 +394,7 @@ */ struct urb { TAILQ_ENTRY(urb) bsd_urb_list; + struct cv cv_wait; struct usb_device *dev; /* (in) pointer to associated device */ struct usb_host_endpoint *pipe; /* (in) pipe pointer */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#15 (text+ko) ==== @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -450,17 +451,17 @@ mtx_lock(&usb2_ref_lock); if (ploc->is_read) { if (--(ploc->rxfifo->refcount) == 0) { - cv_signal(&(ploc->rxfifo->cv_drain)); + usb2_cv_signal(&(ploc->rxfifo->cv_drain)); } } if (ploc->is_write) { if (--(ploc->txfifo->refcount) == 0) { - cv_signal(&(ploc->txfifo->cv_drain)); + usb2_cv_signal(&(ploc->txfifo->cv_drain)); } } if (ploc->is_uref) { if (--(ploc->udev->refcount) == 0) { - cv_signal(ploc->udev->default_cv + 1); + usb2_cv_signal(ploc->udev->default_cv + 1); } } mtx_unlock(&usb2_ref_lock); @@ -474,8 +475,8 @@ f = malloc(sizeof(*f), M_USBDEV, M_WAITOK | M_ZERO); if (f) { - cv_init(&f->cv_io, "FIFO-IO"); - cv_init(&f->cv_drain, "FIFO-DRAIN"); + usb2_cv_init(&f->cv_io, "FIFO-IO"); + usb2_cv_init(&f->cv_drain, "FIFO-DRAIN"); f->refcount = 1; } return (f); @@ -677,20 +678,20 @@ /* get I/O thread out of any sleep state */ if (f->flag_sleeping) { f->flag_sleeping = 0; - cv_broadcast(&f->cv_io); + usb2_cv_broadcast(&f->cv_io); } mtx_unlock(f->priv_mtx); /* wait for sync */ - cv_wait(&f->cv_drain, &usb2_ref_lock); + usb2_cv_wait(&f->cv_drain, &usb2_ref_lock); } mtx_unlock(&usb2_ref_lock); /* take care of closing the device here, if any */ usb2_fifo_close(f, curthread, 0); - cv_destroy(&f->cv_io); - cv_destroy(&f->cv_drain); + usb2_cv_destroy(&f->cv_io); + usb2_cv_destroy(&f->cv_drain); free(f, M_USBDEV); return; @@ -885,7 +886,7 @@ (!f->flag_iserror)) { /* wait until all data has been written */ f->flag_sleeping = 1; - err = cv_wait_sig(&(f->cv_io), f->priv_mtx); + err = usb2_cv_wait_sig(&(f->cv_io), f->priv_mtx); if (err) { DPRINTF(0, "signal received\n"); break; @@ -1694,7 +1695,7 @@ } f->flag_sleeping = 1; - err = cv_wait_sig(&(f->cv_io), f->priv_mtx); + err = usb2_cv_wait_sig(&(f->cv_io), f->priv_mtx); if (f->flag_iserror) { /* we are gone */ @@ -1708,7 +1709,7 @@ { if (f->flag_sleeping) { f->flag_sleeping = 0; - cv_broadcast(&(f->cv_io)); + usb2_cv_broadcast(&(f->cv_io)); } return; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#13 (text+ko) ==== @@ -1307,8 +1307,8 @@ /* initialise our SX-lock */ sx_init(udev->default_sx + 1, "USB config SX lock"); - cv_init(udev->default_cv, "WCTRL"); - cv_init(udev->default_cv + 1, "UGONE"); + usb2_cv_init(udev->default_cv, "WCTRL"); + usb2_cv_init(udev->default_cv + 1, "UGONE"); /* initialise our mutex */ mtx_init(udev->default_mtx, "USB device mutex", NULL, MTX_DEF); @@ -1669,7 +1669,7 @@ mtx_lock(&usb2_ref_lock); udev->refcount--; while (udev->refcount != 0) { - cv_wait(udev->default_cv + 1, &usb2_ref_lock); + usb2_cv_wait(udev->default_cv + 1, &usb2_ref_lock); } mtx_unlock(&usb2_ref_lock); @@ -1692,8 +1692,8 @@ sx_destroy(udev->default_sx); sx_destroy(udev->default_sx + 1); - cv_destroy(udev->default_cv); - cv_destroy(udev->default_cv + 1); + usb2_cv_destroy(udev->default_cv); + usb2_cv_destroy(udev->default_cv + 1); mtx_destroy(udev->default_mtx); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#3 (text+ko) ==== @@ -217,7 +217,7 @@ sc->error = error; sc->state = ST_COMMAND; sc->status_try = 1; - cv_signal(&(sc->cv)); + usb2_cv_signal(&(sc->cv)); return; } @@ -460,7 +460,7 @@ usb2_transfer_start(sc->xfer[sc->state]); while (usb2_transfer_pending(sc->xfer[sc->state])) { - cv_wait(&(sc->cv), &(sc->mtx)); + usb2_cv_wait(&(sc->cv), &(sc->mtx)); } return (sc->error); } @@ -517,7 +517,7 @@ return (USB_ERR_NOMEM); } mtx_init(&(sc->mtx), "USB autoinstall", NULL, MTX_DEF); - cv_init(&(sc->cv), "WBBB"); + usb2_cv_init(&(sc->cv), "WBBB"); err = usb2_transfer_setup(udev, &iface_index, sc->xfer, bbb_config, @@ -559,7 +559,7 @@ mtx_unlock(&(sc->mtx)); usb2_transfer_unsetup(sc->xfer, ST_MAX); mtx_destroy(&(sc->mtx)); - cv_destroy(&(sc->cv)); + usb2_cv_destroy(&(sc->cv)); free(sc, M_USB); return (err); } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.c#3 (text+ko) ==== @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -147,14 +148,14 @@ } if (up->up_dsleep) { up->up_dsleep = 0; - cv_broadcast(&(up->up_drain)); + usb2_cv_broadcast(&(up->up_drain)); } up->up_msleep = 1; - cv_wait(&(up->up_cv), up->up_mtx); + usb2_cv_wait(&(up->up_cv), up->up_mtx); } up->up_ptr = NULL; - cv_signal(&(up->up_cv)); + usb2_cv_signal(&(up->up_cv)); mtx_unlock(up->up_mtx); USB_THREAD_EXIT(0); @@ -182,8 +183,8 @@ TAILQ_INIT(&(up->up_qhead)); - cv_init(&(up->up_cv), "WMSG"); - cv_init(&(up->up_drain), "DMSG"); + usb2_cv_init(&(up->up_cv), "WMSG"); + usb2_cv_init(&(up->up_drain), "DMSG"); if (USB_THREAD_CREATE(&usb2_process, up, &(up->up_ptr), "USBPROC")) { @@ -216,8 +217,8 @@ } usb2_proc_drain(up); - cv_destroy(&(up->up_cv)); - cv_destroy(&(up->up_drain)); + usb2_cv_destroy(&(up->up_cv)); + usb2_cv_destroy(&(up->up_drain)); /* make sure that we do not enter here again */ up->up_mtx = NULL; @@ -302,7 +303,7 @@ if (up->up_msleep) { up->up_msleep = 0; /* save "cv_signal()" calls */ - cv_signal(&(up->up_cv)); + usb2_cv_signal(&(up->up_cv)); } return (pm2); } @@ -348,7 +349,7 @@ } else if (pm0->pm_qentry.tqe_prev || pm1->pm_qentry.tqe_prev) { up->up_dsleep = 1; - cv_wait(&(up->up_drain), up->up_mtx); + usb2_cv_wait(&(up->up_drain), up->up_mtx); } mtx_unlock(up->up_mtx); return; @@ -385,7 +386,7 @@ if (up->up_msleep || up->up_csleep) { up->up_msleep = 0; up->up_csleep = 0; - cv_signal(&(up->up_cv)); + usb2_cv_signal(&(up->up_cv)); } /* Check if someone is waiting - should not happen */ @@ -399,7 +400,7 @@ printf("WARNING: A USB process has been left suspended!\n"); break; } - cv_wait(&(up->up_cv), up->up_mtx); + usb2_cv_wait(&(up->up_cv), up->up_mtx); } mtx_unlock(up->up_mtx); return; @@ -433,10 +434,10 @@ up->up_csleep = 1; if (timeout == 0) { - cv_wait(&(up->up_cv), up->up_mtx); + usb2_cv_wait(&(up->up_cv), up->up_mtx); error = 0; } else { - error = cv_timedwait(&(up->up_cv), up->up_mtx, timeout); + error = usb2_cv_timedwait(&(up->up_cv), up->up_mtx, timeout); } up->up_csleep = 0; @@ -462,7 +463,7 @@ if (up->up_csleep) { up->up_csleep = 0; - cv_signal(&(up->up_cv)); + usb2_cv_signal(&(up->up_cv)); } return; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#9 (text+ko) ==== @@ -77,7 +77,7 @@ usb2_start_hardware(xfer); break; default: - cv_signal(xfer->udev->default_cv); + usb2_cv_signal(xfer->udev->default_cv); break; } return; @@ -371,7 +371,7 @@ if ((flags & USB_USE_POLLING) || cold) { usb2_do_poll(udev->default_xfer, USB_DEFAULT_XFER_MAX); } else { - cv_wait(xfer->udev->default_cv, xfer->priv_mtx); + usb2_cv_wait(xfer->udev->default_cv, xfer->priv_mtx); } } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#13 (text+ko) ==== @@ -721,6 +721,8 @@ info->xfer_page_cache_start = USB_ADD_BYTES(buf, parm.size[5]); info->xfer_page_cache_end = USB_ADD_BYTES(buf, parm.size[2]); + usb2_cv_init(&(info->cv_drain), "WDRAIN"); + info->usb2_mtx = &(udev->bus->mtx); info->priv_mtx = priv_mtx; @@ -990,6 +992,8 @@ /* free all DMA tags */ usb2_dma_tag_unsetup(&(info->dma_parent_tag)); + usb2_cv_destroy(&(info->cv_drain)); + /* * free the "memory_base" last, hence the "info" structure is * contained within the "memory_base"! @@ -1618,10 +1622,7 @@ * Wait until the current outstanding USB * transfer is complete ! */ - if (mtx_sleep(&(xfer->flags_int), xfer->priv_mtx, - 0, "usbdrain", 0)) { - /* should not happen */ - } + usb2_cv_wait(&(xfer->usb2_root->cv_drain), xfer->priv_mtx); } mtx_unlock(xfer->priv_mtx); @@ -1832,7 +1833,7 @@ (!xfer->flags_int.transferring)) { /* "usb2_transfer_drain()" is waiting for end of transfer */ xfer->flags_int.draining = 0; - wakeup(&(xfer->flags_int)); + usb2_cv_broadcast(&(xfer->usb2_root->cv_drain)); } done: /* do the next callback, if any */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#5 (text+ko) ==== @@ -44,6 +44,7 @@ struct usb2_xfer_queue dma_q; struct usb2_xfer_queue done_q; struct usb2_done_msg done_m[2]; + struct cv cv_drain; struct usb2_dma_parent_tag dma_parent_tag; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.c#2 (text+ko) ==== @@ -38,6 +38,9 @@ #include #include +/* function prototypes */ +static int usb2_msleep(void *chan, struct mtx *mtx, int priority, const char *wmesg, int timo); + /*------------------------------------------------------------------------* * device_delete_all_children - delete all children of a device *------------------------------------------------------------------------*/ @@ -234,3 +237,102 @@ } return (totlen); } + +/*------------------------------------------------------------------------* + * usb2_cv_init - wrapper function + *------------------------------------------------------------------------*/ +void +usb2_cv_init(struct cv *cv, const char *desc) +{ + cv_init(cv, desc); + return; +} + +/*------------------------------------------------------------------------* + * usb2_cv_destroy - wrapper function + *------------------------------------------------------------------------*/ +void +usb2_cv_destroy(struct cv *cv) +{ + cv_destroy(cv); + return; +} + +/*------------------------------------------------------------------------* + * usb2_cv_wait - wrapper function + *------------------------------------------------------------------------*/ +void +usb2_cv_wait(struct cv *cv, struct mtx *mtx) +{ + int err; + + err = usb2_msleep(cv, mtx, 0, cv_wmesg(cv), 0); + return; +} + +/*------------------------------------------------------------------------* + * usb2_cv_wait_sig - wrapper function + *------------------------------------------------------------------------*/ +int +usb2_cv_wait_sig(struct cv *cv, struct mtx *mtx) +{ + int err; + + err = usb2_msleep(cv, mtx, PCATCH, cv_wmesg(cv), 0); + return (err); +} + +/*------------------------------------------------------------------------* + * usb2_cv_timedwait - wrapper function + *------------------------------------------------------------------------*/ +int +usb2_cv_timedwait(struct cv *cv, struct mtx *mtx, int timo) +{ + int err; + + if (timo == 0) + timo = 1; /* zero means no timeout */ + err = usb2_msleep(cv, mtx, 0, cv_wmesg(cv), timo); + return (err); +} + +/*------------------------------------------------------------------------* + * usb2_cv_signal - wrapper function + *------------------------------------------------------------------------*/ +void +usb2_cv_signal(struct cv *cv) +{ + wakeup_one(cv); + return; +} + +/*------------------------------------------------------------------------* + * usb2_cv_broadcast - wrapper function + *------------------------------------------------------------------------*/ +void +usb2_cv_broadcast(struct cv *cv) +{ + wakeup(cv); + return; +} + +/*------------------------------------------------------------------------* + * usb2_msleep - wrapper function + *------------------------------------------------------------------------*/ +static int +usb2_msleep(void *chan, struct mtx *mtx, int priority, const char *wmesg, + int timo) +{ + int err; + + if (mtx == &Giant) { + err = tsleep(chan, priority, wmesg, timo); + } else { +#ifdef mtx_sleep + err = mtx_sleep(chan, mtx, priority, wmesg, timo); +#else + err = msleep(chan, mtx, priority, wmesg, timo); +#endif + } + return (err); +} ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_util.h#2 (text+ko) ==== @@ -33,5 +33,12 @@ void usb2_pause_mtx(struct mtx *mtx, uint32_t ms); void usb2_printBCD(char *p, uint16_t p_len, uint16_t bcd); void usb2_trim_spaces(char *p); +void usb2_cv_init(struct cv *cv, const char *desc); +void usb2_cv_destroy(struct cv *cv); +void usb2_cv_wait(struct cv *cv, struct mtx *mtx); +int usb2_cv_wait_sig(struct cv *cv, struct mtx *mtx); +int usb2_cv_timedwait(struct cv *cv, struct mtx *mtx, int timo); +void usb2_cv_signal(struct cv *cv); +void usb2_cv_broadcast(struct cv *cv); #endif /* _USB2_UTIL_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/serial/ufoma2.c#3 (text+ko) ==== @@ -148,6 +148,7 @@ struct ufoma_softc { struct usb2_com_super_softc sc_super_ucom; struct usb2_com_softc sc_ucom; + struct cv sc_cv; struct usb2_xfer *sc_ctrl_xfer[UFOMA_CTRL_ENDPT_MAX]; struct usb2_xfer *sc_bulk_xfer[UFOMA_BULK_ENDPT_MAX]; @@ -385,6 +386,8 @@ sc->sc_dev = dev; sc->sc_unit = device_get_unit(dev); + usb2_cv_init(&(sc->sc_cv), "CWAIT"); + device_set_usb2_desc(dev); snprintf(sc->sc_name, sizeof(sc->sc_name), @@ -472,6 +475,8 @@ if (sc->sc_modetable) { free(sc->sc_modetable, M_USBDEV); } + usb2_cv_destroy(&(sc->sc_cv)); + return (0); } @@ -536,7 +541,7 @@ ufoma_cfg_do_request(sc, &req, sc->sc_modetable); - error = mtx_sleep(&(sc->sc_currentmode), &Giant, 0, "ufoma_link", hz); + error = usb2_cv_timedwait(&(sc->sc_cv), &Giant, hz); if (error) { DPRINTF(0, "NO response\n"); @@ -558,8 +563,8 @@ ufoma_cfg_do_request(sc, &req, NULL); - error = mtx_sleep(&(sc->sc_currentmode), &Giant, 0, - "fmaact", (UFOMA_MAX_TIMEOUT * hz)); + error = usb2_cv_timedwait(&(sc->sc_cv), &Giant, + (UFOMA_MAX_TIMEOUT * hz)); if (error) { DPRINTF(0, "No response\n"); } @@ -709,7 +714,7 @@ if (!(temp & 0xff)) { DPRINTF(0, "Mode change failed!\n"); } - wakeup(&(sc->sc_currentmode)); + usb2_cv_signal(&(sc->sc_cv)); } if (pkt.bmRequestType != UCDC_NOTIFICATION) { goto tr_setup; ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#6 (text+ko) ==== @@ -475,7 +475,7 @@ if (sc->sc_intr_iwakeup) { sc->sc_intr_iwakeup = 0; - wakeup(&(sc->sc_intr_iwakeup)); + usb2_cv_signal(&(sc->sc_intr_cv)); } else { sc->sc_intr_iwakeup = 1; } @@ -517,8 +517,8 @@ usb2_transfer_start(sc->sc_xfer[ZYD_TR_INTR_DT_RD]); - if (mtx_sleep(&(sc->sc_intr_iwakeup), &(sc->sc_mtx), 0, - "zyd-ird", hz / 2)) { + if (usb2_cv_timedwait(&(sc->sc_intr_cv), + &(sc->sc_mtx), hz / 2)) { /* should not happen */ } if (usb2_config_td_is_gone(&(sc->sc_config_td))) { @@ -617,7 +617,7 @@ wakeup: if (sc->sc_intr_owakeup) { sc->sc_intr_owakeup = 0; - wakeup(&(sc->sc_intr_owakeup)); + usb2_cv_signal(&(sc->sc_intr_cv)); } return; } @@ -625,7 +625,7 @@ /* * Interrupt transfer, write. * - * Not always an "interrupt transfer", as if operating in + * Not always an "interrupt transfer". If operating in * full speed mode, EP4 is bulk out, not interrupt out. */ static void @@ -648,8 +648,9 @@ usb2_transfer_start(sc->sc_xfer[ZYD_TR_INTR_DT_WR]); while (sc->sc_intr_owakeup) { - if (mtx_sleep(&(sc->sc_intr_owakeup), &(sc->sc_mtx), 0, - "zyd-iwr", hz / 2)) { + if (usb2_cv_timedwait(&(sc->sc_intr_cv), + &(sc->sc_mtx), hz / 2)) { + /* should not happen */ } if (usb2_config_td_is_gone(&(sc->sc_config_td))) { sc->sc_intr_owakeup = 0; @@ -1076,6 +1077,8 @@ mtx_init(&sc->sc_mtx, "zyd lock", MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); + usb2_cv_init(&(sc->sc_intr_cv), "IWAIT"); + usb2_callout_init_mtx(&(sc->sc_watchdog), &(sc->sc_mtx), CALLOUT_RETURNUNLOCKED); @@ -2057,6 +2060,8 @@ usb2_callout_drain(&(sc->sc_watchdog)); + usb2_cv_destroy(&(sc->sc_intr_cv)); + mtx_destroy(&sc->sc_mtx); return (0); ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2_reg.h#3 (text+ko) ==== @@ -1228,6 +1228,7 @@ struct zyd_cmd sc_intr_obuf; struct zyd_tx_desc sc_tx_desc; struct zyd_ifq sc_tx_queue; + struct cv sc_intr_cv; struct ifnet *sc_ifp; struct usb2_device *sc_udev; From owner-p4-projects@FreeBSD.ORG Mon Jul 14 10:21:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5291F106567A; Mon, 14 Jul 2008 10:21:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1E141065679 for ; Mon, 14 Jul 2008 10:21:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E56588FC0A for ; Mon, 14 Jul 2008 10:21:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EALsqX086215 for ; Mon, 14 Jul 2008 10:21:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EALsHO086213 for perforce@freebsd.org; Mon, 14 Jul 2008 10:21:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 14 Jul 2008 10:21:54 GMT Message-Id: <200807141021.m6EALsHO086213@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 145206 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 10:21:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=145206 Change 145206 by hselasky@hselasky_laptop001 on 2008/07/14 10:21:08 Revert changes to devfs after advice from PHK. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#11 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#16 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#9 edit .. //depot/projects/usb/src/sys/fs/devfs/devfs_devs.c#9 integrate .. //depot/projects/usb/src/sys/kern/kern_conf.c#9 integrate .. //depot/projects/usb/src/sys/sys/conf.h#9 integrate Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#11 (text+ko) ==== @@ -376,6 +376,7 @@ MALLOC_DECLARE(M_USBHC); extern struct mtx usb2_ref_lock; +extern struct mtx usb2_sym_lock; /* typedefs */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#16 (text+ko) ==== @@ -52,6 +52,8 @@ #include #include +#include + #ifdef USB_DEBUG static int usb2_fifo_debug = 0; @@ -133,8 +135,10 @@ static eventhandler_tag usb2_clone_tag; static void *usb2_old_f_data; static struct fileops *usb2_old_f_ops; +static TAILQ_HEAD(, usb2_symlink) usb2_sym_head; struct mtx usb2_ref_lock; +struct mtx usb2_sym_lock; static uint32_t usb2_path_convert_one(const char **pp) @@ -653,7 +657,7 @@ /* destroy symlink devices, if any */ for (n = 0; n != 2; n++) { if (f->symlink[n]) { - destroy_dev(f->symlink[n]); + usb2_free_symlink(f->symlink[n]); f->symlink[n] = NULL; } } @@ -1093,14 +1097,14 @@ static void usb2_clone(void *arg, USB_UCRED char *name, int namelen, struct cdev **dev) { + enum { + USB_DNAME_LEN = sizeof(USB_DEVICE_NAME) - 1, + }; + if (*dev) { /* someone else has created a device */ return; } - if (strncmp(name, USB_DEVICE_NAME, - sizeof(USB_DEVICE_NAME) - 1)) { - return; - } if (usb2_last_devloc != (uint32_t)(0 - 1)) { /* * XXX can we assume that the clone and open operation is @@ -1108,8 +1112,13 @@ */ DPRINTF(1, "Clone race!\n"); } - usb2_last_devloc = usb2_path_convert(name + - sizeof(USB_DEVICE_NAME) - 1); + if (strcmp(name, USB_DEVICE_NAME)) { + usb2_last_devloc = + usb2_lookup_symlink(name, namelen); + } else { + usb2_last_devloc = + usb2_path_convert(name + USB_DNAME_LEN); + } if (usb2_last_devloc == (uint32_t)(0 - 1)) { /* invalid location */ @@ -1124,6 +1133,9 @@ usb2_dev_init(void *arg) { mtx_init(&usb2_ref_lock, "USB ref mutex", NULL, MTX_DEF); + mtx_init(&usb2_sym_lock, "USB sym mutex", NULL, MTX_DEF); + TAILQ_INIT(&usb2_sym_head); + /* check the UGEN methods */ usb2_fifo_check_methods(&usb2_ugen_methods); return; @@ -1939,10 +1951,10 @@ */ if (n & 1) { f_rx->symlink[n / 2] = - make_dev_symlink(src, "%s", buf); + usb2_alloc_symlink(src, "%s", buf); } else { f_tx->symlink[n / 2] = - make_dev_symlink(src, "%s", buf); + usb2_alloc_symlink(src, "%s", buf); } DPRINTF(0, "Symlink: %s -> %s\n", buf, src); } @@ -2259,3 +2271,92 @@ usb2_fifo_wakeup(f); return; } + +/*------------------------------------------------------------------------* + * usb2_alloc_symlink + * + * Return values: + * NULL: Failure + * Else: Pointer to symlink entry + *------------------------------------------------------------------------*/ +struct usb2_symlink * +usb2_alloc_symlink(const char *target, const char *fmt,...) +{ + struct usb2_symlink *ps; + va_list ap; + + ps = malloc(sizeof(*ps), M_USBDEV, M_WAITOK); + if (ps == NULL) { + return (ps); + } + strlcpy(ps->dst_path, target, sizeof(ps->dst_path)); + ps->dst_len = strlen(ps->dst_path); + + va_start(ap, fmt); + vsnrprintf(ps->src_path, + sizeof(ps->src_path), 32, fmt, ap); + va_end(ap); + ps->src_len = strlen(ps->src_path); + + mtx_lock(&usb2_sym_lock); + TAILQ_INSERT_TAIL(&usb2_sym_head, ps, sym_entry); + mtx_unlock(&usb2_sym_lock); + return (ps); +} + +/*------------------------------------------------------------------------* + * usb2_free_symlink + *------------------------------------------------------------------------*/ +void +usb2_free_symlink(struct usb2_symlink *ps) +{ + if (ps == NULL) { + return; + } + mtx_lock(&usb2_sym_lock); + TAILQ_REMOVE(&usb2_sym_head, ps, sym_entry); + mtx_unlock(&usb2_sym_lock); + + free(ps, M_USBDEV); + return; +} + +/*------------------------------------------------------------------------* + * usb2_lookup_symlink + * + * Return value: + * Numerical device location + *------------------------------------------------------------------------*/ +uint32_t +usb2_lookup_symlink(const char *src_ptr, uint8_t src_len) +{ + enum { + USB_DNAME_LEN = sizeof(USB_DEVICE_NAME) - 1, + }; + struct usb2_symlink *ps; + uint32_t temp; + + mtx_lock(&usb2_sym_lock); + + TAILQ_FOREACH(ps, &usb2_sym_head, sym_entry) { + + if (src_len != ps->src_len) + continue; + + if (memcmp(ps->src_path, src_ptr, src_len)) + continue; + + if (USB_DNAME_LEN > ps->dst_len) + continue; + + if (strncmp(ps->dst_path, USB_DEVICE_NAME, USB_DNAME_LEN)) + continue; + + temp = usb2_path_convert(ps->dst_path + USB_DNAME_LEN); + mtx_unlock(&usb2_sym_lock); + + return (temp); + } + mtx_unlock(&usb2_sym_lock); + return (0 - 1); +} ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#9 (text+ko) ==== @@ -44,6 +44,16 @@ typedef int (usb2_fifo_ioctl_t)(struct usb2_fifo *fifo, u_long cmd, void *addr, int fflags, struct thread *td); typedef void (usb2_fifo_cmd_t)(struct usb2_fifo *fifo); +struct usb2_symlink { + TAILQ_ENTRY(usb2_symlink) sym_entry; + char src_path[32]; /* Source path - including terminating + * zero */ + char dst_path[32]; /* Destination path - including + * terminating zero */ + uint8_t src_len; /* String length */ + uint8_t dst_len; /* String length */ +}; + /* * Locking note for the following functions. All the * "usb2_fifo_cmd_t" functions are called locked. The others are @@ -72,7 +82,7 @@ struct cv cv_io; struct cv cv_drain; struct usb2_fifo_methods *methods; - struct cdev *symlink[2]; /* our symlinks */ + struct usb2_symlink *symlink[2];/* our symlinks */ struct proc *async_p; /* process that wants SIGIO */ struct usb2_fs_endpoint *fs_ep_ptr; struct usb2_device *udev; @@ -127,5 +137,8 @@ void usb2_fifo_reset(struct usb2_fifo *f); int usb2_check_thread_perm(struct usb2_device *udev, struct thread *td, int fflags, uint8_t iface_index, uint8_t ep_index); void usb2_fifo_wakeup(struct usb2_fifo *f); +struct usb2_symlink *usb2_alloc_symlink(const char *target, const char *fmt,...); +void usb2_free_symlink(struct usb2_symlink *ps); +uint32_t usb2_lookup_symlink(const char *src_ptr, uint8_t src_len); #endif /* _USB2_DEV_H_ */ ==== //depot/projects/usb/src/sys/fs/devfs/devfs_devs.c#9 (text+ko) ==== @@ -350,6 +350,7 @@ struct cdev_priv *cdp; struct devfs_dirent *de; struct devfs_dirent *dd; + struct cdev *pdev; int j; char *q, *s; @@ -435,9 +436,10 @@ de->de_gid = 0; de->de_mode = 0755; de->de_dirent->d_type = DT_LNK; - j = strlen(cdp->cdp_c.si_symlink) + 1; + pdev = cdp->cdp_c.si_parent; + j = strlen(pdev->si_name) + 1; de->de_symlink = malloc(j, M_DEVFS, M_WAITOK); - bcopy(cdp->cdp_c.si_symlink, de->de_symlink, j); + bcopy(pdev->si_name, de->de_symlink, j); } else { de->de_uid = cdp->cdp_c.si_uid; de->de_gid = cdp->cdp_c.si_gid; ==== //depot/projects/usb/src/sys/kern/kern_conf.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_conf.c,v 1.218 2008/06/16 17:34:59 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_conf.c,v 1.219 2008/07/11 11:22:19 kib Exp $"); #include #include @@ -690,7 +690,7 @@ printf("WARNING: Device name truncated! (%s)\n", dev->__si_namebuf); } - + dev->si_flags |= SI_NAMED; #ifdef MAC if (cr != NULL) @@ -758,6 +758,7 @@ dev_dependsl(struct cdev *pdev, struct cdev *cdev) { + cdev->si_parent = pdev; cdev->si_flags |= SI_CHILD; LIST_INSERT_HEAD(&pdev->si_children, cdev, si_siblings); } @@ -772,81 +773,36 @@ dev_unlock(); } -static struct cdev * -make_dev_alias_symlink(const char *target, struct cdev *pdev, const char *fmt, va_list ap) +struct cdev * +make_dev_alias(struct cdev *pdev, const char *fmt, ...) { struct cdev *dev; + va_list ap; int i; + KASSERT(pdev != NULL, ("NULL pdev")); dev = devfs_alloc(); dev_lock(); dev->si_flags |= SI_ALIAS; dev->si_flags |= SI_NAMED; - i = sizeof(dev->__si_namebuf); - i -= vsnrprintf(dev->__si_namebuf, i, 32, fmt, ap); - if (i < 1) { + va_start(ap, fmt); + i = vsnrprintf(dev->__si_namebuf, sizeof dev->__si_namebuf, 32, fmt, ap); + if (i > (sizeof dev->__si_namebuf - 1)) { printf("WARNING: Device name truncated! (%s)\n", dev->__si_namebuf); - i = 1; } + va_end(ap); - if (target == NULL) { - /* use parent device name */ - dev->si_symlink = pdev->si_name; - } else { - if (i < 2) { - i = 1; - } else { - /* make sure there is a NUL between the strings */ - i --; - } - /* use specified target name */ - dev->si_symlink = dev->__si_namebuf + - sizeof(dev->__si_namebuf) - i; - i -= strlcpy(dev->si_symlink, target, i); - if (i < 1) { - printf("WARNING: Symlink name truncated! (%s)\n", - dev->si_symlink); - i = 1; - } - } devfs_create(dev); + dev_dependsl(pdev, dev); clean_unrhdrl(devfs_inos); dev_unlock(); - if (pdev != NULL) { - dev_depends(pdev, dev); - } - notify_create(dev); return (dev); } -struct cdev * -make_dev_alias(struct cdev *pdev, const char *fmt, ...) -{ - struct cdev *dev; - va_list ap; - - va_start(ap, fmt); - dev = make_dev_alias_symlink(NULL, pdev, fmt, ap); - va_end(ap); - return (dev); -} - -struct cdev * -make_dev_symlink(const char *target, const char *fmt, ...) -{ - struct cdev *dev; - va_list ap; - - va_start(ap, fmt); - dev = make_dev_alias_symlink(target, NULL, fmt, ap); - va_end(ap); - return (dev); -} - static void destroy_devl(struct cdev *dev) { ==== //depot/projects/usb/src/sys/sys/conf.h#9 (text+ko) ==== @@ -77,7 +77,7 @@ LIST_ENTRY(cdev) si_clone; LIST_HEAD(, cdev) si_children; LIST_ENTRY(cdev) si_siblings; - char *si_symlink; /* symbolic link name */ + struct cdev *si_parent; char *si_name; void *si_drv1, *si_drv2; struct cdevsw *si_devsw; @@ -273,8 +273,6 @@ struct ucred *_cr, uid_t _uid, gid_t _gid, int _mode, const char *_fmt, ...) __printflike(8, 9); struct cdev *make_dev_alias(struct cdev *_pdev, const char *_fmt, ...) __printflike(2, 3); -struct cdev *make_dev_symlink(const char *target, const char *fmt, ...) __printflike(2, 3); - void dev_lock(void); void dev_unlock(void); void setconf(void); From owner-p4-projects@FreeBSD.ORG Mon Jul 14 11:40:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F3511065673; Mon, 14 Jul 2008 11:40:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0370D1065670 for ; Mon, 14 Jul 2008 11:40:14 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D308E8FC15 for ; Mon, 14 Jul 2008 11:40:13 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EBeD9a093776 for ; Mon, 14 Jul 2008 11:40:13 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EBeDAX093774 for perforce@freebsd.org; Mon, 14 Jul 2008 11:40:13 GMT (envelope-from gabor@freebsd.org) Date: Mon, 14 Jul 2008 11:40:13 GMT Message-Id: <200807141140.m6EBeDAX093774@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 11:40:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=145209 Change 145209 by gabor@gabor_server on 2008/07/14 11:40:05 - Remove two wrong frees, they cause segfault Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/util.c#60 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#60 (text+ko) ==== @@ -161,7 +161,6 @@ if (f->binary && binbehave == BINFILE_SKIP) { grep_close(f); - free(f); return (0); } @@ -197,7 +196,6 @@ if (Bflag > 0) clearqueue(); grep_close(f); - free(f); if (cflag) { if (!hflag) From owner-p4-projects@FreeBSD.ORG Mon Jul 14 11:48:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 915551065670; Mon, 14 Jul 2008 11:48:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55A32106564A for ; Mon, 14 Jul 2008 11:48:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B6538FC22 for ; Mon, 14 Jul 2008 11:48:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EBmMNa094434 for ; Mon, 14 Jul 2008 11:48:22 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EBmMn9094432 for perforce@freebsd.org; Mon, 14 Jul 2008 11:48:22 GMT (envelope-from gabor@freebsd.org) Date: Mon, 14 Jul 2008 11:48:22 GMT Message-Id: <200807141148.m6EBmMn9094432@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 11:48:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=145211 Change 145211 by gabor@gabor_server on 2008/07/14 11:47:43 - Actualize NLS catalogues Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/file.c#17 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#66 edit .. //depot/projects/soc2008/gabor_textproc/grep/nls/C.msg#5 edit .. //depot/projects/soc2008/gabor_textproc/grep/nls/hu_HU.ISO8859-2.msg#4 edit .. //depot/projects/soc2008/gabor_textproc/grep/nls/pt_BR.ISO8859-1.msg#5 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/file.c#17 (text+ko) ==== @@ -76,7 +76,7 @@ if (bzerr == BZ_STREAM_END) return (-1); else if (bzerr != BZ_SEQUENCE_ERROR && bzerr != BZ_OK) - errx(2, "Cannot read bzip2 compressed file"); + errx(2, getstr(16)); return (c); } return (-1); ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#66 (text+ko) ==== @@ -74,6 +74,7 @@ /*13*/ "value out of range", /*14*/ "unknown -d or --directory option", /*15*/ "unknown --color option", +/*16*/ "cannot read bzip2 compressed file" }; /* Flags passed to regcomp() and regexec() */ ==== //depot/projects/soc2008/gabor_textproc/grep/nls/C.msg#5 (text+ko) ==== @@ -17,3 +17,4 @@ 13 "value out of range" 14 "unknown -d or --directory option" 15 "unknown --color option" +16 "cannot read bzip2 compressed file" ==== //depot/projects/soc2008/gabor_textproc/grep/nls/hu_HU.ISO8859-2.msg#4 (text+ko) ==== @@ -17,3 +17,4 @@ 13 "az rtk a megengedett tartomnyon kvl esik" 14 "ismeretlen -d vagy --directory opci" 15 "ismeretlen --color opci" +16 "bzip2 tmrtett fjl nem olvashat" ==== //depot/projects/soc2008/gabor_textproc/grep/nls/pt_BR.ISO8859-1.msg#5 (text+ko) ==== @@ -17,3 +17,4 @@ 13 "el valor est fora da escala" 14 "opco no conhecida de -d ou --directory" 15 "opco no conhecida de --color" +16 "no se posso ler o fichero comprimido bzip2" From owner-p4-projects@FreeBSD.ORG Mon Jul 14 11:56:31 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2BCF1065696; Mon, 14 Jul 2008 11:56:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5BFD106567B for ; Mon, 14 Jul 2008 11:56:30 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9162A8FC0A for ; Mon, 14 Jul 2008 11:56:30 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EBuUf9095072 for ; Mon, 14 Jul 2008 11:56:30 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EBuUY4095070 for perforce@freebsd.org; Mon, 14 Jul 2008 11:56:30 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 14 Jul 2008 11:56:30 GMT Message-Id: <200807141156.m6EBuUY4095070@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 145212 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 11:56:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=145212 Change 145212 by zec@zec_tpx32 on 2008/07/14 11:56:06 Unbreak GENERIC (nooptions VIMAGE) modules build. Affected files ... .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 edit Differences ... ==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 (text+ko) ==== @@ -125,9 +125,6 @@ #if (__FreeBSD_version > 460000) #ifndef VIMAGE extern int path_mtu_discovery; -#define V_path_mtu_discovery path_mtu_discovery -#define V_ip_defttl ip_defttl -#define V_ipforwarding ipforwarding #endif #endif From owner-p4-projects@FreeBSD.ORG Mon Jul 14 12:33:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39CCC1065679; Mon, 14 Jul 2008 12:33:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F19821065671 for ; Mon, 14 Jul 2008 12:33:07 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E91D88FC12 for ; Mon, 14 Jul 2008 12:33:07 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6ECX7t1000570 for ; Mon, 14 Jul 2008 12:33:07 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6ECX7t1000568 for perforce@freebsd.org; Mon, 14 Jul 2008 12:33:07 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 14 Jul 2008 12:33:07 GMT Message-Id: <200807141233.m6ECX7t1000568@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 145216 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 12:33:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=145216 Change 145216 by gk@gk_h1 on 2008/07/14 12:32:08 branch pfctl Affected files ... .. //depot/projects/soc2008/gk_l2filter/pfctl/parse.y#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pf_print_state.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl.8#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl.h#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_altq.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_optimize.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_osfp.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_parser.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_parser.h#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_qstats.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_radix.c#1 branch .. //depot/projects/soc2008/gk_l2filter/pfctl/pfctl_table.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 14 12:33:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37F411065734; Mon, 14 Jul 2008 12:33:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 206731065672 for ; Mon, 14 Jul 2008 12:33:08 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 17F0D8FC14 for ; Mon, 14 Jul 2008 12:33:08 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6ECX8qG000575 for ; Mon, 14 Jul 2008 12:33:08 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6ECX8cR000573 for perforce@freebsd.org; Mon, 14 Jul 2008 12:33:08 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 14 Jul 2008 12:33:08 GMT Message-Id: <200807141233.m6ECX8cR000573@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 145217 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 12:33:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=145217 Change 145217 by gk@gk_h1 on 2008/07/14 12:32:31 branch sys/contrib/pf Affected files ... .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/if_pflog.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/if_pflog.h#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/if_pfsync.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/if_pfsync.h#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_if.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_ioctl.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_mtag.h#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_norm.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_osfp.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_ruleset.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_subr.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_table.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-pf/netinet/in4_cksum.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 14 13:11:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0E69106567B; Mon, 14 Jul 2008 13:11:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C07C1065673 for ; Mon, 14 Jul 2008 13:11:52 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 948038FC32 for ; Mon, 14 Jul 2008 13:11:52 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EDBqgZ014109 for ; Mon, 14 Jul 2008 13:11:52 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EDBqYn014107 for perforce@freebsd.org; Mon, 14 Jul 2008 13:11:52 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 14 Jul 2008 13:11:52 GMT Message-Id: <200807141311.m6EDBqYn014107@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 145223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 13:11:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=145223 Change 145223 by gk@gk_h1 on 2008/07/14 13:11:43 ifc Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-ifconfig/ifconfig.8#3 integrate .. //depot/projects/soc2008/gk_l2filter/sbin-ifconfig/ifconfig.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sbin-ifconfig/ifieee80211.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/bpf.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/bpf.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/bpf_zerocopy.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/bpf_zerocopy.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_bridge.c#8 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_gre.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_gre.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_lagg.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_loop.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_ppp.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_var.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/netisr.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/netisr.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/raw_cb.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/raw_cb.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/raw_usrreq.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/rtsock.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/if_ether.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/in.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/in_pcb.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/in_pcb.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_gre.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_input.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/libalias/alias.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/libalias/alias_db.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/libalias/alias_ftp.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/raw_ip.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_asconf.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_asconf.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_bsd_addr.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_bsd_addr.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_constants.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_crc32.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_indata.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_indata.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_input.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_input.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_output.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_output.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_pcb.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_sysctl.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_timer.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_uio.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctp_var.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctputil.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/sctputil.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/udp_usrreq.c#3 integrate Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-ifconfig/ifconfig.8#3 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.147 2008/04/20 20:35:46 sam Exp $ +.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.148 2008/06/20 17:26:34 thompsa Exp $ .\" -.Dd April 11, 2008 +.Dd June 20, 2008 .Dt IFCONFIG 8 .Os .Sh NAME @@ -2032,6 +2032,16 @@ parameter. .El .Pp +The following parameters are specific to GRE tunnel interfaces, +.Xr gre 4 : +.Bl -tag -width indent +.It Cm grekey Ar key +Configure the GRE key to be used for outgoing packets. +Note that +.Xr gre 4 will always accept GRE packets with invalid or absent keys. +This command will result in a four byte MTU reduction on the interface. +.El +.Pp The following parameters are specific to .Xr pfsync 4 interfaces: ==== //depot/projects/soc2008/gk_l2filter/sbin-ifconfig/ifconfig.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)ifconfig.c 8.2 (Berkeley) 2/16/94"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.136 2008/03/31 15:38:07 sam Exp $"; + "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.137 2008/06/20 17:26:34 thompsa Exp $"; #endif /* not lint */ #include @@ -51,6 +51,7 @@ #include #include +#include #include #include #include @@ -749,6 +750,18 @@ } static void +setifgrekey(const char *val, int dummy __unused, int s, + const struct afswtch *afp) +{ + uint32_t grekey = atol(val); + + strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name)); + ifr.ifr_data = (caddr_t)&grekey; + if (ioctl(s, GRESKEY, (caddr_t)&ifr) < 0) + warn("ioctl (set grekey)"); +} + +static void setifname(const char *val, int dummy __unused, int s, const struct afswtch *afp) { @@ -863,6 +876,12 @@ if (ioctl(s, SIOCGIFSTATUS, &ifs) == 0) printf("%s", ifs.ascii); + int grekey = 0; + ifr.ifr_data = (caddr_t)&grekey; + if (ioctl(s, GREGKEY, &ifr) == 0) + if (grekey != 0) + printf("\tgrekey: %d\n", grekey); + close(s); return; } @@ -1038,6 +1057,7 @@ DEF_CMD("noicmp", IFF_LINK1, setifflags), DEF_CMD_ARG("mtu", setifmtu), DEF_CMD_ARG("name", setifname), + DEF_CMD_ARG("grekey", setifgrekey), }; static __constructor void ==== //depot/projects/soc2008/gk_l2filter/sbin-ifconfig/ifieee80211.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.51 2008/04/20 20:35:46 sam Exp $ + * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.52 2008/06/23 16:08:40 thompsa Exp $ */ /*- @@ -666,9 +666,12 @@ memset(&chan, 0, sizeof(chan)); if (!isanyarg(val)) { int v, flags; + char *ep; getchaninfo(s); - v = atoi(val); + v = strtol(val, &ep, 10); + if (val[0] == '\0' || ep[0] != '\0' || errno == ERANGE) + errx(1, "invalid channel number"); flags = getchannelflags(val, v); if (v > 255) { /* treat as frequency */ mapfreq(&chan, v, flags); ==== //depot/projects/soc2008/gk_l2filter/sys-net/bpf.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.195 2008/05/09 19:29:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.197 2008/07/07 09:25:49 dwmalone Exp $"); #include "opt_bpf.h" #include "opt_mac.h" @@ -200,6 +200,28 @@ } /* + * This function gets called when the free buffer is re-assigned. + */ +static void +bpf_buf_reclaimed(struct bpf_d *d) +{ + + BPFD_LOCK_ASSERT(d); + + switch (d->bd_bufmode) { + case BPF_BUFMODE_BUFFER: + return; + + case BPF_BUFMODE_ZBUF: + bpf_zerocopy_buf_reclaimed(d); + return; + + default: + panic("bpf_buf_reclaimed"); + } +} + +/* * If the buffer mechanism has a way to decide that a held buffer can be made * free, then it is exposed via the bpf_canfreebuf() interface. (1) is * returned if the buffer can be discarded, (0) is returned if it cannot. @@ -744,6 +766,7 @@ d->bd_fbuf = d->bd_hbuf; d->bd_hbuf = NULL; d->bd_hlen = 0; + bpf_buf_reclaimed(d); BPFD_UNLOCK(d); return (error); @@ -887,6 +910,7 @@ /* Free the hold buffer. */ d->bd_fbuf = d->bd_hbuf; d->bd_hbuf = NULL; + bpf_buf_reclaimed(d); } d->bd_slen = 0; d->bd_hlen = 0; @@ -903,8 +927,9 @@ * FIONREAD Check for read packet available. * SIOCGIFADDR Get interface address - convenient hook to driver. * BIOCGBLEN Get buffer len [for read()]. - * BIOCSETF Set ethernet read filter. - * BIOCSETWF Set ethernet write filter. + * BIOCSETF Set read filter. + * BIOCSETFNR Set read filter without resetting descriptor. + * BIOCSETWF Set write filter. * BIOCFLUSH Flush read packet buffer. * BIOCPROMISC Put interface into promiscuous mode. * BIOCGDLT Get link layer type. @@ -1023,6 +1048,7 @@ * Set link layer read filter. */ case BIOCSETF: + case BIOCSETFNR: case BIOCSETWF: error = bpf_setf(d, (struct bpf_program *)addr, cmd); break; @@ -1337,8 +1363,9 @@ #ifdef BPF_JITTER d->bd_bfilter = NULL; #endif + if (cmd == BIOCSETF) + reset_d(d); } - reset_d(d); BPFD_UNLOCK(d); if (old != NULL) free((caddr_t)old, M_BPF); @@ -1364,8 +1391,9 @@ #ifdef BPF_JITTER d->bd_bfilter = bpf_jitter(fcode, flen); #endif + if (cmd == BIOCSETF) + reset_d(d); } - reset_d(d); BPFD_UNLOCK(d); if (old != NULL) free((caddr_t)old, M_BPF); @@ -1717,6 +1745,7 @@ d->bd_fbuf = d->bd_hbuf; d->bd_hbuf = NULL; d->bd_hlen = 0; + bpf_buf_reclaimed(d); } /* ==== //depot/projects/soc2008/gk_l2filter/sys-net/bpf.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * @(#)bpf.h 8.1 (Berkeley) 6/10/93 * @(#)bpf.h 1.34 (LBL) 6/16/96 * - * $FreeBSD: src/sys/net/bpf.h,v 1.50 2008/03/24 13:49:17 csjp Exp $ + * $FreeBSD: src/sys/net/bpf.h,v 1.51 2008/07/07 09:25:49 dwmalone Exp $ */ #ifndef _NET_BPF_H_ @@ -142,6 +142,7 @@ #define BIOCGETZMAX _IOR('B',127, size_t) #define BIOCROTZBUF _IOR('B',128, struct bpf_zbuf) #define BIOCSETZBUF _IOW('B',129, struct bpf_zbuf) +#define BIOCSETFNR _IOW('B',130, struct bpf_program) /* Obsolete */ #define BIOCGSEESENT BIOCGDIRECTION ==== //depot/projects/soc2008/gk_l2filter/sys-net/bpf_zerocopy.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf_zerocopy.c,v 1.4 2008/04/07 02:51:00 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bpf_zerocopy.c,v 1.5 2008/07/05 20:11:28 csjp Exp $"); #include "opt_bpf.h" @@ -410,6 +410,24 @@ } /* + * Notification from the BPF framework that the free buffer has been been + * re-assigned. This happens when the user ackknowledges the buffer. + */ +void +bpf_zerocopy_buf_reclaimed(struct bpf_d *d) +{ + struct zbuf *zb; + + KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, + ("bpf_zerocopy_reclaim_buf: not in zbuf mode")); + + KASSERT(d->bd_fbuf != NULL, + ("bpf_zerocopy_buf_reclaimed: NULL free buff")); + zb = (struct zbuf *)d->bd_fbuf; + zb->zb_flags &= ~ZBUF_FLAG_IMMUTABLE; +} + +/* * Query from the BPF framework regarding whether the buffer currently in the * held position can be moved to the free position, which can be indicated by * the user process making their generation number equal to the kernel ==== //depot/projects/soc2008/gk_l2filter/sys-net/bpf_zerocopy.h#2 (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/net/bpf_zerocopy.h,v 1.2 2008/04/07 02:51:00 rwatson Exp $ + * $FreeBSD: src/sys/net/bpf_zerocopy.h,v 1.3 2008/07/05 20:11:28 csjp Exp $ */ #ifndef _NET_BPF_ZEROCOPY_H_ @@ -42,6 +42,7 @@ void *src, u_int len); void bpf_zerocopy_buffull(struct bpf_d *); void bpf_zerocopy_bufheld(struct bpf_d *); +void bpf_zerocopy_buf_reclaimed(struct bpf_d *); int bpf_zerocopy_canfreebuf(struct bpf_d *); int bpf_zerocopy_canwritebuf(struct bpf_d *); void bpf_zerocopy_free(struct bpf_d *d); ==== //depot/projects/soc2008/gk_l2filter/sys-net/if.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.280 2008/05/17 03:38:13 brooks Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.281 2008/06/26 23:05:28 rwatson Exp $ */ #include "opt_compat.h" @@ -133,7 +133,6 @@ #endif int if_index = 0; -struct ifindex_entry *ifindex_table = NULL; int ifqmaxlen = IFQ_MAXLEN; struct ifnethead ifnet; /* depend on static init XXX */ struct ifgrouphead ifg_head; @@ -144,6 +143,11 @@ static int if_indexlim = 8; static struct knlist ifklist; +/* + * Table of ifnet/cdev by index. Locked with ifnet_lock. + */ +static struct ifindex_entry *ifindex_table = NULL; + static void filt_netdetach(struct knote *kn); static int filt_netdev(struct knote *kn, long hint); @@ -160,6 +164,57 @@ MALLOC_DEFINE(M_IFADDR, "ifaddr", "interface address"); MALLOC_DEFINE(M_IFMADDR, "ether_multi", "link-level multicast address"); +struct ifnet * +ifnet_byindex(u_short idx) +{ + struct ifnet *ifp; + + IFNET_RLOCK(); + ifp = ifindex_table[idx].ife_ifnet; + IFNET_RUNLOCK(); + return (ifp); +} + +static void +ifnet_setbyindex(u_short idx, struct ifnet *ifp) +{ + + IFNET_WLOCK_ASSERT(); + + ifindex_table[idx].ife_ifnet = ifp; +} + +struct ifaddr * +ifaddr_byindex(u_short idx) +{ + struct ifaddr *ifa; + + IFNET_RLOCK(); + ifa = ifnet_byindex(idx)->if_addr; + IFNET_RUNLOCK(); + return (ifa); +} + +struct cdev * +ifdev_byindex(u_short idx) +{ + struct cdev *cdev; + + IFNET_RLOCK(); + cdev = ifindex_table[idx].ife_dev; + IFNET_RUNLOCK(); + return (cdev); +} + +static void +ifdev_setbyindex(u_short idx, struct cdev *cdev) +{ + + IFNET_WLOCK(); + ifindex_table[idx].ife_dev = cdev; + IFNET_WUNLOCK(); +} + static d_open_t netopen; static d_close_t netclose; static d_ioctl_t netioctl; @@ -298,8 +353,8 @@ TAILQ_INIT(&ifg_head); knlist_init(&ifklist, NULL, NULL, NULL, NULL); if_grow(); /* create initial table */ - ifdev_byindex(0) = make_dev(&net_cdevsw, 0, - UID_ROOT, GID_WHEEL, 0600, "network"); + ifdev_setbyindex(0, make_dev(&net_cdevsw, 0, UID_ROOT, GID_WHEEL, + 0600, "network")); if_clone_init(); } @@ -360,7 +415,9 @@ return (NULL); } } - ifnet_byindex(ifp->if_index) = ifp; + IFNET_WLOCK(); + ifnet_setbyindex(ifp->if_index, ifp); + IFNET_WUNLOCK(); IF_ADDR_LOCK_INIT(ifp); return (ifp); @@ -394,17 +451,18 @@ return; } - IF_ADDR_LOCK_DESTROY(ifp); + IFNET_WLOCK(); + ifnet_setbyindex(ifp->if_index, NULL); - ifnet_byindex(ifp->if_index) = NULL; - /* XXX: should be locked with if_findindex() */ while (if_index > 0 && ifnet_byindex(if_index) == NULL) if_index--; + IFNET_WUNLOCK(); if (if_com_free[type] != NULL) if_com_free[type](ifp->if_l2com, type); + IF_ADDR_LOCK_DESTROY(ifp); free(ifp, M_IFNET); }; @@ -454,10 +512,9 @@ mac_ifnet_create(ifp); #endif - ifdev_byindex(ifp->if_index) = make_dev(&net_cdevsw, - unit2minor(ifp->if_index), - UID_ROOT, GID_WHEEL, 0600, "%s/%s", - net_cdevsw.d_name, ifp->if_xname); + ifdev_setbyindex(ifp->if_index, make_dev(&net_cdevsw, + unit2minor(ifp->if_index), UID_ROOT, GID_WHEEL, 0600, "%s/%s", + net_cdevsw.d_name, ifp->if_xname)); make_dev_alias(ifdev_byindex(ifp->if_index), "%s%d", net_cdevsw.d_name, ifp->if_index); @@ -706,7 +763,7 @@ */ ifp->if_addr = NULL; destroy_dev(ifdev_byindex(ifp->if_index)); - ifdev_byindex(ifp->if_index) = NULL; + ifdev_setbyindex(ifp->if_index, NULL); /* We can now free link ifaddr. */ if (!TAILQ_EMPTY(&ifp->if_addrhead)) { ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_bridge.c#8 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/if_bridge.c,v 1.112 2008/01/18 09:34:09 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/net/if_bridge.c,v 1.114 2008/07/03 15:58:30 thompsa Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -165,9 +165,13 @@ #endif /* - * List of capabilities to mask on the member interface. + * List of capabilities to possibly mask on the member interface. + */ +#define BRIDGE_IFCAPS_MASK (IFCAP_TOE|IFCAP_TSO|IFCAP_TXCSUM) +/* + * List of capabilities to disable on the member interface. */ -#define BRIDGE_IFCAPS_MASK IFCAP_TXCSUM +#define BRIDGE_IFCAPS_STRIP IFCAP_LRO /* * Bridge interface list entry. @@ -177,7 +181,7 @@ struct ifnet *bif_ifp; /* member if */ struct bstp_port bif_stp; /* STP state */ uint32_t bif_flags; /* member if flags */ - int bif_mutecap; /* member muted caps */ + int bif_savedcaps; /* saved capabilities */ uint32_t bif_addrmax; /* max # of addresses */ uint32_t bif_addrcnt; /* cur. # of addresses */ uint32_t bif_addrexceeded;/* # of address violations */ @@ -218,6 +222,7 @@ LIST_HEAD(, bridge_iflist) sc_spanlist; /* span ports list */ struct bstp_state sc_stp; /* STP state */ uint32_t sc_brtexceeded; /* # of cache drops */ + u_char sc_defaddr[6]; /* Default MAC address */ }; static struct mtx bridge_list_mtx; @@ -231,7 +236,9 @@ static void bridge_clone_destroy(struct ifnet *); static int bridge_ioctl(struct ifnet *, u_long, caddr_t); -static void bridge_mutecaps(struct bridge_iflist *, int); +static void bridge_mutecaps(struct bridge_softc *); +static void bridge_set_ifcap(struct bridge_softc *, struct bridge_iflist *, + int); static void bridge_ifdetach(void *arg __unused, struct ifnet *); static void bridge_init(void *); static void bridge_dummynet(struct mbuf *, struct ifnet *); @@ -514,7 +521,6 @@ { struct bridge_softc *sc, *sc2; struct ifnet *bifp, *ifp; - u_char eaddr[6]; int retry; sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK|M_ZERO); @@ -556,21 +562,22 @@ * this hardware address isn't already in use on another bridge. */ for (retry = 1; retry != 0;) { - arc4rand(eaddr, ETHER_ADDR_LEN, 1); - eaddr[0] &= ~1; /* clear multicast bit */ - eaddr[0] |= 2; /* set the LAA bit */ + arc4rand(sc->sc_defaddr, ETHER_ADDR_LEN, 1); + sc->sc_defaddr[0] &= ~1; /* clear multicast bit */ + sc->sc_defaddr[0] |= 2; /* set the LAA bit */ retry = 0; mtx_lock(&bridge_list_mtx); LIST_FOREACH(sc2, &bridge_list, sc_list) { bifp = sc2->sc_ifp; - if (memcmp(eaddr, IF_LLADDR(bifp), ETHER_ADDR_LEN) == 0) + if (memcmp(sc->sc_defaddr, + IF_LLADDR(bifp), ETHER_ADDR_LEN) == 0) retry = 1; } mtx_unlock(&bridge_list_mtx); } bstp_attach(&sc->sc_stp, &bridge_ops); - ether_ifattach(ifp, eaddr); + ether_ifattach(ifp, sc->sc_defaddr); /* Now undo some of the damage... */ ifp->if_baudrate = 0; ifp->if_type = IFT_BRIDGE; @@ -744,32 +751,49 @@ * Clear or restore unwanted capabilities on the member interface */ static void -bridge_mutecaps(struct bridge_iflist *bif, int mute) +bridge_mutecaps(struct bridge_softc *sc) +{ + struct bridge_iflist *bif; + int enabled, mask; + + /* Initial bitmask of capabilities to test */ + mask = BRIDGE_IFCAPS_MASK; + + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + /* Every member must support it or its disabled */ + mask &= bif->bif_savedcaps; + } + + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + enabled = bif->bif_ifp->if_capenable; + enabled &= ~BRIDGE_IFCAPS_STRIP; + /* strip off mask bits and enable them again if allowed */ + enabled &= ~BRIDGE_IFCAPS_MASK; + enabled |= mask; + + bridge_set_ifcap(sc, bif, enabled); + } + +} + +static void +bridge_set_ifcap(struct bridge_softc *sc, struct bridge_iflist *bif, int set) { struct ifnet *ifp = bif->bif_ifp; struct ifreq ifr; int error; - if (ifp->if_ioctl == NULL) - return; - bzero(&ifr, sizeof(ifr)); - ifr.ifr_reqcap = ifp->if_capenable; + ifr.ifr_reqcap = set; - if (mute) { - /* mask off and save capabilities */ - bif->bif_mutecap = ifr.ifr_reqcap & BRIDGE_IFCAPS_MASK; - if (bif->bif_mutecap != 0) - ifr.ifr_reqcap &= ~BRIDGE_IFCAPS_MASK; - } else - /* restore muted capabilities */ - ifr.ifr_reqcap |= bif->bif_mutecap; - - - if (bif->bif_mutecap != 0) { + if (ifp->if_capenable != set) { IFF_LOCKGIANT(ifp); error = (*ifp->if_ioctl)(ifp, SIOCSIFCAP, (caddr_t)&ifr); IFF_UNLOCKGIANT(ifp); + if (error) + if_printf(sc->sc_ifp, + "error setting interface capabilities on %s\n", + ifp->if_xname); } } @@ -825,6 +849,7 @@ int gone) { struct ifnet *ifs = bif->bif_ifp; + struct ifnet *fif = NULL; BRIDGE_LOCK_ASSERT(sc); @@ -836,7 +861,6 @@ * Take the interface out of promiscuous mode. */ (void) ifpromisc(ifs, 0); - bridge_mutecaps(bif, 0); break; case IFT_GIF: @@ -848,6 +872,8 @@ #endif break; } + /* reneable any interface capabilities */ + bridge_set_ifcap(sc, bif, bif->bif_savedcaps); } if (bif->bif_flags & IFBIF_STP) @@ -858,6 +884,23 @@ LIST_REMOVE(bif, bif_next); BRIDGE_XDROP(sc); + /* + * If removing the interface that gave the bridge its mac address, set + * the mac address of the bridge to the address of the next member, or + * to its default address if no members are left. + */ + if (!memcmp(IF_LLADDR(sc->sc_ifp), IF_LLADDR(ifs), ETHER_ADDR_LEN)) { + if (LIST_EMPTY(&sc->sc_iflist)) + bcopy(sc->sc_defaddr, + IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + else { + fif = LIST_FIRST(&sc->sc_iflist)->bif_ifp; + bcopy(IF_LLADDR(fif), + IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + } + } + + bridge_mutecaps(sc); /* recalcuate now this interface is removed */ bridge_rtdelete(sc, ifs, IFBF_FLUSHALL); KASSERT(bif->bif_addrcnt == 0, ("%s: %d bridge routes referenced", __func__, bif->bif_addrcnt)); @@ -896,6 +939,8 @@ ifs = ifunit(req->ifbr_ifsname); if (ifs == NULL) return (ENOENT); + if (ifs->if_ioctl == NULL) /* must be supported */ + return (EINVAL); /* If it's in the span list, it can't be a member. */ LIST_FOREACH(bif, &sc->sc_spanlist, bif_next) @@ -925,6 +970,7 @@ bif->bif_ifp = ifs; bif->bif_flags = IFBIF_LEARNING | IFBIF_DISCOVER; + bif->bif_savedcaps = ifs->if_capenable; switch (ifs->if_type) { case IFT_ETHER: @@ -935,8 +981,6 @@ error = ifpromisc(ifs, 1); if (error) goto out; - - bridge_mutecaps(bif, 1); break; case IFT_GIF: @@ -947,6 +991,15 @@ goto out; } + /* + * Assign the interface's MAC address to the bridge if it's the first + * member and the MAC address of the bridge has not been changed from + * the default randomly generated one. + */ + if (LIST_EMPTY(&sc->sc_iflist) && + !memcmp(IF_LLADDR(sc->sc_ifp), sc->sc_defaddr, ETHER_ADDR_LEN)) + bcopy(IF_LLADDR(ifs), IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); + ifs->if_bridge = sc; bstp_create(&sc->sc_stp, &bif->bif_stp, bif->bif_ifp); /* @@ -956,6 +1009,8 @@ */ LIST_INSERT_HEAD(&sc->sc_iflist, bif, bif_next); + /* Set interface capabilities to the intersection set of all members */ + bridge_mutecaps(sc); out: if (error) { if (bif != NULL) ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_gre.c#2 (text+ko) ==== @@ -204,6 +204,7 @@ sc->called = 0; sc->gre_fibnum = curthread->td_proc->p_fibnum; sc->wccp_ver = WCCP_V1; + sc->key = 0; if_attach(GRE2IFP(sc)); bpfattach(GRE2IFP(sc), DLT_NULL, sizeof(u_int32_t)); mtx_lock(&gre_mtx); @@ -244,8 +245,8 @@ struct gre_softc *sc = ifp->if_softc; struct greip *gh; struct ip *ip; - u_short ip_id = 0; - uint8_t ip_tos = 0; + u_short gre_ip_id = 0; + uint8_t gre_ip_tos = 0; u_int16_t etype = 0; struct mobile_h mob_h; u_int32_t af; @@ -362,13 +363,13 @@ switch (dst->sa_family) { case AF_INET: ip = mtod(m, struct ip *); - ip_tos = ip->ip_tos; - ip_id = ip->ip_id; + gre_ip_tos = ip->ip_tos; + gre_ip_id = ip->ip_id; etype = ETHERTYPE_IP; break; #ifdef INET6 case AF_INET6: - ip_id = ip_newid(); + gre_ip_id = ip_newid(); etype = ETHERTYPE_IPV6; break; #endif @@ -383,7 +384,12 @@ error = EAFNOSUPPORT; goto end; } - M_PREPEND(m, sizeof(struct greip), M_DONTWAIT); + + /* Reserve space for GRE header + optional GRE key */ + int hdrlen = sizeof(struct greip); + if (sc->key) + hdrlen += sizeof(uint32_t); + M_PREPEND(m, hdrlen, M_DONTWAIT); } else { _IF_DROP(&ifp->if_snd); m_freem(m); @@ -401,9 +407,18 @@ gh = mtod(m, struct greip *); if (sc->g_proto == IPPROTO_GRE) { - /* we don't have any GRE flags for now */ + uint32_t *options = gh->gi_options; + memset((void *)gh, 0, sizeof(struct greip)); gh->gi_ptype = htons(etype); + gh->gi_flags = 0; + + /* Add key option */ + if (sc->key) + { + gh->gi_flags |= htons(GRE_KP); + *(options++) = htonl(sc->key); + } } gh->gi_pr = sc->g_proto; @@ -413,8 +428,8 @@ ((struct ip*)gh)->ip_v = IPPROTO_IPV4; ((struct ip*)gh)->ip_hl = (sizeof(struct ip)) >> 2; ((struct ip*)gh)->ip_ttl = GRE_TTL; - ((struct ip*)gh)->ip_tos = ip_tos; - ((struct ip*)gh)->ip_id = ip_id; + ((struct ip*)gh)->ip_tos = gre_ip_tos; + ((struct ip*)gh)->ip_id = gre_ip_id; gh->gi_len = m->m_pkthdr.len; } @@ -444,10 +459,12 @@ int s; struct sockaddr_in si; struct sockaddr *sa = NULL; - int error; + int error, adj; struct sockaddr_in sp, sm, dp, dm; + uint32_t key; error = 0; + adj = 0; s = splnet(); switch (cmd) { @@ -722,6 +739,30 @@ si.sin_addr.s_addr = sc->g_dst.s_addr; bcopy(&si, &ifr->ifr_addr, sizeof(ifr->ifr_addr)); break; + case GRESKEY: + error = priv_check(curthread, PRIV_NET_GRE); + if (error) + break; + error = copyin(ifr->ifr_data, &key, sizeof(key)); + if (error) + break; + /* adjust MTU for option header */ + if (key == 0 && sc->key != 0) /* clear */ + adj += sizeof(key); + else if (key != 0 && sc->key == 0) /* set */ + adj -= sizeof(key); + + if (ifp->if_mtu + adj < 576) { + error = EINVAL; + break; + } + ifp->if_mtu += adj; + sc->key = key; + break; + case GREGKEY: + error = copyout(&sc->key, ifr->ifr_data, sizeof(sc->key)); + break; + default: error = EINVAL; break; ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_gre.h#2 (text+ko) ==== @@ -70,6 +70,9 @@ int called; /* infinite recursion preventer */ + uint32_t key; /* key included in outgoing GRE packets */ + /* zero means none */ + wccp_ver_t wccp_ver; /* version of the WCCP */ }; #define GRE2IFP(sc) ((sc)->sc_ifp) @@ -79,6 +82,7 @@ u_int16_t flags; /* GRE flags */ u_int16_t ptype; /* protocol type of payload typically Ether protocol type*/ + uint32_t options[0]; /* optional options */ /* * from here on: fields are optional, presence indicated by flags * @@ -111,6 +115,7 @@ #define gi_dst gi_i.ip_dst #define gi_ptype gi_g.ptype #define gi_flags gi_g.flags +#define gi_options gi_g.options #define GRE_CP 0x8000 /* Checksum Present */ #define GRE_RP 0x4000 /* Routing Present */ @@ -175,6 +180,8 @@ #define GREGADDRD _IOWR('i', 104, struct ifreq) #define GRESPROTO _IOW('i' , 105, struct ifreq) #define GREGPROTO _IOWR('i', 106, struct ifreq) +#define GREGKEY _IOWR('i', 107, struct ifreq) +#define GRESKEY _IOW('i', 108, struct ifreq) #ifdef _KERNEL LIST_HEAD(gre_softc_head, gre_softc); ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_lagg.c#2 (text+ko) ==== @@ -1581,14 +1581,10 @@ struct lagg_lb *lb = (struct lagg_lb *)sc->sc_psc; struct lagg_port *lp = NULL; uint32_t p = 0; - int idx; p = lagg_hashmbuf(m, lb->lb_key); - if ((idx = p % sc->sc_count) >= LAGG_MAX_PORTS) { - m_freem(m); - return (EINVAL); - } - lp = lb->lb_ports[idx]; + p %= sc->sc_count; + lp = lb->lb_ports[p]; /* * Check the port's link state. This will return the next active ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_loop.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if_loop.c 8.2 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if_loop.c,v 1.116 2008/05/09 20:38:25 rwatson Exp $ + * $FreeBSD: src/sys/net/if_loop.c,v 1.117 2008/06/29 13:17:01 ed Exp $ */ /* @@ -42,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -89,12 +88,6 @@ #define LOMTU 16384 #endif -#define LONAME "lo" - -struct lo_softc { - struct ifnet *sc_ifp; -}; - int loioctl(struct ifnet *, u_long, caddr_t); static void lortrequest(int, struct rtentry *, struct rt_addrinfo *); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 14 13:42:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A928A1065679; Mon, 14 Jul 2008 13:42:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DC7C106566C for ; Mon, 14 Jul 2008 13:42:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 69B6A8FC08 for ; Mon, 14 Jul 2008 13:42:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EDgNUR016711 for ; Mon, 14 Jul 2008 13:42:23 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EDgNKd016709 for perforce@freebsd.org; Mon, 14 Jul 2008 13:42:23 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 14 Jul 2008 13:42:23 GMT Message-Id: <200807141342.m6EDgNKd016709@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 145225 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 13:42:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=145225 Change 145225 by hselasky@hselasky_laptop001 on 2008/07/14 13:42:04 USB lookup bugfix. Have switched less than and greater than macros. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.h#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.h#6 (text+ko) ==== @@ -79,10 +79,10 @@ #define USB_VPI(vend,prod,info) \ USB_VENDOR(vend), USB_PRODUCT(prod), USB_DRIVER_INFO(info) -#define USB_DEV_BCD_LTEQ(lo) /* less than or equal */ \ +#define USB_DEV_BCD_GTEQ(lo) /* greater than or equal */ \ .match_flag_dev_lo = 1, .bcdDevice_lo = (lo) -#define USB_DEV_BCD_GTEQ(hi) /* greater than or equal */ \ +#define USB_DEV_BCD_LTEQ(hi) /* less than or equal */ \ .match_flag_dev_hi = 1, .bcdDevice_hi = (hi) #define USB_DEV_CLASS(dc) \ From owner-p4-projects@FreeBSD.ORG Mon Jul 14 13:46:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 153F31065686; Mon, 14 Jul 2008 13:46:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CBD1A1065684 for ; Mon, 14 Jul 2008 13:46:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C6F208FC1D for ; Mon, 14 Jul 2008 13:46:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EDkRLG017083 for ; Mon, 14 Jul 2008 13:46:27 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EDkR76017081 for perforce@freebsd.org; Mon, 14 Jul 2008 13:46:27 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 14 Jul 2008 13:46:27 GMT Message-Id: <200807141346.m6EDkR76017081@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 145227 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 13:46:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=145227 Change 145227 by hselasky@hselasky_laptop001 on 2008/07/14 13:45:42 Implement new way to read out USB devices present after advice from PHK. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#12 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#17 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#10 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#14 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#14 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_ioctl.h#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#12 (text+ko) ==== @@ -376,7 +376,6 @@ MALLOC_DECLARE(M_USBHC); extern struct mtx usb2_ref_lock; -extern struct mtx usb2_sym_lock; /* typedefs */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#17 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Hans Petter Selasky. All rights reserved. + * Copyright (c) 2006-2008 Hans Petter Selasky. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -87,6 +87,7 @@ static d_fdopen_t usb2_fdopen; static d_close_t usb2_close; +static d_ioctl_t usb2_ioctl; static fo_rdwr_t usb2_read_f; static fo_rdwr_t usb2_write_f; @@ -113,6 +114,7 @@ .d_version = D_VERSION, .d_fdopen = usb2_fdopen, .d_close = usb2_close, + .d_ioctl = usb2_ioctl, .d_name = "usb", .d_flags = D_TRACKCLOSE, }; @@ -136,9 +138,9 @@ static void *usb2_old_f_data; static struct fileops *usb2_old_f_ops; static TAILQ_HEAD(, usb2_symlink) usb2_sym_head; +static struct sx usb2_sym_lock; struct mtx usb2_ref_lock; -struct mtx usb2_sym_lock; static uint32_t usb2_path_convert_one(const char **pp) @@ -984,7 +986,8 @@ * usb2_fdopen - cdev callback *------------------------------------------------------------------------*/ static int -usb2_fdopen(struct cdev *dev, int xxx_oflags, struct thread *td, struct file *fp) +usb2_fdopen(struct cdev *dev, int xxx_oflags, struct thread *td, + struct file *fp) { struct usb2_location loc; uint32_t devloc; @@ -994,7 +997,7 @@ DPRINTF(1, "oflags=0x%08x\n", xxx_oflags); devloc = usb2_last_devloc; - usb2_last_devloc = (0 - 1); /* reset "usb2_devloc" */ + usb2_last_devloc = (0 - 1); /* reset "usb2_last_devloc" */ if (fp == NULL) { DPRINTF(1, "fp == NULL\n"); @@ -1021,8 +1024,11 @@ /* should not happen */ return (EPERM); } - if (devloc == (uint32_t)(0 - 1)) { - /* tried to open /dev/usb */ + if (devloc == (uint32_t)(0 - 2)) { + /* tried to open "/dev/usb" */ + return (0); + } else if (devloc == (uint32_t)(0 - 1)) { + /* tried to open "/dev/usb " */ DPRINTF(1, "no devloc\n"); return (ENXIO); } @@ -1090,6 +1096,30 @@ } /*------------------------------------------------------------------------* + * usb2_close - cdev callback + *------------------------------------------------------------------------*/ +static int +usb2_ioctl(struct cdev *dev, u_long cmd, caddr_t data, + int fflag, struct thread *td) +{ + int err; + + switch (cmd) { + case USB_READ_DIR:{ + struct usb2_read_dir *urd = (void *)data; + + err = usb2_read_symlink(urd->urd_data, + urd->urd_startentry, urd->urd_maxlen); + break; + } + default: + err = ENOTTY; + break; + } + return (err); +} + +/*------------------------------------------------------------------------* * usb2_clone - cdev callback * * This function is the kernel clone callback for "/dev/usbX.Y". @@ -1116,8 +1146,12 @@ usb2_last_devloc = usb2_lookup_symlink(name, namelen); } else { - usb2_last_devloc = - usb2_path_convert(name + USB_DNAME_LEN); + if (namelen == USB_DNAME_LEN) { + usb2_last_devloc = (uint32_t)(0 - 2); + } else { + usb2_last_devloc = + usb2_path_convert(name + USB_DNAME_LEN); + } } if (usb2_last_devloc == (uint32_t)(0 - 1)) { @@ -1133,7 +1167,7 @@ usb2_dev_init(void *arg) { mtx_init(&usb2_ref_lock, "USB ref mutex", NULL, MTX_DEF); - mtx_init(&usb2_sym_lock, "USB sym mutex", NULL, MTX_DEF); + sx_init(&usb2_sym_lock, "USB sym mutex"); TAILQ_INIT(&usb2_sym_head); /* check the UGEN methods */ @@ -1146,7 +1180,11 @@ static void usb2_dev_init_post(void *arg) { - /* create a dummy device so that we are visible */ + /* + * Create a dummy device so that we are visible. This device + * should never be opened. Therefore a space character is + * appended after the USB device name. + */ usb2_dev = make_dev(&usb2_devsw, 0, UID_ROOT, GID_OPERATOR, 0000, USB_DEVICE_NAME " "); if (usb2_dev == NULL) { @@ -1173,6 +1211,7 @@ usb2_dev = NULL; } mtx_destroy(&usb2_ref_lock); + sx_destroy(&usb2_sym_lock); return; } @@ -2298,9 +2337,9 @@ va_end(ap); ps->src_len = strlen(ps->src_path); - mtx_lock(&usb2_sym_lock); + sx_xlock(&usb2_sym_lock); TAILQ_INSERT_TAIL(&usb2_sym_head, ps, sym_entry); - mtx_unlock(&usb2_sym_lock); + sx_unlock(&usb2_sym_lock); return (ps); } @@ -2313,9 +2352,9 @@ if (ps == NULL) { return; } - mtx_lock(&usb2_sym_lock); + sx_xlock(&usb2_sym_lock); TAILQ_REMOVE(&usb2_sym_head, ps, sym_entry); - mtx_unlock(&usb2_sym_lock); + sx_unlock(&usb2_sym_lock); free(ps, M_USBDEV); return; @@ -2336,7 +2375,7 @@ struct usb2_symlink *ps; uint32_t temp; - mtx_lock(&usb2_sym_lock); + sx_xlock(&usb2_sym_lock); TAILQ_FOREACH(ps, &usb2_sym_head, sym_entry) { @@ -2349,14 +2388,109 @@ if (USB_DNAME_LEN > ps->dst_len) continue; - if (strncmp(ps->dst_path, USB_DEVICE_NAME, USB_DNAME_LEN)) + if (memcmp(ps->dst_path, USB_DEVICE_NAME, USB_DNAME_LEN)) continue; temp = usb2_path_convert(ps->dst_path + USB_DNAME_LEN); - mtx_unlock(&usb2_sym_lock); + sx_unlock(&usb2_sym_lock); return (temp); } - mtx_unlock(&usb2_sym_lock); + sx_unlock(&usb2_sym_lock); return (0 - 1); } + +/*------------------------------------------------------------------------* + * usb2_read_symlink + * + * Return value: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +int +usb2_read_symlink(uint8_t *user_ptr, uint32_t startentry, uint32_t user_len) +{ + struct usb2_symlink *ps; + uint32_t curoff = 0; + uint32_t temp; + uint32_t delta = 0; + uint8_t len; + int error = 0; + + sx_xlock(&usb2_sym_lock); + + TAILQ_FOREACH(ps, &usb2_sym_head, sym_entry) { + + temp = ps->src_len + ps->dst_len + 3; + + if (temp > 255) { + continue; + } + if (startentry != 0) { + startentry--; + curoff += temp; + continue; + } + if (temp > user_len) { + /* out of buffer space */ + break; + } + len = temp; + + /* copy out total length */ + + error = copyout(&len, + USB_ADD_BYTES(user_ptr, delta), 1); + if (error) { + break; + } + delta += 1; + + /* copy out source string */ + + error = copyout(ps->src_path, + USB_ADD_BYTES(user_ptr, delta), ps->src_len); + if (error) { + break; + } + len = 0; + delta += ps->src_len; + error = copyout(&len, + USB_ADD_BYTES(user_ptr, delta), 1); + if (error) { + break; + } + delta += 1; + + /* copy out destination string */ + + error = copyout(ps->dst_path, + USB_ADD_BYTES(user_ptr, delta), ps->dst_len); + if (error) { + break; + } + len = 0; + delta += ps->dst_len; + error = copyout(&len, + USB_ADD_BYTES(user_ptr, delta), 1); + if (error) { + break; + } + delta += 1; + + curoff += temp; + user_len -= temp; + } + + /* a zero length entry indicates the end */ + + if ((user_len != 0) && (error == 0)) { + + len = 0; + + error = copyout(&len, + USB_ADD_BYTES(user_ptr, delta), 1); + } + sx_unlock(&usb2_sym_lock); + return (error); +} ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#10 (text+ko) ==== @@ -140,5 +140,6 @@ struct usb2_symlink *usb2_alloc_symlink(const char *target, const char *fmt,...); void usb2_free_symlink(struct usb2_symlink *ps); uint32_t usb2_lookup_symlink(const char *src_ptr, uint8_t src_len); +int usb2_read_symlink(uint8_t *user_ptr, uint32_t startentry, uint32_t user_len); #endif /* _USB2_DEV_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#14 (text+ko) ==== @@ -1327,6 +1327,7 @@ udev->depth = depth; udev->bus = bus; udev->address = USB_START_ADDR; /* default value */ + udev->plugtime = (uint32_t)ticks; /* we are not ready yet */ udev->refcount = 1; @@ -1614,7 +1615,7 @@ /* ignore */ } udev->ugen_symlink = - make_dev_symlink(scratch_ptr, "ugen%u.%u", + usb2_alloc_symlink(scratch_ptr, "ugen%u.%u", device_get_unit(udev->bus->bdev), udev->device_index); @@ -1653,7 +1654,7 @@ * Destroy UGEN symlink, if any */ if (udev->ugen_symlink) { - destroy_dev(udev->ugen_symlink); + usb2_free_symlink(udev->ugen_symlink); udev->ugen_symlink = NULL; } /* ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#5 (text+ko) ==== @@ -26,6 +26,8 @@ #ifndef _USB2_DEVICE_H_ #define _USB2_DEVICE_H_ +struct usb2_symlink; + #define USB_DEFAULT_XFER_MAX 2 struct usb2_clear_stall_msg { @@ -108,7 +110,9 @@ struct usb2_temp_data *usb2_template_ptr; struct usb2_pipe *pipe_curr; /* current clear stall pipe */ struct usb2_fifo *fifo[USB_FIFO_MAX]; - struct cdev *ugen_symlink; /* our generic symlink */ + struct usb2_symlink *ugen_symlink; /* our generic symlink */ + + uint32_t plugtime; /* copy of "ticks" */ uint16_t refcount; #define USB_DEV_REF_MAX 0xffff ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#14 (text+ko) ==== @@ -1890,6 +1890,13 @@ error = ugen_re_enumerate(f); break; + case USB_GET_PLUGTIME:{ + uint32_t *ptime = addr; + + *ptime = f->udev->plugtime; + break; + } + /* ... more IOCTL's to come ! ... --hps */ default: ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_ioctl.h#10 (text+ko) ==== @@ -32,6 +32,12 @@ #define USB_DEVICE_NAME "usb" +struct usb2_read_dir { + void *urd_data; + uint32_t urd_startentry; + uint32_t urd_maxlen; +}; + struct usb2_ctl_request { void *ucr_data; uint16_t ucr_flags; @@ -214,6 +220,8 @@ #define USB_RELEASE_INTERFACE _IOW ('U', 123, int) #define USB_IFACE_DRIVER_ACTIVE _IOW ('U', 124, int) #define USB_IFACE_DRIVER_DETACH _IOW ('U', 125, int) +#define USB_GET_PLUGTIME _IOR ('U', 126, uint32_t) +#define USB_READ_DIR _IOW ('U', 127, struct usb2_read_dir) /* Modem device */ #define USB_GET_CM_OVER_DATA _IOR ('U', 130, int) From owner-p4-projects@FreeBSD.ORG Mon Jul 14 13:59:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 743671065673; Mon, 14 Jul 2008 13:59:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 38202106566B for ; Mon, 14 Jul 2008 13:59:41 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3569F8FC17 for ; Mon, 14 Jul 2008 13:59:41 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EDxfFU019665 for ; Mon, 14 Jul 2008 13:59:41 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EDxffl019663 for perforce@freebsd.org; Mon, 14 Jul 2008 13:59:41 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 14 Jul 2008 13:59:41 GMT Message-Id: <200807141359.m6EDxffl019663@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 145228 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 13:59:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=145228 Change 145228 by gk@gk_h1 on 2008/07/14 13:58:46 branch into sbin-pfctl Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/parse.y#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.8#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.h#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_altq.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_optimize.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_osfp.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.h#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_qstats.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_radix.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_table.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 14 17:30:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 234ED1065677; Mon, 14 Jul 2008 17:30:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6FBF1065671 for ; Mon, 14 Jul 2008 17:30:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BFE138FC21 for ; Mon, 14 Jul 2008 17:30:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EHUC1g051489 for ; Mon, 14 Jul 2008 17:30:12 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EHUCqU051487 for perforce@freebsd.org; Mon, 14 Jul 2008 17:30:12 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 14 Jul 2008 17:30:12 GMT Message-Id: <200807141730.m6EHUCqU051487@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 145230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 17:30:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=145230 Change 145230 by gonzo@gonzo_jeeves on 2008/07/14 17:30:07 mips_subr.c is gone, remove it Affected files ... .. //depot/projects/mips2/src/sys/conf/files.mips#23 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/files.mips#23 (text+ko) ==== @@ -58,7 +58,6 @@ #mips/mips/cpuconf.c standard mips/mips/machdep.c standard mips/mips/mp_machdep.c optional smp -mips/mips/mips_subr.c standard mips/mips/psraccess.S standard # # ---------------------------------------------------------------------- From owner-p4-projects@FreeBSD.ORG Mon Jul 14 17:32:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 445531065673; Mon, 14 Jul 2008 17:32:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0798B106566B for ; Mon, 14 Jul 2008 17:32:15 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0A04C8FC19 for ; Mon, 14 Jul 2008 17:32:14 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EHWEXV051638 for ; Mon, 14 Jul 2008 17:32:14 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EHWEsr051636 for perforce@freebsd.org; Mon, 14 Jul 2008 17:32:14 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 14 Jul 2008 17:32:14 GMT Message-Id: <200807141732.m6EHWEsr051636@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 145231 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 17:32:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=145231 Change 145231 by gonzo@gonzo_jeeves on 2008/07/14 17:31:43 o Sync to the latest intr_event API Affected files ... .. //depot/projects/mips2/src/sys/mips/malta/gt_pci.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/malta/gt_pci.c#3 (text+ko) ==== @@ -142,8 +142,7 @@ { struct gt_pci_softc *sc = v; struct intr_event *event; - struct intr_handler *ih; - int irq, thread; + int irq; for (;;) { bus_space_write_1(sc->sc_pciio, sc->sc_ioh_icu1, PIC_OCW3, @@ -168,22 +167,13 @@ } event = sc->sc_eventstab[irq]; - thread = 0; - if (event && !TAILQ_EMPTY(&event->ie_handlers)) - { - /* Execute fast handlers. */ - TAILQ_FOREACH(ih, &event->ie_handlers, ih_next) { - if (ih->ih_filter == NULL) - thread = 1; - else - ih->ih_filter(ih->ih_argument); - } - } + if (!event || TAILQ_EMPTY(&event->ie_handlers)) + continue; - /* Schedule thread if needed. */ - if (thread) - intr_event_schedule_thread(event); + /* TODO: frame instead of NULL? */ + intr_event_handle(event, NULL); + /* XXX: Log stray IRQs */ /* Send a specific EOI to the 8259. */ if (irq > 7) { @@ -657,7 +647,7 @@ event = sc->sc_eventstab[irq]; if (event == NULL) { - error = intr_event_create(&event, (void *)irq, 0, + error = intr_event_create(&event, (void *)irq, 0, irq, (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq, (mask_fn)mips_unmask_irq, NULL, "gt_pci intr%d:", irq); if (error) From owner-p4-projects@FreeBSD.ORG Mon Jul 14 17:40:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4936B1065685; Mon, 14 Jul 2008 17:40:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B3B91065672 for ; Mon, 14 Jul 2008 17:40:24 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0AF7A8FC1A for ; Mon, 14 Jul 2008 17:40:24 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EHeNjJ052351 for ; Mon, 14 Jul 2008 17:40:23 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EHeMNW052347 for perforce@freebsd.org; Mon, 14 Jul 2008 17:40:22 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 14 Jul 2008 17:40:22 GMT Message-Id: <200807141740.m6EHeMNW052347@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 145232 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 17:40:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=145232 Change 145232 by gonzo@gonzo_jeeves on 2008/07/14 17:39:50 IFC @145231 Affected files ... .. //depot/projects/mips2/src/ObsoleteFiles.inc#20 integrate .. //depot/projects/mips2/src/UPDATING#16 integrate .. //depot/projects/mips2/src/contrib/bind9/CHANGES#6 integrate .. //depot/projects/mips2/src/contrib/bind9/FREEBSD-Upgrade#3 delete .. //depot/projects/mips2/src/contrib/bind9/FREEBSD-Xlist#2 delete .. //depot/projects/mips2/src/contrib/bind9/bin/named/client.c#6 integrate .. //depot/projects/mips2/src/contrib/bind9/bin/named/server.c#6 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#6 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#6 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.pdf#6 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/bind/aclocal.m4#2 delete .. //depot/projects/mips2/src/contrib/bind9/lib/bind/config.h.in#4 delete .. //depot/projects/mips2/src/contrib/bind9/lib/bind/configure#5 delete .. //depot/projects/mips2/src/contrib/bind9/lib/bind9/check.c#5 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/dns/api#5 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/dns/dispatch.c#6 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/dns/include/dns/dispatch.h#5 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/dns/resolver.c#5 integrate .. //depot/projects/mips2/src/contrib/bind9/version#6 integrate .. //depot/projects/mips2/src/contrib/cpio/ABOUT-NLS#2 integrate .. //depot/projects/mips2/src/contrib/cpio/COPYING#2 integrate .. //depot/projects/mips2/src/contrib/cpio/ChangeLog#2 integrate .. //depot/projects/mips2/src/contrib/cpio/INSTALL#2 integrate .. //depot/projects/mips2/src/contrib/cpio/NEWS#2 integrate .. //depot/projects/mips2/src/contrib/cpio/THANKS#2 integrate .. //depot/projects/mips2/src/contrib/cpio/TODO#2 integrate .. //depot/projects/mips2/src/contrib/cpio/doc/cpio.texi#2 integrate .. //depot/projects/mips2/src/contrib/cpio/doc/version.texi#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/alloca_.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-ba.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-eexst.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-fmtstream.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-fmtstream.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-fs-xinl.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-help.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-namefrob.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-parse.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-pin.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/argp-pv.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-pvh.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp-xinl.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/argp.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/basename.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/dirname.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/dirname.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/error.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/error.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/exit.h#2 delete .. //depot/projects/mips2/src/contrib/cpio/lib/exitfail.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/exitfail.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/fatal.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/full-write.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/full-write.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/getopt.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/getopt1.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/getopt_.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/getopt_int.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/gettext.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/hash.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/hash.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/intprops.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/inttostr.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/inttostr.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/localedir.h#2 delete .. //depot/projects/mips2/src/contrib/cpio/lib/mempcpy.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/mempcpy.h#2 delete .. //depot/projects/mips2/src/contrib/cpio/lib/paxerror.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/paxexit.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/paxlib.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/paxnames.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/quote.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/quote.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/quotearg.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/quotearg.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/rmt-command.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/rmt.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/rtapelib.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/safe-read.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/safe-read.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/safe-write.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/safe-write.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/savedir.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/savedir.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/strcase.h#2 delete .. //depot/projects/mips2/src/contrib/cpio/lib/strchrnul.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/strchrnul.h#2 delete .. //depot/projects/mips2/src/contrib/cpio/lib/stripslash.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/strndup.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/strndup.h#2 delete .. //depot/projects/mips2/src/contrib/cpio/lib/strnlen.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/system-ioctl.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/system.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/umaxtostr.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/unlocked-io.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/utimens.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/utimens.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/xalloc-die.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/xalloc.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/xmalloc.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/lib/xstrndup.c#1 branch .. //depot/projects/mips2/src/contrib/cpio/lib/xstrndup.h#1 branch .. //depot/projects/mips2/src/contrib/cpio/src/copyin.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/copyout.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/copypass.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/cpio.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/cpiohdr.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/defer.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/defer.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/dstring.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/dstring.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/extern.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/filemode.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/filetypes.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/global.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/idcache.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/main.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/makepath.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/tar.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/tar.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/tarhdr.h#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/userspec.c#2 integrate .. //depot/projects/mips2/src/contrib/cpio/src/util.c#2 integrate .. //depot/projects/mips2/src/etc/etc.amd64/ttys#4 integrate .. //depot/projects/mips2/src/etc/etc.i386/ttys#4 integrate .. //depot/projects/mips2/src/etc/namedb/named.conf#6 integrate .. //depot/projects/mips2/src/etc/rc.d/pf#4 integrate .. //depot/projects/mips2/src/gnu/usr.bin/cpio/Makefile#3 integrate .. //depot/projects/mips2/src/gnu/usr.bin/cpio/config.h#2 integrate .. //depot/projects/mips2/src/juniper-mips/lib/libc/mips/:errfix#1 branch .. //depot/projects/mips2/src/lib/libarchive/archive_read_support_format_tar.c#10 integrate .. //depot/projects/mips2/src/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/mips2/src/lib/libc/sys/Symbol.map#12 integrate .. //depot/projects/mips2/src/lib/libc/sys/ktrace.2#3 integrate .. //depot/projects/mips2/src/lib/libgeom/geom_ctl.c#2 integrate .. //depot/projects/mips2/src/lib/libgeom/geom_getxml.c#3 integrate .. //depot/projects/mips2/src/lib/libgeom/geom_xml2tree.c#2 integrate .. //depot/projects/mips2/src/sbin/mount_nfs/mount_nfs.c#4 integrate .. //depot/projects/mips2/src/share/man/man4/ahc.4#2 integrate .. //depot/projects/mips2/src/share/man/man4/zyd.4#3 integrate .. //depot/projects/mips2/src/share/man/man9/style.9#4 integrate .. //depot/projects/mips2/src/share/misc/committers-src.dot#8 integrate .. //depot/projects/mips2/src/share/zoneinfo/leapseconds#7 integrate .. //depot/projects/mips2/src/sys/Makefile#11 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/mp_machdep.c#7 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/pmap.c#22 integrate .. //depot/projects/mips2/src/sys/amd64/conf/GENERIC#15 integrate .. //depot/projects/mips2/src/sys/amd64/conf/GENERIC.hints#4 integrate .. //depot/projects/mips2/src/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/mips2/src/sys/amd64/include/vmparam.h#7 integrate .. //depot/projects/mips2/src/sys/arm/at91/if_atereg.h#3 integrate .. //depot/projects/mips2/src/sys/cam/scsi/scsi_da.c#9 integrate .. //depot/projects/mips2/src/sys/compat/freebsd32/freebsd32_misc.c#9 integrate .. //depot/projects/mips2/src/sys/compat/freebsd32/freebsd32_proto.h#10 integrate .. //depot/projects/mips2/src/sys/compat/freebsd32/freebsd32_syscall.h#10 integrate .. //depot/projects/mips2/src/sys/compat/freebsd32/freebsd32_syscalls.c#10 integrate .. //depot/projects/mips2/src/sys/compat/freebsd32/freebsd32_sysent.c#10 integrate .. //depot/projects/mips2/src/sys/compat/freebsd32/syscalls.master#11 integrate .. //depot/projects/mips2/src/sys/conf/newvers.sh#4 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-chipset.c#16 integrate .. //depot/projects/mips2/src/sys/dev/ata/ata-pci.h#12 integrate .. //depot/projects/mips2/src/sys/dev/ciss/ciss.c#8 integrate .. //depot/projects/mips2/src/sys/dev/ciss/cissio.h#2 integrate .. //depot/projects/mips2/src/sys/dev/ciss/cissreg.h#2 integrate .. //depot/projects/mips2/src/sys/dev/ciss/cissvar.h#3 integrate .. //depot/projects/mips2/src/sys/dev/cs/if_cs.c#4 integrate .. //depot/projects/mips2/src/sys/dev/cs/if_csreg.h#3 integrate .. //depot/projects/mips2/src/sys/dev/et/if_et.c#2 integrate .. //depot/projects/mips2/src/sys/dev/if_ndis/if_ndis.c#11 integrate .. //depot/projects/mips2/src/sys/dev/re/if_re.c#17 integrate .. //depot/projects/mips2/src/sys/geom/vinum/geom_vinum_subr.c#3 integrate .. //depot/projects/mips2/src/sys/i386/conf/GENERIC#15 integrate .. //depot/projects/mips2/src/sys/i386/conf/GENERIC.hints#5 integrate .. //depot/projects/mips2/src/sys/kern/kern_conf.c#8 integrate .. //depot/projects/mips2/src/sys/kern/link_elf.c#9 integrate .. //depot/projects/mips2/src/sys/kern/link_elf_obj.c#8 integrate .. //depot/projects/mips2/src/sys/kern/subr_stack.c#3 integrate .. //depot/projects/mips2/src/sys/kern/vfs_mount.c#16 integrate .. //depot/projects/mips2/src/sys/net/raw_cb.c#4 integrate .. //depot/projects/mips2/src/sys/net/raw_cb.h#3 integrate .. //depot/projects/mips2/src/sys/net/raw_usrreq.c#5 integrate .. //depot/projects/mips2/src/sys/net/rtsock.c#8 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#3 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/include/ng_bluetooth.h#3 integrate .. //depot/projects/mips2/src/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_iface.c#3 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_ip_input.c#2 integrate .. //depot/projects/mips2/src/sys/netinet/in_pcb.c#14 integrate .. //depot/projects/mips2/src/sys/netinet/in_pcb.h#11 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_asconf.c#9 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_asconf.h#6 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_bsd_addr.c#8 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_bsd_addr.h#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_cc_functions.h#3 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_constants.h#9 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_crc32.h#3 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_indata.c#12 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_indata.h#4 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_input.c#13 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_input.h#4 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_os_bsd.h#7 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_output.c#14 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_output.h#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_pcb.c#12 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_pcb.h#9 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_sysctl.h#6 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_timer.c#9 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_timer.h#4 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_uio.h#8 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_usrreq.c#14 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_var.h#9 integrate .. //depot/projects/mips2/src/sys/netinet/sctputil.c#16 integrate .. //depot/projects/mips2/src/sys/netinet/sctputil.h#10 integrate .. //depot/projects/mips2/src/sys/netinet/udp_usrreq.c#8 integrate .. //depot/projects/mips2/src/sys/netinet6/in6_pcb.c#10 integrate .. //depot/projects/mips2/src/sys/netinet6/in6_pcb.h#4 integrate .. //depot/projects/mips2/src/sys/netinet6/in6_src.c#8 integrate .. //depot/projects/mips2/src/sys/netinet6/ip6_var.h#7 integrate .. //depot/projects/mips2/src/sys/netinet6/raw_ip6.c#9 integrate .. //depot/projects/mips2/src/sys/netinet6/sctp6_usrreq.c#10 integrate .. //depot/projects/mips2/src/sys/netinet6/sctp6_var.h#5 integrate .. //depot/projects/mips2/src/sys/netinet6/udp6_usrreq.c#12 integrate .. //depot/projects/mips2/src/sys/netipsec/keysock.c#5 integrate .. //depot/projects/mips2/src/sys/pci/if_rlreg.h#13 integrate .. //depot/projects/mips2/src/sys/sys/link_elf.h#3 integrate .. //depot/projects/mips2/src/sys/vm/swap_pager.c#8 integrate .. //depot/projects/mips2/src/tools/tools/mctest/Makefile#2 integrate .. //depot/projects/mips2/src/tools/tools/mctest/mcgrab.1#1 branch .. //depot/projects/mips2/src/tools/tools/mctest/mcgrab.cc#1 branch .. //depot/projects/mips2/src/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/mips2/src/usr.bin/cmp/regular.c#2 integrate .. //depot/projects/mips2/src/usr.sbin/cdcontrol/cdcontrol.1#2 integrate .. //depot/projects/mips2/src/usr.sbin/cdcontrol/cdcontrol.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/syslogd/syslog.conf.5#3 integrate .. //depot/projects/mips2/src/usr.sbin/syslogd/syslogd.c#6 integrate Differences ... ==== //depot/projects/mips2/src/ObsoleteFiles.inc#20 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.151 2008/07/06 20:57:35 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.152 2008/07/13 17:17:35 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -57,6 +57,10 @@ # 20080701: wpa_supplicant.conf moved to share/examples/etc/ OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf OLD_DIRS+=usr/share/examples/wpa_supplicant +# 20080614: pecoff image activator removed +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/include/machine/pecoff_machdep.h +.endif # 20080614: sgtty removed OLD_FILES+=usr/include/sys/ttychars.h OLD_FILES+=usr/include/sys/ttydev.h ==== //depot/projects/mips2/src/UPDATING#16 (text+ko) ==== @@ -22,6 +22,17 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080713: + The sio(4) driver has been removed from the i386 and amd64 + kernel configuration files. This means uart(4) is now the + default serial port driver on those platforms as well. + + To prevent collisions with the sio(4) driver, the uart(4) driver + uses different names for its device nodes. This means the + onboard serial port will now most likely be called "ttyu0" + instead of "ttyd0". You may need to reconfigure applications to + use the new device names. + 20080609: The gpt(8) utility has been removed. Use gpart(8) to partition disks instead. @@ -1067,4 +1078,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.534 2008/07/07 13:08:30 remko Exp $ +$FreeBSD: src/UPDATING,v 1.535 2008/07/13 07:20:14 ed Exp $ ==== //depot/projects/mips2/src/contrib/bind9/CHANGES#6 (text+ko) ==== @@ -1,3 +1,7 @@ + --- 9.4.2-P1 released --- + +2375. [security] Fully randomize UDP query ports to improve + forgery resilience. [RT #17949] --- 9.4.2 released --- --- 9.4.2rc2 released --- ==== //depot/projects/mips2/src/contrib/bind9/bin/named/client.c#6 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.219.18.28 2007/08/28 07:20:00 tbox Exp $ */ +/* $Id: client.c,v 1.219.18.28.10.1 2008/05/22 21:28:04 each Exp $ */ #include @@ -1440,14 +1440,6 @@ } /* - * Hash the incoming request here as it is after - * dns_dispatch_importrecv(). - */ - dns_dispatch_hash(&client->now, sizeof(client->now)); - dns_dispatch_hash(isc_buffer_base(buffer), - isc_buffer_usedlength(buffer)); - - /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/mips2/src/contrib/bind9/bin/named/server.c#6 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.419.18.57 2007/08/28 07:20:01 tbox Exp $ */ +/* $Id: server.c,v 1.419.18.57.10.1 2008/05/22 21:28:04 each Exp $ */ /*! \file */ @@ -540,6 +540,14 @@ attrs |= DNS_DISPATCHATTR_IPV6; break; } + + if (isc_sockaddr_getport(&sa) != 0) { + INSIST(obj != NULL); + cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO, + "using specific query-source port suppresses port " + "randomization and can be insecure."); + } + attrmask = 0; attrmask |= DNS_DISPATCHATTR_UDP; attrmask |= DNS_DISPATCHATTR_TCP; @@ -549,7 +557,7 @@ disp = NULL; result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr, ns_g_taskmgr, &sa, 4096, - 1000, 32768, 16411, 16433, + 1024, 32768, 16411, 16433, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { isc_sockaddr_t any; @@ -2369,7 +2377,9 @@ } static isc_result_t -add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr) { +add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, + isc_boolean_t wcardport_ok) +{ ns_listenelt_t *lelt = NULL; dns_acl_t *src_acl = NULL; dns_aclelement_t aelt; @@ -2379,7 +2389,8 @@ REQUIRE(isc_sockaddr_pf(addr) == AF_INET6); isc_sockaddr_any6(&any_sa6); - if (!isc_sockaddr_equal(&any_sa6, addr)) { + if (!isc_sockaddr_equal(&any_sa6, addr) && + (wcardport_ok || isc_sockaddr_getport(addr) != 0)) { aelt.type = dns_aclelementtype_ipprefix; aelt.negative = ISC_FALSE; aelt.u.ip_prefix.prefixlen = 128; @@ -2438,7 +2449,16 @@ result = dns_dispatch_getlocaladdress(dispatch6, &addr); if (result != ISC_R_SUCCESS) goto fail; - result = add_listenelt(mctx, list, &addr); + + /* + * We always add non-wildcard address regardless of whether + * the port is 'any' (the fourth arg is TRUE): if the port is + * specific, we need to add it since it may conflict with a + * listening interface; if it's zero, we'll dynamically open + * query ports, and some of them may override an existing + * wildcard IPv6 port. + */ + result = add_listenelt(mctx, list, &addr, ISC_TRUE); if (result != ISC_R_SUCCESS) goto fail; } @@ -2468,12 +2488,12 @@ continue; addrp = dns_zone_getnotifysrc6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; addrp = dns_zone_getxfrsource6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; } ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#6 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -6067,7 +6067,15 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 options; + it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports and avoid-v6-udp-ports options can be used to prevent named from selecting certain ports. The defaults are: ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#6 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -3078,10 +3078,18 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports - and avoid-v6-udp-ports options can be used - to prevent named - from selecting certain ports. The defaults are: + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 + options; it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports + and avoid-v6-udp-ports options can be used + to prevent named + from selecting certain ports. The defaults are:

query-source address * port *;
 query-source-v6 address * port *;

==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.pdf#6 (text+ko) ====

@@ -1583,19 +1583,26 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 743 0 obj <<
-/Length 3152      
+/Length 3153      
 /Filter /FlateDecode
 >>
 stream
-x[w)(=pˣ9I[۱՗y)X	I$]݁jȵD&'la0X-
?{qsq`+MUe{OĠĄ1bj180bPEbDŐfJ:r^^1cEebF!ԉqF2q`
C&!qy'Yo?W?y}
gw&-&{LrrY	08Zad8ANl7`GLALQqd2~TbxOh_NsP_?xFLe1"cJA0Q:)s꯹/AΊs^0xbNGE^'R[LMàa!pωa	wEs}$*<(yT
c;PB1~OG.{Ii)>?vYa
we1'jq2I	R둶߶a;\VunrR)x5	-b@80xP<,S	
-ut$%ښ;HjB
xI:
-O.{_I	*U/:}}MoG|3%`zsq`(JZ{z8(aAP:<ӑ='`!eÐā!z(Ieemn;O-Kb*b @)x@ЎXCv PAs"歘
-`QuQ@'* FQ=u|M*a',b⊱-/u߼b:.BY-Xx{3xmLBݕY|rCǵNP,/0	VK80yQQ^?5L?!樔+x[w)(=kNvliZ	UI*.Y;ȵD&'l#MM&q71NE̖gtr동gz-\~HWYBe˫__}s凋_/:{u
+=3*S_%Y5@	sOgR	og~'?ݙfF	g~.PQh"X.SzCvrE\\Lbt;]Ϻ:sO=T+MZoz/~.{`E)Ց޳a~l?7oV;Cbb!FT
#&F=#QںHyѬA)]Gn>u;0q2X0:q3H&Իa~Ѿe	f[YV
+y'r;LjS
No7ev,n)qL䶖A  endobj
 742 0 obj <<
 /Type /Page
@@ -1972,7 +1979,7 @@
 800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.2773 112.292 511.2325 121.3978]
+/Rect [499.2773 112.292 511.2325 121.2483]
 /Subtype /Link
 /A << /S /GoTo /D (subsubsection.6.2.16.17) >>
 >> endobj
@@ -1993,7 +2000,7 @@
 803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.2773 76.197 511.2325 85.3027]
+/Rect [499.2773 76.197 511.2325 85.1533]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.6.2.17) >>
 >> endobj
@@ -2016,23 +2023,19 @@
 /Filter /FlateDecode
 >>
 stream
-xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
-[|tBܚ

ĠY&a
9+ZhĝoZihdcN=wܝ
`Z)a=TXK*d"0ݝbg؊nͅ
-"ЬMNhRv ڙDkm{R&-PqP֕Hx>X&	B~\B BZth\{KDPi"!rQ.jG+䶾'x8 #m7?	;0~P-?!B늟}9UW܈m+QI؁1joQ+VDyF^.Yw2nʒbnWdOy
-^fb(a$AzUIIe$/Lf2,YbNj"5bu[th6.@tpANsp9=;z$MZ.^x|y%2 Cނ)qX-"xt/@HJ}^譥ۼ\lt4uaXͺ©شx+na~КZ'Z*߉jz`0(*Mb<_&kW]pxU(aF=Ҥ(іmd~TqisN|ᚇzTӪ٠,
-tb'W\A+YW'5ERyyO 17Lkogjlu)PgC1`X1v`P$\ɸQskb[jU/G3yT[>L,rJ v?w.a;r41I4oJb_e(:" QChwݙ2UAX!
-j@r?*^P-ALPq6A@#Ɛ!AHj;[T9	
->&b2+xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
+"ЬMNhRv ڙDkm{R&+f芍x0Gԣ
{pLv؁ vx-Þ;+$%߸DZ&x6vKlƀ V݌%C}3qQׯӵfmy=/lA~3~1jh~*}'Wĵ:Zba$Оꂄ'wA{t溜_G]gofgݲ;wljM]?¸[)M'U3L;Li)M{A9zZ!ͦ>8j]o[/{jo?0s?7~Xlo^{F^@p~<_=R93h>Ɏ6½s$	;cP^ҫ
+NՠX]b.=WƳq<[N3ΌGPG7e3+
+Y(@A` (@P$&
+IMy^V,TX1[?RWnj!x5]Vا}
ۋRv``~A3_Wޚpo;pܫ;z5 1VC	#dLuL hx:o>Hb9BB]w"8"i#x.	 1#Aަ
ň\q^to!byiԚe@+ZmLLj63@cFvAp]?QDfDx:Xq&6-bO%{_e+h}:v)C0P<\
ujrP?}T?GJe3ݝR+h
+	+00ݑ#q
> >> endobj @@ -2136,7 +2139,7 @@ 822 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 603.1591 539.579 612.0157] +/Rect [527.6238 603.0594 539.579 612.0157] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.1.2) >> >> endobj @@ -2185,21 +2188,21 @@ 829 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 519.3733 539.579 528.3296] +/Rect [527.6238 519.3733 539.579 528.479] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.5.3) >> >> endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 507.4181 539.579 516.3744] +/Rect [527.6238 507.4181 539.579 516.5239] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.6) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 495.4629 539.579 504.5687] +/Rect [527.6238 495.4629 539.579 504.4192] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.7) >> >> endobj @@ -4820,22 +4823,20 @@ /ProcSet [ /PDF /Text ] >> endobj 1244 0 obj << -/Length 2446 +/Length 2371 /Filter /FlateDecode >> stream -x]sFݿBon~ュb6[E M ,7@ZFٴfq ,-\Z\޶lG\Õ`xcƲLXզlZZiGgQ y UfVp -ЌkN1h Ў9짭_G§@H P 7U+ꉣ (jTmh⾪py$\-3eL-Q -~b׿rzwdFn?#5`?knޛhw$C?=^Ǟem -bOzen`U}r$_U@q!"E.8\1ᘞE8ЊvAJD t) -Sm0L@i{CA֫E,F6#-!A֝Rjh%){.p:!H(p ~Jrܴ#D҂{I Xͦ8RJaE܎_nj~pGŒQ R.XL-7H {+?76X!*l(j.^$=0|`xD7ayH'0gWD4{!c˼ 8}]ž!6WЂd3i튧∄e~!(Xd4(HdqO8`R;XT/h5<[`TGp5A,QrqlW= @e.Vrء^ -|Av4]a) Ej i\񔋀I1eVo"XjYķw>g\D -GCOSP.M=pjJ@b}*A*.߿f: U[~=~|{!RvmxncO,=UMB$_Eg$`e^OEU6V -԰m0 Q1-&yg`% u\ f`QBgj?z[EDfu1]Bz xDmD]]GsK̀'-^,GpUW>bqYVW]PƘb`W&x ;wI8Ag+ڏ"VtZ>ӈQ;籃)R[&ϣLBȅzTvOF~oNWRqb}ZS70t"v"Bd8 O_5Vp}Dm HN#êyDC^\,]Ny|$RZX`XP ï̻%wYgp5r)ܵtYިiԖF{endstream +xY_sFQ7f/V#71Tϥ#~Xkua+%jfOcIn$y*2/{}^eE~Y; 42a*8ZeTt_CH-@3h7|KrUEc\ULQ.HxT:2fxAh50 ;1_wlHfW ;{:ûZ~> endobj 370 0 obj << -/D [1243 0 R /XYZ 85.0394 650.4851 null] +/D [1243 0 R /XYZ 85.0394 644.6312 null] >> endobj 1246 0 obj << -/D [1243 0 R /XYZ 85.0394 625.2941 null] +/D [1243 0 R /XYZ 85.0394 617.8313 null] >> endobj 374 0 obj << -/D [1243 0 R /XYZ 85.0394 171.1138 null] +/D [1243 0 R /XYZ 85.0394 131.6963 null] >> endobj 1006 0 obj << -/D [1243 0 R /XYZ 85.0394 149.3849 null] +/D [1243 0 R /XYZ 85.0394 108.3585 null] >> endobj 1242 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F39 863 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> @@ -4865,26 +4866,25 @@ /ProcSet [ /PDF /Text ] >> endobj 1249 0 obj << -/Length 3623 +/Length 3641 /Filter /FlateDecode >> stream -x[s6_sf<~f{\wt>(hjKeo @}YvҹNL ?-㝝={=^%{6W_7^BTOP-=D)(_5(wo>dD)O*& UZ&j NkV|*7ZR媠c1WpJSCs,\}h$-G g}qv=e}Y-fI:d_!XP^|\⁀{']a^zvjIic͛d$^x & - (ٶr)Nz4s|Fai+`t[L΃l:1;񱖅 zېBB R wUĴbr2@B \5b@P)tu;Y}APzфm=p-zC!9Ʋ.I(z[MI+E._ʼ 9}dTJ:]l{C9)7L -X289Z;!U{QۺNy8Kf~ d_@9vR> R jt?SI+mǛcD&e=x;?(A0{|irsw&% Ku60с$cԍ+1FQLx!] .%IÖI5 aԆߕK*B4~0@$^h=3K}KτdwsRaxZ(?[xۓώ*71˸~eTt"B׫gȚ L|RLH8Wo&^m&xwn-~l ,jZ6z ApJe>yTCƓ:-Li'Ĩ\Tl< d>C>ٿ62ȥ!%;w\V˖H_H"v3 i:=+!- -r* a18Np:1$N83׃gZ0A =tN)=:zK*>FJO2^+D8bm/<h P7q-,vaSk"__ʱ1R|z - -pl#3hFacsdairxaGn q5{VؤMlܯ%rS7xER<a@;NDc3|Omܣ`LJT*J}~>t(e"z\Sg|7VJU|/I& F8 jtxAAL6lrS!^endstream +x[s_P3&GNilV'&y8G#-}wR̴qX,~]@RŸLRz/3oE"Ur^{hB1<T^.N/oWΩϳThq#ٛ|2;yj9{{k*}?x5W.Q7~#5<Ʒ7ᆪO?'x7Wpq}ۮ^% .䷋KXRGBy/61"ĚŧZC)ĉDrnp0Ȕ,"5ڴRjJʑ +oz^r4^6.MRMnz+%Hf9dM}ojS6{*+jJY4?c7mA})vܼ_yNZ Vh" yФZ4!3! ʨxOYEJPWjobpqztl\)l[5h% +蒜V4ZF>쏭T*<+-/lY08`aBoOqJ;pgT@*PkEKBޞã`.}@y3w?n 2V=HEjR,[ +-/Cs1rL)##{%UgN+알آ^Ib[^IW"a"+6 a JvUc{>G,# 9:UͮDgk&9ַil:l- +sd4%.hQz2?m[.|tp%ʛP~I idN$ g3@NXtޜN*H+X289R;!U{ RۺNY8$K+/i+PTCOh-CxeI6d hUh?YMo_nE* +!96SUIO*Kp){z! XkM]zx9ŗxz&\+}6C>LjkI ٭g">BT=B`XuNXkYZc5g'09)dgSjp>%dbSn2H[B-='5zoM_ ӡ!yɾ'ɟ[OYk,F< endobj 1248 0 obj << /Type /Page @@ -4897,181 +4897,193 @@ /D [1248 0 R /XYZ 56.6929 794.5015 null] >> endobj 1247 0 obj << -/Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1253 0 obj << -/Length 2665 +/Length 2555 /Filter /FlateDecode >> stream -x]o8=o-{vO@"-U~۲8(}STI0gت̼mXӢ} hv=R$ZclߤBj8h>$'Em'OQΧ'7H.DD;3>2MRI;).b;M׊}^`=pŌ૘b3{:TPEYif^[j@{LѶd}0gɬ|]4ݹdAs#h`\3:PC,8c#'1ݑt}c=.Ep q0e2U^v`1BvXG<1 !?ဍkA4h&&_(oF6)'6J{^_bL{@ ,PDkbNMCˏ@YD[$s's"'H#| "3`5ckb]Aá=_DKo0DdN1feӢ=V5}o862nE5g!r*:MSLQ!vC9i]- <&-{0@Ww J/208Eäut@>&Dg]U N/&e@>-Oՠ~6ف -H# S)C^00 ~`Smcq-Ōy"OD+0p\z?Lu1Qoi&4kAg@2 y\6RŏoW|awlW+]!xz8&!.r]ƁȈ憧Bc'PTe d &<3m>}B#O -e\2c]Χjn!;]9Gd>:*i -("”)8-aTP}@T֪|ٹkfu~"Z޻#B8Ijg7HT --g)kyls`"7aqȸeˆr (E+xZ_s8ϧ)3I=v۴ݴunrll HEe7fn:S$H +G&/_.fYLA',ؿTfNOReb:SZZI{-SKvDBLR#ax"ԛyU=P-ɇgSoԷkQz;7Xҧ/b[ 5=a}q:_smy[4p)RrI,E᧜Ÿ)tX2UmCoNizz1@]^ +"om ˪"j삲q8I bvQx!'$re>s> +ULNW4-jv^-hX/ВA۲!Hȴ5ͦ{:s-q4("&d 76_7bhl;6*J'ӌã7OJ2Z2סqSOHZ¦$B\cM3 u4b^~dL4TPk+7/BH0bh7;Gy#vwr(֡sjnlweqGzmMxKB-ڱ;5 +H{5S& +s ؄財 +-}(Z͢w +Fi:3: +3 L7U=Le4OmN+&+weLW}Ԃr%&k8Ӥ򴿴?Þ]h8c |u^<&KRNA$SŖzu<6| +'mK䯱+iDrK>A^"[uC,k/p(@⁝0zbEZ؀+ 8$1rհ'SJ a >K%-=Xg;aY+NG5}V]՟f`H؛rf(·ME/ᲁIaIgR a+zBj,z` zҹT endobj 1252 0 obj << /Type /Page /Contents 1253 0 R /Resources 1251 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R +/Parent 1255 0 R >> endobj 1254 0 obj << /D [1252 0 R /XYZ 85.0394 794.5015 null] >> endobj -378 0 obj << -/D [1252 0 R /XYZ 85.0394 141.2512 null] ->> endobj -1255 0 obj << -/D [1252 0 R /XYZ 85.0394 118.94 null] ->> endobj 1251 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1259 0 obj << -/Length 3339 +1258 0 obj << +/Length 3193 /Filter /FlateDecode >> stream -xڭZs6_*3N5m%^d[ItkK%'>lٹd2H-J\07npSSF&u#)c`iX-4!xhh=<" ?sz.#@ vUUVL{|!-Qk]B%GB$Rd@/-.+ߝ4]sĞT*W#)$ʟP_C |姲uͩD⥐CVqCi=˜XKuL}=0mZ:94lTbR3eAi4ՄCKg@/uU]4Ϻ`_MG%ݾZL)ީx<6O"38MPp=亰kB8y X!q(P`4Wũtv};#CJCEgЯO~M~/<+xڭZKsWtՊ+yx&ڝamf(R+R8>%$)x4@%"6It:B,`d'Z]Ji,Gl(o 8O?z2O(럯/\J|)<^zO#)=N0pusw?]\kW + b B*:"i-6:Va#{YIFD3ɹ ШH(Mha[ִ_ƗfQZ\1]FI%SSOz_o[wT ]ebx׽RfLHil5n}SdAj@sO#_4~-$vx.ꆇVۓe$DNK)4@m"2dfeо]cmP4ݥA^Ь+0Pa\v +n}؎`v{n\c=3q° 7{ 9߀1?"&+8jMd7 V{.)44A䪄]V<'>=t+b!C\Cަa e %t.ݠϜKb[٢=i9a!g<0cLK _?^^nLv !JTngc{+5_jg0CT̑z*D]3Ѐ!l8VeUv=&wWD+@<9+dD4vtm=sNCIQi[![TVyhF"~EO4 p^S n m>z";F +XqoXqQRPB>Y͹jea|'> endobj 1262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [361.118 694.3759 409.8647 706.4356] +/Rect [361.118 590.715 409.8647 602.7746] /Subtype /Link /A << /S /GoTo /D (configuration_file_elements) >> >> endobj 1264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [347.1258 314.3269 404.2417 326.3865] +/Rect [347.1258 196.3262 404.2417 208.3859] /Subtype /Link /A << /S /GoTo /D (journal) >> >> endobj +1259 0 obj << +/D [1257 0 R /XYZ 56.6929 794.5015 null] +>> endobj +378 0 obj << +/D [1257 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1260 0 obj << -/D [1258 0 R /XYZ 56.6929 794.5015 null] +/D [1257 0 R /XYZ 56.6929 751.6696 null] >> endobj 382 0 obj << -/D [1258 0 R /XYZ 56.6929 769.5949 null] +/D [1257 0 R /XYZ 56.6929 674.5298 null] >> endobj 1261 0 obj << -/D [1258 0 R /XYZ 56.6929 749.7681 null] +/D [1257 0 R /XYZ 56.6929 647.321 null] >> endobj 386 0 obj << -/D [1258 0 R /XYZ 56.6929 443.842 null] +/D [1257 0 R /XYZ 56.6929 331.2658 null] >> endobj 1263 0 obj << -/D [1258 0 R /XYZ 56.6929 420.887 null] +/D [1257 0 R /XYZ 56.6929 306.5278 null] >> endobj -1257 0 obj << +1256 0 obj << /Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1267 0 obj << -/Length 2860 +/Length 3155 /Filter /FlateDecode >> stream -xڭ]s۸ݿB}g"'Oۗ=eqBHw PD)餓pX,vg )eJ5z\̽f1OwlfvxٔYgwߒtw}{9%&kÒn>L>o?~xwWJn>~ o/jpb]_n/n%֗3|w6[ڿ\TVϞaRbPZZI0?.>0fҩSڦZ(3kZk)i8yxjʆS|rf|,:OyYHjB Huy9*OHIY~ g.UX4(%6ZWu~͊}5eMpݶH'Ryk-b"͒3&jYۤ,/~E􎴭ܺ}&`S4/ݽ4P7墯ڦ , /sUݣn- W5N  Γn[,Jڝ'h7~CHV8}9]#ܷSy2peGuyj^ m腩뗱Vt7S:Pi 8b:z ܤC`%].KwixM?EFT -#iLuO*sQE;GjDX+ϋ0PM0v,U67c!)iD Z="sشOP'mEeLеXx2.Ț36D҇b?"Oȥ5{Fva# e,G<5'l>Z a\XϻxqF3Ť,Or^֑cCʞ-^,wVܞy-|Xb7W&W+W8\ d,ˇ)uYQB \wdR%(+")k.nƾ*B`OjTرe{)`38"esPFAEoZ;ZJQÌ>͋1bjKJB&8 -X&\kz@%dG | >Bǡu\ dž"߶`ٗsITݟCو-4 -1k!䖁JAj]fKͶ.7%8#HWy =s|?vePæ&gз_ ̠V-HSpmG?$!XJs_!qICźmҳ(Ӹ{JzBBE autEo 9O*l)+A/0ra -O\:jy5*ևyOwe¶J ag`5:Ͻ_/<(;AW|.tE32YpbZ>Ftç0+i\z_gq,s~7LV22p -:%ͼ) -AB~PƁ%!.,s5p#Զ*j,pI5'C-X 䙻$nr.,_A]O84sv°~7K0kt-!CW;JfiBWjȌCKD7>*)13QE H]ǹan 2Αꜽo/P#PoLOb 4yCZ3ܑ&+Xп(gfzs}' A0a@$y\#6]Ypl+xڭr6m'Gg:8Yẃ(5)kO7A%g+[:h4@?ə6:3$3Ζ+1{$,<"O:eQxxHS9{\:_oʊy]/l,G>tn3nn?^/dj%ẀOw?O?<\cpRh\ȗ_,+,4D$L6W=?zA:ƦU&-XYiwYD®-#J~eO-eUuXj|U2 ٞLSM̮٥N`_ +,ofF<;5}[论.}KǏ0bٕMTKy͕bʪ"(_.m&*A=(VuPtkUdScaphDm#DLc0&|O3Ž/Xك =Մ+,qa ڱ1iƛv {Qfy]4cw cN!ͫ#k[mC.vd'>I$m⤵"axNcL#ބz:ħb$QdpX̘!A+ZxJw0Fh5 Xug$+>зv~8,p| W;eUHu z*\Kﺧ".ATe&W2ұc)Đ]0ba1n{S3&GvZ]E\ถp|vJߡP첆JP"v`i6VLO +>N%`?r~:IPaCM?U4Q!TJ+b? $'gHϺ8|wXgV|F>MMϐ$ǃ̪8gzH)!l>SkbuaL0l[qNÍkKA{RxX?&4~+`a ⛻}f> endobj 1268 0 obj << /D [1266 0 R /XYZ 85.0394 794.5015 null] >> endobj 390 0 obj << -/D [1266 0 R /XYZ 85.0394 690.2056 null] +/D [1266 0 R /XYZ 85.0394 568.5356 null] >> endobj 1269 0 obj << -/D [1266 0 R /XYZ 85.0394 665.1198 null] +/D [1266 0 R /XYZ 85.0394 542.9142 null] >> endobj 394 0 obj << -/D [1266 0 R /XYZ 85.0394 302.1184 null] +/D [1266 0 R /XYZ 85.0394 177.2349 null] >> endobj 1270 0 obj << -/D [1266 0 R /XYZ 85.0394 278.2032 null] +/D [1266 0 R /XYZ 85.0394 152.7841 null] >> endobj 1265 0 obj << -/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F62 995 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R /F62 995 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1273 0 obj << -/Length 2998 +/Length 3133 /Filter /FlateDecode >> stream -xڵ]s6ݿbN*DMIi=}we[]ɑu3PKiNfBA-BĹ1%Xe"]dM]]fT D%s"+_F&4LfXkw煈p]u/7|+o" +!uoԀeh]IwJU*-|{? -` Mnw5hvXfWm-1e V- =-gSR^un*v=+Sa`fV鑛-F{-zEqV'b\4H$\CFVIB"@Q⁈ed&)$u(y¦>NAE)~\CS+>q8P6 0e-u?I%B"V?)π,Z{$(.Ci603`!ۢ_MyTY~;@:S#YR%5)TeԳªtm~uBs^HOj!0V|S8ntͦ#!%2kq jø UZn2(7d 7)q|ܕv-AsVG]zjAUZGg-'`ݐ&Ҭ1XJ{ܐhHUӱՠ/Wt9TQZU ;5~݋bEP3dPp>!* ($3n2!~;&=ǘ֬3y̍X(;骩KR8?4TbL3C9 "i($bjŤ]55$dEH$Gk -r--d5غ( o(5#} ?9ŏMl䛺ȱʴx)5-1GEv MO-V{[VwL쾟IJ&`E +|}8N|绻&Qޡ$r1 -J6FE 0᫠-LQ QwFҜ2Io"85yC:%NSL6&R #uLBό9ekf50cp}4b Ҳ92ca,eL2:zpUK5c`쭆?Q_) mˆqKZ98p t"i? j=7( %|Hx f<21f44W)p&d_圄W#9o&-vRjgXxnyBNգM>SnrOMr3妞,7Tqtqfrj :{~u~_Nί‹|:dkr*f+1?g>y"-J@Y+iC^LFҸ-m55Mel?@$vw%Am{>ԭKPz{=Ade;qNA3!辘rbC-M-39P^R{n+I펃/$/ɣޕ ̽51h=[=]'~LSV7N-͢rVb茘oSmgS@'o7;Q L?֫]Űq <řIrHr ni䡍S 8n 8)!uaהxw\)) +xy3:er2~KaHc( im,aB*7EȈFh1>C1LC"HBJx~cʇ© ܲiX`UG2{ȘVG}Pӓ@Vv`ZM∻E%y6#*2kq C@hA =w~ncC y+Z  % c>/\bhᮉi#nVOJLhУV6BiٵזiN+b+jH,+CԱ(+GCB ]̈́ji+S>0T_W$Ÿk!)&uь:jgB{n|-3xuM3LXޟt-M1Yh}LϘ93s6㷌 bՠuc5S86_OggraX~1_K lzj]UA|;@w4>瑈)_r8ST*b I̞\Nq_x.ГchS'v߻X> endobj 1276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [213.6732 554.0172 286.8984 566.0768] +/Rect [213.6732 432.1255 286.8984 444.1851] /Subtype /Link /A << /S /GoTo /D (rrset_ordering) >> >> endobj 1277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [209.702 475.7236 283.4678 487.7833] +/Rect [209.702 354.4169 283.4678 366.4765] /Subtype /Link /A << /S /GoTo /D (topology) >> >> endobj @@ -5079,10 +5091,10 @@ /D [1272 0 R /XYZ 56.6929 794.5015 null] >> endobj 398 0 obj << -/D [1272 0 R /XYZ 56.6929 622.2509 null] +/D [1272 0 R /XYZ 56.6929 498.9148 null] >> endobj 1275 0 obj << -/D [1272 0 R /XYZ 56.6929 600.0717 null] +/D [1272 0 R /XYZ 56.6929 477.595 null] >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 14 17:49:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC75F106566C; Mon, 14 Jul 2008 17:49:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6EECA106564A for ; Mon, 14 Jul 2008 17:49:33 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5604D8FC15 for ; Mon, 14 Jul 2008 17:49:33 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EHnXEx052991 for ; Mon, 14 Jul 2008 17:49:33 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EHnXpo052989 for perforce@freebsd.org; Mon, 14 Jul 2008 17:49:33 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 14 Jul 2008 17:49:33 GMT Message-Id: <200807141749.m6EHnXpo052989@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 145233 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 17:49:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=145233 Change 145233 by gonzo@gonzo_jeeves on 2008/07/14 17:48:48 Merge OUTPUT_FORMAT values from HEAD Affected files ... .. //depot/projects/mips2/src/sys/conf/ldscript.mips#8 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/ldscript.mips#8 (text+ko) ==== @@ -30,8 +30,8 @@ * $FreeBSD: src/sys/conf/ldscript.mips,v 1.2 2008/04/30 12:44:58 gonzo Exp $ */ -OUTPUT_FORMAT("elf32-littlemips", "elf32-bigmips", - "elf32-littlemips") +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", + "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) From owner-p4-projects@FreeBSD.ORG Mon Jul 14 18:49:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33171106567B; Mon, 14 Jul 2008 18:49:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA9211065678 for ; Mon, 14 Jul 2008 18:49:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E38F78FC25 for ; Mon, 14 Jul 2008 18:49:33 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EInXim059120 for ; Mon, 14 Jul 2008 18:49:33 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EInXbU059118 for perforce@freebsd.org; Mon, 14 Jul 2008 18:49:33 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 14 Jul 2008 18:49:33 GMT Message-Id: <200807141849.m6EInXbU059118@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 145237 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 18:49:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=145237 Change 145237 by pgj@disznohal on 2008/07/14 18:48:39 Rework in www/hu/projects Affected files ... .. //depot/projects/docproj_hu/www/hu/projects/projects.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/projects/projects.sgml#4 (text+ko) ==== @@ -2,7 +2,7 @@ - + @@ -20,33 +20,34 @@ -

A FreeBSD fõ fejlesztési iránya mellett, rengeteg - fejlesztõ dolgozik az élvonalban, hogy új - irányokba bõvítse ki a FreeBSD - funkcionalitását. Kövesse a lenti linkeket, ha - többet szeretne megtudni ezekrõl az érdekes - projektekrõl.

+

A &os; fõ fejlesztési iránya mellett rengeteg + fejlesztõ dolgozik azon az élvonalban, hogy új + irányokba bõvítse ki a &os; + funkcionalitását. Amennyiben többet + szeretnénk megtudni ezekrõl az érdekes + projektekrõl, kövessük az alábbi linkeket.

- Ha úgy érzi, hogy egy projekt hiányzik a - listából, kérjük küldjön egy URL-t - és egy rövid (3-10 soros) leírást a - www@FreeBSD.org levelezési - listára. + Ha netalán úgy éreznénk, hogy egy + projekt hiányzik a listából, küldjünk + egy URL-t és egy rövid (3-10 soros) + leírást a www@FreeBSD.org + levelezési listára. -

Továbbá, néhány projekt ezek - közül rendszeresen publikál - státuszjelentéseket, amelyek megtekinthetõek a - státuszjelentések - oldalon.

+

Emellett néhány itt szereplõ projekt + rendszeresen nyilvánosságra hoz + helyzetjelentéseket, amelyek megtekinthetõek a helyzetjelentések + oldalán.

-

Dokumentáció

+

Dokumentci

+
    -
  • FreeBSD - Dokumentációs Projekt: A FreeBSD - Dokumentációs Projekt azon emberek csoportja, akik a - FreeBSD dokumentációját (mint pl. a - Kézikönyv és GYIK) írják és - karbantartják a projekt számára. Ha segíteni - szeretné a projekt munkáját, kérjük - iratkozzon fel a freebsd-doc@FreeBSD.org levelezési listára - és vegyen részt a munkában.
  • +
  • A &os; Dokumentációs Projekt: + A &os; Dokumentációs Projekt azon embereket + tömöríti, akik a &os; + dokumentációját (mint például a + kézikönyv vagy a GYIK) írják és + tartják karban a Projekt számára. Ha + segíteni szeretnénk a projekt + munkáját, iratkozzunk fel a freebsd-doc@FreeBSD.org + levelezési listára és kapcsolódjunk be + a munkába.
  • -
  • FreeBSD Erõforrások - Kezdõknek: Erõforrások kezdõ - felhasználóknak a FreeBSD-hez és a &unix;-hoz - általában.
  • +
  • Források kezdõknek: + Források kezdõ felhasználóknak a + &os;-hez és a &unix;-hoz általában.
  • -
  • - RELEASE/SNAP keresõ a FreeBSD FTP szerverekhez: - Egy oldal, amellyel bárki megtalálhatja a keresett - kiadást, vagy snapshotot az FTP szervereken. Az adatbázis - naponta frissül hajnali 3-kor, melbourn-i idõ szerint - (UTC + 10 óra).
  • +
  • Kiadások/pillanatkiadások keresése a &os; FTP szerverein: + Egy olyan oldal, amelyen keresztül az FTP szervereken + bárki kereshet normál- vagy + pillanatkiadásokat. Az adatbázis naponta, melbourni + idõ (UTC+10) szerint hajnali háromkor + frissül.
  • -
  • The FreeBSD - Diary: Hogyan dokumentumok gyûjteménye kezdõ &unix; - felhasználóknak. A cél egy rakás +
  • &os; Diary: + A kezdõ &unix; felhasználókat + segítõ leírások gyûjteménye. + Itt a cél több különbözõ, lépésrõl-lépésre haladó - útmutató írása különbözõ - portok telepítésérõl és + útmutató írása + különbözõ portok + telepítésérõl és konfigurációjáról.
  • -
  • - FreeBSD Fejlesztõk Kézikönyve
  • +
  • A &os; fejlesztõk kézikönyve
  • -
  • - Hozzájárulás a FreeBSD Ports Collectionhöz
  • +
  • Hozzájárulás a &os; Portgyûjteményéhez

Alkalmazások

+
    -
  • &java; a FreeBSD-n: - Információk arról, hogyan szerezze be a legfrissebb - &jdk;-t a FreeBSD-hez, illetve hogyan telepítse és - használja. Itt talál továbbá egy - listát azokról a &java; szoftverekrõl, amelyeket - érdekesnek találhat.
  • +
  • &java; &os;-n: + Itt találhatunk információkat arról, + hogyan szerezzük be a legfrissebb &jdk;-t a &os;-hez, illetve + hogyan telepítsük és használjuk azt. + Itt találhatunk továbbá egy listát + azokról a &java; szoftverekrõl, amelyek + számunkra érdekesek lehetnek.
  • -
  • GNOME a FreeBSD-n: - Itt találja a legújabb GNOME kiadás - beszerzésével, telepítésével és - futtatásával kapcsolatos információkat, - illetve a projekt friss híreit és - frissítéseit, GYIK-et, a FreeBSD-specifikus GNOME gondok - leírását, útmutatót - alkalmazások portolásához, és még - sok mást.
  • +
  • GNOME &os;-n: + Itt olvashatjuk a legújabb GNOME kiadás + beszerzésével, telepítésével + és futtatásával kapcsolatos + információkat, valamint a projekt friss + híreit és frissítéseit, a GYIK-et, a + &os;-specifikus GNOME gondok leírását, + útmutatót az alkalmazások + portolásához, és még sok minden + mást.
  • -
  • KDE a FreeBSD-n: - Linkeket, dokumentációt és útmutatókat - tartalmaz a legfrissebb KDE kiadás FreeBSD alatti - használatához. A projekt hírei és a GYIK - szintén elérhetõ.
  • +
  • KDE &os;-n: + A &os; alatt elérhetõ legfrissebb KDE kiadás + használatához tartalmaz linkeket, + dokumentációt és útmutatókat. + A projekt hírei és a hozzátartozó GYIK + szintén itt érhetõ el.
  • -
  • - Mono a FreeBSD-n: - Itt kaphat tájékoztatást a Mono és a C# - jelenlegi állapotáról FreeBSD-n.
  • +
  • Mono &os;-n: + Itt kaphatunk tájékoztatást a Mono és + a C# jelenlegi állapotáról &os;-n.
  • -
  • - OpenOffice.org a FreeBSD-n: - Információk a különbözõ OpenOffice - portokról.
  • +
  • OpenOffice.org &os;-n: + Információk a különbözõ + OpenOffice portokról.
  • -
  • FreeBSD Ports Collection: - A FreeBSD Ports Collection lehetõvé teszi, hogy - minimális erõfeszítéssel és - könnyen telepítsen alkalmazásokat - forráskódból. Megtekintheti a jelenlegi portok - listáját, illetve rákereshet egy adott - alkalmazásra, hogy megtudja, része-e már a - Ports Collectionnek.
  • +
  • A &os; Portgyûjteménye: + A &os; Portgyûjteménye lehetõvé teszi, + hogy minimális erõfeszítéssel és + könnyedén telepítsünk + alkalmazásokat forráskódból. + Megtekinthetjük a jelenlegi portok listáját, + illetve egy adott alkalmazás + rákeresésével megtudhatjuk, hogy az + része-e már a Portgyûjteménynek.
  • -
  • FreeBSD Ports - distfiles survey: Egy lista azokról a portokról, - amelyek nem tudják letölteni a forráskódot, - illetve elérhetõ egy összegzés is minden - porthoz.
  • +
  • A &os; portok terjesztési állományainak elemzése: + Egy lista azokról a portokról, amelyekhez nem + érhetõ el a forráskód, illetve + mindegyikükhöz tartozik egy rövid + összegzés.
  • -
  • FreshPorts: A legfrissebb - információkat kínálja a portokról - és a portokat érintõ - változásokról. Hozzáadhatja kedvenc portjait - egy figyelési listához, hogy e-mailen - tájékoztatást kapjon bármilyen, az adott - portot érintõ változásról.
  • +
  • FreshPorts: + A legfrissebb információkat kínálja a + portokról és azok + változásairól. Kedvenc portjainkat fel + tudjuk venni egy egy listába, így e-mailen + keresztül azonnal tájékoztatást kapunk + bármilyen, az adott portokat érintõ + változásról.
  • -
  • Pointyhat: Egy szerver, - amely ellenõrzi a portokat és minden porthoz - megõrzi a csomagkészítés során - keletkezett naplókat.
  • +
  • Pointyhat: + Egy szerver, amely ellenõrzi a portokat és minden + porthoz megõrzi a csomagkészítés + során keletkezett naplókat.

Hálózatkezelés

+
    -
  • Netperf: - Hálózati stack optimizáció a FreeBSD 5.X - és 6.X kerneleihez, az SMPng FreeBSD 5.3-hoz készült - hálózati stack locking fejlesztéseinek - folytatása. A projekt felderíti és - megvalósítja a lehetséges optimizációs - stratégiákat a többszálas - hálózati stack-hez.
  • +
  • Netperf: + A hálózati protokollkészlet &os; 5.X + és 6.X rendszermagjaihoz fejlesztett + optimalizációja, az SMPng &os; 5.3-hoz + készült hálózati zárolások + fejlesztéseinek folytatása. A projekt + felderíti és megvalósítja a + lehetséges optimizációs + stratégiákat egy többszálon futó + hálózatkezelés + kialakításához.
  • -
  • KAME Projekt: Egy - ingyenes IPv6/IPsec stack a BSD rendszerekhez.
  • +
  • KAME Projekt: + Egy szabad IPv6/IPsec protokollkészlet BSD + rendszerekhez.
  • SYSLOG-SECURE: 2001 augusztusában megszületett az RFC3164 syslog szabvány. Ez az RFC néhány olyan kiterjesztést tárgyal, amelyek - biztonságosabbá teszik a syslogot. Ez a projekt 2002-ben - indult, hogy megvalósítsa az RFC3164 szabvány - kiterjesztéseit a FreeBSD syslogjában, illetve + biztonságosabbá teszik a syslogot. Ez a projekt + 2002-ben indult azzal a céllal, hogy + megvalósítsa az RFC3164 szabvány + kiterjesztéseit a &os; syslogjában, illetve további biztonsági kiterjesztésekkel - bõvítse ki azt, mint pl. a syslog-sign. A libc és - a syslogd is módosításra fog kerülni. + bõvítse ki azt, mint például a + syslog-sign. Ennek keretében a libc és a syslogd is + módosításra fog kerülni. Lehetõség szerint a biztonság felügyelésére is születnek majd - eszközök. Minden segítséget szívesen - fogadunk. Ha érdekelt, kérjük írjon az - albert@ons-huis.net e-mail címre további - információért.
  • + eszközök. Minden segítséget + szívesen fogadunk. Ha érdekel minket a téma, + további információkat az albert@ons-huis.net + e-mail címen tudhatunk meg.
-

Tárolás

+

Háttértárak

+
    -
  • Arla: - Egy ingyenes AFS kliens implementáció. A projekt - fõ célja egy teljes funkcionalitású kliens +
  • Arla: + Egy szabad forráskódú AFS kliens + implementáció. A projekt fõ célja egy + teljes funkcionalitással rendelkezõ kliens létrehozása, amely a normál AFS minden - adottságával rendelkezik. A további tervezett - és megvalósított dolgok a menedzsment - eszközök és a szerver.
  • + adottságával rendelkezik. A továbbiakban + tervezett és megvalósítandó dolgok + többek közt a menedzsment eszközök és a + szerver lesznek. -
  • Big - Disk: A Large data storage in FreeBSD projekt - célja, hogy a FreeBSD-t képessé tegye több - terabájtos lemezek/kötetek kezelésére.
  • +
  • Big Disk: + A Large data storage in &os; projekt célja, hogy a + &os;-t képessé tegye több terabyte-os lemezek + és kötetek kezelésére.
  • -
  • Coda: - Egy elosztott fájlrendszer. Az adottságai közt - megtalálhatóak a szétkapcsolt - mûködés, a biztonságos kialakítás, - a szerver replikáció és az állandó - kliensoldali gyorstárazás.
  • +
  • Coda: + Egy elosztott állományrendszer. Az + adottságai közt megtalálható a + szétkapcsolt mûködés, a biztonságos + kialakítás, a szerver replikáció + és az állandó kliensoldali + gyorstárazás.
  • -
  • - Journaling kontra Soft Updates: Aszinkron módú - védelem a fájlrendszerek meta-adatainak +
  • Journaling kontra Soft Updates: + Aszinkron módú védelem az + állományrendszerek metaadatainak védelmére.
  • -
  • TCFS: - A Transparent Cryptographic File System egy alkalmas megoldást - jelenthet az elosztott fájlrendszerek biztonsági - problémáira. A kriptográfiai rendszer és - a fájlrendszer mélyebb integrációjával - lehetõvé válna az alkalmazások - számára a teljesen transzparens használat. - A fájlok titkosítva tárolódnak és - csak a használat elõtt kerülnek - visszafejtésre. A titkosítás és - visszafejtés a kliens számítógépen - történik, így a felhasznált kulcs - sosem halad keresztül a hálózaton.
  • +
  • TCFS: + A Transparent Cryptographic File System egy alkalmas + megoldást jelenthet az elosztott + állományrendszerek biztonsági + problémáira. A kriptográfiai- és a + állományrendszer mélyebb + integrációjával lehetõvé + válna az alkalmazások számára a + teljesen transzparens használat. Az + állományok titkosítva + tárolódnak és csak közvetlenül a + használat elõtt kerülnek visszafejtésre. + A titkosítás és visszafejtés a kliens + számítógépen történik, + így a felhasznált kulcs sosem halad keresztül a + hálózaton.
  • -
  • Tertiary - Disk: Egy tárolási architektúra nagy - tárolási rendszerekhez, amely megóvja - a saját összeállítású - kötetek hátrányaitól. A név - kettõs célt tükröz: a szalagos meghajtók - megabájtonkénti költségét és - a mágneslemezek teljesítményét - hivatott elérni. Kész komponenseket - használunk, hogy létrehozzunk egy - skálázható, alacsony költségû, - terabájtos kapacitású lemezes - rendszert. A célunk, hogy egy teljes tárhely +
  • Tertiary Disk: + Egy tárolási architektúra nagy + tárolási rendszerekhez, amely igyekszik + elkerülni a saját + összeállítású kötetekkel + járó hátrányokat. A név + kettõs célt tükröz: a szalagos + meghajtók megabyte-onkénti + költségét és a mágneslemezek + teljesítményét hivatott elérni. + Kész komponensek használatával hozunk + létre egy skálázható, alacsony + költségû, terabyte-os kapacitású + lemezes rendszert. Célunk, hogy egy teljes tárhely rendszert hozzunk létre a normál lemezekhez - képest 30-50%-al olcsóbban. A Tertiary Disk - egy switchen keresztül összekötött - PC-ket használ a nagyszámú lemezek + képest akár 30-50%-al olcsóbban. A Tertiary + Disk egy switchen keresztül összekötött PC-ket + használ a nagyszámú lemezek kiszolgálásához. A prototípusunk - 20 darab 200MHz-es PC-bõl áll, amelyek - 370 darab 8GB-os lemezt biztosítanak. A PC-k egy - 100Mbps Ethernet switchen keresztül kapcsolódnak - egymáshoz.
  • + 20 darab 200 MHz-es PC-bõl áll, amelyek + 370 darab 8 GB-os lemezt biztosítanak. A PC-k + egy 100 Mbps Ethernet switchen keresztül + kapcsolódnak egymáshoz. -
  • Vinum: - A VERITAS volume manager™-rõl modellezett logikai - kötetkezelõ. Ez a projekt azonban nem a Veritas - klónja és számos problémát - igyekszik elegánsabban megoldani, mint a Veritas. - Olyan funkciókat is nyújt, amiket a Veritas - nem.
  • +
  • Vinum: + A VERITAS™ kötetkezelõrõl modellezett + logikaikötet-kezelõ. Ez a projekt azonban nem a Veritas + egyszerû másolata, számos + problémát igyekszik a Veritasnál + elegánsabban megoldani. Emellett olyan funkciókat + is nyújt, amelyeket a Veritas nem.
  • -
  • - A PathConvert projekt: Egy projekt útvonalkonverziós - segédprogramok kifejlesztéséhez, amelyek - az abszolút- és relatív útvonalak - közötti konverziót végzik el. Leginkább - az NFS és a WWW felhasználóinak hasznos.
  • +
  • A PathConvert projekt: + Ez a projekt olyan útvonalkonverziós + segédprogramok kifejlesztését hivatott + elõsegíteni, amelyek az abszolút- és + relatív útvonalak közötti + átalakításokat végeznek el. + Leginkább az NFS és a WWW + felhasználóinak hasznos.
-

Kernel, biztonság

+

Rendszermag, biztonság

+
    -
  • Kernel Scheduler - Entities: A projekt célja, hogy fejlessze a FreeBSD - szálazási képességeit a Scheduler - Activations felépítéséhez hasonló - modell alapján.
  • +
  • Kernel Scheduler Entities: + A projekt célja, hogy fejlessze a &os; + szálkezelési képességeit a Scheduler + Activations felépítéséhez + hasonló modell alapján.
  • - Lottery Scheduling Kernel: Ez a munka a Waldspurger-féle - lottóidõzítési algoritmuson - alapszik, amely az arányok alapján - történõ erõforrás-kezelést - valósítja meg. Az elsõdleges elõny, - hogy a felhasználók szigorú kontrollal - rendelkeznek az általuk futtatott folyamatok - relatív aránya felett, illetve - a felhasználó által okozott terhelések - egymástól elszigeteltek, így nem uralkodhat - egy felhasználó az egész processzoron.
  • + href="http://www.cs.cmu.edu/~dpetrou/research.html">Lottery Scheduling Kernel: + Ez a munka a Waldspurger-féle + lottóidõzítési algoritmuson alapszik, + amely az arányok alapján kialakított + erõforrás-kezelést valósítja meg. + Elsõdleges elõnye, hogy a felhasználók + szigorú kontrollal rendelkeznek az általuk futtatott + folyamatok relatív aránya felett, illetve a + felhasználó által okozott terhelések + egymástól elszigeteltek, így egy + felhasználó nem uralkodhat az egész + processzoron. -
  • OpenBSM: A Sun - Basic Security Module (BSM) Audit API-jának egy nyílt - forráskódú implementációja. - Az OpenBSM programkönyvtárakat, eszközöket - és dokumentációt kínál a - TrustedBSD audit implementációjához, amely - késõbb be lesz olvasztva a FreeBSD-be.
  • +
  • OpenBSM: + A Sun Basic Security Module (BSM) Audit API-jának egy + nyílt forráskódú + implementációja. Az OpenBSM + programkönyvtárakat, eszközöket és + dokumentációt kínál a TrustedBSD audit + implementációjához, amely késõbb + majd be fognak olvasztani a &os;-be is.
  • -
  • Symmetric MultiProcessor - Támogatás: Dokumentáció és - egyéb információk a több processzoros - rendszerek kihasználásához FreeBSD rendszerek - alatt.
  • +
  • Szimmetrikus többprocesszoros támogatás: + Dokumentáció és egyéb + információk a többprocesszoros rendszerek + kihasználásához &os; rendszerek alatt.
  • -
  • TrustedBSD: - Olyan kiegészítéseket kínál a FreeBSD - operációs rendszerhez, amelyek a trusted +
  • TrustedBSD: + Olyan kiegészítéseket kínál a + &os; operációs rendszerhez, amelyek a trusted operációs rendszerekre jellemzõ kiegészítésekkel bõvítik ki azt. - Ilyenek a kifinomult jogosultsági rendszer (capabilities), - hozzáférési listák (ACL) és - Mandatory Access Control. Ezek a funkciók folyamatosan - beolvasztásra kerülnek a FreeBSD-be, illetve - portolják õket más BSD-alapú rendszerekre.
  • + Ilyenek a kifinomult jogosultsági (capabilities) rendszer, + hozzáférés-vezérlési + listák (ACL, Access Control List) és a + kötelezõ + hozzáférés-vezérlés (MAC, + Mandatory Access Control). Ezek a funkciók folyamatosan + kerülnek beolvasztásra a &os;-be, illetve + portolják ezeket más BSD-alapú + rendszerekre.
  • Kernel Stress Test Suite: - Ennek az igénybevételi tesztcsomagnak a célja a - rendszer megbénítása. A tesztcsomag kisebb - programokból és scriptekbõl áll. Minden - teszt a kernel egy adott részét célozza meg. - A tesztcsomag fõ koncepciója a káosz. Minden teszt - sleep állapotba kerül véletlen számú - másodpercre, mielõtt véletlen számú - alkalommal lefut.
  • - + Ez egy olyan a terhelési tesztekbõl álló + csomag, amelynek a rendszer összeomlasztása a + célja. Az a csomag kisebb programokból és + szkriptekbõl áll. Minden teszt a rendszermag egy + adott részét célozza meg. A csomag alapeleme + a káosz. Minden teszt véletlen ideig + várakozik mielõtt véletlen számú + alkalommal lefutna.
-

Eszközkezelõk (driverek)

+

Eszközmeghajtók

+
    - -
  • busdma - és SMPng driver konverzió: A busdma egy - hordozható absztrakciós réteget biztosít - a Direct Memory Access (DMA) közvetlen - memóriaeléréshez, amelyet sok - nagy teljesítményû eszközkezelõ +
  • A busdma és az SMPng meghajtó átalakítása: + A busdma egy portolható absztrakciós réteget + nyújt a Direct Memory Access (DMA) + használatához, amelyet sok nagy + teljesítményû eszközmeghajtó is használ. Ennek az absztrakciós rétegnek a - használatával az eszközkezelõk - íróinak nem kell platform-specifikus DMA-kezelõ - kódot használniuk, így azok könnyebben - hordozhatóvá válnak a különbözõ + használatával az eszközmeghajtók + íróinak nem kell az adott platformra jellemzõ + DMA-kezelõ kódját használniuk, + így azok könnyebben hordozhatóvá + válnak a különbözõ architektúrák közt. Az oldal szintén - tartalmazza az eszközkezelõk jelenlegi - állását az SMPng-safe állapot + tartalmazza az eszközmeghajtók jelenlegi + állását az SMPng-safe tekintetében.
  • -
  • - Egy új eszköz keretrendszer a FreeBSD-hez
  • +
  • Egy új eszköz keretrendszer a &os;-hez
  • -
  • BSD ATM: - ATM hálózati implementáció 4.4BSD-hez: - Az új számítógépes alkalmazási - területek, mint a multimédia, képfeldolgozás - és az elosztott adatfeldolgozás magas - hálózati teljesítményt igényel. - Az ATM-alapú hálózat jelenti az egyik - megoldást ezekre a teljesítményi igényekre. - Az ATM összetettsége a hagyományos - hálózatokkal - mint például az Ethernettel - - szemben korlátozza a felhasználását. Ebben a - dokumentumban bemutatjuk a BSD ATM - felépítését és - implementációját, amely egy +
  • BSD ATM: ATM hálózati implementáció 4.4BSD-hez: + Az új számítógépes + alkalmazási területek, mint a multimédia, + képfeldolgozás és az elosztott + adatfeldolgozás nagy hálózati + teljesítményt igényel. Az ATM-alapú + hálózat jelenti az egyik megoldást ezekre a + teljesítménybeli igényekre. Az ATM + összetettsége a hagyományos + hálózatokkal — mint például az + Ethernettel — szemben azonban korlátozza a + felhasználását. Ebben a dokumentumban + bemutatjuk a BSD ATM felépítését + és implementációját, amely egy pehelysúlyú és hatékony ATM szoftveres - réteg a BSD-alapú operációs rendszerekhez - és csak minimális változtatásokat - igényel az operációs rendszer - részérõl. A BSD ATM egyaránt - használható IP alapú és - "natív" ATM hálózatokhoz.
  • + réteg a BSD-alapú operációs + rendszerekhez, amely csak minimális + változtatásokat igényel az + operációs rendszer részérõl. A + BSD ATM egyaránt használható IP-alapú + és ,,natív'' ATM hálózatokhoz. -
  • Otthoni - Automatizálás: A FreeBSD használata - berendezések, infravörös eszközök, - automatizált telefonrendszerek, stb. +
  • Otthoni automatizálás: + A &os; használata berendezések, infravörös + eszközök, automatizált telefonrendszerek stb. vezérléséhez.
  • -
  • A FreeBSD - Token-Ring Projekt: Információ, fájlok, - patchek és dokumentáció, hogyan - bõvítsük ki a FreeBSD-t Token-Ring - támogatással.
  • +
  • A &os; Token Ring Projekt: + Információk, állományok, + javítások és dokumentáció arra + vonatkozóan, hogyan bõvítsük ki a &os;-t + token ring támogatással.
  • -
  • Xircom CEM Ethernet Driver: Létezik egy - levelezési lista Scott Mitchell Xircom CEM ethernet - eszközkezelõjének jövõbeni - fejlesztéséhez. Küldje el - a subscribe freebsd-xircom üzenetet a - majordomo@lovett.com - címre a feliratkozáshoz.
  • +
  • Xircom CEM Ethernet Driver: + Létezik egy levelezési lista Scott Mitchell Xircom + CEM Ethernet eszközmeghajtójának + jövõbeni fejlesztésével kapcsolatban. Ha + szeretnénk erre feliratkozni, akkor küldjünk egy + subscribe freebsd-xircom üzenetet a majordomo@lovett.com + címre.

Architektúra

+
    -
  • - A FreeBSD portja IA-64 rendszerekre:: - Ez a projekt felelõs a FreeBSD IA-64 architektúrára - való portolásáért. A projekttel kapcsolatos - kérdéseit kérjük a freebsd-ia64@FreeBSD.org - levelezési listára küldje.
  • +
  • A &os; portja IA-64 rendszerekre:: + Ez a projekt a &os; IA-64 architektúrára + portolásáért felelõs. A projekttel + kapcsolatos kérdéseinket a freebsd-ia64@FreeBSD.org + levelezési listára küldjük.
  • -
  • A FreeBSD - portja PowerPC® rendszerekre: - A FreeBSD PPC portjáról tartalmaz - információkat, mint pl. a levelezési - listák.
  • +
  • A &os; portja PowerPC® rendszerekre: + A &os; PPC portjáról tartalmaz + információkat, például a + levelezési listák + elérhetõségeit.
  • -
  • A FreeBSD - portja SPARC® rendszerekre: - A FreeBSD SPARC portjáról tartalmaz - információkat, mint pl. a GYIK, egy kezdeti fázisban - lévõ boot kód, SPARC processzorok és - alaplapok adatai, és egyéb SPARC projektek.
  • +
  • A &os; portja SPARC® rendszerekre: + A &os; SPARC portjáról tartalmaz + információkat, mint például a GYIK, + egy kezdeti fázisban lévõ + rendszerindító kód, SPARC processzorok + és alaplapok adatai és egyéb SPARC + alapú projektek.
  • -
  • - SysVR4 Emuláció: Ez az oldal a FreeBSD SysVR4 - emulátorát tárgyalja. Jelenleg képes - futtatni (vagy néhány esetben "sétáltatni") - a SySV programok nagy részét a Solaris™/x86 - 2.5.1 és 2.6 rendszerekbõl. Valószínûleg - az SCO UnixWare és SCO OpenServer alkalmazásokat is - képes futtatni.
  • +
  • SysVR4 emuláció: + Ez az oldal a &os; SysVR4 emulátorát + tárgyalja. Jelenleg képes futtatni (vagy + néhány esetben csupán + ,,sétáltatni'') a Solaris™/x86 2.5.1 és + 2.6 rendszerekbõl származó SySV programok nagy + részét. Nagy + valószínûséggel az SCO UnixWare + és SCO OpenServer alkalmazásokat is képes + futtatni.
  • -
  • Az OSKit: +
  • Az OSKit: Az OSKit egy részletesen dokumentált, - operációs rendszerekhez készült keretrendszer - és 34 komponenskönyvtár gyûjteménye. - Nemcsak az operációs rendszer - infrastrukturális szükségleteit - elégíti ki, hanem a magasabb szintû komponenseket is - biztosítja, mindezt modulárisan, hogy ezzel - csökkentse az OS R&D korlátait és + operációs rendszerekhez készült + keretrendszer és 34 komponenskönyvtár + gyûjteménye. Nemcsak az operációs + rendszer infrastrukturális szükségleteit + elégíti ki, hanem a magasabb szintû + komponenseket is biztosítja, mindezt modulárisan, + hogy ezzel csökkentse az operációs rendszerek + kutatásának korlátait és költségeit. Az OSKit mérhetetlenül - leegyszerûsíti egy új operációs rendszer - létrehozását, portolását x86 - platformra (illetve a jövõben egyéb, az OSKit - által támogatott architektúrákra), vagy egy - operációs rendszer kibõvítését - eszközök szélesebb körû - támogatásával, illetve fájlrendszerek, - futtatható fájlformátumok, vagy + leegyszerûsíti egy új operációs + rendszer létrehozását, + portolását x86 platformra (illetve a + jövõben egyéb, az OSKit által + támogatott architektúrákra), vagy egy + operációs rendszer + kibõvítését eszközök + szélesebb körû + támogatásával, illetve + állományrendszerek, futtatható + állományokformátumok, vagy hálózati szolgáltatások támogatásával. Az OSKit szintén jól használható az operációs - rendszerrel kapcsolatos programok, mint pl. a boot loader, vagy - mikrokernelen futó szerverek + rendszerrel kapcsolatos programok, mint például + rendszertöltõ vagy mikrokernelen futó szerverek készítésére.

Egyéb

+
    -
  • FreeSBIE: - A FreeBSD operációs rendszerre épülõ +
  • FreeSBIE: + A &os; operációs rendszerre épülõ live CD. Hasznos alkalmazások tömkelegét - tartalmazza. Futtatható tisztán CD-rõl, - vagy telepítõlemezként is használható - a FreeBSD merevlemezre történõ - telepítésére.
  • + tartalmazza. Futtatható tisztán CD-rõl, vagy + telepítõlemezként is használható, + ha a a &os;-t merevlemezre is telepíteni akarjuk. -
  • NanoBSD: +
  • NanoBSD: A NanoBSD egy olyan eszköz, amelyet olyan csökkentett - méretû FreeBSD rendszerek létrehozására - terveztek, amely elfér egy Compact Flash kártyán - (vagy más hordozható - háttértárolón) úgy, hogy alkalmas - legyen készülékekben való használatra. - A FreeBSD dokumentáció tartalmaz egy bevezetõ - jellegû - cikket a - NanoBSD-rõl, amely hasznos tippekkel szolgál a - NanoBSD beállításával és + méretû &os; rendszerek + létrehozására terveztek, amely elfér + egy Compact Flash kártyán (vagy más + hordozható háttértárolón) + úgy, hogy alkalmas legyen készülékekben + való használatra. A &os; + dokumentációja tartalmaz egy bevezetõ + jellegû cikket a NanoBSD-rõl, + amely hasznos tippekkel szolgál a NanoBSD + beállításával és futtatásával kapcsolatban.
  • -
  • GLOBAL: - Egy általános forráskód - címkézõ rendszer, ami ugyanúgy - mûködik sok más rendszer közt. Jelenleg a shell - parancssort, az nvi szerkesztõt, böngészõt, - az emacs szerkesztõt és az elvis szerkesztõt - támogatja, a támogatott nyelvek pedig a C, Yacc - és Java.
  • +
  • GLOBAL: + Egy általános célú + forráskód címkézõ rendszer, amely + ugyanúgy mûködik sok más rendszer + közt is. Jelenleg a parancsértelmezõ + parancssorát, az nvi szerkesztõt, + böngészõt, az Emacs szerkesztõt és az + elvis szerkesztõt támogatja, a támogatott + nyelvek pedig a C, Yacc és Java + található.
  • -
  • Enteruser: Egy - adduser alternatíva.
  • +
  • Enteruser: + Egy adduser alternatíva.
  • ACPI a FreeBSD-n: + href="&enbase;/projects/acpi/">ACPI &os;-n: A projekt az ACPI zökkenõmentes - mûködését hivatott biztosítani - FreeBSD operációs rendszeren.
  • + mûködését hivatott szolgáltatni + &os; operációs rendszeren.
  • Bináris - Frissítések: A FreeBSD Update egy rendszer a - FreeBSD bináris frissítések - elkészítésére, terjesztésére, - letöltésére és - telepítésére. Ez a rendszer lehetõvé - teszi a biztonsági ágak egyszerû - követését anélkül, hogy le kellene - tölteni a forráskódot és - újrafordítani a rendszert (,kivéve persze - azt a számítógépet, amely - elkészíti a frissítéseket). - A frissítések kriptográfiailag - aláírtak és növekményes - formában kerülnek terjesztésre, ami jelentõsen - csökkenti a használt - sávszélességet.
  • + href="http://www.daemonology.net/freebsd-update/">Bináris frissítések: + A &os; Update a &os; bináris frissítéseinek + elkészítésére, + terjesztésére, letöltésére + és telepítésére alkalmas rendszer. Ez + a rendszer a forráskód letöltése + és az alaprendszer újrafordítása + nélkül lehetõvé teszi a biztonsági + ágak egyszerû követését + (ezalól kivétel persze az a + számítógépet, amely + elkészíti a frissítéseket). A + frissítések digitális + aláírással rendelkeznek és + növekményes formában kerülnek + terjesztésre, ezzel jelentõsen csökken a + használatához szükséges + sávszélesség. -
  • A - FreeBSD C99 & &posix; Megfelelõségi Projekt: - Az a projekt az ISO 9899:1999 (C99) és az IEEE 1003.1-2001 - (POSIX) szabványok összes követelményét - igyekszik megvalósítani.
  • +
  • A &os; C99 s &posix; Megfelelsi Projekt: + Ez a projekt az ISO 9899:1999 (C99) és az IEEE 1003.1-2001 + (POSIX) szabványok összes + követelményét igyekszik + megvalósítani.
  • -
  • CVSweb: Egy web - interfész a CVS repókhoz, hogy könnyedén - böngészhesse a forrásfát az egyes - revíziókhoz tartozó - naplóbejegyzésekkel együtt.
  • +
  • CVSweb: + Egy webes felület, amelyen keresztül + könnyedén böngészni tudjuk a CVS + repositoryk tartalmát, a forrásfát és + az egyes revíziókhoz tartozó + naplóbejegyzéseket.
  • >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 14 18:49:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C7D81065734; Mon, 14 Jul 2008 18:49:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3107B1065679 for ; Mon, 14 Jul 2008 18:49:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 11B1B8FC26 for ; Mon, 14 Jul 2008 18:49:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EInXrE059125 for ; Mon, 14 Jul 2008 18:49:33 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EInX5T059123 for perforce@freebsd.org; Mon, 14 Jul 2008 18:49:33 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 14 Jul 2008 18:49:33 GMT Message-Id: <200807141849.m6EInX5T059123@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 145238 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 18:49:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=145238 Change 145238 by pgj@disznohal on 2008/07/14 18:49:10 A small fix in www/hu/advocacy Affected files ... .. //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#6 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#6 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> From owner-p4-projects@FreeBSD.ORG Mon Jul 14 19:14:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37AD9106566C; Mon, 14 Jul 2008 19:14:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE879106567E for ; Mon, 14 Jul 2008 19:14:00 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E5E7A8FC12 for ; Mon, 14 Jul 2008 19:14:00 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EJE05v062235 for ; Mon, 14 Jul 2008 19:14:00 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EJE05j062233 for perforce@freebsd.org; Mon, 14 Jul 2008 19:14:00 GMT (envelope-from remko@freebsd.org) Date: Mon, 14 Jul 2008 19:14:00 GMT Message-Id: <200807141914.m6EJE05j062233@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 145239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 19:14:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=145239 Change 145239 by remko@remko_nakur on 2008/07/14 19:13:00 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/problem-reports/article.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/security/chapter.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/mailing-lists.ent#3 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#9 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#4 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys.ent#4 integrate .. //depot/projects/docproj_nl/share/pgpkeys/sson.key#1 branch .. //depot/projects/docproj_nl/share/sgml/man-refs.ent#3 integrate .. //depot/projects/docproj_nl/www/en/docproj/current.sgml#2 integrate .. //depot/projects/docproj_nl/www/en/donations/donors.sgml#2 integrate .. //depot/projects/docproj_nl/www/share/sgml/advisories.xml#2 integrate .. //depot/projects/docproj_nl/www/share/sgml/commercial.consult.xml#2 integrate .. //depot/projects/docproj_nl/www/share/sgml/news.xml#3 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/problem-reports/article.sgml#3 (text+ko) ==== @@ -7,7 +7,7 @@ Writing &os; Problem Reports - $FreeBSD: doc/en_US.ISO8859-1/articles/problem-reports/article.sgml,v 1.56 2008/05/28 00:36:07 gabor Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/problem-reports/article.sgml,v 1.60 2008/07/13 14:37:24 remko Exp $ &tm-attrib.freebsd; @@ -202,7 +202,7 @@ only result in a developer advising you to upgrade to a supported version to see if the problem still recurs. The Security Officer team maintains the - list of supported + list of supported versions. If the problem is in a port, note that you must first @@ -342,7 +342,7 @@ If you have a patch, say so. A PR with a patch included is much more likely to be looked at than one without. If you are including one, - put the string [patch] at the + put the string [patch] (including the brackets) at the beginning of the Synopsis. (Although it is not mandatory to use that exact string, by convention, that is the one that is used.) @@ -352,7 +352,7 @@ If you are a maintainer, say so. If you are maintaining a part of the source code (for instance, a port), you might consider adding the string - [maintainer update] at the beginning of + [maintainer update] (including the brackets) at the beginning of your synopsis line, and you definitely should set the Class of your PR to maintainer-update. This way @@ -521,16 +521,17 @@ you insert manual linebreaks somewhere around 70 characters, so that the web display of the PR will be readable. - Similar considerations apply if you are using the web-based - PR submittal form instead of &man.send-pr.1;. Note that + Similar considerations apply if you are using the + web-based + PR submission form instead of &man.send-pr.1;. Note that cut-and-paste operations can have their own side-effects on text formatting. In certain cases it may be necessary to use &man.uuencode.1; to ensure that patches arrive unmodified. Finally, if your submission will be lengthy, you should to prepare your work offline so that nothing will be lost in - case there is a problem submitting it. This can be an especial - problem with the web form. + case there is a problem submitting it. This can especially be a + problem with the web form.
    @@ -638,7 +639,7 @@ The next section describes fields that are common to both - the email interface and the web interface: + the email interface and the web interface: @@ -677,10 +678,10 @@ get ignored. As noted above, if your problem report includes a patch, - please have the synopsis start with [patch]; + please have the synopsis start with [patch] (including the brackets); if this is a ports PR and you are the maintainer, you may consider adding - [maintainer update] and set the + [maintainer update] (including the brackets) and set the Class of your PR to maintainer-update. @@ -1107,7 +1108,7 @@ This will read the specified file, validate the contents, strip comments and send it off. - If you are using the web form: + If you are using the web form: Before you hit submit, you will need to fill in a field containing text that is represented in image ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.sgml#2 (text+ko) ==== @@ -1,11 +1,11 @@ - Bulding and Installing a &os; Kernel + Building and Installing a &os; Kernel Being a kernel developer requires understanding of the kernel build process. To debug the &os; kernel it is required to be able ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#4 (text+ko) ==== @@ -6,11 +6,11 @@ - Frequently Asked Questions for FreeBSD 6.<replaceable>X</replaceable> and 7.<replaceable>X</replaceable> + Frequently Asked Questions for &os; 6.<replaceable>X</replaceable> and 7.<replaceable>X</replaceable> - The FreeBSD Documentation Project + The &os; Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1065 2008/07/06 09:19:23 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1073 2008/07/14 00:11:44 pgj Exp $ 1995 @@ -27,7 +27,7 @@ 2006 2007 2008 - The FreeBSD Documentation Project + The &os; Documentation Project &bookinfo.legalnotice; @@ -57,17 +57,17 @@ - This is the FAQ for FreeBSD versions 6.X and 7.X. - All entries are assumed to be relevant to FreeBSD 6.X and + This is the FAQ for &os; versions 6.X and 7.X. + All entries are assumed to be relevant to &os; 6.X and later, unless otherwise noted. If you are interested in helping with this project, send email to the &a.doc;. The latest version of this document is always available from the FreeBSD + url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html">&os; World Wide Web server. It may also be downloaded as one large HTML file with HTTP or as plain text, &postscript;, PDF, etc. from the FreeBSD FTP + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">&os; FTP server. You may also want to Search the FAQ. @@ -77,10 +77,10 @@ Introduction - Welcome to the FreeBSD 6.X-7.X FAQ! + Welcome to the &os; 6.X-7.X FAQ! As is usual with Usenet FAQs, this document aims to cover the - most frequently asked questions concerning the FreeBSD operating + most frequently asked questions concerning the &os; operating system (and of course answer them!). Although originally intended to reduce bandwidth and avoid the same old questions being asked over and over again, FAQs have become recognized as valuable @@ -93,11 +93,11 @@ - What is FreeBSD? + What is &os;? - Briefly, FreeBSD is a &unix; like operating system for + Briefly, &os; is a &unix; like operating system for AMD64 and &intel; EM64T, &i386; PC-98, IA-64, &arm;, &powerpc; and &ultrasparc; platforms based on U.C. Berkeley's 4.4BSD-Lite @@ -106,27 +106,27 @@ Jolitz's port of U.C. Berkeley's Net/2 to the &i386;, known as 386BSD, though very little of the 386BSD code remains. A fuller description of - what FreeBSD is and how it can work for you may be found on - the FreeBSD home + what &os; is and how it can work for you may be found on + the &os; home page. - FreeBSD is used by companies, Internet Service Providers, + &os; is used by companies, Internet Service Providers, researchers, computer professionals, students and home users all over the world in their work, education and recreation. - For more detailed information on FreeBSD, please see the - FreeBSD + For more detailed information on &os;, please see the + &os; Handbook. - What is the goal of the FreeBSD Project? + What is the goal of the &os; Project? - The goal of the FreeBSD Project is to provide software + The goal of the &os; Project is to provide software that may be used for any purpose and without strings attached. Many of us have a significant investment in the code (and project) and would certainly not mind a little financial @@ -150,18 +150,18 @@ to replace such software with submissions under the more relaxed - FreeBSD license whenever possible. + &os; license whenever possible. - Does the FreeBSD license have any restrictions? + Does the &os; license have any restrictions? Yes. Those restrictions do not control how you use - the code, merely how you treat the FreeBSD Project itself. + the code, merely how you treat the &os; Project itself. If you have serious license concerns, read the actual @@ -182,7 +182,7 @@ - Can FreeBSD replace my current operating system? + Can &os; replace my current operating system? @@ -191,7 +191,7 @@ Most people do not actually use an operating system. They use applications. The applications are what really - use the operating system. FreeBSD is designed to provide + use the operating system. &os; is designed to provide a robust and full-featured environment for applications. It supports a wide variety of web browsers, office suites, email readers, graphics programs, programming @@ -204,28 +204,28 @@ If you need to use an application that is only available on one operating system, you simply cannot replace that operating system. Chances are there is a very - similar application on FreeBSD, however. If you want a + similar application on &os;, however. If you want a solid office or Internet server, a reliable workstation, or just the ability to do your job without interruptions, - FreeBSD will almost certainly do everything you need. + &os; will almost certainly do everything you need. Many computer users across the world, including both - novices and experienced &unix; administrators, use FreeBSD + novices and experienced &unix; administrators, use &os; as their only desktop operating system. - If you are migrating to FreeBSD from some other &unix; + If you are migrating to &os; from some other &unix; environment, you already know most of what you need to. If your background is in graphic-driven operating systems such as &windows; and older versions of &macos;, expect to invest additional time learning the &unix; way of doing things. This FAQ and the FreeBSD Handbook are + url="&url.books.handbook;/index.html">&os; Handbook are excellent places to start. - Why is it called FreeBSD? + Why is it called &os;? @@ -253,7 +253,7 @@ free is being used in two ways here, one meaning at no cost, the other meaning you can do whatever you like. Apart from one or two things you - cannot do with the FreeBSD code, for + cannot do with the &os; code, for example pretending you wrote it, you can really do whatever you like with it. @@ -261,7 +261,7 @@ - What are the differences between FreeBSD and NetBSD, OpenBSD, + What are the differences between &os; and NetBSD, OpenBSD, and other open source BSD operating systems? @@ -278,7 +278,7 @@ - What is the latest version of FreeBSD? + What is the latest version of &os;? - At this point in FreeBSD's development, there are two + At this point in &os;'s development, there are two parallel development branches; releases are being made from both branches. The 6.X series of releases is being made from the 6-STABLE branch @@ -325,22 +325,22 @@ Releases are made every few months. While many people stay more up-to-date with - the FreeBSD sources (see the questions on &os.current; and &os.stable;) than that, doing so is more of a commitment, as the sources are a moving target. - More information on FreeBSD releases can be found on + More information on &os; releases can be found on the Release - Engineering page on the FreeBSD Web site. + Engineering page on the &os; Web site. - What is FreeBSD-CURRENT? + What is &os;-CURRENT? @@ -421,24 +421,24 @@ - What is the FreeBSD-STABLE concept? + What is the &os;-STABLE concept? - Back when FreeBSD 2.0.5 was released, FreeBSD + Back when &os; 2.0.5 was released, &os; development branched in two. One branch was named -STABLE, one -CURRENT. - FreeBSD-STABLE is intended for Internet Service Providers + &os;-STABLE is intended for Internet Service Providers and other commercial enterprises for whom sudden shifts or experimental features are quite undesirable. It receives only well-tested bug fixes and other small incremental - enhancements. FreeBSD-CURRENT, on the other hand, has + enhancements. &os;-CURRENT, on the other hand, has been one unbroken line since 2.0 was released, leading towards &rel.current;-RELEASE and beyond. For more detailed information on branches see FreeBSD Release Engineering: Creating the Release Branch, + url="&url.articles.releng;/release-proc.html#REL-BRANCH">&os; Release Engineering: Creating the Release Branch, the status of the branches and the upcoming release schedule can be found on the Release Engineering Information page. @@ -467,7 +467,7 @@ - When are FreeBSD releases made? + When are &os; releases made? @@ -480,14 +480,14 @@ that the addition of new features does not compromise the stability of the release. Many users regard this caution as one of the best things about - FreeBSD, even though waiting for all the latest goodies to reach + &os;, even though waiting for all the latest goodies to reach -STABLE can be a little frustrating. More information on the release engineering process (including a schedule of upcoming releases) can be found on the release - engineering pages on the FreeBSD Web site. + engineering pages on the &os; Web site. For people who need or want a little more excitement, binary snapshots are made daily as discussed above. @@ -496,18 +496,18 @@ - Who is responsible for FreeBSD? + Who is responsible for &os;? - The key decisions concerning the FreeBSD project, such + The key decisions concerning the &os; project, such as the overall direction of the project and who is allowed to add code to the source tree, are made by a core team of 9 people. There is a much larger team of more than 350 committers - who are authorized to make changes directly to the FreeBSD + who are authorized to make changes directly to the &os; source tree. However, most non-trivial changes are discussed in advance @@ -519,14 +519,14 @@ - Where can I get FreeBSD? + Where can I get &os;? - Every significant release of FreeBSD is available via + Every significant release of &os; is available via anonymous FTP from the - FreeBSD FTP site: + &os; FTP site: @@ -552,7 +552,7 @@ - Information about obtaining FreeBSD on CD, DVD, and other + Information about obtaining &os; on CD, DVD, and other media can be found in the Handbook. @@ -578,7 +578,7 @@ Before submitting a problem report, please read Writing - FreeBSD Problem Reports, an article on how to write + &os; Problem Reports, an article on how to write good problem reports. @@ -592,7 +592,7 @@ Please check the Documentation list on the main FreeBSD web + url="http://www.FreeBSD.org">&os; web site. @@ -605,7 +605,7 @@ - What good books are there about FreeBSD? + What good books are there about &os;? @@ -613,7 +613,7 @@ available online from this link: . The same documents are available as packages, that you can easily - install on your FreeBSD system. More details on + install on your &os; system. More details on documentation packages can be found in the next paragraphs. @@ -634,7 +634,7 @@ Yes. The documentation is available in a number of - different formats and compression schemes on the FreeBSD + different formats and compression schemes on the &os; FTP site, in the /pub/FreeBSD/doc/ directory. @@ -651,7 +651,7 @@ The document's language and encoding. These are based on the locale names you will find under - /usr/share/locale on your FreeBSD + /usr/share/locale on your &os; system. The current languages and encodings that we have for documentation are as follows: @@ -916,7 +916,7 @@ zip The Zip format. If you want to - uncompress this on FreeBSD you will need + uncompress this on &os; you will need to install the archivers/unzip port first. @@ -970,7 +970,7 @@ - Where do I find info on the FreeBSD mailing lists? + Where do I find info on the &os; mailing lists? @@ -982,7 +982,7 @@ - What FreeBSD news groups are available? + What &os; news groups are available? @@ -994,31 +994,31 @@ - Are there FreeBSD IRC (Internet Relay Chat) + Are there &os; IRC (Internet Relay Chat) channels? - Yes, most major IRC networks host a FreeBSD chat + Yes, most major IRC networks host a &os; chat channel: Channel #FreeBSD on EFNet - is a FreeBSD forum, but do not go there for tech + is a &os; forum, but do not go there for tech support or try to get folks there to help you avoid the pain of reading manual pages or doing your own research. It is a chat channel, first and foremost, and topics there are just as likely to involve sex, sports or nuclear - weapons as they are FreeBSD. You Have Been Warned! + weapons as they are &os;. You Have Been Warned! Available at server irc.chat.org. Channel #FreeBSDhelp on EFNet - is a channel dedicated to helping FreeBSD users. They + is a channel dedicated to helping &os; users. They are much more sympathetic to questions than #FreeBSD is. @@ -1028,7 +1028,7 @@ Freenode is a general help channel with about 300 users at any time. The conversations have been known to run off-topic for a while, - but priority is given to users with FreeBSD questions. We are + but priority is given to users with &os; questions. We are good about helping you understand the basics, referring to the Handbook whenever possible, and directing you where to learn more about the topic you need help with. We are a primarily @@ -1092,16 +1092,16 @@ - Where can I get commercial FreeBSD training and support? + Where can I get commercial &os; training and support? DaemonNews provides commercial training and support for - FreeBSD. More information can be found at their + &os;. More information can be found at their BSD Mall site. - The FreeBSD Mall provides commercial FreeBSD support. + The &os; Mall provides commercial &os; support. You can get more information at their web site. @@ -1129,7 +1129,7 @@ - Which file do I download to get FreeBSD? + Which file do I download to get &os;? @@ -1141,7 +1141,7 @@ fdimage or &man.dd.1;. If you need to download the distributions yourself (for a - DOS filesystem install, for instance), below are some + DOS file system install, for instance), below are some recommendations for distributions to grab: @@ -1171,7 +1171,7 @@ Full instructions on this procedure and a little bit more about installation issues in general can be found in the Handbook entry on - installing FreeBSD. + installing &os;. @@ -1222,7 +1222,7 @@ fdimage or rawrite) described in the installation guide to - FreeBSD. + &os;. @@ -1230,18 +1230,18 @@ - Where are the instructions for installing FreeBSD? + Where are the instructions for installing &os;? Installation instructions can be found in the - Handbook entry on installing FreeBSD. + Handbook entry on installing &os;. - What do I need in order to run FreeBSD? + What do I need in order to run &os;? @@ -1288,13 +1288,13 @@ - Can &windows; co-exist with FreeBSD? + Can &windows; co-exist with &os;? - Install &windows; first, then FreeBSD. - FreeBSD's boot manager will then manage to boot &windows; and - FreeBSD. If you install &windows; second, it will boorishly + Install &windows; first, then &os;. + &os;'s boot manager will then manage to boot &windows; and + &os;. If you install &windows; second, it will boorishly overwrite your boot manager without even asking. If that happens, see the next section. @@ -1307,13 +1307,13 @@ - You can reinstall the boot manager FreeBSD comes with in + You can reinstall the boot manager &os; comes with in one of three ways: Running DOS, go into the tools directory of your - FreeBSD distribution and look for + &os; distribution and look for bootinst.exe. You run it like so: @@ -1323,23 +1323,23 @@ - Boot the FreeBSD boot floppy again and go to the + Boot the &os; boot floppy again and go to the Custom menu item for custom installation. Choose Partition. Select the drive which used to contain your boot manager (likely the first one) and when you come to the partition editor for it, as the very first thing (e.g. do not make any changes) press W. This will ask for confirmation, select &gui.yes;, and when you get the Boot Manager selection prompt, be - sure to select the FreeBSD Boot Manager. This will + sure to select the &os; Boot Manager. This will re-write the boot manager to disk. Now quit out of the installation menu and reboot off the hard disk as normal. - Boot the FreeBSD boot floppy (or CDROM) and choose the + Boot the &os; boot floppy (or CD-ROM) and choose the Fixit menu item. Select either the Fixit - floppy or CDROM #2 (the live filesystem + floppy or CD-ROM #2 (the live file system option) as appropriate and enter the fixit shell. Then execute the following command: @@ -1359,16 +1359,16 @@ My A, T, or X series IBM Thinkpad locks up when I first - booted up my FreeBSD installation. How can I solve this? + booted up my &os; installation. How can I solve this? A bug in early revisions of IBM's BIOS on these machines - mistakenly identifies the FreeBSD partition as a potential FAT + mistakenly identifies the &os; partition as a potential FAT suspend-to-disk partition. When the BIOS tries to parse the - FreeBSD partition it hangs. + &os; partition it hangs. - According to IBMIn an e-mail from Keith + According to IBMIn an email from Keith Frechette kfrechet@us.ibm.com., the following model/BIOS release numbers incorporate the fix. @@ -1426,26 +1426,26 @@ url="http://docs.FreeBSD.org/cgi/mid.cgi?20010427133759.A71732">This message from Jacques Vidrine to the &a.mobile; describes a procedure which may work if your newer IBM - laptop does not boot FreeBSD properly, and you can upgrade + laptop does not boot &os; properly, and you can upgrade or downgrade the BIOS. If you have an earlier BIOS, and upgrading is not an option, a - workaround is to install FreeBSD, change the partition ID FreeBSD + workaround is to install &os;, change the partition ID &os; uses, and install new boot blocks that can handle the different partition ID. First, you will need to restore the machine to a state where it can get through its self-test screen. Doing this requires - powering up the machine without letting it find a FreeBSD + powering up the machine without letting it find a &os; partition on its primary disk. One way is to remove the hard disk and temporarily move it to an older ThinkPad (such as a ThinkPad 600) or a desktop PC with an appropriate conversion cable. Once - it is there, you can delete the FreeBSD partition and move the hard + it is there, you can delete the &os; partition and move the hard disk back. The ThinkPad should now be in a bootable state again. With the machine functional again, you can use the workaround - procedure described here to get a working FreeBSD + procedure described here to get a working &os; installation. @@ -1458,7 +1458,7 @@ - Install FreeBSD as normal on to the ThinkPad. + Install &os; as normal on to the ThinkPad. Do not use Dangerously Dedicated mode. Do not reboot when the install has finished. @@ -1466,13 +1466,13 @@ Either switch to the Emergency Holographic - Shell (ALT + Shell (Alt F4) or start a fixit shell. - Use &man.fdisk.8; to change the FreeBSD partition ID from + Use &man.fdisk.8; to change the &os; partition ID from 165 to 166 (this is the type used by OpenBSD). @@ -1480,28 +1480,28 @@ Bring the boot1 and boot2 files to the local - filesystem. + file system. Use &man.disklabel.8; to write boot1 - and boot2 to your FreeBSD slice. + and boot2 to your &os; slice. &prompt.root; disklabel -B -b boot1 -s boot2 ad0sn n is the number of the slice - where you installed FreeBSD. + where you installed &os;. Reboot. At the boot prompt you will be given the option of booting OpenBSD. This will actually - boot FreeBSD. + boot &os;. Getting this to work in the case where you want to dual boot - OpenBSD and FreeBSD on the same laptop is left as an exercise for + OpenBSD and &os; on the same laptop is left as an exercise for the reader. @@ -1570,21 +1570,21 @@ - I booted from my ATAPI CDROM, but the install program - says no CDROM is found. Where did it go? + I booted from my ATAPI CD-ROM, but the install program + says no CD-ROM is found. Where did it go? - The usual cause of this problem is a mis-configured CDROM - drive. Many PCs now ship with the CDROM as the slave device on + The usual cause of this problem is a mis-configured CD-ROM + drive. Many PCs now ship with the CD-ROM as the slave device on the secondary IDE controller, with no master device on that controller. This is illegal according to the ATAPI specification, but &windows; plays fast and loose with the specification, and the BIOS ignores it when booting. This is why the BIOS was able to - see the CDROM to boot from it, but why FreeBSD cannot see it to + see the CD-ROM to boot from it, but why &os; cannot see it to complete the install. - Reconfigure your system so that the CDROM is either the + Reconfigure your system so that the CD-ROM is either the master device on the IDE controller it is attached to, or make sure that it is the slave on an IDE controller that also has a master device. @@ -1622,20 +1622,20 @@ This causes a lot of confusion among new system administrators. First of all, the physical geometry of a SCSI drive is - totally irrelevant, as FreeBSD works in term of disk + totally irrelevant, as &os; works in term of disk blocks. In fact, there is no such thing as the physical geometry, as the sector density varies across the disk. What manufacturers claim is the physical geometry is usually the geometry that they have determined wastes the least - space. For IDE disks, FreeBSD does work in terms of C/H/S, + space. For IDE disks, &os; does work in terms of C/H/S, but all modern drives internally convert this into block references. All that matters is the logical geometry. This is the answer that the BIOS gets when it asks the drive what is your geometry? It - then uses this geometry to access the disk. As FreeBSD + then uses this geometry to access the disk. As &os; uses the BIOS when booting, it is very important to get this right. In particular, if you have more than one operating system on a disk, they must all agree on the @@ -1661,7 +1661,7 @@ have 261 cylinders, 63 sectors per track and 255 heads. - If you are not sure about this, or FreeBSD fails to + If you are not sure about this, or &os; fails to detect the geometry correctly during installation, the simplest way around this is usually to create a small DOS partition on the disk. The BIOS should then detect the @@ -1671,10 +1671,10 @@ programming network cards and the like, however. Alternatively, there is a freely available utility - distributed with FreeBSD called + distributed with &os; called pfdisk.exe. You can find it in the - tools subdirectory on the FreeBSD - CDROM or on the various FreeBSD FTP sites. This program + tools subdirectory on the &os; + CD-ROM or on the various &os; FTP sites. This program can be used to work out what geometry the other operating systems on the disk are using. You can then enter this geometry in the partition editor. @@ -1689,7 +1689,7 @@ Yes. You must make sure that your root partition is below 1024 cylinders so the BIOS can boot the kernel from it. (Note that - this is a limitation in the PC's BIOS, not FreeBSD). + this is a limitation in the PC's BIOS, not &os;). For a SCSI drive, this will normally imply that the root partition will be in the first 1024 MB (or in the first 4096 MB @@ -1725,15 +1725,15 @@ - When I boot FreeBSD for the first time after install I get Missing Operating + When I boot &os; for the first time after install I get Missing Operating System. What is happening? - This is classically a case of FreeBSD and DOS or some other + This is classically a case of &os; and DOS or some other OS conflicting over their ideas of disk geometry. You will have to reinstall - FreeBSD, but obeying the instructions given above will almost + &os;, but obeying the instructions given above will almost always get you going. @@ -1746,11 +1746,11 @@ This is another symptom of the problem described in the - preceding question. Your BIOS geometry and FreeBSD geometry + preceding question. Your BIOS geometry and &os; geometry settings do not agree! If your controller or BIOS supports cylinder translation (often marked as >1GB drive support), try toggling its setting and reinstalling - FreeBSD. + &os;. @@ -1778,7 +1778,7 @@ Having the sources on-line and knowing how to build a system with them will make it much easier for you to upgrade - to future releases of FreeBSD. + to future releases of &os;. To actually select a subset of the sources, use the Custom menu item when you are in the Distributions menu of the @@ -1793,7 +1793,7 @@ Building a new kernel was originally pretty much a required - step in a FreeBSD installation, but more recent releases have >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 14 20:26:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AEBA21065673; Mon, 14 Jul 2008 20:26:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 591F8106566B for ; Mon, 14 Jul 2008 20:26:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 505508FC18 for ; Mon, 14 Jul 2008 20:26:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6EKQEAq071557 for ; Mon, 14 Jul 2008 20:26:14 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6EKQEtk071555 for perforce@freebsd.org; Mon, 14 Jul 2008 20:26:14 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 14 Jul 2008 20:26:14 GMT Message-Id: <200807142026.m6EKQEtk071555@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 145244 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 14 Jul 2008 20:26:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=145244 Change 145244 by pgj@disznohal on 2008/07/14 20:26:09 Rework in www/hu/{search, share} Affected files ... .. //depot/projects/docproj_hu/www/hu/search/index-site.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/search/search-mid.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/search/search.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/search/searchhints.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/search/site.map#6 edit .. //depot/projects/docproj_hu/www/hu/search/web.atoz#6 edit .. //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#5 edit .. //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#7 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/search/index-site.sgml#4 (text+ko) ==== @@ -2,7 +2,8 @@ - + ]> @@ -19,17 +20,18 @@

    Oldaltérkép

    &site; -

    Meta weboldalak

    +

    Metaoldalak

    +
      -
    • Kereskedelmi Terjesztõk
    • -
    • Copyright és Jogi Információk
    • +
    • Kereskedelmi terjesztõk
    • +
    • Copyright és jogi információk
    • Dokumentáció
    • -
    • Belsõ Oldalak
    • +
    • Belsõ oldalak
    • Hírek
    • Platformok
    • Portok
    • Projektek
    • -
    • Kiadási Információk
    • +
    • A kiadásokkal kapcsolatos információk
    • Keresés
    • Biztonság
    • Támogatás
    • ==== //depot/projects/docproj_hu/www/hu/search/search-mid.sgml#5 (text+ko) ==== @@ -1,7 +1,8 @@ - + ]> + -sub 1024g/018C35E9 2007-06-09 +sub 1024g/5D7681A3 2007-06-08 ]]> From owner-p4-projects@FreeBSD.ORG Tue Jul 15 13:00:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCFA81065671; Tue, 15 Jul 2008 13:00:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A00EB106566C for ; Tue, 15 Jul 2008 13:00:19 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8061A8FC15 for ; Tue, 15 Jul 2008 13:00:19 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FD0Jjt044087 for ; Tue, 15 Jul 2008 13:00:19 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FD0JD9044085 for perforce@freebsd.org; Tue, 15 Jul 2008 13:00:19 GMT (envelope-from gabor@freebsd.org) Date: Tue, 15 Jul 2008 13:00:19 GMT Message-Id: <200807151300.m6FD0JD9044085@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 13:00:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=145277 Change 145277 by gabor@gabor_server on 2008/07/15 13:00:19 - Add some work-in-progress PCRE code Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/Makefile#12 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#67 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.h#38 edit .. //depot/projects/soc2008/gabor_textproc/grep/util.c#61 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/Makefile#12 (text+ko) ==== @@ -21,9 +21,10 @@ DPADD= ${LIBZ} ${LIBBZ2} .if defined(WITH_PCRE) -CFLAGS+= WITH_PCRE=yes +CFLAGS+= -DWITH_PCRE=yes -I/usr/local/include +LDFLAGS+= -L/usr/local/lib LDADD+= -lpcre -DPADD= /usr/local/lib/libpcre.a +DPADD+= /usr/local/lib/libpcre.a .endif .if !defined(WITHOUT_NLS) ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#67 (text+ko) ==== @@ -87,6 +87,9 @@ int patterns, pattern_sz; char **pattern; regex_t *r_pattern; +#ifdef WITH_PCRE +pcre **perl_pattern; +#endif /* Filename exclusion/inclusion patterns */ int epatterns, epattern_sz; @@ -551,20 +554,35 @@ cflags |= REG_EXTENDED; break; case GREP_PERL: - errx(2, "Not yet implemented"); break; default: /* NOTREACHED */ usage(); } - r_pattern = grep_calloc(patterns, sizeof(*r_pattern)); - for (i = 0; i < patterns; ++i) { - c = regcomp(&r_pattern[i], pattern[i], cflags); - if (c != 0) { - regerror(c, &r_pattern[i], re_error, - RE_ERROR_BUF); - errx(2, "%s", re_error); + if (grepbehave != GREP_PERL) { + r_pattern = grep_calloc(patterns, sizeof(*r_pattern)); + for (i = 0; i < patterns; ++i) { + c = regcomp(&r_pattern[i], pattern[i], cflags); + if (c != 0) { + regerror(c, &r_pattern[i], re_error, + RE_ERROR_BUF); + errx(2, "%s", re_error); + } + } + } else { +#ifdef WITH_PCRE + perl_pattern = grep_calloc(patterns, sizeof(perl_pattern)); + for (i = 0; i < patterns; ++i) { + char **err_msg = NULL; + int erroff; + + perl_pattern[i] = pcre_compile(pattern[i], 0, (const char **)err_msg, &erroff, NULL); + if (perl_pattern[i] != NULL) + errx(2, "wrong PCRE: %s", err_msg[0]); } +#else + ; +#endif } if (lbflag) ==== //depot/projects/soc2008/gabor_textproc/grep/grep.h#38 (text+ko) ==== @@ -31,7 +31,7 @@ #include #include -#if defined(WITH_PCRE) +#ifdef WITH_PCRE #include #endif @@ -100,12 +100,17 @@ extern int nullflag, exclflag, inclflag; extern unsigned long long Aflag, Bflag, mcount; extern char *color, *label; -extern int binbehave, filebehave, devbehave, dirbehave, linkbehave; +extern int grepbehave, binbehave, filebehave, devbehave, dirbehave, linkbehave; extern int first, prev, matchall, patterns, epatterns, tail, notfound; extern char **pattern, **epattern; extern regex_t *r_pattern, *er_pattern; +#ifdef WITH_PCRE +extern pcre **perl_pattern; +#endif + + /* For regex errors */ #define RE_ERROR_BUF 512 extern char re_error[RE_ERROR_BUF + 1]; /* Seems big enough */ ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#61 (text+ko) ==== @@ -221,7 +221,10 @@ regmatch_t pmatch; regmatch_t matches[MAX_LINE_MATCHES]; regoff_t st = 0; - int c = 0, i, r, m = 0, t; + int c = 0, i, r = 0, m = 0, t; +#ifdef WITH_PCRE + int ovector[3]; +#endif if (!matchall) { t = vflag ? REG_NOMATCH : 0; @@ -231,7 +234,19 @@ pmatch.rm_eo = l->len; for (i = 0; i < patterns; i++) { - r = regexec(&r_pattern[i], l->dat, 1, &pmatch, eflags); + if (grepbehave != GREP_PERL) { + r = regexec(&r_pattern[i], l->dat, 1, &pmatch, eflags); + st = pmatch.rm_eo; + } else { +#ifdef WITH_PCRE + r = pcre_exec(perl_pattern[i], NULL, l->dat, l->len, st, 0, &ovector, 3); + pmatch.rm_so = ovector[0]; + pmatch.rm_eo = ovector[1]; + st = ovector[1]; +#else + ; +#endif + } if (r == REG_NOMATCH && t == 0) continue; if (r == 0 && xflag) @@ -256,7 +271,6 @@ matches[m] = pmatch; m++; } - st = pmatch.rm_eo; break; } /* One pass if we are not recording matches */ From owner-p4-projects@FreeBSD.ORG Tue Jul 15 13:15:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5E9F1065691; Tue, 15 Jul 2008 13:15:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B4BB106568D for ; Tue, 15 Jul 2008 13:15:35 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 314488FC0A for ; Tue, 15 Jul 2008 13:15:35 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FDFZE4046672 for ; Tue, 15 Jul 2008 13:15:35 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FDFZCf046670 for perforce@freebsd.org; Tue, 15 Jul 2008 13:15:35 GMT (envelope-from gabor@freebsd.org) Date: Tue, 15 Jul 2008 13:15:35 GMT Message-Id: <200807151315.m6FDFZCf046670@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145278 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 13:15:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=145278 Change 145278 by gabor@gabor_server on 2008/07/15 13:14:34 - Exit if we don't have PCRE, but -P is set Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#68 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#68 (text+ko) ==== @@ -554,6 +554,11 @@ cflags |= REG_EXTENDED; break; case GREP_PERL: +#ifndef WITH_PCRE + errx(2, "PCRE is not enabled in this version of grep." + "To enable this feature, please install libpcre and" + "recompile grep with WITH_PCRE set."); +#endif break; default: /* NOTREACHED */ From owner-p4-projects@FreeBSD.ORG Tue Jul 15 13:24:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7802106567F; Tue, 15 Jul 2008 13:24:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9BDD91065674 for ; Tue, 15 Jul 2008 13:24:44 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7C37F8FC30 for ; Tue, 15 Jul 2008 13:24:44 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FDOihl047515 for ; Tue, 15 Jul 2008 13:24:44 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FDOi3i047513 for perforce@freebsd.org; Tue, 15 Jul 2008 13:24:44 GMT (envelope-from gabor@freebsd.org) Date: Tue, 15 Jul 2008 13:24:44 GMT Message-Id: <200807151324.m6FDOi3i047513@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145279 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 13:24:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=145279 Change 145279 by gabor@gabor_server on 2008/07/15 13:24:20 - Pass ovector to pcre_exec correctly Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/util.c#62 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#62 (text+ko) ==== @@ -239,7 +239,7 @@ st = pmatch.rm_eo; } else { #ifdef WITH_PCRE - r = pcre_exec(perl_pattern[i], NULL, l->dat, l->len, st, 0, &ovector, 3); + r = pcre_exec(perl_pattern[i], NULL, l->dat, l->len, st, 0, ovector, 3); pmatch.rm_so = ovector[0]; pmatch.rm_eo = ovector[1]; st = ovector[1]; From owner-p4-projects@FreeBSD.ORG Tue Jul 15 13:55:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E52F41065679; Tue, 15 Jul 2008 13:55:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A83C21065678 for ; Tue, 15 Jul 2008 13:55:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 885E88FC24 for ; Tue, 15 Jul 2008 13:55:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FDtFwD050503 for ; Tue, 15 Jul 2008 13:55:15 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FDtFEQ050501 for perforce@freebsd.org; Tue, 15 Jul 2008 13:55:15 GMT (envelope-from gabor@freebsd.org) Date: Tue, 15 Jul 2008 13:55:15 GMT Message-Id: <200807151355.m6FDtFEQ050501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145281 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 13:55:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=145281 Change 145281 by gabor@gabor_server on 2008/07/15 13:54:55 - Fix -v behaviour [1] - Indenting Reported by: kris [1] Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/util.c#63 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#63 (text+ko) ==== @@ -283,13 +283,10 @@ } else c = !vflag; - if (vflag) - c = !c; - if (c && binbehave == BINFILE_BIN && nottext) return (c); /* Binary file */ - if ((tail || c) && !cflag && !qflag) { + if ((tail || (c && !vflag)) && !cflag && !qflag) { if (c) { if (!first && !prev && !tail && Aflag) printf("--\n"); @@ -380,8 +377,9 @@ fwrite(line->dat + a, matches[i].rm_so - a, 1, stdout); if (color) fprintf(stdout, "\33[%sm\33[K", color); + fwrite(line->dat + matches[i].rm_so, - matches[i].rm_eo - matches[i].rm_so, 1, stdout); + matches[i].rm_eo - matches[i].rm_so, 1, stdout); if (color) fprintf(stdout, "\33[00m\33[K"); a = matches[i].rm_eo; From owner-p4-projects@FreeBSD.ORG Tue Jul 15 14:23:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 789551065680; Tue, 15 Jul 2008 14:23:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B98B1065686 for ; Tue, 15 Jul 2008 14:23:44 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F0C9F8FC38 for ; Tue, 15 Jul 2008 14:23:43 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FENheZ053828 for ; Tue, 15 Jul 2008 14:23:43 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FENhfc053826 for perforce@freebsd.org; Tue, 15 Jul 2008 14:23:43 GMT (envelope-from gabor@freebsd.org) Date: Tue, 15 Jul 2008 14:23:43 GMT Message-Id: <200807151423.m6FENhfc053826@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 145282 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 14:23:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=145282 Change 145282 by gabor@gabor_server on 2008/07/15 14:23:31 - Call setlocale() in main() for wchar support Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#12 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#12 (text+ko) ==== @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -138,6 +139,8 @@ int ch, lastch, gotstdin, prevoptind, newarg, flags = 0; char *dst, *src; + setlocale(LC_ALL, ""); + oargv = argv; gotstdin = 0; From owner-p4-projects@FreeBSD.ORG Tue Jul 15 14:48:09 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59CA31065678; Tue, 15 Jul 2008 14:48:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1DFCF1065676 for ; Tue, 15 Jul 2008 14:48:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BCA648FC14 for ; Tue, 15 Jul 2008 14:48:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FEm8La055989 for ; Tue, 15 Jul 2008 14:48:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FEm81K055987 for perforce@freebsd.org; Tue, 15 Jul 2008 14:48:08 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 15 Jul 2008 14:48:08 GMT Message-Id: <200807151448.m6FEm81K055987@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 145283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 14:48:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=145283 Change 145283 by hselasky@hselasky_laptop001 on 2008/07/15 14:47:48 Improve selection of recording sources. Make all selectors appear like recording selectors. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#7 (text+ko) ==== @@ -1682,7 +1682,6 @@ { const struct usb2_audio_selector_unit *d = iot[id].u.su; struct uaudio_mixer_node mix; - struct uaudio_mixer_node dummy; uint16_t i; DPRINTF(2, "bUnitId=%d bNrInPins=%d\n", @@ -1699,7 +1698,7 @@ mix.nchan = 1; mix.type = MIX_SELECTOR; - mix.ctl = SOUND_MIXER_NRDEVICES;/* XXXXX */ + mix.ctl = SOUND_MIXER_NRDEVICES; mix.minval = 1; mix.maxval = d->bNrInPins; @@ -1713,9 +1712,11 @@ for (i = 0; i < mix.maxval; i++) { mix.slctrtype[i] = uaudio_mixer_feature_name - (&iot[d->baSourceId[i]], &dummy); + (&iot[d->baSourceId[i]], &mix); } + mix.class = 0; /* not used */ + uaudio_mixer_add_ctl(sc, &mix); return; } @@ -3071,8 +3072,7 @@ sc->sc_mix_info |= (1 << mc->ctl); } if ((mc->ctl == SOUND_MIXER_NRDEVICES) && - (mc->type == MIX_SELECTOR) && - (mc->class == UAC_RECORD)) { + (mc->type == MIX_SELECTOR)) { for (i = mc->minval; (i > 0) && (i <= mc->maxval); i++) { if (mc->slctrtype[i - 1] == SOUND_MIXER_NRDEVICES) { @@ -3141,20 +3141,40 @@ uaudio_mixer_setrecsrc(struct uaudio_softc *sc, uint32_t src) { struct uaudio_mixer_node *mc; + uint32_t mask; + uint32_t temp; int32_t i; for (mc = sc->sc_mixer_root; mc; mc = mc->next) { if ((mc->ctl == SOUND_MIXER_NRDEVICES) && - (mc->type == MIX_SELECTOR) && - (mc->class == UAC_RECORD)) { + (mc->type == MIX_SELECTOR)) { + + /* compute selector mask */ + + mask = 0; + for (i = mc->minval; (i > 0) && (i <= mc->maxval); i++) { + mask |= (1 << mc->slctrtype[i - 1]); + } + + temp = mask & src; + if (temp == 0) { + continue; + } + /* find the first set bit */ + temp = (-temp) & temp; + + /* update "src" */ + src &= ~mask; + src |= temp; + for (i = mc->minval; (i > 0) && (i <= mc->maxval); i++) { - if (src != (1 << mc->slctrtype[i - 1])) { + if (temp != (1 << mc->slctrtype[i - 1])) { continue; } uaudio_mixer_ctl_set(sc, mc, 0, i); - src = (1 << mc->slctrtype[i - 1]); + break; } } } From owner-p4-projects@FreeBSD.ORG Tue Jul 15 15:12:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8142110656E9; Tue, 15 Jul 2008 15:12:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44BDA106567D for ; Tue, 15 Jul 2008 15:12:33 +0000 (UTC) (envelope-from andenore@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2597A8FC1C for ; Tue, 15 Jul 2008 15:12:33 +0000 (UTC) (envelope-from andenore@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FFCX38059036 for ; Tue, 15 Jul 2008 15:12:33 GMT (envelope-from andenore@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FFCXKa059034 for perforce@freebsd.org; Tue, 15 Jul 2008 15:12:33 GMT (envelope-from andenore@FreeBSD.org) Date: Tue, 15 Jul 2008 15:12:33 GMT Message-Id: <200807151512.m6FFCXKa059034@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andenore@FreeBSD.org using -f From: Anders Nore To: Perforce Change Reviews Cc: Subject: PERFORCE change 145284 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 15:12:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=145284 Change 145284 by andenore@andenore_laptop on 2008/07/15 15:12:12 Added progress bar to -r option of pkg_add Affected files ... .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#6 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/perform.c#6 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/main.c#3 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#6 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/database.c#7 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#8 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/url.c#3 edit Differences ... ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#6 (text+ko) ==== @@ -1,5 +1,5 @@ Changes made to pkg_install during SoC2008 by Anders Nore (andenore@FreeBSD.org) -Last modified: 2008 06 25 +Last modified: 2008 07 15 Converter: @@ -16,6 +16,7 @@ Add: - Indexes information to dbcache according to the add + - Added percentage progress for remote fetching ( -r option ) Delete: - Deindexes information according to the delete ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/perform.c#6 (text+ko) ==== ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/main.c#3 (text+ko) ==== @@ -10,7 +10,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/create/main.c,v 1.45 2008/06/16 23:41:11 flz Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/create/main.c,v 1.46 2008/07/08 03:21:05 keramida Exp $"); #include #include @@ -208,6 +208,10 @@ Recursive = TRUE; break; + case 'n': + Regenerate = FALSE; + break; + case 0: if (Help) usage(); ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#5 (text+ko) ==== @@ -242,11 +242,12 @@ * See /usr/ports/Mk/bsd.port.mk (in the fake-pkg target) */ if (PlistOnly) { - openDatabase(O_RDWR); + if (openDatabase(O_CREAT | O_RDWR)) + err("Could not open database: %s", DBCACHE_FILE); check_list(home, &plist); + write_plist(&plist, stdout); int retval = cache_plist(&plist, FALSE); - write_plist(&plist, stdout); closeDatabase(); exit(retval); ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#6 (text+ko) ==== @@ -377,20 +377,19 @@ } /* If cache exists check database for the key (i.e., file absolute path) */ - if(CacheExists == TRUE) { + if (CacheExists == TRUE) { // DEBUG("find_pkg: USES CACHE\n"); TAILQ_FOREACH(wp, which_list, next) { if (wp->skip == TRUE) continue; DBT tmp; - if(dbKeyExists(wp->file, &tmp)) + if (dbKeyExists(wp->file, &tmp)) strlcpy(wp->package, tmp.data, PATH_MAX); else DEBUG("find_pkg: Doesn't exist\n"); } } else { - DEBUG("find_pkg: NO CACHE\n"); - + DEBUG("debug: not using cache; run pkg_convert\n"); installed = matchinstalled(MATCH_ALL, NULL, &errcode); if (installed == NULL) return errcode; ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/database.c#7 (text+ko) ==== @@ -46,7 +46,7 @@ DB * opendb(const char *filename, int flags) { - return dbopen(filename, flags, 0755, DB_BTREE, &btinfo); + return dbopen(filename, flags, 0777, DB_BTREE, &btinfo); } /* ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#8 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/usr.sbin/pkg_install/lib/lib.h,v 1.68 2008/06/12 15:21:13 flz Exp $ */ +/* $FreeBSD: src/usr.sbin/pkg_install/lib/lib.h,v 1.69 2008/07/08 03:21:05 keramida Exp $ */ /* * FreeBSD install - a package for the installation and maintainance @@ -113,7 +113,7 @@ * Version of the package tools - increase only when some * functionality used by bsd.port.mk is changed, added or removed */ -#define PKG_INSTALL_VERSION 20080612 +#define PKG_INSTALL_VERSION 20080708 #define PKG_WRAPCONF_FNAME "/var/db/pkg_install.conf" #define main(argc, argv) real_main(argc, argv) ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/url.c#3 (text+ko) ==== @@ -45,6 +45,7 @@ int pfd[2], pstat, r, w = 0; char *hint; int fd, pkgfd = 0; + struct url_stat ustat; rp = NULL; /* Special tip that sysinstall left for us */ @@ -104,6 +105,11 @@ } fetchDebug = (Verbose > 0); + if ((fetchStatURL(fname, &ustat, Verbose ? "v" : NULL)) == -1) { + if (Verbose) + warn("Error: Could not get filestat for url: %s", fname); + } + if ((ftp = fetchGetURL(fname, Verbose ? "v" : NULL)) == NULL) { printf("Error: FTP Unable to get %s: %s\n", fname, fetchLastErrString); @@ -111,7 +117,7 @@ } if (isatty(0) || Verbose) - printf("Fetching %s...", fname), fflush(stdout); + printf("Fetching %i bytes from %s...\n", (int)ustat.size, fname), fflush(stdout); pen[0] = '\0'; if ((rp = make_playpen(pen, 0)) == NULL) { printf("Error: Unable to construct a new playpen for FTP!\n"); @@ -139,6 +145,7 @@ } close(pfd[0]); for (;;) { + static int count = 0; if ((r = fread(buf, 1, sizeof buf, ftp)) < 1) break; if ((w = write(pfd[1], buf, r)) != r) @@ -146,7 +153,14 @@ if (keep_package) { if ((w = write(pkgfd, buf, r)) != r) break; - } + } + count += r; + int perc = (int)count*100/(int)ustat.size; + if (isatty(0) || Verbose) + printf("Progress: %3i%%", perc); + fflush(stdout); + if(count != (int)ustat.size) + printf("\r"); } if (ferror(ftp)) warn("warning: error reading from server"); From owner-p4-projects@FreeBSD.ORG Tue Jul 15 19:49:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 399C510656A2; Tue, 15 Jul 2008 19:49:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8CA510656A0 for ; Tue, 15 Jul 2008 19:49:12 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C490F8FC20 for ; Tue, 15 Jul 2008 19:49:12 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6FJnC2q006480 for ; Tue, 15 Jul 2008 19:49:12 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6FJnBfD006476 for perforce@freebsd.org; Tue, 15 Jul 2008 19:49:11 GMT (envelope-from thompsa@freebsd.org) Date: Tue, 15 Jul 2008 19:49:11 GMT Message-Id: <200807151949.m6FJnBfD006476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 145297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 15 Jul 2008 19:49:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=145297 Change 145297 by thompsa@thompsa_burger on 2008/07/15 19:48:47 IFC @145293 Affected files ... .. //depot/projects/vap/ObsoleteFiles.inc#14 integrate .. //depot/projects/vap/UPDATING#15 integrate .. //depot/projects/vap/contrib/bind9/CHANGES#4 integrate .. //depot/projects/vap/contrib/bind9/FREEBSD-Upgrade#3 delete .. //depot/projects/vap/contrib/bind9/FREEBSD-Xlist#3 delete .. //depot/projects/vap/contrib/bind9/bin/named/client.c#4 integrate .. //depot/projects/vap/contrib/bind9/bin/named/server.c#4 integrate .. //depot/projects/vap/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 integrate .. //depot/projects/vap/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 integrate .. //depot/projects/vap/contrib/bind9/doc/arm/Bv9ARM.pdf#4 integrate .. //depot/projects/vap/contrib/bind9/lib/bind/aclocal.m4#3 delete .. //depot/projects/vap/contrib/bind9/lib/bind/config.h.in#4 delete .. //depot/projects/vap/contrib/bind9/lib/bind/configure#4 delete .. //depot/projects/vap/contrib/bind9/lib/bind9/check.c#4 integrate .. //depot/projects/vap/contrib/bind9/lib/dns/api#4 integrate .. //depot/projects/vap/contrib/bind9/lib/dns/dispatch.c#4 integrate .. //depot/projects/vap/contrib/bind9/lib/dns/include/dns/dispatch.h#4 integrate .. //depot/projects/vap/contrib/bind9/lib/dns/resolver.c#4 integrate .. //depot/projects/vap/contrib/bind9/version#4 integrate .. //depot/projects/vap/contrib/cpio/ABOUT-NLS#3 integrate .. //depot/projects/vap/contrib/cpio/COPYING#3 integrate .. //depot/projects/vap/contrib/cpio/ChangeLog#3 integrate .. //depot/projects/vap/contrib/cpio/INSTALL#3 integrate .. //depot/projects/vap/contrib/cpio/NEWS#3 integrate .. //depot/projects/vap/contrib/cpio/THANKS#3 integrate .. //depot/projects/vap/contrib/cpio/TODO#3 integrate .. //depot/projects/vap/contrib/cpio/doc/cpio.texi#3 integrate .. //depot/projects/vap/contrib/cpio/doc/version.texi#1 branch .. //depot/projects/vap/contrib/cpio/lib/alloca_.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-ba.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-eexst.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-fmtstream.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-fmtstream.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-fs-xinl.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-help.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-namefrob.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-parse.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-pin.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/argp-pv.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-pvh.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp-xinl.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/argp.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/basename.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/dirname.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/dirname.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/error.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/error.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/exit.h#3 delete .. //depot/projects/vap/contrib/cpio/lib/exitfail.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/exitfail.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/fatal.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/full-write.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/full-write.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/getopt.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/getopt1.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/getopt_.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/getopt_int.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/gettext.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/hash.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/hash.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/intprops.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/inttostr.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/inttostr.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/localedir.h#3 delete .. //depot/projects/vap/contrib/cpio/lib/mempcpy.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/mempcpy.h#3 delete .. //depot/projects/vap/contrib/cpio/lib/paxerror.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/paxexit.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/paxlib.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/paxnames.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/quote.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/quote.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/quotearg.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/quotearg.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/rmt-command.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/rmt.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/rtapelib.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/safe-read.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/safe-read.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/safe-write.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/safe-write.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/savedir.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/savedir.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/strcase.h#3 delete .. //depot/projects/vap/contrib/cpio/lib/strchrnul.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/strchrnul.h#3 delete .. //depot/projects/vap/contrib/cpio/lib/stripslash.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/strndup.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/strndup.h#3 delete .. //depot/projects/vap/contrib/cpio/lib/strnlen.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/system-ioctl.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/system.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/umaxtostr.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/unlocked-io.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/utimens.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/utimens.h#1 branch .. //depot/projects/vap/contrib/cpio/lib/xalloc-die.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/xalloc.h#3 integrate .. //depot/projects/vap/contrib/cpio/lib/xmalloc.c#3 integrate .. //depot/projects/vap/contrib/cpio/lib/xstrndup.c#1 branch .. //depot/projects/vap/contrib/cpio/lib/xstrndup.h#1 branch .. //depot/projects/vap/contrib/cpio/src/copyin.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/copyout.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/copypass.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/cpio.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/cpiohdr.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/defer.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/defer.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/dstring.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/dstring.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/extern.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/filemode.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/filetypes.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/global.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/idcache.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/main.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/makepath.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/tar.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/tar.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/tarhdr.h#3 integrate .. //depot/projects/vap/contrib/cpio/src/userspec.c#3 integrate .. //depot/projects/vap/contrib/cpio/src/util.c#3 integrate .. //depot/projects/vap/etc/etc.amd64/ttys#3 integrate .. //depot/projects/vap/etc/etc.i386/ttys#3 integrate .. //depot/projects/vap/etc/namedb/named.conf#4 integrate .. //depot/projects/vap/etc/rc.d/pf#3 integrate .. //depot/projects/vap/games/fortune/datfiles/fortunes#11 integrate .. //depot/projects/vap/gnu/usr.bin/cpio/Makefile#5 integrate .. //depot/projects/vap/gnu/usr.bin/cpio/config.h#3 integrate .. //depot/projects/vap/include/unistd.h#11 integrate .. //depot/projects/vap/lib/libarchive/archive_read_support_format_tar.c#7 integrate .. //depot/projects/vap/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/vap/lib/libc/sys/Symbol.map#9 integrate .. //depot/projects/vap/lib/libc/sys/ktrace.2#3 integrate .. //depot/projects/vap/lib/libc/sys/modstat.2#3 integrate .. //depot/projects/vap/lib/libgeom/geom_ctl.c#3 integrate .. //depot/projects/vap/lib/libgeom/geom_getxml.c#3 integrate .. //depot/projects/vap/lib/libgeom/geom_xml2tree.c#3 integrate .. //depot/projects/vap/sbin/mount_nfs/mount_nfs.c#4 integrate .. //depot/projects/vap/share/man/man4/Makefile#16 integrate .. //depot/projects/vap/share/man/man4/ahc.4#3 integrate .. //depot/projects/vap/share/man/man4/ddb.4#8 integrate .. //depot/projects/vap/share/man/man4/et.4#1 branch .. //depot/projects/vap/share/man/man4/malo.4#6 integrate .. //depot/projects/vap/share/man/man4/zyd.4#5 integrate .. //depot/projects/vap/share/man/man9/style.9#5 integrate .. //depot/projects/vap/share/misc/committers-src.dot#8 integrate .. //depot/projects/vap/share/zoneinfo/leapseconds#5 integrate .. //depot/projects/vap/sys/Makefile#8 integrate .. //depot/projects/vap/sys/amd64/amd64/busdma_machdep.c#7 integrate .. //depot/projects/vap/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/vap/sys/amd64/amd64/minidump_machdep.c#6 integrate .. //depot/projects/vap/sys/amd64/amd64/mp_machdep.c#9 integrate .. //depot/projects/vap/sys/amd64/amd64/pmap.c#21 integrate .. //depot/projects/vap/sys/amd64/conf/GENERIC#18 integrate .. //depot/projects/vap/sys/amd64/conf/GENERIC.hints#5 integrate .. //depot/projects/vap/sys/amd64/include/pmap.h#8 integrate .. //depot/projects/vap/sys/amd64/include/vmparam.h#8 integrate .. //depot/projects/vap/sys/arm/at91/if_atereg.h#3 integrate .. //depot/projects/vap/sys/cam/scsi/scsi_da.c#7 integrate .. //depot/projects/vap/sys/compat/freebsd32/freebsd32_misc.c#8 integrate .. //depot/projects/vap/sys/compat/freebsd32/freebsd32_proto.h#12 integrate .. //depot/projects/vap/sys/compat/freebsd32/freebsd32_syscall.h#12 integrate .. //depot/projects/vap/sys/compat/freebsd32/freebsd32_syscalls.c#12 integrate .. //depot/projects/vap/sys/compat/freebsd32/freebsd32_sysent.c#12 integrate .. //depot/projects/vap/sys/compat/freebsd32/syscalls.master#12 integrate .. //depot/projects/vap/sys/conf/newvers.sh#7 integrate .. //depot/projects/vap/sys/dev/ata/ata-chipset.c#13 integrate .. //depot/projects/vap/sys/dev/ata/ata-pci.h#9 integrate .. //depot/projects/vap/sys/dev/ciss/ciss.c#10 integrate .. //depot/projects/vap/sys/dev/ciss/cissio.h#5 integrate .. //depot/projects/vap/sys/dev/ciss/cissreg.h#6 integrate .. //depot/projects/vap/sys/dev/ciss/cissvar.h#6 integrate .. //depot/projects/vap/sys/dev/cs/if_cs.c#8 integrate .. //depot/projects/vap/sys/dev/cs/if_csreg.h#4 integrate .. //depot/projects/vap/sys/dev/et/if_et.c#2 integrate .. //depot/projects/vap/sys/dev/if_ndis/if_ndis.c#29 integrate .. //depot/projects/vap/sys/dev/re/if_re.c#13 integrate .. //depot/projects/vap/sys/dev/sound/pci/hda/hdac.c#7 integrate .. //depot/projects/vap/sys/geom/vinum/geom_vinum_subr.c#6 integrate .. //depot/projects/vap/sys/i386/conf/GENERIC#20 integrate .. //depot/projects/vap/sys/i386/conf/GENERIC.hints#8 integrate .. //depot/projects/vap/sys/i386/i386/busdma_machdep.c#8 integrate .. //depot/projects/vap/sys/ia64/conf/GENERIC#10 integrate .. //depot/projects/vap/sys/ia64/ia64/busdma_machdep.c#6 integrate .. //depot/projects/vap/sys/kern/kern_conf.c#12 integrate .. //depot/projects/vap/sys/kern/kern_cpuset.c#9 integrate .. //depot/projects/vap/sys/kern/kern_jail.c#12 integrate .. //depot/projects/vap/sys/kern/link_elf.c#8 integrate .. //depot/projects/vap/sys/kern/link_elf_obj.c#9 integrate .. //depot/projects/vap/sys/kern/subr_stack.c#4 integrate .. //depot/projects/vap/sys/kern/vfs_mount.c#17 integrate .. //depot/projects/vap/sys/libkern/memset.c#3 integrate .. //depot/projects/vap/sys/net/bpf.c#17 integrate .. //depot/projects/vap/sys/net/if_vlan.c#7 integrate .. //depot/projects/vap/sys/net/raw_cb.c#8 integrate .. //depot/projects/vap/sys/net/raw_cb.h#4 integrate .. //depot/projects/vap/sys/net/raw_usrreq.c#6 integrate .. //depot/projects/vap/sys/net/rtsock.c#10 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/common/ng_bluetooth.c#6 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/drivers/ubt/TODO#3 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#5 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#5 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/include/ng_bluetooth.h#4 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/include/ng_btsocket.h#5 integrate .. //depot/projects/vap/sys/netgraph/ng_iface.c#7 integrate .. //depot/projects/vap/sys/netgraph/ng_ip_input.c#3 integrate .. //depot/projects/vap/sys/netinet/in_pcb.c#15 integrate .. //depot/projects/vap/sys/netinet/in_pcb.h#10 integrate .. //depot/projects/vap/sys/netinet/ip_carp.c#7 integrate .. //depot/projects/vap/sys/netinet/sctp_asconf.c#6 integrate .. //depot/projects/vap/sys/netinet/sctp_asconf.h#4 integrate .. //depot/projects/vap/sys/netinet/sctp_bsd_addr.c#7 integrate .. //depot/projects/vap/sys/netinet/sctp_bsd_addr.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_cc_functions.h#3 integrate .. //depot/projects/vap/sys/netinet/sctp_constants.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_crc32.h#3 integrate .. //depot/projects/vap/sys/netinet/sctp_indata.c#7 integrate .. //depot/projects/vap/sys/netinet/sctp_indata.h#3 integrate .. //depot/projects/vap/sys/netinet/sctp_input.c#8 integrate .. //depot/projects/vap/sys/netinet/sctp_input.h#4 integrate .. //depot/projects/vap/sys/netinet/sctp_os_bsd.h#6 integrate .. //depot/projects/vap/sys/netinet/sctp_output.c#9 integrate .. //depot/projects/vap/sys/netinet/sctp_output.h#4 integrate .. //depot/projects/vap/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/vap/sys/netinet/sctp_pcb.h#6 integrate .. //depot/projects/vap/sys/netinet/sctp_sysctl.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_timer.c#5 integrate .. //depot/projects/vap/sys/netinet/sctp_timer.h#3 integrate .. //depot/projects/vap/sys/netinet/sctp_uio.h#5 integrate .. //depot/projects/vap/sys/netinet/sctp_usrreq.c#8 integrate .. //depot/projects/vap/sys/netinet/sctp_var.h#7 integrate .. //depot/projects/vap/sys/netinet/sctputil.c#8 integrate .. //depot/projects/vap/sys/netinet/sctputil.h#5 integrate .. //depot/projects/vap/sys/netinet/tcp_output.c#10 integrate .. //depot/projects/vap/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/vap/sys/netinet6/in6_pcb.c#9 integrate .. //depot/projects/vap/sys/netinet6/in6_pcb.h#6 integrate .. //depot/projects/vap/sys/netinet6/in6_src.c#9 integrate .. //depot/projects/vap/sys/netinet6/ip6_var.h#8 integrate .. //depot/projects/vap/sys/netinet6/raw_ip6.c#11 integrate .. //depot/projects/vap/sys/netinet6/sctp6_usrreq.c#7 integrate .. //depot/projects/vap/sys/netinet6/sctp6_var.h#4 integrate .. //depot/projects/vap/sys/netinet6/udp6_usrreq.c#11 integrate .. //depot/projects/vap/sys/netipsec/keysock.c#5 integrate .. //depot/projects/vap/sys/pc98/conf/GENERIC#14 integrate .. //depot/projects/vap/sys/pci/if_rlreg.h#12 integrate .. //depot/projects/vap/sys/powerpc/conf/GENERIC#11 integrate .. //depot/projects/vap/sys/sparc64/conf/GENERIC#15 integrate .. //depot/projects/vap/sys/sun4v/conf/GENERIC#6 integrate .. //depot/projects/vap/sys/sys/eventhandler.h#8 integrate .. //depot/projects/vap/sys/sys/libkern.h#6 integrate .. //depot/projects/vap/sys/sys/link_elf.h#5 integrate .. //depot/projects/vap/sys/vm/swap_pager.c#8 integrate .. //depot/projects/vap/tools/tools/mctest/Makefile#2 integrate .. //depot/projects/vap/tools/tools/mctest/mcgrab.1#1 branch .. //depot/projects/vap/tools/tools/mctest/mcgrab.cc#1 branch .. //depot/projects/vap/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/vap/usr.bin/cmp/regular.c#3 integrate .. //depot/projects/vap/usr.sbin/cdcontrol/cdcontrol.1#3 integrate .. //depot/projects/vap/usr.sbin/cdcontrol/cdcontrol.c#4 integrate .. //depot/projects/vap/usr.sbin/extattr/rmextattr.c#3 integrate .. //depot/projects/vap/usr.sbin/pkg_install/create/main.c#5 integrate .. //depot/projects/vap/usr.sbin/pkg_install/lib/lib.h#7 integrate .. //depot/projects/vap/usr.sbin/syslogd/syslog.conf.5#3 integrate .. //depot/projects/vap/usr.sbin/syslogd/syslogd.c#6 integrate Differences ... ==== //depot/projects/vap/ObsoleteFiles.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.151 2008/07/06 20:57:35 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.152 2008/07/13 17:17:35 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -57,6 +57,10 @@ # 20080701: wpa_supplicant.conf moved to share/examples/etc/ OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf OLD_DIRS+=usr/share/examples/wpa_supplicant +# 20080614: pecoff image activator removed +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/include/machine/pecoff_machdep.h +.endif # 20080614: sgtty removed OLD_FILES+=usr/include/sys/ttychars.h OLD_FILES+=usr/include/sys/ttydev.h ==== //depot/projects/vap/UPDATING#15 (text+ko) ==== @@ -22,6 +22,17 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20080713: + The sio(4) driver has been removed from the i386 and amd64 + kernel configuration files. This means uart(4) is now the + default serial port driver on those platforms as well. + + To prevent collisions with the sio(4) driver, the uart(4) driver + uses different names for its device nodes. This means the + onboard serial port will now most likely be called "ttyu0" + instead of "ttyd0". You may need to reconfigure applications to + use the new device names. + 20080609: The gpt(8) utility has been removed. Use gpart(8) to partition disks instead. @@ -1067,4 +1078,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.534 2008/07/07 13:08:30 remko Exp $ +$FreeBSD: src/UPDATING,v 1.535 2008/07/13 07:20:14 ed Exp $ ==== //depot/projects/vap/contrib/bind9/CHANGES#4 (text+ko) ==== @@ -1,3 +1,7 @@ + --- 9.4.2-P1 released --- + +2375. [security] Fully randomize UDP query ports to improve + forgery resilience. [RT #17949] --- 9.4.2 released --- --- 9.4.2rc2 released --- ==== //depot/projects/vap/contrib/bind9/bin/named/client.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.219.18.28 2007/08/28 07:20:00 tbox Exp $ */ +/* $Id: client.c,v 1.219.18.28.10.1 2008/05/22 21:28:04 each Exp $ */ #include @@ -1440,14 +1440,6 @@ } /* - * Hash the incoming request here as it is after - * dns_dispatch_importrecv(). - */ - dns_dispatch_hash(&client->now, sizeof(client->now)); - dns_dispatch_hash(isc_buffer_base(buffer), - isc_buffer_usedlength(buffer)); - - /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/vap/contrib/bind9/bin/named/server.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.419.18.57 2007/08/28 07:20:01 tbox Exp $ */ +/* $Id: server.c,v 1.419.18.57.10.1 2008/05/22 21:28:04 each Exp $ */ /*! \file */ @@ -540,6 +540,14 @@ attrs |= DNS_DISPATCHATTR_IPV6; break; } + + if (isc_sockaddr_getport(&sa) != 0) { + INSIST(obj != NULL); + cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO, + "using specific query-source port suppresses port " + "randomization and can be insecure."); + } + attrmask = 0; attrmask |= DNS_DISPATCHATTR_UDP; attrmask |= DNS_DISPATCHATTR_TCP; @@ -549,7 +557,7 @@ disp = NULL; result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr, ns_g_taskmgr, &sa, 4096, - 1000, 32768, 16411, 16433, + 1024, 32768, 16411, 16433, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { isc_sockaddr_t any; @@ -2369,7 +2377,9 @@ } static isc_result_t -add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr) { +add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, + isc_boolean_t wcardport_ok) +{ ns_listenelt_t *lelt = NULL; dns_acl_t *src_acl = NULL; dns_aclelement_t aelt; @@ -2379,7 +2389,8 @@ REQUIRE(isc_sockaddr_pf(addr) == AF_INET6); isc_sockaddr_any6(&any_sa6); - if (!isc_sockaddr_equal(&any_sa6, addr)) { + if (!isc_sockaddr_equal(&any_sa6, addr) && + (wcardport_ok || isc_sockaddr_getport(addr) != 0)) { aelt.type = dns_aclelementtype_ipprefix; aelt.negative = ISC_FALSE; aelt.u.ip_prefix.prefixlen = 128; @@ -2438,7 +2449,16 @@ result = dns_dispatch_getlocaladdress(dispatch6, &addr); if (result != ISC_R_SUCCESS) goto fail; - result = add_listenelt(mctx, list, &addr); + + /* + * We always add non-wildcard address regardless of whether + * the port is 'any' (the fourth arg is TRUE): if the port is + * specific, we need to add it since it may conflict with a + * listening interface; if it's zero, we'll dynamically open + * query ports, and some of them may override an existing + * wildcard IPv6 port. + */ + result = add_listenelt(mctx, list, &addr, ISC_TRUE); if (result != ISC_R_SUCCESS) goto fail; } @@ -2468,12 +2488,12 @@ continue; addrp = dns_zone_getnotifysrc6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; addrp = dns_zone_getxfrsource6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; } ==== //depot/projects/vap/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -6067,7 +6067,15 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 options; + it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports and avoid-v6-udp-ports options can be used to prevent named from selecting certain ports. The defaults are: ==== //depot/projects/vap/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -3078,10 +3078,18 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports - and avoid-v6-udp-ports options can be used - to prevent named - from selecting certain ports. The defaults are: + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 + options; it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports + and avoid-v6-udp-ports options can be used + to prevent named + from selecting certain ports. The defaults are:

      query-source address * port *;
       query-source-v6 address * port *;
      
      ==== //depot/projects/vap/contrib/bind9/doc/arm/Bv9ARM.pdf#4 (text+ko) ====
      
      @@ -1583,19 +1583,26 @@
       /ProcSet [ /PDF /Text ]
       >> endobj
       743 0 obj <<
      -/Length 3152      
      +/Length 3153      
       /Filter /FlateDecode
       >>
       stream
      -x[w)(=pˣ9I[۱՗y)X	I$]݁jȵD&'la0X-
      ?{qsq`+MUe{OĠĄ1bj180bPEbDŐfJ:r^^1cEebF!ԉqF2q`
      C&!qy'Yo?W?y}
      gw&-&{LrrY	08Zad8ANl7`GLALQqd2~TbxOh_NsP_?xFLe1"cJA0Q:)s꯹/AΊs^0xbNGE^'R[LMàa!pωa	wEs}$*<(yT
      c;PB1~OG.{Ii)>?vYa
      we1'jq2I	R둶߶a;\VunrR)x5	-b@80xP<,S	
      -ut$%ښ;HjB
      xI:
      -O.{_I	*U/:}}MoG|3%`zsq`(JZ{z8(aAP:<ӑ='`!eÐā!z(Ieemn;O-Kb*b @)x@ЎXCv PAs"歘
      -`QuQ@'* FQ=u|M*a',b⊱-/u߼b:.BY-Xx{3xmLBݕY|rCǵNP,/0	VK80yQQ^?5L?!樔+x[w)(=kNvliZ	UI*.Y;ȵD&'l#MM&q71NE̖gtr동gz-\~HWYBe˫__}s凋_/:{u
      +=3*S_%Y5@	sOgR	og~'?ݙfF	g~.PQh"X.SzCvrE\\Lbt;]Ϻ:sO=T+MZoz/~.{`E)Ց޳a~l?7oV;Cbb!FT
      #&F=#QںHyѬA)]Gn>u;0q2X0:q3H&Իa~Ѿe	f[YV
      +y'r;LjS
      No7ev,n)qL䶖A  endobj
       742 0 obj <<
       /Type /Page
      @@ -1972,7 +1979,7 @@
       800 0 obj <<
       /Type /Annot
       /Border[0 0 0]/H/I/C[1 0 0]
      -/Rect [499.2773 112.292 511.2325 121.3978]
      +/Rect [499.2773 112.292 511.2325 121.2483]
       /Subtype /Link
       /A << /S /GoTo /D (subsubsection.6.2.16.17) >>
       >> endobj
      @@ -1993,7 +2000,7 @@
       803 0 obj <<
       /Type /Annot
       /Border[0 0 0]/H/I/C[1 0 0]
      -/Rect [499.2773 76.197 511.2325 85.3027]
      +/Rect [499.2773 76.197 511.2325 85.1533]
       /Subtype /Link
       /A << /S /GoTo /D (subsection.6.2.17) >>
       >> endobj
      @@ -2016,23 +2023,19 @@
       /Filter /FlateDecode
       >>
       stream
      -xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
      -[|tBܚ
      
      ĠY&a
      9+ZhĝoZihdcN=wܝ
      `Z)a=TXK*d"0ݝbg؊nͅ
      -"ЬMNhRv ڙDkm{R&-PqP֕Hx>X&	B~\B BZth\{KDPi"!rQ.jG+䶾'x8 #m7?	;0~P-?!B늟}9UW܈m+QI؁1joQ+VDyF^.Yw2nʒbnWdOy
      -^fb(a$AzUIIe$/Lf2,YbNj"5bu[th6.@tpANsp9=;z$MZ.^x|y%2 Cނ)qX-"xt/@HJ}^譥ۼ\lt4uaXͺ©شx+na~КZ'Z*߉jz`0(*Mb<_&kW]pxU(aF=Ҥ(іmd~TqisN|ᚇzTӪ٠,
      -tb'W\A+YW'5ERyyO 17Lkogjlu)PgC1`X1v`P$\ɸQskb[jU/G3yT[>L,rJ v?w.a;r41I4oJb_e(:" QChwݙ2UAX!
      -j@r?*^P-ALPq6A@#Ɛ!AHj;[T9	
      ->&b2+xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
      +"ЬMNhRv ڙDkm{R&+f芍x0Gԣ
      {pLv؁ vx-Þ;+$%߸DZ&x6vKlƀ V݌%C}3qQׯӵfmy=/lA~3~1jh~*}'Wĵ:Zba$Оꂄ'wA{t溜_G]gofgݲ;wljM]?¸[)M'U3L;Li)M{A9zZ!ͦ>8j]o[/{jo?0s?7~Xlo^{F^@p~<_=R93h>Ɏ6½s$	;cP^ҫ
      +NՠX]b.=WƳq<[N3ΌGPG7e3+
      +Y(@A` (@P$&
      +IMy^V,TX1[?RWnj!x5]Vا}
      ۋRv``~A3_Wޚpo;pܫ;z5 1VC	#dLuL hx:o>Hb9BB]w"8"i#x.	 1#Aަ
      ň\q^to!byiԚe@+ZmLLj63@cFvAp]?QDfDx:Xq&6-bO%{_e+h}:v)C0P<\
      ujrP?}T?GJe3ݝR+h
      +	+00ݑ#q
      > >> endobj @@ -2136,7 +2139,7 @@ 822 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 603.1591 539.579 612.0157] +/Rect [527.6238 603.0594 539.579 612.0157] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.1.2) >> >> endobj @@ -2185,21 +2188,21 @@ 829 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 519.3733 539.579 528.3296] +/Rect [527.6238 519.3733 539.579 528.479] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.5.3) >> >> endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 507.4181 539.579 516.3744] +/Rect [527.6238 507.4181 539.579 516.5239] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.6) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 495.4629 539.579 504.5687] +/Rect [527.6238 495.4629 539.579 504.4192] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.7) >> >> endobj @@ -4820,22 +4823,20 @@ /ProcSet [ /PDF /Text ] >> endobj 1244 0 obj << -/Length 2446 +/Length 2371 /Filter /FlateDecode >> stream -x]sFݿBon~ュb6[E M ,7@ZFٴfq ,-\Z\޶lG\Õ`xcƲLXզlZZiGgQ y UfVp -ЌkN1h Ў9짭_G§@H P 7U+ꉣ (jTmh⾪py$\-3eL-Q -~b׿rzwdFn?#5`?knޛhw$C?=^Ǟem -bOzen`U}r$_U@q!"E.8\1ᘞE8ЊvAJD t) -Sm0L@i{CA֫E,F6#-!A֝Rjh%){.p:!H(p ~Jrܴ#D҂{I Xͦ8RJaE܎_nj~pGŒQ R.XL-7H {+?76X!*l(j.^$=0|`xD7ayH'0gWD4{!c˼ 8}]ž!6WЂd3i튧∄e~!(Xd4(HdqO8`R;XT/h5<[`TGp5A,QrqlW= @e.Vrء^ -|Av4]a) Ej i\񔋀I1eVo"XjYķw>g\D -GCOSP.M=pjJ@b}*A*.߿f: U[~=~|{!RvmxncO,=UMB$_Eg$`e^OEU6V -԰m0 Q1-&yg`% u\ f`QBgj?z[EDfu1]Bz xDmD]]GsK̀'-^,GpUW>bqYVW]PƘb`W&x ;wI8Ag+ڏ"VtZ>ӈQ;籃)R[&ϣLBȅzTvOF~oNWRqb}ZS70t"v"Bd8 O_5Vp}Dm HN#êyDC^\,]Ny|$RZX`XP ï̻%wYgp5r)ܵtYިiԖF{endstream +xY_sFQ7f/V#71Tϥ#~Xkua+%jfOcIn$y*2/{}^eE~Y; 42a*8ZeTt_CH-@3h7|KrUEc\ULQ.HxT:2fxAh50 ;1_wlHfW ;{:ûZ~> endobj 370 0 obj << -/D [1243 0 R /XYZ 85.0394 650.4851 null] +/D [1243 0 R /XYZ 85.0394 644.6312 null] >> endobj 1246 0 obj << -/D [1243 0 R /XYZ 85.0394 625.2941 null] +/D [1243 0 R /XYZ 85.0394 617.8313 null] >> endobj 374 0 obj << -/D [1243 0 R /XYZ 85.0394 171.1138 null] +/D [1243 0 R /XYZ 85.0394 131.6963 null] >> endobj 1006 0 obj << -/D [1243 0 R /XYZ 85.0394 149.3849 null] +/D [1243 0 R /XYZ 85.0394 108.3585 null] >> endobj 1242 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F39 863 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> @@ -4865,26 +4866,25 @@ /ProcSet [ /PDF /Text ] >> endobj 1249 0 obj << -/Length 3623 +/Length 3641 /Filter /FlateDecode >> stream -x[s6_sf<~f{\wt>(hjKeo @}YvҹNL ?-㝝={=^%{6W_7^BTOP-=D)(_5(wo>dD)O*& UZ&j NkV|*7ZR媠c1WpJSCs,\}h$-G g}qv=e}Y-fI:d_!XP^|\⁀{']a^zvjIic͛d$^x & - (ٶr)Nz4s|Fai+`t[L΃l:1;񱖅 zېBB R wUĴbr2@B \5b@P)tu;Y}APzфm=p-zC!9Ʋ.I(z[MI+E._ʼ 9}dTJ:]l{C9)7L -X289Z;!U{QۺNy8Kf~ d_@9vR> R jt?SI+mǛcD&e=x;?(A0{|irsw&% Ku60с$cԍ+1FQLx!] .%IÖI5 aԆߕK*B4~0@$^h=3K}KτdwsRaxZ(?[xۓώ*71˸~eTt"B׫gȚ L|RLH8Wo&^m&xwn-~l ,jZ6z ApJe>yTCƓ:-Li'Ĩ\Tl< d>C>ٿ62ȥ!%;w\V˖H_H"v3 i:=+!- -r* a18Np:1$N83׃gZ0A =tN)=:zK*>FJO2^+D8bm/<h P7q-,vaSk"__ʱ1R|z - -pl#3hFacsdairxaGn q5{VؤMlܯ%rS7xER<a@;NDc3|Omܣ`LJT*J}~>t(e"z\Sg|7VJU|/I& F8 jtxAAL6lrS!^endstream +x[s_P3&GNilV'&y8G#-}wR̴qX,~]@RŸLRz/3oE"Ur^{hB1<T^.N/oWΩϳThq#ٛ|2;yj9{{k*}?x5W.Q7~#5<Ʒ7ᆪO?'x7Wpq}ۮ^% .䷋KXRGBy/61"ĚŧZC)ĉDrnp0Ȕ,"5ڴRjJʑ +oz^r4^6.MRMnz+%Hf9dM}ojS6{*+jJY4?c7mA})vܼ_yNZ Vh" yФZ4!3! ʨxOYEJPWjobpqztl\)l[5h% +蒜V4ZF>쏭T*<+-/lY08`aBoOqJ;pgT@*PkEKBޞã`.}@y3w?n 2V=HEjR,[ +-/Cs1rL)##{%UgN+알آ^Ib[^IW"a"+6 a JvUc{>G,# 9:UͮDgk&9ַil:l- +sd4%.hQz2?m[.|tp%ʛP~I idN$ g3@NXtޜN*H+X289R;!U{ RۺNY8$K+/i+PTCOh-CxeI6d hUh?YMo_nE* +!96SUIO*Kp){z! XkM]zx9ŗxz&\+}6C>LjkI ٭g">BT=B`XuNXkYZc5g'09)dgSjp>%dbSn2H[B-='5zoM_ ӡ!yɾ'ɟ[OYk,F< endobj 1248 0 obj << /Type /Page @@ -4897,181 +4897,193 @@ /D [1248 0 R /XYZ 56.6929 794.5015 null] >> endobj 1247 0 obj << -/Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1253 0 obj << -/Length 2665 +/Length 2555 /Filter /FlateDecode >> stream -x]o8=o-{vO@"-U~۲8(}STI0gت̼mXӢ} hv=R$ZclߤBj8h>$'Em'OQΧ'7H.DD;3>2MRI;).b;M׊}^`=pŌ૘b3{:TPEYif^[j@{LѶd}0gɬ|]4ݹdAs#h`\3:PC,8c#'1ݑt}c=.Ep q0e2U^v`1BvXG<1 !?ဍkA4h&&_(oF6)'6J{^_bL{@ ,PDkbNMCˏ@YD[$s's"'H#| "3`5ckb]Aá=_DKo0DdN1feӢ=V5}o862nE5g!r*:MSLQ!vC9i]- <&-{0@Ww J/208Eäut@>&Dg]U N/&e@>-Oՠ~6ف -H# S)C^00 ~`Smcq-Ōy"OD+0p\z?Lu1Qoi&4kAg@2 y\6RŏoW|awlW+]!xz8&!.r]ƁȈ憧Bc'PTe d &<3m>}B#O -e\2c]Χjn!;]9Gd>:*i -("”)8-aTP}@T֪|ٹkfu~"Z޻#B8Ijg7HT --g)kyls`"7aqȸeˆr (E+xZ_s8ϧ)3I=v۴ݴunrll HEe7fn:S$H +G&/_.fYLA',ؿTfNOReb:SZZI{-SKvDBLR#ax"ԛyU=P-ɇgSoԷkQz;7Xҧ/b[ 5=a}q:_smy[4p)RrI,E᧜Ÿ)tX2UmCoNizz1@]^ +"om ˪"j삲q8I bvQx!'$re>s> +ULNW4-jv^-hX/ВA۲!Hȴ5ͦ{:s-q4("&d 76_7bhl;6*J'ӌã7OJ2Z2סqSOHZ¦$B\cM3 u4b^~dL4TPk+7/BH0bh7;Gy#vwr(֡sjnlweqGzmMxKB-ڱ;5 +H{5S& +s ؄財 +-}(Z͢w +Fi:3: +3 L7U=Le4OmN+&+weLW}Ԃr%&k8Ӥ򴿴?Þ]h8c |u^<&KRNA$SŖzu<6| +'mK䯱+iDrK>A^"[uC,k/p(@⁝0zbEZ؀+ 8$1rհ'SJ a >K%-=Xg;aY+NG5}V]՟f`H؛rf(·ME/ᲁIaIgR a+zBj,z` zҹT endobj 1252 0 obj << /Type /Page /Contents 1253 0 R /Resources 1251 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R +/Parent 1255 0 R >> endobj 1254 0 obj << /D [1252 0 R /XYZ 85.0394 794.5015 null] >> endobj -378 0 obj << -/D [1252 0 R /XYZ 85.0394 141.2512 null] ->> endobj -1255 0 obj << -/D [1252 0 R /XYZ 85.0394 118.94 null] ->> endobj 1251 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1259 0 obj << -/Length 3339 +1258 0 obj << +/Length 3193 /Filter /FlateDecode >> stream -xڭZs6_*3N5m%^d[ItkK%'>lٹd2H-J\07npSSF&u#)c`iX-4!xhh=<" ?sz.#@ vUUVL{|!-Qk]B%GB$Rd@/-.+ߝ4]sĞT*W#)$ʟP_C |姲uͩD⥐CVqCi=˜XKuL}=0mZ:94lTbR3eAi4ՄCKg@/uU]4Ϻ`_MG%ݾZL)ީx<6O"38MPp=亰kB8y X!q(P`4Wũtv};#CJCEgЯO~M~/<+xڭZKsWtՊ+yx&ڝamf(R+R8>%$)x4@%"6It:B,`d'Z]Ji,Gl(o 8O?z2O(럯/\J|)<^zO#)=N0pusw?]\kW + b B*:"i-6:Va#{YIFD3ɹ ШH(Mha[ִ_ƗfQZ\1]FI%SSOz_o[wT ]ebx׽RfLHil5n}SdAj@sO#_4~-$vx.ꆇVۓe$DNK)4@m"2dfeо]cmP4ݥA^Ь+0Pa\v +n}؎`v{n\c=3q° 7{ 9߀1?"&+8jMd7 V{.)44A䪄]V<'>=t+b!C\Cަa e %t.ݠϜKb[٢=i9a!g<0cLK _?^^nLv !JTngc{+5_jg0CT̑z*D]3Ѐ!l8VeUv=&wWD+@<9+dD4vtm=sNCIQi[![TVyhF"~EO4 p^S n m>z";F +XqoXqQRPB>Y͹jea|'> endobj 1262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [361.118 694.3759 409.8647 706.4356] +/Rect [361.118 590.715 409.8647 602.7746] /Subtype /Link /A << /S /GoTo /D (configuration_file_elements) >> >> endobj 1264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [347.1258 314.3269 404.2417 326.3865] +/Rect [347.1258 196.3262 404.2417 208.3859] /Subtype /Link /A << /S /GoTo /D (journal) >> >> endobj +1259 0 obj << +/D [1257 0 R /XYZ 56.6929 794.5015 null] +>> endobj +378 0 obj << +/D [1257 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1260 0 obj << -/D [1258 0 R /XYZ 56.6929 794.5015 null] +/D [1257 0 R /XYZ 56.6929 751.6696 null] >> endobj 382 0 obj << -/D [1258 0 R /XYZ 56.6929 769.5949 null] +/D [1257 0 R /XYZ 56.6929 674.5298 null] >> endobj 1261 0 obj << -/D [1258 0 R /XYZ 56.6929 749.7681 null] +/D [1257 0 R /XYZ 56.6929 647.321 null] >> endobj 386 0 obj << -/D [1258 0 R /XYZ 56.6929 443.842 null] +/D [1257 0 R /XYZ 56.6929 331.2658 null] >> endobj 1263 0 obj << -/D [1258 0 R /XYZ 56.6929 420.887 null] +/D [1257 0 R /XYZ 56.6929 306.5278 null] >> endobj -1257 0 obj << +1256 0 obj << /Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1267 0 obj << -/Length 2860 +/Length 3155 /Filter /FlateDecode >> stream -xڭ]s۸ݿB}g"'Oۗ=eqBHw PD)餓pX,vg )eJ5z\̽f1OwlfvxٔYgwߒtw}{9%&kÒn>L>o?~xwWJn>~ o/jpb]_n/n%֗3|w6[ڿ\TVϞaRbPZZI0?.>0fҩSڦZ(3kZk)i8yxjʆS|rf|,:OyYHjB Huy9*OHIY~ g.UX4(%6ZWu~͊}5eMpݶH'Ryk-b"͒3&jYۤ,/~E􎴭ܺ}&`S4/ݽ4P7墯ڦ , /sUݣn- W5N  Γn[,Jڝ'h7~CHV8}9]#ܷSy2peGuyj^ m腩뗱Vt7S:Pi 8b:z ܤC`%].KwixM?EFT -#iLuO*sQE;GjDX+ϋ0PM0v,U67c!)iD Z="sشOP'mEeLеXx2.Ț36D҇b?"Oȥ5{Fva# e,G<5'l>Z a\XϻxqF3Ť,Or^֑cCʞ-^,wVܞy-|Xb7W&W+W8\ d,ˇ)uYQB \wdR%(+")k.nƾ*B`OjTرe{)`38"esPFAEoZ;ZJQÌ>͋1bjKJB&8 -X&\kz@%dG | >Bǡu\ dž"߶`ٗsITݟCو-4 -1k!䖁JAj]fKͶ.7%8#HWy =s|?vePæ&gз_ ̠V-HSpmG?$!XJs_!qICźmҳ(Ӹ{JzBBE autEo 9O*l)+A/0ra -O\:jy5*ևyOwe¶J ag`5:Ͻ_/<(;AW|.tE32YpbZ>Ftç0+i\z_gq,s~7LV22p -:%ͼ) -AB~PƁ%!.,s5p#Զ*j,pI5'C-X 䙻$nr.,_A]O84sv°~7K0kt-!CW;JfiBWjȌCKD7>*)13QE H]ǹan 2Αꜽo/P#PoLOb 4yCZ3ܑ&+Xп(gfzs}' A0a@$y\#6]Ypl+xڭr6m'Gg:8Yẃ(5)kO7A%g+[:h4@?ə6:3$3Ζ+1{$,<"O:eQxxHS9{\:_oʊy]/l,G>tn3nn?^/dj%ẀOw?O?<\cpRh\ȗ_,+,4D$L6W=?zA:ƦU&-XYiwYD®-#J~eO-eUuXj|U2 ٞLSM̮٥N`_ +,ofF<;5}[论.}KǏ0bٕMTKy͕bʪ"(_.m&*A=(VuPtkUdScaphDm#DLc0&|O3Ž/Xك =Մ+,qa ڱ1iƛv {Qfy]4cw cN!ͫ#k[mC.vd'>I$m⤵"axNcL#ބz:ħb$QdpX̘!A+ZxJw0Fh5 Xug$+>зv~8,p| W;eUHu z*\Kﺧ".ATe&W2ұc)Đ]0ba1n{S3&GvZ]E\ถp|vJߡP첆JP"v`i6VLO +>N%`?r~:IPaCM?U4Q!TJ+b? $'gHϺ8|wXgV|F>MMϐ$ǃ̪8gzH)!l>SkbuaL0l[qNÍkKA{RxX?&4~+`a ⛻}f> endobj 1268 0 obj << /D [1266 0 R /XYZ 85.0394 794.5015 null] >> endobj 390 0 obj << -/D [1266 0 R /XYZ 85.0394 690.2056 null] +/D [1266 0 R /XYZ 85.0394 568.5356 null] >> endobj 1269 0 obj << -/D [1266 0 R /XYZ 85.0394 665.1198 null] +/D [1266 0 R /XYZ 85.0394 542.9142 null] >> endobj 394 0 obj << -/D [1266 0 R /XYZ 85.0394 302.1184 null] +/D [1266 0 R /XYZ 85.0394 177.2349 null] >> endobj 1270 0 obj << -/D [1266 0 R /XYZ 85.0394 278.2032 null] +/D [1266 0 R /XYZ 85.0394 152.7841 null] >> endobj 1265 0 obj << -/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F62 995 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R /F62 995 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1273 0 obj << -/Length 2998 +/Length 3133 /Filter /FlateDecode >> stream -xڵ]s6ݿbN*DMIi=}we[]ɑu3PKiNfBA-BĹ1%Xe"]dM]]fT D%s"+_F&4LfXkw煈p]u/7|+o" +!uoԀeh]IwJU*-|{? -` Mnw5hvXfWm-1e V- =-gSR^un*v=+Sa`fV鑛-F{-zEqV'b\4H$\CFVIB"@Q⁈ed&)$u(y¦>NAE)~\CS+>q8P6 0e-u?I%B"V?)π,Z{$(.Ci603`!ۢ_MyTY~;@:S#YR%5)TeԳªtm~uBs^HOj!0V|S8ntͦ#!%2kq jø UZn2(7d 7)q|ܕv-AsVG]zjAUZGg-'`ݐ&Ҭ1XJ{ܐhHUӱՠ/Wt9TQZU ;5~݋bEP3dPp>!* ($3n2!~;&=ǘ֬3y̍X(;骩KR8?4TbL3C9 "i($bjŤ]55$dEH$Gk -r--d5غ( o(5#} ?9ŏMl䛺ȱʴx)5-1GEv MO-V{[VwL쾟IJ&`E +|}8N|绻&Qޡ$r1 -J6FE 0᫠-LQ QwFҜ2Io"85yC:%NSL6&R #uLBό9ekf50cp}4b Ҳ92ca,eL2:zpUK5c`쭆?Q_) mˆqKZ98p t"i? j=7( %|Hx f<21f44W)p&d_圄W#9o&-vRjgXxnyBNգM>SnrOMr3妞,7Tqtqfrj :{~u~_Nί‹|:dkr*f+1?g>y"-J@Y+iC^LFҸ-m55Mel?@$vw%Am{>ԭKPz{=Ade;qNA3!辘rbC-M-39P^R{n+I펃/$/ɣޕ ̽51h=[=]'~LSV7N-͢rVb茘oSmgS@'o7;Q L?֫]Űq <řIrHr ni䡍S 8n 8)!uaהxw\)) +xy3:er2~KaHc( im,aB*7EȈFh1>C1LC"HBJx~cʇ© ܲiX`UG2{ȘVG}Pӓ@Vv`ZM∻E%y6#*2kq C@hA =w~ncC y+Z  % c>/\bhᮉi#nVOJLhУV6BiٵזiN+b+jH,+CԱ(+GCB ]̈́ji+S>0T_W$Ÿk!)&uь:jgB{n|-3xuM3LXޟt-M1Yh}LϘ93s6㷌 bՠuc5S86_OggraX~1_K lzj]UA|;@w4>瑈)_r8ST*b I̞\Nq_x.ГchS'v߻X>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 16 06:11:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 205961065680; Wed, 16 Jul 2008 06:11:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC5DF1065675 for ; Wed, 16 Jul 2008 06:11:49 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C0E338FC14 for ; Wed, 16 Jul 2008 06:11:49 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6G6Bnov096683 for ; Wed, 16 Jul 2008 06:11:49 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6G6BnSp096681 for perforce@freebsd.org; Wed, 16 Jul 2008 06:11:49 GMT (envelope-from konrad@FreeBSD.org) Date: Wed, 16 Jul 2008 06:11:49 GMT Message-Id: <200807160611.m6G6BnSp096681@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 145303 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 06:11:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=145303 Change 145303 by konrad@vspredator on 2008/07/16 06:11:13 Another compatibility fix to remain comliant with current colldef file format. Affected files ... .. //depot/projects/soc2008/konrad_collation/colldef.apple/collate.h#4 edit .. //depot/projects/soc2008/konrad_collation/colldef.apple/scan.l#4 edit Differences ... ==== //depot/projects/soc2008/konrad_collation/colldef.apple/collate.h#4 (text+ko) ==== @@ -44,6 +44,7 @@ #define COLLATE_VERSION "1.0\n" #define COLLATE_VERSION1_1 "1.1\n" #define COLLATE_VERSION1_1A "1.1A\n" +#define COLLATE_VERSION1_2 "1.2\n" /* see discussion in string/FreeBSD/strxfrm for this value */ #define COLLATE_MAX_PRIORITY ((1 << 24) - 1) ==== //depot/projects/soc2008/konrad_collation/colldef.apple/scan.l#4 (text+ko) ==== @@ -59,7 +59,8 @@ %} %% [ \t]+ ; -\" return EXPAND; +\" { ptr = buf; BEGIN(string); } +\" return EXPAND; \< { if(localedefmode) { ptrsave = ptr; From owner-p4-projects@FreeBSD.ORG Wed Jul 16 07:56:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 278D71065673; Wed, 16 Jul 2008 07:56:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF993106566C for ; Wed, 16 Jul 2008 07:56:34 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D36AD8FC14 for ; Wed, 16 Jul 2008 07:56:34 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6G7uYwK006200 for ; Wed, 16 Jul 2008 07:56:34 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6G7uYJP006198 for perforce@freebsd.org; Wed, 16 Jul 2008 07:56:34 GMT (envelope-from snagg@FreeBSD.org) Date: Wed, 16 Jul 2008 07:56:34 GMT Message-Id: <200807160756.m6G7uYJP006198@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 145304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 07:56:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=145304 Change 145304 by snagg@snagg_macosx on 2008/07/16 07:56:24 The code as been revised in order to ease the life of testing module coders. That is as much code as possible has been moved into the framework Affected files ... .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#4 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#3 edit .. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#2 edit Differences ... ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#4 (text+ko) ==== @@ -183,6 +183,57 @@ return 0; } + +struct audit_record *dump(char *path) +{ + int i, ret, reclen, bytesread, to_parse; + struct audit_record *p; + u_char *buf; + u_char type = 0; + FILE *fp; + + to_parse = NOT; + + fp = fopen(path, "r"); + if(fp == NULL) + return; + + p = malloc(sizeof(struct audit_record)); + if (p == NULL) + err(-1, "MALLOC"); + + p->count = 0; + + while(1) { + + /* Record must begin with a header token. */ + do { + type = fgetc(fp); + } while(type != AU_HEADER_32_TOKEN); + ungetc(type, fp); + + while ((reclen = au_read_rec(fp, &buf)) != -1) { + bytesread = 0; + while (bytesread < reclen) { + + /* Is this an incomplete record? */ + if (au_fetch_tok(&(p->toks[p->count]), buf + bytesread, + reclen - bytesread) == -1) + break; + + + bytesread += p->toks[p->count].len; + + } + p->count++; + } + if (p->count >= 20) + break; + } + + return p; +} + /* * Init log file for evaluation */ @@ -276,3 +327,67 @@ return 0; } + +int setup_auditpipe(int pid) +{ + int fd; + int value; + struct auditpipe_ioctl_preselect_proc *entry; + + fd = open("/dev/auditpipe", O_RDONLY); + if (fd < 0) + err(-1, "/dev/auditpipe"); + + entry = malloc(sizeof(struct auditpipe_ioctl_preselect_proc)); + if(entry == NULL) + err(-1, "MALLOC"); + + value = 3; + if (ioctl(fd, AUDITPIPE_SET_PRESELECT_MODE, &value) < 0) + err(-1, "AUDITPIPE_SET_PRESELECT_MODE"); + + entry->aipp_pid = pid; + + if (ioctl(fd, AUDITPIPE_SET_PRESELECT_PROC, entry) < 0) + err(-1, "AUDITPIPE_SET_PRESELECT_EVENTS"); + return fd; +} + +void close_auditpipe(int fd, int fdout) +{ + close(fd); + close(fdout); +} + +void read_auditpipe(int fd, int fdout) +{ + int len, count; + char buffer[AUDIT_BUFFER_LEN]; + struct pollfd pollfd; + + pollfd.fd = fd; + pollfd.events = POLLIN; + pollfd.revents = 0; + count = poll(&pollfd, 1, 0); + if (count < 0) { + switch (errno) { + case EINTR: + return; + default: + err(-1, "poll"); + } + } + + if (pollfd.revents & POLLIN) { + len = read(fd, buffer, AUDIT_BUFFER_LEN); + if (len < 0) + err(-1, "auditpipe read"); + if (len == 0) + return; + + /* Audit pipe input. */ + if(write(fdout, buffer, len) == -1) + err(-1, "WRITE"); + } +} + ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.h#3 (text+ko) ==== @@ -80,7 +80,6 @@ { tokenstr_t toks[20]; int count; - int index; }; void init_channel(); ==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#2 (text+ko) ==== @@ -204,16 +204,13 @@ int main(int argc, char *argv[]) { - int i, quit, fd, count, value, len, index, fdout; - struct auditpipe_ioctl_preselect *entry; - char *shared_string, *descr, path[512], path1[512]; - char buffer[AUDIT_BUFFER_LEN]; - struct pollfd pollfd; + int i, quit, fd, value, index, fdout, count; + char *shared_string, *descr, path[512]; pid_t pid; char **arg; + struct open_record *head, *elem; FILE *f; - struct open_record *head, *elem; - + index = 0; head = NULL; @@ -222,19 +219,6 @@ init_channel(); - fd = open("/dev/auditpipe", O_RDONLY); - if (fd < 0) - err(-1, "/dev/auditpipe"); - - entry = malloc(sizeof(struct auditpipe_ioctl_preselect)); - if(entry == NULL) - err(-1, "MALLOC"); - - entry->app_event_len = 0; - value = 4; - if (ioctl(fd, AUDITPIPE_SET_PRESELECT_MODE, &value) < 0) - err(-1, "AUDITPIPE_SET_PRESELECT_MODE"); - arg = malloc(argc); if(arg == NULL) err(-1, "MALLOC"); @@ -248,53 +232,19 @@ sleep(15); execve(argv[1], arg, NULL); } else { - entry->app_pid = pid; - snprintf(path, 512, "/tmp/audit-%d.xml", pid); - snprintf(path1, 512, "/tmp/audit-%d", pid); + fd = setup_auditpipe(pid); + snprintf(path, 512, "/tmp/audit-%d", pid); - fdout = open(path1, O_RDWR | O_CREAT); + fdout = open(path, O_RDWR | O_CREAT); if(fdout == -1) err(-1, "OPEN"); - f = fopen(path, "w+"); - if(f == NULL) - err(-1, "FOPEN"); - - if (ioctl(fd, AUDITPIPE_SET_PRESELECT_EVENTS, entry) < 0) - err(-1, "AUDITPIPE_SET_PRESELECT_EVENTS"); - - au_print_xml_header(f); quit = 0; while (!waitpid(pid, &quit, WNOHANG)) { - pollfd.fd = fd; - pollfd.events = POLLIN; - pollfd.revents = 0; - count = poll(&pollfd, 1, 0); - if (count < 0) { - switch (errno) { - case EINTR: - continue; - - default: - err(-1, "poll"); - } - } - + /* Audit pipe input. */ - if (pollfd.revents & POLLIN) { - - len = read(fd, buffer, AUDIT_BUFFER_LEN); - if (len < 0) - err(-1, "auditpipe read"); - if (len == 0) - continue; - - /* Audit pipe input. */ - if(write(fdout, buffer, len) == -1) - err(-1, "WRITE"); - - } - + read_auditpipe(fd, fdout); + /* * See whether is there anything on the shared-memory, * if so build a structure @@ -342,15 +292,12 @@ } } } - au_print_xml_footer(f); - close(fd); - close(fdout); - fclose(f); - free(entry); + close_auditpipe(fd, fdout); free(arg); end_channel(); + dump(path) f = init_log(pid); - validate(f, head, path1, pid); + validate(f, head, path, pid); fclose(f); return (0); } From owner-p4-projects@FreeBSD.ORG Wed Jul 16 08:59:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 111E51065676; Wed, 16 Jul 2008 08:59:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B09341065670 for ; Wed, 16 Jul 2008 08:59:38 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A46AE8FC14 for ; Wed, 16 Jul 2008 08:59:38 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6G8xcS2021502 for ; Wed, 16 Jul 2008 08:59:38 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6G8xc7x021500 for perforce@freebsd.org; Wed, 16 Jul 2008 08:59:38 GMT (envelope-from weongyo@FreeBSD.org) Date: Wed, 16 Jul 2008 08:59:38 GMT Message-Id: <200807160859.m6G8xc7x021500@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 145307 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 08:59:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=145307 Change 145307 by weongyo@weongyo_ws on 2008/07/16 08:59:31 style(9) Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#8 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#8 (text+ko) ==== @@ -74,37 +74,41 @@ static driver_object usbd_driver; -static int32_t usbd_func_bulkintr(irp *); -static int32_t usbd_func_bulkintr_iin(irp *); -static int32_t usbd_func_vendorclass(irp *); -static int32_t usbd_func_selconf(irp *); -static int32_t usbd_func_getdesc(irp *); -static union usbd_urb *usbd_geturb(irp *); -static usbd_status usbd_init_ndispipe(irp *, usb_endpoint_descriptor_t *); -static usbd_xfer_handle usbd_init_ndisxfer(irp *, usb_endpoint_descriptor_t *, - void *, uint32_t); -static void usbd_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); -static int32_t usbd_iodispatch(device_object *, irp *); -static int32_t usbd_ioinvalid(device_object *, irp *); -static int32_t usbd_irpcancel(device_object *, irp *); -static void usbd_irpcancel_cb(void *); -static int32_t usbd_irpcancel_iin(device_object *, irp *); -static void usbd_irpcancel_iin_cb(void *); -static int32_t usbd_submit_urb(irp *); -static int32_t usbd_urb2nt(int32_t); -static void usbd_xfereof(usbd_xfer_handle, usbd_private_handle, usbd_status); -static void dummy(void); +static int32_t usbd_func_bulkintr(irp *); +static int32_t usbd_func_bulkintr_iin(irp *); +static int32_t usbd_func_vendorclass(irp *); +static int32_t usbd_func_selconf(irp *); +static int32_t usbd_func_getdesc(irp *); +static union usbd_urb *usbd_geturb(irp *); +static usbd_status usbd_init_ndispipe(irp *, usb_endpoint_descriptor_t *); +static usbd_xfer_handle usbd_init_ndisxfer(irp *, usb_endpoint_descriptor_t *, + void *, uint32_t); +static void usbd_intr(usbd_xfer_handle, usbd_private_handle, + usbd_status); +static int32_t usbd_iodispatch(device_object *, irp *); +static int32_t usbd_ioinvalid(device_object *, irp *); +static int32_t usbd_irpcancel(device_object *, irp *); +static void usbd_irpcancel_cb(void *); +static int32_t usbd_irpcancel_iin(device_object *, irp *); +static void usbd_irpcancel_iin_cb(void *); +static int32_t usbd_submit_urb(irp *); +static int32_t usbd_urb2nt(int32_t); +static void usbd_xfereof(usbd_xfer_handle, usbd_private_handle, + usbd_status); +static void dummy(void); -static union usbd_urb *USBD_CreateConfigurationRequestEx( - usb_config_descriptor_t *, struct usbd_interface_list_entry *); -static union usbd_urb *USBD_CreateConfigurationRequest(usb_config_descriptor_t *, - uint16_t *); -static void USBD_GetUSBDIVersion(usbd_version_info *); +static union usbd_urb *USBD_CreateConfigurationRequestEx( + usb_config_descriptor_t *, + struct usbd_interface_list_entry *); +static union usbd_urb *USBD_CreateConfigurationRequest( + usb_config_descriptor_t *, + uint16_t *); +static void USBD_GetUSBDIVersion(usbd_version_info *); static usb_interface_descriptor_t *USBD_ParseConfigurationDescriptorEx( - usb_config_descriptor_t *, void *, int32_t, int32_t, int32_t, int32_t, - int32_t); + usb_config_descriptor_t *, void *, int32_t, int32_t, + int32_t, int32_t, int32_t); static usb_interface_descriptor_t *USBD_ParseConfigurationDescriptor( - usb_config_descriptor_t *, uint8_t, uint8_t); + usb_config_descriptor_t *, uint8_t, uint8_t); /* * We need to wrap these functions because these need `context switch' from From owner-p4-projects@FreeBSD.ORG Wed Jul 16 09:35:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C727106567F; Wed, 16 Jul 2008 09:35:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5EFD0106567D for ; Wed, 16 Jul 2008 09:35:15 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 531268FC1D for ; Wed, 16 Jul 2008 09:35:15 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6G9ZFgk025499 for ; Wed, 16 Jul 2008 09:35:15 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6G9ZFDC025497 for perforce@freebsd.org; Wed, 16 Jul 2008 09:35:15 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 16 Jul 2008 09:35:15 GMT Message-Id: <200807160935.m6G9ZFDC025497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145310 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 09:35:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=145310 Change 145310 by ed@ed_dull on 2008/07/16 09:34:20 Revert my previous change to ioctl_compat.h; kdump includes this file unconditionally. Just make it return no contents when included. Affected files ... .. //depot/projects/mpsafetty/sys/sys/ioctl_compat.h#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/ioctl_compat.h#3 (text+ko) ==== @@ -38,9 +38,7 @@ #ifndef _SYS_IOCTL_COMPAT_H_ #define _SYS_IOCTL_COMPAT_H_ -#ifndef _KERNEL -#error "no user-servicable parts inside" -#endif /* !_KERNEL */ +#ifdef _KERNEL struct tchars { char t_intrc; /* interrupt */ @@ -149,4 +147,6 @@ #define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars*/ #define OTIOCCONS _IO('t', 98) /* for hp300 -- sans int arg */ +#endif /* _KERNEL */ + #endif /* !_SYS_IOCTL_COMPAT_H_ */ From owner-p4-projects@FreeBSD.ORG Wed Jul 16 09:44:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23C0D1065675; Wed, 16 Jul 2008 09:44:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAA5A1065672 for ; Wed, 16 Jul 2008 09:44:24 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CD2268FC23 for ; Wed, 16 Jul 2008 09:44:24 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6G9iOH2026196 for ; Wed, 16 Jul 2008 09:44:24 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6G9iODh026194 for perforce@freebsd.org; Wed, 16 Jul 2008 09:44:24 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 16 Jul 2008 09:44:24 GMT Message-Id: <200807160944.m6G9iODh026194@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145311 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 09:44:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=145311 Change 145311 by ed@ed_dull on 2008/07/16 09:43:26 IFC. Affected files ... .. //depot/projects/mpsafetty/ObsoleteFiles.inc#2 integrate .. //depot/projects/mpsafetty/games/fortune/datfiles/fortunes#2 integrate .. //depot/projects/mpsafetty/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/sys/ktrace.2#2 integrate .. //depot/projects/mpsafetty/lib/libc/sys/modstat.2#2 integrate .. //depot/projects/mpsafetty/share/man/man4/Makefile#2 integrate .. //depot/projects/mpsafetty/share/man/man4/ahc.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/et.4#1 branch .. //depot/projects/mpsafetty/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/mpsafetty/sys/conf/newvers.sh#2 integrate .. //depot/projects/mpsafetty/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/vr/if_vr.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/vr/if_vrreg.h#2 integrate .. //depot/projects/mpsafetty/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/mpsafetty/sys/ia64/ia64/busdma_machdep.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/subr_stack.c#2 integrate .. //depot/projects/mpsafetty/sys/libkern/memset.c#2 integrate .. //depot/projects/mpsafetty/sys/net/bpf.c#2 integrate .. //depot/projects/mpsafetty/sys/net/if_vlan.c#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/bluetooth/common/ng_bluetooth.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/mpsafetty/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/tcp_output.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/mpsafetty/sys/sys/eventhandler.h#2 integrate .. //depot/projects/mpsafetty/sys/sys/libkern.h#2 integrate .. //depot/projects/mpsafetty/usr.sbin/cdcontrol/cdcontrol.1#2 integrate .. //depot/projects/mpsafetty/usr.sbin/cdcontrol/cdcontrol.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/extattr/rmextattr.c#2 integrate Differences ... ==== //depot/projects/mpsafetty/ObsoleteFiles.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.151 2008/07/06 20:57:35 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.152 2008/07/13 17:17:35 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -57,6 +57,10 @@ # 20080701: wpa_supplicant.conf moved to share/examples/etc/ OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf OLD_DIRS+=usr/share/examples/wpa_supplicant +# 20080614: pecoff image activator removed +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/include/machine/pecoff_machdep.h +.endif # 20080614: sgtty removed OLD_FILES+=usr/include/sys/ttychars.h OLD_FILES+=usr/include/sys/ttydev.h ==== //depot/projects/mpsafetty/games/fortune/datfiles/fortunes#2 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.267 2008/07/07 10:04:16 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.268 2008/07/14 18:45:06 phk Exp $ % ======================================================================= || || @@ -23572,9 +23572,6 @@ I have a very firm grasp on reality! I can reach out and strangle it any time! % -I have a very small mind and must live with it. - -- Edsger W. Dijkstra -% I have a very strange feeling about this... -- Luke Skywalker % @@ -34282,6 +34279,11 @@ My own business always bores me to death; I prefer other people's. -- Oscar Wilde % +My own feelings are perhaps best described by saying that I am +perfectly aware that there is no Royal Road to Mathematics, in other +words, that I have only a very small head and must live with it. + -- Edsger W. Dijkstra +% My own dear love, he is strong and bold And he cares not what comes after. His words ring sweet as a chime of gold, ==== //depot/projects/mpsafetty/lib/libc/posix1e/acl_support.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1999, 2000, 2001 Robert N. M. Watson + * Copyright (c) 1999-2001, 2008 Robert N. M. Watson * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_support.c,v 1.14 2007/02/26 02:07:02 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/posix1e/acl_support.c,v 1.15 2008/07/13 16:37:51 rwatson Exp $"); #include #include "namespace.h" @@ -138,7 +138,7 @@ { struct acl *acl_int; struct acl_entry *entry; /* current entry */ - uid_t obj_uid=-1, obj_gid=-1, highest_uid=0, highest_gid=0; + uid_t highest_uid=0, highest_gid=0; int stage = ACL_USER_OBJ; int i = 0; int count_user_obj=0, count_user=0, count_group_obj=0, @@ -162,7 +162,6 @@ return (EINVAL); stage = ACL_USER; count_user_obj++; - obj_uid = entry->ae_id; break; case ACL_USER: @@ -170,8 +169,6 @@ if (stage > ACL_USER) return (EINVAL); stage = ACL_USER; - if (entry->ae_id == obj_uid) - return (EINVAL); if (count_user && (entry->ae_id <= highest_uid)) return (EINVAL); highest_uid = entry->ae_id; @@ -185,7 +182,6 @@ return (EINVAL); stage = ACL_GROUP; count_group_obj++; - obj_gid = entry->ae_id; break; case ACL_GROUP: @@ -193,8 +189,6 @@ if (stage > ACL_GROUP) return (EINVAL); stage = ACL_GROUP; - if (entry->ae_id == obj_gid) - return (EINVAL); if (count_group && (entry->ae_id <= highest_gid)) return (EINVAL); highest_gid = entry->ae_id; ==== //depot/projects/mpsafetty/lib/libc/sys/ktrace.2#2 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/ktrace.2,v 1.25 2007/01/09 00:28:14 imp Exp $ +.\" $FreeBSD: src/lib/libc/sys/ktrace.2,v 1.26 2008/07/13 13:42:52 remko Exp $ .\" -.Dd June 4, 1993 +.Dd July 13, 2008 .Dt KTRACE 2 .Os .Sh NAME @@ -101,7 +101,7 @@ pid_t ktr_pid; /* process id */ char ktr_comm[MAXCOMLEN+1]; /* command name */ struct timeval ktr_time; /* timestamp */ - caddr_t ktr_buf; + intptr_t ktr_tid; /* was ktr_buffer */ }; .Ed .Pp @@ -120,8 +120,8 @@ field gives the time (with microsecond resolution) that the record was generated. The -.Va ktr_buf -is an internal kernel pointer and is not useful. +.Va ktr_tid +field holds a threadid. .Pp The generic header is followed by .Va ktr_len ==== //depot/projects/mpsafetty/lib/libc/sys/modstat.2#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/modstat.2,v 1.11 2007/06/13 19:22:29 brueffer Exp $ +.\" $FreeBSD: src/lib/libc/sys/modstat.2,v 1.12 2008/07/15 10:06:37 danger Exp $ .\" -.Dd June 13, 2007 +.Dd July 15, 2008 .Dt MODSTAT 2 .Os .Sh NAME @@ -55,9 +55,9 @@ }; typedef union modspecific { int intval; - u_int u_intval; + u_int uintval; long longval; - u_long u_longval; + u_long ulongval; } modspecific_t; .Ed .Pp ==== //depot/projects/mpsafetty/share/man/man4/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.421 2008/07/04 21:24:35 jhb Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.422 2008/07/14 18:15:43 brueffer Exp $ MAN= aac.4 \ acpi.4 \ @@ -77,6 +77,7 @@ en.4 \ enc.4 \ esp.4 \ + et.4 \ exca.4 \ faith.4 \ fatm.4 \ @@ -451,6 +452,7 @@ MLINKS+=ef.4 if_ef.4 MLINKS+=em.4 if_em.4 MLINKS+=en.4 if_en.4 +MLINKS+=et.4 if_et.4 MLINKS+=faith.4 if_faith.4 MLINKS+=fatm.4 if_fatm.4 MLINKS+=fd.4 stderr.4 \ ==== //depot/projects/mpsafetty/share/man/man4/ahc.4#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ahc.4,v 1.39 2006/05/20 09:39:28 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/ahc.4,v 1.40 2008/07/13 13:56:21 remko Exp $ .\" -.Dd July 4, 2004 +.Dd July 13, 2008 .Dt AHC 4 .Os .Sh NAME @@ -264,7 +264,7 @@ .Tn 2915 .It Adaptec -.Tn 2920 +.Tn 2920C .It Adaptec .Tn 2930C ==== //depot/projects/mpsafetty/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.85 2008/02/12 16:24:30 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.86 2008/07/15 03:34:49 alc Exp $"); #include #include @@ -480,8 +480,6 @@ mflags = M_NOWAIT; else mflags = M_WAITOK; - if (flags & BUS_DMA_ZERO) - mflags |= M_ZERO; /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; @@ -489,13 +487,15 @@ if (dmat->segments == NULL) { dmat->segments = (bus_dma_segment_t *)malloc( sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF, - M_NOWAIT); + mflags); if (dmat->segments == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } } + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; /* * XXX: @@ -531,7 +531,7 @@ pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize, PAT_UNCACHEABLE); CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", - __func__, dmat, dmat->flags, ENOMEM); + __func__, dmat, dmat->flags, 0); return (0); } ==== //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.631 2008/07/12 21:24:42 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $"); /* * Manages physical address maps. @@ -1041,17 +1041,25 @@ vm_paddr_t pmap_kextract(vm_offset_t va) { - pd_entry_t *pde; + pd_entry_t pde; vm_paddr_t pa; if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) { pa = DMAP_TO_PHYS(va); } else { - pde = vtopde(va); - if (*pde & PG_PS) { - pa = (*pde & PG_PS_FRAME) | (va & PDRMASK); + pde = *vtopde(va); + if (pde & PG_PS) { + pa = (pde & PG_PS_FRAME) | (va & PDRMASK); } else { - pa = *vtopte(va); + /* + * Beware of a concurrent promotion that changes the + * PDE at this point! For example, vtopte() must not + * be used to access the PTE because it would use the + * new PDE. It is, however, safe to use the old PDE + * because the page table page is preserved by the + * promotion. + */ + pa = *pmap_pde_to_pte(&pde, va); pa = (pa & PG_FRAME) | (va & PAGE_MASK); } } ==== //depot/projects/mpsafetty/sys/conf/newvers.sh#2 (text+ko) ==== @@ -28,7 +28,7 @@ # SUCH DAMAGE. # # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 -# $FreeBSD: src/sys/conf/newvers.sh,v 1.75 2008/06/08 19:46:23 dougb Exp $ +# $FreeBSD: src/sys/conf/newvers.sh,v 1.76 2008/07/13 20:08:38 dougb Exp $ TYPE="FreeBSD" REVISION="8.0" @@ -97,7 +97,7 @@ done if [ -n "$svnversion" -a -d "${SRCDIR}/.svn" ] ; then - svn=" @`cd $SRCDIR && $svnversion`" + svn=" r`cd $SRCDIR && $svnversion`" else svn="" fi ==== //depot/projects/mpsafetty/sys/dev/sound/pci/hda/hdac.c#2 (text+ko) ==== @@ -84,7 +84,7 @@ #define HDA_DRV_TEST_REV "20080420_0052" #define HDA_WIDGET_PARSER_REV 1 -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.54 2008/05/22 09:14:12 kevlo Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.55 2008/07/15 02:34:44 delphij Exp $"); #define HDA_BOOTVERBOSE(stmt) do { \ if (bootverbose != 0 || snd_verbose > 3) { \ @@ -193,6 +193,7 @@ /* Dell */ #define DELL_VENDORID 0x1028 +#define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) @@ -688,6 +689,8 @@ 0, 0, -1, 13, { 14, -1 }, -1 }, { DELL_OPLX745_SUBVENDOR, HDA_CODEC_AD1983, HDAC_HP_SWITCH_CTL, 0, 0, -1, 6, { 5, 7, -1 }, -1 }, + { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, + 0, 0, -1, 10, { 13, -1 }, -1 }, { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205, HDAC_HP_SWITCH_CTRL, 0, 0, -1, 10, { 13, -1 }, -1 }, { APPLE_MB3_SUBVENDOR, HDA_CODEC_ALC885, HDAC_HP_SWITCH_CTL, @@ -4255,6 +4258,8 @@ HDA_QUIRK_GPIO0 | HDA_QUIRK_OVREF50, 0}, { APPLE_INTEL_MAC, HDA_CODEC_STAC9221, HDA_QUIRK_GPIO0 | HDA_QUIRK_GPIO1, 0 }, + { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205, + HDA_QUIRK_GPIO0, 0 }, { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205, HDA_QUIRK_GPIO0, 0 }, { HDA_MATCH_ALL, HDA_CODEC_AD1988, @@ -4528,7 +4533,8 @@ } break; case HDA_CODEC_STAC9205: - if (subvendor == DELL_V1500_SUBVENDOR) { + if ((subvendor == DELL_V1500_SUBVENDOR) || + (subvendor == DELL_D630_SUBVENDOR)) { w = hdac_widget_get(devinfo, 29); if (w != NULL) w->selconn = 1; ==== //depot/projects/mpsafetty/sys/dev/vr/if_vr.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/vr/if_vr.c,v 1.130 2008/03/11 04:51:22 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/vr/if_vr.c,v 1.132 2008/07/16 08:35:29 yongari Exp $"); /* * VIA Rhine fast ethernet PCI NIC driver @@ -186,7 +186,8 @@ static void vr_miibus_statchg(device_t); static void vr_link_task(void *, int); -static int vr_setperf(struct vr_softc *, int, uint8_t *); +static void vr_cam_mask(struct vr_softc *, uint32_t, int); +static int vr_cam_data(struct vr_softc *, int, int, uint8_t *); static void vr_set_filter(struct vr_softc *); static void vr_reset(const struct vr_softc *); static int vr_tx_ring_init(struct vr_softc *); @@ -394,27 +395,44 @@ VR_UNLOCK(sc); } -/* - * Copy the address 'mac' into the perfect RX filter entry at - * offset 'idx.' The perfect filter only has 32 entries so do - * some sanity tests. - */ + +static void +vr_cam_mask(struct vr_softc *sc, uint32_t mask, int type) +{ + + if (type == VR_MCAST_CAM) + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_MCAST); + else + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_VLAN); + CSR_WRITE_4(sc, VR_CAMMASK, mask); + CSR_WRITE_1(sc, VR_CAMCTL, 0); +} + static int -vr_setperf(struct vr_softc *sc, int idx, uint8_t *mac) +vr_cam_data(struct vr_softc *sc, int type, int idx, uint8_t *mac) { int i; - if (idx < 0 || idx >= VR_CAM_MCAST_CNT || mac == NULL) - return (EINVAL); + if (type == VR_MCAST_CAM) { + if (idx < 0 || idx >= VR_CAM_MCAST_CNT || mac == NULL) + return (EINVAL); + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_MCAST); + } else + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_VLAN); /* Set CAM entry address. */ CSR_WRITE_1(sc, VR_CAMADDR, idx); /* Set CAM entry data. */ - for (i = 0; i < ETHER_ADDR_LEN; i++) - CSR_WRITE_1(sc, VR_MAR0 + i, mac[i]); + if (type == VR_MCAST_CAM) { + for (i = 0; i < ETHER_ADDR_LEN; i++) + CSR_WRITE_1(sc, VR_MCAM0 + i, mac[i]); + } else { + CSR_WRITE_1(sc, VR_VCAM0, mac[0]); + CSR_WRITE_1(sc, VR_VCAM1, mac[1]); + } + DELAY(10); /* Write CAM and wait for self-clear of VR_CAMCTL_WRITE bit. */ - CSR_WRITE_1(sc, VR_CAMCTL, - VR_CAMCTL_ENA | VR_CAMCTL_MCAST | VR_CAMCTL_WRITE); + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_WRITE); for (i = 0; i < VR_TIMEOUT; i++) { DELAY(1); if ((CSR_READ_1(sc, VR_CAMCTL) & VR_CAMCTL_WRITE) == 0) @@ -424,6 +442,7 @@ if (i == VR_TIMEOUT) device_printf(sc->vr_dev, "%s: setting CAM filter timeout!\n", __func__); + CSR_WRITE_1(sc, VR_CAMCTL, 0); return (i == VR_TIMEOUT ? ETIMEDOUT : 0); } @@ -461,6 +480,7 @@ /* Now program new ones. */ error = 0; + mcnt = 0; IF_ADDR_LOCK(ifp); if ((sc->vr_quirks & VR_Q_CAM) != 0) { /* @@ -468,12 +488,10 @@ * 32 entries multicast perfect filter. */ cam_mask = 0; - mcnt = 0; - CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_MCAST); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; - error = vr_setperf(sc, mcnt, + error = vr_cam_data(sc, VR_MCAST_CAM, mcnt, LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); if (error != 0) { cam_mask = 0; @@ -482,19 +500,16 @@ cam_mask |= 1 << mcnt; mcnt++; } - /* Enable multicast CAM entries depending on mask. */ - CSR_WRITE_1(sc, VR_CAMMASK, cam_mask); - /* Accessing CAM done. */ - CSR_WRITE_1(sc, VR_CAMCTL, 0); + vr_cam_mask(sc, VR_MCAST_CAM, cam_mask); } - mcnt = 0; if ((sc->vr_quirks & VR_Q_CAM) == 0 || error != 0) { /* * If there are too many multicast addresses or * setting multicast CAM filter failed, use hash * table based filtering. */ + mcnt = 0; TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -1324,8 +1339,8 @@ * We don't support SG in Rx path yet, so discard * partial frame. */ - if ((rxstat & (VR_RXSTAT_RXERR | VR_RXSTAT_FIRSTFRAG | - VR_RXSTAT_LASTFRAG)) != + if ((rxstat & VR_RXSTAT_RX_OK) == 0 || + (rxstat & (VR_RXSTAT_FIRSTFRAG | VR_RXSTAT_LASTFRAG)) != (VR_RXSTAT_FIRSTFRAG | VR_RXSTAT_LASTFRAG)) { ifp->if_ierrors++; sc->vr_stat.rx_errors++; @@ -2031,11 +2046,19 @@ /* Init tx descriptors. */ vr_tx_ring_init(sc); - /* Disable all VLAN CAM entries. */ if ((sc->vr_quirks & VR_Q_CAM) != 0) { - CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_VLAN); - CSR_WRITE_1(sc, VR_CAMMASK, 0); - CSR_WRITE_1(sc, VR_CAMCTL, 0); + uint8_t vcam[2] = { 0, 0 }; + + /* Disable VLAN hardware tag insertion/stripping. */ + VR_CLRBIT(sc, VR_TXCFG, VR_TXCFG_TXTAGEN | VR_TXCFG_RXTAGCTL); + /* Disable VLAN hardware filtering. */ + VR_CLRBIT(sc, VR_BCR1, VR_BCR1_VLANFILT_ENB); + /* Disable all CAM entries. */ + vr_cam_mask(sc, VR_MCAST_CAM, 0); + vr_cam_mask(sc, VR_VLAN_CAM, 0); + /* Enable the first VLAN CAM. */ + vr_cam_data(sc, VR_VLAN_CAM, 0, vcam); + vr_cam_mask(sc, VR_VLAN_CAM, 1); } /* ==== //depot/projects/mpsafetty/sys/dev/vr/if_vrreg.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/vr/if_vrreg.h,v 1.36 2008/03/11 04:51:22 yongari Exp $ + * $FreeBSD: src/sys/dev/vr/if_vrreg.h,v 1.38 2008/07/16 08:35:29 yongari Exp $ */ /* @@ -47,6 +47,14 @@ #define VR_IMR 0x0E /* interrupt mask register */ #define VR_MAR0 0x10 /* multicast hash 0 */ #define VR_MAR1 0x14 /* multicast hash 1 */ +#define VR_MCAM0 0x10 +#define VR_MCAM1 0x11 +#define VR_MCAM2 0x12 +#define VR_MCAM3 0x13 +#define VR_MCAM4 0x14 +#define VR_MCAM5 0x15 +#define VR_VCAM0 0x16 +#define VR_VCAM1 0x17 #define VR_RXADDR 0x18 /* rx descriptor list start addr */ #define VR_TXADDR 0x1C /* tx descriptor list start addr */ #define VR_CURRXDESC0 0x20 @@ -368,6 +376,7 @@ #define VR_BCR1_TXTHRESH512BYTES 0x20 #define VR_BCR1_TXTHRESH1024BYTES 0x28 #define VR_BCR1_TXTHRESHSTORENFWD 0x38 +#define VR_BCR1_VLANFILT_ENB 0x80 /* VT6105M */ /* * CAMCTL register bits. (VT6105M only) @@ -455,7 +464,8 @@ #define VR_RXSTAT_RX_PHYS 0x00000800 #define VR_RXSTAT_RX_BROAD 0x00001000 #define VR_RXSTAT_RX_MULTI 0x00002000 -#define VR_RXSTAT_RX_OK 0x00004000 +#define VR_RXSTAT_RX_VIDHIT 0x00004000 /* 6105M */ +#define VR_RXSTAT_RX_OK 0x00008000 #define VR_RXSTAT_RXLEN 0x07FF0000 #define VR_RXSTAT_RXLEN_EXT 0x78000000 #define VR_RXSTAT_OWN 0x80000000 @@ -750,3 +760,6 @@ #define VR_SETBIT16(sc, reg, x) CSR_WRITE_2(sc, reg, CSR_READ_2(sc, reg) | (x)) #define VR_CLRBIT16(sc, reg, x) CSR_WRITE_2(sc, reg, CSR_READ_2(sc, reg) & ~(x)) + +#define VR_MCAST_CAM 0 +#define VR_VLAN_CAM 1 ==== //depot/projects/mpsafetty/sys/i386/i386/busdma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.92 2008/03/28 15:28:20 emaste Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.93 2008/07/15 03:34:49 alc Exp $"); #include #include @@ -488,8 +488,6 @@ mflags = M_NOWAIT; else mflags = M_WAITOK; - if (flags & BUS_DMA_ZERO) - mflags |= M_ZERO; /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; @@ -497,13 +495,15 @@ if (dmat->segments == NULL) { dmat->segments = (bus_dma_segment_t *)malloc( sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF, - M_NOWAIT); + mflags); if (dmat->segments == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } } + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; /* * XXX: ==== //depot/projects/mpsafetty/sys/ia64/ia64/busdma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/busdma_machdep.c,v 1.46 2007/11/27 17:28:12 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/busdma_machdep.c,v 1.47 2008/07/15 03:34:49 alc Exp $"); #include #include @@ -416,8 +416,6 @@ mflags = M_NOWAIT; else mflags = M_WAITOK; - if (flags & BUS_DMA_ZERO) - mflags |= M_ZERO; /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; @@ -425,10 +423,12 @@ if (dmat->segments == NULL) { dmat->segments = (bus_dma_segment_t *)malloc( sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF, - M_NOWAIT); + mflags); if (dmat->segments == NULL) return (ENOMEM); } + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; /* * XXX: ==== //depot/projects/mpsafetty/sys/kern/subr_stack.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/subr_stack.c,v 1.6 2007/12/03 14:44:35 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_stack.c,v 1.7 2008/07/13 17:15:19 svn Exp $"); #include #include @@ -40,7 +40,7 @@ #include #include -MALLOC_DEFINE(M_STACK, "stack", "Stack Traces"); +static MALLOC_DEFINE(M_STACK, "stack", "Stack Traces"); static void stack_symbol(vm_offset_t pc, char *namebuf, u_int buflen, long *offset); ==== //depot/projects/mpsafetty/sys/libkern/memset.c#2 (text+ko) ==== @@ -23,18 +23,22 @@ * SUCH DAMAGE. */ #include -#include -__FBSDID("$FreeBSD: src/sys/libkern/memset.c,v 1.2 2007/04/06 00:06:26 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/memset.c,v 1.3 2008/07/14 21:36:02 obrien Exp $"); -void *memset(void *, int, size_t); +#define LIBKERN_INLINE +#include +#include void * memset(void *b, int c, size_t len) { char *bb; - for (bb = (char *)b; len--; ) - *bb++ = c; + if (c == 0) + bzero(b, len); + else + for (bb = (char *)b; len--; ) + *bb++ = c; return (b); } ==== //depot/projects/mpsafetty/sys/net/bpf.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.197 2008/07/07 09:25:49 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.198 2008/07/14 22:41:48 jkim Exp $"); #include "opt_bpf.h" #include "opt_mac.h" @@ -443,13 +443,19 @@ if (len - hlen > ifp->if_mtu) return (EMSGSIZE); - if ((unsigned)len > MCLBYTES) + if ((unsigned)len > MJUM16BYTES) return (EIO); - if (len > MHLEN) + if (len <= MHLEN) + MGETHDR(m, M_WAIT, MT_DATA); + else if (len <= MCLBYTES) m = m_getcl(M_WAIT, MT_DATA, M_PKTHDR); else - MGETHDR(m, M_WAIT, MT_DATA); + m = m_getjcl(M_WAIT, MT_DATA, M_PKTHDR, +#if (MJUMPAGESIZE > MCLBYTES) + len <= MJUMPAGESIZE ? MJUMPAGESIZE : +#endif + (len <= MJUM9BYTES ? MJUM9BYTES : MJUM16BYTES)); m->m_pkthdr.len = m->m_len = len; m->m_pkthdr.rcvif = NULL; *mp = m; ==== //depot/projects/mpsafetty/sys/net/if_vlan.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_vlan.c,v 1.125 2007/10/18 21:22:15 thompsa Exp $ + * $FreeBSD: src/sys/net/if_vlan.c,v 1.126 2008/07/14 18:40:21 jfv Exp $ */ /* @@ -1062,6 +1062,8 @@ ifp->if_drv_flags |= IFF_DRV_RUNNING; done: TRUNK_UNLOCK(trunk); + if (error == 0) + EVENTHANDLER_INVOKE(vlan_config, p, ifv->ifv_tag); VLAN_UNLOCK(); return (error); @@ -1084,12 +1086,14 @@ struct ifvlantrunk *trunk; struct vlan_mc_entry *mc; struct ifvlan *ifv; + struct ifnet *parent; int error; VLAN_LOCK_ASSERT(); ifv = ifp->if_softc; trunk = ifv->ifv_trunk; + parent = PARENT(ifv); if (trunk) { struct sockaddr_dl sdl; @@ -1153,6 +1157,8 @@ ifp->if_link_state = LINK_STATE_UNKNOWN; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + EVENTHANDLER_INVOKE(vlan_unconfig, parent, ifv->ifv_tag); + return (0); } ==== //depot/projects/mpsafetty/sys/netgraph/bluetooth/common/ng_bluetooth.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * $Id: ng_bluetooth.c,v 1.3 2003/04/26 22:37:31 max Exp $ - * $FreeBSD: src/sys/netgraph/bluetooth/common/ng_bluetooth.c,v 1.8 2008/07/10 00:15:29 emax Exp $ + * $FreeBSD: src/sys/netgraph/bluetooth/common/ng_bluetooth.c,v 1.9 2008/07/14 13:45:05 trhodes Exp $ */ #include @@ -57,7 +57,7 @@ SYSCTL_NODE(_net, OID_AUTO, bluetooth, CTLFLAG_RW, 0, "Bluetooth family"); SYSCTL_INT(_net_bluetooth, OID_AUTO, version, - CTLFLAG_RD, 0, NG_BLUETOOTH_VERSION, ""); + CTLFLAG_RD, 0, NG_BLUETOOTH_VERSION, "Version of the stack"); /* * HCI ==== //depot/projects/mpsafetty/sys/netinet/in_pcb.h#4 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)in_pcb.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/netinet/in_pcb.h,v 1.109 2008/07/10 13:31:11 bz Exp $ + * $FreeBSD: src/sys/netinet/in_pcb.h,v 1.110 2008/07/15 15:38:47 rwatson Exp $ */ #ifndef _NETINET_IN_PCB_H_ @@ -315,6 +315,8 @@ #define INP_LOCK_DESTROY(inp) rw_destroy(&(inp)->inp_lock) #define INP_RLOCK(inp) rw_rlock(&(inp)->inp_lock) #define INP_WLOCK(inp) rw_wlock(&(inp)->inp_lock) +#define INP_TRY_RLOCK(inp) rw_try_rlock(&(inp)->inp_lock) +#define INP_TRY_WLOCK(inp) rw_try_wlock(&(inp)->inp_lock) #define INP_RUNLOCK(inp) rw_runlock(&(inp)->inp_lock) #define INP_WUNLOCK(inp) rw_wunlock(&(inp)->inp_lock) #define INP_LOCK_ASSERT(inp) rw_assert(&(inp)->inp_lock, RA_LOCKED) @@ -356,6 +358,8 @@ #define INP_INFO_LOCK_DESTROY(ipi) rw_destroy(&(ipi)->ipi_lock) #define INP_INFO_RLOCK(ipi) rw_rlock(&(ipi)->ipi_lock) #define INP_INFO_WLOCK(ipi) rw_wlock(&(ipi)->ipi_lock) +#define INP_INFO_TRY_RLOCK(ipi) rw_try_rlock(&(ipi)->ipi_lock) +#define INP_INFO_TRY_WLOCK(ipi) rw_try_wlock(&(ipi)->ipi_lock) #define INP_INFO_RUNLOCK(ipi) rw_runlock(&(ipi)->ipi_lock) #define INP_INFO_WUNLOCK(ipi) rw_wunlock(&(ipi)->ipi_lock) #define INP_INFO_LOCK_ASSERT(ipi) rw_assert(&(ipi)->ipi_lock, RA_LOCKED) ==== //depot/projects/mpsafetty/sys/netinet/ip_carp.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_carp.c,v 1.54 2008/06/02 18:58:07 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_carp.c,v 1.55 2008/07/14 20:11:51 eri Exp $"); #include "opt_carp.h" #include "opt_bpf.h" @@ -1464,7 +1464,11 @@ carp_set_state(sc, INIT); if (sc->sc_naddrs) SC2IFP(sc)->if_flags |= IFF_UP; + if (sc->sc_carpdev) + CARP_SCLOCK(sc); carp_setrun(sc, 0); + if (sc->sc_carpdev) + CARP_SCUNLOCK(sc); return (0); } @@ -1625,7 +1629,11 @@ carp_set_state(sc, INIT); if (sc->sc_naddrs6) SC2IFP(sc)->if_flags |= IFF_UP; + if (sc->sc_carpdev) + CARP_SCLOCK(sc); carp_setrun(sc, 0); + if (sc->sc_carpdev) + CARP_SCUNLOCK(sc); return (0); } ==== //depot/projects/mpsafetty/sys/netinet/tcp_output.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/tcp_output.c,v 1.150 2008/04/17 21:38:16 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/tcp_output.c,v 1.151 2008/07/15 10:32:35 rpaulo Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -934,7 +934,7 @@ * a 0 window. This may cause the remote transmitter to stall. This * flag tells soreceive() to disable delayed acknowledgements when * draining the buffer. This can occur if the receiver is attempting - * to read more data then can be buffered prior to transmitting on + * to read more data than can be buffered prior to transmitting on * the connection. */ if (recwin == 0) ==== //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.230 2008/07/10 16:20:18 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.231 2008/07/15 15:38:47 rwatson Exp $"); #include "opt_ipfw.h" #include "opt_inet6.h" @@ -846,14 +846,42 @@ return (error); } - if (src.sin_family == AF_INET || addr != NULL) { + /* + * Depending on whether or not the application has bound or connected + * the application, we may have to do varying levels of work. The + * optimal case is for a connected UDP socket, as a global lock isn't + * required. + * + * In order to decide which we need, we require stability of the + * inpcb binding, which we ensure by acquiring a read lock on the + * inpcb. This doesn't strictly follow the lock order, so we play + * the trylock and retry game; note that we may end up with more + * conservative locks than required the second time around, so later + * assertions have to accept that. Further analysis of the number of + * misses under contention is required. + */ + sin = (struct sockaddr_in *)addr; + INP_RLOCK(inp); + if (sin != NULL && + (inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0)) { + INP_RUNLOCK(inp); INP_INFO_WLOCK(&udbinfo); INP_WLOCK(inp); + unlock_udbinfo = 2; + } else if ((sin != NULL && ( + (sin->sin_addr.s_addr == INADDR_ANY) || + (sin->sin_addr.s_addr == INADDR_BROADCAST) || + (inp->inp_laddr.s_addr == INADDR_ANY) || + (inp->inp_lport == 0))) || + (src.sin_family == AF_INET)) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 16 10:41:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B313106567A; Wed, 16 Jul 2008 10:41:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D00A10656CC for ; Wed, 16 Jul 2008 10:41:23 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A120C8FC0A for ; Wed, 16 Jul 2008 10:41:22 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GAfMoR032166 for ; Wed, 16 Jul 2008 10:41:22 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GAfM88032164 for perforce@freebsd.org; Wed, 16 Jul 2008 10:41:22 GMT (envelope-from weongyo@FreeBSD.org) Date: Wed, 16 Jul 2008 10:41:22 GMT Message-Id: <200807161041.m6GAfM88032164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 145314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 10:41:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=145314 Change 145314 by weongyo@weongyo_ws on 2008/07/16 10:40:51 When we're handling URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE, we should set a actual value which is responsed by the USB device not the status value. This was a critical bug. Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#9 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#9 (text+ko) ==== @@ -79,6 +79,8 @@ static int32_t usbd_func_vendorclass(irp *); static int32_t usbd_func_selconf(irp *); static int32_t usbd_func_getdesc(irp *); +static usbd_status usbd_get_desc_ndis(usbd_device_handle, int, int, int, + void *, int *); static union usbd_urb *usbd_geturb(irp *); static usbd_status usbd_init_ndispipe(irp *, usb_endpoint_descriptor_t *); static usbd_xfer_handle usbd_init_ndisxfer(irp *, usb_endpoint_descriptor_t *, @@ -354,70 +356,61 @@ irp *ip; { device_t dev = IRP_NDIS_DEV(ip); - int i; + int actlen, i; struct usb_attach_arg *uaa = device_get_ivars(dev); struct usbd_urb_control_descriptor_request *ctldesc; - uint32_t len; union usbd_urb *urb; - usb_config_descriptor_t cd, *cdp; usbd_status status; urb = usbd_geturb(ip); ctldesc = &urb->uu_ctldesc; - if (ctldesc->ucd_desctype == UDESC_CONFIG) { - /* Get the short config descriptor. */ - status = usbd_get_config_desc(uaa->device, ctldesc->ucd_idx, - &cd); - if (status != USBD_NORMAL_COMPLETION) { - ctldesc->ucd_trans_buflen = 0; - return usbd_usb2urb(status); - } - len = MIN(UGETW(cd.wTotalLength), ctldesc->ucd_trans_buflen); - /* Get the full descriptor. Try a few times for slow devices. */ - for (i = 0; i < 3; i++) { - status = usbd_get_desc(uaa->device, - ctldesc->ucd_desctype, ctldesc->ucd_idx, - len, ctldesc->ucd_trans_buf); - if (status == USBD_NORMAL_COMPLETION) - break; - usbd_delay_ms(uaa->device, 200); - } - if (status != USBD_NORMAL_COMPLETION) { - ctldesc->ucd_trans_buflen = 0; - return usbd_usb2urb(status); - } - - cdp = (usb_config_descriptor_t *)ctldesc->ucd_trans_buf; - if (cdp->bDescriptorType != UDESC_CONFIG) { - device_printf(dev, "bad desc %d\n", - cdp->bDescriptorType); - status = USBD_INVAL; - } - } else if (ctldesc->ucd_desctype == UDESC_STRING) { + if (ctldesc->ucd_desctype == UDESC_STRING) { /* Try a few times for slow devices. */ for (i = 0; i < 3; i++) { - status = usbd_get_string(uaa->device, + status = usbd_get_string_desc(uaa->device, (UDESC_STRING << 8) + ctldesc->ucd_idx, - ctldesc->ucd_trans_buf, ctldesc->ucd_trans_buflen); - if (status != USBD_NORMAL_COMPLETION) + ctldesc->ucd_langid, ctldesc->ucd_trans_buf, + &actlen); + if (actlen > ctldesc->ucd_trans_buflen) + panic("small string buffer for UDESC_STRING"); + if (status == USBD_NORMAL_COMPLETION) break; usbd_delay_ms(uaa->device, 200); } } else - status = usbd_get_desc(uaa->device, ctldesc->ucd_desctype, + status = usbd_get_desc_ndis(uaa->device, ctldesc->ucd_desctype, ctldesc->ucd_idx, ctldesc->ucd_trans_buflen, - ctldesc->ucd_trans_buf); + ctldesc->ucd_trans_buf, &actlen); if (status != USBD_NORMAL_COMPLETION) { ctldesc->ucd_trans_buflen = 0; return usbd_usb2urb(status); } - ctldesc->ucd_trans_buflen = status; - ip->irp_iostat.isb_info = status; + ctldesc->ucd_trans_buflen = actlen; + ip->irp_iostat.isb_info = actlen; return (USBD_STATUS_SUCCESS); } +/* + * FIXME: at USB1, not USB2, framework, there's no a interface to get `actlen'. + * However, we need it!!! + */ +static usbd_status +usbd_get_desc_ndis(usbd_device_handle dev, int type, int index, int len, + void *desc, int *actlen) +{ + usb_device_request_t req; + + req.bmRequestType = UT_READ_DEVICE; + req.bRequest = UR_GET_DESCRIPTOR; + USETW2(req.wValue, type, index); + USETW(req.wIndex, 0); + USETW(req.wLength, len); + return usbd_do_request_flags_pipe(dev, dev->default_pipe, &req, desc, + 0, actlen, USBD_DEFAULT_TIMEOUT); +} + static int32_t usbd_func_selconf(ip) irp *ip; From owner-p4-projects@FreeBSD.ORG Wed Jul 16 11:00:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B6521065672; Wed, 16 Jul 2008 11:00:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2D791065681 for ; Wed, 16 Jul 2008 11:00:42 +0000 (UTC) (envelope-from zec@tel.fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D6EA18FC0C for ; Wed, 16 Jul 2008 11:00:42 +0000 (UTC) (envelope-from zec@tel.fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GB0g8A033724 for ; Wed, 16 Jul 2008 11:00:42 GMT (envelope-from zec@tel.fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GB0gC7033722 for perforce@freebsd.org; Wed, 16 Jul 2008 11:00:42 GMT (envelope-from zec@tel.fer.hr) Date: Wed, 16 Jul 2008 11:00:42 GMT Message-Id: <200807161100.m6GB0gC7033722@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@tel.fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 145316 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 11:00:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=145316 Change 145316 by zec@zec_tpx32 on 2008/07/16 11:00:14 Simplify the sysctl infrastructure for handling virtualized state. We deprecate struct sysctl_v_oid because it is now entirely identical to struct sysctl_oid. This in turn voids the need for several sysctl handlers to have different argument lists depending on whether the kernel was configured with or without options VIMAGE. That said, SYSCTL_HANDLER_V_ARGS arglist macro is also deprecated. Submitted by: James Gritton Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#11 edit .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#22 edit .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#35 edit .. //depot/projects/vimage/src/sys/netinet/ip_fw_pfil.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#25 edit .. //depot/projects/vimage/src/sys/sys/sysctl.h#19 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_sysctl.c#11 (text+ko) ==== @@ -849,7 +849,7 @@ #ifdef VIMAGE int -sysctl_handle_v_int(SYSCTL_HANDLER_V_ARGS) +sysctl_handle_v_int(SYSCTL_HANDLER_ARGS) { int tmpout, error = 0; @@ -1009,7 +1009,7 @@ #ifdef VIMAGE int -sysctl_handle_v_string(SYSCTL_HANDLER_V_ARGS) +sysctl_handle_v_string(SYSCTL_HANDLER_ARGS) { int error=0; char *tmparg; @@ -1088,7 +1088,7 @@ #ifdef VIMAGE int -sysctl_handle_v_opaque(SYSCTL_HANDLER_V_ARGS) +sysctl_handle_v_opaque(SYSCTL_HANDLER_ARGS) { int error, tries; u_int generation; @@ -1421,17 +1421,7 @@ if (error != 0) return (error); #endif -#ifndef VIMAGE error = oid->oid_handler(oid, arg1, arg2, req); -#else - if (oid->oid_v_subs) { - struct sysctl_v_oid *v_oid = (struct sysctl_v_oid *) oid; - error = v_oid->oid_handler(oid, arg1, arg2, - req, oid->oid_v_subs, - oid->oid_v_mod); - } else - error = oid->oid_handler(oid, arg1, arg2, req); -#endif return (error); } ==== //depot/projects/vimage/src/sys/netinet/in_pcb.c#22 (text+ko) ==== @@ -121,11 +121,7 @@ else if ((var) > (max)) { (var) = (max); } static int -#ifndef VIMAGE sysctl_net_ipport_check(SYSCTL_HANDLER_ARGS) -#else -sysctl_net_ipport_check(SYSCTL_HANDLER_V_ARGS) -#endif { #ifdef VIMAGE INIT_VNET_INET(curvnet); ==== //depot/projects/vimage/src/sys/netinet/ip_fw2.c#35 (text+ko) ==== @@ -157,11 +157,7 @@ static int autoinc_step; #endif -#ifdef VIMAGE -extern int ipfw_chg_hook(SYSCTL_HANDLER_V_ARGS); -#else extern int ipfw_chg_hook(SYSCTL_HANDLER_ARGS); -#endif #ifdef SYSCTL_NODE SYSCTL_NODE(_net_inet_ip, OID_AUTO, fw, CTLFLAG_RW, 0, "Firewall"); ==== //depot/projects/vimage/src/sys/netinet/ip_fw_pfil.c#9 (text+ko) ==== @@ -75,11 +75,7 @@ # endif #endif -#ifdef VIMAGE -int ipfw_chg_hook(SYSCTL_HANDLER_V_ARGS); -#else int ipfw_chg_hook(SYSCTL_HANDLER_ARGS); -#endif /* Dummynet hooks. */ ip_dn_ruledel_t *ip_dn_ruledel_ptr = NULL; @@ -493,11 +489,7 @@ #endif /* INET6 */ int -#ifdef VIMAGE -ipfw_chg_hook(SYSCTL_HANDLER_V_ARGS) -#else ipfw_chg_hook(SYSCTL_HANDLER_ARGS) -#endif { #ifdef VIMAGE INIT_VNET_IPFW(curvnet); ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#25 (text+ko) ==== @@ -450,11 +450,7 @@ /* net.inet6.ip6 */ static int -#ifdef VIMAGE -sysctl_ip6_temppltime(SYSCTL_HANDLER_V_ARGS) -#else sysctl_ip6_temppltime(SYSCTL_HANDLER_ARGS) -#endif { INIT_VNET_INET6(curvnet); #ifdef VIMAGE @@ -477,11 +473,7 @@ } static int -#ifdef VIMAGE -sysctl_ip6_tempvltime(SYSCTL_HANDLER_V_ARGS) -#else sysctl_ip6_tempvltime(SYSCTL_HANDLER_ARGS) -#endif { INIT_VNET_INET6(curvnet); #ifdef VIMAGE ==== //depot/projects/vimage/src/sys/sys/sysctl.h#19 (text+ko) ==== @@ -115,9 +115,6 @@ #define SYSCTL_HANDLER_ARGS struct sysctl_oid *oidp, void *arg1, int arg2, \ struct sysctl_req *req -#define SYSCTL_HANDLER_V_ARGS struct sysctl_oid *oidp, void *arg1, int arg2, \ - struct sysctl_req *req, int subs, int mod - /* definitions for sysctl_req 'lock' member */ #define REQ_UNLOCKED 0 /* not locked and not wired */ #define REQ_LOCKED 1 /* locked and not wired */ @@ -169,22 +166,6 @@ short oid_v_mod; }; -struct sysctl_v_oid { - struct sysctl_oid_list *oid_parent; - SLIST_ENTRY(sysctl_oid) oid_link; - int oid_number; - u_int oid_kind; - void *oid_arg1; - int oid_arg2; - const char *oid_name; - int (*oid_handler)(SYSCTL_HANDLER_V_ARGS); - const char *oid_fmt; - int oid_refcnt; - const char *oid_descr; - short oid_v_subs; - short oid_v_mod; -}; - #define SYSCTL_IN(r, p, l) (r->newfunc)(r, p, l) #define SYSCTL_OUT(r, p, l) (r->oldfunc)(r, p, l) @@ -196,9 +177,9 @@ int sysctl_handle_string(SYSCTL_HANDLER_ARGS); int sysctl_handle_opaque(SYSCTL_HANDLER_ARGS); -int sysctl_handle_v_int(SYSCTL_HANDLER_V_ARGS); -int sysctl_handle_v_string(SYSCTL_HANDLER_V_ARGS); -int sysctl_handle_v_opaque(SYSCTL_HANDLER_V_ARGS); +int sysctl_handle_v_int(SYSCTL_HANDLER_ARGS); +int sysctl_handle_v_string(SYSCTL_HANDLER_ARGS); +int sysctl_handle_v_opaque(SYSCTL_HANDLER_ARGS); /* * These functions are used to add/remove an oid from the mib. @@ -247,7 +228,7 @@ #ifdef VIMAGE #define SYSCTL_V_OID(subs, mod, parent, nbr, name, kind, a1, a2, \ handler, fmt, descr) \ - static struct sysctl_v_oid sysctl__##parent##_##name = { \ + static struct sysctl_oid sysctl__##parent##_##name = { \ &sysctl_##parent##_children, { 0 }, nbr, kind, \ (void *) offsetof(struct mod, _##a1), a2, #name, \ handler, fmt, 0, __DESCR(descr), subs, V_MOD_##mod }; \ @@ -391,17 +372,10 @@ SYSCTL_OID(parent, nbr, name, (access), \ ptr, arg, handler, fmt, descr) -#ifdef VIMAGE #define SYSCTL_V_PROC(subs, mod, parent, nbr, name, access, sym, arg, \ handler, fmt, descr) \ SYSCTL_V_OID(subs, mod, parent, nbr, name, (access), \ sym, arg, handler, fmt, descr) -#else -#define SYSCTL_V_PROC(subs, mod, parent, nbr, name, access, sym, arg, \ - handler, fmt, descr) \ - SYSCTL_OID(parent, nbr, name, (access), \ - &sym, arg, handler, fmt, descr) -#endif #define SYSCTL_ADD_PROC(ctx, parent, nbr, name, access, ptr, arg, handler, fmt, descr) \ sysctl_add_oid(ctx, parent, nbr, name, (access), \ @@ -420,9 +394,10 @@ #ifdef VIMAGE #define SYSCTL_RESOLVE_V_ARG1() do { \ char *cp; \ - switch (subs) { \ + switch (oidp->oid_v_subs) { \ case V_NET: \ - cp = (char *) TD_TO_VNET(curthread)->mod_data[mod]; \ + cp = (char *) \ + TD_TO_VNET(curthread)->mod_data[oidp->oid_v_mod]; \ break; \ case V_PROCG: \ cp = (char *) TD_TO_VPROCG(curthread); \ @@ -431,7 +406,7 @@ cp = (char *) TD_TO_VCPU(curthread); \ break; \ default: \ - panic("unsupported module id %d", subs); \ + panic("unsupported module id %d", oidp->oid_v_subs); \ } \ arg1 = cp + (size_t) arg1; \ } while (0) From owner-p4-projects@FreeBSD.ORG Wed Jul 16 11:50:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1975C1065680; Wed, 16 Jul 2008 11:50:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D13761065671 for ; Wed, 16 Jul 2008 11:50:33 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C674F8FC17 for ; Wed, 16 Jul 2008 11:50:33 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GBoXXA039025 for ; Wed, 16 Jul 2008 11:50:33 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GBoXPN039023 for perforce@freebsd.org; Wed, 16 Jul 2008 11:50:33 GMT (envelope-from weongyo@FreeBSD.org) Date: Wed, 16 Jul 2008 11:50:33 GMT Message-Id: <200807161150.m6GBoXPN039023@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 145322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 11:50:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=145322 Change 145322 by weongyo@weongyo_ws on 2008/07/16 11:50:10 restore code to handle UDESC_CONFIG type but we always get `actlen' of a USB transaction and set it. Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#10 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#10 (text+ko) ==== @@ -359,12 +359,43 @@ int actlen, i; struct usb_attach_arg *uaa = device_get_ivars(dev); struct usbd_urb_control_descriptor_request *ctldesc; + uint32_t len; union usbd_urb *urb; + usb_config_descriptor_t cd, *cdp; usbd_status status; urb = usbd_geturb(ip); ctldesc = &urb->uu_ctldesc; - if (ctldesc->ucd_desctype == UDESC_STRING) { + if (ctldesc->ucd_desctype == UDESC_CONFIG) { + /* Get the short config descriptor. */ + status = usbd_get_config_desc(uaa->device, ctldesc->ucd_idx, + &cd); + if (status != USBD_NORMAL_COMPLETION) { + ctldesc->ucd_trans_buflen = 0; + return usbd_usb2urb(status); + } + /* Get the full descriptor. Try a few times for slow devices. */ + len = MIN(ctldesc->ucd_trans_buflen, UGETW(cd.wTotalLength)); + for (i = 0; i < 3; i++) { + status = usbd_get_desc_ndis(uaa->device, + ctldesc->ucd_desctype, ctldesc->ucd_idx, + len, ctldesc->ucd_trans_buf, &actlen); + if (status == USBD_NORMAL_COMPLETION) + break; + usbd_delay_ms(uaa->device, 200); + } + if (status != USBD_NORMAL_COMPLETION) { + ctldesc->ucd_trans_buflen = 0; + return usbd_usb2urb(status); + } + + cdp = (usb_config_descriptor_t *)ctldesc->ucd_trans_buf; + if (cdp->bDescriptorType != UDESC_CONFIG) { + device_printf(dev, "bad desc %d\n", + cdp->bDescriptorType); + status = USBD_INVAL; + } + } else if (ctldesc->ucd_desctype == UDESC_STRING) { /* Try a few times for slow devices. */ for (i = 0; i < 3; i++) { status = usbd_get_string_desc(uaa->device, From owner-p4-projects@FreeBSD.ORG Wed Jul 16 12:09:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90E751065671; Wed, 16 Jul 2008 12:09:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 554F9106564A for ; Wed, 16 Jul 2008 12:09:53 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B4188FC0A for ; Wed, 16 Jul 2008 12:09:53 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GC9rMK041557 for ; Wed, 16 Jul 2008 12:09:53 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GC9ro4041555 for perforce@freebsd.org; Wed, 16 Jul 2008 12:09:53 GMT (envelope-from weongyo@FreeBSD.org) Date: Wed, 16 Jul 2008 12:09:53 GMT Message-Id: <200807161209.m6GC9ro4041555@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 145323 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 12:09:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=145323 Change 145323 by weongyo@weongyo_ws on 2008/07/16 12:09:23 need a thread lock before calling sched_prio(). If not, it will cause a panic. Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_ntoskrnl.c#5 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_ntoskrnl.c#5 (text+ko) ==== @@ -4311,12 +4311,14 @@ else old = LOW_REALTIME_PRIORITY; + thread_lock(td); if (pri == HIGH_PRIORITY) sched_prio(td, PRI_MIN_KERN); if (pri == LOW_REALTIME_PRIORITY) sched_prio(td, PRI_MIN_KERN + (PRI_MAX_KERN - PRI_MIN_KERN) / 2); if (pri == LOW_PRIORITY) sched_prio(td, PRI_MAX_KERN); + thread_unlock(td); return old; } From owner-p4-projects@FreeBSD.ORG Wed Jul 16 12:17:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE4321065673; Wed, 16 Jul 2008 12:17:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A26A21065670 for ; Wed, 16 Jul 2008 12:17:00 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9818C8FC0A for ; Wed, 16 Jul 2008 12:17:00 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GCH0FM042146 for ; Wed, 16 Jul 2008 12:17:00 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GCH0Ys042144 for perforce@freebsd.org; Wed, 16 Jul 2008 12:17:00 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 16 Jul 2008 12:17:00 GMT Message-Id: <200807161217.m6GCH0Ys042144@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145324 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 12:17:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=145324 Change 145324 by ed@ed_dull on 2008/07/16 12:16:47 IFC my commits, related to TTY's. Affected files ... .. //depot/projects/mpsafetty/bin/stty/print.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/mpsafetty/sys/sys/ioctl_compat.h#4 integrate .. //depot/projects/mpsafetty/sys/sys/ttycom.h#2 edit .. //depot/projects/mpsafetty/usr.sbin/pstat/pstat.c#2 edit Differences ... ==== //depot/projects/mpsafetty/bin/stty/print.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/stty/print.c,v 1.20 2005/05/26 06:57:57 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/stty/print.c,v 1.21 2008/07/16 11:20:04 ed Exp $"); #include ==== //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.231 2008/07/15 15:38:47 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.232 2008/07/16 10:55:50 rwatson Exp $"); #include "opt_ipfw.h" #include "opt_inet6.h" @@ -848,9 +848,9 @@ /* * Depending on whether or not the application has bound or connected - * the application, we may have to do varying levels of work. The - * optimal case is for a connected UDP socket, as a global lock isn't - * required. + * the socket, we may have to do varying levels of work. The optimal + * case is for a connected UDP socket, as a global lock isn't + * required at all. * * In order to decide which we need, we require stability of the * inpcb binding, which we ensure by acquiring a read lock on the ==== //depot/projects/mpsafetty/sys/sys/ioctl_compat.h#4 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)ioctl_compat.h 8.4 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/sys/ioctl_compat.h,v 1.11 2008/06/14 10:42:18 ed Exp $ + * $FreeBSD: src/sys/sys/ioctl_compat.h,v 1.12 2008/07/16 11:20:04 ed Exp $ */ #ifndef _SYS_IOCTL_COMPAT_H_ ==== //depot/projects/mpsafetty/sys/sys/ttycom.h#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)ttycom.h 8.1 (Berkeley) 3/28/94 - * $FreeBSD: src/sys/sys/ttycom.h,v 1.26 2008/04/15 08:33:32 davidxu Exp $ + * $FreeBSD: src/sys/sys/ttycom.h,v 1.27 2008/07/16 11:23:15 ed Exp $ */ #ifndef _SYS_TTYCOM_H_ ==== //depot/projects/mpsafetty/usr.sbin/pstat/pstat.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/pstat/pstat.c,v 1.103 2008/05/14 00:22:57 remko Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/pstat/pstat.c,v 1.104 2008/07/16 11:20:04 ed Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Wed Jul 16 12:31:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03013106566B; Wed, 16 Jul 2008 12:31:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BADD41065685 for ; Wed, 16 Jul 2008 12:31:15 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 049738FC1B for ; Wed, 16 Jul 2008 12:31:15 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GCVEaX043230 for ; Wed, 16 Jul 2008 12:31:14 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GCVE4J043228 for perforce@freebsd.org; Wed, 16 Jul 2008 12:31:14 GMT (envelope-from weongyo@FreeBSD.org) Date: Wed, 16 Jul 2008 12:31:14 GMT Message-Id: <200807161231.m6GCVE4J043228@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 145325 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 12:31:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=145325 Change 145325 by weongyo@weongyo_ws on 2008/07/16 12:30:16 before we call a USB request (or transfer), make sure that there is a sleepable lock normally it'd be Giant for USB1 framework. Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#11 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#11 (text+ko) ==== @@ -584,7 +584,9 @@ USETW(req.wValue, vcreq->uvc_value); USETW(req.wLength, vcreq->uvc_trans_buflen); + mtx_lock(&Giant); status = usbd_do_request(uaa->device, &req, vcreq->uvc_trans_buf); + mtx_unlock(&Giant); return usbd_usb2urb(status); } From owner-p4-projects@FreeBSD.ORG Wed Jul 16 12:39:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 11BCA106567F; Wed, 16 Jul 2008 12:39:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C86B2106567D for ; Wed, 16 Jul 2008 12:39:23 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BA9628FC24 for ; Wed, 16 Jul 2008 12:39:23 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GCdNw9043887 for ; Wed, 16 Jul 2008 12:39:23 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GCdNY3043885 for perforce@freebsd.org; Wed, 16 Jul 2008 12:39:23 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 16 Jul 2008 12:39:23 GMT Message-Id: <200807161239.m6GCdNY3043885@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145326 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 12:39:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=145326 Change 145326 by ed@ed_dull on 2008/07/16 12:38:48 Revert some of the changes to to keep it more in sync with the vendor source. Affected files ... .. //depot/projects/mpsafetty/sys/sys/termios.h#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/termios.h#2 (text+ko) ==== @@ -109,9 +109,6 @@ #ifndef _POSIX_SOURCE #define ONLCR 0x00000002 /* map NL to CR-NL (ala CRMOD) */ #define OXTABS 0x00000004 /* expand tabs to spaces */ -#ifndef _KERNEL -#define TAB3 OXTABS -#endif /* !_KERNEL */ #define ONOEOT 0x00000008 /* discard EOT's (^D) on output) */ #define OCRNL 0x00000010 /* map CR to NL on output */ #define ONOCR 0x00000020 /* no CR output at column 0 */ @@ -254,9 +251,6 @@ #define TCION 4 #include -#ifndef _POSIX_SOURCE -#include -#endif __BEGIN_DECLS speed_t cfgetispeed(const struct termios *); @@ -282,6 +276,16 @@ #endif /* !_KERNEL */ +#ifndef _POSIX_SOURCE + +/* + * Include tty ioctl's that aren't just for backwards compatibility + * with the old tty driver. These ioctl definitions were previously + * in . + */ +#include +#endif + /* * END OF PROTECTED INCLUDE. */ From owner-p4-projects@FreeBSD.ORG Wed Jul 16 13:00:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 606CE1065672; Wed, 16 Jul 2008 13:00:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2475A106566C for ; Wed, 16 Jul 2008 13:00:45 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 00F658FC15 for ; Wed, 16 Jul 2008 13:00:45 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GD0ijo054942 for ; Wed, 16 Jul 2008 13:00:44 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GD0iAn054940 for perforce@freebsd.org; Wed, 16 Jul 2008 13:00:44 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 16 Jul 2008 13:00:44 GMT Message-Id: <200807161300.m6GD0iAn054940@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 13:00:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=145328 Change 145328 by ed@ed_dull on 2008/07/16 13:00:10 IFC again, so I can generate working diffs again. Affected files ... .. //depot/projects/mpsafetty/sys/sys/termios.h#3 integrate Differences ... ==== //depot/projects/mpsafetty/sys/sys/termios.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)termios.h 8.3 (Berkeley) 3/28/94 - * $FreeBSD: src/sys/sys/termios.h,v 1.21 2008/04/18 02:02:33 davidxu Exp $ + * $FreeBSD: src/sys/sys/termios.h,v 1.22 2008/07/16 12:36:39 ed Exp $ */ #ifndef _SYS_TERMIOS_H_ From owner-p4-projects@FreeBSD.ORG Wed Jul 16 16:35:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8AF541065679; Wed, 16 Jul 2008 16:35:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4EDF8106564A for ; Wed, 16 Jul 2008 16:35:21 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 20E408FC1B for ; Wed, 16 Jul 2008 16:35:21 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GGZLCw076603 for ; Wed, 16 Jul 2008 16:35:21 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GGZLUs076601 for perforce@freebsd.org; Wed, 16 Jul 2008 16:35:21 GMT (envelope-from sam@freebsd.org) Date: Wed, 16 Jul 2008 16:35:21 GMT Message-Id: <200807161635.m6GGZLUs076601@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 145334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 16:35:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=145334 Change 145334 by sam@sam_ebb on 2008/07/16 16:34:43 don't silently exit if the regdomain.xml file is missing Affected files ... .. //depot/projects/vap/sbin/ifconfig/ifieee80211.c#22 edit Differences ... ==== //depot/projects/vap/sbin/ifconfig/ifieee80211.c#22 (text+ko) ==== @@ -185,7 +185,7 @@ if (rdp == NULL) { rdp = lib80211_alloc_regdata(); if (rdp == NULL) - exit(-1); + errx(-1, "missing or corrupted regdomain database"); } return rdp; } From owner-p4-projects@FreeBSD.ORG Wed Jul 16 16:48:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03BB8106569B; Wed, 16 Jul 2008 16:48:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC602106568D for ; Wed, 16 Jul 2008 16:48:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A77F98FC1E for ; Wed, 16 Jul 2008 16:48:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GGmYJi086865 for ; Wed, 16 Jul 2008 16:48:34 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GGmYq7086863 for perforce@freebsd.org; Wed, 16 Jul 2008 16:48:34 GMT (envelope-from sam@freebsd.org) Date: Wed, 16 Jul 2008 16:48:34 GMT Message-Id: <200807161648.m6GGmYq7086863@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 145335 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 16:48:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=145335 Change 145335 by sam@sam_ebb on 2008/07/16 16:47:35 move gre-related stuff to it's own file Affected files ... .. //depot/projects/vap/sbin/ifconfig/Makefile#9 edit .. //depot/projects/vap/sbin/ifconfig/ifconfig.c#9 edit .. //depot/projects/vap/sbin/ifconfig/ifgre.c#1 add Differences ... ==== //depot/projects/vap/sbin/ifconfig/Makefile#9 (text+ko) ==== @@ -23,6 +23,7 @@ SRCS+= ifmac.c # MAC support SRCS+= ifmedia.c # SIOC[GS]IFMEDIA support SRCS+= ifvlan.c # SIOC[GS]ETVLAN support +SRCS+= ifgre.c # GRE keys etc SRCS+= ifieee80211.c regdomain.c # SIOC[GS]IEEE80211 support DPADD+= ${LIBBSDXML} ${LIBSBUF} ==== //depot/projects/vap/sbin/ifconfig/ifconfig.c#9 (text+ko) ==== @@ -51,7 +51,6 @@ #include #include -#include #include #include #include @@ -750,18 +749,6 @@ } static void -setifgrekey(const char *val, int dummy __unused, int s, - const struct afswtch *afp) -{ - uint32_t grekey = atol(val); - - strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name)); - ifr.ifr_data = (caddr_t)&grekey; - if (ioctl(s, GRESKEY, (caddr_t)&ifr) < 0) - warn("ioctl (set grekey)"); -} - -static void setifname(const char *val, int dummy __unused, int s, const struct afswtch *afp) { @@ -876,12 +863,6 @@ if (ioctl(s, SIOCGIFSTATUS, &ifs) == 0) printf("%s", ifs.ascii); - int grekey = 0; - ifr.ifr_data = (caddr_t)&grekey; - if (ioctl(s, GREGKEY, &ifr) == 0) - if (grekey != 0) - printf("\tgrekey: %d\n", grekey); - close(s); return; } @@ -1053,7 +1034,6 @@ DEF_CMD("noicmp", IFF_LINK1, setifflags), DEF_CMD_ARG("mtu", setifmtu), DEF_CMD_ARG("name", setifname), - DEF_CMD_ARG("grekey", setifgrekey), }; static __constructor void From owner-p4-projects@FreeBSD.ORG Wed Jul 16 16:50:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DDDA1065674; Wed, 16 Jul 2008 16:50:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FEA71065681 for ; Wed, 16 Jul 2008 16:50:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D4F3E8FC2C for ; Wed, 16 Jul 2008 16:50:36 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GGoa6X087059 for ; Wed, 16 Jul 2008 16:50:36 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GGoaQx087057 for perforce@freebsd.org; Wed, 16 Jul 2008 16:50:36 GMT (envelope-from sam@freebsd.org) Date: Wed, 16 Jul 2008 16:50:36 GMT Message-Id: <200807161650.m6GGoaQx087057@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 145336 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 16:50:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=145336 Change 145336 by sam@sam_ebb on 2008/07/16 16:49:48 private hack to allow compilation on releng7 (not to be committed) Affected files ... .. //depot/projects/vap/sbin/ifconfig/ifmedia.c#7 edit Differences ... ==== //depot/projects/vap/sbin/ifconfig/ifmedia.c#7 (text+ko) ==== @@ -106,6 +106,9 @@ ((x) & (IFM_IEEE80211_ADHOC | IFM_IEEE80211_HOSTAP | \ IFM_IEEE80211_IBSS | IFM_IEEE80211_WDS | IFM_IEEE80211_MONITOR)) #define IFM_IEEE80211_STA 0 +#ifndef IFM_IEEE80211_WDS +#define IFM_IEEE80211_WDS 0 +#endif static void media_status(int s) From owner-p4-projects@FreeBSD.ORG Wed Jul 16 16:50:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 363C61065679; Wed, 16 Jul 2008 16:50:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19E7B106569F for ; Wed, 16 Jul 2008 16:50:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0497B8FC2D for ; Wed, 16 Jul 2008 16:50:37 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GGoaEC087064 for ; Wed, 16 Jul 2008 16:50:36 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GGoau5087062 for perforce@freebsd.org; Wed, 16 Jul 2008 16:50:36 GMT (envelope-from sam@freebsd.org) Date: Wed, 16 Jul 2008 16:50:36 GMT Message-Id: <200807161650.m6GGoau5087062@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 145337 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 16:50:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=145337 Change 145337 by sam@sam_ebb on 2008/07/16 16:50:25 change list wme to only print the channel parameters; to get channel+bss use -v Affected files ... .. //depot/projects/vap/sbin/ifconfig/ifieee80211.c#23 edit Differences ... ==== //depot/projects/vap/sbin/ifconfig/ifieee80211.c#23 (text+ko) ==== @@ -3114,48 +3114,63 @@ } static void -list_wme(int s) +list_wme_aci(int s, const char *tag, int ac) { - static const char *acnames[] = { "AC_BE", "AC_BK", "AC_VI", "AC_VO" }; - int ac, val; + int val; - for (ac = WME_AC_BE; ac <= WME_AC_VO; ac++) { -again: - if (ac & IEEE80211_WMEPARAM_BSS) - printf("\t%s", " "); - else - printf("\t%s", acnames[ac]); + printf("\t%s", tag); - /* show WME BSS parameters */ - if (get80211wme(s, IEEE80211_IOC_WME_CWMIN, ac, &val) != -1) - printf(" cwmin %2u", val); - if (get80211wme(s, IEEE80211_IOC_WME_CWMAX, ac, &val) != -1) - printf(" cwmax %2u", val); - if (get80211wme(s, IEEE80211_IOC_WME_AIFS, ac, &val) != -1) - printf(" aifs %2u", val); - if (get80211wme(s, IEEE80211_IOC_WME_TXOPLIMIT, ac, &val) != -1) - printf(" txopLimit %3u", val); - if (get80211wme(s, IEEE80211_IOC_WME_ACM, ac, &val) != -1) { - if (val) - printf(" acm"); + /* show WME BSS parameters */ + if (get80211wme(s, IEEE80211_IOC_WME_CWMIN, ac, &val) != -1) + printf(" cwmin %2u", val); + if (get80211wme(s, IEEE80211_IOC_WME_CWMAX, ac, &val) != -1) + printf(" cwmax %2u", val); + if (get80211wme(s, IEEE80211_IOC_WME_AIFS, ac, &val) != -1) + printf(" aifs %2u", val); + if (get80211wme(s, IEEE80211_IOC_WME_TXOPLIMIT, ac, &val) != -1) + printf(" txopLimit %3u", val); + if (get80211wme(s, IEEE80211_IOC_WME_ACM, ac, &val) != -1) { + if (val) + printf(" acm"); + else if (verbose) + printf(" -acm"); + } + /* !BSS only */ + if ((ac & IEEE80211_WMEPARAM_BSS) == 0) { + if (get80211wme(s, IEEE80211_IOC_WME_ACKPOLICY, ac, &val) != -1) { + if (!val) + printf(" -ack"); else if (verbose) - printf(" -acm"); + printf(" ack"); } - /* !BSS only */ - if ((ac & IEEE80211_WMEPARAM_BSS) == 0) { - if (get80211wme(s, IEEE80211_IOC_WME_ACKPOLICY, ac, &val) != -1) { - if (!val) - printf(" -ack"); - else if (verbose) - printf(" ack"); - } + } + printf("\n"); +} + +static void +list_wme(int s) +{ + static const char *acnames[] = { "AC_BE", "AC_BK", "AC_VI", "AC_VO" }; + int ac; + + if (verbose) { + /* display both BSS and local settings */ + for (ac = WME_AC_BE; ac <= WME_AC_VO; ac++) { + again: + if (ac & IEEE80211_WMEPARAM_BSS) + list_wme_aci(s, " ", ac); + else + list_wme_aci(s, acnames[ac], ac); + if ((ac & IEEE80211_WMEPARAM_BSS) == 0) { + ac |= IEEE80211_WMEPARAM_BSS; + goto again; + } else + ac &= ~IEEE80211_WMEPARAM_BSS; } - printf("\n"); - if ((ac & IEEE80211_WMEPARAM_BSS) == 0) { - ac |= IEEE80211_WMEPARAM_BSS; - goto again; - } else - ac &= ~IEEE80211_WMEPARAM_BSS; + } else { + /* display only channel settings */ + for (ac = WME_AC_BE; ac <= WME_AC_VO; ac++) + list_wme_aci(s, acnames[ac], ac); } } From owner-p4-projects@FreeBSD.ORG Wed Jul 16 17:45:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DFEC1065677; Wed, 16 Jul 2008 17:45:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5F0D1065674 for ; Wed, 16 Jul 2008 17:45:32 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 924ED8FC17 for ; Wed, 16 Jul 2008 17:45:32 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GHjW7Q092799 for ; Wed, 16 Jul 2008 17:45:32 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GHjWjh092797 for perforce@freebsd.org; Wed, 16 Jul 2008 17:45:32 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 16 Jul 2008 17:45:32 GMT Message-Id: <200807161745.m6GHjWjh092797@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 145339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 17:45:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=145339 Change 145339 by gonzo@gonzo_jeeves on 2008/07/16 17:44:56 cpu_stopprofclock belongs to tick.c (where it's defined too), so drop extra-implementation of this function from machdep.c Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#41 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#41 (text+ko) ==== @@ -560,9 +560,3 @@ return (0); } - -void -cpu_stopprofclock(void) -{ - -} From owner-p4-projects@FreeBSD.ORG Wed Jul 16 19:01:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F49D1065688; Wed, 16 Jul 2008 19:01:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 433161065686 for ; Wed, 16 Jul 2008 19:01:49 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 22F268FC1F for ; Wed, 16 Jul 2008 19:01:49 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GJ1nfP000269 for ; Wed, 16 Jul 2008 19:01:49 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GJ1nsF000267 for perforce@freebsd.org; Wed, 16 Jul 2008 19:01:49 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 16 Jul 2008 19:01:49 GMT Message-Id: <200807161901.m6GJ1nsF000267@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 145340 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 19:01:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=145340 Change 145340 by gonzo@gonzo_jeeves on 2008/07/16 19:01:41 - pass one more argument to intr_event_create - use intr_event_handle to handle interrupts instead of custom implementation. Affected files ... .. //depot/projects/mips2/src/sys/mips/adm5120/obio.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/adm5120/obio.c#3 (text+ko) ==== @@ -320,7 +320,7 @@ event = sc->sc_eventstab[irq]; if (event == NULL) { - error = intr_event_create(&event, (void *)irq, 0, + error = intr_event_create(&event, (void *)irq, 0, irq, (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq, NULL, NULL, "obio intr%d:", irq); @@ -379,9 +379,8 @@ { struct obio_softc *sc = arg; struct intr_event *event; - struct intr_handler *ih; uint32_t irqstat; - int irq, thread = 0; + int irq; irqstat = REG_READ(ICU_FIQ_STATUS_REG); irqstat |= REG_READ(ICU_STATUS_REG); @@ -390,20 +389,12 @@ while (irqstat != 0) { if ((irqstat & 1) == 1) { event = sc->sc_eventstab[irq]; - if (event && !TAILQ_EMPTY(&event->ie_handlers)) { - /* Execute fast handlers. */ - TAILQ_FOREACH(ih, &event->ie_handlers, - ih_next) { - if (ih->ih_filter == NULL) - thread = 1; - else - ih->ih_filter(ih->ih_argument); - } - } + if (!event || TAILQ_EMPTY(&event->ie_handlers)) + continue; - /* Schedule thread if needed. */ - if (thread) - intr_event_schedule_thread(event); + /* TODO: pass frame as an argument*/ + /* TODO: log stray interrupt */ + intr_event_handle(event, NULL); } irq++; From owner-p4-projects@FreeBSD.ORG Wed Jul 16 19:23:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A2B0106567C; Wed, 16 Jul 2008 19:23:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C12FF1065679 for ; Wed, 16 Jul 2008 19:23:10 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A4E4D8FC14 for ; Wed, 16 Jul 2008 19:23:10 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GJNAL8003057 for ; Wed, 16 Jul 2008 19:23:10 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GJNAw6003055 for perforce@freebsd.org; Wed, 16 Jul 2008 19:23:10 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 16 Jul 2008 19:23:10 GMT Message-Id: <200807161923.m6GJNAw6003055@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 145341 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 19:23:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=145341 Change 145341 by gonzo@gonzo_jeeves on 2008/07/16 19:22:17 - pass one more argument to intr_event_create - use intr_event_handle to handle interrupts Affected files ... .. //depot/projects/mips2/src/sys/mips/idt/obio.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/idt/obio.c#3 (text+ko) ==== @@ -273,7 +273,7 @@ event = sc->sc_eventstab[irq]; if (event == NULL) { - error = intr_event_create(&event, (void *)irq, 0, + error = intr_event_create(&event, (void *)irq, 0, irq, (mask_fn)obio_mask_irq, (mask_fn)obio_unmask_irq, NULL, NULL, "obio intr%d:", irq); @@ -328,9 +328,8 @@ { struct obio_softc *sc = arg; struct intr_event *event; - struct intr_handler *ih; uint32_t irqstat, ipend, imask, xpend; - int irq, thread, group, i, ret; + int irq, thread, group, i; irqstat = 0; irq = 0; @@ -350,47 +349,16 @@ irq = IP_IRQ(group, i - 1); event = sc->sc_eventstab[irq]; thread = 0; -#ifndef INTR_FILTER - obio_mask_irq(irq); -#endif if (!event || TAILQ_EMPTY(&event->ie_handlers)) { -#ifdef INTR_FILTER - obio_unmask_irq(irq); -#endif + /* TODO: Log stray IRQs */ continue; } -#ifdef INTR_FILTER /* TODO: frame instead of NULL? */ intr_event_handle(event, NULL); /* XXX: Log stray IRQs */ -#else - /* Execute fast handlers. */ - TAILQ_FOREACH(ih, &event->ie_handlers, - ih_next) { - if (ih->ih_filter == NULL) - thread = 1; - else - ret = ih->ih_filter(ih->ih_argument); - /* - * Wrapper handler special case: see - * intr_execute_handlers() in - * i386/intr_machdep.c - */ - if (!thread) { - if (ret == FILTER_SCHEDULE_THREAD) - thread = 1; - } - } - - /* Schedule thread if needed. */ - if (thread) - intr_event_schedule_thread(event); - else - obio_unmask_irq(irq); } } -#endif #if 0 ipend = ICU_REG_READ(ICU_IPEND2); printf("ipend2 = %08x!\n", ipend); From owner-p4-projects@FreeBSD.ORG Wed Jul 16 21:06:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13CD41065674; Wed, 16 Jul 2008 21:06:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB03B106566B for ; Wed, 16 Jul 2008 21:06:54 +0000 (UTC) (envelope-from bilouro@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B808D8FC17 for ; Wed, 16 Jul 2008 21:06:54 +0000 (UTC) (envelope-from bilouro@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GL6sVA023205 for ; Wed, 16 Jul 2008 21:06:54 GMT (envelope-from bilouro@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GL6swd023203 for perforce@freebsd.org; Wed, 16 Jul 2008 21:06:54 GMT (envelope-from bilouro@FreeBSD.org) Date: Wed, 16 Jul 2008 21:06:54 GMT Message-Id: <200807162106.m6GL6swd023203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bilouro@FreeBSD.org using -f From: Victor Hugo Bilouro To: Perforce Change Reviews Cc: Subject: PERFORCE change 145343 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 21:06:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=145343 Change 145343 by bilouro@bilouro_tcptest on 2008/07/16 21:06:09 Added three new methods to act as fasteners (1)threewayhandshakenoopt -> this make 3way (2)closeconnection -> this make active close (3)passivecloseconnection -> this make passive close Affected files ... .. //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/tcptest.py#2 edit Differences ... ==== //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/tcptest.py#2 (text+ko) ==== @@ -248,6 +248,84 @@ return ~total & 0xffff + +def threewayhandshakenoopt(self, tcb, from_, to): + + # + #--->Sending SYN + (ipsyn, tcpsyn) = createsyn(self, tcb, from_, to) + createwritepacket(self, tcb, ipsyn, tcpsyn, from_, to) + + # + #--->Receivinig SYN + ACK + (ipsynack, tcpsynack) = receive(self, tcb, from_, to) + + #Some blackmagic to use assertSequenceAcknowledgmentOK at SYN + tcb.tcpsequence[ to ] = tcpsynack.sequence + assertSequenceAcknowledgmentOK(self, tcb, tcpsynack, from_, to) + assertSynPresent(self, tcpsynack) + tcb.tcpsequence[ to ] = tcpsynack.sequence + 1 + + # + #-->Sending ACK + (ipack, tcpack) = createip(self, tcb, from_, to) + createwritepacket(self, tcb, ipack, tcpack, from_, to) + + +def closeconnection(self, tcb, from_, to): + + # + #--->Sending FIN + (ipfin, tcpfin) = createfin(self, tcb, from_, to) + createwritepacket(self, tcb, ipfin, tcpfin, from_, to) + + # + #--->Receiving ACK from FIN sent + (ipfinack, tcpfinack) = receive(self, tcb, from_, to) + assertSequenceAcknowledgmentOK(self, tcb, tcpfinack, from_, to) + + # + #--->Receiving FIN + #test if FIN was sent in the same segment + if (tcpfinack.fin == None or tcpfinack.fin == 0): + (ipfinack, tcpfinack) = receive(self, tcb, from_, to) + assertSequenceAcknowledgmentOK(self, tcb, tcpfinack, from_, to) + + assertFin(self, tcpfinack) + tcb.tcpsequence[ to ] += 1 + + # + #--->Sending ACK + (ipackfin, tcpackfin) = createip(self, tcb, from_, to) + createwritepacket(self, tcb, ipackfin, tcpackfin, from_, to) + + + +def passivecloseconnection(self, tcb, from_, to): + + # + #--->Receiving FIN + (ipfinack, tcpfinack) = receive(self, tcb, from_, to) + assertSequenceAcknowledgmentOK(self, tcb, tcpfinack, from_, to) + assertFin(self, tcpfinack) + tcb.tcpsequence[ to ] += 1 + + # + #--->Sending ACK + (ipackfin, tcpackfin) = createip(self, tcb, from_, to) + createwritepacket(self, tcb, ipackfin, tcpackfin, from_, to) + + # + #--->Sending FIN + (ipfin, tcpfin) = createfin(self, tcb, from_, to) + createwritepacket(self, tcb, ipfin, tcpfin, from_, to) + + # + #--->Receiving ACK from FIN sent + (ipfinack, tcpfinack) = receive(self, tcb, from_, to) + assertSequenceAcknowledgmentOK(self, tcb, tcpfinack, from_, to) + + class tcb: def __init__(self): self.ip = { } From owner-p4-projects@FreeBSD.ORG Wed Jul 16 21:08:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EAD11065672; Wed, 16 Jul 2008 21:08:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 530221065670 for ; Wed, 16 Jul 2008 21:08:57 +0000 (UTC) (envelope-from bilouro@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 264318FC12 for ; Wed, 16 Jul 2008 21:08:57 +0000 (UTC) (envelope-from bilouro@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GL8uaq023334 for ; Wed, 16 Jul 2008 21:08:56 GMT (envelope-from bilouro@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GL8ukk023332 for perforce@freebsd.org; Wed, 16 Jul 2008 21:08:56 GMT (envelope-from bilouro@FreeBSD.org) Date: Wed, 16 Jul 2008 21:08:56 GMT Message-Id: <200807162108.m6GL8ukk023332@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bilouro@FreeBSD.org using -f From: Victor Hugo Bilouro To: Perforce Change Reviews Cc: Subject: PERFORCE change 145344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 21:08:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=145344 Change 145344 by bilouro@bilouro_tcptest on 2008/07/16 21:08:10 RFC 793 - Section 3.4 Establishing a Connection - Reset Generation 1) Sends a segment to a closed state conn and check if the answer is conformant with protocol specification. Affected files ... .. //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/cresetfromclosedstate.py#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jul 16 21:44:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 524041065675; Wed, 16 Jul 2008 21:44:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15C971065676 for ; Wed, 16 Jul 2008 21:44:33 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 023CA8FC24 for ; Wed, 16 Jul 2008 21:44:33 +0000 (UTC) (envelope-from konrad@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GLiW9B026377 for ; Wed, 16 Jul 2008 21:44:32 GMT (envelope-from konrad@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GLiWIh026375 for perforce@freebsd.org; Wed, 16 Jul 2008 21:44:32 GMT (envelope-from konrad@FreeBSD.org) Date: Wed, 16 Jul 2008 21:44:32 GMT Message-Id: <200807162144.m6GLiWIh026375@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to konrad@FreeBSD.org using -f From: Konrad Jankowski To: Perforce Change Reviews Cc: Subject: PERFORCE change 145346 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 21:44:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=145346 Change 145346 by konrad@vspredator on 2008/07/16 21:44:09 Support for specifing charmap on commandline added. It is a big win when generating data for locales in UTF-8, because we will be able to parse the charmap just once for all of them (when support for this is added). Affected files ... .. //depot/projects/soc2008/konrad_collation/colldef.apple/collate.h#5 edit .. //depot/projects/soc2008/konrad_collation/colldef.apple/common.h#3 edit .. //depot/projects/soc2008/konrad_collation/colldef.apple/parse.y#3 edit .. //depot/projects/soc2008/konrad_collation/colldef.apple/scan.l#5 edit .. //depot/projects/soc2008/konrad_collation/scripts/localedef.sh#2 edit Differences ... ==== //depot/projects/soc2008/konrad_collation/colldef.apple/collate.h#5 (text+ko) ==== @@ -45,6 +45,7 @@ #define COLLATE_VERSION1_1 "1.1\n" #define COLLATE_VERSION1_1A "1.1A\n" #define COLLATE_VERSION1_2 "1.2\n" +#define COLLATE_VERSION1_3 "1.3\n" /* see discussion in string/FreeBSD/strxfrm for this value */ #define COLLATE_MAX_PRIORITY ((1 << 24) - 1) ==== //depot/projects/soc2008/konrad_collation/colldef.apple/common.h#3 (text+ko) ==== @@ -29,6 +29,7 @@ }; extern int line_no; +extern int charmap_cmdline; struct symbol *getsymbol(const wchar_t *, int); extern char *showwcs(const wchar_t *, int); ==== //depot/projects/soc2008/konrad_collation/colldef.apple/parse.y#3 (text+ko) ==== @@ -131,9 +131,10 @@ %token ELEM %token CHAR %token ORDER_DIRECTIVE -%token EXPAND +%token EXPAND CHARMAP %% -collate : datafile { +collate : CHARMAP { printf("parsing charmap\n"); } charmap_list + | datafile { FILE *fp; int localedef = (stringdb != NULL); int z; @@ -304,7 +305,7 @@ err(EX_UNAVAILABLE, "can't open destination file %s", out_file); - strcpy(__collate_version, COLLATE_VERSION1_1A); + strcpy(__collate_version, COLLATE_VERSION1_3); if (fwrite(__collate_version, sizeof(__collate_version), 1, fp) != 1) err(EX_IOERR, "IO error writting collate version to destination file %s", @@ -436,6 +437,9 @@ | collating_element | collating_symbol ; +charmap_list : charmap '\n' + | charmap_list charmap '\n' +; collating_element : COLLATING_ELEMENT ELEM FROM STRING { int len; struct symbol *s; @@ -832,6 +836,10 @@ charmap : DEFN CHAR { int len = wcslen($1); struct symbol *s; + +#if 0 + printf("charmap\n"); +#endif if (len > CHARMAP_SYMBOL_LEN) yyerror("Charmap symbol name '%s' is too long", showwcs($1, CHARMAP_SYMBOL_LEN)); s = getsymbol($1, NOTEXISTS); @@ -993,10 +1001,12 @@ for (ch = 0; ch <= UCHAR_MAX; ch++) for(z = 0; z < COLL_WEIGHTS_MAX; z++) __collate_char_pri_table[ch].pri[z] = PRI_UNDEFINED; + if (setlocale(LC_ALL, "en_US.UTF-8") == NULL) + errx(1, "setlocale() failed"); #ifdef COLLATE_DEBUG - while((ch = getopt(ac, av, ":do:I:")) != -1) { + while((ch = getopt(ac, av, ":do:I:m:")) != -1) { #else - while((ch = getopt(ac, av, ":o:I:")) != -1) { + while((ch = getopt(ac, av, ":o:I:m:")) != -1) { #endif switch (ch) { @@ -1013,6 +1023,14 @@ strlcpy(map_name, optarg, sizeof(map_name)); break; + case 'm': + charmap_cmdline = 1; + if ((yyin = fopen(optarg, "r")) == NULL) + err(EX_UNAVAILABLE, "can't open charmap file %s", optarg); + yyparse(); + printf("charmap decoding finished\n"); + break; + default: usage(); } @@ -1023,7 +1041,8 @@ if ((yyin = fopen(*av, "r")) == NULL) err(EX_UNAVAILABLE, "can't open source file %s", *av); } - setlocale(LC_ALL, "en_US.UTF-8"); + charmap_cmdline = 0; + line_no = 1; yyparse(); return 0; } ==== //depot/projects/soc2008/konrad_collation/colldef.apple/scan.l#5 (text+ko) ==== @@ -45,6 +45,7 @@ void yyerror(char *, ...); int line_no = 1, save_no, fromsubs; +int charmap_cmdline; wchar_t buf0[BUFSIZE], *ptr; wchar_t *buf = buf0; wchar_t bufstr[BUFSIZE], *ptrsave; @@ -112,7 +113,17 @@ return '\n'; } \< { ptr = buf; BEGIN(elem); } -\< { ptr = buf; fromsubs = 0; BEGIN(s_name); } +\< { + ptr = buf; + fromsubs = 0; + if (charmap_cmdline) { + ptr = buf; + *ptr++ = '<'; + BEGIN(defn); + return CHARMAP; + } else + BEGIN(s_name); +} <*>^#.*\n line_no++; ^\n line_no++; \\\n line_no++; @@ -130,7 +141,7 @@ } \n { line_no++; - if (map_fp != NULL) { + if (map_fp != NULL || charmap_cmdline) { ptr = buf; BEGIN(defn); } @@ -191,7 +202,7 @@ errx(EX_UNAVAILABLE, "map expected near line %u of %s", line_no, map_name); *ptr = 0; - if (localedefmode && *buf == '<' && ptr[-1] == '>') { + if ((localedefmode || charmap_cmdline) && *buf == '<' && ptr[-1] == '>') { if (ptr == buf + 2) errx(EX_UNAVAILABLE, "map expected near line %u of %s", line_no, map_name); @@ -332,7 +343,10 @@ \n { const char *s = (map_fp != NULL) ? map_name : "input"; - errx(EX_UNAVAILABLE, "unterminated map/name/string near line %u of %s", line_no, s); + if (charmap_cmdline) + s = optarg; + errx(EX_UNAVAILABLE, "unterminated map/name/string near line %u of %s (ptr-buf=%d)", + line_no, s, ptr - buf); } <> { const char *s = (map_fp != NULL) ? map_name : "input"; @@ -408,8 +422,10 @@ BEGIN(ldef); else BEGIN(INITIAL); - } else + } else { + BEGIN(INITIAL); yyterminate(); + } } %% #ifdef FLEX_DEBUG ==== //depot/projects/soc2008/konrad_collation/scripts/localedef.sh#2 (text+ko) ==== @@ -21,8 +21,8 @@ # Basically, just cut out the collation data. sed -n -e "$LINE1,${LINE2}p" $SRC | tr -d '\r$' | sed -e 's/^*/#/g' > $OUTFILE - #printf "1a\ncharmap /usr/home/versus/colldef.apple/data2/UTF-8.cm.new\n.\nwq\n" | ed -s $OUTFILE +# insert second line with charmap specification printf "1a\ncharmap ../posix/UTF-8.cm\n.\nwq\n" | ed -s $OUTFILE # Optional white space compression. Not needed for these colldef version. From owner-p4-projects@FreeBSD.ORG Wed Jul 16 22:42:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D497D106568F; Wed, 16 Jul 2008 22:42:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F7121065689 for ; Wed, 16 Jul 2008 22:42:36 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6AD3F8FC26 for ; Wed, 16 Jul 2008 22:42:36 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6GMgaXg032056 for ; Wed, 16 Jul 2008 22:42:36 GMT (envelope-from diego@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6GMga5x032054 for perforce@freebsd.org; Wed, 16 Jul 2008 22:42:36 GMT (envelope-from diego@FreeBSD.org) Date: Wed, 16 Jul 2008 22:42:36 GMT Message-Id: <200807162242.m6GMga5x032054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to diego@FreeBSD.org using -f From: Diego Giagio To: Perforce Change Reviews Cc: Subject: PERFORCE change 145348 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 16 Jul 2008 22:42:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=145348 Change 145348 by diego@diego_black on 2008/07/16 22:42:24 Finish audit support for pf admin events. Affected files ... .. //depot/projects/soc2008/diego-audit/src/sys/contrib/pf/net/pf_ioctl.c#7 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#10 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#8 edit Differences ... ==== //depot/projects/soc2008/diego-audit/src/sys/contrib/pf/net/pf_ioctl.c#7 (text+ko) ==== @@ -2933,6 +2933,8 @@ error = pfr_add_addrs(&io->pfrio_table, io->pfrio_buffer, io->pfrio_size, &io->pfrio_nadd, io->pfrio_flags | PFR_FLAG_USERIOCTL); + AUDIT_CALL(audit_pf_addtable(io->pfrio_table.pfrt_anchor, + io->pfrio_table.pfrt_name, io->pfrio_nadd, error)); break; } @@ -2946,6 +2948,8 @@ error = pfr_del_addrs(&io->pfrio_table, io->pfrio_buffer, io->pfrio_size, &io->pfrio_ndel, io->pfrio_flags | PFR_FLAG_USERIOCTL); + AUDIT_CALL(audit_pf_deltable(io->pfrio_table.pfrt_anchor, + io->pfrio_table.pfrt_name, io->pfrio_ndel, error)); break; } @@ -2960,6 +2964,12 @@ io->pfrio_size, &io->pfrio_size2, &io->pfrio_nadd, &io->pfrio_ndel, &io->pfrio_nchange, io->pfrio_flags | PFR_FLAG_USERIOCTL, 0); + AUDIT_CALL(audit_pf_deltable(io->pfrio_table.pfrt_anchor, + io->pfrio_table.pfrt_name, io->pfrio_ndel + + io->pfrio_nchange, error)); + AUDIT_CALL(audit_pf_addtable(io->pfrio_table.pfrt_anchor, + io->pfrio_table.pfrt_name, io->pfrio_nadd + + io->pfrio_nchange, error)); break; } ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#10 (text) ==== @@ -140,6 +140,8 @@ void audit_pf_addrule(char *anchor, int nrules, int error); void audit_pf_delrule(char *anchor, int error); void audit_pf_flush(char *anchor, int nrules, int error); +void audit_pf_addtable(char *anchor, char *table, int nadd, int error); +void audit_pf_deltable(char *anchor, char *table, int ndel, int error); /* * The remaining kernel functions are conditionally compiled in as they are ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#8 (text+ko) ==== @@ -274,3 +274,49 @@ audit_commit(ar, error, 0); } +static void +pf_table_to_text(char *anchor, char *table, int nentries, struct sbuf *sb) +{ + sbuf_printf(sb, "pf: "); + if (anchor != NULL) + sbuf_printf(sb, "anchor=%s, ", anchor); + if (table != NULL) + sbuf_printf(sb, "table=%s, ", table); + sbuf_printf(sb, "nentries=%u", nentries); + sbuf_finish(sb); +} + +void +audit_pf_addtable(char *anchor, char *table, int nadd, int error) +{ + struct kaudit_record *ar; + struct sbuf sb; + + ar = audit_begin(AUE_PFIL_POLICY_ADDTABLE, curthread); + if (ar == NULL) + return; + + sbuf_new(&sb, NULL, 0, SBUF_AUTOEXTEND); + pf_table_to_text(anchor, table, nadd, &sb); + audit_record_arg_text(ar, sbuf_data(&sb)); + sbuf_delete(&sb); + audit_commit(ar, error, 0); +} + +void +audit_pf_deltable(char *anchor, char *table, int ndel, int error) +{ + struct kaudit_record *ar; + struct sbuf sb; + + ar = audit_begin(AUE_PFIL_POLICY_DELTABLE, curthread); + if (ar == NULL) + return; + + sbuf_new(&sb, NULL, 0, SBUF_AUTOEXTEND); + pf_table_to_text(anchor, table, ndel, &sb); + audit_record_arg_text(ar, sbuf_data(&sb)); + sbuf_delete(&sb); + audit_commit(ar, error, 0); +} + From owner-p4-projects@FreeBSD.ORG Thu Jul 17 02:29:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58CFC1065673; Thu, 17 Jul 2008 02:29:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C92B106564A for ; Thu, 17 Jul 2008 02:29:24 +0000 (UTC) (envelope-from bilouro@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 06E918FC15 for ; Thu, 17 Jul 2008 02:29:24 +0000 (UTC) (envelope-from bilouro@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6H2TNKH063810 for ; Thu, 17 Jul 2008 02:29:23 GMT (envelope-from bilouro@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6H2TNSh063808 for perforce@freebsd.org; Thu, 17 Jul 2008 02:29:23 GMT (envelope-from bilouro@FreeBSD.org) Date: Thu, 17 Jul 2008 02:29:23 GMT Message-Id: <200807170229.m6H2TNSh063808@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bilouro@FreeBSD.org using -f From: Victor Hugo Bilouro To: Perforce Change Reviews Cc: Subject: PERFORCE change 145349 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 02:29:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=145349 Change 145349 by bilouro@bilouro_tcptest on 2008/07/17 02:29:09 Add some text, comments, todo... Affected files ... .. //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/cresetfromclosedstate.py#2 edit Differences ... ==== //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/cresetfromclosedstate.py#2 (text+ko) ==== @@ -44,12 +44,23 @@ import pdb import time -class TestResetFromClosedStateWithACK(unittest.TestCase): +class TestResetFromClosedState(unittest.TestCase): """ RFC 793 - Section 3.4 Establishing a Connection - Reset Generation 1) Sends a segment to a closed state with ACK bit set and check if the answer is conformant with protocol specification. + + [PREPARATION] + ==DEVICE UNDER TEST + inetd with descard server running (port 9) + possibility to kill -TERM inet process and /etc/rc.d/inetd stop + + [TESTS] + (a)SYN with and without ACK [80%] + (b)URG with and without ACK [0%] + (c)FIN with and without ACK [0%] + (d)RST with and without ACK [0%] """ def setUp(self): @@ -89,7 +100,7 @@ - def testSendSyn4BroadcastAddress(self): + def testResetFromClosedStateWithACKSYN(self): """ RFC 793 - Section 3.4 Establishing a Connection - Reset Generation @@ -98,6 +109,17 @@ """ tcptest.threewayhandshakenoopt(self, self.tcb, self.thisside, self.thatside) + ################ + # IMPORTANT NOTE + ################ + # + # At this time you shoud (a)kill -TERM the inetd server of the + # connection priviously set and stop inetd superserver at + # Device Under Test(DUT), this will cause: + # --> DUT to start active close + # --> avoid new connection at new socket + # + tcptest.passivecloseconnection(self, self.tcb, self.thisside, self.thatside) time.sleep(60) #2MSL(freebsd7) # From owner-p4-projects@FreeBSD.ORG Thu Jul 17 04:08:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD40E1065675; Thu, 17 Jul 2008 04:08:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90BBB1065673 for ; Thu, 17 Jul 2008 04:08:03 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 617DF8FC08 for ; Thu, 17 Jul 2008 04:08:03 +0000 (UTC) (envelope-from weongyo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6H483Xu074479 for ; Thu, 17 Jul 2008 04:08:03 GMT (envelope-from weongyo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6H483Yb074477 for perforce@freebsd.org; Thu, 17 Jul 2008 04:08:03 GMT (envelope-from weongyo@FreeBSD.org) Date: Thu, 17 Jul 2008 04:08:03 GMT Message-Id: <200807170408.m6H483Yb074477@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to weongyo@FreeBSD.org using -f From: Weongyo Jeong To: Perforce Change Reviews Cc: Subject: PERFORCE change 145352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 04:08:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=145352 Change 145352 by weongyo@weongyo_ws on 2008/07/17 04:07:13 fix a bug to calculate a interval time between Windows and FreeBSD. Affected files ... .. //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#12 edit Differences ... ==== //depot/projects/ndisusb/sys/compat/ndis/subr_usbd.c#12 (text+ko) ==== @@ -512,7 +512,7 @@ else if (udev->speed == USB_SPEED_FULL) pipe->upi_interval = edesc->bInterval; else { - int k0 = 1, k1 = 1; + int k0 = 0, k1 = 1; do { k1 = k1 * 2; k0 = k0 + 1; From owner-p4-projects@FreeBSD.ORG Thu Jul 17 12:05:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DA5D1065686; Thu, 17 Jul 2008 12:05:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 517171065674 for ; Thu, 17 Jul 2008 12:05:18 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 44DA78FC0C for ; Thu, 17 Jul 2008 12:05:18 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HC5I4g041770 for ; Thu, 17 Jul 2008 12:05:18 GMT (envelope-from strauss@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HC5IVW041768 for perforce@freebsd.org; Thu, 17 Jul 2008 12:05:18 GMT (envelope-from strauss@FreeBSD.org) Date: Thu, 17 Jul 2008 12:05:18 GMT Message-Id: <200807171205.m6HC5IVW041768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to strauss@FreeBSD.org using -f From: Anselm Strauss To: Perforce Change Reviews Cc: Subject: PERFORCE change 145359 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 12:05:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=145359 Change 145359 by strauss@strauss_marvelman on 2008/07/17 12:04:34 Integrated Libarchive 2.5.5 Affected files ... .. //depot/projects/soc2008/strauss_libarchive/Makefile.am#7 integrate .. //depot/projects/soc2008/strauss_libarchive/NEWS#6 integrate .. //depot/projects/soc2008/strauss_libarchive/TODO#10 edit .. //depot/projects/soc2008/strauss_libarchive/configure.ac#4 integrate .. //depot/projects/soc2008/strauss_libarchive/cpio/cpio.c#7 integrate .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive.h#4 integrate .. //depot/projects/soc2008/strauss_libarchive/tar/write.c#7 integrate .. //depot/projects/soc2008/strauss_libarchive/version#3 integrate Differences ... ==== //depot/projects/soc2008/strauss_libarchive/Makefile.am#7 (text+ko) ==== ==== //depot/projects/soc2008/strauss_libarchive/NEWS#6 (text+ko) ==== @@ -1,5 +1,10 @@ -Jun 20, 2008: If a -l link fails with EXDEV, copy the file instead -Jun 19, 2008: Add some additional long options for better GNU cpio compat + +Jul 02, 2008: libarchive 2.5.5 released + +Jul 02, 2008: libarchive 2.5.5b released +Jul 01, 2008: bsdcpio is being used by enough people, we can call it 1.0.0 now +Jun 20, 2008: bsdcpio: If a -l link fails with EXDEV, copy the file instead +Jun 19, 2008: bsdcpio: additional long options for better GNU cpio compat Jun 15, 2008: Many small portability and bugfixes since 2.5.4b. May 25, 2008: libarchive 2.5.4b released ==== //depot/projects/soc2008/strauss_libarchive/TODO#10 (text+ko) ==== @@ -3,7 +3,6 @@ - Exception handling in ZIP writer - Update ZIP writer in docs -- Integrate Libarchive 2.5.5 - About the keywords: of course they always change when integrating ... - Not all P4 keywords do expand (tested on OS X and FreeBSD) @@ -11,6 +10,7 @@ Already Done ============ +- Integrate Libarchive 2.5.5 - How to enable '-Wall' in gcc when calling make? -> Use 'make CFLAGS="-Wall" ...' - Update ZIP writer in headers - Build does not work outside source dir ==== //depot/projects/soc2008/strauss_libarchive/configure.ac#4 (text+ko) ==== @@ -4,8 +4,8 @@ dnl In particular, this allows the version macro to be used in AC_INIT dnl These first two version numbers are updated automatically on each release. -m4_define([LIBARCHIVE_VERSION_S],[2.5.4b]) -m4_define([LIBARCHIVE_VERSION_N],[2005004]) +m4_define([LIBARCHIVE_VERSION_S],[2.5.5]) +m4_define([LIBARCHIVE_VERSION_N],[2005005]) dnl bsdtar versioning tracks libarchive m4_define([BSDTAR_VERSION_S],LIBARCHIVE_VERSION_S()) ==== //depot/projects/soc2008/strauss_libarchive/cpio/cpio.c#7 (ktext) ==== @@ -111,7 +111,8 @@ cpio->extract_flags |= ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER; cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_SYMLINKS; cpio->extract_flags |= ARCHIVE_EXTRACT_SECURE_NODOTDOT; - /* TODO: If run by root, set owner as well. */ + if (geteuid() == 0) + cpio->extract_flags |= ARCHIVE_EXTRACT_OWNER; cpio->bytes_per_block = 512; cpio->filename = NULL; @@ -535,17 +536,27 @@ fprintf(stderr,"%s", destpath); /* - * Obviously, this only gets invoked in pass mode. + * Option_link only makes sense in pass mode and for + * regular files. Also note: if a link operation fails + * because of cross-device restrictions, we'll fall back + * to copy mode for that entry. + * + * TODO: Test other cpio implementations to see if they + * hard-link anything other than regular files here. */ - if (cpio->option_link) { + if (cpio->option_link + && archive_entry_filetype(entry) == AE_IFREG) + { struct archive_entry *t; /* Save the original entry in case we need it later. */ t = archive_entry_clone(entry); if (t == NULL) cpio_errc(1, ENOMEM, "Can't create link"); /* Note: link(2) doesn't create parent directories, - * so we use archive_write_header() instead. */ + * so we use archive_write_header() instead as a + * convenience. */ archive_entry_set_hardlink(t, srcpath); + /* This is a straight link that carries no data. */ archive_entry_set_size(t, 0); r = archive_write_header(cpio->archive, t); archive_entry_free(t); ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive.h#4 (ktext) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ $Change: 144939 $ $DateTime$ $Author$ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.50 2008/05/26 17:00:22 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -112,13 +112,13 @@ * (ARCHIVE_API_VERSION * 1000000 + ARCHIVE_API_FEATURE * 1000) * #endif */ -#define ARCHIVE_VERSION_NUMBER 2005004 +#define ARCHIVE_VERSION_NUMBER 2005005 __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_STRING "libarchive 2.5.4b" +#define ARCHIVE_VERSION_STRING "libarchive 2.5.5" __LA_DECL const char * archive_version_string(void); #if ARCHIVE_VERSION_NUMBER < 3000000 @@ -471,7 +471,6 @@ __LA_DECL int archive_write_set_format_shar(struct archive *); __LA_DECL int archive_write_set_format_shar_dump(struct archive *); __LA_DECL int archive_write_set_format_ustar(struct archive *); -__LA_DECL int archive_write_set_format_zip(struct archive *); __LA_DECL int archive_write_open(struct archive *, void *, archive_open_callback *, archive_write_callback *, archive_close_callback *); ==== //depot/projects/soc2008/strauss_libarchive/tar/write.c#7 (ktext) ==== @@ -139,7 +139,7 @@ static void write_entry_backend(struct bsdtar *, struct archive *, struct archive_entry *, int); static int write_file_data(struct bsdtar *, struct archive *, - int fd); + struct archive_entry *, int fd); static void write_hierarchy(struct bsdtar *, struct archive *, const char *); @@ -835,7 +835,7 @@ * that case, just skip the write. */ if (e >= ARCHIVE_WARN && fd >= 0 && archive_entry_size(entry) > 0) { - if (write_file_data(bsdtar, a, fd)) + if (write_file_data(bsdtar, a, entry, fd)) exit(1); close(fd); } @@ -956,7 +956,8 @@ /* Helper function to copy file to archive, with stack-allocated buffer. */ static int -write_file_data(struct bsdtar *bsdtar, struct archive *a, int fd) +write_file_data(struct bsdtar *bsdtar, struct archive *a, + struct archive_entry *entry, int fd) { char buff[64*1024]; ssize_t bytes_read; @@ -979,7 +980,8 @@ if (bytes_written < bytes_read) { /* Write was truncated; warn but continue. */ bsdtar_warnc(bsdtar, 0, - "Truncated write; file may have grown while being archived."); + "%s: Truncated write; file may have grown while being archived.", + archive_entry_pathname(entry)); return (0); } progress += bytes_written; ==== //depot/projects/soc2008/strauss_libarchive/version#3 (text+ko) ==== @@ -1,1 +1,1 @@ -2005004b +2005005 From owner-p4-projects@FreeBSD.ORG Thu Jul 17 13:30:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 301F21065678; Thu, 17 Jul 2008 13:30:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E792A1065673 for ; Thu, 17 Jul 2008 13:30:43 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DDF728FC25 for ; Thu, 17 Jul 2008 13:30:43 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HDUhGJ058834 for ; Thu, 17 Jul 2008 13:30:43 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HDUhIT058832 for perforce@freebsd.org; Thu, 17 Jul 2008 13:30:43 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 13:30:43 GMT Message-Id: <200807171330.m6HDUhIT058832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145361 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 13:30:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=145361 Change 145361 by ed@ed_dull on 2008/07/17 13:30:04 Remove pgfind_unlocked() again. We should fix this properly if we would decomprose proctree_lock. Affected files ... .. //depot/projects/mpsafetty/sys/sys/proc.h#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/proc.h#2 (text+ko) ==== @@ -768,7 +768,6 @@ extern struct uma_zone *proc_zone; struct proc *pfind(pid_t); /* Find process by id. */ -struct pgrp *pgfind_unlocked(pid_t); /* Find process group by id. */ struct pgrp *pgfind(pid_t); /* Find process group by id. */ struct proc *zpfind(pid_t); /* Find zombie process by id. */ From owner-p4-projects@FreeBSD.ORG Thu Jul 17 13:30:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CD7D1065731; Thu, 17 Jul 2008 13:30:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 16B931065676 for ; Thu, 17 Jul 2008 13:30:44 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0CD988FC26 for ; Thu, 17 Jul 2008 13:30:44 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HDUhEi058839 for ; Thu, 17 Jul 2008 13:30:43 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HDUh8r058837 for perforce@freebsd.org; Thu, 17 Jul 2008 13:30:43 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 13:30:43 GMT Message-Id: <200807171330.m6HDUh8r058837@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145362 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 13:30:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=145362 Change 145362 by ed@ed_dull on 2008/07/17 13:30:21 Revert the changes to pgfind(). We should fix this somewhere in the far future, if we would decompose proctree_lock. Affected files ... .. //depot/projects/mpsafetty/share/man/man9/Makefile#2 edit .. //depot/projects/mpsafetty/share/man/man9/pgfind.9#2 edit .. //depot/projects/mpsafetty/sys/kern/kern_proc.c#2 edit .. //depot/projects/mpsafetty/sys/kern/tty.c#3 edit Differences ... ==== //depot/projects/mpsafetty/share/man/man9/Makefile#2 (text+ko) ==== @@ -884,7 +884,6 @@ pfil.9 pfil_hook_get.9 \ pfil.9 pfil_remove_hook.9 MLINKS+=pfind.9 zpfind.9 -MLINKS+=pgfind.9 pgfind_unlocked.9 MLINKS+=pmap_clear_modify.9 pmap_clear_reference.9 MLINKS+=pmap_copy.9 pmap_copy_page.9 MLINKS+=pmap_extract.9 pmap_extract_and_hold.9 ==== //depot/projects/mpsafetty/share/man/man9/pgfind.9#2 (text+ko) ==== @@ -35,8 +35,6 @@ .In sys/proc.h .Ft "struct pgrp *" .Fn pgfind "pid_t pgid" -.Ft "struct pgrp *" -.Fn pgfind_unlocked "pid_t pgid" .Sh DESCRIPTION The .Fn pgfind @@ -51,9 +49,7 @@ .Fn pgfind locks the .Vt pgrp -structure that is returned, while -.Fn pgfind_unlocked -does not. +structure that is returned. .Sh RETURN VALUES The .Fn pgfind ==== //depot/projects/mpsafetty/sys/kern/kern_proc.c#2 (text+ko) ==== @@ -301,7 +301,7 @@ * The caller must hold proctree_lock. */ struct pgrp * -pgfind_unlocked(pgid) +pgfind(pgid) register pid_t pgid; { register struct pgrp *pgrp; @@ -309,30 +309,15 @@ sx_assert(&proctree_lock, SX_LOCKED); LIST_FOREACH(pgrp, PGRPHASH(pgid), pg_hash) { - if (pgrp->pg_id == pgid) + if (pgrp->pg_id == pgid) { + PGRP_LOCK(pgrp); return (pgrp); + } } return (NULL); } /* - * Same as pgfind_unlocked(), but acquires the lock on the process - * group. - */ -struct pgrp * -pgfind(pgid) - register pid_t pgid; -{ - register struct pgrp *pgrp; - - pgrp = pgfind_unlocked(pgid); - if (pgrp != NULL) - PGRP_LOCK(pgrp); - - return (pgrp); -} - -/* * Create a new process group. * pgid must be equal to the pid of p. * Begin a new session if required. ==== //depot/projects/mpsafetty/sys/kern/tty.c#3 (text+ko) ==== @@ -1438,12 +1438,15 @@ struct pgrp *pg; /* - * Temporarily unlock the TTY to locate the process - * group. + * XXX: Temporarily unlock the TTY to locate the process + * group. This code would be lot nicer if we would ever + * decompose proctree_lock. */ tty_unlock(tp); sx_slock(&proctree_lock); - pg = pgfind_unlocked(*(int *)data); + pg = pgfind(*(int *)data); + if (pg != NULL) + PGRP_UNLOCK(pg); if (pg == NULL || pg->pg_session != td->td_proc->p_session) { sx_sunlock(&proctree_lock); tty_lock(tp); From owner-p4-projects@FreeBSD.ORG Thu Jul 17 13:36:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB9B7106568F; Thu, 17 Jul 2008 13:36:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F2E01065671 for ; Thu, 17 Jul 2008 13:36:50 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4D0FB8FC45 for ; Thu, 17 Jul 2008 13:36:50 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HDaoho059952 for ; Thu, 17 Jul 2008 13:36:50 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HDaoDe059950 for perforce@freebsd.org; Thu, 17 Jul 2008 13:36:50 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 13:36:50 GMT Message-Id: <200807171336.m6HDaoDe059950@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145363 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 13:36:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=145363 Change 145363 by ed@ed_dull on 2008/07/17 13:36:11 Properly comment the t_softc and t_dev fields of struct tty. Affected files ... .. //depot/projects/mpsafetty/sys/sys/tty.h#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/tty.h#3 (text+ko) ==== @@ -119,8 +119,8 @@ struct session *t_session; /* (t) Associated session */ unsigned int t_sessioncnt; /* (t) Backpointing sessions */ - void *t_softc; /* Soft config, for drivers */ - struct cdev *t_dev; + void *t_softc; /* (c) Soft config, for drivers */ + struct cdev *t_dev; /* (c) Primary character device */ }; /* From owner-p4-projects@FreeBSD.ORG Thu Jul 17 13:41:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5C8C1065675; Thu, 17 Jul 2008 13:41:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 911081065670 for ; Thu, 17 Jul 2008 13:41:55 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 870A08FC1E for ; Thu, 17 Jul 2008 13:41:55 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HDft77060348 for ; Thu, 17 Jul 2008 13:41:55 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HDftBC060346 for perforce@freebsd.org; Thu, 17 Jul 2008 13:41:55 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 13:41:55 GMT Message-Id: <200807171341.m6HDftBC060346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145364 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 13:41:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=145364 Change 145364 by ed@ed_dull on 2008/07/17 13:41:31 Revert the changes to ttycom.h, now that we have COMPAT_43TTY again. Unfortunately I have to renumber TIOCPTMASTER, because it turned out 18 was used by COMPAT_43TTY to obtain the tchars. Affected files ... .. //depot/projects/mpsafetty/sys/sys/ttycom.h#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/ttycom.h#3 (text+ko) ==== @@ -56,40 +56,46 @@ unsigned short ws_ypixel; /* vertical size, pixels */ }; - /* 0-12 unused */ + /* 0-2 compat */ + /* 3-4 obsolete */ + /* 5-7 obsolete or unused */ + /* 8-10 compat */ + /* 11-12 obsolete or unused */ #define TIOCEXCL _IO('t', 13) /* set exclusive use of tty */ #define TIOCNXCL _IO('t', 14) /* reset exclusive use of tty */ #define TIOCGPTN _IOR('t', 15, int) /* Get pts number. */ #define TIOCFLUSH _IOW('t', 16, int) /* flush buffers */ - /* 17 unused */ -#define TIOCPTMASTER _IO('t', 18) /* pts master validation */ + /* 17-18 compat */ #define TIOCGETA _IOR('t', 19, struct termios) /* get termios struct */ #define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */ #define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */ #define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */ - /* 23-25 unused */ + /* 23-25 obsolete or unused */ #define TIOCGETD _IOR('t', 26, int) /* get line discipline */ #define TIOCSETD _IOW('t', 27, int) /* set line discipline */ - /* 28-69 unused */ - /* 70-79 ppp */ - /* 80-84 XXX conflicts */ +#define TIOCPTMASTER _IO('t', 28) /* pts master validation */ + /* 29-69 free */ + /* 80-84 slip */ #define TIOCGDRAINWAIT _IOR('t', 86, int) /* get ttywait timeout */ #define TIOCSDRAINWAIT _IOW('t', 87, int) /* set ttywait timeout */ - /* 88 XXX conflicts */ + /* 88 slip, ppp; conflicts */ #define TIOCTIMESTAMP _IOR('t', 89, struct timeval) /* enable/get timestamp * of last input event */ + /* 70-90 ppp; many conflicts */ #define TIOCMGDTRWAIT _IOR('t', 90, int) /* modem: get wait on close */ #define TIOCMSDTRWAIT _IOW('t', 91, int) /* modem: set wait on close */ - /* 90-92 XXX conflicts, tap */ + /* 90-92 tap; some conflicts */ #define TIOCDRAIN _IO('t', 94) /* wait till output drained */ #define TIOCSIG _IOWINT('t', 95) /* pty: generate signal */ #define TIOCEXT _IOW('t', 96, int) /* pty: external processing */ + /* 90-97 tun; some conflicts */ #define TIOCSCTTY _IO('t', 97) /* become controlling tty */ #define TIOCCONS _IOW('t', 98, int) /* become virtual console */ #define TIOCGSID _IOR('t', 99, int) /* get session id */ - /* 100 unused */ + /* 100 see consio.h */ #define TIOCSTAT _IO('t', 101) /* simulate ^T status message */ - /* 102 unused */ +#define TIOCUCNTL _IOW('t', 102, int) /* pty: set/clr usr cntl mode */ +#define UIOCCMD(n) _IO('u', n) /* usr cntl op "n" */ #define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */ #define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */ #define TIOCMGET _IOR('t', 106, int) /* get all modem bits */ @@ -122,13 +128,14 @@ #define TIOCNOTTY _IO('t', 113) /* void tty association */ #define TIOCSTI _IOW('t', 114, char) /* simulate terminal input */ #define TIOCOUTQ _IOR('t', 115, int) /* output queue size */ - /* 116-117 unused */ + /* 116-117 compat */ #define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */ #define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */ #define TIOCCDTR _IO('t', 120) /* clear data terminal ready */ #define TIOCSDTR _IO('t', 121) /* set data terminal ready */ #define TIOCCBRK _IO('t', 122) /* clear break bit */ #define TIOCSBRK _IO('t', 123) /* set break bit */ + /* 124-127 compat */ #define TTYDISC 0 /* termios tty line discipline */ #define SLIPDISC 4 /* serial IP discipline */ From owner-p4-projects@FreeBSD.ORG Thu Jul 17 13:47:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14BD01065674; Thu, 17 Jul 2008 13:47:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC993106566C for ; Thu, 17 Jul 2008 13:47:00 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C34FA8FC15 for ; Thu, 17 Jul 2008 13:47:00 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HDl0sc060743 for ; Thu, 17 Jul 2008 13:47:00 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HDl0jt060741 for perforce@freebsd.org; Thu, 17 Jul 2008 13:47:00 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 13:47:00 GMT Message-Id: <200807171347.m6HDl0jt060741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145365 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 13:47:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=145365 Change 145365 by ed@ed_dull on 2008/07/17 13:46:22 Make the whitespace a little more consistent. Affected files ... .. //depot/projects/mpsafetty/sys/sys/ttycom.h#4 edit Differences ... ==== //depot/projects/mpsafetty/sys/sys/ttycom.h#4 (text+ko) ==== @@ -73,7 +73,7 @@ /* 23-25 obsolete or unused */ #define TIOCGETD _IOR('t', 26, int) /* get line discipline */ #define TIOCSETD _IOW('t', 27, int) /* set line discipline */ -#define TIOCPTMASTER _IO('t', 28) /* pts master validation */ +#define TIOCPTMASTER _IO('t', 28) /* pts master validation */ /* 29-69 free */ /* 80-84 slip */ #define TIOCGDRAINWAIT _IOR('t', 86, int) /* get ttywait timeout */ From owner-p4-projects@FreeBSD.ORG Thu Jul 17 13:54:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA1BD1065678; Thu, 17 Jul 2008 13:54:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DD641065676 for ; Thu, 17 Jul 2008 13:54:08 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 74B358FC0C for ; Thu, 17 Jul 2008 13:54:08 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HDs8n6061318 for ; Thu, 17 Jul 2008 13:54:08 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HDs8ur061316 for perforce@freebsd.org; Thu, 17 Jul 2008 13:54:08 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 13:54:08 GMT Message-Id: <200807171354.m6HDs8ur061316@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145367 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 13:54:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=145367 Change 145367 by ed@ed_dull on 2008/07/17 13:53:39 Remove stale comments on entering the zombie state. We now handle zombie state properly. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#2 (text+ko) ==== @@ -550,7 +550,6 @@ tty_lock_assert(tp, MA_OWNED); - /* XXX: should not be done here! */ if (open) cv_broadcast(&tp->t_dcdwait); @@ -566,8 +565,6 @@ tty_signal_sessleader(tp, SIGHUP); tty_flush(tp, FREAD|FWRITE); - - /* XXX: Zombie state! */ } else { /* * Carrier is back again. From owner-p4-projects@FreeBSD.ORG Thu Jul 17 14:04:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7A01106567D; Thu, 17 Jul 2008 14:04:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9CE751065676 for ; Thu, 17 Jul 2008 14:04:18 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 93A108FC0A for ; Thu, 17 Jul 2008 14:04:18 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HE4I4v063292 for ; Thu, 17 Jul 2008 14:04:18 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HE4IGh063290 for perforce@freebsd.org; Thu, 17 Jul 2008 14:04:18 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 17 Jul 2008 14:04:18 GMT Message-Id: <200807171404.m6HE4IGh063290@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 145368 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 14:04:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=145368 Change 145368 by ed@ed_dull on 2008/07/17 14:03:22 TIOCGRANTPT does not exist anymore. Devices created by pts(4) already have proper permissions on creation. Affected files ... .. //depot/projects/mpsafetty/share/man/man4/pts.4#2 edit Differences ... ==== //depot/projects/mpsafetty/share/man/man4/pts.4#2 (text+ko) ==== @@ -130,16 +130,6 @@ should not be used directly. Instead, the .Xr ptsname 3 function should be used. -.It Dv TIOCGRANTPT -Change the owner of the pseudo-terminal slave device to the user-ID of -the calling process. The group-ID is set to the group -.Dq Li tty . -The permissions are set to user readable-writable and group writable. -This -.Xr ioctl 2 -should not be used directly. Instead, the -.Xr grantpt 3 -function should be used. .It Dv TIOCPTMASTER Determine whether the file descriptor is pointing to a pseudo-terminal master device. From owner-p4-projects@FreeBSD.ORG Thu Jul 17 15:56:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9B4F1065673; Thu, 17 Jul 2008 15:56:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E5311065670 for ; Thu, 17 Jul 2008 15:56:11 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 75A8F8FC14 for ; Thu, 17 Jul 2008 15:56:11 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HFuBl9082071 for ; Thu, 17 Jul 2008 15:56:11 GMT (envelope-from strauss@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HFuBue082067 for perforce@freebsd.org; Thu, 17 Jul 2008 15:56:11 GMT (envelope-from strauss@FreeBSD.org) Date: Thu, 17 Jul 2008 15:56:11 GMT Message-Id: <200807171556.m6HFuBue082067@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to strauss@FreeBSD.org using -f From: Anselm Strauss To: Perforce Change Reviews Cc: Subject: PERFORCE change 145374 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 15:56:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=145374 Change 145374 by strauss@strauss_marvelman on 2008/07/17 15:55:37 Some work on the central directory stuff Affected files ... .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#9 edit Differences ... ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#9 (text+ko) ==== @@ -56,6 +56,25 @@ char extra_length[2]; }; +struct zip_file_header { + char signature[4]; + char version_by[2]; + char version_extract[2]; + char flags[2]; + char compression[2]; + char timedate[4]; + char crc32[4]; + char compressed_size[4]; + char uncompressed_size[4]; + char filename_length[2]; + char extra_length[2]; + char comment_length[2]; + char disk_number[2]; + char attributes_internal[2]; + char attributes_external[4]; + char offset[4]; +}; + struct zip_data_descriptor { char signature[4]; /* Not mandatory, but recommended by specification. */ char crc32[4]; @@ -63,15 +82,15 @@ char uncompressed_size[4]; }; -struct zip_file_header { - struct zip_file_header *next; +struct zip_entry_list { + struct zip_entry_list *next; struct archive_entry *entry; - uint64_t offset; + /* uint64_t offset; */ /* Whatfor? */ }; struct zip { struct zip_data_descriptor data_descriptor; - struct zip_file_header *central_directory; + struct zip_entry_list *central_directory; }; int @@ -80,7 +99,7 @@ struct archive_write *a = (struct archive_write *)_a; struct zip *zip; - /* If someone else was already registered, unregister them. */ + /* If another format was already registered, unregister it. */ if (a->format_destroy != NULL) (a->format_destroy)(a); @@ -90,6 +109,7 @@ return (ARCHIVE_FATAL); } memset(zip, 0, sizeof(*zip)); + zip->central_directory = NULL; /* To be sure. */ a->format_data = zip; a->pad_uncompressed = 0; /* Actually not needed for now, since no compression support yet. */ @@ -120,6 +140,7 @@ struct zip *zip; struct zip_local_file_header h; struct zip_data_descriptor *d; + struct zip_entry_list l; int ret; zip = (struct zip *) a->format_data; @@ -152,7 +173,12 @@ /* Not used. */ encode(0, &h.extra_length, sizeof(h.extra_length)); - /* TODO: Append entry to central directory. */ + /* Append archive entry to the central directory data. + * Storing in reverse order, for ease of coding. + * According to specification order should not matter, right? */ + l.entry = entry; + l.next = zip->central_directory; + zip->central_directory = &l; int64_t size = archive_entry_size(entry); encode(size, &d->compressed_size, sizeof(d->compressed_size)); @@ -188,12 +214,15 @@ archive_write_zip_finish_entry(struct archive_write *a) { /* Write the data descripter after file data has been written. */ + int ret; struct zip *zip = (struct zip *) a->format_data; struct zip_data_descriptor *d = (struct zip_data_descriptor *) &zip->data_descriptor; + ret = (a->compressor.write)(a, d, sizeof(d)); if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL); + return (ret); } From owner-p4-projects@FreeBSD.ORG Thu Jul 17 16:13:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58FAF1065671; Thu, 17 Jul 2008 16:13:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CBAB106567D for ; Thu, 17 Jul 2008 16:13:29 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 14AFA8FC29 for ; Thu, 17 Jul 2008 16:13:29 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HGDSrL084938 for ; Thu, 17 Jul 2008 16:13:28 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HGDSVQ084936 for perforce@freebsd.org; Thu, 17 Jul 2008 16:13:28 GMT (envelope-from sam@freebsd.org) Date: Thu, 17 Jul 2008 16:13:28 GMT Message-Id: <200807171613.m6HGDSVQ084936@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 145376 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 16:13:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=145376 Change 145376 by sam@sam_ebb on 2008/07/17 16:12:47 add missing locking for htinfo update Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_ht.c#25 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_ht.c#25 (text+ko) ==== @@ -1074,6 +1074,7 @@ OPMODE(protmode) == IEEE80211_HTINFO_OPMODE_PROTOPT) return; + IEEE80211_LOCK(ic); /* track non-HT station presence */ KASSERT(protmode & IEEE80211_HTINFO_NONHT_PRESENT, ("missing NONHT_PRESENT")); @@ -1083,6 +1084,7 @@ /* push beacon update */ ic->ic_curhtprotmode = protmode; htinfo_notify(ic); + IEEE80211_UNLOCK(ic); #undef OPMODE } From owner-p4-projects@FreeBSD.ORG Thu Jul 17 19:54:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C5961065678; Thu, 17 Jul 2008 19:54:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00E241065675 for ; Thu, 17 Jul 2008 19:54:17 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DCCC28FC23 for ; Thu, 17 Jul 2008 19:54:16 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HJsG2A017594 for ; Thu, 17 Jul 2008 19:54:16 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HJsGhU017592 for perforce@freebsd.org; Thu, 17 Jul 2008 19:54:16 GMT (envelope-from gk@FreeBSD.org) Date: Thu, 17 Jul 2008 19:54:16 GMT Message-Id: <200807171954.m6HJsGhU017592@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 145386 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 19:54:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=145386 Change 145386 by gk@gk_h1 on 2008/07/17 19:53:19 Use mtag_ether_header in pf. support inet4 only for now Affected files ... .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_ioctl.c#2 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_ioctl.c#2 (text+ko) ==== @@ -111,6 +111,7 @@ #ifdef __FreeBSD__ #include +#include #else #include #include @@ -3636,6 +3637,7 @@ * byte order. */ struct ip *h = NULL; + struct m_tag *tag_ether_hdr; int chk; if ((*m)->m_pkthdr.len >= (int)sizeof(struct ip)) { @@ -3644,7 +3646,10 @@ HTONS(h->ip_len); HTONS(h->ip_off); } - chk = pf_test(PF_IN, ifp, m, NULL, inp); + tag_ether_hdr = m_tag_locate(*m, MTAG_ETHER, MTAG_ETHER_HEADER, NULL); + chk = pf_test(PF_IN, ifp, m, + tag_ether_hdr ? (struct ether_header *)(tag_ether_hdr + 1) : NULL, + inp); if (chk && *m) { m_freem(*m); *m = NULL; @@ -3671,6 +3676,7 @@ * byte order. */ struct ip *h = NULL; + struct m_tag *tag_ether_hdr; int chk; /* We need a proper CSUM befor we start (s. OpenBSD ip_output) */ @@ -3684,7 +3690,10 @@ HTONS(h->ip_len); HTONS(h->ip_off); } - chk = pf_test(PF_OUT, ifp, m, NULL, inp); + tag_ether_hdr = m_tag_locate(*m, MTAG_ETHER, MTAG_ETHER_HEADER, NULL); + chk = pf_test(PF_OUT, ifp, m, + tag_ether_hdr ? (struct ether_header *)(tag_ether_hdr + 1) : NULL, + inp); if (chk && *m) { m_freem(*m); *m = NULL; From owner-p4-projects@FreeBSD.ORG Thu Jul 17 19:58:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7AE5C1065679; Thu, 17 Jul 2008 19:58:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E7501065675 for ; Thu, 17 Jul 2008 19:58:21 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 24AD18FC15 for ; Thu, 17 Jul 2008 19:58:21 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HJwLL4017927 for ; Thu, 17 Jul 2008 19:58:21 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HJwLqg017925 for perforce@freebsd.org; Thu, 17 Jul 2008 19:58:21 GMT (envelope-from gk@FreeBSD.org) Date: Thu, 17 Jul 2008 19:58:21 GMT Message-Id: <200807171958.m6HJwLqg017925@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 145387 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 19:58:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=145387 Change 145387 by gk@gk_h1 on 2008/07/17 19:58:11 commit some *work in progress* support for layer2 filtering with pf Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/parse.y#2 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#2 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.h#2 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.c#2 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.h#2 edit .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf.c#2 edit .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#2 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/parse.y#2 (text+ko) ==== @@ -409,7 +409,7 @@ %} -%token PASS BLOCK SCRUB RETURN IN OS OUT LOG QUICK ON FROM TO FLAGS +%token PASS BLOCK SCRUB RETURN IN OS OUT LOG QUICK ON ETHER FROM TO FLAGS %token RETURNRST RETURNICMP RETURNICMP6 PROTO INET INET6 ALL ANY ICMPTYPE %token ICMP6TYPE CODE KEEP MODULATE STATE PORT RDR NAT BINAT ARROW NODF %token MINTTL ERROR ALLOWOPTS FASTROUTE FILENAME ROUTETO DUPTO REPLYTO NO LABEL @@ -442,7 +442,7 @@ %type icmp6_list icmp6_item %type fromto %type ipportspec from to -%type ipspec xhost host dynaddr host_list +%type ipspec ether xhost host dynaddr host_list %type redir_host_list redirspec %type route_host route_host_list routespec %type os xos os_list @@ -2471,12 +2471,21 @@ } ; -xhost : not host { +ether : /* empty */ { $$ = NULL; } + | ETHER ANY { $$ = NULL; } + | ETHER STRING { $$ = host_ether($2); free($2); } + ; + +xhost : not host ether { struct node_host *n; for (n = $2; n != NULL; n = n->next) n->not = $1; $$ = $2; + if ($3) { + $$->addr_ether = $3->addr_ether; + free($3); + } } | not NOROUTE { $$ = calloc(1, sizeof(struct node_host)); @@ -4723,11 +4732,13 @@ r->ifnot = interface->not; r->proto = proto->proto; r->src.addr = src_host->addr; + r->src.addr_ether = src_host->addr_ether; r->src.neg = src_host->not; r->src.port[0] = src_port->port[0]; r->src.port[1] = src_port->port[1]; r->src.port_op = src_port->op; r->dst.addr = dst_host->addr; + r->dst.addr_ether = dst_host->addr_ether; r->dst.neg = dst_host->not; r->dst.port[0] = dst_port->port[0]; r->dst.port[1] = dst_port->port[1]; @@ -4894,6 +4905,7 @@ { "drop", DROP}, { "drop-ovl", FRAGDROP}, { "dup-to", DUPTO}, + { "ether", ETHER}, { "fastroute", FASTROUTE}, { "file", FILENAME}, { "fingerprints", FINGERPRINTS}, ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#2 (text+ko) ==== @@ -122,6 +122,20 @@ } void +print_addr_ether(struct pf_addr_ether *addr, int verbose) +{ + if ((addr->flags & PFAE_CHECK) == 0) + return; + if (addr->flags & PFAE_MULTICAST) { + printf(" ether multicast"); + } else { + u_int8_t *ea = addr->octet; + printf(" ether %02x:%02x:%02x:%02x:%02x:%02x", + ea[0], ea[1], ea[2], ea[3], ea[4], ea[5]); + } +} + +void print_name(struct pf_addr *addr, sa_family_t af) { char host[NI_MAXHOST]; ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.h#2 (text+ko) ==== @@ -117,6 +117,7 @@ char *rate2str(double); void print_addr(struct pf_addr_wrap *, sa_family_t, int); +void print_addr_ether(struct pf_addr_ether *, int); void print_host(struct pf_state_host *, sa_family_t, int); void print_seq(struct pf_state_peer *); void print_state(struct pf_state *, int); ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.c#2 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -381,6 +382,7 @@ if (src->neg) printf("! "); print_addr(&src->addr, af, verbose); + print_addr_ether(&src->addr_ether, verbose); if (src->port_op) print_port(src->port_op, src->port[0], src->port[1], @@ -393,6 +395,7 @@ if (dst->neg) printf("! "); print_addr(&dst->addr, af, verbose); + print_addr_ether(&dst->addr_ether, verbose); if (dst->port_op) print_port(dst->port_op, dst->port[0], dst->port[1], @@ -1419,6 +1422,31 @@ } struct node_host * +host_ether(const char *s) +{ + struct ether_addr addr; + struct node_host *h = NULL; + + h = calloc(1, sizeof(*h)); + if (h == NULL) + err(1, "host_ether: malloc"); + + if (strcmp(s, "multicast") == 0) { + h->addr_ether.flags = PFAE_CHECK | PFAE_MULTICAST; + return (h); + } + if (!ether_aton_r(s, &addr)) { + fprintf(stderr, "can't parse ethernet address: %s\n", s); + free(h); + return (NULL); + } + memcpy(h->addr_ether.octet, addr.octet, ETHER_ADDR_LEN); + h->addr_ether.flags = PFAE_CHECK; + + return (h); +} + +struct node_host * host_if(const char *s, int mask) { struct node_host *n, *h = NULL; ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.h#2 (text+ko) ==== @@ -112,6 +112,7 @@ struct node_host { struct pf_addr_wrap addr; + struct pf_addr_ether addr_ether; struct pf_addr bcast; struct pf_addr peer; sa_family_t af; @@ -296,6 +297,7 @@ struct node_host *ifa_exists(const char *); struct node_host *ifa_lookup(const char *, int); struct node_host *host(const char *); +struct node_host *host_ether(const char *); int append_addr(struct pfr_buffer *, char *, int); int append_addr_host(struct pfr_buffer *, ==== //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf.c#2 (text+ko) ==== @@ -335,6 +335,8 @@ kif, &key, PF_LAN_EXT); \ if (*state == NULL || (*state)->timeout == PFTM_PURGE) \ return (PF_DROP); \ + if (!pf_state_check_ether(*state, pd, direction)) \ + return (PF_DROP); \ if (direction == PF_OUT && \ (((*state)->rule.ptr->rt == PF_ROUTETO && \ (*state)->rule.ptr->direction == PF_OUT) || \ @@ -699,6 +701,67 @@ } } +static __inline int +pf_addr_ether_pass(struct pf_addr_ether *want, u_int8_t *ea) +{ + static struct pf_addr_ether mask = { + .octet = { 0xff, 0xff, 0xff, 0xff, 0xff,0xff }, + .flags = 0 + }; + if ((want->flags & PFAE_CHECK) == 0) + return (1); + if (want->flags & PFAE_MULTICAST) { + return (ETHER_IS_MULTICAST(ea)); + } + +#define EA_CMP(a) (*((u_int64_t*)(a)) & *((u_int64_t*)&mask)) + return (EA_CMP(want) == EA_CMP(ea)); +#undef EA_CMP +} + +static __inline int +pf_rule_check_ether(struct pf_rule *r, struct pf_pdesc *pd) +{ + if (!pd->eh) { + if ((r->src.addr_ether.flags & PFAE_CHECK) || + (r->dst.addr_ether.flags & PFAE_CHECK)) + return (0); + return (1); + } + + if (pf_addr_ether_pass(&r->src.addr_ether, pd->eh->ether_shost) && + pf_addr_ether_pass(&r->dst.addr_ether, pd->eh->ether_dhost)) + return (1); + + return (0); +} + +static __inline int +pf_state_check_ether(struct pf_state *state, struct pf_pdesc *pd, int direction) +{ + struct pf_rule *r; + struct pf_addr_ether *src, *dst; + + if (!pd->eh) + return (1); + + r = state->rule.ptr; + + if (direction == state->direction) { + src = &r->src.addr_ether; + dst = &r->dst.addr_ether; + } else { + src = &r->dst.addr_ether; + dst = &r->src.addr_ether; + } + + if (pf_addr_ether_pass(src, pd->eh->ether_shost) && + pf_addr_ether_pass(dst, pd->eh->ether_dhost)) + return (1); + + return (0); +} + void pf_init_threshold(struct pf_threshold *threshold, u_int32_t limit, u_int32_t seconds) @@ -3356,6 +3419,8 @@ else if (r->os_fingerprint != PF_OSFP_ANY && !pf_osfp_match( pf_osfp_fingerprint(pd, m, off, th), r->os_fingerprint)) r = TAILQ_NEXT(r, entries); + else if (!pf_rule_check_ether(r, pd)) + r = TAILQ_NEXT(r, entries); else { if (r->tag) tag = r->tag; @@ -3775,6 +3840,8 @@ r = TAILQ_NEXT(r, entries); else if (r->os_fingerprint != PF_OSFP_ANY) r = TAILQ_NEXT(r, entries); + else if (!pf_rule_check_ether(r, pd)) + r = TAILQ_NEXT(r, entries); else { if (r->tag) tag = r->tag; @@ -4112,6 +4179,8 @@ r = TAILQ_NEXT(r, entries); else if (r->os_fingerprint != PF_OSFP_ANY) r = TAILQ_NEXT(r, entries); + else if (!pf_rule_check_ether(r, pd)) + r = TAILQ_NEXT(r, entries); else { if (r->tag) tag = r->tag; @@ -4371,6 +4440,8 @@ r = TAILQ_NEXT(r, entries); else if (r->os_fingerprint != PF_OSFP_ANY) r = TAILQ_NEXT(r, entries); + else if (!pf_rule_check_ether(r, pd)) + r = TAILQ_NEXT(r, entries); else { if (r->tag) tag = r->tag; @@ -4596,6 +4667,8 @@ r = TAILQ_NEXT(r, entries); else if (r->match_tag && !pf_match_tag(m, r, pd->pf_mtag, &tag)) r = TAILQ_NEXT(r, entries); + else if (!pf_rule_check_ether(r, pd)) + r = TAILQ_NEXT(r, entries); else { if (r->anchor == NULL) { match = 1; ==== //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#2 (text+ko) ==== @@ -165,6 +165,14 @@ #define PFI_AFLAG_MODEMASK 0x07 #define PFI_AFLAG_NOALIAS 0x08 +#define PFAE_CHECK 0x01 +#define PFAE_MULTICAST 0x02 + +struct pf_addr_ether { + u_int8_t octet[6]; + u_int16_t flags; +}; + struct pf_addr_wrap { union { struct { @@ -436,6 +444,7 @@ u_int16_t port[2]; u_int8_t neg; u_int8_t port_op; + struct pf_addr_ether addr_ether; }; struct pf_pooladdr { From owner-p4-projects@FreeBSD.ORG Thu Jul 17 19:59:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A502D1065671; Thu, 17 Jul 2008 19:59:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 692291065672 for ; Thu, 17 Jul 2008 19:59:22 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5013A8FC16 for ; Thu, 17 Jul 2008 19:59:22 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HJxMUs017995 for ; Thu, 17 Jul 2008 19:59:22 GMT (envelope-from strauss@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HJxMIq017993 for perforce@freebsd.org; Thu, 17 Jul 2008 19:59:22 GMT (envelope-from strauss@FreeBSD.org) Date: Thu, 17 Jul 2008 19:59:22 GMT Message-Id: <200807171959.m6HJxMIq017993@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to strauss@FreeBSD.org using -f From: Anselm Strauss To: Perforce Change Reviews Cc: Subject: PERFORCE change 145388 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 19:59:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=145388 Change 145388 by strauss@strauss_marvelman on 2008/07/17 19:58:50 Read over the code, made some small fixes Affected files ... .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#10 edit Differences ... ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#10 (text+ko) ==== @@ -97,20 +97,14 @@ archive_write_set_format_zip(struct archive *_a) { struct archive_write *a = (struct archive_write *)_a; - struct zip *zip; + struct zip zip; /* If another format was already registered, unregister it. */ if (a->format_destroy != NULL) (a->format_destroy)(a); - zip = (struct zip *)malloc(sizeof(*zip)); - if (zip == NULL) { - archive_set_error(&a->archive, ENOMEM, "Can't allocate zip data"); - return (ARCHIVE_FATAL); - } - memset(zip, 0, sizeof(*zip)); zip->central_directory = NULL; /* To be sure. */ - a->format_data = zip; + a->format_data = &zip; a->pad_uncompressed = 0; /* Actually not needed for now, since no compression support yet. */ a->format_write_header = archive_write_zip_header; @@ -123,8 +117,8 @@ encode( ZIP_SIGNATURE_DATA_DESCRIPTOR, - &zip->data_descriptor.signature, - sizeof(zip->data_descriptor.signature) + &zip.data_descriptor.signature, + sizeof(zip.data_descriptor.signature) ); return (ARCHIVE_OK); @@ -146,8 +140,6 @@ zip = (struct zip *) a->format_data; d = (struct zip_data_descriptor *) &zip->data_descriptor; ret = 0; - - memset(&h, 0, sizeof(h)); encode(ZIP_SIGNATURE_LOCAL_FILE_HEADER, &h.version, sizeof(h.version)); @@ -219,7 +211,7 @@ struct zip *zip = (struct zip *) a->format_data; struct zip_data_descriptor *d = (struct zip_data_descriptor *) &zip->data_descriptor; - ret = (a->compressor.write)(a, d, sizeof(d)); + ret = (a->compressor.write)(a, d, sizeof(*d)); if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL); From owner-p4-projects@FreeBSD.ORG Thu Jul 17 21:00:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA728106567F; Thu, 17 Jul 2008 21:00:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E7DF106567D for ; Thu, 17 Jul 2008 21:00:34 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 67A818FC20 for ; Thu, 17 Jul 2008 21:00:34 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HL0Xa6033337 for ; Thu, 17 Jul 2008 21:00:33 GMT (envelope-from strauss@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HL0Xqi033335 for perforce@freebsd.org; Thu, 17 Jul 2008 21:00:33 GMT (envelope-from strauss@FreeBSD.org) Date: Thu, 17 Jul 2008 21:00:33 GMT Message-Id: <200807172100.m6HL0Xqi033335@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to strauss@FreeBSD.org using -f From: Anselm Strauss To: Perforce Change Reviews Cc: Subject: PERFORCE change 145391 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 21:00:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=145391 Change 145391 by strauss@strauss_marvelman on 2008/07/17 20:59:42 Never mix up static and automatic storage duration Affected files ... .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#11 edit Differences ... ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#11 (text+ko) ==== @@ -97,15 +97,20 @@ archive_write_set_format_zip(struct archive *_a) { struct archive_write *a = (struct archive_write *)_a; - struct zip zip; + struct zip *zip; /* If another format was already registered, unregister it. */ if (a->format_destroy != NULL) (a->format_destroy)(a); + + zip = (struct zip *) malloc(sizeof(*zip)); + if (zip == NULL) { + archive_set_error(&a->archive, ENOMEM, "Can't allocate zip data"); + return (ARCHIVE_FATAL); + } + zip->central_directory = NULL; + a->format_data = zip; - zip->central_directory = NULL; /* To be sure. */ - a->format_data = &zip; - a->pad_uncompressed = 0; /* Actually not needed for now, since no compression support yet. */ a->format_write_header = archive_write_zip_header; a->format_write_data = archive_write_zip_data; @@ -117,8 +122,8 @@ encode( ZIP_SIGNATURE_DATA_DESCRIPTOR, - &zip.data_descriptor.signature, - sizeof(zip.data_descriptor.signature) + &zip->data_descriptor.signature, + sizeof(zip->data_descriptor.signature) ); return (ARCHIVE_OK); @@ -134,7 +139,7 @@ struct zip *zip; struct zip_local_file_header h; struct zip_data_descriptor *d; - struct zip_entry_list l; + struct zip_entry_list *l; int ret; zip = (struct zip *) a->format_data; @@ -168,9 +173,14 @@ /* Append archive entry to the central directory data. * Storing in reverse order, for ease of coding. * According to specification order should not matter, right? */ - l.entry = entry; - l.next = zip->central_directory; - zip->central_directory = &l; + l = (struct zip_entry_list *) malloc(sizeof(*l)); + if (l == NULL) { + archive_set_error(&a->archive, ENOMEM, "Can't allocate zip header data"); + return (ARCHIVE_FATAL); + } + l->entry = entry; + l->next = zip->central_directory; + zip->central_directory = l; int64_t size = archive_entry_size(entry); encode(size, &d->compressed_size, sizeof(d->compressed_size)); @@ -229,8 +239,14 @@ archive_write_zip_destroy(struct archive_write *a) { struct zip *zip; + struct zip_entry_list *l; zip = (struct zip *)a->format_data; + l = (struct zip_entry_list *) zip->central_directory; + while (l != NULL) { + l = l->next; + free(l); + } free(zip); a->format_data = NULL; return (ARCHIVE_OK); From owner-p4-projects@FreeBSD.ORG Thu Jul 17 22:23:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF797106567B; Thu, 17 Jul 2008 22:23:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B2791065679 for ; Thu, 17 Jul 2008 22:23:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3940F8FC1B for ; Thu, 17 Jul 2008 22:23:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HMNCkJ042222 for ; Thu, 17 Jul 2008 22:23:12 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HMNCOZ042220 for perforce@freebsd.org; Thu, 17 Jul 2008 22:23:12 GMT (envelope-from sam@freebsd.org) Date: Thu, 17 Jul 2008 22:23:12 GMT Message-Id: <200807172223.m6HMNCOZ042220@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 145393 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 22:23:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=145393 Change 145393 by sam@sam_ebb on 2008/07/17 22:22:41 IFC @ 145392 Affected files ... .. //depot/projects/vap/bin/stty/print.c#3 integrate .. //depot/projects/vap/etc/rc.d/amd#4 integrate .. //depot/projects/vap/etc/rc.d/apmd#4 integrate .. //depot/projects/vap/etc/rc.d/bsnmpd#3 integrate .. //depot/projects/vap/etc/rc.d/bthidd#3 integrate .. //depot/projects/vap/etc/rc.d/devd#3 integrate .. //depot/projects/vap/etc/rc.d/ftp-proxy#4 integrate .. //depot/projects/vap/etc/rc.d/ftpd#3 integrate .. //depot/projects/vap/etc/rc.d/hcsecd#3 integrate .. //depot/projects/vap/etc/rc.d/idmapd#3 integrate .. //depot/projects/vap/etc/rc.d/keyserv#4 integrate .. //depot/projects/vap/etc/rc.d/lockd#6 integrate .. //depot/projects/vap/etc/rc.d/lpd#4 integrate .. //depot/projects/vap/etc/rc.d/mountd#4 integrate .. //depot/projects/vap/etc/rc.d/moused#5 integrate .. //depot/projects/vap/etc/rc.d/nfsd#4 integrate .. //depot/projects/vap/etc/rc.d/nscd#3 integrate .. //depot/projects/vap/etc/rc.d/ntpd#4 integrate .. //depot/projects/vap/etc/rc.d/powerd#3 integrate .. //depot/projects/vap/etc/rc.d/rpcbind#4 integrate .. //depot/projects/vap/etc/rc.d/rtadvd#4 integrate .. //depot/projects/vap/etc/rc.d/rwho#4 integrate .. //depot/projects/vap/etc/rc.d/sdpd#3 integrate .. //depot/projects/vap/etc/rc.d/sendmail#4 integrate .. //depot/projects/vap/etc/rc.d/sshd#4 integrate .. //depot/projects/vap/etc/rc.d/statd#6 integrate .. //depot/projects/vap/etc/rc.d/timed#4 integrate .. //depot/projects/vap/etc/rc.d/ugidfw#4 integrate .. //depot/projects/vap/etc/rc.d/watchdogd#3 integrate .. //depot/projects/vap/etc/rc.d/ypbind#4 integrate .. //depot/projects/vap/etc/rc.d/yppasswdd#4 integrate .. //depot/projects/vap/etc/rc.d/ypserv#4 integrate .. //depot/projects/vap/etc/rc.d/ypset#3 integrate .. //depot/projects/vap/etc/rc.d/ypupdated#3 integrate .. //depot/projects/vap/etc/rc.d/ypxfrd#3 integrate .. //depot/projects/vap/etc/rc.firewall#6 integrate .. //depot/projects/vap/sys/dev/mxge/if_mxge.c#8 integrate .. //depot/projects/vap/sys/dev/vr/if_vr.c#2 integrate .. //depot/projects/vap/sys/dev/vr/if_vrreg.h#2 integrate .. //depot/projects/vap/sys/kern/kern_exec.c#10 integrate .. //depot/projects/vap/sys/netinet/udp_usrreq.c#10 integrate .. //depot/projects/vap/sys/sys/imgact.h#7 integrate .. //depot/projects/vap/sys/sys/ioctl_compat.h#6 integrate .. //depot/projects/vap/sys/sys/termios.h#4 integrate .. //depot/projects/vap/sys/sys/ttycom.h#6 integrate .. //depot/projects/vap/usr.sbin/pstat/pstat.c#4 integrate .. //depot/projects/vap/usr.sbin/pw/pwupd.c#3 integrate .. //depot/projects/vap/usr.sbin/sysinstall/package.c#3 integrate Differences ... ==== //depot/projects/vap/bin/stty/print.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/stty/print.c,v 1.20 2005/05/26 06:57:57 ache Exp $"); +__FBSDID("$FreeBSD: src/bin/stty/print.c,v 1.21 2008/07/16 11:20:04 ed Exp $"); #include @@ -44,8 +44,6 @@ #include "stty.h" #include "extern.h" -#include /* XXX NTTYDISC is too well hidden */ - static void binit(const char *); static void bput(const char *); static const char *ccval(struct cchar *, int); @@ -64,9 +62,6 @@ /* Line discipline. */ if (ldisc != TTYDISC) { switch(ldisc) { - case NTTYDISC: - cnt += printf("new tty disc; "); - break; case SLIPDISC: cnt += printf("slip disc; "); break; ==== //depot/projects/vap/etc/rc.d/amd#4 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/amd,v 1.21 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/amd,v 1.22 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: amd # REQUIRE: rpcbind ypbind nfsclient cleanvar ldconfig # BEFORE: DAEMON -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/apmd#4 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/apmd,v 1.13 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/apmd,v 1.14 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: apmd # REQUIRE: DAEMON apm # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/bsnmpd#3 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/bsnmpd,v 1.1 2005/04/17 10:47:58 glebius Exp $ +# $FreeBSD: src/etc/rc.d/bsnmpd,v 1.2 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: bsnmpd # REQUIRE: NETWORKING syslogd -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/bthidd#3 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/bthidd,v 1.1 2006/09/07 22:25:08 emax Exp $ +# $FreeBSD: src/etc/rc.d/bthidd,v 1.2 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: bthidd # REQUIRE: DAEMON hcsecd # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/devd#3 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/devd,v 1.10 2006/09/21 14:29:32 brooks Exp $ +# $FreeBSD: src/etc/rc.d/devd,v 1.11 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: devd # REQUIRE: netif network_ipv6 # BEFORE: NETWORKING mountcritremote -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ftp-proxy#4 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ftp-proxy,v 1.2 2007/12/08 22:27:18 dougb Exp $ +# $FreeBSD: src/etc/rc.d/ftp-proxy,v 1.3 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ftp-proxy # REQUIRE: DAEMON pf +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ftpd#3 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ftpd,v 1.1 2006/01/21 18:08:15 yar Exp $ +# $FreeBSD: src/etc/rc.d/ftpd,v 1.2 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ftpd # REQUIRE: LOGIN cleanvar +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/hcsecd#3 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/hcsecd,v 1.5 2006/12/31 10:37:18 yar Exp $ +# $FreeBSD: src/etc/rc.d/hcsecd,v 1.6 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: hcsecd # REQUIRE: DAEMON # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/idmapd#3 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/idmapd,v 1.1 2006/10/15 14:19:06 ceri Exp $ +# $FreeBSD: src/etc/rc.d/idmapd,v 1.2 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: idmapd # REQUIRE: rpcbind -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/keyserv#4 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/keyserv,v 1.4 2007/12/08 22:27:18 dougb Exp $ +# $FreeBSD: src/etc/rc.d/keyserv,v 1.5 2008/07/16 19:50:29 dougb Exp $ # # Start keyserv if we are running Secure RPC @@ -8,6 +8,7 @@ # PROVIDE: keyserv # REQUIRE: ypbind # BEFORE: DAEMON +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/lockd#6 (text+ko) ==== @@ -1,13 +1,13 @@ #!/bin/sh # # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.21 2008/06/27 15:45:17 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.22 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: lockd # REQUIRE: nfsserver nfsclient nfsd rpcbind statd # BEFORE: DAEMON -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/lpd#4 (text+ko) ==== @@ -1,11 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/lpd,v 1.9 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/lpd,v 1.10 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: lpd # REQUIRE: DAEMON # BEFORE: LOGIN +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/mountd#4 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountd,v 1.20 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/mountd,v 1.21 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: mountd # REQUIRE: NETWORKING nfsserver rpcbind quota -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/moused#5 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/moused,v 1.13 2008/06/23 04:46:54 mtm Exp $ +# $FreeBSD: src/etc/rc.d/moused,v 1.14 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: moused # REQUIRE: DAEMON cleanvar -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/nfsd#4 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nfsd,v 1.14 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/nfsd,v 1.15 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: nfsd # REQUIRE: mountd -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/nscd#3 (text+ko) ==== @@ -1,11 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nscd,v 1.6 2007/09/28 10:38:08 bushman Exp $ +# $FreeBSD: src/etc/rc.d/nscd,v 1.7 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: nscd # REQUIRE: DAEMON # BEFORE: LOGIN +# KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable nscd: ==== //depot/projects/vap/etc/rc.d/ntpd#4 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ntpd,v 1.14 2008/05/12 11:49:16 flz Exp $ +# $FreeBSD: src/etc/rc.d/ntpd,v 1.15 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ntpd # REQUIRE: DAEMON ntpdate cleanvar devfs # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/powerd#3 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/powerd,v 1.4 2006/08/27 11:04:39 cperciva Exp $ +# $FreeBSD: src/etc/rc.d/powerd,v 1.5 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: powerd # REQUIRE: DAEMON # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/rpcbind#4 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/rpcbind,v 1.13 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/rpcbind,v 1.14 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: rpcbind # REQUIRE: NETWORKING ntpdate syslogd named +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/rtadvd#4 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/rtadvd,v 1.11 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/rtadvd,v 1.12 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: rtadvd # REQUIRE: DAEMON # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/rwho#4 (text+ko) ==== @@ -1,11 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/rwho,v 1.5 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/rwho,v 1.6 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: rwho # REQUIRE: DAEMON # BEFORE: LOGIN +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/sdpd#3 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/sdpd,v 1.5 2006/12/31 10:37:18 yar Exp $ +# $FreeBSD: src/etc/rc.d/sdpd,v 1.6 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: sdpd # REQUIRE: DAEMON # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/sendmail#4 (text+ko) ==== @@ -1,12 +1,13 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/sendmail,v 1.18 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/sendmail,v 1.19 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: mail # REQUIRE: LOGIN cleanvar # we make mail start late, so that things like .forward's are not # processed until the system is fully operational +# KEYWORD: shutdown # XXX - Get together with sendmail mantainer to figure out how to # better handle SENDMAIL_ENABLE and 3rd party MTAs. ==== //depot/projects/vap/etc/rc.d/sshd#4 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/sshd,v 1.13 2007/12/08 07:20:22 dougb Exp $ +# $FreeBSD: src/etc/rc.d/sshd,v 1.14 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: sshd # REQUIRE: LOGIN cleanvar +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/statd#6 (text+ko) ==== @@ -1,13 +1,13 @@ #!/bin/sh # # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp -# $FreeBSD: src/etc/rc.d/statd,v 1.20 2008/06/27 15:45:17 mtm Exp $ +# $FreeBSD: src/etc/rc.d/statd,v 1.21 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: statd # REQUIRE: nfsserver nfsclient nfsd rpcbind # BEFORE: DAEMON -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/timed#4 (text+ko) ==== @@ -1,12 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/timed,v 1.6 2007/12/08 07:20:23 dougb Exp $ +# $FreeBSD: src/etc/rc.d/timed,v 1.7 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: timed # REQUIRE: DAEMON # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ugidfw#4 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ugidfw,v 1.6 2007/12/08 22:26:30 dougb Exp $ +# $FreeBSD: src/etc/rc.d/ugidfw,v 1.7 2008/07/16 19:50:29 dougb Exp $ # PROVIDE: ugidfw # BEFORE: LOGIN -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/watchdogd#3 (text+ko) ==== @@ -24,12 +24,12 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/watchdogd,v 1.5 2005/01/16 03:12:03 obrien Exp $ +# $FreeBSD: src/etc/rc.d/watchdogd,v 1.6 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: watchdogd # REQUIRE: DAEMON cleanvar -# KEYWORD: nojail +# KEYWORD: nojail shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ypbind#4 (text+ko) ==== @@ -1,11 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ypbind,v 1.11 2007/12/08 07:20:23 dougb Exp $ +# $FreeBSD: src/etc/rc.d/ypbind,v 1.12 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ypbind # REQUIRE: ypserv # BEFORE: DAEMON +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/yppasswdd#4 (text+ko) ==== @@ -1,11 +1,12 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/yppasswdd,v 1.12 2007/12/08 07:20:23 dougb Exp $ +# $FreeBSD: src/etc/rc.d/yppasswdd,v 1.13 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: yppasswdd # REQUIRE: ypserv ypbind # BEFORE: LOGIN +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ypserv#4 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ypserv,v 1.13 2007/12/08 07:20:23 dougb Exp $ +# $FreeBSD: src/etc/rc.d/ypserv,v 1.14 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ypserv # REQUIRE: rpcbind +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ypset#3 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ypset,v 1.7 2006/12/30 22:53:20 yar Exp $ +# $FreeBSD: src/etc/rc.d/ypset,v 1.8 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ypset # REQUIRE: ypbind +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ypupdated#3 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ypupdated,v 1.6 2006/12/30 22:53:20 yar Exp $ +# $FreeBSD: src/etc/rc.d/ypupdated,v 1.7 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ypupdated # REQUIRE: rpcbind ypserv +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.d/ypxfrd#3 (text+ko) ==== @@ -1,10 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ypxfrd,v 1.8 2006/12/30 22:53:20 yar Exp $ +# $FreeBSD: src/etc/rc.d/ypxfrd,v 1.9 2008/07/16 19:50:29 dougb Exp $ # # PROVIDE: ypxfrd # REQUIRE: rpcbind ypserv +# KEYWORD: shutdown . /etc/rc.subr ==== //depot/projects/vap/etc/rc.firewall#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/etc/rc.firewall,v 1.55 2008/06/06 07:17:04 keramida Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.56 2008/07/17 20:00:18 danger Exp $ # # @@ -194,6 +194,7 @@ ${fwcmd} add deny tcp from any to any setup # Allow DNS queries out in the world + ${fwcmd} add pass tcp from me to any 53 setup keep-state ${fwcmd} add pass udp from me to any 53 keep-state # Allow NTP queries out in the world @@ -294,6 +295,7 @@ ${fwcmd} add pass tcp from any to any setup # Allow DNS queries out in the world + ${fwcmd} add pass tcp from ${oip} to any 53 setup keep-state ${fwcmd} add pass udp from ${oip} to any 53 keep-state # Allow NTP queries out in the world ==== //depot/projects/vap/sys/dev/mxge/if_mxge.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.49 2008/04/02 13:59:43 gallatin Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.50 2008/07/17 15:46:35 gallatin Exp $"); #include #include @@ -72,6 +72,7 @@ #include #include +#include /* XXX for pci_cfg_restore */ #include /* for pmap_mapdev() */ #include @@ -1348,11 +1349,8 @@ ifp->if_capenable |= IFCAP_LRO; sc->lro_cnt = lro_cnt; if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - callout_stop(&sc->co_hdl); mxge_close(sc); err = mxge_open(sc); - if (err == 0) - callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); } return err; } @@ -3319,6 +3317,7 @@ } sc->ifp->if_drv_flags |= IFF_DRV_RUNNING; sc->ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); return 0; @@ -3335,6 +3334,7 @@ mxge_cmd_t cmd; int err, old_down_cnt; + callout_stop(&sc->co_hdl); sc->ifp->if_drv_flags &= ~IFF_DRV_RUNNING; old_down_cnt = sc->down_cnt; mb(); @@ -3399,9 +3399,10 @@ return (pci_read_config(dev, vs + 0x14, 4)); } -static void +static int mxge_watchdog_reset(mxge_softc_t *sc) { + struct pci_devinfo *dinfo; int err; uint32_t reboot; uint16_t cmd; @@ -3428,7 +3429,7 @@ cmd = pci_read_config(sc->dev, PCIR_COMMAND, 2); if (cmd == 0xffff) { device_printf(sc->dev, "NIC disappeared!\n"); - goto abort; + return (err); } } if ((cmd & PCIM_CMD_BUSMASTEREN) == 0) { @@ -3437,10 +3438,9 @@ device_printf(sc->dev, "NIC rebooted, status = 0x%x\n", reboot); /* restore PCI configuration space */ + dinfo = device_get_ivars(sc->dev); + pci_cfg_restore(sc->dev, dinfo); - /* XXXX waiting for pci_cfg_restore() to be exported */ - goto abort; /* just abort for now */ - /* and redo any changes we made to our config space */ mxge_setup_cfg_space(sc); @@ -3457,22 +3457,15 @@ be32toh(sc->ss->fw_stats->send_done_count)); device_printf(sc->dev, "not resetting\n"); } - -abort: - /* - * stop the watchdog if the nic is dead, to avoid spamming the - * console - */ - if (err != 0) { - callout_stop(&sc->co_hdl); - } + return (err); } -static void +static int mxge_watchdog(mxge_softc_t *sc) { mxge_tx_ring_t *tx = &sc->ss->tx; uint32_t rx_pause = be32toh(sc->ss->fw_stats->dropped_pause); + int err = 0; /* see if we have outstanding transmits, which have been pending for more than mxge_ticks */ @@ -3481,7 +3474,7 @@ tx->done == tx->watchdog_done) { /* check for pause blocking before resetting */ if (tx->watchdog_rx_pause == rx_pause) - mxge_watchdog_reset(sc); + err = mxge_watchdog_reset(sc); else device_printf(sc->dev, "Flow control blocking " "xmits, check link partner\n"); @@ -3493,6 +3486,7 @@ if (sc->need_media_probe) mxge_media_probe(sc); + return (err); } static void @@ -3513,24 +3507,18 @@ mxge_tick(void *arg) { mxge_softc_t *sc = arg; - - - /* Synchronize with possible callout reset/stop. */ - if (callout_pending(&sc->co_hdl) || - !callout_active(&sc->co_hdl)) { - mtx_unlock(&sc->driver_mtx); - return; - } + int err = 0; /* aggregate stats from different slices */ mxge_update_stats(sc); - - callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); if (!sc->watchdog_countdown) { - mxge_watchdog(sc); + err = mxge_watchdog(sc); sc->watchdog_countdown = 4; } sc->watchdog_countdown--; + if (err == 0) + callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); + } static int @@ -3554,7 +3542,6 @@ old_mtu = ifp->if_mtu; ifp->if_mtu = mtu; if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - callout_stop(&sc->co_hdl); mxge_close(sc); err = mxge_open(sc); if (err != 0) { @@ -3562,7 +3549,6 @@ mxge_close(sc); (void) mxge_open(sc); } - callout_reset(&sc->co_hdl, mxge_ticks, mxge_tick, sc); } mtx_unlock(&sc->driver_mtx); return err; @@ -3605,8 +3591,6 @@ if (ifp->if_flags & IFF_UP) { if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { err = mxge_open(sc); - callout_reset(&sc->co_hdl, mxge_ticks, - mxge_tick, sc); } else { /* take care of promis can allmulti flag chages */ @@ -3616,7 +3600,6 @@ } } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - callout_stop(&sc->co_hdl); mxge_close(sc); } } @@ -4313,11 +4296,11 @@ return EBUSY; } mtx_lock(&sc->driver_mtx); - callout_stop(&sc->co_hdl); if (sc->ifp->if_drv_flags & IFF_DRV_RUNNING) mxge_close(sc); mtx_unlock(&sc->driver_mtx); ether_ifdetach(sc->ifp); + callout_drain(&sc->co_hdl); ifmedia_removeall(&sc->media); mxge_dummy_rdma(sc, 0); mxge_rem_sysctls(sc); ==== //depot/projects/vap/sys/dev/vr/if_vr.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/vr/if_vr.c,v 1.130 2008/03/11 04:51:22 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/vr/if_vr.c,v 1.132 2008/07/16 08:35:29 yongari Exp $"); /* * VIA Rhine fast ethernet PCI NIC driver @@ -186,7 +186,8 @@ static void vr_miibus_statchg(device_t); static void vr_link_task(void *, int); -static int vr_setperf(struct vr_softc *, int, uint8_t *); +static void vr_cam_mask(struct vr_softc *, uint32_t, int); +static int vr_cam_data(struct vr_softc *, int, int, uint8_t *); static void vr_set_filter(struct vr_softc *); static void vr_reset(const struct vr_softc *); static int vr_tx_ring_init(struct vr_softc *); @@ -394,27 +395,44 @@ VR_UNLOCK(sc); } -/* - * Copy the address 'mac' into the perfect RX filter entry at - * offset 'idx.' The perfect filter only has 32 entries so do - * some sanity tests. - */ + +static void +vr_cam_mask(struct vr_softc *sc, uint32_t mask, int type) +{ + + if (type == VR_MCAST_CAM) + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_MCAST); + else + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_VLAN); + CSR_WRITE_4(sc, VR_CAMMASK, mask); + CSR_WRITE_1(sc, VR_CAMCTL, 0); +} + static int -vr_setperf(struct vr_softc *sc, int idx, uint8_t *mac) +vr_cam_data(struct vr_softc *sc, int type, int idx, uint8_t *mac) { int i; - if (idx < 0 || idx >= VR_CAM_MCAST_CNT || mac == NULL) - return (EINVAL); + if (type == VR_MCAST_CAM) { + if (idx < 0 || idx >= VR_CAM_MCAST_CNT || mac == NULL) + return (EINVAL); + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_MCAST); + } else + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_VLAN); /* Set CAM entry address. */ CSR_WRITE_1(sc, VR_CAMADDR, idx); /* Set CAM entry data. */ - for (i = 0; i < ETHER_ADDR_LEN; i++) - CSR_WRITE_1(sc, VR_MAR0 + i, mac[i]); + if (type == VR_MCAST_CAM) { + for (i = 0; i < ETHER_ADDR_LEN; i++) + CSR_WRITE_1(sc, VR_MCAM0 + i, mac[i]); + } else { + CSR_WRITE_1(sc, VR_VCAM0, mac[0]); + CSR_WRITE_1(sc, VR_VCAM1, mac[1]); + } + DELAY(10); /* Write CAM and wait for self-clear of VR_CAMCTL_WRITE bit. */ - CSR_WRITE_1(sc, VR_CAMCTL, - VR_CAMCTL_ENA | VR_CAMCTL_MCAST | VR_CAMCTL_WRITE); + CSR_WRITE_1(sc, VR_CAMCTL, VR_CAMCTL_ENA | VR_CAMCTL_WRITE); for (i = 0; i < VR_TIMEOUT; i++) { DELAY(1); if ((CSR_READ_1(sc, VR_CAMCTL) & VR_CAMCTL_WRITE) == 0) @@ -424,6 +442,7 @@ if (i == VR_TIMEOUT) device_printf(sc->vr_dev, "%s: setting CAM filter timeout!\n", __func__); + CSR_WRITE_1(sc, VR_CAMCTL, 0); return (i == VR_TIMEOUT ? ETIMEDOUT : 0); } @@ -461,6 +480,7 @@ /* Now program new ones. */ error = 0; + mcnt = 0; IF_ADDR_LOCK(ifp); if ((sc->vr_quirks & VR_Q_CAM) != 0) { /* @@ -468,12 +488,10 @@ * 32 entries multicast perfect filter. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 17 22:39:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A9091065673; Thu, 17 Jul 2008 22:39:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FE1A1065671 for ; Thu, 17 Jul 2008 22:39:29 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7F1E88FC08 for ; Thu, 17 Jul 2008 22:39:29 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6HMdTgN043662 for ; Thu, 17 Jul 2008 22:39:29 GMT (envelope-from sson@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6HMdTX3043660 for perforce@freebsd.org; Thu, 17 Jul 2008 22:39:29 GMT (envelope-from sson@FreeBSD.org) Date: Thu, 17 Jul 2008 22:39:29 GMT Message-Id: <200807172239.m6HMdTX3043660@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sson@FreeBSD.org using -f From: Stacey Son To: Perforce Change Reviews Cc: Subject: PERFORCE change 145395 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 17 Jul 2008 22:39:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=145395 Change 145395 by sson@sson_amd64 on 2008/07/17 22:39:18 Bug fix: Wrong field used for "fport" in print_socketex32_tok(). Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#52 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#52 (text+ko) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#51 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#52 $ */ #include @@ -3813,7 +3813,7 @@ print_ip_address(fp, tok->tt.socket_ex32.r_addr); close_attr(fp); open_attr(fp, "fport"); - print_2_bytes(fp, tok->tt.socket_ex32.type, "%#x"); + print_2_bytes(fp, ntohs(tok->tt.socket_ex32.r_port), "%#x"); close_attr(fp); close_tag(fp, tok->id); } else { From owner-p4-projects@FreeBSD.ORG Fri Jul 18 02:46:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 270A01065675; Fri, 18 Jul 2008 02:46:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF4BA1065674 for ; Fri, 18 Jul 2008 02:46:37 +0000 (UTC) (envelope-from alepulver@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B7D008FC1D for ; Fri, 18 Jul 2008 02:46:37 +0000 (UTC) (envelope-from alepulver@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6I2kbPv078970 for ; Fri, 18 Jul 2008 02:46:37 GMT (envelope-from alepulver@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6I2kbL6078968 for perforce@freebsd.org; Fri, 18 Jul 2008 02:46:37 GMT (envelope-from alepulver@freebsd.org) Date: Fri, 18 Jul 2008 02:46:37 GMT Message-Id: <200807180246.m6I2kbL6078968@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to alepulver@freebsd.org using -f From: Alejandro Pulver To: Perforce Change Reviews Cc: Subject: PERFORCE change 145401 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Jul 2008 02:46:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=145401 Change 145401 by alepulver@alepulver_deimos on 2008/07/18 02:46:00 - Update README - Remove LICENSE_WRKSRC (a full path is more convenient) - Organize and rename internal variables, add comments - Improve configuration Affected files ... .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/README#2 edit .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.licenses.mk#2 edit .. //depot/projects/soc2008/alepulver-portslicense/ports/Mk/test-license-1/Makefile#2 edit Differences ... ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/README#2 (text+ko) ==== @@ -57,7 +57,7 @@ ============================================================================== When asking the user to agree the license there are options to save the choice -to a configuration file in "${PORT_DBDIR}/license-config.mk". +to a configuration file in "${LICENSE_CFG}" (can be global or per port). ============================================================================== 6. Reports @@ -80,30 +80,33 @@ dual/multiple licenses (need parsing code), start with only one of them * implement LICENSE_COMPAT for packaging/linking (check *_DEPENDS appropiately), but should be allowed by default first (maybe should be - NOCOMPAT instead)? + INCOMPAT instead)? * Consider licenses that need manual agreement/manual fetching provide framework help for manual distfile placing, etc + maybe also add pkg-fetch-message or some variables to avoid manual IGNORE/printf? * how do you know if a license has changed? Save checksum? Maybe license revison number suffixed by a _n? Or not needed (this is only for changes of the same license type: e.g. BSD-based to BSD-based, but with no-pkg-sell). -* provide useful aliases like "no-sell" for a general no-pkg-sell no-dist-sell -* decide if LICENSE_* variables should inherit components from LICENSE if it - is a known one + only for license "variant" and "unknown", save checksum in port cfg and compare +* provide useful aliases like "no-sell" for a general no-pkg-sell no-dist-sell, + and groups for the same purpose General: * additional targets (show-license, show-license-report, show-known-licenses, etc) * add common licenses (check a web page or try FOSSology) * avoid whitespace in saved files (reports and cfg) +* add LICENSE_TEXT for when there is no LICENSE_FILE, and show instead (not + with a license but maybe for a URL to read it) Configuration: * provide target to assist cleaning LICENSES_ACCEPTED and LICENSES_REJECTED, and ports framework configuration -* port specific config should be next to ${OPTIONSFILE}, remove the - license:category/port notation * provide root credential switching like make-config * allow approving a previously rejected and saved license with a target like - license-config + license-config (or by defining a variable) +* separate groups into another variable (either internally and/or externally->better) +* make list of error messages (by component/type) and the like, so targets are more dynamic Reports: ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/bsd.licenses.mk#2 (text+ko) ==== @@ -41,12 +41,10 @@ # The components of LICENSES_{ACCEPTED,REJECTED} can be one of: # - A license code (like "GPLv2"). # - A license group prefixed by '@' (like "@OSI"). -# - A license variant specific to a port as "license:port" (like -# GPLv2:devel/foo). # # Note that the framework configuration format is the same, but stored in -# ${LICENSE_CFG}. The user variables take precedence (anyways the other -# configuration is also made by the user). +# ${LICENSE_CFG} or ${LICENSE_CFG_PORT}. The user variables take precedence +# (anyways the other configuration is also made by the user). # # Variables provided to ports @@ -58,22 +56,23 @@ # LICENSE_NAME - Full license name (for the reports) # LICENSE_NOTES - A note about restrictions (not needed), to replace # RESTRICTED and ports/LEGAL. -# LICENSE_WRKSRC - Path to LICENSE_FILE (default: ${WRKSRC}) -# LICENSE_FILE - Path to license, relative to LICENSE_WRKSRC (or "none") +# LICENSE_FILE - Path to license (or "none") # LICENSE_DISTFILE - Name of licensed files (defaults to ${DISTFILES}) # -# The following cases are supported: +# The following cases are supported (see _LICENSE_TYPE): # -# Case 1: license defined in the framework. -# Define LICENSE; framework defines LICENSE_{PERMS,GROUPS,COMPAT,NAME}. -# By redefining any of them the port falls in Case 2. +# Case 1: license defined in the framework (aka "known"). +# Define LICENSE; framework defines license variables, by redefining any of +# them the port falls in Case 2. # -# Case 2: license is based on a defined one. -# Define LICENSE; and LICENSE_{PERMS,GROUPS,COMPAT,NAME} are defined only if -# the port does not. +# Case 2: license is based on a defined one (aka "variant"). +# All license variables must be defined by the port (but LICENSE is set to +# a known value). +# XXX This case is being considered, and if it has to inherit properties from +# its base license. Or just let it fall in Case 3. # -# Case 3: license only known by the port. -# LICENSE_{PERMS,GROUPS,COMPAT,NAME} are mandatory. +# Case 3: license only known by the port (aka "unknown"). +# All license variables must be defined by the port. # # Notes: # - Permissions use a default-deny policy (that's why groups are there). @@ -102,111 +101,98 @@ .if defined(LICENSE) -# Valid components +# Organization +# - Define common license properties +# - Define internal variables +# - Check for single or multiple port licenses +# - Check defined properties and compare with database +# - Check user and framework configuration +# - Define targets -_LICENSE_VARS_ALL= PERMS GROUPS NAME # COMPAT -_LICENSE_PERMS_ALL= dist-redist distsell pkg-redist pkg-sell auto-accept none -_LICENSE_SAVE_ALL= LICENSE ${_LICENSE_VARS_ALL:S/^/LICENSE_/} LICENSE_NOTES LICENSE_DISTFILE +# XXX Start of editable section -# Path variables - -LICENSE_WRKSRC?= ${WRKSRC} -LICENSE_DISTFILE?= ${DISTFILES} -LICENSE_DIR?= ${PREFIX}/share/licenses/${UNIQUENAME} -LICENSE_DIR_REL?= share/licenses/${UNIQUENAME} -LICENSE_CFG?= ${PORT_DBDIR}/license-config.mk -LICENSE_REPORT?= ${LICENSE_DIR}/report.mk - # License definitions # -# _LICENSES_ALL - List of defined licenses -# _LICENSE_GROUPS_ALL - List of defined license groups +# _LICENSE_LIST - List of defined licenses +# _LICENSE_LIST_GROUPS - List of defined license groups # -_LICENSES_ALL= GPLv2 -_LICENSE_GROUPS_ALL= FSF +_LICENSE_LIST= GPLv2 +_LICENSE_LIST_GROUPS= FSF # Properties of license/group "xxx" (similar to port's variables, but single) -# _LICENSE_xxx_NAME - Full name of license/group, for the reports -# _LICENSE_xxx_PERMS - Permissions -# _LICENSE_xxx_COMPAT - Compatibility +# _LICENSE_NAME_xxx - Full name/description of license/group +# _LICENSE_PERMS_xxx - Permissions +# _LICENSE_COMPAT_xxx - Compatibility # List of licenses -_LICENSE_GPLv2_NAME= GNU General Public License version 2 -_LICENSE_GPLv2_PERMS= dist-redist dist-sell pkg-redist pkg-sell auto-accept -#_LICENSE_GPLv2_COMPAT= # +_LICENSE_NAME_GPLv2= GNU General Public License version 2 +_LICENSE_PERMS_GPLv2= dist-redist dist-sell pkg-redist pkg-sell auto-accept +_LICENSE_COMPAT_GPLv2= # # List of groups -_LICENSE_FSF_NAME= Free Software Foundation approved -_LICENSE_FSF_PERMS= # -#_LICENSE_FSF_COMPAT= # +_LICENSE_NAME_FSF= Free Software Foundation approved +_LICENSE_PERMS_FSF= # +_LICENSE_COMPAT_FSF= # # Grouping +# # - Method 1: -# _LICENSE_GROUP_xxx - List of licenses under the "xxx" group +# _LICENSE_LIST_GROUP_xxx - List of licenses under the "xxx" group + +_LICENSE_LIST_GROUP_FSF= GPLv2 + # - Method 2: -# _LICENSE_xxx_GROUPS - Groups the license/group belongs to +# _LICENSE_GROUPS_xxx - Groups the license/group belongs to + +# empty -_LICENSE_GROUP_FSF= GPLv2 +# XXX End of editable section # Method 1 expands to method 2 -.for group in ${_LICENSE_GROUPS_ALL} -. for lic in ${_LICENSE_GROUP_${group}} -_LICENSE_${lic}_GROUPS?= # -. if ${_LICENSE_${lic}_GROUPS:M${group}} == "" -_LICENSE_${lic}_GROUPS+= ${group} +.for group in ${_LICENSE_LIST_GROUPS} +. for lic in ${_LICENSE_LIST_GROUP_${group}} +_LICENSE_GROUPS_${lic}?= # +. if ${_LICENSE_GROUPS_${lic}:M${group}} == "" +_LICENSE_GROUPS_${lic}+= ${group} . endif . endfor .endfor -# Check if the user agrees with the license +# Lists of variables and valid components # -# LICENSES_ACCEPTED - List of accepted licenses (user version) -# LICENSES_REJECTED - List of rejected licenses (user version) -# _LICENSES_ACCEPTED - List of accepted licenses (framework configuration) -# _LICENSES_REJECTED - List of rejected licenses (framework configuration) -# _LICENSES_YES - Merged list of accepted licenses -# _LICENSES_NO - Merged list of rejected licenses +# _LICENSE_LIST_PERMS - Valid permission components +# _LICENSE_LIST_PORT_VARS - License variables defined by the port +# _LICENSE_LIST_GROUP_VARS - License variables inherited from groups +# _LICENSE_LIST_SAVE_VARS - License variables present in the report -.if exists(${LICENSE_CFG}) -.include "${LICENSE_CFG}" -.endif +_LICENSE_LIST_PERMS= dist-redist distsell pkg-redist pkg-sell auto-accept none +_LICENSE_LIST_PORT_VARS= PERMS GROUPS NAME # COMPAT +_LICENSE_LIST_GROUP_VARS= PERMS # COMPAT +_LICENSE_LIST_SAVE_VARS= LICENSE ${_LICENSE_LIST_PORT_VARS:S/^/LICENSE_/} LICENSE_NOTES LICENSE_DISTFILE -# Make sure these are defined -_LICENSES_ACCEPTED?= # -_LICENSES_REJECTED?= # -LICENSES_ACCEPTED?= # -LICENSES_REJECTED?= # -_LICENSES_YES= # -_LICENSES_NO= # +# Path variables +# +# LICENSE_DIR - Directory to install licenses +# LICENSE_DIR_REL - Same as above, without ${PREFIX} +# LICENSE_CFG_GLOB - Global license configuration file +# LICENSE_CFG_PORT - Per port license configuration file +# LICENSE_REPORT - License report to be created (under ${LICENSE_DIR}) -# Manual user configuration (cmd-line or /etc/make.conf) -.for lic in ${LICENSES_ACCEPTED:C,\:,|,} -. if ${_LICENSES_YES:M${lic}} == "" -_LICENSES_YES+= ${lic} -. endif -.endfor -.for lic in ${LICENSES_REJECTED:C,\:,|,} -. if ${_LICENSES_NO:M${lic}} == "" -_LICENSES_NO+= ${lic} -. endif -.endfor +LICENSE_DISTFILE?= ${DISTFILES} +LICENSE_DIR?= ${PREFIX}/share/licenses/${UNIQUENAME} +LICENSE_DIR_REL?= share/licenses/${UNIQUENAME} +LICENSE_CFG_GLOB?= ${PORT_DBDIR}/license-config +LICENSE_CFG_PORT?= ${PORT_DBDIR}/${UNIQUENAME}/license +LICENSE_REPORT?= ${LICENSE_DIR}/report -# Framework configuration (load cfg file; respecting user vars) -.for lic in ${_LICENSES_ACCEPTED:C,\:,|,} -. if ${LICENSES_REJECTED:M${lic}} == "" && ${_LICENSES_YES:M${lic}} == "" -_LICENSES_YES+= ${lic} -. endif -.endfor -.for lic in ${_LICENSES_REJECTED:C,\:,|,} -. if ${LICENSES_ACCEPTED:M${lic}} == "" && ${_LICENSES_NO:M${lic}} == "" -_LICENSES_NO+= ${lic} -. endif -.endfor +# Check if single or dual/multiple license +# +# _LICENSE_SINGLE - Defined for a single license +# _LICENSE_MULTI - Set to "and"/"or"? (XXX Not implemented) -# Check if single or dual/multiple license .for lic in ${LICENSE} . if defined(_LICENSE_DEFINED) _LICENSE_MULTI= yes @@ -219,86 +205,167 @@ .endif .undef _LICENSE_DEFINED -# Evaluate final groups and permissions +# Evaluate port license groups and permissions +# +# Available values for _LICENSE_TYPE: +# Case 1: "known" (license info taken from internal database) +# Case 2: "variant" (LICENSE is known, but info taken from port) +# Case 3: "unknown" (LICENSE is not known, and info taken from port) +# +# Make sure required variables are defined, and remove conflicting (positive +# and negative) and duplicated components. .if defined(_LICENSE_SINGLE) . for lic in ${LICENSE} +. if ${_LICENSE_LIST:M${lic}} != "" +. for var in ${_LICENSE_LIST_PORT_VARS} +. if defined(LICENSE_${var}) +_LICENSE_TYPE= variant +. endif +. endfor +_LICENSE_TYPE?= known +. for var in ${_LICENSE_LIST_PORT_VARS} # Case 1: license defined in the framework. -. if ${_LICENSES_ALL:M${lic}} != "" -. for var in ${_LICENSE_VARS_ALL} +. if ${_LICENSE_TYPE} == "known" +_LICENSE_${var}= ${_LICENSE_${var}_${lic}} # Case 2: license is based on a defined one. -. if defined(LICENSE_${var}) -_LICENSE_TYPE?= variant +# XXX Should here be inheritance of non defined values? +. elif ${_LICENSE_TYPE} == "variant" _LICENSE_${var}= ${LICENSE_${var}} -. else -_LICENSE_TYPE?= known -_LICENSE_${var}?= ${_LICENSE_${lic}_${var}} . endif . endfor # Case 3: license only known by the port. . else _LICENSE_TYPE?= unknown -. for var in ${_LICENSE_VARS_ALL} -. if !defined(LICENSE_${var}) -_LICENSE_ERROR?= for a new (unknown) license, defining LICENSE_{PERMS,GROUPS,COMPAT,NAME} is mandatory -. else +. for var in ${_LICENSE_LIST_PORT_VARS} +. if defined(LICENSE_${var}) _LICENSE_${var}= ${LICENSE_${var}} . endif . endfor +# Check everything needed is defined. +. for var in ${_LICENSE_LIST_PORT_VARS} +. if !defined(_LICENSE_${var}) +. if ${_LICENSE_TYPE} == "variant" +_LICENSE_ERROR?= for a modified license, defining LICENSE_${var} is mandatory (otherwise define LICENSE alone) +. elif ${_LICENSE_TYPE} == "unknown" +_LICENSE_ERROR?= for a new/unknown license, defining LICENSE_${var} is mandatory (otherwise use a known LICENSE) +. endif +. endif +. endfor . endif # Groups are always inherited (and were expanded so no recursion) -. for group in ${_LICENSE_GROUPS} -_LICENSE_PERMS+= ${_LICENSE_${group}_PERMS} -#_LICENSE_COMPAT+= ${_LICENSE_${group}_COMPAT} +. for group in ${_LICENSE_LIST_GROUPS} +. for var in ${_LICENSE_LIST_GROUP_VARS} +_LICENSE_${var}+= ${_LICENSE_${var}_${group}} +. endfor . endfor # Remove ambiguous and duplicate components __LICENSE_PERMS:= ${_LICENSE_PERMS} _LICENSE_PERMS:= # -. for comp in ${_LICENSE_PERMS_ALL} +. for comp in ${_LICENSE_LIST_PERMS} . if ${__LICENSE_PERMS:M${comp}} != "" && ${__LICENSE_PERMS:Mno-${comp}} == "" && \ ${_LICENSE_PERMS:M${comp}} == "" _LICENSE_PERMS+= ${comp} . endif . endfor +# Check LICENSE_FILE (XXX Should be mandatory in all cases?) +. if !defined(LICENSE_FILE) +_LICENSE_ERROR?= LICENSE_FILE must be defined for unknown licenses +. endif . endfor .else # XXX dual/multiple licenses .endif +# Check if the user agrees with the license +# +# LICENSE_CFG - Path to cfg file (either global or per port) +# _LICENSE_CFG_TYPE - "global" or "port", according to the previous +# +# LICENSES_ACCEPTED - List of accepted licenses (user version) +# LICENSES_REJECTED - List of rejected licenses (user version) +# _LICENSES_ACCEPTED - List of accepted licenses (configuration file) +# _LICENSES_REJECTED - List of rejected licenses (configuration file) + +# If _LICENSE_TYPE is "known", configuration is global, otherwise per port. + +.if ${_LICENSE_TYPE} == "known" +LICENSE_CFG= ${LICENSE_CFG_GLOB} +_LICENSE_CFG_TYPE= global +.else +LICENSE_CFG= ${LICENSE_CFG_PORT} +_LICENSE_CFG_TYPE= port +.endif + +.if exists(${LICENSE_CFG}) +. include "${LICENSE_CFG}" +.endif + +# Make sure these are defined +LICENSES_ACCEPTED?= # +LICENSES_REJECTED?= # +_LICENSES_ACCEPTED?= # +_LICENSES_REJECTED?= # + # Evaluate status (accepted, rejected or ask) +# +# _LICENSE_STATUS - Status: "accepted", "rejected" or "ask" +# _LICENSE_STATUS_FROM - Status origin: "user", "config" or "default" +# _LICENSE_STATUS_REASON - Text reason of license status (XXX Required?) +_LICENSE_TYPE_PAIRS_known= LICENSES,user _LICENSES,config +_LICENSE_TYPE_PAIRS_variant= _LICENSES,config +_LICENSE_TYPE_PAIRS_unknown= _LICENSES,config + .if defined(_LICENSE_SINGLE) -# Check license +# User and saved configuration . for lic in ${LICENSE} -. if ${_LICENSES_NO:M${lic}} != "" +. for pair in ${_LICENSE_TYPE_PAIRS_${_LICENSE_TYPE}} +_LC_VAR:= ${pair:C/,.*//} +_LC_TYPE:= ${pair:C/.*,//} +. if ${${_LC_VAR}_REJECTED:M${lic}} != "" && !defined(_LICENSE_STATUS) +_LICENSE_STATUS= rejected +_LICENSE_STATUS_FROM:= ${_LC_TYPE} +. elif ${${_LC_VAR}_ACCEPTED:M${lic}} != "" && !defined(_LICENSE_STATUS) +_LICENSE_STATUS= accepted +_LICENSE_STATUS_FROM:= ${_LC_TYPE} +. endif +. endfor + +# Automatic configuration +. if !defined(_LICENSE_STATUS) +# Check groups (only available for user configuration) +. for group in ${_LICENSE_LIST_GROUPS} +. if ${LICENSES_REJECTED:M\@${group}} != "" _LICENSE_STATUS?= rejected -. elif (${_LICENSE_TYPE} == "known" && ${_LICENSES_YES:M${lic}} != "") || \ - (${_LICENSE_PERMS:Mauto-accept} != "" && !defined(LICENSES_ASK)) +_LICENSE_STATUS_FROM?= user +. endif +. if ${LICENSES_ACCEPTED:M\@${group}} != "" _LICENSE_STATUS?= accepted -. else -. if ${_LICENSE_TYPE} == "variant" -. for pair in ${_LICENSES_YES:M*\|*} -_LC_TEST:= ${pair} -. if ${_LC_TEST:C,.*\|,,} == ${PKGORIGIN} && ${_LC_TEST:C,\|.*,,} == ${lic} +_LICENSE_STATUS_FROM?= user +. endif +. endfor +# Auto-accept if LICENSE_PERMS has auto-accept, and !LICENSES_ASK +. if ${_LICENSE_PERMS:Mauto-accept} != "" +. if !defined(LICENSES_ASK) _LICENSE_STATUS?= accepted -. endif -. endfor -. undef _LC_TEST +_LICENSE_STATUS_FROM?= default +. else +_LICENSE_STATUS?= ask +_LICENSE_STATUS_FROM?= user +. endif +. endif +# If defined BATCH and need to ask, it fails +. if defined(BATCH) +_LICENSE_STATUS?= rejected +_LICENSE_STATUS_FROM?= user . endif +# Otherwise ask to the user _LICENSE_STATUS?= ask +_LICENSE_STATUS_FROM?= default . endif . endfor -# Check groups -. if ${_LICENSE_STATUS} == "ask" -. for group in ${_LICENSE_GROUPS} -. if ${_LICENSES_YES:M\@${group}} != "" -_LICENSE_STATUS= accepted -. endif -. if ${_LICENSES_NO:M\@${group}} != "" -_LICENSE_STATUS= rejected -. endif -. endfor -. endif + .else # XXX dual/multiple licenses .endif @@ -307,44 +374,29 @@ check-license: .if defined(_LICENSE_ERROR) - @${ECHO_MSG} "===> License not correctly defined: ${_LICENSE_ERROR}." + @${ECHO_MSG} "===> License not correctly defined: ${_LICENSE_ERROR}" @exit 1 .endif .if defined(_LICENSE_SINGLE) . if ${_LICENSE_STATUS} == "rejected" - @${ECHO_MSG} "===> License ${LICENSE} rejected by the user." + @${ECHO_MSG} "===> License ${LICENSE} rejected by the user (by ${_LICENSE_STATUS_FROM})" @exit 1 . elif ${_LICENSE_STATUS} == "accepted" - @${ECHO_MSG} "===> License ${LICENSE} accepted by the user." + @${ECHO_MSG} "===> License ${LICENSE} accepted by the user (by ${_LICENSE_STATUS_FROM})" . elif ${_LICENSE_STATUS} == "ask" -. if defined(BATCH) - @${ECHO_MSG} "===> License ${LICENSE} needs agreement but BATCH is defined." - @exit 1 -. else - @${ECHO_MSG} "===> License ${LICENSE} needs agreement, will ask later." -. endif + @${ECHO_MSG} "===> License ${LICENSE} needs agreement, will ask later (by ${_LICENSE_STATUS_FROM})" . endif .else # XXX dual/multiple licenses .endif -.if ${_LICENSE_STATUS} == "ask" -. if ${_LICENSE_TYPE} == "variant" -_LICENSES_ACCEPTED+= ${LICENSE}|${PKGORIGIN} -. elif ${_LICENSE_TYPE} == "known" -_LICENSES_ACCEPTED+= ${LICENSE} -. for lic in ${LICENSE} -_LICENSES_REJECTED:= ${_LICENSES_REJECTED:N${lic}} -. endfor -. endif -.endif - # Display, ask and save preference if requested ask-license: +# XXX verify checksum if accepted by port cfg file .if ${_LICENSE_STATUS} == "ask" - @if [ ! -f ${LICENSE_WRKSRC}/${LICENSE_FILE} ]; then \ - ${ECHO_CMD} "License not found in \"${LICENSE_WRKSRC}/${LICENSE_FILE}\", aborting."; \ + @if [ ! -f ${LICENSE_FILE} ]; then \ + ${ECHO_CMD} "License not found in \"${LICENSE_FILE}\", aborting."; \ exit 1; \ fi @until [ "$$status" = done ]; do \ @@ -357,14 +409,21 @@ exit 1;; \ [Ss]) ${ECHO_CMD} "License was accepted and saved."; \ ${MKDIR} ${LICENSE_CFG:H}; \ - (${ECHO_CMD} _LICENSES_ACCEPTED=${_LICENSES_ACCEPTED:C/\|/:/:Q}; \ - ${ECHO_CMD} _LICENSES_REJECTED=${_LICENSES_REJECTED:C/\|/:/:Q}) > ${LICENSE_CFG}; \ + ${ECHO_CMD} _LICENSES_ACCEPTED=${LICENSE} > ${LICENSE_CFG}; \ status=done;; \ - [Vv]) more ${LICENSE_WRKSRC}/${LICENSE_FILE}; \ + [Vv]) more ${LICENSE_FILE}; \ esac; \ done +.elif defined(LICENSES_CONFIG) +. if ${_LICENSE_STATUS_FROM} == "user" +# XXX fail here +. else +# XXX replace cfg +. endif .endif +# Package list entries, and installation + PLIST_FILES+= ${LICENSE_DIR_REL}/${LICENSE_REPORT:T} PLIST_DIRS+= ${LICENSE_DIR_REL} @@ -374,12 +433,11 @@ install-license: @${MKDIR} ${LICENSE_DIR} - @test -f ${LICENSE_WRKSRC}/${LICENSE_FILE} && \ - ${INSTALL_DATA} ${LICENSE_WRKSRC}/${LICENSE_FILE} ${LICENSE_DIR} + @test -f ${LICENSE_FILE} && ${INSTALL_DATA} ${LICENSE_FILE} ${LICENSE_DIR} @${TRUE} > ${LICENSE_REPORT} -. for var in ${_LICENSE_SAVE_ALL} +. for var in ${_LICENSE_LIST_SAVE_VARS} . if !empty(${var}) - @${ECHO_CMD} ${var}=${${var}} >> ${LICENSE_REPORT} + @${ECHO_CMD} '${var}=${${var}}' >> ${LICENSE_REPORT} . endif . endfor ==== //depot/projects/soc2008/alepulver-portslicense/ports/Mk/test-license-1/Makefile#2 (text+ko) ==== @@ -18,15 +18,15 @@ NO_WRKSUBDIR= yes LICENSE= GPLv2 -LICENSE_FILE= MyFile -LICENSE_PERMS= no-pkg-sell no-dist-sell +LICENSE_FILE= ${WRKSRC}/MyFile +#LICENSE_PERMS= no-pkg-sell no-dist-sell #LICENSE_NAME= Berkeley Software Distribution License #LICENSE_GROUPS= # #LICENSE_PERMS= dist-redist pkg-redist auto-accept do-extract: @${MKDIR} ${WRKDIR} - @${ECHO_CMD} "example" > ${WRKSRC}/${LICENSE_FILE} + @${ECHO_CMD} "example" > ${LICENSE_FILE} do-install: From owner-p4-projects@FreeBSD.ORG Fri Jul 18 02:49:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EC8D1065675; Fri, 18 Jul 2008 02:49:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5E821065673 for ; Fri, 18 Jul 2008 02:49:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9D5558FC08 for ; Fri, 18 Jul 2008 02:49:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6I2ngA3079165 for ; Fri, 18 Jul 2008 02:49:42 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6I2netW079163 for perforce@freebsd.org; Fri, 18 Jul 2008 02:49:40 GMT (envelope-from jb@freebsd.org) Date: Fri, 18 Jul 2008 02:49:40 GMT Message-Id: <200807180249.m6I2netW079163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 145402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Jul 2008 02:49:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=145402 Change 145402 by jb@freebsd3 on 2008/07/18 02:49:17 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.1#3 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.py#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#50 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#13 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/problem-reports/article.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#24 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#18 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#17 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#23 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#41 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#9 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/tools/checkupdate/notify#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/eresources/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/printing/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/mailing-lists.ent#4 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/beech.key#2 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#41 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#39 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/sson.key#1 branch .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#36 integrate .. //depot/projects/dtrace/ports/MOVED#100 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gecko.mk#2 integrate .. //depot/projects/dtrace/ports/Mk/bsd.php.mk#13 integrate .. //depot/projects/dtrace/ports/Tools/scripts/bump_revision.pl#4 integrate .. //depot/projects/dtrace/ports/Tools/scripts/modules/Makefile#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/modules/buildmodules.pl#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/modules/modules.head#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/modules/update.sh#1 branch .. //depot/projects/dtrace/ports/UPDATING#82 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#49 integrate .. //depot/projects/dtrace/src/UPDATING#35 integrate .. //depot/projects/dtrace/src/bin/setfacl/setfacl.1#5 integrate .. //depot/projects/dtrace/src/bin/stty/print.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/CHANGES#9 integrate .. //depot/projects/dtrace/src/contrib/bind9/FREEBSD-Upgrade#5 delete .. //depot/projects/dtrace/src/contrib/bind9/FREEBSD-Xlist#4 delete .. //depot/projects/dtrace/src/contrib/bind9/bin/named/client.c#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/server.c#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.pdf#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/aclocal.m4#4 delete .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/config.h.in#6 delete .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/configure#7 delete .. //depot/projects/dtrace/src/contrib/bind9/lib/bind9/check.c#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/dns/api#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/dns/dispatch.c#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/dns/include/dns/dispatch.h#6 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/dns/resolver.c#9 integrate .. //depot/projects/dtrace/src/contrib/bind9/version#9 integrate .. //depot/projects/dtrace/src/contrib/cpio/ABOUT-NLS#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/COPYING#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/ChangeLog#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/INSTALL#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/NEWS#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/THANKS#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/TODO#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/doc/cpio.texi#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/doc/version.texi#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/alloca_.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-ba.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-eexst.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-fmtstream.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-fmtstream.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-fs-xinl.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-help.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-namefrob.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-parse.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-pin.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-pv.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-pvh.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp-xinl.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/argp.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/basename.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/dirname.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/dirname.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/error.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/error.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/exit.h#4 delete .. //depot/projects/dtrace/src/contrib/cpio/lib/exitfail.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/exitfail.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/fatal.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/full-write.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/full-write.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/getopt.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/getopt1.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/getopt_.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/getopt_int.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/gettext.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/hash.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/hash.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/intprops.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/inttostr.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/inttostr.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/localedir.h#4 delete .. //depot/projects/dtrace/src/contrib/cpio/lib/mempcpy.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/mempcpy.h#4 delete .. //depot/projects/dtrace/src/contrib/cpio/lib/paxerror.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/paxexit.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/paxlib.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/paxnames.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/quote.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/quote.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/quotearg.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/quotearg.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/rmt-command.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/rmt.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/rtapelib.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/safe-read.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/safe-read.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/safe-write.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/safe-write.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/savedir.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/savedir.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/strcase.h#4 delete .. //depot/projects/dtrace/src/contrib/cpio/lib/strchrnul.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/strchrnul.h#4 delete .. //depot/projects/dtrace/src/contrib/cpio/lib/stripslash.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/strndup.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/strndup.h#4 delete .. //depot/projects/dtrace/src/contrib/cpio/lib/strnlen.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/system-ioctl.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/system.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/umaxtostr.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/unlocked-io.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/utimens.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/utimens.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/xalloc-die.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/xalloc.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/xmalloc.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/lib/xstrndup.c#1 branch .. //depot/projects/dtrace/src/contrib/cpio/lib/xstrndup.h#1 branch .. //depot/projects/dtrace/src/contrib/cpio/src/copyin.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/copyout.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/copypass.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/cpio.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/cpiohdr.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/defer.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/defer.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/dstring.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/dstring.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/extern.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/filemode.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/filetypes.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/global.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/idcache.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/main.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/makepath.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/tar.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/tar.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/tarhdr.h#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/userspec.c#4 integrate .. //depot/projects/dtrace/src/contrib/cpio/src/util.c#4 integrate .. //depot/projects/dtrace/src/etc/etc.amd64/ttys#7 integrate .. //depot/projects/dtrace/src/etc/etc.i386/ttys#7 integrate .. //depot/projects/dtrace/src/etc/namedb/named.conf#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/amd#9 integrate .. //depot/projects/dtrace/src/etc/rc.d/apmd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/bsnmpd#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/bthidd#3 integrate .. //depot/projects/dtrace/src/etc/rc.d/devd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/ftp-proxy#3 integrate .. //depot/projects/dtrace/src/etc/rc.d/ftpd#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/hcsecd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/idmapd#2 integrate .. //depot/projects/dtrace/src/etc/rc.d/ipfw#9 integrate .. //depot/projects/dtrace/src/etc/rc.d/keyserv#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/lockd#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/lpd#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountcritlocal#8 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountd#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/moused#8 integrate .. //depot/projects/dtrace/src/etc/rc.d/nfsclient#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/nfsd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/nscd#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/ntpd#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/pf#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/powerd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/rpcbind#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/rtadvd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/rwho#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/savecore#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/sdpd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/sendmail#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/sshd#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/statd#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/timed#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/ugidfw#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/watchdogd#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/ypbind#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/yppasswdd#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/ypserv#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/ypset#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/ypupdated#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/ypxfrd#6 integrate .. //depot/projects/dtrace/src/etc/rc.firewall#10 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#35 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/cpio/Makefile#6 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/cpio/config.h#4 integrate .. //depot/projects/dtrace/src/include/unistd.h#16 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive.h#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_tar.c#17 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_disk.c#9 integrate .. //depot/projects/dtrace/src/lib/libarchive/config_freebsd.h#8 integrate .. //depot/projects/dtrace/src/lib/libc/gen/signal.3#5 integrate .. //depot/projects/dtrace/src/lib/libc/posix1e/acl_support.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/hcreate.3#4 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/hcreate.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/sys/Symbol.map#13 integrate .. //depot/projects/dtrace/src/lib/libc/sys/ktrace.2#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/modstat.2#5 integrate .. //depot/projects/dtrace/src/lib/libgeom/geom_ctl.c#4 integrate .. //depot/projects/dtrace/src/lib/libgeom/geom_getxml.c#5 integrate .. //depot/projects/dtrace/src/lib/libgeom/geom_xml2tree.c#4 integrate .. //depot/projects/dtrace/src/lib/libutil/expand_number.c#4 integrate .. //depot/projects/dtrace/src/release/Makefile#20 integrate .. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#7 integrate .. //depot/projects/dtrace/src/sbin/Makefile#13 integrate .. //depot/projects/dtrace/src/sbin/mount_nfs/mount_nfs.c#8 integrate .. //depot/projects/dtrace/src/share/man/man4/Makefile#39 integrate .. //depot/projects/dtrace/src/share/man/man4/ahc.4#5 integrate .. //depot/projects/dtrace/src/share/man/man4/bpf.4#7 integrate .. //depot/projects/dtrace/src/share/man/man4/cnw.4#5 delete .. //depot/projects/dtrace/src/share/man/man4/ddb.4#18 integrate .. //depot/projects/dtrace/src/share/man/man4/ed.4#7 integrate .. //depot/projects/dtrace/src/share/man/man4/et.4#1 branch .. //depot/projects/dtrace/src/share/man/man4/malo.4#4 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/Makefile#6 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/arl.4#4 delete .. //depot/projects/dtrace/src/share/man/man4/man4.i386/oltr.4#4 delete .. //depot/projects/dtrace/src/share/man/man4/man4.i386/sbni.4#4 delete .. //depot/projects/dtrace/src/share/man/man4/man4.powerpc/Makefile#3 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.powerpc/bm.4#1 branch .. //depot/projects/dtrace/src/share/man/man4/sbsh.4#5 delete .. //depot/projects/dtrace/src/share/man/man4/zyd.4#3 integrate .. //depot/projects/dtrace/src/share/man/man9/style.9#8 integrate .. //depot/projects/dtrace/src/share/misc/committers-src.dot#13 integrate .. //depot/projects/dtrace/src/share/zoneinfo/leapseconds#8 integrate .. //depot/projects/dtrace/src/sys/Makefile#15 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/busdma_machdep.c#10 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/machdep.c#29 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/minidump_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/mp_machdep.c#13 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#50 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#43 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC.hints#6 integrate .. //depot/projects/dtrace/src/sys/amd64/include/pmap.h#13 integrate .. //depot/projects/dtrace/src/sys/amd64/include/vmparam.h#9 integrate .. //depot/projects/dtrace/src/sys/arm/at91/if_atereg.h#5 integrate .. //depot/projects/dtrace/src/sys/boot/forth/loader.conf#17 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/boot2/README.serial.98#4 delete .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_da.c#15 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_misc.c#15 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#25 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#25 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#25 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#25 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#25 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#25 integrate .. //depot/projects/dtrace/src/sys/compat/svr4/svr4_stat.c#5 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#61 integrate .. //depot/projects/dtrace/src/sys/conf/files#99 integrate .. //depot/projects/dtrace/src/sys/conf/files.i386#37 integrate .. //depot/projects/dtrace/src/sys/conf/files.pc98#23 integrate .. //depot/projects/dtrace/src/sys/conf/kern.post.mk#15 integrate .. //depot/projects/dtrace/src/sys/conf/newvers.sh#6 integrate .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/COPYRIGHT#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/if_oltr.c#6 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/if_oltr_isa.c#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/if_oltr_pci.c#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/if_oltrvar.h#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/trlld.h#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/trlldbm.c#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/trlldhm.c#4 delete .. //depot/projects/dtrace/src/sys/contrib/dev/oltr/trlldmac.c#4 delete .. //depot/projects/dtrace/src/sys/dev/acpi_support/acpi_asus.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/age/if_age.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/arl/if_arl.c#7 delete .. //depot/projects/dtrace/src/sys/dev/arl/if_arl_isa.c#6 delete .. //depot/projects/dtrace/src/sys/dev/arl/if_arlreg.h#5 delete .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#30 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-pci.h#17 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/cissio.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/cissreg.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/cissvar.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/cnw/if_cnw.c#8 delete .. //depot/projects/dtrace/src/sys/dev/cnw/if_cnwioctl.h#4 delete .. //depot/projects/dtrace/src/sys/dev/cnw/if_cnwreg.h#4 delete .. //depot/projects/dtrace/src/sys/dev/cs/if_cs.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/cs/if_csreg.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/ed/if_ed_pccard.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/et/if_et.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/if_ndis/if_ndis.c#21 integrate .. //depot/projects/dtrace/src/sys/dev/k8temp/k8temp.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/lmc/if_lmc.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/lmc/if_lmc.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/pccard/pccarddevs#9 integrate .. //depot/projects/dtrace/src/sys/dev/re/if_re.c#22 integrate .. //depot/projects/dtrace/src/sys/dev/sbni/if_sbni.c#6 delete .. //depot/projects/dtrace/src/sys/dev/sbni/if_sbni_isa.c#5 delete .. //depot/projects/dtrace/src/sys/dev/sbni/if_sbni_pci.c#5 delete .. //depot/projects/dtrace/src/sys/dev/sbni/if_sbnireg.h#4 delete .. //depot/projects/dtrace/src/sys/dev/sbni/if_sbnivar.h#4 delete .. //depot/projects/dtrace/src/sys/dev/sbsh/if_sbsh.c#7 delete .. //depot/projects/dtrace/src/sys/dev/sbsh/if_sbshreg.h#4 delete .. //depot/projects/dtrace/src/sys/dev/sound/pci/hda/hdac.c#20 integrate .. //depot/projects/dtrace/src/sys/dev/syscons/daemon/daemon_saver.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ohci.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/vr/if_vr.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/vr/if_vrreg.h#2 integrate .. //depot/projects/dtrace/src/sys/fs/cd9660/cd9660_rrip.c#2 integrate .. //depot/projects/dtrace/src/sys/fs/msdosfs/msdosfs_vnops.c#14 integrate .. //depot/projects/dtrace/src/sys/geom/vinum/geom_vinum_drive.c#6 integrate .. //depot/projects/dtrace/src/sys/geom/vinum/geom_vinum_subr.c#5 integrate .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#43 integrate .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC.hints#9 integrate .. //depot/projects/dtrace/src/sys/i386/conf/NOTES#24 integrate .. //depot/projects/dtrace/src/sys/i386/i386/busdma_machdep.c#11 integrate .. //depot/projects/dtrace/src/sys/i386/i386/mp_machdep.c#15 integrate .. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#41 integrate .. //depot/projects/dtrace/src/sys/i386/ibcs2/ibcs2_socksys.c#5 integrate .. //depot/projects/dtrace/src/sys/ia64/conf/GENERIC#16 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/busdma_machdep.c#8 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#25 integrate .. //depot/projects/dtrace/src/sys/ia64/include/ia64_cpu.h#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_conf.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/kern_cpuset.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/kern_event.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/kern_exec.c#29 integrate .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#32 integrate .. //depot/projects/dtrace/src/sys/kern/kern_jail.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/kern_malloc.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_mib.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/kern_xxx.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/link_elf.c#19 integrate .. //depot/projects/dtrace/src/sys/kern/link_elf_obj.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/subr_param.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/subr_stack.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#36 integrate .. //depot/projects/dtrace/src/sys/libkern/memset.c#2 integrate .. //depot/projects/dtrace/src/sys/mips/adm5120/adm5120_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/adm5120reg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/admpci.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/console.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/files.adm5120#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/if_admsw.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/if_admswreg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/if_admswvar.h#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/obio.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/obiovar.h#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/std.adm5120#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/uart_bus_adm5120.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/uart_cpu_adm5120.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/uart_dev_adm5120.c#1 branch .. //depot/projects/dtrace/src/sys/mips/adm5120/uart_dev_adm5120.h#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/files.idt#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/idt_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/idtpci.c#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/idtreg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/if_kr.c#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/if_krreg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/obio.c#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/obiovar.h#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/std.idt#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/uart_bus_rc32434.c#1 branch .. //depot/projects/dtrace/src/sys/mips/idt/uart_cpu_rc32434.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/files.malta#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/gt.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/gt_pci.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/gtreg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/gtvar.h#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/malta_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/maltareg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/obio.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/obiovar.h#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/std.malta#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/uart_bus_maltausart.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/uart_cpu_maltausart.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/yamon.c#1 branch .. //depot/projects/dtrace/src/sys/mips/malta/yamon.h#1 branch .. //depot/projects/dtrace/src/sys/mips/mips/pmap.c#5 integrate .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/adm5120reg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/admpci.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/console.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/files.adm5120#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/if_admsw.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/if_admswreg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/if_admswvar.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/obio.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/obiovar.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/std.adm5120#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/files.idt#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/idt_machdep.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/idtpci.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/idtreg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/if_kr.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/if_krreg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/obio.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/obiovar.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/std.idt#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/uart_bus_rc32434.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/idt/uart_cpu_rc32434.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/files.malta#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/gt.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/gt_pci.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/gtreg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/gtvar.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/malta_machdep.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/maltareg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/obio.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/obiovar.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/std.malta#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/uart_bus_maltausart.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/uart_cpu_maltausart.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/yamon.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/malta/yamon.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/files.sentry5#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/obio.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/obiovar.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/s5_machdep.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/s5reg.h#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/siba_cc.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/siba_mips.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/siba_sdram.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete .. //depot/projects/dtrace/src/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete .. //depot/projects/dtrace/src/sys/mips/sentry5/files.sentry5#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/obio.c#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/obiovar.h#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/s5_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/s5reg.h#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/siba_cc.c#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/siba_mips.c#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/siba_sdram.c#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/uart_bus_sbusart.c#1 branch .. //depot/projects/dtrace/src/sys/mips/sentry5/uart_cpu_sbusart.c#1 branch .. //depot/projects/dtrace/src/sys/modules/Makefile#51 integrate .. //depot/projects/dtrace/src/sys/modules/arl/Makefile#4 delete .. //depot/projects/dtrace/src/sys/modules/cnw/Makefile#2 delete .. //depot/projects/dtrace/src/sys/modules/oltr/Makefile#4 delete .. //depot/projects/dtrace/src/sys/modules/sbni/Makefile#4 delete .. //depot/projects/dtrace/src/sys/modules/sbsh/Makefile#4 delete .. //depot/projects/dtrace/src/sys/net/bpf.c#23 integrate .. //depot/projects/dtrace/src/sys/net/bpf.h#11 integrate .. //depot/projects/dtrace/src/sys/net/bpf_zerocopy.c#4 integrate .. //depot/projects/dtrace/src/sys/net/bpf_zerocopy.h#3 integrate .. //depot/projects/dtrace/src/sys/net/if_lagg.c#10 integrate .. //depot/projects/dtrace/src/sys/net/if_vlan.c#15 integrate .. //depot/projects/dtrace/src/sys/net/raw_cb.c#5 integrate .. //depot/projects/dtrace/src/sys/net/raw_cb.h#4 integrate .. //depot/projects/dtrace/src/sys/net/raw_usrreq.c#7 integrate .. //depot/projects/dtrace/src/sys/net/rtsock.c#13 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_ht.c#8 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_output.c#15 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#5 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/drivers/ubt/TODO#4 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#6 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#5 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/include/ng_bluetooth.h#5 integrate .. //depot/projects/dtrace/src/sys/netgraph/bluetooth/include/ng_btsocket.h#5 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_iface.c#5 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_ip_input.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.c#23 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.h#11 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_carp.c#13 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_gre.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet/raw_ip.c#18 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_asconf.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_asconf.h#5 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_bsd_addr.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_bsd_addr.h#6 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_constants.h#10 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_crc32.h#4 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_indata.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_indata.h#4 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_input.c#15 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_input.h#5 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_os_bsd.h#7 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_output.c#18 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_output.h#6 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#18 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.h#8 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_sysctl.h#4 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_timer.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_timer.h#4 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_uio.h#9 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_usrreq.c#17 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_var.h#10 integrate .. //depot/projects/dtrace/src/sys/netinet/sctputil.c#21 integrate .. //depot/projects/dtrace/src/sys/netinet/sctputil.h#9 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_output.c#15 integrate .. //depot/projects/dtrace/src/sys/netinet/udp_usrreq.c#20 integrate .. //depot/projects/dtrace/src/sys/netinet6/icmp6.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6.c#16 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_ifattach.c#12 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_pcb.c#16 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_pcb.h#7 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_src.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_var.h#8 integrate .. //depot/projects/dtrace/src/sys/netinet6/raw_ip6.c#12 integrate .. //depot/projects/dtrace/src/sys/netinet6/sctp6_usrreq.c#11 integrate .. //depot/projects/dtrace/src/sys/netinet6/sctp6_var.h#5 integrate .. //depot/projects/dtrace/src/sys/netinet6/udp6_usrreq.c#19 integrate .. //depot/projects/dtrace/src/sys/netipsec/keysock.c#9 integrate .. //depot/projects/dtrace/src/sys/nfsclient/bootp_subr.c#9 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vfsops.c#22 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm_advlock.c#2 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/GENERIC#20 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/NOTES#13 integrate .. //depot/projects/dtrace/src/sys/pc98/include/bus.h#4 integrate .. //depot/projects/dtrace/src/sys/pc98/pc98/busiosubr.c#4 integrate .. //depot/projects/dtrace/src/sys/pci/if_rlreg.h#17 integrate .. //depot/projects/dtrace/src/sys/powerpc/conf/GENERIC#19 integrate .. //depot/projects/dtrace/src/sys/rpc/authunix_prot.c#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#24 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/in_cksum.h#5 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/in_cksum.c#4 integrate .. //depot/projects/dtrace/src/sys/sun4v/conf/GENERIC#22 integrate .. //depot/projects/dtrace/src/sys/sys/event.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/eventhandler.h#11 integrate .. //depot/projects/dtrace/src/sys/sys/imgact.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/ioctl_compat.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/kernel.h#22 integrate .. //depot/projects/dtrace/src/sys/sys/libkern.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/link_elf.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/termios.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/ttycom.h#6 integrate .. //depot/projects/dtrace/src/sys/vm/swap_pager.c#20 integrate .. //depot/projects/dtrace/src/sys/vm/vm_kern.h#5 integrate .. //depot/projects/dtrace/src/tools/tools/mctest/Makefile#2 integrate .. //depot/projects/dtrace/src/tools/tools/mctest/mcgrab.1#1 branch .. //depot/projects/dtrace/src/tools/tools/mctest/mcgrab.cc#1 branch .. //depot/projects/dtrace/src/usr.bin/calendar/calendars/calendar.freebsd#26 integrate .. //depot/projects/dtrace/src/usr.bin/cmp/regular.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/Makefile#3 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/config_freebsd.h#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/cpio.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/tar/Makefile#9 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.h#11 integrate .. //depot/projects/dtrace/src/usr.bin/tar/config_freebsd.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/tar/read.c#11 integrate .. //depot/projects/dtrace/src/usr.bin/tar/write.c#15 integrate .. //depot/projects/dtrace/src/usr.sbin/Makefile#28 integrate .. //depot/projects/dtrace/src/usr.sbin/arlcontrol/Makefile#4 delete .. //depot/projects/dtrace/src/usr.sbin/arlcontrol/arlcontrol.8#4 delete .. //depot/projects/dtrace/src/usr.sbin/arlcontrol/arlcontrol.c#4 delete .. //depot/projects/dtrace/src/usr.sbin/cdcontrol/cdcontrol.1#4 integrate .. //depot/projects/dtrace/src/usr.sbin/cdcontrol/cdcontrol.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/extattr/rmextattr.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/create/main.c#10 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/lib/lib.h#13 integrate .. //depot/projects/dtrace/src/usr.sbin/pstat/pstat.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pw/pwupd.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/package.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/syslogd/syslog.conf.5#7 integrate .. //depot/projects/dtrace/src/usr.sbin/syslogd/syslogd.c#10 integrate .. //depot/projects/dtrace/www/de/community/irc.sgml#5 integrate .. //depot/projects/dtrace/www/de/developers.sgml#14 integrate .. //depot/projects/dtrace/www/de/index.xsl#16 integrate .. //depot/projects/dtrace/www/de/share/sgml/libcommon.xsl#7 integrate .. //depot/projects/dtrace/www/de/share/sgml/navibar.l10n.ent#10 integrate .. //depot/projects/dtrace/www/de/share/sgml/news.xml#25 integrate .. //depot/projects/dtrace/www/de/share/sgml/press.xml#18 integrate .. //depot/projects/dtrace/www/de/support/bugreports.sgml#6 integrate .. //depot/projects/dtrace/www/en/developers.sgml#40 integrate .. //depot/projects/dtrace/www/en/docproj/current.sgml#5 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#32 integrate .. //depot/projects/dtrace/www/en/gnome/docs/develfaq.sgml#11 integrate .. //depot/projects/dtrace/www/en/gnome/docs/halfaq.sgml#3 integrate .. //depot/projects/dtrace/www/en/gnome/index.xsl#13 integrate .. //depot/projects/dtrace/www/share/sgml/advisories.xml#19 integrate .. //depot/projects/dtrace/www/share/sgml/commercial.consult.xml#15 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#55 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#24 integrate Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.1#3 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.1,v 1.3 2008/06/16 21:53:10 keramida Exp $ +.\" $FreeBSD: doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.1,v 1.4 2008/07/09 19:53:54 pgj Exp $ .\" -.Dd June 15, 2008 +.Dd July 9, 2008 .Dt CHECKUPDATE 1 .Os .Sh NAME @@ -32,7 +32,7 @@ .Nd "check a translation of the FreeBSD doc/ tree for source updates" .Sh SYNOPSIS .Nm -.Op Fl aenpqtv +.Op Fl acenpPqtv .Op Fl R Ar workspace .Sh DESCRIPTION The @@ -54,6 +54,12 @@ .Bl -tag -width ".Fl f Ar flist" .It Fl a Enable all file checks for each input file. +.It Fl c +Generate compact report primarily suitable for commit logs. It will +only contain revision difference information and names of the affected +files. This will automatically disable +.Dq patch preview +mode. .It Fl e Report everything. File revision information is displayed for all the files of our input @@ -67,6 +73,11 @@ Whenever a difference is found in the revisions of the original translated file and the current English revision, show a patch of the untranslated changes. +.It Fl P +Do not be so +.Dq picky +and show all the information even if files do not contain tags. It is +disabled by default and it is not recommended to use. .It Fl q Run in .Dq quiet ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.py#3 (text+ko) ==== @@ -25,7 +25,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.py,v 1.5 2008/06/16 21:53:10 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.py,v 1.6 2008/07/09 19:53:54 pgj Exp $ """ The translation helper utility `checkupdate'. @@ -57,6 +57,7 @@ import os import re import sys +import subprocess # Alias some functions from other modules, to shorter, easier to use names. exit = sys.exit @@ -68,11 +69,13 @@ allchecks = None # All the file check functions we support. checks = None # No checks are done by default. -patchmode = False # Snow patches that need translation. +patchmode = False # Show patches that need translation. root = "." # The default workspace directory. verbose = None # Run in `quiet' mode by default. everything = False # Report everything, i.e. all input files. tuplemode = False # Use the standard output mode +compactmode = False # Generate compact stdout suitable for commit logs. +pickymode = True # Skip files without '%SRCID%' and '%SOURCE%' (default). # -------------------- useful functions -------------------------------- @@ -259,18 +262,64 @@ def reportfile(fname, frev, srcfile, srcexists, srcid, srcrev): """Report that an update is needed for a translated file.""" - text = "%s%s" % (fname, frev and " rev. " + str(frev) or "") + if not compactmode: + text = "%s%s" % (fname, frev and " rev. " + str(frev) or "") revtext = "%-10s -> %-10s" % (srcid or "NO-%SRCID%", srcrev or "NONE") - if srcfile and not srcexists: - filetext = "%s (MISSING)" % srcfile - elif srcfile: - filetext = "%s" % srcfile + if not compactmode: + if srcfile and not srcexists: + filetext = "%s (MISSING)" % srcfile + elif srcfile: + filetext = "%s" % srcfile + else: + filetext = "NO-%SOURCE%" + + if compactmode: + print "%s %s" % (revtext, fname) else: - filetext = "NO-%SOURCE%" + print "%s" % text + print " %s %s" % (revtext, filetext) + print "" + +def showdiff(fname, frev, srcfile, srcexists, srcid, srcrev): + """Show differences in the original file.""" + + if not (srcfile and srcexists and srcid and srcrev): + # Raise an exception? + print " No patch could be retrieved." + print "" + return None + + cvsdiff = ["cvs", "-R", "diff", "-u", + "-r%s" % srcid, "-r%s" % srcrev, "%s" % srcfile] + + svndiff = ["svn", "diff", + "-r", "%s:%s" % (srcid, srcrev), "%s" % srcfile] + + diffargs = None + if os.path.isdir(root + "/CVS"): + diffargs = cvsdiff + elif os.path.isdir(root + "/.svn"): + diffargs = svndiff + + if not diffargs: + print " Not a Subversion or CVS checkout." + print "" + return None + + diffcmd = "" + + for arg in diffargs: + diffcmd += (arg + " ") + + print " Patch review for:" + print " %s" % diffcmd + print "" + + output = subprocess.Popen(diffargs, stdout=subprocess.PIPE, cwd=root).communicate()[0] - print "%s" % text - print " %s %s" % (revtext, filetext) + print output print "" + return True def checkinfo(info): """Check the `info' tuple of file information. The tuple should @@ -322,7 +371,16 @@ reportfile(fname, frev, srcfile, srcexists, srcid, srcrev) return True - # The same is one of srcid, srcrev is unavailable. + # There is no frev, srcid, srcrev so do not report (has no sense). + if (pickymode and not everything) and (not srcid and not srcrev and not frev): + return None + + # There is no srcid, srcrev, may be the user does not want to track + # this file. + if (pickymode and not everything) and (not srcid and not srcrev): + return None + + # If one of srcid, srcrev is unavailable, we report it. if not srcid or not srcrev: reportfile(fname, frev, srcfile, srcexists, srcid, srcrev) return True @@ -331,6 +389,8 @@ # have different values for these two. if srcid != srcrev: reportfile(fname, frev, srcfile, srcexists, srcid, srcrev) + if patchmode: + return showdiff(fname, frev, srcfile, srcexists, srcid, srcrev) return True return None @@ -358,15 +418,11 @@ print info else: checkinfo(info) - if patchmode: - # XXX: Add `patchmode' handling here, to show the diffs of the - # XXX: original English text. - message("Patch preview mode not implemented for `%s'" % fname) return retval def usage(): """Print a usage message, and exit.""" - print "usage: %s [-aenpqtv] [-R workspace]" % progname + print "usage: %s [-acenpPqtv] [-R workspace]" % progname exit(1) # -------------------- main script body -------------------------------- @@ -374,7 +430,7 @@ if __name__ == "__main__": debug(3, "Parsing script options") try: - opts, args = getopt.getopt(sys.argv[1:], 'aenpqtR:v') + opts, args = getopt.getopt(sys.argv[1:], 'acenpPqtR:v') except getopt.GetoptError, err: usage() @@ -384,6 +440,10 @@ if o == '-a': debug(3, "Enabling all file checks") checks = allchecks # All file checks enabled. + elif o == '-c': + debug(3, "Compact mode on") + compactmode = True # Generate compact report. + patchmode = False # No previews allowed. elif o == '-e': debug(3, "Reporting file revision info for everything") everything = True @@ -391,8 +451,14 @@ debug(3, "Disabling all file checks") checks = None # No file checks enabled. elif o == '-p': - debug(3, "Enabling patch preview mode") - patchmode = True + if not compactmode: + debug(3, "Enabling patch preview mode") + patchmode = True# Show diffs for files to be merged. + else: + debug(3, "No patch preview due to compact mode") + elif o == '-P': + debug(3, "Disabling picky mode") + pickymode = False # Picky mode: no check if no revision. elif o == '-q': debug(3, "Going into quiet mode.") verbose = False # Quiet mode; no verbose messages. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#50 (text+ko) ==== @@ -1,4 +1,4 @@ - + - + BIND 9 Administrator Reference Manual @@ -6067,7 +6067,15 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 options; + it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports and avoid-v6-udp-ports options can be used to prevent named from selecting certain ports. The defaults are: ==== //depot/projects/dtrace7/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -3078,10 +3078,18 @@ a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, - a random unprivileged port will be used. The avoid-v4-udp-ports - and avoid-v6-udp-ports options can be used - to prevent named - from selecting certain ports. The defaults are: + a random unprivileged port number is picked up and will be + used for each query. + It is generally strongly discouraged to + specify a particular port for the + query-source or + query-source-v6 + options; it implicitly disables the use of randomized port numbers + and leads to insecure operation. + The avoid-v4-udp-ports + and avoid-v6-udp-ports options can be used + to prevent named + from selecting certain ports. The defaults are:

      query-source address * port *;
       query-source-v6 address * port *;
      
      ==== //depot/projects/dtrace7/src/contrib/bind9/doc/arm/Bv9ARM.pdf#3 (text+ko) ====
      
      @@ -1583,19 +1583,26 @@
       /ProcSet [ /PDF /Text ]
       >> endobj
       743 0 obj <<
      -/Length 3152      
      +/Length 3153      
       /Filter /FlateDecode
       >>
       stream
      -x[w)(=pˣ9I[۱՗y)X	I$]݁jȵD&'la0X-
      ?{qsq`+MUe{OĠĄ1bj180bPEbDŐfJ:r^^1cEebF!ԉqF2q`
      C&!qy'Yo?W?y}
      gw&-&{LrrY	08Zad8ANl7`GLALQqd2~TbxOh_NsP_?xFLe1"cJA0Q:)s꯹/AΊs^0xbNGE^'R[LMàa!pωa	wEs}$*<(yT
      c;PB1~OG.{Ii)>?vYa
      we1'jq2I	R둶߶a;\VunrR)x5	-b@80xP<,S	
      -ut$%ښ;HjB
      xI:
      -O.{_I	*U/:}}MoG|3%`zsq`(JZ{z8(aAP:<ӑ='`!eÐā!z(Ieemn;O-Kb*b @)x@ЎXCv PAs"歘
      -`QuQ@'* FQ=u|M*a',b⊱-/u߼b:.BY-Xx{3xmLBݕY|rCǵNP,/0	VK80yQQ^?5L?!樔+x[w)(=kNvliZ	UI*.Y;ȵD&'l#MM&q71NE̖gtr동gz-\~HWYBe˫__}s凋_/:{u
      +=3*S_%Y5@	sOgR	og~'?ݙfF	g~.PQh"X.SzCvrE\\Lbt;]Ϻ:sO=T+MZoz/~.{`E)Ց޳a~l?7oV;Cbb!FT
      #&F=#QںHyѬA)]Gn>u;0q2X0:q3H&Իa~Ѿe	f[YV
      +y'r;LjS
      No7ev,n)qL䶖A  endobj
       742 0 obj <<
       /Type /Page
      @@ -1972,7 +1979,7 @@
       800 0 obj <<
       /Type /Annot
       /Border[0 0 0]/H/I/C[1 0 0]
      -/Rect [499.2773 112.292 511.2325 121.3978]
      +/Rect [499.2773 112.292 511.2325 121.2483]
       /Subtype /Link
       /A << /S /GoTo /D (subsubsection.6.2.16.17) >>
       >> endobj
      @@ -1993,7 +2000,7 @@
       803 0 obj <<
       /Type /Annot
       /Border[0 0 0]/H/I/C[1 0 0]
      -/Rect [499.2773 76.197 511.2325 85.3027]
      +/Rect [499.2773 76.197 511.2325 85.1533]
       /Subtype /Link
       /A << /S /GoTo /D (subsection.6.2.17) >>
       >> endobj
      @@ -2016,23 +2023,19 @@
       /Filter /FlateDecode
       >>
       stream
      -xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
      -[|tBܚ
      
      ĠY&a
      9+ZhĝoZihdcN=wܝ
      `Z)a=TXK*d"0ݝbg؊nͅ
      -"ЬMNhRv ڙDkm{R&-PqP֕Hx>X&	B~\B BZth\{KDPi"!rQ.jG+䶾'x8 #m7?	;0~P-?!B늟}9UW܈m+QI؁1joQ+VDyF^.Yw2nʒbnWdOy
      -^fb(a$AzUIIe$/Lf2,YbNj"5bu[th6.@tpANsp9=;z$MZ.^x|y%2 Cނ)qX-"xt/@HJ}^譥ۼ\lt4uaXͺ©شx+na~КZ'Z*߉jz`0(*Mb<_&kW]pxU(aF=Ҥ(іmd~TqisN|ᚇzTӪ٠,
      -tb'W\A+YW'5ERyyO 17Lkogjlu)PgC1`X1v`P$\ɸQskb[jU/G3yT[>L,rJ v?w.a;r41I4oJb_e(:" QChwݙ2UAX!
      -j@r?*^P-ALPq6A@#Ɛ!AHj;[T9	
      ->&b2+xKs7Wt?g{F]x~ܭ+nH)k}٨׼91rPp3f_Ŭذ#0##5)fN(1ojO7jؼy=xt\
      +"ЬMNhRv ڙDkm{R&+f芍x0Gԣ
      {pLv؁ vx-Þ;+$%߸DZ&x6vKlƀ V݌%C}3qQׯӵfmy=/lA~3~1jh~*}'Wĵ:Zba$Оꂄ'wA{t溜_G]gofgݲ;wljM]?¸[)M'U3L;Li)M{A9zZ!ͦ>8j]o[/{jo?0s?7~Xlo^{F^@p~<_=R93h>Ɏ6½s$	;cP^ҫ
      +NՠX]b.=WƳq<[N3ΌGPG7e3+
      +Y(@A` (@P$&
      +IMy^V,TX1[?RWnj!x5]Vا}
      ۋRv``~A3_Wޚpo;pܫ;z5 1VC	#dLuL hx:o>Hb9BB]w"8"i#x.	 1#Aަ
      ň\q^to!byiԚe@+ZmLLj63@cFvAp]?QDfDx:Xq&6-bO%{_e+h}:v)C0P<\
      ujrP?}T?GJe3ݝR+h
      +	+00ݑ#q
      > >> endobj @@ -2136,7 +2139,7 @@ 822 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 603.1591 539.579 612.0157] +/Rect [527.6238 603.0594 539.579 612.0157] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.1.2) >> >> endobj @@ -2185,21 +2188,21 @@ 829 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 519.3733 539.579 528.3296] +/Rect [527.6238 519.3733 539.579 528.479] /Subtype /Link /A << /S /GoTo /D (subsubsection.6.3.5.3) >> >> endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 507.4181 539.579 516.3744] +/Rect [527.6238 507.4181 539.579 516.5239] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.6) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.6238 495.4629 539.579 504.5687] +/Rect [527.6238 495.4629 539.579 504.4192] /Subtype /Link /A << /S /GoTo /D (subsection.6.3.7) >> >> endobj @@ -4820,22 +4823,20 @@ /ProcSet [ /PDF /Text ] >> endobj 1244 0 obj << -/Length 2446 +/Length 2371 /Filter /FlateDecode >> stream -x]sFݿBon~ュb6[E M ,7@ZFٴfq ,-\Z\޶lG\Õ`xcƲLXզlZZiGgQ y UfVp -ЌkN1h Ў9짭_G§@H P 7U+ꉣ (jTmh⾪py$\-3eL-Q -~b׿rzwdFn?#5`?knޛhw$C?=^Ǟem -bOzen`U}r$_U@q!"E.8\1ᘞE8ЊvAJD t) -Sm0L@i{CA֫E,F6#-!A֝Rjh%){.p:!H(p ~Jrܴ#D҂{I Xͦ8RJaE܎_nj~pGŒQ R.XL-7H {+?76X!*l(j.^$=0|`xD7ayH'0gWD4{!c˼ 8}]ž!6WЂd3i튧∄e~!(Xd4(HdqO8`R;XT/h5<[`TGp5A,QrqlW= @e.Vrء^ -|Av4]a) Ej i\񔋀I1eVo"XjYķw>g\D -GCOSP.M=pjJ@b}*A*.߿f: U[~=~|{!RvmxncO,=UMB$_Eg$`e^OEU6V -԰m0 Q1-&yg`% u\ f`QBgj?z[EDfu1]Bz xDmD]]GsK̀'-^,GpUW>bqYVW]PƘb`W&x ;wI8Ag+ڏ"VtZ>ӈQ;籃)R[&ϣLBȅzTvOF~oNWRqb}ZS70t"v"Bd8 O_5Vp}Dm HN#êyDC^\,]Ny|$RZX`XP ï̻%wYgp5r)ܵtYިiԖF{endstream +xY_sFQ7f/V#71Tϥ#~Xkua+%jfOcIn$y*2/{}^eE~Y; 42a*8ZeTt_CH-@3h7|KrUEc\ULQ.HxT:2fxAh50 ;1_wlHfW ;{:ûZ~> endobj 370 0 obj << -/D [1243 0 R /XYZ 85.0394 650.4851 null] +/D [1243 0 R /XYZ 85.0394 644.6312 null] >> endobj 1246 0 obj << -/D [1243 0 R /XYZ 85.0394 625.2941 null] +/D [1243 0 R /XYZ 85.0394 617.8313 null] >> endobj 374 0 obj << -/D [1243 0 R /XYZ 85.0394 171.1138 null] +/D [1243 0 R /XYZ 85.0394 131.6963 null] >> endobj 1006 0 obj << -/D [1243 0 R /XYZ 85.0394 149.3849 null] +/D [1243 0 R /XYZ 85.0394 108.3585 null] >> endobj 1242 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F39 863 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> @@ -4865,26 +4866,25 @@ /ProcSet [ /PDF /Text ] >> endobj 1249 0 obj << -/Length 3623 +/Length 3641 /Filter /FlateDecode >> stream -x[s6_sf<~f{\wt>(hjKeo @}YvҹNL ?-㝝={=^%{6W_7^BTOP-=D)(_5(wo>dD)O*& UZ&j NkV|*7ZR媠c1WpJSCs,\}h$-G g}qv=e}Y-fI:d_!XP^|\⁀{']a^zvjIic͛d$^x & - (ٶr)Nz4s|Fai+`t[L΃l:1;񱖅 zېBB R wUĴbr2@B \5b@P)tu;Y}APzфm=p-zC!9Ʋ.I(z[MI+E._ʼ 9}dTJ:]l{C9)7L -X289Z;!U{QۺNy8Kf~ d_@9vR> R jt?SI+mǛcD&e=x;?(A0{|irsw&% Ku60с$cԍ+1FQLx!] .%IÖI5 aԆߕK*B4~0@$^h=3K}KτdwsRaxZ(?[xۓώ*71˸~eTt"B׫gȚ L|RLH8Wo&^m&xwn-~l ,jZ6z ApJe>yTCƓ:-Li'Ĩ\Tl< d>C>ٿ62ȥ!%;w\V˖H_H"v3 i:=+!- -r* a18Np:1$N83׃gZ0A =tN)=:zK*>FJO2^+D8bm/<h P7q-,vaSk"__ʱ1R|z - -pl#3hFacsdairxaGn q5{VؤMlܯ%rS7xER<a@;NDc3|Omܣ`LJT*J}~>t(e"z\Sg|7VJU|/I& F8 jtxAAL6lrS!^endstream +x[s_P3&GNilV'&y8G#-}wR̴qX,~]@RŸLRz/3oE"Ur^{hB1<T^.N/oWΩϳThq#ٛ|2;yj9{{k*}?x5W.Q7~#5<Ʒ7ᆪO?'x7Wpq}ۮ^% .䷋KXRGBy/61"ĚŧZC)ĉDrnp0Ȕ,"5ڴRjJʑ +oz^r4^6.MRMnz+%Hf9dM}ojS6{*+jJY4?c7mA})vܼ_yNZ Vh" yФZ4!3! ʨxOYEJPWjobpqztl\)l[5h% +蒜V4ZF>쏭T*<+-/lY08`aBoOqJ;pgT@*PkEKBޞã`.}@y3w?n 2V=HEjR,[ +-/Cs1rL)##{%UgN+알آ^Ib[^IW"a"+6 a JvUc{>G,# 9:UͮDgk&9ַil:l- +sd4%.hQz2?m[.|tp%ʛP~I idN$ g3@NXtޜN*H+X289R;!U{ RۺNY8$K+/i+PTCOh-CxeI6d hUh?YMo_nE* +!96SUIO*Kp){z! XkM]zx9ŗxz&\+}6C>LjkI ٭g">BT=B`XuNXkYZc5g'09)dgSjp>%dbSn2H[B-='5zoM_ ӡ!yɾ'ɟ[OYk,F< endobj 1248 0 obj << /Type /Page @@ -4897,181 +4897,193 @@ /D [1248 0 R /XYZ 56.6929 794.5015 null] >> endobj 1247 0 obj << -/Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1253 0 obj << -/Length 2665 +/Length 2555 /Filter /FlateDecode >> stream -x]o8=o-{vO@"-U~۲8(}STI0gت̼mXӢ} hv=R$ZclߤBj8h>$'Em'OQΧ'7H.DD;3>2MRI;).b;M׊}^`=pŌ૘b3{:TPEYif^[j@{LѶd}0gɬ|]4ݹdAs#h`\3:PC,8c#'1ݑt}c=.Ep q0e2U^v`1BvXG<1 !?ဍkA4h&&_(oF6)'6J{^_bL{@ ,PDkbNMCˏ@YD[$s's"'H#| "3`5ckb]Aá=_DKo0DdN1feӢ=V5}o862nE5g!r*:MSLQ!vC9i]- <&-{0@Ww J/208Eäut@>&Dg]U N/&e@>-Oՠ~6ف -H# S)C^00 ~`Smcq-Ōy"OD+0p\z?Lu1Qoi&4kAg@2 y\6RŏoW|awlW+]!xz8&!.r]ƁȈ憧Bc'PTe d &<3m>}B#O -e\2c]Χjn!;]9Gd>:*i -("”)8-aTP}@T֪|ٹkfu~"Z޻#B8Ijg7HT --g)kyls`"7aqȸeˆr (E+xZ_s8ϧ)3I=v۴ݴunrll HEe7fn:S$H +G&/_.fYLA',ؿTfNOReb:SZZI{-SKvDBLR#ax"ԛyU=P-ɇgSoԷkQz;7Xҧ/b[ 5=a}q:_smy[4p)RrI,E᧜Ÿ)tX2UmCoNizz1@]^ +"om ˪"j삲q8I bvQx!'$re>s> +ULNW4-jv^-hX/ВA۲!Hȴ5ͦ{:s-q4("&d 76_7bhl;6*J'ӌã7OJ2Z2סqSOHZ¦$B\cM3 u4b^~dL4TPk+7/BH0bh7;Gy#vwr(֡sjnlweqGzmMxKB-ڱ;5 +H{5S& +s ؄財 +-}(Z͢w +Fi:3: +3 L7U=Le4OmN+&+weLW}Ԃr%&k8Ӥ򴿴?Þ]h8c |u^<&KRNA$SŖzu<6| +'mK䯱+iDrK>A^"[uC,k/p(@⁝0zbEZ؀+ 8$1rհ'SJ a >K%-=Xg;aY+NG5}V]՟f`H؛rf(·ME/ᲁIaIgR a+zBj,z` zҹT endobj 1252 0 obj << /Type /Page /Contents 1253 0 R /Resources 1251 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R +/Parent 1255 0 R >> endobj 1254 0 obj << /D [1252 0 R /XYZ 85.0394 794.5015 null] >> endobj -378 0 obj << -/D [1252 0 R /XYZ 85.0394 141.2512 null] ->> endobj -1255 0 obj << -/D [1252 0 R /XYZ 85.0394 118.94 null] ->> endobj 1251 0 obj << /Font << /F37 747 0 R /F23 682 0 R /F21 658 0 R /F62 995 0 R /F63 998 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1259 0 obj << -/Length 3339 +1258 0 obj << +/Length 3193 /Filter /FlateDecode >> stream -xڭZs6_*3N5m%^d[ItkK%'>lٹd2H-J\07npSSF&u#)c`iX-4!xhh=<" ?sz.#@ vUUVL{|!-Qk]B%GB$Rd@/-.+ߝ4]sĞT*W#)$ʟP_C |姲uͩD⥐CVqCi=˜XKuL}=0mZ:94lTbR3eAi4ՄCKg@/uU]4Ϻ`_MG%ݾZL)ީx<6O"38MPp=亰kB8y X!q(P`4Wũtv};#CJCEgЯO~M~/<+xڭZKsWtՊ+yx&ڝamf(R+R8>%$)x4@%"6It:B,`d'Z]Ji,Gl(o 8O?z2O(럯/\J|)<^zO#)=N0pusw?]\kW + b B*:"i-6:Va#{YIFD3ɹ ШH(Mha[ִ_ƗfQZ\1]FI%SSOz_o[wT ]ebx׽RfLHil5n}SdAj@sO#_4~-$vx.ꆇVۓe$DNK)4@m"2dfeо]cmP4ݥA^Ь+0Pa\v +n}؎`v{n\c=3q° 7{ 9߀1?"&+8jMd7 V{.)44A䪄]V<'>=t+b!C\Cަa e %t.ݠϜKb[٢=i9a!g<0cLK _?^^nLv !JTngc{+5_jg0CT̑z*D]3Ѐ!l8VeUv=&wWD+@<9+dD4vtm=sNCIQi[![TVyhF"~EO4 p^S n m>z";F +XqoXqQRPB>Y͹jea|'> endobj 1262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [361.118 694.3759 409.8647 706.4356] +/Rect [361.118 590.715 409.8647 602.7746] /Subtype /Link /A << /S /GoTo /D (configuration_file_elements) >> >> endobj 1264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [347.1258 314.3269 404.2417 326.3865] +/Rect [347.1258 196.3262 404.2417 208.3859] /Subtype /Link /A << /S /GoTo /D (journal) >> >> endobj +1259 0 obj << +/D [1257 0 R /XYZ 56.6929 794.5015 null] +>> endobj +378 0 obj << +/D [1257 0 R /XYZ 56.6929 769.5949 null] +>> endobj 1260 0 obj << -/D [1258 0 R /XYZ 56.6929 794.5015 null] +/D [1257 0 R /XYZ 56.6929 751.6696 null] >> endobj 382 0 obj << -/D [1258 0 R /XYZ 56.6929 769.5949 null] +/D [1257 0 R /XYZ 56.6929 674.5298 null] >> endobj 1261 0 obj << -/D [1258 0 R /XYZ 56.6929 749.7681 null] +/D [1257 0 R /XYZ 56.6929 647.321 null] >> endobj 386 0 obj << -/D [1258 0 R /XYZ 56.6929 443.842 null] +/D [1257 0 R /XYZ 56.6929 331.2658 null] >> endobj 1263 0 obj << -/D [1258 0 R /XYZ 56.6929 420.887 null] +/D [1257 0 R /XYZ 56.6929 306.5278 null] >> endobj -1257 0 obj << +1256 0 obj << /Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1267 0 obj << -/Length 2860 +/Length 3155 /Filter /FlateDecode >> stream -xڭ]s۸ݿB}g"'Oۗ=eqBHw PD)餓pX,vg )eJ5z\̽f1OwlfvxٔYgwߒtw}{9%&kÒn>L>o?~xwWJn>~ o/jpb]_n/n%֗3|w6[ڿ\TVϞaRbPZZI0?.>0fҩSڦZ(3kZk)i8yxjʆS|rf|,:OyYHjB Huy9*OHIY~ g.UX4(%6ZWu~͊}5eMpݶH'Ryk-b"͒3&jYۤ,/~E􎴭ܺ}&`S4/ݽ4P7墯ڦ , /sUݣn- W5N  Γn[,Jڝ'h7~CHV8}9]#ܷSy2peGuyj^ m腩뗱Vt7S:Pi 8b:z ܤC`%].KwixM?EFT -#iLuO*sQE;GjDX+ϋ0PM0v,U67c!)iD Z="sشOP'mEeLеXx2.Ț36D҇b?"Oȥ5{Fva# e,G<5'l>Z a\XϻxqF3Ť,Or^֑cCʞ-^,wVܞy-|Xb7W&W+W8\ d,ˇ)uYQB \wdR%(+")k.nƾ*B`OjTرe{)`38"esPFAEoZ;ZJQÌ>͋1bjKJB&8 -X&\kz@%dG | >Bǡu\ dž"߶`ٗsITݟCو-4 -1k!䖁JAj]fKͶ.7%8#HWy =s|?vePæ&gз_ ̠V-HSpmG?$!XJs_!qICźmҳ(Ӹ{JzBBE autEo 9O*l)+A/0ra -O\:jy5*ևyOwe¶J ag`5:Ͻ_/<(;AW|.tE32YpbZ>Ftç0+i\z_gq,s~7LV22p -:%ͼ) -AB~PƁ%!.,s5p#Զ*j,pI5'C-X 䙻$nr.,_A]O84sv°~7K0kt-!CW;JfiBWjȌCKD7>*)13QE H]ǹan 2Αꜽo/P#PoLOb 4yCZ3ܑ&+Xп(gfzs}' A0a@$y\#6]Ypl+xڭr6m'Gg:8Yẃ(5)kO7A%g+[:h4@?ə6:3$3Ζ+1{$,<"O:eQxxHS9{\:_oʊy]/l,G>tn3nn?^/dj%ẀOw?O?<\cpRh\ȗ_,+,4D$L6W=?zA:ƦU&-XYiwYD®-#J~eO-eUuXj|U2 ٞLSM̮٥N`_ +,ofF<;5}[论.}KǏ0bٕMTKy͕bʪ"(_.m&*A=(VuPtkUdScaphDm#DLc0&|O3Ž/Xك =Մ+,qa ڱ1iƛv {Qfy]4cw cN!ͫ#k[mC.vd'>I$m⤵"axNcL#ބz:ħb$QdpX̘!A+ZxJw0Fh5 Xug$+>зv~8,p| W;eUHu z*\Kﺧ".ATe&W2ұc)Đ]0ba1n{S3&GvZ]E\ถp|vJߡP첆JP"v`i6VLO +>N%`?r~:IPaCM?U4Q!TJ+b? $'gHϺ8|wXgV|F>MMϐ$ǃ̪8gzH)!l>SkbuaL0l[qNÍkKA{RxX?&4~+`a ⛻}f> endobj 1268 0 obj << /D [1266 0 R /XYZ 85.0394 794.5015 null] >> endobj 390 0 obj << -/D [1266 0 R /XYZ 85.0394 690.2056 null] +/D [1266 0 R /XYZ 85.0394 568.5356 null] >> endobj 1269 0 obj << -/D [1266 0 R /XYZ 85.0394 665.1198 null] +/D [1266 0 R /XYZ 85.0394 542.9142 null] >> endobj 394 0 obj << -/D [1266 0 R /XYZ 85.0394 302.1184 null] +/D [1266 0 R /XYZ 85.0394 177.2349 null] >> endobj 1270 0 obj << -/D [1266 0 R /XYZ 85.0394 278.2032 null] +/D [1266 0 R /XYZ 85.0394 152.7841 null] >> endobj 1265 0 obj << -/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F62 995 0 R /F39 863 0 R >> +/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R /F62 995 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1273 0 obj << -/Length 2998 +/Length 3133 /Filter /FlateDecode >> stream -xڵ]s6ݿbN*DMIi=}we[]ɑu3PKiNfBA-BĹ1%Xe"]dM]]fT D%s"+_F&4LfXkw煈p]u/7|+o" +!uoԀeh]IwJU*-|{? -` Mnw5hvXfWm-1e V- =-gSR^un*v=+Sa`fV鑛-F{-zEqV'b\4H$\CFVIB"@Q⁈ed&)$u(y¦>NAE)~\CS+>q8P6 0e-u?I%B"V?)π,Z{$(.Ci603`!ۢ_MyTY~;@:S#YR%5)TeԳªtm~uBs^HOj!0V|S8ntͦ#!%2kq jø UZn2(7d 7)q|ܕv-AsVG]zjAUZGg-'`ݐ&Ҭ1XJ{ܐhHUӱՠ/Wt9TQZU ;5~݋bEP3dPp>!* ($3n2!~;&=ǘ֬3y̍X(;骩KR8?4TbL3C9 "i($bjŤ]55$dEH$Gk -r--d5غ( o(5#} ?9ŏMl䛺ȱʴx)5-1GEv MO-V{[VwL쾟IJ&`E +|}8N|绻&Qޡ$r1 -J6FE 0᫠-LQ QwFҜ2Io"85yC:%NSL6&R #uLBό9ekf50cp}4b Ҳ92ca,eL2:zpUK5c`쭆?Q_) mˆqKZ98p t"i? j=7( %|Hx f<21f44W)p&d_圄W#9o&-vRjgXxnyBNգM>SnrOMr3妞,7Tqtqfrj :{~u~_Nί‹|:dkr*f+1?g>y"-J@Y+iC^LFҸ-m55Mel?@$vw%Am{>ԭKPz{=Ade;qNA3!辘rbC-M-39P^R{n+I펃/$/ɣޕ ̽51h=[=]'~LSV7N-͢rVb茘oSmgS@'o7;Q L?֫]Űq <řIrHr ni䡍S 8n 8)!uaהxw\)) +xy3:er2~KaHc( im,aB*7EȈFh1>C1LC"HBJx~cʇ© ܲiX`UG2{ȘVG}Pӓ@Vv`ZM∻E%y6#*2kq C@hA =w~ncC y+Z  % c>/\bhᮉi#nVOJLhУV6BiٵזiN+b+jH,+CԱ(+GCB ]̈́ji+S>0T_W$Ÿk!)&uь:jgB{n|-3xuM3LXޟt-M1Yh}LϘ93s6㷌 bՠuc5S86_OggraX~1_K lzj]UA|;@w4>瑈)_r8ST*b I̞\Nq_x.ГchS'v߻X> endobj 1276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [213.6732 554.0172 286.8984 566.0768] +/Rect [213.6732 432.1255 286.8984 444.1851] /Subtype /Link /A << /S /GoTo /D (rrset_ordering) >> >> endobj 1277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [209.702 475.7236 283.4678 487.7833] +/Rect [209.702 354.4169 283.4678 366.4765] /Subtype /Link /A << /S /GoTo /D (topology) >> >> endobj @@ -5079,10 +5091,10 @@ /D [1272 0 R /XYZ 56.6929 794.5015 null] >> endobj 398 0 obj << -/D [1272 0 R /XYZ 56.6929 622.2509 null] +/D [1272 0 R /XYZ 56.6929 498.9148 null] >> endobj 1275 0 obj << -/D [1272 0 R /XYZ 56.6929 600.0717 null] +/D [1272 0 R /XYZ 56.6929 477.595 null] >> endobj 1271 0 obj << /Font << /F37 747 0 R /F39 863 0 R /F23 682 0 R /F62 995 0 R /F63 998 0 R /F21 658 0 R >> @@ -5090,35 +5102,33 @@ /ProcSet [ /PDF /Text ] >> endobj 1280 0 obj << -/Length 2668 +/Length 2260 /Filter /FlateDecode >> stream -x]s۸ݿB's@9ozN@K9TD) PD%7 X. ?61Pa$(d<[{}4MSf'?n\PcdxgWShTitq3Xl^|uWgfo.q)3z0Yo{}ugWgz^R~'a%Z>YH%Bđ?zɬ_:&?% Q#bL-` pnںn?rUw[} -cSfڦpSծ#=v^DnY: -o{M‰2FR3Ӕv{(.Jgê򬫖U]qpӆW{7],HK@׮7jp$$sVmӕqYl|ܖ 4M{!l]Inhqmc(Z7Lrf Ŷg}lT Am'n#7 -lT-!܉L tŲ`%!L#)4Ai7ع.u:T.&pĂyQkJ/~{H Bx qB}|O]1<<$6^84a-WW]$f- Jh-gܵ͘KV ^QSw0`'J_J駤[Xcx51NS8nncr>IU*ĄE0IX<[r p#5HH]YبHLr8'1n%1NS^brO\ %{̻=D~6F p0=Lb`a }DXԀ6%p*x4*ZtГwDPci"dz[Nz=B1AǕb`n*$\ȉT1%d\XҐUt\GW"25 hH|"&Ribr8A>O "HIˀd: iڎ!aڦݪ$iە|nfQOܶȅ~](Y_K_q*{h!e"I.Ğm2sJ2#;gjIH-$>׍\!vyXO 0ڞΓΎt_I -"r]'")]eU]f38n9 -þ-86QCKrfP_w}7R/gR=}MpeGʾ_U6i(\*<ժ,<-~ ->2r'ƠQeq*;r݉snOryAdJMrj5i_\>S֛34%93pcgL29 *'fgXΘ[淞|@t -Jם K>& S4왂`rW+xYs6_ɓ|S&>9;u)IH)%G~ ,@edn@\((BJ(Snh&hRpsrv)%Vs=Y$ ư͏NcMN'JW7/sz~ջk^\^L/\NQ Ȃ˫]ϧo~:imIeT8C~;`O'k^(aD*A"T'O2LC)a2<&+n<`ε/ꪪ-_ +ʪm9mNySOSq.E1 QFUn8WTCt9/Ql[pfVVŻ+ڋ2p9]_upG`f;0+JTmmXbb,aEҟ'v³ղXw@2$ aۻ1R xus{/}^55ø c"&$1 %HZYRi`ޑ|Ի+)$n] Bk"2j E9MVn +r]B' p*θXjk&-I(- [.fn9TsW;a^cya$y-@i0TG&PY &9T1ʉBquc:{>]s+t7/%F_ )N xJ{F2 CEREf ~ +c#TdC%1"#RAĄdԚ^! fVߟ[Q p^aWohL%UGW),g}¿)&i4)$2$i;upXBWPFVU9H 5м nP}|qGRvA-VjaU{ͷh[42ҠM#' o +;P4[Ed0efU9f A}Op)~} L["2@|&uZYTXPhgz+Cxk.3-(㣹_8m2%djP(xCkM'0,Fa|~ HT{բ :LڤQ>)5xu{]n +2Z;2c@(*WBW@tr}Ïtb8 J9Дk|~ endobj 1279 0 obj << /Type /Page /Contents 1280 0 R /Resources 1278 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R +/Parent 1255 0 R /Annots [ 1282 0 R ] >> endobj 1282 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [353.6787 560.2827 427.332 572.3423] +/Rect [353.6787 434.7534 427.332 446.813] /Subtype /Link /A << /S /GoTo /D (the_sortlist_statement) >> >> endobj @@ -5126,322 +5136,338 @@ /D [1279 0 R /XYZ 85.0394 794.5015 null] >> endobj 402 0 obj << -/D [1279 0 R /XYZ 85.0394 630.8728 null] +/D [1279 0 R /XYZ 85.0394 505.3435 null] >> endobj 955 0 obj << -/D [1279 0 R /XYZ 85.0394 603.2815 null] +/D [1279 0 R /XYZ 85.0394 477.7522 null] >> endobj 1283 0 obj << -/D [1279 0 R /XYZ 85.0394 477.5928 null] +/D [1279 0 R /XYZ 85.0394 352.0635 null] >> endobj 1284 0 obj << -/D [1279 0 R /XYZ 85.0394 465.6376 null] ->> endobj -406 0 obj << -/D [1279 0 R /XYZ 85.0394 128.2785 null] ->> endobj -1285 0 obj << -/D [1279 0 R /XYZ 85.0394 104.5761 null] +/D [1279 0 R /XYZ 85.0394 340.1083 null] >> endobj 1278 0 obj << -/Font << /F37 747 0 R /F23 682 0 R /F39 863 0 R /F21 658 0 R /F53 962 0 R /F62 995 0 R /F63 998 0 R >> -/XObject << /Im2 984 0 R >> +/Font << /F37 747 0 R /F39 863 0 R /F23 682 0 R /F21 658 0 R /F53 962 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1288 0 obj << -/Length 3669 +1287 0 obj << +/Length 3153 /Filter /FlateDecode >> stream -xڥZIw6W6{-,SA-pb7E]7=R~ݔ^PA^sX_/`rB`GTKw%~jZ?coMv8EOf}ՀCp$3 PkIx4二G+J2'p:/s{?p= -Oj`kj33,"lhLtU_]t ւvf$ڰSF_D7u0%7H,*Iq_QeG.^Mw3ES -=_:q-=R4UJǓ2nQ6O;ԛɚ{zM56hæ~WXBYۀͿpakv*~,Ȏf5Yd %Ll#-cb1jW 3ZM pmJiEPh5Pd(/hLz3j9fQhFF$e`WZLY_m`G~S9a `㦼i0q_v5~C %;Ӷ-ƚPMEd[К[bYPe0x35ն ؤ3`lka#`S-աJqhNq&} a^|r닱pЯ8\)+۲ۭ~y3i._BZȃ(1hxf- -G ^~-u!:3X3 ]Xy -hvU? 2 %-ң'NSV:O)\uZ;=;W2+#OVhg[%y3Q n$W9*>"b]C[T&p\Vl4m(̤Q[ӈ]ӶKwDגۗzt#۶֧qU/nNL$x0pM-l):}Ŝ ۟twy{t1{]q}Kނ-J]q\[?āI)yd32W/ST ۘOz[/3#4D;6$,&xgAKm`~)iN,ӯ .[B`sS\~oB|yka#|-4SHUٟ!_]Џp& -;Q]Cm -XVP' 'dAS2&]ދdqoc|܏wOi!+xڭZ[w6~ϩTDidӳu/mfFrutӓs" >|DaVQIxZ.]p{xoe2Bn79_ݖD:%߾e/c]Qͫ~zus<ꆆ[obsbћW7Wׯ.6e_$n_~cK3tX݅Je*)=e{a٨zHEbLepY>`-3KM׫ ORx^!W'&Mޯ̸^ei +w~-IR82rr|5n22KaE~_)c$1vXwbf ,*p|>T+-g%*SU]4!nKܜpynPfQӷilGFq}qǭWЗ[es +}cbp*Z5ӕu*YmSj 6+_P2&\JP. F S7+m|57o`h_K>8?yBJ0넧p1}.L46px0PΡD*ƎRƋ@tG͇v&<)i. +@Je]˅vΫxqڠ'4av,z%s[ \u9+:O3q\/:pٛkۡ?e0}E# !Q,;Q f`_7Ւ+w= @-:kPv:[&|OjK,w 1j_^W+#n*HHBC\j.tY5E x2՗G2 wp \sny,+K6\h{_3F>HwoѲjoYl҂/CeL?huX% ߦ7:R.\%%bFOEC7"R- .mIC]uDt h9ʬ'pJ`4M;M;L?H@ӋAeX88N3Dv WݦmI1b)h]#.3Ǣixx \h1>z$*c|7EF.gg֟Ql=f_bsK:RKZȘCV'WgL3Io˞e˽R3R/\,slٳU[t.q4?|=d\1 endobj -1287 0 obj << +1286 0 obj << /Type /Page -/Contents 1288 0 R -/Resources 1286 0 R +/Contents 1287 0 R +/Resources 1285 0 R /MediaBox [0 0 595.2756 841.8898] -/Parent 1256 0 R -/Annots [ 1290 0 R 1291 0 R ] +/Parent 1255 0 R +/Annots [ 1290 0 R ] >> endobj 1290 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [297.8955 476.5924 347.2449 488.6521] +/Rect [297.8955 313.5049 347.2449 325.5646] /Subtype /Link /A << /S /GoTo /D (dynamic_update) >> >> endobj -1291 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [324.9335 169.1118 381.8296 181.1714] -/Subtype /Link -/A << /S /GoTo /D (zonefile_format) >> +1288 0 obj << +/D [1286 0 R /XYZ 56.6929 794.5015 null] +>> endobj +406 0 obj << +/D [1286 0 R /XYZ 56.6929 670.419 null] >> endobj 1289 0 obj << -/D [1287 0 R /XYZ 56.6929 794.5015 null] +/D [1286 0 R /XYZ 56.6929 646.4658 null] >> endobj -1286 0 obj << -/Font << /F37 747 0 R /F21 658 0 R /F23 682 0 R /F39 863 0 R /F48 885 0 R /F62 995 0 R >> +1285 0 obj << +/Font << /F37 747 0 R /F23 682 0 R /F62 995 0 R /F63 998 0 R /F21 658 0 R /F39 863 0 R /F48 885 0 R >> /XObject << /Im2 984 0 R >> /ProcSet [ /PDF /Text ] >> endobj -1295 0 obj << -/Length 3537 +1293 0 obj << +/Length 3875 /Filter /FlateDecode >> stream -xڭZmo6_o-xJ2R_}0hC4Jf 4ZfAk gQ",}/rQWy:_|ٛ ib]LF$:Jg-\$uZ Y`TstT·EC3G3[i(rN` /uK*_艴n!Ӄ[e%h7QЗl -9}rR3Y-hp[ T7Ge`+xޮNFHZ P<5'4>W4mpK޶ rZnˁ-"nLy:NBz lǣkg:lpM : ǽFbttsYjr w9iX0H0:8x2`(z+3 %Ħ}!kGƍMXQԤo}pIBv i e&p?^΢ T4bqcTXt:FBc7=htUϠii~kvbkGyC]ͶxX%18(4ǝ(_q$ .bt*Ne}<,JSg Wu|qܣTqAD6T hQRIƠhTv?345%!0!d=iaDۘW֮?a7B sq,Ach(2` -B-ֶ3]vQ'S/ayD`[RIiUSN(IHh̊t'LC\9O!8A. ez]O%+lj2=U晚1茹,@ ݏvrq~lg֌?  #q&0zEsnA2X_o -ml z=bMl)*`l# p]oYP]DQD,n[dN>BDênsi%cW&CJ*-C1''eO̓ BdPD圧Xi0)2F%/T*J^  ^{k.m.NlLB꘩ (qԁ'" b'f.u^A\Uyyq$T=}{u؃;SѧO%IQ,3b y'D+= -I*SO:٦} +Bk7kta $-kOxGCxS7-K"q؅Vw- ޗ#DbPbh'~SB$kD AmXGUƔ:osj><ġ v1ǼFWJs>7g#ɷXBBgy,BIKҀ7mlRj $;S@Kik&S (FzǙI{&*oSb@LVClPU',n5}Ns<c Q*]zq >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 18 03:44:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6783D1065673; Fri, 18 Jul 2008 03:44:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A299106566B for ; Fri, 18 Jul 2008 03:44:44 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 011888FC16 for ; Fri, 18 Jul 2008 03:44:44 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6I3iiU8084792 for ; Fri, 18 Jul 2008 03:44:44 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6I3ihW4084790 for perforce@freebsd.org; Fri, 18 Jul 2008 03:44:43 GMT (envelope-from jb@freebsd.org) Date: Fri, 18 Jul 2008 03:44:43 GMT Message-Id: <200807180344.m6I3ihW4084790@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 145404 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 18 Jul 2008 03:44:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=145404 Change 145404 by jb@freebsd3 on 2008/07/18 03:44:27 IF6 Affected files ... .. //depot/projects/dtrace6/src/contrib/bind9/CHANGES#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/client.c#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/server.c#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.pdf#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/lib/bind/aclocal.m4#2 delete .. //depot/projects/dtrace6/src/contrib/bind9/lib/bind/config.h.in#2 delete .. //depot/projects/dtrace6/src/contrib/bind9/lib/bind/configure#2 delete .. //depot/projects/dtrace6/src/contrib/bind9/lib/dns/api#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/lib/dns/dispatch.c#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/lib/dns/resolver.c#3 integrate .. //depot/projects/dtrace6/src/contrib/bind9/version#3 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/INSTALL#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/MANIFEST#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/NEWS#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/TO-DO#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/aclocal.m4#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/config.guess#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/config.sub#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/configure#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/configure.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/dist.mk#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/doc/hackguide.doc#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/doc/html/ncurses-intro.html#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/doc/ncurses-intro.doc#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fld_def.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fld_dup.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fld_ftlink.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fld_link.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fld_newftyp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/frm_def.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/frm_driver.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fty_alnum.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fty_alpha.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fty_enum.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fty_int.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fty_num.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/fty_regex.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/headers#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/form/modules#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/MKterm.h.awk.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/curses.h.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/curses.tail#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/curses.wide#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/headers#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/nc_alloc.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/ncurses_defs#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/ncurses_dll.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/include/tic.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/install-sh#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/captoinfo.1m#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/clear.1#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_add_wch.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_addch.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_attr.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_border.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_clear.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_deleteln.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_extend.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_getcchar.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_getyx.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_insstr.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_legacy.3x#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_mouse.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_opaque.3x#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_outopts.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_printw.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_scanw.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_scr_dump.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_slk.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_termattrs.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_termcap.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_terminfo.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_threads.3x#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_trace.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/curs_util.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/default_colors.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form_driver.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form_field_new.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form_field_opts.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form_field_validation.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form_hook.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/form_opts.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/infocmp.1m#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/infotocap.1m#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/legacy_coding.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/man_db.renames#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/manlinks.sed#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/menu_driver.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/menu_hook.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/menu_opts.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/mitem_opts.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/ncurses.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/panel.3x#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/term.5#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/term.7#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/terminfo.head#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/terminfo.tail#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/tic.1m#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/toe.1m#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/tput.1#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/man/tset.1#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/menu/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/menu/headers#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/menu/menu.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/menu/modules#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/misc/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/misc/ncurses-config.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/misc/shlib#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/misc/terminfo.src#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/mk-1st.awk#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/mk-hdr.awk#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/mkdirs.sh#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/mkinstalldirs#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/MKkeyname.awk#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/MKlib_gen.sh#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/MKunctrl.awk#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/define_key.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/key_defined.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/keyok.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_addch.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_addstr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_bkgd.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_color.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_delwin.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_freeall.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_getch.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_initscr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_insch.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_instr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_mouse.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_newterm.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_newwin.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_overlay.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_redrawln.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_refresh.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_restart.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_screen.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_set_term.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_slk.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_slkclear.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_slkinit.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_slkset.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_ungetch.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/lib_window.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/memmove.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/resizeterm.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/safe_sprintf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/tries.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/use_window.c#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/base/wresize.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/curses.priv.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/fifo_defs.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/llib-lncurses#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/llib-lncursest#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/llib-lncursesw#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/modules#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/MKcaptab.awk#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/MKcaptab.sh#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/MKcodes.awk#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/MKnames.awk#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/access.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/add_tries.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/comp_error.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/comp_hash.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/comp_parse.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/db_iterator.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/entries.c#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/home_terminfo.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/init_keytry.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_acs.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_baudrate.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_data.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_napms.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_options.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_raw.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_setup.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_termcap.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_tparm.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_tputs.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/make_keys.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/name_match.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/parse_entry.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/read_entry.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/setbuf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/strings.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/trim_sgr0.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/use_screen.c#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tinfo/write_entry.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/lib_trace.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/lib_traceatr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/lib_tracebits.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/lib_tracechr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/lib_tracedmp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/lib_tracemse.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/trace_buf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/trace_tries.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/varargs.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/trace/visbuf.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/hardscroll.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/hashmap.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/lib_mvcur.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/lib_tstp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/lib_twait.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/lib_vidattr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/tty/tty_update.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_cchar.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_get_wch.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_key_name.c#1 branch .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_unget_wch.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_vid_attr.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/ncurses/widechar/lib_wunctrl.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/panel/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/panel/headers#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/panel/modules#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/clear.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/dump_entry.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/infocmp.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/modules#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/progs.priv.h#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/tic.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/toe.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/tput.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/progs/tset.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/COPYING#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/HISTORY#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/Makefile.in#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/README#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/ansi.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/charset.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/color.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/control.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/crum.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/edit.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/fun.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/init.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/menu.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/modes.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/modules#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/output.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/pad.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/scan.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/sync.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/sysdep.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/tack.1#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/tack.c#2 integrate .. //depot/projects/dtrace6/src/contrib/ncurses/tack/tack.h#2 integrate .. //depot/projects/dtrace6/src/etc/namedb/named.conf#3 integrate .. //depot/projects/dtrace6/src/games/fortune/fortune/fortune.6#2 integrate .. //depot/projects/dtrace6/src/games/fortune/fortune/fortune.c#2 integrate .. //depot/projects/dtrace6/src/lib/bind/config.mk#2 integrate .. //depot/projects/dtrace6/src/lib/libc/stdlib/hcreate.3#2 integrate .. //depot/projects/dtrace6/src/lib/libc/stdlib/hcreate.c#2 integrate .. //depot/projects/dtrace6/src/lib/libc/stdlib/system.3#2 integrate .. //depot/projects/dtrace6/src/lib/libc/sys/flock.2#2 integrate .. //depot/projects/dtrace6/src/lib/libc/sys/mkdir.2#3 integrate .. //depot/projects/dtrace6/src/lib/libftpio/ftpio.c#2 integrate .. //depot/projects/dtrace6/src/lib/ncurses/ncurses/Makefile#3 integrate .. //depot/projects/dtrace6/src/lib/ncurses/ncurses/ncurses_cfg.h#2 integrate .. //depot/projects/dtrace6/src/sbin/devfs/devfs.8#2 integrate .. //depot/projects/dtrace6/src/share/man/man4/gem.4#2 integrate .. //depot/projects/dtrace6/src/sys/amd64/include/vmparam.h#2 integrate .. //depot/projects/dtrace6/src/sys/boot/i386/boot2/boot2.c#4 integrate .. //depot/projects/dtrace6/src/sys/boot/pc98/boot2/README.serial.98#2 delete .. //depot/projects/dtrace6/src/sys/conf/NOTES#4 integrate .. //depot/projects/dtrace6/src/sys/conf/newvers.sh#4 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aac.c#4 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aac_cam.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aac_debug.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aac_disk.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aac_pci.c#4 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aacreg.h#3 integrate .. //depot/projects/dtrace6/src/sys/dev/aac/aacvar.h#2 integrate .. //depot/projects/dtrace6/src/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/dtrace6/src/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/dtrace6/src/sys/dev/mfi/mfi.c#4 integrate .. //depot/projects/dtrace6/src/sys/kern/link_elf.c#3 integrate .. //depot/projects/dtrace6/src/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/dtrace6/src/sys/modules/Makefile#8 integrate .. //depot/projects/dtrace6/src/sys/modules/bge/Makefile#2 integrate .. //depot/projects/dtrace6/src/sys/pci/if_rl.c#4 integrate .. //depot/projects/dtrace6/src/sys/pci/if_rlreg.h#4 integrate .. //depot/projects/dtrace6/src/sys/posix4/semaphore.h#2 integrate .. //depot/projects/dtrace6/src/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/dtrace6/src/sys/sparc64/include/in_cksum.h#2 integrate .. //depot/projects/dtrace6/src/sys/sparc64/pci/ofw_pcib_subr.c#3 integrate .. //depot/projects/dtrace6/src/sys/sys/aac_ioctl.h#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ipcrm/Makefile#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ipcrm/ipcrm.1#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ipcrm/ipcrm.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ipcs/Makefile#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ipcs/ipc.c#1 branch .. //depot/projects/dtrace6/src/usr.bin/ipcs/ipc.h#1 branch .. //depot/projects/dtrace6/src/usr.bin/ipcs/ipcs.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ldd/ldd.1#2 integrate .. //depot/projects/dtrace6/src/usr.bin/ldd/ldd.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/su/su.1#2 integrate .. //depot/projects/dtrace6/src/usr.sbin/Makefile#5 integrate .. //depot/projects/dtrace6/src/usr.sbin/mountd/exports.5#2 integrate Differences ... ==== //depot/projects/dtrace6/src/contrib/bind9/CHANGES#3 (text+ko) ==== @@ -1,3 +1,8 @@ + --- 9.3.5-P1 released --- + +2375. [security] Fully randomize UDP query ports to improve + forgery resilience. [RT #17949] + --- 9.3.5 released --- --- 9.3.5rc2 released --- ==== //depot/projects/dtrace6/src/contrib/bind9/bin/named/client.c#3 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.176.2.13.4.38 2007/08/28 07:19:08 tbox Exp $ */ +/* $Id: client.c,v 1.176.2.13.4.38.4.1 2008/05/22 21:11:13 each Exp $ */ #include @@ -1349,14 +1349,6 @@ } /* - * Hash the incoming request here as it is after - * dns_dispatch_importrecv(). - */ - dns_dispatch_hash(&client->now, sizeof(client->now)); - dns_dispatch_hash(isc_buffer_base(buffer), - isc_buffer_usedlength(buffer)); - - /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/dtrace6/src/contrib/bind9/bin/named/server.c#3 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.339.2.15.2.78 2008/01/17 23:45:27 tbox Exp $ */ +/* $Id: server.c,v 1.339.2.15.2.78.4.1 2008/05/22 21:11:14 each Exp $ */ #include @@ -485,6 +485,14 @@ attrs |= DNS_DISPATCHATTR_IPV6; break; } + + if (isc_sockaddr_getport(&sa) != 0) { + INSIST(obj != NULL); + cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO, + "using specific query-source port suppresses port " + "randomization and can be insecure."); + } + attrmask = 0; attrmask |= DNS_DISPATCHATTR_UDP; attrmask |= DNS_DISPATCHATTR_TCP; @@ -494,7 +502,7 @@ disp = NULL; result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr, ns_g_taskmgr, &sa, 4096, - 1000, 32768, 16411, 16433, + 1024, 32768, 16411, 16433, attrs, attrmask, &disp); if (result != ISC_R_SUCCESS) { isc_sockaddr_t any; @@ -1866,7 +1874,9 @@ } static isc_result_t -add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr) { +add_listenelt(isc_mem_t *mctx, ns_listenlist_t *list, isc_sockaddr_t *addr, + isc_boolean_t wcardport_ok) +{ ns_listenelt_t *lelt = NULL; dns_acl_t *src_acl = NULL; dns_aclelement_t aelt; @@ -1876,7 +1886,8 @@ REQUIRE(isc_sockaddr_pf(addr) == AF_INET6); isc_sockaddr_any6(&any_sa6); - if (!isc_sockaddr_equal(&any_sa6, addr)) { + if (!isc_sockaddr_equal(&any_sa6, addr) && + (wcardport_ok || isc_sockaddr_getport(addr) != 0)) { aelt.type = dns_aclelementtype_ipprefix; aelt.negative = ISC_FALSE; aelt.u.ip_prefix.prefixlen = 128; @@ -1935,7 +1946,16 @@ result = dns_dispatch_getlocaladdress(dispatch6, &addr); if (result != ISC_R_SUCCESS) goto fail; - result = add_listenelt(mctx, list, &addr); + + /* + * We always add non-wildcard address regardless of whether + * the port is 'any' (the fourth arg is TRUE): if the port is + * specific, we need to add it since it may conflict with a + * listening interface; if it's zero, we'll dynamically open + * query ports, and some of them may override an existing + * wildcard IPv6 port. + */ + result = add_listenelt(mctx, list, &addr, ISC_TRUE); if (result != ISC_R_SUCCESS) goto fail; } @@ -1965,12 +1985,12 @@ continue; addrp = dns_zone_getnotifysrc6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; addrp = dns_zone_getxfrsource6(zone); - result = add_listenelt(mctx, list, addrp); + result = add_listenelt(mctx, list, addrp, ISC_FALSE); if (result != ISC_R_SUCCESS) goto fail; } ==== //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -3732,7 +3732,15 @@ If address is * (asterisk) or is omitted, a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, -a random unprivileged port will be used. The avoid-v4-udp-ports +a random unprivileged port number is picked up and will be +used for each query. +It is generally strongly discouraged to +specify a particular port for the +query-source or +query-source-v6 options; +it implicitly disables the use of randomized port numbers +and leads to insecure operation. +The avoid-v4-udp-ports and avoid-v6-udp-ports options can be used to prevent named from selecting certain ports. The defaults are: query-source address * port *; ==== //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -1892,7 +1892,15 @@ If address is * (asterisk) or is omitted, a wildcard IP address (INADDR_ANY) will be used. If port is * or is omitted, -a random unprivileged port will be used. The avoid-v4-udp-ports +a random unprivileged port number is picked up and will be +used for each query. +It is generally strongly discouraged to +specify a particular port for the +query-source or +query-source-v6 options; +it implicitly disables the use of randomized port numbers +and leads to insecure operation. +The avoid-v4-udp-ports and avoid-v6-udp-ports options can be used to prevent named from selecting certain ports. The defaults are:

      query-source address * port *;
      
      ==== //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.pdf#3 (text+ko) ====
      
      @@ -889,8 +889,8 @@
       /Filter /FlateDecode
       >>
       stream
      -xڍ=O1[IV|$P6^I큎5P!:1qQUendstream
      +xڍ=O1[3l(pjR{HGzBeHl?TCt$M!:P}g\MTkM4B-1L~bp6à1A_8-%B
      +.o^&i-N4^aޏ}s|sm[clf?]"]N0P(GY?I,ϱQA6_>:۷/kPendstream
       endobj
       594 0 obj <<
       /Type /Page
      @@ -3225,22 +3225,19 @@
       /ProcSet [ /PDF /Text ]
       >> endobj
       977 0 obj <<
      -/Length 2580      
      +/Length 2662      
       /Filter /FlateDecode
       >>
       stream
      -xڵY_s8ϧ=}S+S6M{٦lvnnvAZS[r-9}Rl%]zәA-kA#~ѻϯ'xvyҵWp|9>Z?q5{pN6g(fR>V`g/Q+j5@XYhv}-	,g]M^Nrz\D(mST%xIqQWDi*|^,t wluYr-N3ii84~xM8/;9܎0ģm,چ]^q,9
      -[	D7dZ;(pڕCxacTr5Չ}Oį)U}%1L$C6SA։oN; i$$FLE(H$N&.f)5d☖(ܨe(2ڎlf|lu +#r	A2l
      -mRܵ*r
      -zqMVoP熷96!yUMMT^_XihO_E-a'xV1--x'"Gʿ!໙89(78c-,.bAjVAg@S˔4񼼤i]w|i޿1E8JB/[q@:\;&CHbRG)=)"w-TMt "j*#C7ñOͰ>#z54v괝<RWK1oC1M4Tgtjh-v%{f;0\[+xڭ]۶~T]DŽI|vEL'ONK,Rwv߻(bAb]' &~bb
      *Փ$pa&<ܻqu_|IXƓC2n̗L~q~swIç1Ļn$og~Lt>pK໛7w77Fz)Yvz7V+/3Z3yDBŌV*@6?^̺c32ce2@hR++AW'	O#EE@ǖAeCCb>>!=>`J%y
      :+vXbA4ψzyBs4M8Ib?lu=dZbXk5,Yj7(OTzfb}"ڽI<_bRJLm4,Mn4Oq~'d
      +~u@]
      6Y,FY5/u`6a.gMN!i	1u#
      eOi-4B_Qv)+\R4uI]O=#$3	7ǝ]{ϱU8Q2"m8JRD(1D2h*]L@>#6 [G"vO\:G.v0G^r/MfsèX6rE
      &_4"7Y+-DZǶuAsK;J
      /J
      귎p"aF
      +U&AD{%ExsڛSL;NӊXeOg/I7D"RUYXRkXhZ~Vk*jw",^Ӗ}kᓖQ?~|E4+BD(hh߇ l0op}a.iSI9'SKu9-amե.}]5~z0}\wѪ)kA2#wiu endobj
       976 0 obj <<
       /Type /Page
      @@ -3253,10 +3250,10 @@
       /D [976 0 R /XYZ 85.0394 794.5015 null]
       >> endobj
       370 0 obj <<
      -/D [976 0 R /XYZ 85.0394 419.653 null]
      +/D [976 0 R /XYZ 85.0394 388.7711 null]
       >> endobj
       979 0 obj <<
      -/D [976 0 R /XYZ 85.0394 393.5443 null]
      +/D [976 0 R /XYZ 85.0394 358.9876 null]
       >> endobj
       975 0 obj <<
       /Font << /F62 638 0 R /F43 604 0 R /F42 601 0 R /F57 628 0 R /F84 802 0 R /F86 982 0 R >>
      @@ -3264,30 +3261,18 @@
       /ProcSet [ /PDF /Text ]
       >> endobj
       985 0 obj <<
      -/Length 3187      
      +/Length 2975      
       /Filter /FlateDecode
       >>
       stream
      -xZs6_35}l/k]Rbʒג7M(Kl7L 	? hI*R"sHJ\CwyVi5⛷^8R.nFcY!U(Z,a~wr%Q߽/W&*zW?\
      8*ח_o2^_墀e!q6Y<9^ĉIlL/>\kp
      -i%K`ώE$d14u".R%FZL!
      -{HX!"1TE7_GOCLgZʼnJ9C<#گ⛫Zia=ђ¸~E6p
      -L"RXkC[{`UreH"2o
      -"J橫rO5E[2DtݮXFE_3žxQܼU?(R#+n	BmA:`
      ۿgR@
      Sjsf&5`\̨Td)e߶),R>orߍ%˜46yGĶ\o]5Tk
      Ⱦ2uT>K݋)'a	-MֲC]/:GQkܷ 2W<@[_Ul3mP>d)PMw۪XyU270mU]P?70}Ƀ4*y,tYa
      [PF>9' fSmYmͼ>
      Wq̘Ӕ:˥	3uh%ϯqXp={}U;TGlxУBA]9TAXs觍gf7dB%ƍ7|-d@-\HzIq&,PK2p͈2E&Ѥ4)#!	h/-QÌ*xG͛*h,HO!DP7H0"*0
      -OFCv'czX<3kw2*7YtfR#^\yS8s?ka6㪕KIK	ng^rYA\GvMPżun72aB9kִ(ڈ4F2
      -գ]-xfҒ1(9	xb΅ҿyfEf8W`3'<A3<ŝIjIJ[|B5ϐ=I6K(Ŵav:塉]w&W;	odzˠDQhЀPo?P
      gXf';Ԇg"ڊ5i8 p"VC|?f9ʀLƲk>qQefVZnHPk՗
      -Gg߶4J} m[@S{P[
      -|#_J@P3y溦| "gýCY1;นXcoLՂߡTׁp"t?'!˛n!MNc“0Rǽ~ל'P)еw\2I-sFTiAq/,YPGoXS]'jGc{W;Fg M	NOAsWp&/~_gX{&o!Ċ-B
      -b4`BEN?endstream
      +xZs6_R3~+-] UFBz!@'Q gO̳-)|˺.MDs;Qh)ڶ%sQ)b:_E3΍j|7mGW: }#ngqzTNX2JE&RFr|+.aSTgРe@e6Ժ"Qa]R.DheDNoZXG?K0R}U
      d
      ꧝6IaxUs۪XyY07ݏ0}vKԧC}pka滂'h,,1߶j峪We)8A^Q5l
      65$h-w&~vʎSYKC`d>i!Ŷ$հ}.
      wjN_IQ	=rUtcm90obDpfrL&rM7	chPR@'dZ-NLW@OH+ܐg}ny{L.nÖf}WȊ]H1rlaP*DcLqɂj	ͻh]('I1Zݞ׃y&
      PPgnjsPJ6:Tн;*y(*cX]H#weuhn&$!u] PetUSPd
      
      
      Y{8آv9ڲ7k,HY$(V@R4:I$$LXkqM2DSvMCI!:>FO׽Z}=:dYpMB.R#p)qZJOaKDuz\gN>Rp:WNWe%}eZV#ű*} h}"*R)Ou<ʉDJ72J3<\!qVb9vϨq
       M2WV#G!edr:+}D>^ɀ-$lCJ(X
      +gW5:$|=._2.>b#y&"6"!_y6hcN #Mp.O>Bq<+ۧNB0Hendstream
       endobj
       984 0 obj <<
       /Type /Page
      @@ -3300,34 +3285,29 @@
       /D [984 0 R /XYZ 56.6929 794.5015 null]
       >> endobj
       374 0 obj <<
      -/D [984 0 R /XYZ 56.6929 645.6366 null]
      +/D [984 0 R /XYZ 56.6929 573.6377 null]
       >> endobj
       741 0 obj <<
      -/D [984 0 R /XYZ 56.6929 622.1818 null]
      +/D [984 0 R /XYZ 56.6929 551.8981 null]
       >> endobj
       983 0 obj <<
      -/Font << /F62 638 0 R /F43 604 0 R /F84 802 0 R /F42 601 0 R >>
      +/Font << /F62 638 0 R /F43 604 0 R /F84 802 0 R /F86 982 0 R /F42 601 0 R >>
       /XObject << /Im1 795 0 R >>
       /ProcSet [ /PDF /Text ]
       >> endobj
       989 0 obj <<
      -/Length 3155      
      +/Length 3506      
       /Filter /FlateDecode
       >>
       stream
      -xڭ]s6ݿBo'D,>sr]JmN%R).ɍg-!"b-7w6-Ǿl6
      -}?e W4>U 	rݾ-W'#VP7`	f\|
      -B)3puA
      -#V*[yݞ6uLE5BFrb3kYA ؈(XNwcd,EeD`4o*OM }9˚@Zvt%bܡYZPPgJ(Yã_c6;˭5 ٫p+?
      -Xd89g{|Sm>4|#>Fπ3UGxta%;$/=)K6(J7[p\:PFS-QhIϴ4X-4C| 0@OՊDhe0
      6n>=*n}"-̑Q
      -?7䁡#5~ʧ#80=3τ!z"ŨPLϘ0}FCA|J,ٟtgQf7ꌎyl8Ow)-1-\_´
      -+I?]tJJe-B46,h6V-aV[6b!Y-~OC:ݎDIDyU~LF`j^+xڭ]s6ݿBo'D,?sMr9wn>Pes*Hub(ٙd,%X7'^MWf\O+6xę%Y17LV\Ɯ㓻wLh65L64yڪ4ngiߋ™ㆠ?緟;KI<W&K8OW,tXƽ͕2J4?{1i2a=r2}fkES(xEeCyluӔuD-ly{iޛzUT욈ݧ=s#rwQqb/EYTr:߷Q]	jmk%n8	2絘8ϼ+!0}B3*DZs6
      w{싦m@P[h'MT$̋}S,{sLua1
       2ר)k.KavXC)LjNQ:o.Sa18ᙵ svF$a9vHbY,.RmN'(~Q	-0t.dEy,+.cKȺl3@"n3cZb*/M$Z
      0^%ug܎ٽ<
      +^mHˉ6-s5҅L7DH_>cT4KA+\a!l?|a2RWV.%H-Fr]π!7En^!LXį\=;ڂ9;,2y̤6|rՌX7X9ASBaxQA쇊 ~+L1ǟI7T9.Mp量wC^X3F2LXIe,Je,㨌eRVaVю`te<>:5܏>'OG+Q3b-:֭g_zv0N^h`3߱7'i!|@8r
      +rՕ-2鈅d]Ϳn=W`1!?(DWcʻ?o%Yendstream
       endobj
       988 0 obj <<
       /Type /Page
      @@ -3340,23 +3320,23 @@
       /D [988 0 R /XYZ 85.0394 794.5015 null]
       >> endobj
       987 0 obj <<
      -/Font << /F62 638 0 R /F42 601 0 R /F43 604 0 R /F57 628 0 R /F84 802 0 R /F86 982 0 R >>
      +/Font << /F62 638 0 R /F43 604 0 R /F42 601 0 R /F57 628 0 R /F84 802 0 R /F86 982 0 R >>
       /XObject << /Im1 795 0 R >>
       /ProcSet [ /PDF /Text ]
       >> endobj
       994 0 obj <<
      -/Length 3150      
      +/Length 2914      
       /Filter /FlateDecode
       >>
       stream
      -xڭZs8_Ufj.E=u۴םݶdADWYZr_-r(yL0L͠??ㇵm`CߒRŀ)4,u^ᛦʷ`&)˹Y5zE"TeUS65OHue}On|mtwx-LR-{.`(خѲ|a@;_~fdR`er5j3" 5 5UKpo`K:L$9~88}@sG#ph: B!KCqhD?=SYU4qD8gZ4z>a-PBfN$s8֖5Q,x.85;D&#< C~(ڂ&*MĀ,|չs͚&MzZ{f[86ȱΆNfr)QȢMB&vWT\~sWl§2ivTv4cIWS=n-]ݕEh,+VTx9Ϸb}^S~ϧ=iSls
      -r&&eEtr{,|w#]~hihPFM2Kyhh o(_55KJ+e^ycǼe9j*K1-Xє.e@uR",b9+8M>T1L	Rv\X7Puq}WKɽebҔoG/
      )ݫg*YANb ]V^tRhz܇~_zqCy2ԡb*1ZK8jU&-"V$`WLͣXBY>&kC
      dVP3ou2pΗ|؈ip!`\<^%2;RKȊ˺+5gO˅ E?R;S-DZmx[CjTí{wuuzh;Ť6DU8E8ӿ*'ΎG)+xڥZ_s8ϧ*35E=u۴nKO{ J,4 HY崽Ng*+8#
      3Fi0,6g:F={q1	~`lHH4:2)|(?!dJ"&?Vs`J_-v
      '+mQwcOp2
      +|\>(Z6\XQ/,s h+bO4le.<)WG=߭6s":8BYcXE![l#bIg$o;hhM0ei6WI{v|}8V|5-UE}SSV}EF"'qBCXÿ=z*Tg!?nmNYDĺ]N`RߍtB
      }(,YsaP~4X.*U3Jny	Vj?ˉ]x扨pAL9>(Ot&0@Db5_oA1&L_m	.Ue-L5W^8'qT
      +,JpRO59#{!N%욶F}y/b2(\kW#N(S(xԟ+BXp6yh%2C+{ 6bPhTc+
      ^0J]~()G	FI5H0&E{`
      Cink=x^a<.%rFĴP?
      )ëgI:+xbH^0`ㆪcCb,
      TMX+Q+_ԡ':VbW/Ǵ endobj
       993 0 obj <<
       /Type /Page
      @@ -3364,82 +3344,82 @@
       /Resources 992 0 R
       /MediaBox [0 0 595.2756 841.8898]
       /Parent 991 0 R
      -/Annots [ 998 0 R 1000 0 R ]
      +/Annots [ 998 0 R ]
       >> endobj
       998 0 obj <<
       /Type /Annot
       /Border[0 0 0]/H/I/C[1 0 0]
      -/Rect [361.118 468.8579 409.8647 480.9176]
      +/Rect [361.118 436.2023 409.8647 448.2619]
       /Subtype /Link
       /A << /S /GoTo /D (configuration_file_elements) >>
       >> endobj
      -1000 0 obj <<
      -/Type /Annot
      -/Border[0 0 0]/H/I/C[1 0 0]
      -/Rect [347.1258 85.4256 404.2417 97.4853]
      -/Subtype /Link
      -/A << /S /GoTo /D (journal) >>
      ->> endobj
       995 0 obj <<
       /D [993 0 R /XYZ 56.6929 794.5015 null]
       >> endobj
       378 0 obj <<
      -/D [993 0 R /XYZ 56.6929 647.7963 null]
      +/D [993 0 R /XYZ 56.6929 621.8163 null]
       >> endobj
       996 0 obj <<
      -/D [993 0 R /XYZ 56.6929 624.4206 null]
      +/D [993 0 R /XYZ 56.6929 597.0941 null]
       >> endobj
       382 0 obj <<
      -/D [993 0 R /XYZ 56.6929 550.3829 null]
      +/D [993 0 R /XYZ 56.6929 519.9904 null]
       >> endobj
       997 0 obj <<
      -/D [993 0 R /XYZ 56.6929 524.5365 null]
      +/D [993 0 R /XYZ 56.6929 492.7975 null]
       >> endobj
       386 0 obj <<
      -/D [993 0 R /XYZ 56.6929 216.2206 null]
      +/D [993 0 R /XYZ 56.6929 176.8325 null]
       >> endobj
       999 0 obj <<
      -/D [993 0 R /XYZ 56.6929 192.8449 null]
      +/D [993 0 R /XYZ 56.6929 152.1104 null]
       >> endobj
       992 0 obj <<
       /Font << /F62 638 0 R /F43 604 0 R /F84 802 0 R /F42 601 0 R /F57 628 0 R >>
       /XObject << /Im1 795 0 R >>
       /ProcSet [ /PDF /Text ]
       >> endobj
      -1003 0 obj <<
      -/Length 2948      
      +1002 0 obj <<
      +/Length 3192      
       /Filter /FlateDecode
       >>
       stream
      -xڥZKs6WtUA3O֩zlD۬HE8~-{+gVRhmweەv89.Bx%z-Hn~5_x$hH].˘(Z"@r{ؒx}خ=
      4ht u/iBt
      1Wa/ŮgZ&wMX,5(,SJx*0W!)kjG^Q8,t9חOt,uD{)j_|)ړT.5<
      -ԌTH` 
      -CHж0\uy]4N(lrص!-sy^jfIKN(̡Ӈ9=
      -sç_b'缋_a@tqԧ42X"U6r:	f|a&.XR"X|\Q,4˔9i.K(0+fj
      *Q!Kmsc(@}@'<$ Y8_<`-vTsvWn-F*2zx1ԯΧ+Rn{j$u!]EX*EP9PG^֠Qr%T\BM,/';ɭ-x>Nž.*nRȀe#@L,4&+Py =!2[!+mސAC+HAYȹ0ܼ7|C)e2< !^Yυmܽ-;x杜7:z)3w)1Q81nԸ˷	b&{<# ]5OMÞMqܩT:֙8g-'~xcߦ!-db:2jcc+fRe(q/Q,8+xڥZKs6WtUAq2dJ=ds$E*"eF$(QrR)+9X9rB+oߖo]{yly155TZH3᧲a,)JUÖN+G={"bLWcLeʓ\6z?-6𿳰Su_
      ic}2Selށ-N`
      +oXk?-JOu`RSpŠnMk"Iݮ\W(ػ/42ڭj^kMs_4]W16^S+?\v[պ76]ӿܶ/"9KhMXUoI<8X9YUu݀&=gzP|LFfDt!=Nv[BHMө
      +1+Buŝ&$m'!tBrOkqu4R6"--u2k{p
      :+;. 0ACϨKej-73:r}wK\(םl&D|.\Taa4gNd$(&$9{aT4e{舋/|u +L
      hՆ4H+jB^N=./и
      	<xN|m	Cccr8+vjp۽b"ü
      ;hRE+s_K1EGw]/-	MdWl@f<ΈϠNfxśJοb*niq^I߆#}Hx/ٴ=r`| ^VP}awNU1ׅ0\W~U8uf&x*S-(320{xm:7Ez+4}EuԷ-]@w;{W82xIse=n27Lv	?c\nb7Ix|ľmU_}%+iFi=2JNu76:Ӎց޵ʆI4e?CIԹ"$KUfÝؼ	47/Oje)i,J݂QŭvO*|(g_p;ů{Ƚ#޽Q678F;ђ8wct16lpcOJ&zc?Dn\³n:(^I><:L>z}A/N>**??).U	+d*Mn9)5+Woׂ%oL%cGCO-oəS-\D{ 6ֳj|i
      	Lb+J$b8/S#l*EY3?7J̇W.ќendstream
       endobj
      -1002 0 obj <<
      +1001 0 obj <<
       /Type /Page
      -/Contents 1003 0 R
      -/Resources 1001 0 R
      +/Contents 1002 0 R
      +/Resources 1000 0 R
       /MediaBox [0 0 595.2756 841.8898]
       /Parent 991 0 R
      +/Annots [ 1004 0 R ]
       >> endobj
       1004 0 obj <<
      -/D [1002 0 R /XYZ 85.0394 794.5015 null]
      +/Type /Annot
      +/Border[0 0 0]/H/I/C[1 0 0]
      +/Rect [375.4723 755.8266 432.5882 767.8862]
      +/Subtype /Link
      +/A << /S /GoTo /D (journal) >>
      +>> endobj
      +1003 0 obj <<
      +/D [1001 0 R /XYZ 85.0394 794.5015 null]
       >> endobj
       390 0 obj <<
      -/D [1002 0 R /XYZ 85.0394 449.5881 null]
      +/D [1001 0 R /XYZ 85.0394 427.5127 null]
       >> endobj
       1005 0 obj <<
      -/D [1002 0 R /XYZ 85.0394 421.8763 null]
      +/D [1001 0 R /XYZ 85.0394 402.5515 null]
       >> endobj
      -1001 0 obj <<
      +1000 0 obj <<
       /Font << /F62 638 0 R /F42 601 0 R /F43 604 0 R /F57 628 0 R /F84 802 0 R >>
       /XObject << /Im1 795 0 R >>
       /ProcSet [ /PDF /Text ]
      @@ -5335,7 +5315,7 @@
       stream
       xte\6 tݡ000 R"t	ȋ>??w^Z׺75
       rprtP(W琅CfL9g0]-{fXE+{fXE 0a֏Oo?x=	a.Ab9Y
      /z{xœ*2#Dj,8Ey;on
      Aߋ(X>.3vmsW`gϨ"
       rn蚗ߡRw9_ҹ_8=e4%v>oFk(?`Lٽ`4&9[~;26cL|r)Sjl(
       b7Vh9,IRe߷R%=
      t(%LǏ)>1٥^2O	%>pjÕr{2wBx(S|Duޡ{:ґ2G9C{ɕ<|?K@F),w? ah%ٱo^{6@-%~jwXjz1i%u3^g`d+K[De]Y?>Hj,kѸh8v_
      [J֮9m=?\k>ଇ*ѳ,Y
      W7}C#ZR$`bGοa9gS%\/hC|?s؅g)m}vk.b&O
       +uqf`a,I㯽/ݛ'P6ߢH?ٹ9mHr7:pMRY# 'WKC|-mW躖nᲶ03=j-,nebi;Hl<)L.Yڷ)wL=(L|)='-@.> endobj
       1193 0 obj <<
       /Ascent 708
       /CapHeight 672
       /Descent -266
      -/FontName /FJYMCJ+URWPalladioL-Bold-Slant_167
      +/FontName /UCTAZU+URWPalladioL-Bold-Slant_167
       /ItalicAngle -9
       /StemV 123
       /XHeight 471
      @@ -5394,13 +5374,15 @@
       /Filter /FlateDecode
       >>
       stream
      -xRkTSWRIzX%2yj	@X0iaQ*P SjXKP*4@)00H&odupg--1:Ɓ`NߊNJ	QT
      Lʷ8!A0J5P)4t%S:XH$8JF(2À{*&$l6$)iZ31 M\P@!x
      -z-!=a=XobJ;&W\y̞|dkm~^?xOQG9os9T2
      REF/P9lK+'ƍܳl%8Pqo\cE3 ?/}u'T,njO؇;fi@?VE2Ϊ(#[]h?A+n4mr"n~/}ZM%U%1U|<5cBTTzZfƝcOJ^7oWD5s2R˙2M|o|UA9/tS>'/_65nF@٪۷_wlϏu۽SJ5-+;RV^1׶1uCeBFecibǏc4xiTvòvp4Zsne+^psN"5%*WL'	~{!KĞ5T-/_jC4Uͭq^+kNۋyS/_'Z!
       mzڲ&B`!k{]yyҠF
      ~A
      ԉs8yYbݬ]jqKҵ/G#w_ZX"X͛g4+p~.OPj`N`ZF7endstream
      +xRkTSWRIzX%2yj	 b,{CnIH@TeYF?S1珘4	Gt d9$NӚQ!h|z
      +9Dd@PXG*f1Q +Hֺlx/p5'%ǩˈO-wVZ	1>
      +k]
      GZǵ}M.|QYP]#1FD{9|V@,|n&|]j
      p삸5ZQ;/-,zr1CNͳl|yZ7'
      +(԰'0Oߌendstream
       endobj
       1166 0 obj <<
       /Type /Font
      @@ -5409,14 +5391,14 @@
       /FirstChar 60
       /LastChar 62
       /Widths 1350 0 R
      -/BaseFont /FQSFCW+CMMI10
      +/BaseFont /MAGIUQ+CMMI10
       /FontDescriptor 1164 0 R
       >> endobj
       1164 0 obj <<
       /Ascent 694
       /CapHeight 683
       /Descent -194
      -/FontName /FQSFCW+CMMI10
      +/FontName /MAGIUQ+CMMI10
       /ItalicAngle -14.04
       /StemV 72
       /XHeight 431
      @@ -5436,7 +5418,7 @@
       /Length1 1608
       /Length2 6751
       /Length3 532
      -/Length 7596      
      +/Length 7597      
       /Filter /FlateDecode
       >>
       stream
      @@ -5445,30 +5427,32 @@
       RRRD fgpr;`I4p‘NP|0P-< 3>-jgh
      
      O	4O?90h(V(|SmC	^---D>?O;\IXf=$-p6\R
      G	hQ?XU>>rWC#9.P%լǤޘ?3C%M(w<:rə\a:]cRd#_Pxu
      -VJyӥ:s&bWILM)9cF>(Їv;)s,7-i ˯m}&q>?\K>gpz	te9|_hXP8	"H>I-m3&R5`/ScFoΞq.|X-0d,SA+HNӌ3U
      -k8XOfLrٌmX?O.+%`N]m/(-M((7ukݝ|~'ŅKcԸ"UE,-0
      ${Dl5u.
      lQ"1WO6i$הHV}^+۵R|W̞.lRTו^_Q1j&/peG&h
      ݥNjW&t'o:ɫL8tİ4lTI/\2<*;7:Uz &mĻx`T)5-()[fUƙZHuuU4Kk!b"-8Io+K?S]m7w,x8j&j_!4|&x#o'XLr<=;)hxbeS"G}Zh#rVe%-HL荒;=ׅw{fՊsk5W"X洗-KPv{ZtIz縦Vc%W>z̏R6V'$ྚO9IKXbw9
      O9-q.|J5$e"hlwN"i6CN ~QZ{8S\%LܽB{혪{^
      S6w
      -KV\Jrn.3`E'[\.E
      J$ܲzK 4 m;2\uʘ&SlQKK;|cfѯlg/Mʪ:E"5Š_<۹Z`/y"ϳZ>'7q'AQ5beVYƯx	Hr2'~lF4R\?sDN$e[(UQ ݞWp5E'7xD"Q]AjN?}\ۻۨX $*D\JY悝KVb=UgLn4]>uzj핫^=s6YvM:G!U:-J_.NJ?wrJxvQI
      --&fԋR/\|Ea)EԫY۝sUĵ*}p'8*u.gvƽ3yiwɖ4v/((Ѭg泠3Bݿ"a:E6>sOB:=.%	CʿtY(ee&35n:wSkm<"xɕ
      -E?yx` j$d}V]`[?z_.Cvxk7V6uUerIqݔ9?=ό-{m4<¡q*q:/S+{}P~T$k#w+kŪW6LT~n=͎X.
      ͇UY0ՂUQn7]f%#n]Ye/SUt7M{ݞiz') n1*&RR_H߽'8QEg#bLzk#&6MvB?@#˄![>=woo&4)1L6햘nj}	c2[',|3ٖQSF9N!b|XH.f0
      --ʓ_cgaJ0˛J2lbO>^>@K:[I0,)q!1?::xsICA 3&p$Y@LKT	~p-9R}wݎq}9sh@ܷͬv/7K\/$D?$	֩NWypwD]~<
      &\'vAd&429xMCpX˅
      -%mK
      -8mx1hDfTFCl+#~R	$W1\5!*n&oç)+fs(aW+iwcf;=vԷu/Mm.4%2m뷨<6Dyg,q-7E+XY٘b6t#	OKS4D4UL#zVY1
      WZEE._G=lU?]h^N>ъV~$FbfQD}J		¥_K"!q]KқݕAQ=C
      Gͩ&:)|+)eeG쭱GGxp"
      ic-N?$LvZޚ2[3ZQiq2a#k̔SwLg]|=Gd9B8TN.R}߈1A8:zձFAq|I@Xs:;Bf
      -AQlj8	)ayᛶ8@ܼoXNVU`7^r1vx|e@ՇI!ԪC)
      V3k-Fȅ5*.5wZ~&s`pIBl\"]X\-B{2I+.od?s
      cx6YX%grGLwWpV/:I|C
      }(X)QgfkbO+r՛̋m_%-#3
      7G7b62L@̱:
      
      82ԷIfVN"4	L?ժ*Nsa GP<Db=5yyGDv'>Jlad/<Z EYmGc$}]v,[3hoߜj0GIѺEQª=Sj
      +a?"=;Y1a\'E2_rBebPy<55J+qD*ᄑC-n]y,%ԧ$=+::Br䣠sirdxarCV+Rrd
      aAf|GA;R:?+C݂.v ܯFp-mP$Еh~)cEC'  $]Z)͌j(H;KDldv`͠HSJcuTfL)>9{r`'-M07BP*dg9O9)*pĹa(_O\"U#;ҿN3vl|T)D<c=-g2e3cD>:atD+|
      +8T>A*^3fhC9d\`QfiXWowbWX!Ý|mqXZ$[+ڗҰۥDN}fVςPSu־[jHχQt\~LwBMR0/MFĊ|T3[*g7f_iu`~|²VUZ_ wy;:D+[YEa(b$&P[wc~
      +V.Lu-bHovWWp.Z㫞'q&<Șhx3y{ȭx>ty5
       (ήm#UxG6Iwx?쬚;q$z>wcyŎr+gd`mvߣR+kHsm}A{}ɩ\&sY	t@bWdIjSTq욾}})ƁldzKbJ(߲)m
      +ж>BŐ#5Z%o]E`Vvҗ$ovej
      6e4jk-0́n_͎2;b?5F57ʻ輧uUE0~N6?dFdeG\-]?^j~Ӗsb0࿃&owRԶBcĈD^8K)ҽ}=;,'ǔ{}!EIgdTfx=-ͫW&P^Y4XzhjG
      +I/.^v#NqJKY}{!4RN_Bo	TΨ~{Y_MNA"yZŻƈ!}vwRC%fB@GQc(Za}61޻[Ud5{
      +v
      +ͶD=-zݸY,S-Ӻ@6WptLZJ:]eb\*(R;13W4
      +*RBwx:&ˬ3$K6/RZHN)-JZ
      + *ƍ98c2a]]Uram9&*F/b3fr*ݾ90%azcDzN$粿"G'[DLUf(p^R
      +/QəE/nJ6cL\y/Ԙ0|:'_dAeUO鹊,&7/~.Co-GnCJRX)-yύ,9pyO:fMPF#ߡPMYȁRB\o3\)pue2A0.>sE>rN7hkvCd؛RZXj[# endobj
       982 0 obj <<
       /Type /Font
      @@ -5477,14 +5461,14 @@
       /FirstChar 36
       /LastChar 121
       /Widths 1351 0 R
      -/BaseFont /TSWFRI+NimbusSanL-Bold
      +/BaseFont /DOHFNV+NimbusSanL-Bold
       /FontDescriptor 980 0 R
       >> endobj
       980 0 obj <<
       /Ascent 722
       /CapHeight 722
       /Descent -217
      -/FontName /TSWFRI+NimbusSanL-Bold
      +/FontName /DOHFNV+NimbusSanL-Bold
       /ItalicAngle 0
       /StemV 141
       /XHeight 532
      @@ -5508,7 +5492,7 @@
       B!	Aܝ`	A$MW8{Ϲ\{ͽΨ(v< х"]6P~e٣ AQ-؂P-{@(;'OH+؂P-{@(;'OH R9ݝrv ӷ8@@RsC۸#Asn_ [usxvU+Oɿ=W;^ БzyC4uͩntpI^NbfOP4s
      @@ -5540,7 +5524,7 @@
       +o=(nn꽎,Y|{|cpQ'c7ҬzZtgEv!CK;>]
       zpsBѬ&*=Ʀ(IXRw*VJlfF}ˍ.G$="_dm-neul}hEG|d#±ՌfW4Е(Yq}Gkwu^I_ry*pt7AN	gN7
       _։:0h"Qo',E@jĀ"p.a{g(gpXo
      -&+[%BYZJ4A&3/JŭL׈8r?.Buu뷧@uQ5tΥ"K"az$&%#yx+xS"L=#x{.^7|Na9U> endobj
       800 0 obj <<
       /Ascent 712
       /CapHeight 712
       /Descent -213
      -/FontName /XOQSPH+NimbusSanL-Regu
      +/FontName /PNUUAQ+NimbusSanL-Regu
       /ItalicAngle 0
       /StemV 85
       /XHeight 523
      @@ -5576,33 +5560,30 @@
       /Filter /FlateDecode
       >>
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 08:07:10 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 9CFA61065686; Fri, 18 Jul 2008 08:07:10 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 60BBA106567E
      	for ; Fri, 18 Jul 2008 08:07:10 +0000 (UTC)
      	(envelope-from andenore@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 3D52A8FC0C
      	for ; Fri, 18 Jul 2008 08:07:10 +0000 (UTC)
      	(envelope-from andenore@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6I87ArR021310
      	for ; Fri, 18 Jul 2008 08:07:10 GMT
      	(envelope-from andenore@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6I87A5J021308
      	for perforce@freebsd.org; Fri, 18 Jul 2008 08:07:10 GMT
      	(envelope-from andenore@FreeBSD.org)
      Date: Fri, 18 Jul 2008 08:07:10 GMT
      Message-Id: <200807180807.m6I87A5J021308@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	andenore@FreeBSD.org using -f
      From: Anders Nore 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145414 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 08:07:10 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145414
      
      Change 145414 by andenore@andenore_laptop on 2008/07/18 08:06:19
      
      	Added installtime for ports and dependency fixing when installing.
      
      Affected files ...
      
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#7 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/perform.c#5 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#6 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/pl.c#3 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/info.h#3 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/main.c#7 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#7 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/pkg_info.1#4 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/show.c#5 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#9 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/plist.c#5 edit
      
      Differences ...
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#7 (text+ko) ====
      
      @@ -17,6 +17,8 @@
       Add:
       	- Indexes information to dbcache according to the add
       	- Added percentage progress for remote fetching ( -r option )
      +	- Fixes dependencies when installing (scans installed ports, checks @pkgdep
      +	  and adds matching dependency to the installing package's +REQUIRED_BY file)
       
       Delete:
       	- Deindexes information according to the delete
      @@ -31,4 +33,8 @@
       
       Create:
       	- The -O option has been modified to cache information when installing ports
      -	  from /usr/ports/+	  from /usr/ports/
      +
      +
      +Packinglist:
      +	- A @comment DATE:seconds-since-epoch has been added (affects add/create/info/lib)
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/perform.c#5 (text+ko) ====
      
      @@ -30,6 +30,7 @@
       #include 
       #include 
       #include 
      +#include 
       
       static int pkg_do(char *);
       static int sanity_check(char *);
      @@ -224,6 +225,9 @@
       	}
           }
       
      +    /* record the installation time in CONTENTS_FNAME */
      +    plist_add_installtime(&Plist);
      +
           /*
            * If we have a prefix, delete the first one we see and add this
            * one in place of it.
      @@ -253,7 +257,7 @@
           }
       
           /* Now check the packing list for conflicts */
      -    if (!IgnoreDeps){
      +    if (!IgnoreDeps) {
           for (p = Plist.head; p != NULL; p = p->next) {
       	if (p->type == PLIST_CONFLICTS) {
       	    int i;
      @@ -262,18 +266,20 @@
       	    matched = matchinstalled(MATCH_GLOB, conflict, &errcode);
       	    free(conflict[0]);
       	    if (errcode == 0 && matched != NULL)
      -		for (i = 0; matched[i] != NULL; i++)
      +		for (i = 0; matched[i] != NULL; i++) {
       		    if (isinstalledpkg(matched[i]) > 0) {
       			warnx("package '%s' conflicts with %s", Plist.name,
       				matched[i]);
       			conflictsfound = 1;
       		    }
      -
      +		    free(matched[i]);
      +		}
      +	    free(matched);
       	    continue;
       	}
           }
      -    if(conflictsfound) {
      -	if(!Force) {
      +    if (conflictsfound) {
      +	if (!Force) {
       	    warnx("please use pkg_delete first to remove conflicting package(s) or -f to force installation");
       	    code = 1;
       	    goto bomb;
      @@ -335,6 +341,7 @@
       		else if ((cp = fileGetURL(pkg, p->name, KeepPackage)) != NULL) {
       		    if (Verbose)
       			printf("Finished loading %s over FTP.\n", p->name);
      +
       		    if (!fexists("+CONTENTS")) {
       			warnx("autoloaded package %s has no +CONTENTS file?",
       				p->name);
      @@ -349,6 +356,7 @@
       		    }
       		    else if (Verbose)
       			printf("\t'%s' loaded successfully.\n", p->name);
      +
       		    /* Nuke the temporary playpen */
       		    leave_playpen();
       		}
      @@ -479,6 +487,54 @@
       	    code = 1;
       	    goto success;	/* close enough for government work */
       	}
      +
      +	/*
      +	 * Reconstructs +REQUIRED_BY file for the package to be installed in
      +	 * case it has been removed earlier (e.g. pkg_delete -f)
      +	 */ 
      +	if (Verbose)
      +	    printf("Recording existing dependency's on %s\n", Plist.name);
      +	int errcode;
      +	matched = matchinstalled(MATCH_ALL, NULL, &errcode);
      +	for (i = 0; matched[i] != NULL; i++) {
      +	    FILE *fp;
      +	    Package nplist;
      +	    char path[PATH_MAX];
      +
      +	    /* Skip this package */
      +	    if (strcmp(matched[i], Plist.name) == 0)
      +		continue;
      +
      +	    snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, matched[i], CONTENTS_FNAME);
      +	    if ((fp = fopen(path, "r")) == NULL) {
      +		warn("Could not open %s for reading", path);
      +		continue;
      +	    }
      +	    read_plist(&nplist, fp);
      +	    fclose(fp);
      +
      +	    for (p = nplist.head; p != nplist.tail; p = p->next) {
      +		if (p->type != PLIST_PKGDEP)
      +		    continue;
      +		if (strcmp(p->name, Plist.name) == 0) {
      +		    /* Register this package in REQUIRED_BY_FNAME */
      +		    snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, Plist.name, REQUIRED_BY_FNAME);
      +		    if ((fp = fopen(path, "a")) == NULL) {
      +			warn("Could not open %s", path);
      +			continue;
      +		    }
      +		    fprintf(fp, "%s\n", nplist.name);
      +		    fclose(fp);
      +		    if (Verbose)
      +			printf("\t %s depends on %s (REGISTERED)\n", p->name, Plist.name);
      +		}
      +	    }
      +	    free_plist(&nplist);
      +	    free(matched[i]);
      +	}
      +	free(matched);
      +
      +
       	/* Make sure pkg_info can read the entry */
       	vsystem("/bin/chmod a+rx %s", LogDir);
       	move_file(".", DESC_FNAME, LogDir);
      @@ -515,40 +571,13 @@
       	/* make sure we've opened the database */
       	if (openDatabase(O_CREAT | O_RDWR))
       	    warn("Could not open database %s, may lead to inconsistency", DBCACHE_FILE);
      -	
      -	/* save package name (fast lookup in isinstalledpkg) */
      -	printf("Saving package: %s Plist.name\n", Plist.name);
      -	dbAddPackage(Plist.name, Plist.name); 
      +	cache_plist(&Plist, Verbose); // cache information
      +	closeDatabase();	
       
      +	/* record dependency in the dependents +REQUIRED_BY file */
       	for (p = Plist.head; p ; p = p->next) {
      -	    char *deporigin, *cwd;
      -	    DBT key, data;
      -	
      -	    if (p->type == PLIST_CWD) {
      -		cwd = p->name;
      -		continue;
      -	    } 
      +	    char *deporigin;
       
      -	    if (p->type == PLIST_FILE) {
      -		/* 
      -		* Save absolute path of file installed in the db-key
      -		* and portname in db-data. (Makes fast -W option in pkg_info)
      -		*/
      -		char *entry = NULL;
      -		asprintf(&entry, "%s/%s", cwd, p->name);
      -		if(Verbose)
      -			printf("\tSaving pair %s -> %s to db-cache\n", entry, Plist.name);
      -	
      -		key.size = strlen(entry) + 1;
      -		key.data = entry;
      -		data.size = strlen(Plist.name) + 1;
      -		data.data = Plist.name;
      -		dbsave(&key, &data);
      -		free(entry);
      -	
      -		continue;
      -	    }
      -
       	    if (p->type != PLIST_PKGDEP)
       		continue;
       	    deporigin = (p->next->type == PLIST_DEPORIGIN) ? p->next->name :
      @@ -663,6 +692,7 @@
       
        success:
           /* delete the packing list contents */
      +	
           free_plist(&Plist);
           leave_playpen();
           return code;
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#6 (text+ko) ====
      
      @@ -234,24 +234,25 @@
       	add_plist_top(&plist, PLIST_COMMENT, cp);
       	free(cp);
       
      -	/*
      -	 * We're just here for to dump out a revised plist for the FreeBSD ports
      -	 * hack.  It's not a real create in progress.
      -	 * Ports uses this to fake a pkg_add installation so that we can call 
      -	 * pkg_delete later.
      -	 * See /usr/ports/Mk/bsd.port.mk (in the fake-pkg target)
      -	 */
      -	if (PlistOnly) {
      -		if (openDatabase(O_CREAT | O_RDWR))
      -			err("Could not open database: %s", DBCACHE_FILE);
      +    /*
      +     * We're just here for to dump out a revised plist for the FreeBSD ports
      +     * hack.  It's not a real create in progress.
      +     * Ports uses this to fake a pkg_add installation so that we can call 
      +     * pkg_delete later.
      +     * See /usr/ports/Mk/bsd.port.mk (in the fake-pkg target)
      +     */
      +    if (PlistOnly) {
      +	if (openDatabase(O_CREAT | O_RDWR))
      +	    err("Could not open database: %s", DBCACHE_FILE);
       	
      -		check_list(home, &plist);
      -		write_plist(&plist, stdout);
      -		int retval = cache_plist(&plist, FALSE);
      +	plist_add_installtime(&plist);
      +	check_list(home, &plist);	
      +	write_plist(&plist, stdout);
      +	int retval = cache_plist(&plist, FALSE);
       
      -		closeDatabase();
      -		exit(retval);
      -	}
      +	closeDatabase();
      +	exit(retval);
      +    }
       
           /* Make a directory to stomp around in */
           home = make_playpen(PlayPen, 0);
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/pl.c#3 (text+ko) ====
      
      @@ -63,40 +63,40 @@
       void
       check_list(const char *home, Package *pkg)
       {
      -	const char *where = home;
      -	const char *there = NULL;
      -	char name[FILENAME_MAX];
      -	char *prefix = NULL;
      -	PackingList p;
      +    const char *where = home;
      +    const char *there = NULL;
      +    char name[FILENAME_MAX];
      +    char *prefix = NULL;
      +    PackingList p;
       
      -	for (p = pkg->head; p != NULL; p = p->next)
      -	switch (p->type) {
      -	case PLIST_CWD:
      -		if (!prefix)
      -			prefix = p->name;
      -		where = (p->name == NULL) ? prefix : p->name;
      -		break;
      +    for (p = pkg->head; p != NULL; p = p->next)
      +    switch (p->type) {
      +    case PLIST_CWD:
      +	if (!prefix)
      +	    prefix = p->name;
      +	where = (p->name == NULL) ? prefix : p->name;
      +	break;
       
      -	case PLIST_IGNORE:
      -		p = p->next;
      -		break;
      +    case PLIST_IGNORE:
      +	p = p->next;
      +	break;
       
      -	case PLIST_SRC:
      -		there = p->name;
      -		break;
      +    case PLIST_SRC:
      +	there = p->name;
      +	break;
       
      -	case PLIST_FILE:
      -		if (there)
      -			snprintf(name, sizeof(name), "%s/%s", there, p->name);
      -		else
      -			snprintf(name, sizeof(name), "%s%s/%s",
      -			BaseDir && where && where[0] == '/' ? BaseDir : "", where, p->name);
      +    case PLIST_FILE:
      +	if (there)
      +	    snprintf(name, sizeof(name), "%s/%s", there, p->name);
      +	else
      +	    snprintf(name, sizeof(name), "%s%s/%s",
      +	    BaseDir && where && where[0] == '/' ? BaseDir : "", where, p->name);
       
      -		add_cksum(pkg, p, name);
      -		break;
      -	default:
      -		break;
      -	}
      +	    add_cksum(pkg, p, name);
      +	    break;
      +    default:
      +	break;
      +    }
       }
       
       static int
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/info.h#3 (text+ko) ====
      
      @@ -52,6 +52,7 @@
       #define SHOW_PTREV	0x10000
       #define SHOW_DEPEND	0x20000
       #define SHOW_PKGNAME	0x40000
      +#define SHOW_DATE	0x80000
       
       struct which_entry {
           TAILQ_ENTRY(which_entry) next;
      @@ -80,5 +81,6 @@
       extern void	show_cksum(const char *, Package *);
       extern void	show_origin(const char *, Package *);
       extern void	show_fmtrev(const char *, Package *);
      +extern void 	show_date(const char *, Package *);
       
       #endif	/* _INST_INFO_H_INCLUDE */
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/main.c#7 (text+ko) ====
      
      @@ -41,7 +41,7 @@
       
       static void usage(void);
       
      -static char opts[] = "abcdDe:EfgGhiIjkKl:LmoO:pPqQrRst:vVW:xX";
      +static char opts[] = "abcdDe:EfgGhiIjkKl:LmoO:pPqQrRst:TvVW:xX";
       static struct option longopts[] = {
       	{ "all",	no_argument,		NULL,		'a' },
       	{ "blocksize",	no_argument,		NULL,		'b' },
      @@ -57,6 +57,7 @@
       	{ "template",	required_argument,	NULL,		't' },
       	{ "verbose",	no_argument,		NULL,		'v' },
       	{ "version",	no_argument,		NULL,		'P' },
      +	{ "time",	no_argument,		NULL,		'T' },
       	{ "which",	required_argument,	NULL,		'W' },
       };
       
      @@ -88,7 +89,7 @@
       	switch(ch) {
       	case 'a':
       	    MatchType = MATCH_ALL;
      -
      +	    break;
       	case 'v':
       	    Verbose++;
       	    /* Reasonable definition of 'everything' */
      @@ -199,6 +200,9 @@
       	    strlcpy(PlayPen, optarg, sizeof(PlayPen));
       	    break;
       
      +	case 'T':
      +	    Flags |= SHOW_DATE;
      +
       	case 'x':
       	    MatchType = MATCH_REGEX;
       	    break;
      @@ -288,12 +292,12 @@
       static void
       usage()
       {
      -	fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n",
      -	"usage: pkg_info [-bcdDEfgGiIjkKLmopPqQrRsvVxX] [-e package] [-l prefix]",
      -	"                [-t template] -a | pkg-name ...",
      -	"       pkg_info [-qQ] -W filename",
      -	"       pkg_info [-qQ] -O origin",
      -	"       pkg_info");
      +    fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n",
      +    "usage: pkg_info [-bcdDEfgGiIjkKLmopPqQrRsTvVxX] [-e package] [-l prefix]",
      +    "                [-t template] -a | pkg-name ...",
      +    "       pkg_info [-qQ] -W filename",
      +    "       pkg_info [-qQ] -O origin",
      +    "       pkg_info");
           exit(1);
       }
       
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#7 (text+ko) ====
      
      @@ -169,7 +169,7 @@
       	/* We don't want to read the packinglist if not necessary (it's slow) */
       	if (Flags & SHOW_DEPEND || Flags & SHOW_PLIST || Flags & SHOW_PREFIX || 
       		Flags & SHOW_FILES || Flags & SHOW_SIZE || Flags & SHOW_CKSUM || 
      -		Flags & SHOW_ORIGIN || Flags & SHOW_FMTREV) {
      +		Flags & SHOW_ORIGIN || Flags & SHOW_FMTREV || Flags & SHOW_DATE) {
       
       		/* Suck in the contents list */		
       		fp = fopen(CONTENTS_FNAME, "r");
      @@ -187,55 +187,57 @@
            * Index is special info type that has to override all others to make
            * any sense (this is the default behaviour of pkg_info).
            */
      -	if (Flags & SHOW_INDEX) {
      -		char tmp[FILENAME_MAX];
      -		snprintf(tmp, FILENAME_MAX, "%-19s ", pkg);
      -		show_index(tmp, COMMENT_FNAME);
      -	}
      -	else {
      +    if (Flags & SHOW_INDEX) {
      +	char tmp[FILENAME_MAX];
      +	snprintf(tmp, FILENAME_MAX, "%-19s ", pkg);
      +	show_index(tmp, COMMENT_FNAME);
      +    }
      +    else {
       	/* Start showing the package contents */
       	if (!Quiet)
      -		printf("%sInformation for %s:\n\n", InfoPrefix, pkg);
      +	    printf("%sInformation for %s:\n\n", InfoPrefix, pkg);
       	else if (QUIET)
      -		printf("%s%s:", InfoPrefix, pkg);
      +	    printf("%s%s:", InfoPrefix, pkg);
       	if (Flags & SHOW_COMMENT)
      -		show_file("Comment:\n", COMMENT_FNAME);
      +	    show_file("Comment:\n", COMMENT_FNAME);
       	if (Flags & SHOW_DEPEND)
      -		show_plist("Depends on:\n", &plist, PLIST_PKGDEP, FALSE);
      +	    show_plist("Depends on:\n", &plist, PLIST_PKGDEP, FALSE);
       	if ((Flags & SHOW_REQBY) && !isemptyfile(REQUIRED_BY_FNAME))
      -		show_file("Required by:\n", REQUIRED_BY_FNAME);
      +	    show_file("Required by:\n", REQUIRED_BY_FNAME);
       	if (Flags & SHOW_DESC)
      -		show_file("Description:\n", DESC_FNAME);
      +	    show_file("Description:\n", DESC_FNAME);
       	if ((Flags & SHOW_DISPLAY) && fexists(DISPLAY_FNAME))
      -		show_file("Install notice:\n", DISPLAY_FNAME);
      +	    show_file("Install notice:\n", DISPLAY_FNAME);
       	if (Flags & SHOW_PLIST)
      -		show_plist("Packing list:\n", &plist, (plist_t)0, TRUE);
      +	    show_plist("Packing list:\n", &plist, (plist_t)0, TRUE);
       	if (Flags & SHOW_REQUIRE && fexists(REQUIRE_FNAME))
      -		show_file("Requirements script:\n", REQUIRE_FNAME);
      +	    show_file("Requirements script:\n", REQUIRE_FNAME);
       	if ((Flags & SHOW_INSTALL) && fexists(INSTALL_FNAME))
      -		show_file("Install script:\n", INSTALL_FNAME);
      +	    show_file("Install script:\n", INSTALL_FNAME);
       	if ((Flags & SHOW_INSTALL) && fexists(POST_INSTALL_FNAME))
      -		show_file("Post-Install script:\n", POST_INSTALL_FNAME);
      +	    show_file("Post-Install script:\n", POST_INSTALL_FNAME);
       	if ((Flags & SHOW_DEINSTALL) && fexists(DEINSTALL_FNAME))
      -		show_file("De-Install script:\n", DEINSTALL_FNAME);
      +	    show_file("De-Install script:\n", DEINSTALL_FNAME);
       	if ((Flags & SHOW_DEINSTALL) && fexists(POST_DEINSTALL_FNAME))
      -		show_file("Post-DeInstall script:\n", POST_DEINSTALL_FNAME);
      +	    show_file("Post-DeInstall script:\n", POST_DEINSTALL_FNAME);
       	if ((Flags & SHOW_MTREE) && fexists(MTREE_FNAME))
      -		show_file("mtree file:\n", MTREE_FNAME);
      +	    show_file("mtree file:\n", MTREE_FNAME);
       	if (Flags & SHOW_PREFIX)
      -		show_plist("Prefix(s):\n", &plist, PLIST_CWD, FALSE);
      +	    show_plist("Prefix(s):\n", &plist, PLIST_CWD, FALSE);
       	if (Flags & SHOW_FILES)
      -		show_files("Files:\n", &plist);
      +	    show_files("Files:\n", &plist);
       	if ((Flags & SHOW_SIZE) && installed)
      -		show_size("Package Size:\n", &plist);
      +	    show_size("Package Size:\n", &plist);
       	if ((Flags & SHOW_CKSUM) && installed)
      -		show_cksum("Mismatched Checksums:\n", &plist);
      +	    show_cksum("Mismatched Checksums:\n", &plist);
       	if (Flags & SHOW_ORIGIN)
      -		show_origin("Origin:\n", &plist);
      +	    show_origin("Origin:\n", &plist);
       	if (Flags & SHOW_FMTREV)
      -		show_fmtrev("Packing list format revision:\n", &plist);
      +	    show_fmtrev("Packing list format revision:\n", &plist);
      +	if (Flags & SHOW_DATE)
      +	    show_date("Installation date:\n", &plist);
       	if (!Quiet)
      -		puts(InfoPrefix);
      +	    puts(InfoPrefix);
           }
       
       	if(plist.head != NULL && plist.tail != NULL)
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/pkg_info.1#4 (text+ko) ====
      
      @@ -143,6 +143,8 @@
       .Fx
       .Em "Ports Collection"
       of the underlying port from which the package was generated.
      +.It Fl T
      +Shows the time and date of installation
       .It Fl G , -no-glob
       Do not try to expand shell glob patterns in the
       .Ar pkg-name
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/show.c#5 (text+ko) ====
      
      @@ -390,7 +390,6 @@
       void
       show_origin(const char *title, Package *plist)
       {
      -
           if (!Quiet)
       	printf("%s%s", InfoPrefix, title);
           printf("%s\n", plist->origin != NULL ? plist->origin : "");
      @@ -400,8 +399,19 @@
       void
       show_fmtrev(const char *title, Package *plist)
       {
      +    if (!Quiet)
      +	printf("%s%s", InfoPrefix, title);
      +    printf("%d.%d\n", plist->fmtver_maj, plist->fmtver_mnr);
      +}
       
      +void
      +show_date(const char *title, Package *plist)
      +{
      +    time_t datetime = (time_t)plist->datetime;
           if (!Quiet)
       	printf("%s%s", InfoPrefix, title);
      -    printf("%d.%d\n", plist->fmtver_maj, plist->fmtver_mnr);
      +
      +    printf("%s\n", datetime ? ctime(&datetime) : "No recorded installation time");
      +
       }
      +
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#9 (text+ko) ====
      
      @@ -154,7 +154,7 @@
           struct _plist *head, *tail;
           const char *name;
           const char *origin;
      -    int fmtver_maj, fmtver_mnr;
      +    int fmtver_maj, fmtver_mnr, datetime;
       };
       typedef struct _pack Package;
       
      @@ -229,6 +229,7 @@
       int		plist_cmd(const char *, char **);
       int		delete_package(Boolean, Boolean, Package *);
       Boolean 	make_preserve_name(char *, int, const char *, const char *);
      +void		plist_add_installtime(Package *);
       
       /* For all */
       int		pkg_perform(char **);
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/plist.c#5 (text+ko) ====
      
      @@ -191,71 +191,71 @@
       int
       plist_cmd(const char *s, char **arg)
       {
      -	char cmd[FILENAME_MAX + 20];	/* 20 == fudge for max cmd len */
      -	char *cp;
      -	const char *sp;
      +    char cmd[FILENAME_MAX + 20];	/* 20 == fudge for max cmd len */
      +    char *cp;
      +    const char *sp;
       
      -	strcpy(cmd, s);
      -	str_lowercase(cmd);
      -	cp = cmd;
      -	sp = s;
      -	while (*cp) {
      -		if (isspace(*cp)) {
      -			*cp = '\0';
      -			while (isspace(*sp)) /* Never sure if macro, increment later */
      -				++sp;
      -			break;
      -		}
      +    strcpy(cmd, s);
      +    str_lowercase(cmd);
      +    cp = cmd;
      +    sp = s;
      +    while (*cp) {
      +	if (isspace(*cp)) {
      +	    *cp = '\0';
      +	    while (isspace(*sp)) /* Never sure if macro, increment later */
      +		++sp;
      +		break;
      +	    }
       	++cp, ++sp;
      -	}
      -	if (arg)
      -	*arg = (char *)sp;
      -	if (!strcmp(cmd, "cwd"))
      +    }
      +    if (arg)
      +    *arg = (char *)sp;
      +    if (!strcmp(cmd, "cwd"))
       	return PLIST_CWD;
      -	else if (!strcmp(cmd, "srcdir"))
      +    else if (!strcmp(cmd, "srcdir"))
       	return PLIST_SRC;
      -	else if (!strcmp(cmd, "cd"))
      +    else if (!strcmp(cmd, "cd"))
       	return PLIST_CWD;
      -	else if (!strcmp(cmd, "exec"))
      +    else if (!strcmp(cmd, "exec"))
       	return PLIST_CMD;
      -	else if (!strcmp(cmd, "unexec"))
      +    else if (!strcmp(cmd, "unexec"))
       	return PLIST_UNEXEC;
      -	else if (!strcmp(cmd, "mode"))
      +    else if (!strcmp(cmd, "mode"))
       	return PLIST_CHMOD;
      -	else if (!strcmp(cmd, "owner"))
      +    else if (!strcmp(cmd, "owner"))
       	return PLIST_CHOWN;
      -	else if (!strcmp(cmd, "group"))
      +    else if (!strcmp(cmd, "group"))
       	return PLIST_CHGRP;
      -	else if (!strcmp(cmd, "noinst"))
      +    else if (!strcmp(cmd, "noinst"))
       	return PLIST_NOINST;
      -	else if (!strcmp(cmd, "comment")) {
      +    else if (!strcmp(cmd, "comment")) {
       	if (!strncmp(*arg, "ORIGIN:", 7)) {
      -		*arg += 7;
      -		return PLIST_ORIGIN;
      +	    *arg += 7;
      +	    return PLIST_ORIGIN;
       	} else if (!strncmp(*arg, "DEPORIGIN:", 10)) {
      -		*arg += 10;
      -		return PLIST_DEPORIGIN;
      +	    *arg += 10;
      +	    return PLIST_DEPORIGIN;
       	}
       	return PLIST_COMMENT;
      -	} else if (!strcmp(cmd, "ignore"))
      +    } else if (!strcmp(cmd, "ignore"))
       	return PLIST_IGNORE;
      -	else if (!strcmp(cmd, "ignore_inst"))
      +    else if (!strcmp(cmd, "ignore_inst"))
       	return PLIST_IGNORE_INST;
      -	else if (!strcmp(cmd, "name"))
      +    else if (!strcmp(cmd, "name"))
       	return PLIST_NAME;
      -	else if (!strcmp(cmd, "display"))
      +    else if (!strcmp(cmd, "display"))
       	return PLIST_DISPLAY;
      -	else if (!strcmp(cmd, "pkgdep"))
      +    else if (!strcmp(cmd, "pkgdep"))
       	return PLIST_PKGDEP;
      -	else if (!strcmp(cmd, "conflicts"))
      +    else if (!strcmp(cmd, "conflicts"))
       	return PLIST_CONFLICTS;
      -	else if (!strcmp(cmd, "mtree"))
      +    else if (!strcmp(cmd, "mtree"))
       	return PLIST_MTREE;
      -	else if (!strcmp(cmd, "dirrm"))
      +    else if (!strcmp(cmd, "dirrm"))
       	return PLIST_DIR_RM;
      -	else if (!strcmp(cmd, "option"))
      +    else if (!strcmp(cmd, "option"))
       	return PLIST_OPTION;
      -	else
      +    else
       	return FAIL;
       }
       
      @@ -263,153 +263,157 @@
       void
       read_plist(Package *pkg, FILE *fp)
       {
      -	char *cp, pline[FILENAME_MAX];
      -	int cmd, major, minor;
      +    char *cp, pline[FILENAME_MAX];
      +    int cmd, major, minor, date;
       
      -	pkg->fmtver_maj = 1;
      -	pkg->fmtver_mnr = 0;
      -	pkg->origin = NULL;
      -	while (fgets(pline, FILENAME_MAX, fp)) {
      -		int len = strlen(pline);
      +    pkg->fmtver_maj = 1;
      +    pkg->fmtver_mnr = 0;
      +    pkg->datetime = 0;
      +    pkg->origin = NULL;
      +    while (fgets(pline, FILENAME_MAX, fp)) {
      +	int len = strlen(pline);
       	
      -		while (len && isspace(pline[len - 1]))
      -			pline[--len] = '\0';
      +	while (len && isspace(pline[len - 1]))
      +	    pline[--len] = '\0';
       	
      -		if (!len)
      -			continue;
      -		cp = pline;
      -		if (pline[0] != CMD_CHAR) {
      -			cmd = PLIST_FILE;
      -			goto bottom;
      -		}
      -		cmd = plist_cmd(pline + 1, &cp);
      -		if (cmd == FAIL) {
      -			warnx("%s: unknown command '%s' (package tools out of date?)",
      -			__func__, pline);
      -			goto bottom;
      -		}
      -		if (*cp == '\0') {
      -			cp = NULL;
      -			goto bottom;
      -		}
      -		if (cmd == PLIST_COMMENT && sscanf(cp, "PKG_FORMAT_REVISION:%d.%d\n",
      -							&major, &minor) == 2) {
      -			pkg->fmtver_maj = major;
      -			pkg->fmtver_mnr = minor;
      -			if (verscmp(pkg, PLIST_FMT_VER_MAJOR, PLIST_FMT_VER_MINOR) <= 0)
      -			goto bottom;
      +	if (!len)
      +	    continue;
      +	cp = pline;
      +	if (pline[0] != CMD_CHAR) {
      +	    cmd = PLIST_FILE;
      +	    goto bottom;
      +	}
      +	cmd = plist_cmd(pline + 1, &cp);
      +	if (cmd == FAIL) {
      +	    warnx("%s: unknown command '%s' (package tools out of date?)",
      +		__func__, pline);
      +		goto bottom;
      +	}
      +	if (*cp == '\0') {
      +	    cp = NULL;
      +	    goto bottom;
      +	}
      +	if (cmd == PLIST_COMMENT && sscanf(cp, "PKG_FORMAT_REVISION:%d.%d\n",
      +						&major, &minor) == 2) {
      +	    pkg->fmtver_maj = major;
      +	    pkg->fmtver_mnr = minor;
      +	    if (verscmp(pkg, PLIST_FMT_VER_MAJOR, PLIST_FMT_VER_MINOR) <= 0)
      +	    goto bottom;
       	
      -			warnx("plist format revision (%d.%d) is higher than supported"
      -			"(%d.%d)", pkg->fmtver_maj, pkg->fmtver_mnr,
      +	    warnx("plist format revision (%d.%d) is higher than supported"
      +		  "(%d.%d)", pkg->fmtver_maj, pkg->fmtver_mnr,
       			PLIST_FMT_VER_MAJOR, PLIST_FMT_VER_MINOR);
      -			if (pkg->fmtver_maj > PLIST_FMT_VER_MAJOR) {
      -			cleanup(0);
      -			exit(2);
      -			}
      -		}
      +	    if (pkg->fmtver_maj > PLIST_FMT_VER_MAJOR) {
      +		cleanup(0);
      +		exit(2);
      +	    }
      +	}
      +	if (cmd == PLIST_COMMENT && sscanf(cp, "DATE:%d\n", &date) == 1) {
      +	    pkg->datetime = date;
      +	}
       	
       	bottom:
       		add_plist(pkg, cmd, cp);
      -	}
      +    }
       }
       
       /* Write a packing list to a file, converting commands to ascii equivs */
       void
       write_plist(Package *pkg, FILE *fp)
       {
      -	PackingList plist = pkg->head;
      +    PackingList plist = pkg->head;
       
      -	while (plist) {
      +    while (plist) {
       	switch(plist->type) {
       	case PLIST_FILE:
      -		fprintf(fp, "%s\n", plist->name);
      -		break;
      +	    fprintf(fp, "%s\n", plist->name);
      +	    break;
       
       	case PLIST_CWD:
      -		fprintf(fp, "%ccwd %s\n", CMD_CHAR, (plist->name == NULL) ? "" : plist->name);
      -		break;
      +	    fprintf(fp, "%ccwd %s\n", CMD_CHAR, (plist->name == NULL) ? "" : plist->name);
      +	    break;
       
       	case PLIST_SRC:
      -		fprintf(fp, "%csrcdir %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%csrcdir %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_CMD:
      -		fprintf(fp, "%cexec %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cexec %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_UNEXEC:
      -		fprintf(fp, "%cunexec %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cunexec %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_CHMOD:
      -		fprintf(fp, "%cmode %s\n", CMD_CHAR, plist->name ? plist->name : "");
      -		break;
      +	    fprintf(fp, "%cmode %s\n", CMD_CHAR, plist->name ? plist->name : "");
      +	    break;
       
       	case PLIST_CHOWN:
      -		fprintf(fp, "%cowner %s\n", CMD_CHAR, plist->name ? plist->name : "");
      -		break;
      +	    fprintf(fp, "%cowner %s\n", CMD_CHAR, plist->name ? plist->name : "");
      +	    break;
       
       	case PLIST_CHGRP:
      -		fprintf(fp, "%cgroup %s\n", CMD_CHAR, plist->name ? plist->name : "");
      -		break;
      +	    fprintf(fp, "%cgroup %s\n", CMD_CHAR, plist->name ? plist->name : "");
      +	    break;
       
       	case PLIST_COMMENT:
      -		fprintf(fp, "%ccomment %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%ccomment %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_NOINST:
      -		fprintf(fp, "%cnoinst %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cnoinst %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_IGNORE:
       	case PLIST_IGNORE_INST:		/* a one-time non-ignored file */
      -		fprintf(fp, "%cignore\n", CMD_CHAR);
      -		break;
      +	    fprintf(fp, "%cignore\n", CMD_CHAR);
      +	    break;
       
       	case PLIST_NAME:
      -		fprintf(fp, "%cname %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cname %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_DISPLAY:
      -		fprintf(fp, "%cdisplay %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cdisplay %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_PKGDEP:
      -		fprintf(fp, "%cpkgdep %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cpkgdep %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_CONFLICTS:
      -		fprintf(fp, "%cconflicts %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cconflicts %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_MTREE:
      -		fprintf(fp, "%cmtree %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cmtree %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_DIR_RM:
      -		fprintf(fp, "%cdirrm %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%cdirrm %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_OPTION:
      -		fprintf(fp, "%coption %s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%coption %s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_ORIGIN:
      -		fprintf(fp, "%ccomment ORIGIN:%s\n", CMD_CHAR, plist->name);
      -		break;
      +	    fprintf(fp, "%ccomment ORIGIN:%s\n", CMD_CHAR, plist->name);
      +	    break;
       
       	case PLIST_DEPORIGIN:
      -		fprintf(fp, "%ccomment DEPORIGIN:%s\n", CMD_CHAR, plist->name);
      -		break;
      -
      +	    fprintf(fp, "%ccomment DEPORIGIN:%s\n", CMD_CHAR, plist->name);
      +	    break;
      +	
       	default:
      -		cleanup(0);
      -		errx(2, "%s: unknown command type %d (%s)", __func__,
      -		plist->type, plist->name);
      -		break;
      +	    cleanup(0);
      +	    errx(2, "%s: unknown command type %d (%s)", __func__,
      +	    plist->type, plist->name);
      +	    break;
       	}
       	plist = plist->next;
      -	}
      +    }
       }
       
       /*
      @@ -421,132 +425,131 @@
       int
       delete_package(Boolean ign_err, Boolean nukedirs, Package *pkg)
       {
      -	PackingList p;
      -	const char *Where = ".", *last_file = "";
      -	Boolean fail = SUCCESS;
      -	Boolean preserve;
      -	char tmp[FILENAME_MAX], *name = NULL;
      -	char *prefix = NULL;
      +    PackingList p;
      +    const char *Where = ".", *last_file = "";
      +    Boolean fail = SUCCESS;
      +    Boolean preserve;
      +    char tmp[FILENAME_MAX], *name = NULL;
      +    char *prefix = NULL;
       
      -	preserve = find_plist_option(pkg, "preserve") ? TRUE : FALSE;
      -	for (p = pkg->head; p; p = p->next) {
      +    preserve = find_plist_option(pkg, "preserve") ? TRUE : FALSE;
      +    for (p = pkg->head; p; p = p->next) {
       	switch (p->type)  {
       	case PLIST_NAME:
      -		name = p->name;
      -		if (dbRemove(name) != 0)
      -			warnx("%s: Failed to remove entry %s from db\n", __func__, name);
      -		
      -		break;
      +	    name = p->name;
      +	    if (dbRemove(name) != 0)
      +		warnx("%s: Failed to remove entry %s from db\n", __func__, name);
      +	    break;
       
       	case PLIST_IGNORE:
      -		p = p->next;
      -		break;
      +	    p = p->next;
      +	    break;
       
       	case PLIST_CWD:
      -		if (!prefix)
      -			prefix = p->name;
      +	    if (!prefix)
      +		prefix = p->name;
       		
      -		Where = (p->name == NULL) ? prefix : p->name;
      +	    Where = (p->name == NULL) ? prefix : p->name;
       		
      -		if (Verbose)
      -			printf("Change working directory to %s\n", Where);
      -		break;
      +	    if (Verbose)
      +		printf("Change working directory to %s\n", Where);
      +	    break;
       
       	case PLIST_UNEXEC:
      -		format_cmd(tmp, FILENAME_MAX, p->name, Where, last_file);
      -		if (Verbose)
      -			printf("Execute '%s'\n", tmp);
      -		if (!Fake && system(tmp)) {
      -			warnx("unexec command for '%s' failed", tmp);
      -			fail = FAIL;
      -		}
      -		break;
      +	    format_cmd(tmp, FILENAME_MAX, p->name, Where, last_file);
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 09:50:55 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 0AD101065681; Fri, 18 Jul 2008 09:50:55 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id C25D210656D4
      	for ; Fri, 18 Jul 2008 09:50:54 +0000 (UTC)
      	(envelope-from strauss@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 9FFC38FC0C
      	for ; Fri, 18 Jul 2008 09:50:54 +0000 (UTC)
      	(envelope-from strauss@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6I9os25039902
      	for ; Fri, 18 Jul 2008 09:50:54 GMT
      	(envelope-from strauss@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6I9osC1039900
      	for perforce@freebsd.org; Fri, 18 Jul 2008 09:50:54 GMT
      	(envelope-from strauss@FreeBSD.org)
      Date: Fri, 18 Jul 2008 09:50:54 GMT
      Message-Id: <200807180950.m6I9osC1039900@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	strauss@FreeBSD.org using -f
      From: Anselm Strauss 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145416 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 09:50:55 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145416
      
      Change 145416 by strauss@strauss_marvelman on 2008/07/18 09:50:01
      
      	- code cosmetics- implemented central directory stuff, yet missing offset thing- corrected sizeof/strlen issue for char pointers
      
      Affected files ...
      
      .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#12 edit
      
      Differences ...
      
      ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#12 (text+ko) ====
      
      @@ -3,7 +3,7 @@
        * 
        * The current implementation is very limited:
        * 
      - *   - No compressions support.
      + *   - No compression support.
        *   - No encryption support.
        *   - No ZIP64 support.
        *   - Central directory is missing.
      @@ -30,6 +30,7 @@
       
       #define ZIP_SIGNATURE_LOCAL_FILE_HEADER 0x04034b50
       #define ZIP_SIGNATURE_DATA_DESCRIPTOR 0x08074b50
      +#define ZIP_SIGNATURE_FILE_HEADER 0x02014b50
       
       #include "archive.h"
       #include "archive_entry.h"
      @@ -41,7 +42,7 @@
       static int archive_write_zip_destroy(struct archive_write *);
       static int archive_write_zip_finish_entry(struct archive_write *);
       static int archive_write_zip_header(struct archive_write *, struct archive_entry *);
      -static void encode(int64_t, void *, size_t);
      +static void zip_encode(int64_t, void *, size_t);
       
       struct zip_local_file_header {
       	char signature[4];
      @@ -82,15 +83,15 @@
       	char uncompressed_size[4];
       };
       
      -struct zip_entry_list {
      -	struct zip_entry_list *next;
      +struct zip_file_header_link {
      +	struct zip_file_header_link *next;
       	struct archive_entry *entry;
       	/* uint64_t offset; */ /* Whatfor? */
       };
       
       struct zip {
       	struct zip_data_descriptor data_descriptor;
      -	struct zip_entry_list *central_directory;
      +	struct zip_file_header_link *central_directory;
       };
       
       int
      @@ -120,7 +121,7 @@
       	a->archive.archive_format = ARCHIVE_FORMAT_ZIP;
       	a->archive.archive_format_name = "ZIP";
       	
      -	encode(
      +	zip_encode(
       		ZIP_SIGNATURE_DATA_DESCRIPTOR,
       		&zip->data_descriptor.signature,
       		sizeof(zip->data_descriptor.signature)
      @@ -139,41 +140,47 @@
       	struct zip *zip;
       	struct zip_local_file_header h;
       	struct zip_data_descriptor *d;
      -	struct zip_entry_list *l;
      +	struct zip_file_header_link *l;
      +	const char *path;
       	int ret;
       	
       	zip = (struct zip *) a->format_data;
       	d = (struct zip_data_descriptor *) &zip->data_descriptor;
      -	ret = 0;
      +	path = archive_entry_pathname(entry);
       	
      -	encode(ZIP_SIGNATURE_LOCAL_FILE_HEADER, &h.version, sizeof(h.version));
      +	/* 
      +	 * Formatting local file header.
      +	 * Some fields are not explicitely set after they were set to 0
      +	 * by the memset() call, meaning they are unused or contain the default value.
      +	 * The fields this is true for and the reason why are:
      +	 * 
      +	 *   - compression: Not yet supported (TODO)
      +	 *   - timedate: Means standard input (TODO)
      +	 *   - crc32, compressed_size, uncompressed_size: written in data descriptor
      +	 *   - extra_length: first used when
      +	 */
      +	memset(&h, 0, sizeof(h));
      +	zip_encode(ZIP_SIGNATURE_LOCAL_FILE_HEADER, &h.version, sizeof(h.version));
      +	zip_encode(0x0200, &h.version, sizeof(h.version));
      +	zip_encode(1 << 2, &h.flags, sizeof(h.flags)); /* Flagging bit 3 for using data descriptor. */
      +	zip_encode(strlen(path), &h.filename_length, sizeof(h.filename_length));
       	
      -	encode(0x0200, &h.version, sizeof(h.version));
      +	/* This will surely change when compression is implemented. */
      +	int64_t size = archive_entry_size(entry);
      +	zip_encode(size, &d->compressed_size, sizeof(d->compressed_size));
      +	zip_encode(size, &d->uncompressed_size, sizeof(d->uncompressed_size));
       	
      -	/* Flagging bit 3 for using data descriptor. */
      -	encode(1 << 2, &h.flags, sizeof(h.flags));
      +	ret = (a->compressor.write)(a, &h, sizeof(h));
      +	if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL);
      +
      +	ret = (a->compressor.write)(a, path, strlen(path));
      +	if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL);
       	
      -	/* No compression. */
      -	encode(0, &h.compression, sizeof(h.compression));
      -	
      -	/* TODO: Using zero (means standard input) for now. */
      -	encode(0, &h.timedate, sizeof(h.timedate));
      -	
      -	/* Next 3 fields are specified in the data descriptor after writing file data. 
      -	 * Can't compute them before having seen the data stream. */
      -	encode(0, &h.crc32, sizeof(h.crc32));
      -	encode(0, &h.compressed_size, sizeof(h.compressed_size));
      -	encode(0, &h.uncompressed_size, sizeof(h.uncompressed_size));
      -	
      -	encode(sizeof(archive_entry_pathname(entry)), &h.filename_length, sizeof(h.filename_length));
      -	
      -	/* Not used. */
      -	encode(0, &h.extra_length, sizeof(h.extra_length));
      -	
      +
       	/* Append archive entry to the central directory data.
       	 * Storing in reverse order, for ease of coding.
       	 * According to specification order should not matter, right? */
      -	l = (struct zip_entry_list *) malloc(sizeof(*l));
      +	l = (struct zip_file_header_link *) malloc(sizeof(*l));
       	if (l == NULL) {
       		archive_set_error(&a->archive, ENOMEM, "Can't allocate zip header data");
       		return (ARCHIVE_FATAL);
      @@ -182,22 +189,7 @@
       	l->next = zip->central_directory;
       	zip->central_directory = l;
       	
      -	int64_t size = archive_entry_size(entry);
      -	encode(size, &d->compressed_size, sizeof(d->compressed_size));
      -	encode(size, &d->uncompressed_size, sizeof(d->uncompressed_size));
      -	
      -	ret = (a->compressor.write)(a, &h, sizeof(h));
      -	if (ret != ARCHIVE_OK)
      -		return (ARCHIVE_FATAL);
      -	
      -	/* Write filename and extra field (extra field is currently null).
      -	 * These are not included in the header structure due to variable size. */
      -	const char *path = archive_entry_pathname(entry);
      -	ret = (a->compressor.write)(a, path, strlen(path));
      -	if (ret != ARCHIVE_OK)
      -		return (ARCHIVE_FATAL);
      -	
      -	return (ret);
      +	return (ARCHIVE_OK);
       }
       
       static ssize_t
      @@ -231,18 +223,62 @@
       static int
       archive_write_zip_finish(struct archive_write *a)
       {
      -	/* TODO: Write central directory. */
      -	return 0;
      +	struct zip *zip;
      +	struct zip_file_header_link *l;
      +	struct zip_file_header h;
      +	int64_t size;
      +	const char *path;
      +	int ret;
      +	
      +	zip = (struct zip *) a->format_data;
      +	l = (struct zip_file_header_link *) zip->central_directory;
      +	
      +	/*
      +	 * Formatting central directory file header fields that are fixed for all entries.
      +	 * Fields not used are:
      +	 * 
      +	 *   - flags
      +	 *   - timedate (TODO)
      +	 *   - extra_length
      +	 *   - comment_length
      +	 *   - disk_number
      +	 *   - attributes_internal, attributes_external
      +	 */
      +	memset(&h, 0, sizeof(h));
      +	zip_encode(ZIP_SIGNATURE_FILE_HEADER, &h.signature, sizeof(h.signature));
      +	zip_encode(0x0200, &h.version_extract, sizeof(h.version_extract));
      +	
      +	while (l != NULL) {
      +		
      +		/* Formatting individual header fields per entry. */
      +		size = archive_entry_size(l->entry);
      +		path = archive_entry_pathname(l->entry);
      +		zip_encode(size, &h.compressed_size, sizeof(h.compressed_size));
      +		zip_encode(size, &h.uncompressed_size, sizeof(h.uncompressed_size));
      +		zip_encode(strlen(path), &h.filename_length, sizeof(h.filename_length));
      +		
      +		/* Writing file header. */
      +		ret = (a->compressor.write)(a, &h, sizeof(h));
      +		if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL);
      +		
      +		/* Writing filename. */
      +		ret = (a->compressor.write)(a, &path, strlen(path));
      +		if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL);
      +
      +		l = l->next;
      +	}
      +
      +	return (ARCHIVE_OK);
       }
       
       static int
       archive_write_zip_destroy(struct archive_write *a)
       {	
       	struct zip *zip;
      -	struct zip_entry_list *l;
      +	struct zip_file_header_link *l;
       
       	zip = (struct zip *)a->format_data;
      -	l = (struct zip_entry_list *) zip->central_directory;
      +	l = (struct zip_file_header_link *) zip->central_directory;
       	while (l != NULL) {
       		l = l->next;
       		free(l);
      @@ -254,7 +290,7 @@
       
       /* Encode data in little-endian for writing it to a ZIP file. */
       static void
      -encode(int64_t value, void *_p, size_t size)
      +zip_encode(int64_t value, void *_p, size_t size)
       {
       	unsigned char *p = (unsigned char *) _p;
       	size_t i;
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 11:01:07 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 13368106566C; Fri, 18 Jul 2008 11:01:07 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id CA08D1065674
      	for ; Fri, 18 Jul 2008 11:01:06 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id A721C8FC33
      	for ; Fri, 18 Jul 2008 11:01:06 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IB16Uj047034
      	for ; Fri, 18 Jul 2008 11:01:06 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IB16fn047032
      	for perforce@freebsd.org; Fri, 18 Jul 2008 11:01:06 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 11:01:06 GMT
      Message-Id: <200807181101.m6IB16fn047032@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145421 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 11:01:07 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145421
      
      Change 145421 by zec@zec_tpx32 on 2008/07/18 11:00:23
      
      	IFC (using Julian's update.sh script for the first time)
      
      Affected files ...
      
      .. //depot/projects/vimage/src/sys/Makefile#9 integrate
      .. //depot/projects/vimage/src/sys/amd64/amd64/busdma_machdep.c#7 integrate
      .. //depot/projects/vimage/src/sys/amd64/amd64/machdep.c#10 integrate
      .. //depot/projects/vimage/src/sys/amd64/amd64/minidump_machdep.c#8 integrate
      .. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#9 integrate
      .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#18 integrate
      .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#17 integrate
      .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC.hints#3 integrate
      .. //depot/projects/vimage/src/sys/amd64/include/pmap.h#6 integrate
      .. //depot/projects/vimage/src/sys/amd64/include/vmparam.h#8 integrate
      .. //depot/projects/vimage/src/sys/arm/at91/if_atereg.h#2 integrate
      .. //depot/projects/vimage/src/sys/boot/forth/loader.conf#10 integrate
      .. //depot/projects/vimage/src/sys/boot/i386/boot2/boot2.c#4 integrate
      .. //depot/projects/vimage/src/sys/boot/pc98/boot2/README.serial.98#2 delete
      .. //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#13 integrate
      .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#9 integrate
      .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#8 integrate
      .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#8 integrate
      .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#8 integrate
      .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#8 integrate
      .. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#9 integrate
      .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#17 integrate
      .. //depot/projects/vimage/src/sys/compat/pecoff/imgact_pecoff.c#6 delete
      .. //depot/projects/vimage/src/sys/compat/pecoff/imgact_pecoff.h#2 delete
      .. //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#3 integrate
      .. //depot/projects/vimage/src/sys/conf/NOTES#26 integrate
      .. //depot/projects/vimage/src/sys/conf/files#30 integrate
      .. //depot/projects/vimage/src/sys/conf/files.i386#14 integrate
      .. //depot/projects/vimage/src/sys/conf/files.pc98#11 integrate
      .. //depot/projects/vimage/src/sys/conf/kern.post.mk#6 integrate
      .. //depot/projects/vimage/src/sys/conf/newvers.sh#4 integrate
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/COPYRIGHT#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/if_oltr.c#3 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/if_oltr_isa.c#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/if_oltr_pci.c#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/if_oltrvar.h#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/trlld.h#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/trlldbm.c#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/trlldhm.c#2 delete
      .. //depot/projects/vimage/src/sys/contrib/dev/oltr/trlldmac.c#2 delete
      .. //depot/projects/vimage/src/sys/dev/acpi_support/acpi_asus.c#6 integrate
      .. //depot/projects/vimage/src/sys/dev/arl/if_arl.c#3 delete
      .. //depot/projects/vimage/src/sys/dev/arl/if_arl_isa.c#3 delete
      .. //depot/projects/vimage/src/sys/dev/arl/if_arlreg.h#2 delete
      .. //depot/projects/vimage/src/sys/dev/ata/ata-chipset.c#14 integrate
      .. //depot/projects/vimage/src/sys/dev/ata/ata-pci.h#10 integrate
      .. //depot/projects/vimage/src/sys/dev/bm/if_bm.c#2 integrate
      .. //depot/projects/vimage/src/sys/dev/bm/if_bmreg.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/bm/if_bmvar.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/ce/ceddk.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/ce/if_ce.c#5 integrate
      .. //depot/projects/vimage/src/sys/dev/ciss/ciss.c#12 integrate
      .. //depot/projects/vimage/src/sys/dev/ciss/cissio.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/ciss/cissreg.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/ciss/cissvar.h#3 integrate
      .. //depot/projects/vimage/src/sys/dev/cnw/if_cnw.c#4 delete
      .. //depot/projects/vimage/src/sys/dev/cnw/if_cnwioctl.h#2 delete
      .. //depot/projects/vimage/src/sys/dev/cnw/if_cnwreg.h#2 delete
      .. //depot/projects/vimage/src/sys/dev/cp/cpddk.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/cp/if_cp.c#5 integrate
      .. //depot/projects/vimage/src/sys/dev/cs/if_cs.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/cs/if_csreg.h#3 integrate
      .. //depot/projects/vimage/src/sys/dev/ctau/ctddk.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/ctau/if_ct.c#6 integrate
      .. //depot/projects/vimage/src/sys/dev/cx/cxddk.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/cx/if_cx.c#6 integrate
      .. //depot/projects/vimage/src/sys/dev/ed/if_ed_pccard.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/et/if_et.c#2 integrate
      .. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis.c#15 integrate
      .. //depot/projects/vimage/src/sys/dev/k8temp/k8temp.c#3 integrate
      .. //depot/projects/vimage/src/sys/dev/lmc/if_lmc.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/lmc/if_lmc.h#2 integrate
      .. //depot/projects/vimage/src/sys/dev/mii/rgephy.c#6 integrate
      .. //depot/projects/vimage/src/sys/dev/mii/rgephyreg.h#3 integrate
      .. //depot/projects/vimage/src/sys/dev/mpt/mpt_pci.c#8 integrate
      .. //depot/projects/vimage/src/sys/dev/mpt/mpt_user.c#2 integrate
      .. //depot/projects/vimage/src/sys/dev/mxge/if_mxge.c#12 integrate
      .. //depot/projects/vimage/src/sys/dev/pccard/pccarddevs#6 integrate
      .. //depot/projects/vimage/src/sys/dev/re/if_re.c#16 integrate
      .. //depot/projects/vimage/src/sys/dev/sbni/if_sbni.c#3 delete
      .. //depot/projects/vimage/src/sys/dev/sbni/if_sbni_isa.c#3 delete
      .. //depot/projects/vimage/src/sys/dev/sbni/if_sbni_pci.c#3 delete
      .. //depot/projects/vimage/src/sys/dev/sbni/if_sbnireg.h#2 delete
      .. //depot/projects/vimage/src/sys/dev/sbni/if_sbnivar.h#2 delete
      .. //depot/projects/vimage/src/sys/dev/sbsh/if_sbsh.c#4 delete
      .. //depot/projects/vimage/src/sys/dev/sbsh/if_sbshreg.h#2 delete
      .. //depot/projects/vimage/src/sys/dev/sound/pci/atiixp.h#3 integrate
      .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#18 integrate
      .. //depot/projects/vimage/src/sys/dev/syscons/daemon/daemon_saver.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/usb/ohci.c#6 integrate
      .. //depot/projects/vimage/src/sys/dev/usb/usb_ethersubr.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/vr/if_vr.c#2 integrate
      .. //depot/projects/vimage/src/sys/dev/vr/if_vrreg.h#2 integrate
      .. //depot/projects/vimage/src/sys/fs/cd9660/cd9660_rrip.c#4 integrate
      .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_vnops.c#11 integrate
      .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_node.c#6 integrate
      .. //depot/projects/vimage/src/sys/geom/vinum/geom_vinum_drive.c#4 integrate
      .. //depot/projects/vimage/src/sys/geom/vinum/geom_vinum_subr.c#3 integrate
      .. //depot/projects/vimage/src/sys/geom/virstor/g_virstor.c#2 integrate
      .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#19 integrate
      .. //depot/projects/vimage/src/sys/i386/conf/GENERIC.hints#8 integrate
      .. //depot/projects/vimage/src/sys/i386/conf/NOTES#18 integrate
      .. //depot/projects/vimage/src/sys/i386/i386/busdma_machdep.c#8 integrate
      .. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#10 integrate
      .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#16 integrate
      .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_socksys.c#3 integrate
      .. //depot/projects/vimage/src/sys/ia64/conf/GENERIC#9 integrate
      .. //depot/projects/vimage/src/sys/ia64/ia64/busdma_machdep.c#5 integrate
      .. //depot/projects/vimage/src/sys/ia64/ia64/machdep.c#14 integrate
      .. //depot/projects/vimage/src/sys/ia64/include/ia64_cpu.h#4 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_alq.c#7 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_conf.c#14 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_cpuset.c#4 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_event.c#9 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_exec.c#12 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_fork.c#18 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_jail.c#10 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_malloc.c#8 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_mib.c#10 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_poll.c#7 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_xxx.c#7 integrate
      .. //depot/projects/vimage/src/sys/kern/link_elf.c#8 integrate
      .. //depot/projects/vimage/src/sys/kern/link_elf_obj.c#8 integrate
      .. //depot/projects/vimage/src/sys/kern/subr_param.c#4 integrate
      .. //depot/projects/vimage/src/sys/kern/subr_stack.c#4 integrate
      .. //depot/projects/vimage/src/sys/kern/uipc_debug.c#4 integrate
      .. //depot/projects/vimage/src/sys/kern/uipc_socket.c#18 integrate
      .. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#15 integrate
      .. //depot/projects/vimage/src/sys/kern/vfs_mount.c#17 integrate
      .. //depot/projects/vimage/src/sys/libkern/memset.c#2 integrate
      .. //depot/projects/vimage/src/sys/mips/adm5120/adm5120_machdep.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/adm5120reg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/admpci.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/console.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/files.adm5120#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/if_admsw.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/if_admswreg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/if_admswvar.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/obio.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/obiovar.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/std.adm5120#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/uart_bus_adm5120.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/uart_cpu_adm5120.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/uart_dev_adm5120.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/adm5120/uart_dev_adm5120.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/files.idt#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/idt_machdep.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/idtpci.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/idtreg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/if_kr.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/if_krreg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/obio.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/obiovar.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/std.idt#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/uart_bus_rc32434.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/idt/uart_cpu_rc32434.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/files.malta#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/gt.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/gt_pci.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/gtreg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/gtvar.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/malta_machdep.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/maltareg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/obio.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/obiovar.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/std.malta#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/uart_bus_maltausart.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/uart_cpu_maltausart.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/yamon.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/malta/yamon.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/mips/pmap.c#3 integrate
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/adm5120reg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/admpci.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/console.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/files.adm5120#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/if_admsw.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/if_admswreg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/if_admswvar.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/obio.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/obiovar.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/std.adm5120#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/files.idt#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/idt_machdep.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/idtpci.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/idtreg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/if_kr.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/if_krreg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/obio.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/obiovar.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/std.idt#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/uart_bus_rc32434.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/idt/uart_cpu_rc32434.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/files.malta#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/gt.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/gt_pci.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/gtreg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/gtvar.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/malta_machdep.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/maltareg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/obio.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/obiovar.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/std.malta#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/uart_bus_maltausart.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/uart_cpu_maltausart.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/yamon.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/malta/yamon.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/files.sentry5#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/obio.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/obiovar.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/s5_machdep.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/s5reg.h#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/siba_cc.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/siba_mips.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/siba_sdram.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete
      .. //depot/projects/vimage/src/sys/mips/sentry5/files.sentry5#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/obio.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/obiovar.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/s5_machdep.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/s5reg.h#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/siba_cc.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/siba_mips.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/siba_sdram.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/uart_bus_sbusart.c#1 branch
      .. //depot/projects/vimage/src/sys/mips/sentry5/uart_cpu_sbusart.c#1 branch
      .. //depot/projects/vimage/src/sys/modules/Makefile#23 integrate
      .. //depot/projects/vimage/src/sys/modules/arl/Makefile#2 delete
      .. //depot/projects/vimage/src/sys/modules/cnw/Makefile#2 delete
      .. //depot/projects/vimage/src/sys/modules/oltr/Makefile#2 delete
      .. //depot/projects/vimage/src/sys/modules/pecoff/Makefile#2 delete
      .. //depot/projects/vimage/src/sys/modules/sbni/Makefile#2 delete
      .. //depot/projects/vimage/src/sys/modules/sbsh/Makefile#2 delete
      .. //depot/projects/vimage/src/sys/net/bpf.c#21 integrate
      .. //depot/projects/vimage/src/sys/net/bpf.h#7 integrate
      .. //depot/projects/vimage/src/sys/net/bpf_zerocopy.c#2 integrate
      .. //depot/projects/vimage/src/sys/net/bpf_zerocopy.h#2 integrate
      .. //depot/projects/vimage/src/sys/net/if_bridge.c#13 integrate
      .. //depot/projects/vimage/src/sys/net/if_lagg.c#15 integrate
      .. //depot/projects/vimage/src/sys/net/if_ppp.c#8 integrate
      .. //depot/projects/vimage/src/sys/net/if_vlan.c#7 integrate
      .. //depot/projects/vimage/src/sys/net/netisr.c#9 integrate
      .. //depot/projects/vimage/src/sys/net/netisr.h#3 integrate
      .. //depot/projects/vimage/src/sys/net/raw_cb.c#5 integrate
      .. //depot/projects/vimage/src/sys/net/raw_cb.h#3 integrate
      .. //depot/projects/vimage/src/sys/net/raw_usrreq.c#4 integrate
      .. //depot/projects/vimage/src/sys/net/rtsock.c#12 integrate
      .. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#8 integrate
      .. //depot/projects/vimage/src/sys/net80211/ieee80211_output.c#12 integrate
      .. //depot/projects/vimage/src/sys/netatalk/ddp_usrreq.c#4 integrate
      .. //depot/projects/vimage/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#3 integrate
      .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate
      .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 integrate
      .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate
      .. //depot/projects/vimage/src/sys/netgraph/bluetooth/include/ng_bluetooth.h#3 integrate
      .. //depot/projects/vimage/src/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate
      .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#30 integrate
      .. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#7 integrate
      .. //depot/projects/vimage/src/sys/netgraph/ng_ip_input.c#2 integrate
      .. //depot/projects/vimage/src/sys/netinet/if_ether.c#18 integrate
      .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#23 integrate
      .. //depot/projects/vimage/src/sys/netinet/in_pcb.h#14 integrate
      .. //depot/projects/vimage/src/sys/netinet/ip_carp.c#9 integrate
      .. //depot/projects/vimage/src/sys/netinet/ip_gre.c#3 integrate
      .. //depot/projects/vimage/src/sys/netinet/ip_input.c#27 integrate
      .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#20 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#19 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.h#11 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_bsd_addr.c#15 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_bsd_addr.h#8 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_cc_functions.h#3 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#22 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_crc32.h#4 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#26 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_indata.h#8 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#26 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_input.h#7 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#19 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#27 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_output.h#12 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#27 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#19 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.h#9 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#19 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_timer.h#7 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#16 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#28 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctp_var.h#19 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctputil.c#28 integrate
      .. //depot/projects/vimage/src/sys/netinet/sctputil.h#17 integrate
      .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#16 integrate
      .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#25 integrate
      .. //depot/projects/vimage/src/sys/netinet6/frag6.c#13 integrate
      .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#23 integrate
      .. //depot/projects/vimage/src/sys/netinet6/in6.c#17 integrate
      .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#18 integrate
      .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#17 integrate
      .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.h#4 integrate
      .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#18 integrate
      .. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#11 integrate
      .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#29 integrate
      .. //depot/projects/vimage/src/sys/netinet6/ip6_var.h#12 integrate
      .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#18 integrate
      .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#24 integrate
      .. //depot/projects/vimage/src/sys/netinet6/sctp6_var.h#9 integrate
      .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#24 integrate
      .. //depot/projects/vimage/src/sys/netipsec/keysock.c#9 integrate
      .. //depot/projects/vimage/src/sys/netipx/ipx_input.c#4 integrate
      .. //depot/projects/vimage/src/sys/netnatm/natm_proto.c#3 integrate
      .. //depot/projects/vimage/src/sys/nfsclient/bootp_subr.c#8 integrate
      .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#14 integrate
      .. //depot/projects/vimage/src/sys/nfsserver/nfs_syscalls.c#9 integrate
      .. //depot/projects/vimage/src/sys/nlm/nlm_advlock.c#3 integrate
      .. //depot/projects/vimage/src/sys/nlm/nlm_prot_impl.c#6 integrate
      .. //depot/projects/vimage/src/sys/pc98/conf/GENERIC#12 integrate
      .. //depot/projects/vimage/src/sys/pc98/conf/NOTES#6 integrate
      .. //depot/projects/vimage/src/sys/pc98/include/bus.h#2 integrate
      .. //depot/projects/vimage/src/sys/pc98/pc98/busiosubr.c#2 integrate
      .. //depot/projects/vimage/src/sys/pci/if_rlreg.h#12 integrate
      .. //depot/projects/vimage/src/sys/powerpc/conf/GENERIC#12 integrate
      .. //depot/projects/vimage/src/sys/rpc/authunix_prot.c#4 integrate
      .. //depot/projects/vimage/src/sys/sparc64/conf/GENERIC#11 integrate
      .. //depot/projects/vimage/src/sys/sparc64/include/in_cksum.h#3 integrate
      .. //depot/projects/vimage/src/sys/sparc64/sparc64/in_cksum.c#2 integrate
      .. //depot/projects/vimage/src/sys/sun4v/conf/GENERIC#11 integrate
      .. //depot/projects/vimage/src/sys/sys/event.h#3 integrate
      .. //depot/projects/vimage/src/sys/sys/eventhandler.h#6 integrate
      .. //depot/projects/vimage/src/sys/sys/imgact.h#3 integrate
      .. //depot/projects/vimage/src/sys/sys/ioctl_compat.h#4 integrate
      .. //depot/projects/vimage/src/sys/sys/kernel.h#12 integrate
      .. //depot/projects/vimage/src/sys/sys/libkern.h#3 integrate
      .. //depot/projects/vimage/src/sys/sys/link_elf.h#3 integrate
      .. //depot/projects/vimage/src/sys/sys/socketvar.h#10 integrate
      .. //depot/projects/vimage/src/sys/sys/termios.h#3 integrate
      .. //depot/projects/vimage/src/sys/sys/ttycom.h#3 integrate
      .. //depot/projects/vimage/src/sys/vm/swap_pager.c#12 integrate
      .. //depot/projects/vimage/src/sys/vm/vm_kern.h#2 integrate
      
      Differences ...
      
      ==== //depot/projects/vimage/src/sys/Makefile#9 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/Makefile,v 1.49 2008/05/26 10:39:52 bz Exp $
      +# $FreeBSD: src/sys/Makefile,v 1.50 2008/07/10 16:03:24 obrien Exp $
       
       .include 
       
      @@ -12,9 +12,12 @@
       		gnu isa kern libkern modules net net80211 netatalk \
       		netgraph netinet netinet6 netipsec netipx netnatm netncp \
       		netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \
      -		pci rpc security sys ufs vm ${ARCHDIR}
      -
      -ARCHDIR	?=	${MACHINE}
      +		pci rpc security sys ufs vm ${CSCOPE_ARCHDIR}
      +.if defined(ALL_ARCH)
      +CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips powerpc sparc64
      +.else
      +CSCOPE_ARCHDIR ?= ${MACHINE}
      +.endif
       
       # Loadable kernel modules
       
      
      ==== //depot/projects/vimage/src/sys/amd64/amd64/busdma_machdep.c#7 (text+ko) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.85 2008/02/12 16:24:30 scottl Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.86 2008/07/15 03:34:49 alc Exp $");
       
       #include 
       #include 
      @@ -480,8 +480,6 @@
       		mflags = M_NOWAIT;
       	else
       		mflags = M_WAITOK;
      -	if (flags & BUS_DMA_ZERO)
      -		mflags |= M_ZERO;
       
       	/* If we succeed, no mapping/bouncing will be required */
       	*mapp = NULL;
      @@ -489,13 +487,15 @@
       	if (dmat->segments == NULL) {
       		dmat->segments = (bus_dma_segment_t *)malloc(
       		    sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
      -		    M_NOWAIT);
      +		    mflags);
       		if (dmat->segments == NULL) {
       			CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
       			    __func__, dmat, dmat->flags, ENOMEM);
       			return (ENOMEM);
       		}
       	}
      +	if (flags & BUS_DMA_ZERO)
      +		mflags |= M_ZERO;
       
       	/* 
       	 * XXX:
      @@ -531,7 +531,7 @@
       		pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
       		    PAT_UNCACHEABLE);
       	CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
      -	    __func__, dmat, dmat->flags, ENOMEM);
      +	    __func__, dmat, dmat->flags, 0);
       	return (0);
       }
       
      
      ==== //depot/projects/vimage/src/sys/amd64/amd64/machdep.c#10 (text+ko) ====
      
      @@ -39,7 +39,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.686 2008/04/25 05:18:47 jeff Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.687 2008/07/09 19:44:37 peter Exp $");
       
       #include "opt_atalk.h"
       #include "opt_atpic.h"
      @@ -1466,6 +1466,10 @@
       	_udatasel = GSEL(GUDATA_SEL, SEL_UPL);
       	_ucode32sel = GSEL(GUCODE32_SEL, SEL_UPL);
       
      +	load_ds(_udatasel);
      +	load_es(_udatasel);
      +	load_fs(_udatasel);
      +
       	/* setup proc 0's pcb */
       	thread0.td_pcb->pcb_flags = 0;
       	thread0.td_pcb->pcb_cr3 = KPML4phys;
      
      ==== //depot/projects/vimage/src/sys/amd64/amd64/minidump_machdep.c#8 (text) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.5 2008/06/20 20:59:31 alc Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.6 2008/07/08 04:00:22 alc Exp $");
       
       #include "opt_vimage.h"
       
      @@ -209,7 +209,8 @@
       	/* Walk page table pages, set bits in vm_page_dump */
       	ptesize = 0;
       	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
      -	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
      +	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
      +	    kernel_vm_end); va += NBPDR) {
       		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
       		/*
       		 * We always write a page, even if it is zero. Each
      @@ -315,7 +316,8 @@
       
       	/* Dump kernel page table pages */
       	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
      -	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
      +	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
      +	    kernel_vm_end); va += NBPDR) {
       		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
       		/* We always write a page, even if it is zero */
       		if ((pdp[i] & PG_V) == 0) {
      
      ==== //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#9 (text+ko) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.289 2008/03/10 01:32:48 jeff Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.291 2008/07/09 19:44:37 peter Exp $");
       
       #include "opt_cpu.h"
       #include "opt_kstack_pages.h"
      @@ -79,7 +79,6 @@
       
       int	mp_naps;		/* # of Applications processors */
       int	boot_cpu_id = -1;	/* designated BSP */
      -extern	int nkpt;
       
       extern  struct pcpu __pcpu[];
       
      @@ -99,6 +98,8 @@
       /* SMP page table page */
       extern pt_entry_t *SMPpt;
       
      +extern int  _udatasel;
      +
       struct pcb stoppcbs[MAXCPU];
       
       /* Variables needed for SMP tlb shootdown. */
      @@ -565,7 +566,9 @@
       	 */
       
       	load_cr4(rcr4() | CR4_PGE);
      -
      +	load_ds(_udatasel);
      +	load_es(_udatasel);
      +	load_fs(_udatasel);
       	mtx_unlock_spin(&ap_boot_mtx);
       
       	/* wait until all the AP's are up */
      
      ==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#18 (text+ko) ====
      
      @@ -77,7 +77,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.623 2008/06/21 19:19:09 alc Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $");
       
       /*
        *	Manages physical address maps.
      @@ -173,10 +173,9 @@
       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) */
       
      -static int nkpt;
       static int ndmpdp;
       static vm_paddr_t dmaplimit;
      -vm_offset_t kernel_vm_end;
      +vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
       pt_entry_t pg_nx;
       
       SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
      @@ -227,6 +226,7 @@
           vm_prot_t prot);
       static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
           vm_page_t m, vm_prot_t prot, vm_page_t mpte);
      +static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
       static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
       static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
       static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
      @@ -441,10 +441,8 @@
       	/* Read-only from zero to physfree */
       	/* XXX not fully used, underneath 2M pages */
       	for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) {
      -		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    PAGE_SIZE + i] = i << PAGE_SHIFT;
      -		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    PAGE_SIZE + i] |= PG_RW | PG_V | PG_G;
      +		((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT;
      +		((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G;
       	}
       
       	/* Now map the page tables at their location within PTmap */
      @@ -456,10 +454,8 @@
       	/* Map from zero to end of allocations under 2M pages */
       	/* This replaces some of the KPTphys entries above */
       	for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) {
      -		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    NBPDR + i] = i << PDRSHIFT;
      -		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    NBPDR + i] |= PG_RW | PG_V | PG_PS | PG_G;
      +		((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT;
      +		((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G;
       	}
       
       	/* And connect up the PD to the PDP */
      @@ -470,11 +466,12 @@
       	}
       
       	/* Now set up the direct map space using either 2MB or 1GB pages */
      +	/* Preset PG_M and PG_A because demotion expects it */
       	if ((amd_feature & AMDID_PAGE1GB) == 0) {
       		for (i = 0; i < NPDEPG * ndmpdp; i++) {
       			((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT;
       			((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS |
      -			    PG_G;
      +			    PG_G | PG_M | PG_A;
       		}
       		/* And the direct map space's PDP */
       		for (i = 0; i < ndmpdp; i++) {
      @@ -487,7 +484,7 @@
       			((pdp_entry_t *)DMPDPphys)[i] =
       			    (vm_paddr_t)i << PDPSHIFT;
       			((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_PS |
      -			    PG_G;
      +			    PG_G | PG_M | PG_A;
       		}
       	}
       
      @@ -543,7 +540,6 @@
       	kernel_pmap->pm_root = NULL;
       	kernel_pmap->pm_active = -1;	/* don't allow deactivation */
       	TAILQ_INIT(&kernel_pmap->pm_pvchunk);
      -	nkpt = NKPT;
       
       	/*
       	 * Reserve some special page table entries/VA space for temporary
      @@ -649,15 +645,17 @@
       	 * Initialize the vm page array entries for the kernel pmap's
       	 * page table pages.
       	 */ 
      -	pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
      -	for (i = 0; i < nkpt; i++) {
      +	pd = pmap_pde(kernel_pmap, KERNBASE);
      +	for (i = 0; i < NKPT; i++) {
       		if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V))
       			continue;
      +		KASSERT((pd[i] & PG_V) != 0,
      +		    ("pmap_init: page table page is missing"));
       		mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME);
       		KASSERT(mpte >= vm_page_array &&
       		    mpte < &vm_page_array[vm_page_array_size],
       		    ("pmap_init: page table page is out of range"));
      -		mpte->pindex = pmap_pde_pindex(VM_MIN_KERNEL_ADDRESS) + i;
      +		mpte->pindex = pmap_pde_pindex(KERNBASE) + i;
       		mpte->phys_addr = pd[i] & PG_FRAME;
       	}
       
      @@ -1043,17 +1041,25 @@
       vm_paddr_t
       pmap_kextract(vm_offset_t va)
       {
      -	pd_entry_t *pde;
      +	pd_entry_t pde;
       	vm_paddr_t pa;
       
       	if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) {
       		pa = DMAP_TO_PHYS(va);
       	} else {
      -		pde = vtopde(va);
      -		if (*pde & PG_PS) {
      -			pa = (*pde & PG_PS_FRAME) | (va & PDRMASK);
      +		pde = *vtopde(va);
      +		if (pde & PG_PS) {
      +			pa = (pde & PG_PS_FRAME) | (va & PDRMASK);
       		} else {
      -			pa = *vtopte(va);
      +			/*
      +			 * Beware of a concurrent promotion that changes the
      +			 * PDE at this point!  For example, vtopte() must not
      +			 * be used to access the PTE because it would use the
      +			 * new PDE.  It is, however, safe to use the old PDE
      +			 * because the page table page is preserved by the
      +			 * promotion.
      +			 */
      +			pa = *pmap_pde_to_pte(&pde, va);
       			pa = (pa & PG_FRAME) | (va & PAGE_MASK);
       		}
       	}
      @@ -1703,41 +1709,50 @@
       	vm_paddr_t paddr;
       	vm_page_t nkpg;
       	pd_entry_t *pde, newpdir;
      -	pdp_entry_t newpdp;
      +	pdp_entry_t *pdpe;
       
       	mtx_assert(&kernel_map->system_mtx, MA_OWNED);
      -	if (kernel_vm_end == 0) {
      -		kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
      -		nkpt = 0;
      -		while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) {
      -			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      -			nkpt++;
      -			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
      -				kernel_vm_end = kernel_map->max_offset;
      -				break;                       
      -			}
      -		}
      -	}
      -	addr = roundup2(addr, PAGE_SIZE * NPTEPG);
      +
      +	/*
      +	 * Return if "addr" is within the range of kernel page table pages
      +	 * that were preallocated during pmap bootstrap.  Moreover, leave
      +	 * "kernel_vm_end" and the kernel page table as they were.
      +	 *
      +	 * The correctness of this action is based on the following
      +	 * argument: vm_map_findspace() allocates contiguous ranges of the
      +	 * kernel virtual address space.  It calls this function if a range
      +	 * ends after "kernel_vm_end".  If the kernel is mapped between
      +	 * "kernel_vm_end" and "addr", then the range cannot begin at
      +	 * "kernel_vm_end".  In fact, its beginning address cannot be less
      +	 * than the kernel.  Thus, there is no immediate need to allocate
      +	 * any new kernel page table pages between "kernel_vm_end" and
      +	 * "KERNBASE".
      +	 */
      +	if (KERNBASE < addr && addr <= KERNBASE + NKPT * NBPDR)
      +		return;
      +
      +	addr = roundup2(addr, NBPDR);
       	if (addr - 1 >= kernel_map->max_offset)
       		addr = kernel_map->max_offset;
       	while (kernel_vm_end < addr) {
      -		pde = pmap_pde(kernel_pmap, kernel_vm_end);
      -		if (pde == NULL) {
      +		pdpe = pmap_pdpe(kernel_pmap, kernel_vm_end);
      +		if ((*pdpe & PG_V) == 0) {
       			/* We need a new PDP entry */
      -			nkpg = vm_page_alloc(NULL, nkpt,
      -			    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
      +			nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT,
      +			    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ |
      +			    VM_ALLOC_WIRED | VM_ALLOC_ZERO);
       			if (nkpg == NULL)
       				panic("pmap_growkernel: no memory to grow kernel");
      -			pmap_zero_page(nkpg);
      +			if ((nkpg->flags & PG_ZERO) == 0)
      +				pmap_zero_page(nkpg);
       			paddr = VM_PAGE_TO_PHYS(nkpg);
      -			newpdp = (pdp_entry_t)
      +			*pdpe = (pdp_entry_t)
       				(paddr | PG_V | PG_RW | PG_A | PG_M);
      -			*pmap_pdpe(kernel_pmap, kernel_vm_end) = newpdp;
       			continue; /* try again */
       		}
      +		pde = pmap_pdpe_to_pde(pdpe, kernel_vm_end);
       		if ((*pde & PG_V) != 0) {
      -			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      +			kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
       			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
       				kernel_vm_end = kernel_map->max_offset;
       				break;                       
      @@ -1746,18 +1761,17 @@
       		}
       
       		nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end),
      -		    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
      +		    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED |
      +		    VM_ALLOC_ZERO);
       		if (nkpg == NULL)
       			panic("pmap_growkernel: no memory to grow kernel");
      -
      -		nkpt++;
      -
      -		pmap_zero_page(nkpg);
      +		if ((nkpg->flags & PG_ZERO) == 0)
      +			pmap_zero_page(nkpg);
       		paddr = VM_PAGE_TO_PHYS(nkpg);
       		newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M);
      -		*pmap_pde(kernel_pmap, kernel_vm_end) = newpdir;
      +		pde_store(pde, newpdir);
       
      -		kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      +		kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
       		if (kernel_vm_end - 1 >= kernel_map->max_offset) {
       			kernel_vm_end = kernel_map->max_offset;
       			break;                       
      @@ -2193,58 +2207,88 @@
       }
       
       /*
      - * Tries to demote a 2MB page mapping.
      + * Fills a page table page with mappings to consecutive physical pages.
      + */
      +static void
      +pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte)
      +{
      +	pt_entry_t *pte;
      +
      +	for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
      +		*pte = newpte;
      +		newpte += PAGE_SIZE;
      +	}
      +}
      +
      +/*
      + * Tries to demote a 2MB page mapping.  If demotion fails, the 2MB page
      + * mapping is invalidated.
        */
       static boolean_t
       pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
       {
       	pd_entry_t newpde, oldpde;
      -	pt_entry_t *firstpte, newpte, *pte;
      +	pt_entry_t *firstpte, newpte;
       	vm_paddr_t mptepa;
       	vm_page_t free, mpte;
       
       	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
      +	oldpde = *pde;
      +	KASSERT((oldpde & (PG_PS | PG_V)) == (PG_PS | PG_V),
      +	    ("pmap_demote_pde: oldpde is missing PG_PS and/or PG_V"));
       	mpte = pmap_lookup_pt_page(pmap, va);
       	if (mpte != NULL)
       		pmap_remove_pt_page(pmap, mpte);
       	else {
      -		KASSERT((*pde & PG_W) == 0,
      +		KASSERT((oldpde & PG_W) == 0,
       		    ("pmap_demote_pde: page table page for a wired mapping"
       		    " is missing"));
      -		free = NULL;
      -		pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
      -		pmap_invalidate_page(pmap, trunc_2mpage(va));
      -		pmap_free_zero_pages(free);
      -		CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
      -		    " in pmap %p", va, pmap);
      -		return (FALSE);
      +
      +		/*
      +		 * Invalidate the 2MB page mapping and return "failure" if the
      +		 * mapping was never accessed or the allocation of the new
      +		 * page table page fails.
      +		 */
      +		if ((oldpde & PG_A) == 0 || (mpte = vm_page_alloc(NULL,
      +		    pmap_pde_pindex(va), VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL |
      +		    VM_ALLOC_WIRED)) == NULL) {
      +			free = NULL;
      +			pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
      +			pmap_invalidate_page(pmap, trunc_2mpage(va));
      +			pmap_free_zero_pages(free);
      +			CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
      +			    " in pmap %p", va, pmap);
      +			return (FALSE);
      +		}
       	}
       	mptepa = VM_PAGE_TO_PHYS(mpte);
       	firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
      -	oldpde = *pde;
       	newpde = mptepa | PG_M | PG_A | (oldpde & PG_U) | PG_RW | PG_V;
      -	KASSERT((oldpde & (PG_A | PG_V)) == (PG_A | PG_V),
      -	    ("pmap_demote_pde: oldpde is missing PG_A and/or PG_V"));
      +	KASSERT((oldpde & PG_A) != 0,
      +	    ("pmap_demote_pde: oldpde is missing PG_A"));
       	KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW,
       	    ("pmap_demote_pde: oldpde is missing PG_M"));
      -	KASSERT((oldpde & PG_PS) != 0,
      -	    ("pmap_demote_pde: oldpde is missing PG_PS"));
       	newpte = oldpde & ~PG_PS;
       	if ((newpte & PG_PDE_PAT) != 0)
       		newpte ^= PG_PDE_PAT | PG_PTE_PAT;
       
       	/*
      -	 * If the mapping has changed attributes, update the page table
      -	 * entries.
      +	 * If the page table page is new, initialize it.
       	 */
      +	if (mpte->wire_count == 1) {
      +		mpte->wire_count = NPTEPG;
      +		pmap_fill_ptp(firstpte, newpte);
      +	}
       	KASSERT((*firstpte & PG_FRAME) == (newpte & PG_FRAME),
       	    ("pmap_demote_pde: firstpte and newpte map different physical"
       	    " addresses"));
      +
      +	/*
      +	 * If the mapping has changed attributes, update the page table
      +	 * entries.
      +	 */
       	if ((*firstpte & PG_PTE_PROMOTE) != (newpte & PG_PTE_PROMOTE))
      -		for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
      -			*pte = newpte;
      -			newpte += PAGE_SIZE;
      -		}
      +		pmap_fill_ptp(firstpte, newpte);
       
       	/*
       	 * Demote the mapping.  This pmap is locked.  The old PDE has
      
      ==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#17 (text+ko) ====
      
      @@ -16,7 +16,7 @@
       # If you are in doubt as to the purpose or necessity of a line, check first
       # in NOTES.
       #
      -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.502 2008/06/20 19:28:33 delphij Exp $
      +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $
       
       cpu		HAMMER
       ident		GENERIC
      @@ -64,6 +64,7 @@
       options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
       options 	STOP_NMI		# Stop CPUS using NMI instead of IPI
       options 	AUDIT			# Security event auditing
      +options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
       
       # Debugging for use in -current
       options 	KDB			# Enable kernel debugger support.
      @@ -171,7 +172,6 @@
       device		cardbus		# CardBus (32-bit) bus
       
       # Serial (COM) ports
      -device		sio		# 8250, 16[45]50 based serial ports
       device		uart		# Generic UART driver
       
       # Parallel port
      
      ==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC.hints#3 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.18 2007/10/15 20:00:20 netchild Exp $
      +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.19 2008/07/13 07:20:14 ed Exp $
       hint.fdc.0.at="isa"
       hint.fdc.0.port="0x3F0"
       hint.fdc.0.irq="6"
      @@ -16,20 +16,20 @@
       hint.vga.0.at="isa"
       hint.sc.0.at="isa"
       hint.sc.0.flags="0x100"
      -hint.sio.0.at="isa"
      -hint.sio.0.port="0x3F8"
      -hint.sio.0.flags="0x10"
      -hint.sio.0.irq="4"
      -hint.sio.1.at="isa"
      -hint.sio.1.port="0x2F8"
      -hint.sio.1.irq="3"
      -hint.sio.2.at="isa"
      -hint.sio.2.disabled="1"
      -hint.sio.2.port="0x3E8"
      -hint.sio.2.irq="5"
      -hint.sio.3.at="isa"
      -hint.sio.3.disabled="1"
      -hint.sio.3.port="0x2E8"
      -hint.sio.3.irq="9"
      +hint.uart.0.at="isa"
      +hint.uart.0.port="0x3F8"
      +hint.uart.0.flags="0x10"
      +hint.uart.0.irq="4"
      +hint.uart.1.at="isa"
      +hint.uart.1.port="0x2F8"
      +hint.uart.1.irq="3"
      +hint.uart.2.at="isa"
      +hint.uart.2.disabled="1"
      +hint.uart.2.port="0x3E8"
      +hint.uart.2.irq="5"
      +hint.uart.3.at="isa"
      +hint.uart.3.disabled="1"
      +hint.uart.3.port="0x2E8"
      +hint.uart.3.irq="9"
       hint.ppc.0.at="isa"
       hint.ppc.0.irq="7"
      
      ==== //depot/projects/vimage/src/sys/amd64/include/pmap.h#6 (text+ko) ====
      
      @@ -39,7 +39,7 @@
        *
        *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
        *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
      - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.142 2008/06/29 19:13:27 alc Exp $
      + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $
        */
       
       #ifndef _MACHINE_PMAP_H_
      @@ -111,11 +111,11 @@
       
       /* Initial number of kernel page tables. */
       #ifndef NKPT
      -#define	NKPT		2288
      +#define	NKPT		32
       #endif
       
       #define NKPML4E		1		/* number of kernel PML4 slots */
      -#define NKPDPE		5		/* number of kernel PDP slots */
      +#define NKPDPE		howmany(NKPT, NPDEPG)/* number of kernel PDP slots */
       
       #define	NUPML4E		(NPML4EPG/2)	/* number of userland PML4 pages */
       #define	NUPDPE		(NUPML4E*NPDPEPG)/* number of userland PDP pages */
      @@ -131,7 +131,7 @@
       #define	KPML4I		(NPML4EPG-1)	/* Top 512GB for KVM */
       #define	DMPML4I		(KPML4I-1)	/* Next 512GB down for direct map */
       
      -#define	KPDPI		(NPDPEPG-6)	/* kernel map starts at -6GB */
      +#define	KPDPI		(NPDPEPG-2)	/* kernbase at -2GB */
       
       /*
        * XXX doesn't really belong here I guess...
      
      ==== //depot/projects/vimage/src/sys/amd64/include/vmparam.h#8 (text+ko) ====
      
      @@ -38,7 +38,7 @@
        * SUCH DAMAGE.
        *
        *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
      - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.52 2008/06/29 19:13:27 alc Exp $
      + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.56 2008/07/08 22:59:17 alc Exp $
        */
       
       
      @@ -148,17 +148,27 @@
       /*
        * Virtual addresses of things.  Derived from the page directory and
        * page table indexes from pmap.h for precision.
      - * Because of the page that is both a PD and PT, it looks a little
      - * messy at times, but hey, we'll do anything to save a page :-)
      + *
      + * 0x0000000000000000 - 0x00007fffffffffff   user map
      + * 0x0000800000000000 - 0xffff7fffffffffff   does not exist (hole)
      + * 0xffff800000000000 - 0xffff804020100fff   recursive page table (512GB slot)
      + * 0xffff804020101000 - 0xfffffeffffffffff   unused
      + * 0xffffff0000000000 - 0xffffff7fffffffff   512GB direct map mappings
      + * 0xffffff8000000000 - 0xfffffffe3fffffff   unused (505GB)
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 11:08:14 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 7FBC51065676; Fri, 18 Jul 2008 11:08:14 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 2B4D9106567E
      	for ; Fri, 18 Jul 2008 11:08:14 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 08EE78FC08
      	for ; Fri, 18 Jul 2008 11:08:14 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IB8D6U048736
      	for ; Fri, 18 Jul 2008 11:08:13 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IB8Dp3048734
      	for perforce@freebsd.org; Fri, 18 Jul 2008 11:08:13 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 11:08:13 GMT
      Message-Id: <200807181108.m6IB8Dp3048734@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145422 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 11:08:14 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145422
      
      Change 145422 by zec@zec_tpx32 on 2008/07/18 11:07:44
      
      	IFC to 145420
      
      Affected files ...
      
      .. //depot/projects/vimage/src/sys/arm/xscale/i80321/ep80219_machdep.c#7 integrate
      .. //depot/projects/vimage/src/sys/arm/xscale/i80321/iq31244_machdep.c#7 integrate
      .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/crb_machdep.c#6 integrate
      .. //depot/projects/vimage/src/sys/arm/xscale/ixp425/avila_machdep.c#8 integrate
      .. //depot/projects/vimage/src/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate
      .. //depot/projects/vimage/src/sys/conf/files#31 integrate
      .. //depot/projects/vimage/src/sys/dev/age/if_age.c#3 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ael1002.c#5 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_common.h#7 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_mc5.c#5 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#6 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_hw.c#7 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_vsc8211.c#5 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_xgmac.c#6 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#11 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#12 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_osdep.h#9 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#12 integrate
      .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 integrate
      .. //depot/projects/vimage/src/sys/dev/jme/if_jme.c#2 integrate
      .. //depot/projects/vimage/src/sys/kern/kern_intr.c#11 integrate
      .. //depot/projects/vimage/src/sys/kern/subr_taskqueue.c#6 integrate
      .. //depot/projects/vimage/src/sys/modules/cxgb/cxgb/Makefile#4 integrate
      .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#21 integrate
      .. //depot/projects/vimage/src/sys/sys/_task.h#2 integrate
      .. //depot/projects/vimage/src/sys/sys/interrupt.h#7 integrate
      .. //depot/projects/vimage/src/sys/sys/taskqueue.h#3 integrate
      
      Differences ...
      
      ==== //depot/projects/vimage/src/sys/arm/xscale/i80321/ep80219_machdep.c#7 (text+ko) ====
      
      @@ -48,7 +48,7 @@
       #include "opt_msgbuf.h"
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.10 2008/04/08 10:24:41 kevlo Exp $");
      +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.11 2008/07/18 06:14:36 alc Exp $");
       
       #define _ARM32_BUS_DMA_PRIVATE
       #include 
      @@ -129,7 +129,6 @@
       vm_paddr_t phys_avail[10];
       vm_paddr_t dump_avail[4];
       vm_offset_t physical_pages;
      -vm_offset_t clean_sva, clean_eva;
       
       struct pv_addr systempage;
       struct pv_addr msgbufpv;
      
      ==== //depot/projects/vimage/src/sys/arm/xscale/i80321/iq31244_machdep.c#7 (text+ko) ====
      
      @@ -48,7 +48,7 @@
       #include "opt_msgbuf.h"
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.31 2008/04/08 10:24:41 kevlo Exp $");
      +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.32 2008/07/18 06:14:36 alc Exp $");
       
       #define _ARM32_BUS_DMA_PRIVATE
       #include 
      @@ -129,7 +129,6 @@
       vm_paddr_t phys_avail[10];
       vm_paddr_t dump_avail[4];
       vm_offset_t physical_pages;
      -vm_offset_t clean_sva, clean_eva;
       
       struct pv_addr systempage;
       struct pv_addr msgbufpv;
      
      ==== //depot/projects/vimage/src/sys/arm/xscale/i8134x/crb_machdep.c#6 (text+ko) ====
      
      @@ -48,7 +48,7 @@
       #include "opt_msgbuf.h"
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.7 2008/06/09 05:53:04 kevlo Exp $");
      +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.8 2008/07/18 06:14:36 alc Exp $");
       
       #define _ARM32_BUS_DMA_PRIVATE
       #include 
      @@ -129,7 +129,6 @@
       vm_paddr_t phys_avail[10];
       vm_paddr_t dump_avail[4];
       vm_offset_t physical_pages;
      -vm_offset_t clean_sva, clean_eva;
       
       struct pv_addr systempage;
       struct pv_addr msgbufpv;
      
      ==== //depot/projects/vimage/src/sys/arm/xscale/ixp425/avila_machdep.c#8 (text+ko) ====
      
      @@ -48,7 +48,7 @@
       #include "opt_msgbuf.h"
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.10 2008/04/08 10:24:42 kevlo Exp $");
      +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.11 2008/07/18 06:14:36 alc Exp $");
       
       #define _ARM32_BUS_DMA_PRIVATE
       #include 
      @@ -128,7 +128,6 @@
       vm_paddr_t phys_avail[10];
       vm_paddr_t dump_avail[4];
       vm_offset_t physical_pages;
      -vm_offset_t clean_sva, clean_eva;
       
       struct pv_addr systempage;
       struct pv_addr msgbufpv;
      
      ==== //depot/projects/vimage/src/sys/arm/xscale/pxa/pxa_machdep.c#3 (text+ko) ====
      
      @@ -49,7 +49,7 @@
       #include "opt_ddb.h"
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/arm/xscale/pxa/pxa_machdep.c,v 1.2 2008/06/09 05:50:42 kevlo Exp $");
      +__FBSDID("$FreeBSD: src/sys/arm/xscale/pxa/pxa_machdep.c,v 1.3 2008/07/18 06:14:36 alc Exp $");
       
       #define _ARM32_BUS_DMA_PRIVATE
       #include 
      @@ -128,7 +128,6 @@
       vm_paddr_t phys_avail[PXA2X0_SDRAM_BANKS * 2 + 4];
       vm_paddr_t dump_avail[PXA2X0_SDRAM_BANKS * 2 + 4];
       vm_offset_t physical_pages;
      -vm_offset_t clean_sva, clean_eva;
       
       struct pv_addr systempage;
       struct pv_addr msgbufpv;
      
      ==== //depot/projects/vimage/src/sys/conf/files#31 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/conf/files,v 1.1314 2008/07/04 21:24:35 jhb Exp $
      +# $FreeBSD: src/sys/conf/files,v 1.1315 2008/07/18 06:12:31 kmacy Exp $
       #
       # The long compile-with and dependency lines are required because of
       # limitations in config: backslash-newline doesn't work in strings, and
      @@ -525,6 +525,7 @@
       dev/cxgb/common/cxgb_mv88e1xxx.c	optional cxgb pci
       dev/cxgb/common/cxgb_xgmac.c	optional cxgb pci
       dev/cxgb/common/cxgb_t3_hw.c	optional cxgb pci
      +dev/cxgb/common/cxgb_tn1010.c	optional cxgb pci	
       dev/cxgb/sys/uipc_mvec.c	optional cxgb pci
       dev/cxgb/sys/cxgb_support.c	optional cxgb pci
       dev/cxgb/cxgb_t3fw.c		optional cxgb cxgb_t3fw
      
      ==== //depot/projects/vimage/src/sys/dev/age/if_age.c#3 (text+ko) ====
      
      @@ -28,7 +28,7 @@
       /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.2 2008/06/08 14:42:43 rpaulo Exp $");
      +__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.3 2008/07/18 01:00:54 yongari Exp $");
       
       #include 
       #include 
      @@ -492,9 +492,9 @@
       
       	/* Reset PHY. */
       	CSR_WRITE_4(sc, AGE_GPHY_CTRL, GPHY_CTRL_RST);
      -	pause("agephy", hz / 1000);
      +	DELAY(1000);
       	CSR_WRITE_4(sc, AGE_GPHY_CTRL, GPHY_CTRL_CLR);
      -	pause("agephy", hz / 1000);
      +	DELAY(1000);
       }
       
       static int
      
      ==== //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ael1002.c#5 (text+ko) ====
      
      @@ -28,7 +28,7 @@
       ***************************************************************************/
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.5 2008/03/18 03:55:11 kmacy Exp $");
      +__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_ael1002.c,v 1.6 2008/07/18 06:12:31 kmacy Exp $");
       
       #ifdef CONFIG_DEFINED
       #include 
      @@ -46,11 +46,32 @@
       	AEL1002_PWR_DOWN_LO = 0xc012,
       	AEL1002_XFI_EQL     = 0xc015,
       	AEL1002_LB_EN       = 0xc017,
      +	AEL_OPT_SETTINGS    = 0xc017,
      +};
       
      -	LASI_CTRL   = 0x9002,
      -	LASI_STAT   = 0x9005
      +struct reg_val {
      +	unsigned short mmd_addr;
      +	unsigned short reg_addr;
      +	unsigned short clear_bits;
      +	unsigned short set_bits;
       };
       
      +static int set_phy_regs(struct cphy *phy, const struct reg_val *rv)
      +{
      +	int err;
      +
      +	for (err = 0; rv->mmd_addr && !err; rv++) {
      +		if (rv->clear_bits == 0xffff)
      +			err = mdio_write(phy, rv->mmd_addr, rv->reg_addr,
      +					 rv->set_bits);
      +		else
      +			err = t3_mdio_change_bits(phy, rv->mmd_addr,
      +						  rv->reg_addr, rv->clear_bits,
      +						  rv->set_bits);
      +	}
      +	return err;
      +}
      +
       static void ael100x_txon(struct cphy *phy)
       {
       	int tx_on_gpio = phy->addr == 0 ? F_GPIO7_OUT_VAL : F_GPIO2_OUT_VAL;
      @@ -158,83 +179,425 @@
       	return t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait);
       }
       
      -static int ael1006_intr_enable(struct cphy *phy)
      +static int ael1006_power_down(struct cphy *phy, int enable)
       {
      -	return mdio_write(phy, MDIO_DEV_PMA_PMD, LASI_CTRL, 1);
      +	return t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR,
      +				   BMCR_PDOWN, enable ? BMCR_PDOWN : 0);
       }
       
      -static int ael1006_intr_disable(struct cphy *phy)
      +#ifdef C99_NOT_SUPPORTED
      +static struct cphy_ops ael1006_ops = {
      +	ael1006_reset,
      +	t3_phy_lasi_intr_enable,
      +	t3_phy_lasi_intr_disable,
      +	t3_phy_lasi_intr_clear,
      +	t3_phy_lasi_intr_handler,
      +	NULL,
      +	NULL,
      +	NULL,
      +	NULL,
      +	NULL,
      +	ael100x_get_link_status,
      +	ael1006_power_down,
      +};
      +#else
      +static struct cphy_ops ael1006_ops = {
      +	.reset           = ael1006_reset,
      +	.intr_enable     = t3_phy_lasi_intr_enable,
      +	.intr_disable    = t3_phy_lasi_intr_disable,
      +	.intr_clear      = t3_phy_lasi_intr_clear,
      +	.intr_handler    = t3_phy_lasi_intr_handler,
      +	.get_link_status = ael100x_get_link_status,
      +	.power_down      = ael1006_power_down,
      +};
      +#endif
      +
      +int t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      +			const struct mdio_ops *mdio_ops)
       {
      -	return mdio_write(phy, MDIO_DEV_PMA_PMD, LASI_CTRL, 0);
      +	cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops,
      +		  SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE,
      +		  "10GBASE-SR");
      +	ael100x_txon(phy);
      +	return 0;
       }
       
      -static int ael1006_intr_clear(struct cphy *phy)
      +static int ael2005_setup_sr_edc(struct cphy *phy)
       {
      -	u32 val;
      +	static u16 sr_edc[] = {
      +		0xcc00, 0x2ff4,
      +		0xcc01, 0x3cd4,
      +		0xcc02, 0x2015,
      +		0xcc03, 0x3105,
      +		0xcc04, 0x6524,
      +		0xcc05, 0x27ff,
      +		0xcc06, 0x300f,
      +		0xcc07, 0x2c8b,
      +		0xcc08, 0x300b,
      +		0xcc09, 0x4009,
      +		0xcc0a, 0x400e,
      +		0xcc0b, 0x2f72,
      +		0xcc0c, 0x3002,
      +		0xcc0d, 0x1002,
      +		0xcc0e, 0x2172,
      +		0xcc0f, 0x3012,
      +		0xcc10, 0x1002,
      +		0xcc11, 0x25d2,
      +		0xcc12, 0x3012,
      +		0xcc13, 0x1002,
      +		0xcc14, 0xd01e,
      +		0xcc15, 0x27d2,
      +		0xcc16, 0x3012,
      +		0xcc17, 0x1002,
      +		0xcc18, 0x2004,
      +		0xcc19, 0x3c84,
      +		0xcc1a, 0x6436,
      +		0xcc1b, 0x2007,
      +		0xcc1c, 0x3f87,
      +		0xcc1d, 0x8676,
      +		0xcc1e, 0x40b7,
      +		0xcc1f, 0xa746,
      +		0xcc20, 0x4047,
      +		0xcc21, 0x5673,
      +		0xcc22, 0x2982,
      +		0xcc23, 0x3002,
      +		0xcc24, 0x13d2,
      +		0xcc25, 0x8bbd,
      +		0xcc26, 0x2862,
      +		0xcc27, 0x3012,
      +		0xcc28, 0x1002,
      +		0xcc29, 0x2092,
      +		0xcc2a, 0x3012,
      +		0xcc2b, 0x1002,
      +		0xcc2c, 0x5cc3,
      +		0xcc2d, 0x314,
      +		0xcc2e, 0x2942,
      +		0xcc2f, 0x3002,
      +		0xcc30, 0x1002,
      +		0xcc31, 0xd019,
      +		0xcc32, 0x2032,
      +		0xcc33, 0x3012,
      +		0xcc34, 0x1002,
      +		0xcc35, 0x2a04,
      +		0xcc36, 0x3c74,
      +		0xcc37, 0x6435,
      +		0xcc38, 0x2fa4,
      +		0xcc39, 0x3cd4,
      +		0xcc3a, 0x6624,
      +		0xcc3b, 0x5563,
      +		0xcc3c, 0x2d42,
      +		0xcc3d, 0x3002,
      +		0xcc3e, 0x13d2,
      +		0xcc3f, 0x464d,
      +		0xcc40, 0x2862,
      +		0xcc41, 0x3012,
      +		0xcc42, 0x1002,
      +		0xcc43, 0x2032,
      +		0xcc44, 0x3012,
      +		0xcc45, 0x1002,
      +		0xcc46, 0x2fb4,
      +		0xcc47, 0x3cd4,
      +		0xcc48, 0x6624,
      +		0xcc49, 0x5563,
      +		0xcc4a, 0x2d42,
      +		0xcc4b, 0x3002,
      +		0xcc4c, 0x13d2,
      +		0xcc4d, 0x2ed2,
      +		0xcc4e, 0x3002,
      +		0xcc4f, 0x1002,
      +		0xcc50, 0x2fd2,
      +		0xcc51, 0x3002,
      +		0xcc52, 0x1002,
      +		0xcc53, 0x004,
      +		0xcc54, 0x2942,
      +		0xcc55, 0x3002,
      +		0xcc56, 0x1002,
      +		0xcc57, 0x2092,
      +		0xcc58, 0x3012,
      +		0xcc59, 0x1002,
      +		0xcc5a, 0x5cc3,
      +		0xcc5b, 0x317,
      +		0xcc5c, 0x2f72,
      +		0xcc5d, 0x3002,
      +		0xcc5e, 0x1002,
      +		0xcc5f, 0x2942,
      +		0xcc60, 0x3002,
      +		0xcc61, 0x1002,
      +		0xcc62, 0x22cd,
      +		0xcc63, 0x301d,
      +		0xcc64, 0x2862,
      +		0xcc65, 0x3012,
      +		0xcc66, 0x1002,
      +		0xcc67, 0x2ed2,
      +		0xcc68, 0x3002,
      +		0xcc69, 0x1002,
      +		0xcc6a, 0x2d72,
      +		0xcc6b, 0x3002,
      +		0xcc6c, 0x1002,
      +		0xcc6d, 0x628f,
      +		0xcc6e, 0x2112,
      +		0xcc6f, 0x3012,
      +		0xcc70, 0x1002,
      +		0xcc71, 0x5aa3,
      +		0xcc72, 0x2dc2,
      +		0xcc73, 0x3002,
      +		0xcc74, 0x1312,
      +		0xcc75, 0x6f72,
      +		0xcc76, 0x1002,
      +		0xcc77, 0x2807,
      +		0xcc78, 0x31a7,
      +		0xcc79, 0x20c4,
      +		0xcc7a, 0x3c24,
      +		0xcc7b, 0x6724,
      +		0xcc7c, 0x1002,
      +		0xcc7d, 0x2807,
      +		0xcc7e, 0x3187,
      +		0xcc7f, 0x20c4,
      +		0xcc80, 0x3c24,
      +		0xcc81, 0x6724,
      +		0xcc82, 0x1002,
      +		0xcc83, 0x2514,
      +		0xcc84, 0x3c64,
      +		0xcc85, 0x6436,
      +		0xcc86, 0xdff4,
      +		0xcc87, 0x6436,
      +		0xcc88, 0x1002,
      +		0xcc89, 0x40a4,
      +		0xcc8a, 0x643c,
      +		0xcc8b, 0x4016,
      +		0xcc8c, 0x8c6c,
      +		0xcc8d, 0x2b24,
      +		0xcc8e, 0x3c24,
      +		0xcc8f, 0x6435,
      +		0xcc90, 0x1002,
      +		0xcc91, 0x2b24,
      +		0xcc92, 0x3c24,
      +		0xcc93, 0x643a,
      +		0xcc94, 0x4025,
      +		0xcc95, 0x8a5a,
      +		0xcc96, 0x1002,
      +		0xcc97, 0x2731,
      +		0xcc98, 0x3011,
      +		0xcc99, 0x1001,
      +		0xcc9a, 0xc7a0,
      +		0xcc9b, 0x100,
      +		0xcc9c, 0xc502,
      +		0xcc9d, 0x53ac,
      +		0xcc9e, 0xc503,
      +		0xcc9f, 0xd5d5,
      +		0xcca0, 0xc600,
      +		0xcca1, 0x2a6d,
      +		0xcca2, 0xc601,
      +		0xcca3, 0x2a4c,
      +		0xcca4, 0xc602,
      +		0xcca5, 0x111,
      +		0xcca6, 0xc60c,
      +		0xcca7, 0x5900,
      +		0xcca8, 0xc710,
      +		0xcca9, 0x700,
      +		0xccaa, 0xc718,
      +		0xccab, 0x700,
      +		0xccac, 0xc720,
      +		0xccad, 0x4700,
      +		0xccae, 0xc801,
      +		0xccaf, 0x7f50,
      +		0xccb0, 0xc802,
      +		0xccb1, 0x7760,
      +		0xccb2, 0xc803,
      +		0xccb3, 0x7fce,
      +		0xccb4, 0xc804,
      +		0xccb5, 0x5700,
      +		0xccb6, 0xc805,
      +		0xccb7, 0x5f11,
      +		0xccb8, 0xc806,
      +		0xccb9, 0x4751,
      +		0xccba, 0xc807,
      +		0xccbb, 0x57e1,
      +		0xccbc, 0xc808,
      +		0xccbd, 0x2700,
      +		0xccbe, 0xc809,
      +		0xccbf, 0x000,
      +		0xccc0, 0xc821,
      +		0xccc1, 0x002,
      +		0xccc2, 0xc822,
      +		0xccc3, 0x014,
      +		0xccc4, 0xc832,
      +		0xccc5, 0x1186,
      +		0xccc6, 0xc847,
      +		0xccc7, 0x1e02,
      +		0xccc8, 0xc013,
      +		0xccc9, 0xf341,
      +		0xccca, 0xc01a,
      +		0xcccb, 0x446,
      +		0xcccc, 0xc024,
      +		0xcccd, 0x1000,
      +		0xccce, 0xc025,
      +		0xcccf, 0xa00,
      +		0xccd0, 0xc026,
      +		0xccd1, 0xc0c,
      +		0xccd2, 0xc027,
      +		0xccd3, 0xc0c,
      +		0xccd4, 0xc029,
      +		0xccd5, 0x0a0,
      +		0xccd6, 0xc030,
      +		0xccd7, 0xa00,
      +		0xccd8, 0xc03c,
      +		0xccd9, 0x01c,
      +		0xccda, 0xc005,
      +		0xccdb, 0x7a06,
      +		0xccdc, 0x000,
      +		0xccdd, 0x2731,
      +		0xccde, 0x3011,
      +		0xccdf, 0x1001,
      +		0xcce0, 0xc620,
      +		0xcce1, 0x000,
      +		0xcce2, 0xc621,
      +		0xcce3, 0x03f,
      +		0xcce4, 0xc622,
      +		0xcce5, 0x000,
      +		0xcce6, 0xc623,
      +		0xcce7, 0x000,
      +		0xcce8, 0xc624,
      +		0xcce9, 0x000,
      +		0xccea, 0xc625,
      +		0xcceb, 0x000,
      +		0xccec, 0xc627,
      +		0xcced, 0x000,
      +		0xccee, 0xc628,
      +		0xccef, 0x000,
      +		0xccf0, 0xc62c,
      +		0xccf1, 0x000,
      +		0xccf2, 0x000,
      +		0xccf3, 0x2806,
      +		0xccf4, 0x3cb6,
      +		0xccf5, 0xc161,
      +		0xccf6, 0x6134,
      +		0xccf7, 0x6135,
      +		0xccf8, 0x5443,
      +		0xccf9, 0x303,
      +		0xccfa, 0x6524,
      +		0xccfb, 0x00b,
      +		0xccfc, 0x1002,
      +		0xccfd, 0x2104,
      +		0xccfe, 0x3c24,
      +		0xccff, 0x2105,
      +		0xcd00, 0x3805,
      +		0xcd01, 0x6524,
      +		0xcd02, 0xdff4,
      +		0xcd03, 0x4005,
      +		0xcd04, 0x6524,
      +		0xcd05, 0x1002,
      +		0xcd06, 0x5dd3,
      +		0xcd07, 0x306,
      +		0xcd08, 0x2ff7,
      +		0xcd09, 0x38f7,
      +		0xcd0a, 0x60b7,
      +		0xcd0b, 0xdffd,
      +		0xcd0c, 0x00a,
      +		0xcd0d, 0x1002,
      +		0xcd0e, 0
      +	};
      +	int i, err;
       
      -	return mdio_read(phy, MDIO_DEV_PMA_PMD, LASI_STAT, &val);
      +	for (err = i = 0; i < ARRAY_SIZE(sr_edc) && !err; i += 2)
      +		err = mdio_write(phy, MDIO_DEV_PMA_PMD, sr_edc[i],
      +				 sr_edc[i + 1]);
      +	return err;
       }
       
      -static int ael1006_intr_handler(struct cphy *phy)
      +static int ael2005_reset(struct cphy *phy, int wait)
       {
      -	unsigned int status;
      -	int err = mdio_read(phy, MDIO_DEV_PMA_PMD, LASI_STAT, &status);
      +	static struct reg_val regs0[] = {
      +		{ MDIO_DEV_PMA_PMD, 0xc001, 0, 1 << 5 },
      +		{ MDIO_DEV_PMA_PMD, 0xc017, 0, 1 << 5 },
      +		{ MDIO_DEV_PMA_PMD, 0xc013, 0xffff, 0xf341 },
      +		{ MDIO_DEV_PMA_PMD, 0xc210, 0xffff, 0x8000 },
      +		{ MDIO_DEV_PMA_PMD, 0xc210, 0xffff, 0x8100 },
      +		{ MDIO_DEV_PMA_PMD, 0xc210, 0xffff, 0x8000 },
      +		{ MDIO_DEV_PMA_PMD, 0xc210, 0xffff, 0 },
      +		{ 0, 0, 0, 0 }
      +	};
      +	static struct reg_val regs1[] = {
      +		{ MDIO_DEV_PMA_PMD, 0xc003, 0xffff, 0x181 },
      +		{ MDIO_DEV_PMA_PMD, 0xc010, 0xffff, 0x448a },
      +		{ MDIO_DEV_PMA_PMD, 0xc04a, 0xffff, 0x5200 },
      +		{ 0, 0, 0, 0 }
      +	};
      +	static struct reg_val regs2[] = {
      +		{ MDIO_DEV_PMA_PMD, 0xca00, 0xffff, 0x0080 },
      +		{ MDIO_DEV_PMA_PMD, 0xca12, 0xffff, 0 },
      +		{ 0, 0, 0, 0 }
      +	};
      +
      +	int err;
      +
      +	err = t3_phy_reset(phy, MDIO_DEV_PMA_PMD, 0);
      +	if (err)
      +		return err;
      +
      +	msleep(125);
      +	err = set_phy_regs(phy, regs0);
      +	if (err)
      +		return err;
      +
      +	msleep(50);
      +	err = set_phy_regs(phy, regs1);
      +	if (err)
      +		return err;
       
      +	msleep(50);
      +	err = ael2005_setup_sr_edc(phy);
       	if (err)
       		return err;
      -	return (status & 1) ?  cphy_cause_link_change : 0;
      -}
       
      -static int ael1006_power_down(struct cphy *phy, int enable)
      -{
      -	return t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR,
      -				   BMCR_PDOWN, enable ? BMCR_PDOWN : 0);
      +	return set_phy_regs(phy, regs2);
       }
       
       #ifdef C99_NOT_SUPPORTED
      -static struct cphy_ops ael1006_ops = {
      -	ael1006_reset,
      -	ael1006_intr_enable,
      -	ael1006_intr_disable,
      -	ael1006_intr_clear,
      -	ael1006_intr_handler,
      +static struct cphy_ops ael2005_ops = {
      +	ael2005_reset,
      +	t3_phy_lasi_intr_enable,
      +	t3_phy_lasi_intr_disable,
      +	t3_phy_lasi_intr_clear,
      +	t3_phy_lasi_intr_handler,
       	NULL,
       	NULL,
       	NULL,
       	NULL,
       	NULL,
       	ael100x_get_link_status,
      -	ael1006_power_down,
      +	ael1002_power_down,
       };
       #else
      -static struct cphy_ops ael1006_ops = {
      -	.reset           = ael1006_reset,
      -	.intr_enable     = ael1006_intr_enable,
      -	.intr_disable    = ael1006_intr_disable,
      -	.intr_clear      = ael1006_intr_clear,
      -	.intr_handler    = ael1006_intr_handler,
      +static struct cphy_ops ael2005_ops = {
      +	.reset           = ael2005_reset,
      +	.intr_enable     = t3_phy_lasi_intr_enable,
      +	.intr_disable    = t3_phy_lasi_intr_disable,
      +	.intr_clear      = t3_phy_lasi_intr_clear,
      +	.intr_handler    = t3_phy_lasi_intr_handler,
       	.get_link_status = ael100x_get_link_status,
      -	.power_down      = ael1006_power_down,
      +	.power_down      = ael1002_power_down,
       };
       #endif
       
      -int t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      +int t3_ael2005_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
       			const struct mdio_ops *mdio_ops)
       {
      -	cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops,
      +	cphy_init(phy, adapter, phy_addr, &ael2005_ops, mdio_ops,
       		  SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE,
      -		  "10GBASE-SR");
      -	ael100x_txon(phy);
      -	return 0;
      +		  "10GBASE-R");
      +	msleep(125);
      +	return t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, AEL_OPT_SETTINGS, 0,
      +				   1 << 5);
       }
       
       #ifdef C99_NOT_SUPPORTED
       static struct cphy_ops qt2045_ops = {
       	ael1006_reset,
      -	ael1006_intr_enable,
      -	ael1006_intr_disable,
      -	ael1006_intr_clear,
      -	ael1006_intr_handler,
      +	t3_phy_lasi_intr_enable,
      +	t3_phy_lasi_intr_disable,
      +	t3_phy_lasi_intr_clear,
      +	t3_phy_lasi_intr_handler,
       	NULL,
       	NULL,
       	NULL,
      @@ -246,10 +609,10 @@
       #else
       static struct cphy_ops qt2045_ops = {
       	.reset           = ael1006_reset,
      -	.intr_enable     = ael1006_intr_enable,
      -	.intr_disable    = ael1006_intr_disable,
      -	.intr_clear      = ael1006_intr_clear,
      -	.intr_handler    = ael1006_intr_handler,
      +	.intr_enable     = t3_phy_lasi_intr_enable,
      +	.intr_disable    = t3_phy_lasi_intr_disable,
      +	.intr_clear      = t3_phy_lasi_intr_clear,
      +	.intr_handler    = t3_phy_lasi_intr_handler,
       	.get_link_status = ael100x_get_link_status,
       	.power_down      = ael1006_power_down,
       };
      
      ==== //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_common.h#7 (text+ko) ====
      
      @@ -25,7 +25,7 @@
       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE.
       
      -$FreeBSD: src/sys/dev/cxgb/common/cxgb_common.h,v 1.9 2008/03/18 03:55:11 kmacy Exp $
      +$FreeBSD: src/sys/dev/cxgb/common/cxgb_common.h,v 1.10 2008/07/18 06:12:31 kmacy Exp $
       
       ***************************************************************************/
       #ifndef __CHELSIO_COMMON_H
      @@ -47,10 +47,7 @@
       	NCCTRL_WIN     = 32,    /* # of congestion control windows */
       	NTX_SCHED      = 8,     /* # of HW Tx scheduling queues */
       	PROTO_SRAM_LINES = 128, /* size of protocol sram */
      -	MAX_NPORTS     = 4,
      -	TP_TMR_RES     = 200,
      -	TP_SRAM_OFFSET = 4096,	/* TP SRAM content offset in eeprom */
      -	TP_SRAM_LEN    = 2112,	/* TP SRAM content offset in eeprom */
      +	EXACT_ADDR_FILTERS = 8,	/* # of HW exact match filters */
       };
       
       #define MAX_RX_COALESCING_LEN 12288U
      @@ -122,8 +119,8 @@
       };
       
       struct sg_ent {                   /* SGE scatter/gather entry */
      -	u32 len[2];
      -	u64 addr[2];
      +	__be32 len[2];
      +	__be64 addr[2];
       };
       
       #ifndef SGE_NUM_GENBITS
      @@ -150,7 +147,7 @@
       	unsigned char          mdien:1;
       	unsigned char          mdiinv:1;
       	unsigned int           gpio_out;       /* GPIO output settings */
      -	unsigned int           gpio_intr;      /* GPIO IRQ enable mask */
      +	unsigned char gpio_intr[MAX_NPORTS];   /* GPIO PHY IRQ pins */
       	unsigned long          caps;           /* adapter capabilities */
       	const struct mdio_ops *mdio_ops;       /* MDIO operations */
       	const char            *desc;           /* product description */
      @@ -159,8 +156,6 @@
       struct port_type_info {
       	int (*phy_prep)(struct cphy *phy, adapter_t *adapter, int phy_addr,
       			const struct mdio_ops *ops);
      -
      -
       };
       
       struct mc5_stats {
      @@ -307,7 +302,7 @@
       struct qset_params {                   /* SGE queue set parameters */
       	unsigned int polling;          /* polling/interrupt service for rspq */
       	unsigned int lro;              /* large receive offload */
      -	unsigned int coalesce_nsecs;   /* irq coalescing timer */
      +	unsigned int coalesce_usecs;   /* irq coalescing timer */
       	unsigned int rspq_size;        /* # of entries in response queue */
       	unsigned int fl_size;          /* # of entries in regular free list */
       	unsigned int jumbo_size;       /* # of entries in jumbo free list */
      @@ -486,12 +481,25 @@
       	MAC_RXFIFO_SIZE  = 32768
       };
       
      -/* IEEE 802.3ae specified MDIO devices */
      +/* IEEE 802.3 specified MDIO devices */
       enum {
       	MDIO_DEV_PMA_PMD = 1,
       	MDIO_DEV_WIS     = 2,
       	MDIO_DEV_PCS     = 3,
      -	MDIO_DEV_XGXS    = 4
      +	MDIO_DEV_XGXS    = 4,
      +	MDIO_DEV_ANEG    = 7,
      +	MDIO_DEV_VEND1   = 30,
      +	MDIO_DEV_VEND2   = 31
      +};
      +
      +/* LASI control and status registers */
      +enum {
      +	RX_ALARM_CTRL = 0x9000,
      +	TX_ALARM_CTRL = 0x9001,
      +	LASI_CTRL     = 0x9002,
      +	RX_ALARM_STAT = 0x9003,
      +	TX_ALARM_STAT = 0x9004,
      +	LASI_STAT     = 0x9005
       };
       
       /* PHY loopback direction */
      @@ -556,8 +564,8 @@
       /* Convenience initializer */
       static inline void cphy_init(struct cphy *phy, adapter_t *adapter,
       			     int phy_addr, struct cphy_ops *phy_ops,
      -                             const struct mdio_ops *mdio_ops, unsigned int caps,
      -                             const char *desc)
      +			     const struct mdio_ops *mdio_ops, unsigned int caps,
      +			     const char *desc)
       {
       	phy->adapter = adapter;
       	phy->addr    = phy_addr;
      @@ -651,7 +659,12 @@
       			unsigned int set);
       int t3_phy_reset(struct cphy *phy, int mmd, int wait);
       int t3_phy_advertise(struct cphy *phy, unsigned int advert);
      +int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert);
       int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex);
      +int t3_phy_lasi_intr_enable(struct cphy *phy);
      +int t3_phy_lasi_intr_disable(struct cphy *phy);
      +int t3_phy_lasi_intr_clear(struct cphy *phy);
      +int t3_phy_lasi_intr_handler(struct cphy *phy);
       
       void t3_intr_enable(adapter_t *adapter);
       void t3_intr_disable(adapter_t *adapter);
      @@ -673,10 +686,10 @@
       int t3_get_tp_version(adapter_t *adapter, u32 *vers);
       int t3_check_tpsram_version(adapter_t *adapter, int *must_load);
       int t3_check_tpsram(adapter_t *adapter, const u8 *tp_ram, unsigned int size);
      -int t3_load_fw(adapter_t *adapter, const const u8 *fw_data, unsigned int size);
      -int t3_load_boot(adapter_t *adapter, u8 *boot_data, unsigned int size);
      +int t3_load_fw(adapter_t *adapter, const u8 *fw_data, unsigned int size);
       int t3_get_fw_version(adapter_t *adapter, u32 *vers);
       int t3_check_fw_version(adapter_t *adapter, int *must_load);
      +int t3_load_boot(adapter_t *adapter, u8 *fw_data, unsigned int size);
       int t3_init_hw(adapter_t *adapter, u32 fw_params);
       void mac_prep(struct cmac *mac, adapter_t *adapter, int index);
       void early_hw_init(adapter_t *adapter, const struct adapter_info *ai);
      @@ -684,8 +697,8 @@
       void t3_led_ready(adapter_t *adapter);
       void t3_fatal_err(adapter_t *adapter);
       void t3_set_vlan_accel(adapter_t *adapter, unsigned int ports, int on);
      +void t3_enable_filters(adapter_t *adap);
       void t3_tp_set_offload_mode(adapter_t *adap, int enable);
      -void t3_enable_filters(adapter_t *adap);
       void t3_config_rss(adapter_t *adapter, unsigned int rss_config, const u8 *cpus,
       		   const u16 *rspq);
       int t3_read_rss(adapter_t *adapter, u8 *lkup, u16 *map);
      @@ -719,7 +732,7 @@
       int t3_read_mc5_range(const struct mc5 *mc5, unsigned int start, unsigned int n,
       		      u32 *buf);
       
      -#if defined(CONFIG_CHELSIO_T3_CORE)
      +#ifdef CONFIG_CHELSIO_T3_CORE
       int t3_tp_set_coalescing_size(adapter_t *adap, unsigned int size, int psh);
       void t3_tp_set_max_rxsize(adapter_t *adap, unsigned int size);
       void t3_tp_get_mib_stats(adapter_t *adap, struct tp_mib_stats *tps);
      @@ -774,21 +787,22 @@
       int t3_vsc7323_set_addr(adapter_t *adap, u8 addr[6], int port);
       int t3_vsc7323_enable(adapter_t *adap, int port, int which);
       int t3_vsc7323_disable(adapter_t *adap, int port, int which);
      -
      -int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert);
      -
       const struct mac_stats *t3_vsc7323_update_stats(struct cmac *mac);
       
       int t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			   const struct mdio_ops *mdio_ops);
      +			  const struct mdio_ops *mdio_ops);
       int t3_vsc8211_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			 const struct mdio_ops *mdio_ops);
      +			const struct mdio_ops *mdio_ops);
       int t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			 const struct mdio_ops *mdio_ops);
      +			const struct mdio_ops *mdio_ops);
       int t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			 const struct mdio_ops *mdio_ops);
      +			const struct mdio_ops *mdio_ops);
      +int t3_ael2005_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      +			const struct mdio_ops *mdio_ops);
       int t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			const struct mdio_ops *mdio_ops);
      +		       const struct mdio_ops *mdio_ops);
      +int t3_tn1010_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      +		       const struct mdio_ops *mdio_ops);
       int t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			     const struct mdio_ops *mdio_ops);
      +			    const struct mdio_ops *mdio_ops);
       #endif /* __CHELSIO_COMMON_H */
      
      ==== //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_mc5.c#5 (text+ko) ====
      
      @@ -28,7 +28,7 @@
       ***************************************************************************/
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_mc5.c,v 1.6 2008/02/23 01:06:16 kmacy Exp $");
      +__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_mc5.c,v 1.7 2008/07/18 06:12:31 kmacy Exp $");
       
       #ifdef CONFIG_DEFINED
       #include 
      @@ -326,9 +326,16 @@
       			 V_PRTYEN(mc5->parity_enabled) | F_MBUSEN);
       }
       
      -/*
      - * Initialization that requires the OS and protocol layers to already
      - * be intialized goes here.
      +/**
      + *	t3_mc5_init - initialize MC5 and the TCAM
      + *	@mc5: the MC5 handle
      + *	@nservers: desired number the TCP servers (listening ports)
      + *	@nfilters: desired number of HW filters (classifiers)
      + *	@nroutes: desired number of routes
      + *
      + *	Initialize MC5 and the TCAM and partition the TCAM for the requested
      + *	number of servers, filters, and routes.  The number of routes is
      + *	typically 0 except for specialized uses of the T3 adapters.
        */
       int t3_mc5_init(struct mc5 *mc5, unsigned int nservers, unsigned int nfilters,
       		unsigned int nroutes)
      @@ -344,7 +351,7 @@
       	if (nroutes > MAX_ROUTES || nroutes + nservers + nfilters > tcam_size)
       		return -EINVAL;
       
      -	if (nfilters && adap->params.rev < T3_REV_C)
      +	if (nfilters)
       		mc5->parity_enabled = 0;
       
       	/* Reset the TCAM */
      @@ -420,7 +427,7 @@
       	}
       
       	mc5_dbgi_mode_disable(mc5);
      -	return 0;
      +	return err;
       }
       
       #define MC5_INT_FATAL (F_PARITYERR | F_REQQPARERR | F_DISPQPARERR)
      @@ -465,7 +472,6 @@
       	t3_write_reg(adap, A_MC5_DB_INT_CAUSE, cause);
       }
       
      -
       /**
        *	t3_mc5_prep - initialize the SW state for MC5
        *	@adapter: the adapter
      
      ==== //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#4 (text+ko) ====
      
      @@ -28,7 +28,7 @@
       ***************************************************************************/
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c,v 1.3 2008/02/23 01:06:16 kmacy Exp $");
      +__FBSDID("$FreeBSD: src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c,v 1.4 2008/07/18 06:12:31 kmacy Exp $");
       
       #ifdef CONFIG_DEFINED
       #include 
      @@ -299,7 +299,7 @@
       #endif
       
       int t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
      -			   const struct mdio_ops *mdio_ops)
      +			  const struct mdio_ops *mdio_ops)
       {
       	int err;
       
      @@ -310,9 +310,9 @@
       
       	/* Configure copper PHY transmitter as class A to reduce EMI. */
       	err = mdio_write(phy, 0, MV88E1XXX_EXTENDED_ADDR, 0xb);
      -
       	if (!err)
       		err = mdio_write(phy, 0, MV88E1XXX_EXTENDED_DATA, 0x8004);
      +
       	if (!err)
       		err = mv88e1xxx_downshift_set(phy, 1);   /* Enable downshift */
       	return err;
      
      ==== //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#6 (text+ko) ====
      
      @@ -25,7 +25,7 @@
       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE.
       
      -$FreeBSD: src/sys/dev/cxgb/common/cxgb_t3_cpl.h,v 1.7 2008/02/23 01:06:16 kmacy Exp $
      +$FreeBSD: src/sys/dev/cxgb/common/cxgb_t3_cpl.h,v 1.8 2008/07/18 06:12:31 kmacy Exp $
       
       ***************************************************************************/
       #ifndef T3_CPL_H
      @@ -103,6 +103,7 @@
       	CPL_RDMA_TERMINATE    = 0xA2,
       	CPL_TRACE_PKT         = 0xA3,
       	CPL_RDMA_EC_STATUS    = 0xA5,
      +	CPL_SGE_EC_CR_RETURN  = 0xA6,
       
       	NUM_CPL_CMDS    /* must be last and previous entries must be sorted */
       };
      @@ -148,7 +149,8 @@
       
       enum {
       	CPL_PASS_OPEN_ACCEPT,
      -	CPL_PASS_OPEN_REJECT
      +	CPL_PASS_OPEN_REJECT,
      +	CPL_PASS_OPEN_ACCEPT_TNL
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 11:35:42 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 1A5681065673; Fri, 18 Jul 2008 11:35:42 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id D1C081065677
      	for ; Fri, 18 Jul 2008 11:35:41 +0000 (UTC)
      	(envelope-from andenore@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id AF63D8FC12
      	for ; Fri, 18 Jul 2008 11:35:41 +0000 (UTC)
      	(envelope-from andenore@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IBZfWb051110
      	for ; Fri, 18 Jul 2008 11:35:41 GMT
      	(envelope-from andenore@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IBZf8r051105
      	for perforce@freebsd.org; Fri, 18 Jul 2008 11:35:41 GMT
      	(envelope-from andenore@FreeBSD.org)
      Date: Fri, 18 Jul 2008 11:35:41 GMT
      Message-Id: <200807181135.m6IBZf8r051105@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	andenore@FreeBSD.org using -f
      From: Anders Nore 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145423 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 11:35:42 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145423
      
      Change 145423 by andenore@andenore_laptop on 2008/07/18 11:35:39
      
      	Made function fix_dependencies(pkgname) in lib/deps.c and pkg_create -O
      	now fixes dependencies. 
      
      Affected files ...
      
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/perform.c#6 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#7 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/Makefile#2 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/deps.c#3 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#10 edit
      .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/plist.c#6 edit
      
      Differences ...
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/perform.c#6 (text+ko) ====
      
      @@ -492,47 +492,7 @@
       	 * Reconstructs +REQUIRED_BY file for the package to be installed in
       	 * case it has been removed earlier (e.g. pkg_delete -f)
       	 */ 
      -	if (Verbose)
      -	    printf("Recording existing dependency's on %s\n", Plist.name);
      -	int errcode;
      -	matched = matchinstalled(MATCH_ALL, NULL, &errcode);
      -	for (i = 0; matched[i] != NULL; i++) {
      -	    FILE *fp;
      -	    Package nplist;
      -	    char path[PATH_MAX];
      -
      -	    /* Skip this package */
      -	    if (strcmp(matched[i], Plist.name) == 0)
      -		continue;
      -
      -	    snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, matched[i], CONTENTS_FNAME);
      -	    if ((fp = fopen(path, "r")) == NULL) {
      -		warn("Could not open %s for reading", path);
      -		continue;
      -	    }
      -	    read_plist(&nplist, fp);
      -	    fclose(fp);
      -
      -	    for (p = nplist.head; p != nplist.tail; p = p->next) {
      -		if (p->type != PLIST_PKGDEP)
      -		    continue;
      -		if (strcmp(p->name, Plist.name) == 0) {
      -		    /* Register this package in REQUIRED_BY_FNAME */
      -		    snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, Plist.name, REQUIRED_BY_FNAME);
      -		    if ((fp = fopen(path, "a")) == NULL) {
      -			warn("Could not open %s", path);
      -			continue;
      -		    }
      -		    fprintf(fp, "%s\n", nplist.name);
      -		    fclose(fp);
      -		    if (Verbose)
      -			printf("\t %s depends on %s (REGISTERED)\n", p->name, Plist.name);
      -		}
      -	    }
      -	    free_plist(&nplist);
      -	    free(matched[i]);
      -	}
      -	free(matched);
      +	fix_dependencies(Plist.name);
       
       
       	/* Make sure pkg_info can read the entry */
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#7 (text+ko) ====
      
      @@ -244,9 +244,13 @@
           if (PlistOnly) {
       	if (openDatabase(O_CREAT | O_RDWR))
       	    err("Could not open database: %s", DBCACHE_FILE);
      -	
      -	plist_add_installtime(&plist);
      -	check_list(home, &plist);	
      +	Boolean v = Verbose;
      +	Verbose = FALSE;	
      +	fix_dependencies(plist.name);
      +	Verbose = v;
      +
      +	plist_add_installtime(&plist);	
      +	check_list(home, &plist);
       	write_plist(&plist, stdout);
       	int retval = cache_plist(&plist, FALSE);
       
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/Makefile#2 (text+ko) ====
      
      @@ -2,8 +2,9 @@
       
       LIB=	install
       INTERNALLIB=
      -SRCS=	file.c msg.c plist.c str.c exec.c global.c pen.c match.c \
      -	deps.c version.c pkgwrap.c url.c
      +SRCS=	file.c msg.c plist.c str.c exec.c global.c pen.c database.c match.c \
      +	deps.c version.c pkgwrap.c url.c 
      +CFLAGS=	-g
       
       WARNS?=	3
       WFORMAT?=	1
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/deps.c#3 (text+ko) ====
      
      @@ -244,3 +244,59 @@
       
       	return retval;
       }
      +
      +/*
      + * Fixes dependencies on the package with name pkgname.
      + * It scans the installed packages, searches for @pkgdep in the +CONTENS file
      + * and see if that matches the given pkgname, if it does then register the
      + * installed package in pkgname's +REQUIRED_BY file.
      + */
      +void
      +fix_dependencies(char *pkgname) 
      +{
      +    int i;
      +    char **matched;
      +    PackingList p = NULL;
      +    if (Verbose)
      +	printf("Recording existing dependency's on %s\n", pkgname);
      +    int errcode;
      +    matched = matchinstalled(MATCH_ALL, NULL, &errcode);
      +    for (i = 0; matched[i] != NULL; i++) {
      +	FILE *fp;
      +	Package nplist;
      +	char path[PATH_MAX];
      +
      +	bzero(&nplist, sizeof(nplist));
      +	/* Skip this package */
      +	if (strcmp(matched[i], pkgname) == 0)
      +	    continue;
      +
      +	snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, matched[i], CONTENTS_FNAME);
      +	if ((fp = fopen(path, "r")) == NULL) {
      +	    warn("fix_dependencies: Could not open %s for reading", path);
      +	    continue;
      +	}
      +	read_plist(&nplist, fp);
      +	fclose(fp);
      +
      +	for (p = nplist.head; p != nplist.tail; p = p->next) {
      +	    if (p->type != PLIST_PKGDEP)
      +		continue;
      +	    if (strcmp(p->name, pkgname) == 0) {
      +		/* Register this package in REQUIRED_BY_FNAME */
      +		snprintf(path, sizeof(path), "%s/%s/%s", LOG_DIR, pkgname, REQUIRED_BY_FNAME);
      +		if ((fp = fopen(path, "a")) == NULL) {
      +		    warn("fix_dependencies: Could not open %s", path);
      +		    continue;
      +		}
      +		fprintf(fp, "%s\n", nplist.name);
      +		fclose(fp);
      +		if (Verbose)
      +		    printf("\t %s depends on %s\n", nplist.name, pkgname);
      +	    }
      +	}
      +	free_plist(&nplist);
      +	free(matched[i]);
      +    }
      +    free(matched);
      +}
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#10 (text+ko) ====
      
      @@ -246,6 +246,7 @@
       int		sortdeps(char **);
       int		chkifdepends(const char *, const char *);
       int		requiredby(const char *, struct reqr_by_head **, Boolean, Boolean);
      +void		fix_dependencies(char *pkgname);
       
       /* Version */
       int		verscmp(Package *, int, int);
      
      ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/plist.c#6 (text+ko) ====
      
      @@ -310,10 +310,11 @@
       	}
       	if (cmd == PLIST_COMMENT && sscanf(cp, "DATE:%d\n", &date) == 1) {
       	    pkg->datetime = date;
      +	    goto bottom;	
       	}
       	
       	bottom:
      -		add_plist(pkg, cmd, cp);
      +	    add_plist(pkg, cmd, cp);
           }
       }
       
      @@ -437,7 +438,7 @@
       	switch (p->type)  {
       	case PLIST_NAME:
       	    name = p->name;
      -	    if (dbRemove(name) != 0)
      +	    if (dbRemove(name) == -1)
       		warnx("%s: Failed to remove entry %s from db\n", __func__, name);
       	    break;
       
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 13:20:27 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 180021065670; Fri, 18 Jul 2008 13:20:27 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id CFDFD1065676
      	for ; Fri, 18 Jul 2008 13:20:26 +0000 (UTC)
      	(envelope-from strauss@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id AEDEE8FC17
      	for ; Fri, 18 Jul 2008 13:20:26 +0000 (UTC)
      	(envelope-from strauss@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IDKQ3l071919
      	for ; Fri, 18 Jul 2008 13:20:26 GMT
      	(envelope-from strauss@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IDKQPc071917
      	for perforce@freebsd.org; Fri, 18 Jul 2008 13:20:26 GMT
      	(envelope-from strauss@FreeBSD.org)
      Date: Fri, 18 Jul 2008 13:20:26 GMT
      Message-Id: <200807181320.m6IDKQPc071917@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	strauss@FreeBSD.org using -f
      From: Anselm Strauss 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145424 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 13:20:27 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145424
      
      Change 145424 by strauss@strauss_marvelman on 2008/07/18 13:19:28
      
      	added writing of offsets in central directory file headers
      
      Affected files ...
      
      .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#13 edit
      
      Differences ...
      
      ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#13 (text+ko) ====
      
      @@ -86,7 +86,7 @@
       struct zip_file_header_link {
       	struct zip_file_header_link *next;
       	struct archive_entry *entry;
      -	/* uint64_t offset; */ /* Whatfor? */
      +	off_t offset;
       };
       
       struct zip {
      @@ -148,6 +148,23 @@
       	d = (struct zip_data_descriptor *) &zip->data_descriptor;
       	path = archive_entry_pathname(entry);
       	
      +	/* Append archive entry to the central directory data.
      +	 * Storing in reverse order, for ease of coding.
      +	 * According to specification order should not matter, right? */
      +	l = (struct zip_file_header_link *) malloc(sizeof(*l));
      +	if (l == NULL) {
      +		archive_set_error(&a->archive, ENOMEM, "Can't allocate zip header data");
      +		return (ARCHIVE_FATAL);
      +	}
      +	l->entry = entry;
      +	l->next = zip->central_directory;
      +	zip->central_directory = l;
      +	
      +	/* Store the offset of this header for later use in central directory.
      +	 * TODO: Offset actually are 8 bytes, for big archives this won't fit into
      +	 * the 4 bytes field. Either use ZIP64, or return error. */
      +	l->offset = a->archive.raw_position;
      +	
       	/* 
       	 * Formatting local file header.
       	 * Some fields are not explicitely set after they were set to 0
      @@ -176,19 +193,6 @@
       	ret = (a->compressor.write)(a, path, strlen(path));
       	if (ret != ARCHIVE_OK) return (ARCHIVE_FATAL);
       	
      -
      -	/* Append archive entry to the central directory data.
      -	 * Storing in reverse order, for ease of coding.
      -	 * According to specification order should not matter, right? */
      -	l = (struct zip_file_header_link *) malloc(sizeof(*l));
      -	if (l == NULL) {
      -		archive_set_error(&a->archive, ENOMEM, "Can't allocate zip header data");
      -		return (ARCHIVE_FATAL);
      -	}
      -	l->entry = entry;
      -	l->next = zip->central_directory;
      -	zip->central_directory = l;
      -	
       	return (ARCHIVE_OK);
       }
       
      @@ -256,6 +260,7 @@
       		zip_encode(size, &h.compressed_size, sizeof(h.compressed_size));
       		zip_encode(size, &h.uncompressed_size, sizeof(h.uncompressed_size));
       		zip_encode(strlen(path), &h.filename_length, sizeof(h.filename_length));
      +		zip_encode(l->offset, &h.offset, sizeof(h.offset));
       		
       		/* Writing file header. */
       		ret = (a->compressor.write)(a, &h, sizeof(h));
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 13:41:48 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id C63C1106566C; Fri, 18 Jul 2008 13:41:48 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 8A5A61065676
      	for ; Fri, 18 Jul 2008 13:41:48 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 6A1D78FC08
      	for ; Fri, 18 Jul 2008 13:41:48 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IDfm7Y073770
      	for ; Fri, 18 Jul 2008 13:41:48 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IDfmpB073768
      	for perforce@freebsd.org; Fri, 18 Jul 2008 13:41:48 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 13:41:48 GMT
      Message-Id: <200807181341.m6IDfmpB073768@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145425 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 13:41:49 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145425
      
      Change 145425 by zec@zec_tpx32 on 2008/07/18 13:41:17
      
      	Unbreak options VIMAGE build after the last IFC.
      
      Affected files ...
      
      .. //depot/projects/vimage/src/sys/kern/kern_mib.c#11 edit
      .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#22 edit
      
      Differences ...
      
      ==== //depot/projects/vimage/src/sys/kern/kern_mib.c#11 (text+ko) ====
      
      @@ -356,6 +356,7 @@
       static int
       sysctl_domainname(SYSCTL_HANDLER_ARGS)
       {
      +	INIT_VPROCG(TD_TO_VPROCG(curthread));
       	char tmpdomainname[MAXHOSTNAMELEN];
       	int error;
       
      
      ==== //depot/projects/vimage/src/sys/netinet/raw_ip.c#22 (text+ko) ====
      
      @@ -249,7 +249,7 @@
       	ripsrc.sin_family = AF_INET;
       	ripsrc.sin_addr = ip->ip_src;
       	last = NULL;
      -	INP_INFO_RLOCK(&ripcbinfo);
      +	INP_INFO_RLOCK(&V_ripcbinfo);
       	LIST_FOREACH(inp, &V_ripcb, inp_list) {
       		INP_RLOCK(inp);
       		if (inp->inp_ip_p && inp->inp_ip_p != proto) {
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 15:09:17 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id B7827106567A; Fri, 18 Jul 2008 15:09:17 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 7BFC51065678
      	for ; Fri, 18 Jul 2008 15:09:17 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 436068FC1B
      	for ; Fri, 18 Jul 2008 15:09:17 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IF9HaW084244
      	for ; Fri, 18 Jul 2008 15:09:17 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IF9H64084242
      	for perforce@freebsd.org; Fri, 18 Jul 2008 15:09:17 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 15:09:17 GMT
      Message-Id: <200807181509.m6IF9H64084242@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145433 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 15:09:18 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145433
      
      Change 145433 by zec@zec_tca51 on 2008/07/18 15:08:40
      
      	Make Makefile more in line with style.Makefile(5), and install
      	"vimage" executable in /usr/sbin, not in /sbin.
      	
      	Spotted by: bz@
      
      Affected files ...
      
      .. //depot/projects/vimage/src/usr.sbin/vimage/Makefile#2 edit
      
      Differences ...
      
      ==== //depot/projects/vimage/src/usr.sbin/vimage/Makefile#2 (text+ko) ====
      
      @@ -1,13 +1,13 @@
      -# RCS ID
      +# $FreeBSD$
       
       PROG=	vimage
      -CFLAGS+= -I/sys
       
       WARNS?=	2
      +CFLAGS+= -I../../sys
       
       MAN=	vimage.8
       
      +BINDIR?=	/usr/sbin
      +NO_SHARED?=	YES
      +
       .include 
      -
      -BINDIR?=	/sbin
      -NOSHARED?=	YES
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 15:25:34 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 849071065675; Fri, 18 Jul 2008 15:25:34 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 145CE106566C
      	for ; Fri, 18 Jul 2008 15:25:34 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id D2CF98FC13
      	for ; Fri, 18 Jul 2008 15:25:33 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IFPXhs085585
      	for ; Fri, 18 Jul 2008 15:25:33 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IFPX1f085583
      	for perforce@freebsd.org; Fri, 18 Jul 2008 15:25:33 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 15:25:33 GMT
      Message-Id: <200807181525.m6IFPX1f085583@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145435 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 15:25:35 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145435
      
      Change 145435 by zec@zec_tca51 on 2008/07/18 15:25:05
      
      	Add a few more options VIMAGE configuration variants.
      
      Affected files ...
      
      .. //depot/projects/vimage/src/sys/amd64/conf/VIMAGE#1 add
      .. //depot/projects/vimage/src/sys/amd64/conf/VLINT#1 add
      .. //depot/projects/vimage/src/sys/i386/conf/VLINT#1 add
      
      Differences ...
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 15:27:36 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 7F9001065670; Fri, 18 Jul 2008 15:27:36 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 43E29106564A
      	for ; Fri, 18 Jul 2008 15:27:36 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 0C7A58FC0A
      	for ; Fri, 18 Jul 2008 15:27:36 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IFRZQH085725
      	for ; Fri, 18 Jul 2008 15:27:35 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IFRZWl085723
      	for perforce@freebsd.org; Fri, 18 Jul 2008 15:27:35 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 15:27:35 GMT
      Message-Id: <200807181527.m6IFRZWl085723@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145436 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 15:27:36 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145436
      
      Change 145436 by zec@zec_tca51 on 2008/07/18 15:26:41
      
      	A kludge to unbreak LINT build on amd64.
      	
      	Not vimage-specific.
      
      Affected files ...
      
      .. //depot/projects/vimage/src/sys/netgraph/ng_bridge.c#5 edit
      
      Differences ...
      
      ==== //depot/projects/vimage/src/sys/netgraph/ng_bridge.c#5 (text+ko) ====
      
      @@ -372,7 +372,7 @@
       		if (priv->links[linkNum] == NULL)
       			return (ENOMEM);
       		priv->links[linkNum]->hook = hook;
      -		NG_HOOK_SET_PRIVATE(hook, (void *)linkNum);
      +		NG_HOOK_SET_PRIVATE(hook, (void *)(intptr_t)linkNum);
       		priv->numLinks++;
       		return (0);
       	}
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 15:48:59 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id B343E1065676; Fri, 18 Jul 2008 15:48:58 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 16E231065678
      	for ; Fri, 18 Jul 2008 15:48:58 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id EEC928FC12
      	for ; Fri, 18 Jul 2008 15:48:57 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IFmvek087399
      	for ; Fri, 18 Jul 2008 15:48:57 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IFmv28087397
      	for perforce@freebsd.org; Fri, 18 Jul 2008 15:48:57 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 15:48:57 GMT
      Message-Id: <200807181548.m6IFmv28087397@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145439 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 15:49:00 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145439
      
      Change 145439 by zec@zec_tca51 on 2008/07/18 15:48:16
      
      	key_dst global is long gone, so V_key_dst needs to go as well.
      
      Affected files ...
      
      .. //depot/projects/vimage/src/sys/netipsec/keysock.c#10 edit
      .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#11 edit
      
      Differences ...
      
      ==== //depot/projects/vimage/src/sys/netipsec/keysock.c#10 (text+ko) ====
      
      @@ -580,8 +580,6 @@
       {
       	INIT_VNET_IPSEC(curvnet);
       
      -	V_key_dst.sa_len = 2;
      -	V_key_dst.sa_family = PF_KEY;
       	V_key_src.sa_len = 2;
       	V_key_src.sa_family = PF_KEY;
       
      
      ==== //depot/projects/vimage/src/sys/netipsec/vipsec.h#11 (text+ko) ====
      
      @@ -108,7 +108,6 @@
       
       	struct pfkeystat	_pfkeystat;
       	struct key_cb		_key_cb;
      -	struct sockaddr		_key_dst;
       	struct sockaddr		_key_src;
       
       	LIST_HEAD(, secpolicy)	_sptree[IPSEC_DIR_MAX];
      @@ -176,7 +175,6 @@
       #define V_ipcompstat			VNET_IPSEC(ipcompstat)
       #define V_pfkeystat			VNET_IPSEC(pfkeystat)
       #define V_key_cb			VNET_IPSEC(key_cb)
      -#define V_key_dst			VNET_IPSEC(key_dst)
       #define V_key_src			VNET_IPSEC(key_src)
       #define V_sptree			VNET_IPSEC(sptree)
       #define V_sahtree			VNET_IPSEC(sahtree)
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 15:58:08 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 619681065670; Fri, 18 Jul 2008 15:58:08 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 0BA9F1065673
      	for ; Fri, 18 Jul 2008 15:58:08 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id E1E8C8FC18
      	for ; Fri, 18 Jul 2008 15:58:07 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IFw7bv088285
      	for ; Fri, 18 Jul 2008 15:58:07 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IFw7NM088283
      	for perforce@freebsd.org; Fri, 18 Jul 2008 15:58:07 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 15:58:07 GMT
      Message-Id: <200807181558.m6IFw7NM088283@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145440 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 15:58:08 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145440
      
      Change 145440 by zec@zec_tpx32 on 2008/07/18 15:57:52
      
      	IFC @ 145420
      
      Affected files ...
      
      .. //depot/projects/vimage-commit/src/sys/Makefile#2 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/amd64/busdma_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/amd64/machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/amd64/minidump_machdep.c#6 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/amd64/pmap.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#3 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC.hints#2 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/include/pmap.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/amd64/include/vmparam.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/arm/at91/if_atereg.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/boot/forth/loader.conf#2 integrate
      .. //depot/projects/vimage-commit/src/sys/boot/i386/boot2/boot2.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/boot/pc98/boot2/README.serial.98#2 delete
      .. //depot/projects/vimage-commit/src/sys/cam/scsi/scsi_da.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_misc.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/freebsd32/syscalls.master#2 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/linux/linux_misc.c#6 integrate
      .. //depot/projects/vimage-commit/src/sys/compat/pecoff/imgact_pecoff.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/compat/pecoff/imgact_pecoff.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/compat/svr4/svr4_stat.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/conf/NOTES#4 integrate
      .. //depot/projects/vimage-commit/src/sys/conf/files#7 integrate
      .. //depot/projects/vimage-commit/src/sys/conf/files.i386#3 integrate
      .. //depot/projects/vimage-commit/src/sys/conf/files.pc98#3 integrate
      .. //depot/projects/vimage-commit/src/sys/conf/kern.post.mk#2 integrate
      .. //depot/projects/vimage-commit/src/sys/conf/newvers.sh#3 integrate
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/COPYRIGHT#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/if_oltr.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/if_oltr_isa.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/if_oltr_pci.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/if_oltrvar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/trlld.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/trlldbm.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/trlldhm.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/contrib/dev/oltr/trlldmac.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_asus.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/age/if_age.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/arl/if_arl.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/arl/if_arl_isa.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/arl/if_arlreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-chipset.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-pci.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/bm/if_bm.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/bm/if_bmreg.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/bm/if_bmvar.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ce/ceddk.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ce/if_ce.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ciss/ciss.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ciss/cissio.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ciss/cissreg.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ciss/cissvar.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cnw/if_cnw.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/cnw/if_cnwioctl.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/cnw/if_cnwreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/cp/cpddk.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cp/if_cp.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cs/if_cs.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cs/if_csreg.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ctau/ctddk.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ctau/if_ct.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cx/cxddk.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cx/if_cx.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_common.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_adapter.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_main.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_sge.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed_pccard.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/et/if_et.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/jme/if_jme.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/k8temp/k8temp.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/lmc/if_lmc.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/lmc/if_lmc.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/mii/rgephy.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/mii/rgephyreg.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/mpt/mpt_pci.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/mpt/mpt_user.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/mxge/if_mxge.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/pccard/pccarddevs#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/re/if_re.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/sbni/if_sbni.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sbni/if_sbni_isa.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sbni/if_sbni_pci.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sbni/if_sbnireg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sbni/if_sbnivar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sbsh/if_sbsh.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sbsh/if_sbshreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/atiixp.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/sound/pci/hda/hdac.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/syscons/daemon/daemon_saver.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/usb/ohci.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_ethersubr.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/vr/if_vr.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/dev/vr/if_vrreg.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/fs/cd9660/cd9660_rrip.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/fs/smbfs/smbfs_node.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/geom/vinum/geom_vinum_drive.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/geom/vinum/geom_vinum_subr.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/geom/virstor/g_virstor.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/conf/GENERIC#3 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/conf/GENERIC.hints#2 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/conf/NOTES#5 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/i386/busdma_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/i386/mp_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/i386/pmap.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/ia64/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit/src/sys/ia64/ia64/busdma_machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/ia64/ia64/machdep.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/ia64/include/ia64_cpu.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_alq.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_conf.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_cpuset.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_event.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_exec.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_fork.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_intr.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_jail.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_malloc.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_mib.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_poll.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/kern_xxx.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/link_elf.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/link_elf_obj.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/subr_param.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/subr_stack.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/subr_taskqueue.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/uipc_debug.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/uipc_socket.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/uipc_usrreq.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/kern/vfs_mount.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/libkern/memset.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/adm5120_machdep.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/adm5120reg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/admpci.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/console.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/files.adm5120#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/if_admsw.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/if_admswreg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/if_admswvar.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/obio.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/obiovar.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/std.adm5120#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/uart_bus_adm5120.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/uart_cpu_adm5120.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/uart_dev_adm5120.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/adm5120/uart_dev_adm5120.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/files.idt#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/idt_machdep.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/idtpci.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/idtreg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/if_kr.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/if_krreg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/obio.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/obiovar.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/std.idt#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/uart_bus_rc32434.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/idt/uart_cpu_rc32434.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/files.malta#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/gt.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/gt_pci.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/gtreg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/gtvar.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/malta_machdep.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/maltareg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/obio.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/obiovar.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/std.malta#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/uart_bus_maltausart.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/uart_cpu_maltausart.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/yamon.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/malta/yamon.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/mips/pmap.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/adm5120reg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/admpci.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/console.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/files.adm5120#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/if_admsw.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/if_admswreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/if_admswvar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/obio.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/obiovar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/std.adm5120#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/files.idt#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/idt_machdep.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/idtpci.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/idtreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/if_kr.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/if_krreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/obio.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/obiovar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/std.idt#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/uart_bus_rc32434.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/idt/uart_cpu_rc32434.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/files.malta#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/gt.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/gt_pci.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/gtreg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/gtvar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/malta_machdep.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/maltareg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/obio.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/obiovar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/std.malta#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/uart_bus_maltausart.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/uart_cpu_maltausart.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/yamon.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/malta/yamon.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/files.sentry5#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/obio.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/obiovar.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/s5_machdep.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/s5reg.h#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/siba_cc.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/siba_mips.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/siba_sdram.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/files.sentry5#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/obio.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/obiovar.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/s5_machdep.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/s5reg.h#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/siba_cc.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/siba_mips.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/siba_sdram.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/uart_bus_sbusart.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/mips/sentry5/uart_cpu_sbusart.c#1 branch
      .. //depot/projects/vimage-commit/src/sys/modules/Makefile#6 integrate
      .. //depot/projects/vimage-commit/src/sys/modules/arl/Makefile#2 delete
      .. //depot/projects/vimage-commit/src/sys/modules/cnw/Makefile#2 delete
      .. //depot/projects/vimage-commit/src/sys/modules/cxgb/cxgb/Makefile#2 integrate
      .. //depot/projects/vimage-commit/src/sys/modules/oltr/Makefile#2 delete
      .. //depot/projects/vimage-commit/src/sys/modules/pecoff/Makefile#2 delete
      .. //depot/projects/vimage-commit/src/sys/modules/sbni/Makefile#2 delete
      .. //depot/projects/vimage-commit/src/sys/modules/sbsh/Makefile#2 delete
      .. //depot/projects/vimage-commit/src/sys/net/bpf.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/net/bpf.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/net/bpf_zerocopy.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/net/bpf_zerocopy.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/net/if_bridge.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/net/if_lagg.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/net/if_ppp.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/net/if_vlan.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/net/netisr.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/net/netisr.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/net/raw_cb.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/net/raw_cb.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/net/raw_usrreq.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/net/rtsock.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ht.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_output.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netatalk/ddp_usrreq.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/include/ng_bluetooth.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/ng_base.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/ng_iface.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netgraph/ng_ip_input.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/if_ether.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/in_pcb.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/in_pcb.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/ip_carp.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/ip_gre.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/ip_input.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/raw_ip.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_asconf.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_asconf.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_bsd_addr.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_bsd_addr.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_cc_functions.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_constants.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_crc32.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_indata.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_indata.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_input.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_input.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_os_bsd.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_output.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_output.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_pcb.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_pcb.h#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_sysctl.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_timer.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_timer.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_uio.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_usrreq.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctp_var.h#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctputil.c#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/sctputil.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/tcp_output.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet/udp_usrreq.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/frag6.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/icmp6.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/in6.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/in6_ifattach.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/in6_pcb.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/in6_pcb.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/in6_src.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/ip6_forward.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/ip6_input.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/ip6_var.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/raw_ip6.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/sctp6_usrreq.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/sctp6_var.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netinet6/udp6_usrreq.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/netipsec/keysock.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/netipx/ipx_input.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/netnatm/natm_proto.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/nfsclient/bootp_subr.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_vfsops.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/nfsserver/nfs_syscalls.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/nlm/nlm_advlock.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/nlm/nlm_prot_impl.c#4 integrate
      .. //depot/projects/vimage-commit/src/sys/pc98/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit/src/sys/pc98/conf/NOTES#3 integrate
      .. //depot/projects/vimage-commit/src/sys/pc98/include/bus.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/pc98/pc98/busiosubr.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/pci/if_rlreg.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/powerpc/conf/GENERIC#3 integrate
      .. //depot/projects/vimage-commit/src/sys/rpc/authunix_prot.c#5 integrate
      .. //depot/projects/vimage-commit/src/sys/sparc64/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sparc64/include/in_cksum.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/in_cksum.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sun4v/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/_task.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/event.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/eventhandler.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/imgact.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/interrupt.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/ioctl_compat.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/kernel.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/libkern.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/link_elf.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/socketvar.h#3 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/taskqueue.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/termios.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/sys/ttycom.h#2 integrate
      .. //depot/projects/vimage-commit/src/sys/vm/swap_pager.c#2 integrate
      .. //depot/projects/vimage-commit/src/sys/vm/vm_kern.h#2 integrate
      
      Differences ...
      
      ==== //depot/projects/vimage-commit/src/sys/Makefile#2 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/Makefile,v 1.49 2008/05/26 10:39:52 bz Exp $
      +# $FreeBSD: src/sys/Makefile,v 1.50 2008/07/10 16:03:24 obrien Exp $
       
       .include 
       
      @@ -12,9 +12,12 @@
       		gnu isa kern libkern modules net net80211 netatalk \
       		netgraph netinet netinet6 netipsec netipx netnatm netncp \
       		netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \
      -		pci rpc security sys ufs vm ${ARCHDIR}
      -
      -ARCHDIR	?=	${MACHINE}
      +		pci rpc security sys ufs vm ${CSCOPE_ARCHDIR}
      +.if defined(ALL_ARCH)
      +CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips powerpc sparc64
      +.else
      +CSCOPE_ARCHDIR ?= ${MACHINE}
      +.endif
       
       # Loadable kernel modules
       
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.85 2008/02/12 16:24:30 scottl Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.86 2008/07/15 03:34:49 alc Exp $");
       
       #include 
       #include 
      @@ -480,8 +480,6 @@
       		mflags = M_NOWAIT;
       	else
       		mflags = M_WAITOK;
      -	if (flags & BUS_DMA_ZERO)
      -		mflags |= M_ZERO;
       
       	/* If we succeed, no mapping/bouncing will be required */
       	*mapp = NULL;
      @@ -489,13 +487,15 @@
       	if (dmat->segments == NULL) {
       		dmat->segments = (bus_dma_segment_t *)malloc(
       		    sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
      -		    M_NOWAIT);
      +		    mflags);
       		if (dmat->segments == NULL) {
       			CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
       			    __func__, dmat, dmat->flags, ENOMEM);
       			return (ENOMEM);
       		}
       	}
      +	if (flags & BUS_DMA_ZERO)
      +		mflags |= M_ZERO;
       
       	/* 
       	 * XXX:
      @@ -531,7 +531,7 @@
       		pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
       		    PAT_UNCACHEABLE);
       	CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
      -	    __func__, dmat, dmat->flags, ENOMEM);
      +	    __func__, dmat, dmat->flags, 0);
       	return (0);
       }
       
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/machdep.c#2 (text+ko) ====
      
      @@ -39,7 +39,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.686 2008/04/25 05:18:47 jeff Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.687 2008/07/09 19:44:37 peter Exp $");
       
       #include "opt_atalk.h"
       #include "opt_atpic.h"
      @@ -1466,6 +1466,10 @@
       	_udatasel = GSEL(GUDATA_SEL, SEL_UPL);
       	_ucode32sel = GSEL(GUCODE32_SEL, SEL_UPL);
       
      +	load_ds(_udatasel);
      +	load_es(_udatasel);
      +	load_fs(_udatasel);
      +
       	/* setup proc 0's pcb */
       	thread0.td_pcb->pcb_flags = 0;
       	thread0.td_pcb->pcb_cr3 = KPML4phys;
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/minidump_machdep.c#6 (text) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.5 2008/06/20 20:59:31 alc Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.6 2008/07/08 04:00:22 alc Exp $");
       
       #include "opt_vimage.h"
       
      @@ -209,7 +209,8 @@
       	/* Walk page table pages, set bits in vm_page_dump */
       	ptesize = 0;
       	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
      -	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
      +	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
      +	    kernel_vm_end); va += NBPDR) {
       		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
       		/*
       		 * We always write a page, even if it is zero. Each
      @@ -315,7 +316,8 @@
       
       	/* Dump kernel page table pages */
       	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
      -	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
      +	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
      +	    kernel_vm_end); va += NBPDR) {
       		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
       		/* We always write a page, even if it is zero */
       		if ((pdp[i] & PG_V) == 0) {
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.289 2008/03/10 01:32:48 jeff Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.291 2008/07/09 19:44:37 peter Exp $");
       
       #include "opt_cpu.h"
       #include "opt_kstack_pages.h"
      @@ -79,7 +79,6 @@
       
       int	mp_naps;		/* # of Applications processors */
       int	boot_cpu_id = -1;	/* designated BSP */
      -extern	int nkpt;
       
       extern  struct pcpu __pcpu[];
       
      @@ -99,6 +98,8 @@
       /* SMP page table page */
       extern pt_entry_t *SMPpt;
       
      +extern int  _udatasel;
      +
       struct pcb stoppcbs[MAXCPU];
       
       /* Variables needed for SMP tlb shootdown. */
      @@ -565,7 +566,9 @@
       	 */
       
       	load_cr4(rcr4() | CR4_PGE);
      -
      +	load_ds(_udatasel);
      +	load_es(_udatasel);
      +	load_fs(_udatasel);
       	mtx_unlock_spin(&ap_boot_mtx);
       
       	/* wait until all the AP's are up */
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/pmap.c#4 (text+ko) ====
      
      @@ -77,7 +77,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.623 2008/06/21 19:19:09 alc Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $");
       
       /*
        *	Manages physical address maps.
      @@ -173,10 +173,9 @@
       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) */
       
      -static int nkpt;
       static int ndmpdp;
       static vm_paddr_t dmaplimit;
      -vm_offset_t kernel_vm_end;
      +vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
       pt_entry_t pg_nx;
       
       SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
      @@ -227,6 +226,7 @@
           vm_prot_t prot);
       static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
           vm_page_t m, vm_prot_t prot, vm_page_t mpte);
      +static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
       static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
       static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
       static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
      @@ -441,10 +441,8 @@
       	/* Read-only from zero to physfree */
       	/* XXX not fully used, underneath 2M pages */
       	for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) {
      -		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    PAGE_SIZE + i] = i << PAGE_SHIFT;
      -		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    PAGE_SIZE + i] |= PG_RW | PG_V | PG_G;
      +		((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT;
      +		((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G;
       	}
       
       	/* Now map the page tables at their location within PTmap */
      @@ -456,10 +454,8 @@
       	/* Map from zero to end of allocations under 2M pages */
       	/* This replaces some of the KPTphys entries above */
       	for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) {
      -		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    NBPDR + i] = i << PDRSHIFT;
      -		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    NBPDR + i] |= PG_RW | PG_V | PG_PS | PG_G;
      +		((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT;
      +		((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G;
       	}
       
       	/* And connect up the PD to the PDP */
      @@ -470,11 +466,12 @@
       	}
       
       	/* Now set up the direct map space using either 2MB or 1GB pages */
      +	/* Preset PG_M and PG_A because demotion expects it */
       	if ((amd_feature & AMDID_PAGE1GB) == 0) {
       		for (i = 0; i < NPDEPG * ndmpdp; i++) {
       			((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT;
       			((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS |
      -			    PG_G;
      +			    PG_G | PG_M | PG_A;
       		}
       		/* And the direct map space's PDP */
       		for (i = 0; i < ndmpdp; i++) {
      @@ -487,7 +484,7 @@
       			((pdp_entry_t *)DMPDPphys)[i] =
       			    (vm_paddr_t)i << PDPSHIFT;
       			((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_PS |
      -			    PG_G;
      +			    PG_G | PG_M | PG_A;
       		}
       	}
       
      @@ -543,7 +540,6 @@
       	kernel_pmap->pm_root = NULL;
       	kernel_pmap->pm_active = -1;	/* don't allow deactivation */
       	TAILQ_INIT(&kernel_pmap->pm_pvchunk);
      -	nkpt = NKPT;
       
       	/*
       	 * Reserve some special page table entries/VA space for temporary
      @@ -649,15 +645,17 @@
       	 * Initialize the vm page array entries for the kernel pmap's
       	 * page table pages.
       	 */ 
      -	pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
      -	for (i = 0; i < nkpt; i++) {
      +	pd = pmap_pde(kernel_pmap, KERNBASE);
      +	for (i = 0; i < NKPT; i++) {
       		if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V))
       			continue;
      +		KASSERT((pd[i] & PG_V) != 0,
      +		    ("pmap_init: page table page is missing"));
       		mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME);
       		KASSERT(mpte >= vm_page_array &&
       		    mpte < &vm_page_array[vm_page_array_size],
       		    ("pmap_init: page table page is out of range"));
      -		mpte->pindex = pmap_pde_pindex(VM_MIN_KERNEL_ADDRESS) + i;
      +		mpte->pindex = pmap_pde_pindex(KERNBASE) + i;
       		mpte->phys_addr = pd[i] & PG_FRAME;
       	}
       
      @@ -1043,17 +1041,25 @@
       vm_paddr_t
       pmap_kextract(vm_offset_t va)
       {
      -	pd_entry_t *pde;
      +	pd_entry_t pde;
       	vm_paddr_t pa;
       
       	if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) {
       		pa = DMAP_TO_PHYS(va);
       	} else {
      -		pde = vtopde(va);
      -		if (*pde & PG_PS) {
      -			pa = (*pde & PG_PS_FRAME) | (va & PDRMASK);
      +		pde = *vtopde(va);
      +		if (pde & PG_PS) {
      +			pa = (pde & PG_PS_FRAME) | (va & PDRMASK);
       		} else {
      -			pa = *vtopte(va);
      +			/*
      +			 * Beware of a concurrent promotion that changes the
      +			 * PDE at this point!  For example, vtopte() must not
      +			 * be used to access the PTE because it would use the
      +			 * new PDE.  It is, however, safe to use the old PDE
      +			 * because the page table page is preserved by the
      +			 * promotion.
      +			 */
      +			pa = *pmap_pde_to_pte(&pde, va);
       			pa = (pa & PG_FRAME) | (va & PAGE_MASK);
       		}
       	}
      @@ -1703,41 +1709,50 @@
       	vm_paddr_t paddr;
       	vm_page_t nkpg;
       	pd_entry_t *pde, newpdir;
      -	pdp_entry_t newpdp;
      +	pdp_entry_t *pdpe;
       
       	mtx_assert(&kernel_map->system_mtx, MA_OWNED);
      -	if (kernel_vm_end == 0) {
      -		kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
      -		nkpt = 0;
      -		while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) {
      -			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      -			nkpt++;
      -			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
      -				kernel_vm_end = kernel_map->max_offset;
      -				break;                       
      -			}
      -		}
      -	}
      -	addr = roundup2(addr, PAGE_SIZE * NPTEPG);
      +
      +	/*
      +	 * Return if "addr" is within the range of kernel page table pages
      +	 * that were preallocated during pmap bootstrap.  Moreover, leave
      +	 * "kernel_vm_end" and the kernel page table as they were.
      +	 *
      +	 * The correctness of this action is based on the following
      +	 * argument: vm_map_findspace() allocates contiguous ranges of the
      +	 * kernel virtual address space.  It calls this function if a range
      +	 * ends after "kernel_vm_end".  If the kernel is mapped between
      +	 * "kernel_vm_end" and "addr", then the range cannot begin at
      +	 * "kernel_vm_end".  In fact, its beginning address cannot be less
      +	 * than the kernel.  Thus, there is no immediate need to allocate
      +	 * any new kernel page table pages between "kernel_vm_end" and
      +	 * "KERNBASE".
      +	 */
      +	if (KERNBASE < addr && addr <= KERNBASE + NKPT * NBPDR)
      +		return;
      +
      +	addr = roundup2(addr, NBPDR);
       	if (addr - 1 >= kernel_map->max_offset)
       		addr = kernel_map->max_offset;
       	while (kernel_vm_end < addr) {
      -		pde = pmap_pde(kernel_pmap, kernel_vm_end);
      -		if (pde == NULL) {
      +		pdpe = pmap_pdpe(kernel_pmap, kernel_vm_end);
      +		if ((*pdpe & PG_V) == 0) {
       			/* We need a new PDP entry */
      -			nkpg = vm_page_alloc(NULL, nkpt,
      -			    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
      +			nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT,
      +			    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ |
      +			    VM_ALLOC_WIRED | VM_ALLOC_ZERO);
       			if (nkpg == NULL)
       				panic("pmap_growkernel: no memory to grow kernel");
      -			pmap_zero_page(nkpg);
      +			if ((nkpg->flags & PG_ZERO) == 0)
      +				pmap_zero_page(nkpg);
       			paddr = VM_PAGE_TO_PHYS(nkpg);
      -			newpdp = (pdp_entry_t)
      +			*pdpe = (pdp_entry_t)
       				(paddr | PG_V | PG_RW | PG_A | PG_M);
      -			*pmap_pdpe(kernel_pmap, kernel_vm_end) = newpdp;
       			continue; /* try again */
       		}
      +		pde = pmap_pdpe_to_pde(pdpe, kernel_vm_end);
       		if ((*pde & PG_V) != 0) {
      -			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      +			kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
       			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
       				kernel_vm_end = kernel_map->max_offset;
       				break;                       
      @@ -1746,18 +1761,17 @@
       		}
       
       		nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end),
      -		    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
      +		    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED |
      +		    VM_ALLOC_ZERO);
       		if (nkpg == NULL)
       			panic("pmap_growkernel: no memory to grow kernel");
      -
      -		nkpt++;
      -
      -		pmap_zero_page(nkpg);
      +		if ((nkpg->flags & PG_ZERO) == 0)
      +			pmap_zero_page(nkpg);
       		paddr = VM_PAGE_TO_PHYS(nkpg);
       		newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M);
      -		*pmap_pde(kernel_pmap, kernel_vm_end) = newpdir;
      +		pde_store(pde, newpdir);
       
      -		kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      +		kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
       		if (kernel_vm_end - 1 >= kernel_map->max_offset) {
       			kernel_vm_end = kernel_map->max_offset;
       			break;                       
      @@ -2193,58 +2207,88 @@
       }
       
       /*
      - * Tries to demote a 2MB page mapping.
      + * Fills a page table page with mappings to consecutive physical pages.
      + */
      +static void
      +pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte)
      +{
      +	pt_entry_t *pte;
      +
      +	for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
      +		*pte = newpte;
      +		newpte += PAGE_SIZE;
      +	}
      +}
      +
      +/*
      + * Tries to demote a 2MB page mapping.  If demotion fails, the 2MB page
      + * mapping is invalidated.
        */
       static boolean_t
       pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
       {
       	pd_entry_t newpde, oldpde;
      -	pt_entry_t *firstpte, newpte, *pte;
      +	pt_entry_t *firstpte, newpte;
       	vm_paddr_t mptepa;
       	vm_page_t free, mpte;
       
       	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
      +	oldpde = *pde;
      +	KASSERT((oldpde & (PG_PS | PG_V)) == (PG_PS | PG_V),
      +	    ("pmap_demote_pde: oldpde is missing PG_PS and/or PG_V"));
       	mpte = pmap_lookup_pt_page(pmap, va);
       	if (mpte != NULL)
       		pmap_remove_pt_page(pmap, mpte);
       	else {
      -		KASSERT((*pde & PG_W) == 0,
      +		KASSERT((oldpde & PG_W) == 0,
       		    ("pmap_demote_pde: page table page for a wired mapping"
       		    " is missing"));
      -		free = NULL;
      -		pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
      -		pmap_invalidate_page(pmap, trunc_2mpage(va));
      -		pmap_free_zero_pages(free);
      -		CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
      -		    " in pmap %p", va, pmap);
      -		return (FALSE);
      +
      +		/*
      +		 * Invalidate the 2MB page mapping and return "failure" if the
      +		 * mapping was never accessed or the allocation of the new
      +		 * page table page fails.
      +		 */
      +		if ((oldpde & PG_A) == 0 || (mpte = vm_page_alloc(NULL,
      +		    pmap_pde_pindex(va), VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL |
      +		    VM_ALLOC_WIRED)) == NULL) {
      +			free = NULL;
      +			pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
      +			pmap_invalidate_page(pmap, trunc_2mpage(va));
      +			pmap_free_zero_pages(free);
      +			CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
      +			    " in pmap %p", va, pmap);
      +			return (FALSE);
      +		}
       	}
       	mptepa = VM_PAGE_TO_PHYS(mpte);
       	firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
      -	oldpde = *pde;
       	newpde = mptepa | PG_M | PG_A | (oldpde & PG_U) | PG_RW | PG_V;
      -	KASSERT((oldpde & (PG_A | PG_V)) == (PG_A | PG_V),
      -	    ("pmap_demote_pde: oldpde is missing PG_A and/or PG_V"));
      +	KASSERT((oldpde & PG_A) != 0,
      +	    ("pmap_demote_pde: oldpde is missing PG_A"));
       	KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW,
       	    ("pmap_demote_pde: oldpde is missing PG_M"));
      -	KASSERT((oldpde & PG_PS) != 0,
      -	    ("pmap_demote_pde: oldpde is missing PG_PS"));
       	newpte = oldpde & ~PG_PS;
       	if ((newpte & PG_PDE_PAT) != 0)
       		newpte ^= PG_PDE_PAT | PG_PTE_PAT;
       
       	/*
      -	 * If the mapping has changed attributes, update the page table
      -	 * entries.
      +	 * If the page table page is new, initialize it.
       	 */
      +	if (mpte->wire_count == 1) {
      +		mpte->wire_count = NPTEPG;
      +		pmap_fill_ptp(firstpte, newpte);
      +	}
       	KASSERT((*firstpte & PG_FRAME) == (newpte & PG_FRAME),
       	    ("pmap_demote_pde: firstpte and newpte map different physical"
       	    " addresses"));
      +
      +	/*
      +	 * If the mapping has changed attributes, update the page table
      +	 * entries.
      +	 */
       	if ((*firstpte & PG_PTE_PROMOTE) != (newpte & PG_PTE_PROMOTE))
      -		for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
      -			*pte = newpte;
      -			newpte += PAGE_SIZE;
      -		}
      +		pmap_fill_ptp(firstpte, newpte);
       
       	/*
       	 * Demote the mapping.  This pmap is locked.  The old PDE has
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#3 (text+ko) ====
      
      @@ -16,7 +16,7 @@
       # If you are in doubt as to the purpose or necessity of a line, check first
       # in NOTES.
       #
      -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.502 2008/06/20 19:28:33 delphij Exp $
      +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $
       
       cpu		HAMMER
       ident		GENERIC
      @@ -64,6 +64,7 @@
       options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
       options 	STOP_NMI		# Stop CPUS using NMI instead of IPI
       options 	AUDIT			# Security event auditing
      +options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
       
       # Debugging for use in -current
       options 	KDB			# Enable kernel debugger support.
      @@ -171,7 +172,6 @@
       device		cardbus		# CardBus (32-bit) bus
       
       # Serial (COM) ports
      -device		sio		# 8250, 16[45]50 based serial ports
       device		uart		# Generic UART driver
       
       # Parallel port
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC.hints#2 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.18 2007/10/15 20:00:20 netchild Exp $
      +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.19 2008/07/13 07:20:14 ed Exp $
       hint.fdc.0.at="isa"
       hint.fdc.0.port="0x3F0"
       hint.fdc.0.irq="6"
      @@ -16,20 +16,20 @@
       hint.vga.0.at="isa"
       hint.sc.0.at="isa"
       hint.sc.0.flags="0x100"
      -hint.sio.0.at="isa"
      -hint.sio.0.port="0x3F8"
      -hint.sio.0.flags="0x10"
      -hint.sio.0.irq="4"
      -hint.sio.1.at="isa"
      -hint.sio.1.port="0x2F8"
      -hint.sio.1.irq="3"
      -hint.sio.2.at="isa"
      -hint.sio.2.disabled="1"
      -hint.sio.2.port="0x3E8"
      -hint.sio.2.irq="5"
      -hint.sio.3.at="isa"
      -hint.sio.3.disabled="1"
      -hint.sio.3.port="0x2E8"
      -hint.sio.3.irq="9"
      +hint.uart.0.at="isa"
      +hint.uart.0.port="0x3F8"
      +hint.uart.0.flags="0x10"
      +hint.uart.0.irq="4"
      +hint.uart.1.at="isa"
      +hint.uart.1.port="0x2F8"
      +hint.uart.1.irq="3"
      +hint.uart.2.at="isa"
      +hint.uart.2.disabled="1"
      +hint.uart.2.port="0x3E8"
      +hint.uart.2.irq="5"
      +hint.uart.3.at="isa"
      +hint.uart.3.disabled="1"
      +hint.uart.3.port="0x2E8"
      +hint.uart.3.irq="9"
       hint.ppc.0.at="isa"
       hint.ppc.0.irq="7"
      
      ==== //depot/projects/vimage-commit/src/sys/amd64/include/pmap.h#3 (text+ko) ====
      
      @@ -39,7 +39,7 @@
        *
        *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
        *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
      - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.142 2008/06/29 19:13:27 alc Exp $
      + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $
        */
       
       #ifndef _MACHINE_PMAP_H_
      @@ -111,11 +111,11 @@
       
       /* Initial number of kernel page tables. */
       #ifndef NKPT
      -#define	NKPT		2288
      +#define	NKPT		32
       #endif
       
       #define NKPML4E		1		/* number of kernel PML4 slots */
      -#define NKPDPE		5		/* number of kernel PDP slots */
      +#define NKPDPE		howmany(NKPT, NPDEPG)/* number of kernel PDP slots */
       
       #define	NUPML4E		(NPML4EPG/2)	/* number of userland PML4 pages */
       #define	NUPDPE		(NUPML4E*NPDPEPG)/* number of userland PDP pages */
      @@ -131,7 +131,7 @@
       #define	KPML4I		(NPML4EPG-1)	/* Top 512GB for KVM */
       #define	DMPML4I		(KPML4I-1)	/* Next 512GB down for direct map */
       
      -#define	KPDPI		(NPDPEPG-6)	/* kernel map starts at -6GB */
      +#define	KPDPI		(NPDPEPG-2)	/* kernbase at -2GB */
       
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 16:43:55 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 316421065673; Fri, 18 Jul 2008 16:43:55 +0000 (UTC)
      Delivered-To: perforce@freebsd.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id E91451065671
      	for ; Fri, 18 Jul 2008 16:43:54 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id D25B88FC21
      	for ; Fri, 18 Jul 2008 16:43:54 +0000 (UTC)
      	(envelope-from zec@tel.fer.hr)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IGhsc5093335
      	for ; Fri, 18 Jul 2008 16:43:54 GMT
      	(envelope-from zec@tel.fer.hr)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IGhsR8093331
      	for perforce@freebsd.org; Fri, 18 Jul 2008 16:43:54 GMT
      	(envelope-from zec@tel.fer.hr)
      Date: Fri, 18 Jul 2008 16:43:54 GMT
      Message-Id: <200807181643.m6IGhsR8093331@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	zec@tel.fer.hr using -f
      From: Marko Zec 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145441 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 16:43:55 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145441
      
      Change 145441 by zec@zec_tpx32 on 2008/07/18 16:43:09
      
      	IFC @ 145420
      
      Affected files ...
      
      .. //depot/projects/vimage-commit2/src/sys/Makefile#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/busdma_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/minidump_machdep.c#7 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC.hints#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/amd64/include/vmparam.h#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/arm/at91/if_atereg.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/boot/forth/loader.conf#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/boot/pc98/boot2/README.serial.98#2 delete
      .. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_da.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/compat/svr4/svr4_stat.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/conf/files#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/conf/files.i386#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/conf/files.pc98#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/conf/kern.post.mk#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/conf/newvers.sh#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/COPYRIGHT#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltr.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltr_isa.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltr_pci.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltrvar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlld.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlldbm.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlldhm.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlldmac.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/acpi_support/acpi_asus.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/age/if_age.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/arl/if_arl.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/arl/if_arl_isa.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/arl/if_arlreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-chipset.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-pci.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bm.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bmreg.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bmvar.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/ciss/ciss.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissio.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissreg.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissvar.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cnw/if_cnw.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/cnw/if_cnwioctl.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/cnw/if_cnwreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/cs/if_cs.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cs/if_csreg.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_common.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_adapter.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_sge.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_pccard.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/et/if_et.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jme.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/k8temp/k8temp.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/lmc/if_lmc.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/lmc/if_lmc.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/mxge/if_mxge.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/pccard/pccarddevs#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/re/if_re.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbni.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbni_isa.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbni_pci.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbnireg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbnivar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sbsh/if_sbsh.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sbsh/if_sbshreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/syscons/daemon/daemon_saver.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/usb/ohci.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_ethersubr.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/vr/if_vr.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/dev/vr/if_vrreg.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/fs/cd9660/cd9660_rrip.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum_drive.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum_subr.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC.hints#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/conf/NOTES#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/i386/busdma_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/i386/pmap.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_socksys.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/ia64/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/busdma_machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/ia64/ia64/machdep.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/ia64/include/ia64_cpu.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_conf.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_cpuset.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_event.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_exec.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_fork.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_intr.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_jail.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_malloc.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_mib.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_poll.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/kern_xxx.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/link_elf.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/link_elf_obj.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/subr_param.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/subr_stack.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/subr_taskqueue.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/uipc_debug.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/uipc_usrreq.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/kern/vfs_mount.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/libkern/memset.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/adm5120_machdep.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/adm5120reg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/admpci.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/console.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/files.adm5120#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admsw.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admswreg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admswvar.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/obio.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/obiovar.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/std.adm5120#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_bus_adm5120.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_cpu_adm5120.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_dev_adm5120.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_dev_adm5120.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/files.idt#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/idt_machdep.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/idtpci.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/idtreg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/if_kr.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/if_krreg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/obio.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/obiovar.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/std.idt#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/uart_bus_rc32434.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/idt/uart_cpu_rc32434.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/files.malta#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/gt.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/gt_pci.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/gtreg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/gtvar.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/malta_machdep.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/maltareg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/obio.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/obiovar.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/std.malta#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/uart_bus_maltausart.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/uart_cpu_maltausart.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/yamon.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/malta/yamon.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/mips/pmap.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/adm5120reg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/admpci.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/console.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/files.adm5120#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/if_admsw.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/if_admswreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/if_admswvar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/obio.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/obiovar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/std.adm5120#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/files.idt#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/idt_machdep.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/idtpci.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/idtreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/if_kr.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/if_krreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/obio.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/obiovar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/std.idt#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/uart_bus_rc32434.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/uart_cpu_rc32434.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/files.malta#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gt.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gt_pci.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gtreg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gtvar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/malta_machdep.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/maltareg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/obio.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/obiovar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/std.malta#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/uart_bus_maltausart.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/uart_cpu_maltausart.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/yamon.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/yamon.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/files.sentry5#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/obio.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/obiovar.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/s5_machdep.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/s5reg.h#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/siba_cc.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/siba_mips.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/siba_sdram.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/files.sentry5#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/obio.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/obiovar.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/s5_machdep.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/s5reg.h#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/siba_cc.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/siba_mips.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/siba_sdram.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/uart_bus_sbusart.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/mips/sentry5/uart_cpu_sbusart.c#1 branch
      .. //depot/projects/vimage-commit2/src/sys/modules/Makefile#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/modules/arl/Makefile#2 delete
      .. //depot/projects/vimage-commit2/src/sys/modules/cnw/Makefile#2 delete
      .. //depot/projects/vimage-commit2/src/sys/modules/cxgb/cxgb/Makefile#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/modules/oltr/Makefile#2 delete
      .. //depot/projects/vimage-commit2/src/sys/modules/sbni/Makefile#2 delete
      .. //depot/projects/vimage-commit2/src/sys/modules/sbsh/Makefile#2 delete
      .. //depot/projects/vimage-commit2/src/sys/net/bpf.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/bpf.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/bpf_zerocopy.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/bpf_zerocopy.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/if_bridge.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/if_lagg.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/if_ppp.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/if_vlan.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/netisr.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/netisr.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/raw_cb.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/raw_cb.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/raw_usrreq.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ht.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_output.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_usrreq.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/include/ng_bluetooth.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_base.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_iface.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_ip_input.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/if_ether.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/ip_carp.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/ip_gre.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/raw_ip.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_asconf.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_asconf.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_bsd_addr.c#6 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_bsd_addr.h#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_cc_functions.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_constants.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_crc32.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_indata.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_indata.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_input.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_input.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_os_bsd.h#6 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_output.c#7 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_output.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_pcb.c#7 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_pcb.h#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_sysctl.h#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_timer.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_timer.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_uio.h#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_usrreq.c#7 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctp_var.h#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctputil.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/sctputil.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/tcp_output.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#7 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/frag6.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/in6.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_ifattach.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_pcb.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_pcb.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_src.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_forward.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_var.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/sctp6_usrreq.c#8 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/sctp6_var.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netinet6/udp6_usrreq.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netipsec/keysock.c#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/netipx/ipx_input.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/netnatm/natm_proto.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/nfsclient/bootp_subr.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/nlm/nlm_advlock.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/nlm/nlm_prot_impl.c#6 integrate
      .. //depot/projects/vimage-commit2/src/sys/pc98/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/pc98/conf/NOTES#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/pc98/include/bus.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/pc98/pc98/busiosubr.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/pci/if_rlreg.h#4 integrate
      .. //depot/projects/vimage-commit2/src/sys/powerpc/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/rpc/authunix_prot.c#5 integrate
      .. //depot/projects/vimage-commit2/src/sys/sparc64/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sparc64/include/in_cksum.h#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/in_cksum.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sun4v/conf/GENERIC#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/_task.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/event.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/eventhandler.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/imgact.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/interrupt.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/ioctl_compat.h#3 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/kernel.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/libkern.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/link_elf.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/taskqueue.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/termios.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/sys/ttycom.h#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/vm/swap_pager.c#2 integrate
      .. //depot/projects/vimage-commit2/src/sys/vm/vm_kern.h#2 integrate
      
      Differences ...
      
      ==== //depot/projects/vimage-commit2/src/sys/Makefile#2 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/Makefile,v 1.49 2008/05/26 10:39:52 bz Exp $
      +# $FreeBSD: src/sys/Makefile,v 1.50 2008/07/10 16:03:24 obrien Exp $
       
       .include 
       
      @@ -12,9 +12,12 @@
       		gnu isa kern libkern modules net net80211 netatalk \
       		netgraph netinet netinet6 netipsec netipx netnatm netncp \
       		netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \
      -		pci rpc security sys ufs vm ${ARCHDIR}
      -
      -ARCHDIR	?=	${MACHINE}
      +		pci rpc security sys ufs vm ${CSCOPE_ARCHDIR}
      +.if defined(ALL_ARCH)
      +CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips powerpc sparc64
      +.else
      +CSCOPE_ARCHDIR ?= ${MACHINE}
      +.endif
       
       # Loadable kernel modules
       
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.85 2008/02/12 16:24:30 scottl Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.86 2008/07/15 03:34:49 alc Exp $");
       
       #include 
       #include 
      @@ -480,8 +480,6 @@
       		mflags = M_NOWAIT;
       	else
       		mflags = M_WAITOK;
      -	if (flags & BUS_DMA_ZERO)
      -		mflags |= M_ZERO;
       
       	/* If we succeed, no mapping/bouncing will be required */
       	*mapp = NULL;
      @@ -489,13 +487,15 @@
       	if (dmat->segments == NULL) {
       		dmat->segments = (bus_dma_segment_t *)malloc(
       		    sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
      -		    M_NOWAIT);
      +		    mflags);
       		if (dmat->segments == NULL) {
       			CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
       			    __func__, dmat, dmat->flags, ENOMEM);
       			return (ENOMEM);
       		}
       	}
      +	if (flags & BUS_DMA_ZERO)
      +		mflags |= M_ZERO;
       
       	/* 
       	 * XXX:
      @@ -531,7 +531,7 @@
       		pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
       		    PAT_UNCACHEABLE);
       	CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
      -	    __func__, dmat, dmat->flags, ENOMEM);
      +	    __func__, dmat, dmat->flags, 0);
       	return (0);
       }
       
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/machdep.c#2 (text+ko) ====
      
      @@ -39,7 +39,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.686 2008/04/25 05:18:47 jeff Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.687 2008/07/09 19:44:37 peter Exp $");
       
       #include "opt_atalk.h"
       #include "opt_atpic.h"
      @@ -1466,6 +1466,10 @@
       	_udatasel = GSEL(GUDATA_SEL, SEL_UPL);
       	_ucode32sel = GSEL(GUCODE32_SEL, SEL_UPL);
       
      +	load_ds(_udatasel);
      +	load_es(_udatasel);
      +	load_fs(_udatasel);
      +
       	/* setup proc 0's pcb */
       	thread0.td_pcb->pcb_flags = 0;
       	thread0.td_pcb->pcb_cr3 = KPML4phys;
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/minidump_machdep.c#7 (text) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.5 2008/06/20 20:59:31 alc Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.6 2008/07/08 04:00:22 alc Exp $");
       
       #include "opt_vimage.h"
       
      @@ -209,7 +209,8 @@
       	/* Walk page table pages, set bits in vm_page_dump */
       	ptesize = 0;
       	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
      -	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
      +	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
      +	    kernel_vm_end); va += NBPDR) {
       		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
       		/*
       		 * We always write a page, even if it is zero. Each
      @@ -315,7 +316,8 @@
       
       	/* Dump kernel page table pages */
       	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
      -	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
      +	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
      +	    kernel_vm_end); va += NBPDR) {
       		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
       		/* We always write a page, even if it is zero */
       		if ((pdp[i] & PG_V) == 0) {
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ====
      
      @@ -25,7 +25,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.289 2008/03/10 01:32:48 jeff Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.291 2008/07/09 19:44:37 peter Exp $");
       
       #include "opt_cpu.h"
       #include "opt_kstack_pages.h"
      @@ -79,7 +79,6 @@
       
       int	mp_naps;		/* # of Applications processors */
       int	boot_cpu_id = -1;	/* designated BSP */
      -extern	int nkpt;
       
       extern  struct pcpu __pcpu[];
       
      @@ -99,6 +98,8 @@
       /* SMP page table page */
       extern pt_entry_t *SMPpt;
       
      +extern int  _udatasel;
      +
       struct pcb stoppcbs[MAXCPU];
       
       /* Variables needed for SMP tlb shootdown. */
      @@ -565,7 +566,9 @@
       	 */
       
       	load_cr4(rcr4() | CR4_PGE);
      -
      +	load_ds(_udatasel);
      +	load_es(_udatasel);
      +	load_fs(_udatasel);
       	mtx_unlock_spin(&ap_boot_mtx);
       
       	/* wait until all the AP's are up */
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#5 (text+ko) ====
      
      @@ -77,7 +77,7 @@
        */
       
       #include 
      -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.624 2008/07/02 05:41:23 alc Exp $");
      +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $");
       
       /*
        *	Manages physical address maps.
      @@ -175,7 +175,7 @@
       
       static int ndmpdp;
       static vm_paddr_t dmaplimit;
      -vm_offset_t kernel_vm_end;
      +vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
       pt_entry_t pg_nx;
       
       SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
      @@ -226,6 +226,7 @@
           vm_prot_t prot);
       static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
           vm_page_t m, vm_prot_t prot, vm_page_t mpte);
      +static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
       static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
       static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
       static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
      @@ -440,10 +441,8 @@
       	/* Read-only from zero to physfree */
       	/* XXX not fully used, underneath 2M pages */
       	for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) {
      -		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    PAGE_SIZE + i] = i << PAGE_SHIFT;
      -		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    PAGE_SIZE + i] |= PG_RW | PG_V | PG_G;
      +		((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT;
      +		((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G;
       	}
       
       	/* Now map the page tables at their location within PTmap */
      @@ -455,10 +454,8 @@
       	/* Map from zero to end of allocations under 2M pages */
       	/* This replaces some of the KPTphys entries above */
       	for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) {
      -		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    NBPDR + i] = i << PDRSHIFT;
      -		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
      -		    NBPDR + i] |= PG_RW | PG_V | PG_PS | PG_G;
      +		((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT;
      +		((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G;
       	}
       
       	/* And connect up the PD to the PDP */
      @@ -469,11 +466,12 @@
       	}
       
       	/* Now set up the direct map space using either 2MB or 1GB pages */
      +	/* Preset PG_M and PG_A because demotion expects it */
       	if ((amd_feature & AMDID_PAGE1GB) == 0) {
       		for (i = 0; i < NPDEPG * ndmpdp; i++) {
       			((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT;
       			((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS |
      -			    PG_G;
      +			    PG_G | PG_M | PG_A;
       		}
       		/* And the direct map space's PDP */
       		for (i = 0; i < ndmpdp; i++) {
      @@ -486,7 +484,7 @@
       			((pdp_entry_t *)DMPDPphys)[i] =
       			    (vm_paddr_t)i << PDPSHIFT;
       			((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_PS |
      -			    PG_G;
      +			    PG_G | PG_M | PG_A;
       		}
       	}
       
      @@ -647,15 +645,17 @@
       	 * Initialize the vm page array entries for the kernel pmap's
       	 * page table pages.
       	 */ 
      -	pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
      +	pd = pmap_pde(kernel_pmap, KERNBASE);
       	for (i = 0; i < NKPT; i++) {
       		if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V))
       			continue;
      +		KASSERT((pd[i] & PG_V) != 0,
      +		    ("pmap_init: page table page is missing"));
       		mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME);
       		KASSERT(mpte >= vm_page_array &&
       		    mpte < &vm_page_array[vm_page_array_size],
       		    ("pmap_init: page table page is out of range"));
      -		mpte->pindex = pmap_pde_pindex(VM_MIN_KERNEL_ADDRESS) + i;
      +		mpte->pindex = pmap_pde_pindex(KERNBASE) + i;
       		mpte->phys_addr = pd[i] & PG_FRAME;
       	}
       
      @@ -1041,17 +1041,25 @@
       vm_paddr_t
       pmap_kextract(vm_offset_t va)
       {
      -	pd_entry_t *pde;
      +	pd_entry_t pde;
       	vm_paddr_t pa;
       
       	if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) {
       		pa = DMAP_TO_PHYS(va);
       	} else {
      -		pde = vtopde(va);
      -		if (*pde & PG_PS) {
      -			pa = (*pde & PG_PS_FRAME) | (va & PDRMASK);
      +		pde = *vtopde(va);
      +		if (pde & PG_PS) {
      +			pa = (pde & PG_PS_FRAME) | (va & PDRMASK);
       		} else {
      -			pa = *vtopte(va);
      +			/*
      +			 * Beware of a concurrent promotion that changes the
      +			 * PDE at this point!  For example, vtopte() must not
      +			 * be used to access the PTE because it would use the
      +			 * new PDE.  It is, however, safe to use the old PDE
      +			 * because the page table page is preserved by the
      +			 * promotion.
      +			 */
      +			pa = *pmap_pde_to_pte(&pde, va);
       			pa = (pa & PG_FRAME) | (va & PAGE_MASK);
       		}
       	}
      @@ -1701,39 +1709,50 @@
       	vm_paddr_t paddr;
       	vm_page_t nkpg;
       	pd_entry_t *pde, newpdir;
      -	pdp_entry_t newpdp;
      +	pdp_entry_t *pdpe;
       
       	mtx_assert(&kernel_map->system_mtx, MA_OWNED);
      -	if (kernel_vm_end == 0) {
      -		kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
      -		while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) {
      -			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      -			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
      -				kernel_vm_end = kernel_map->max_offset;
      -				break;                       
      -			}
      -		}
      -	}
      -	addr = roundup2(addr, PAGE_SIZE * NPTEPG);
      +
      +	/*
      +	 * Return if "addr" is within the range of kernel page table pages
      +	 * that were preallocated during pmap bootstrap.  Moreover, leave
      +	 * "kernel_vm_end" and the kernel page table as they were.
      +	 *
      +	 * The correctness of this action is based on the following
      +	 * argument: vm_map_findspace() allocates contiguous ranges of the
      +	 * kernel virtual address space.  It calls this function if a range
      +	 * ends after "kernel_vm_end".  If the kernel is mapped between
      +	 * "kernel_vm_end" and "addr", then the range cannot begin at
      +	 * "kernel_vm_end".  In fact, its beginning address cannot be less
      +	 * than the kernel.  Thus, there is no immediate need to allocate
      +	 * any new kernel page table pages between "kernel_vm_end" and
      +	 * "KERNBASE".
      +	 */
      +	if (KERNBASE < addr && addr <= KERNBASE + NKPT * NBPDR)
      +		return;
      +
      +	addr = roundup2(addr, NBPDR);
       	if (addr - 1 >= kernel_map->max_offset)
       		addr = kernel_map->max_offset;
       	while (kernel_vm_end < addr) {
      -		pde = pmap_pde(kernel_pmap, kernel_vm_end);
      -		if (pde == NULL) {
      +		pdpe = pmap_pdpe(kernel_pmap, kernel_vm_end);
      +		if ((*pdpe & PG_V) == 0) {
       			/* We need a new PDP entry */
       			nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT,
      -			    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
      +			    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ |
      +			    VM_ALLOC_WIRED | VM_ALLOC_ZERO);
       			if (nkpg == NULL)
       				panic("pmap_growkernel: no memory to grow kernel");
      -			pmap_zero_page(nkpg);
      +			if ((nkpg->flags & PG_ZERO) == 0)
      +				pmap_zero_page(nkpg);
       			paddr = VM_PAGE_TO_PHYS(nkpg);
      -			newpdp = (pdp_entry_t)
      +			*pdpe = (pdp_entry_t)
       				(paddr | PG_V | PG_RW | PG_A | PG_M);
      -			*pmap_pdpe(kernel_pmap, kernel_vm_end) = newpdp;
       			continue; /* try again */
       		}
      +		pde = pmap_pdpe_to_pde(pdpe, kernel_vm_end);
       		if ((*pde & PG_V) != 0) {
      -			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      +			kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
       			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
       				kernel_vm_end = kernel_map->max_offset;
       				break;                       
      @@ -1742,15 +1761,17 @@
       		}
       
       		nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end),
      -		    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
      +		    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED |
      +		    VM_ALLOC_ZERO);
       		if (nkpg == NULL)
       			panic("pmap_growkernel: no memory to grow kernel");
      -		pmap_zero_page(nkpg);
      +		if ((nkpg->flags & PG_ZERO) == 0)
      +			pmap_zero_page(nkpg);
       		paddr = VM_PAGE_TO_PHYS(nkpg);
       		newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M);
      -		*pmap_pde(kernel_pmap, kernel_vm_end) = newpdir;
      +		pde_store(pde, newpdir);
       
      -		kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
      +		kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
       		if (kernel_vm_end - 1 >= kernel_map->max_offset) {
       			kernel_vm_end = kernel_map->max_offset;
       			break;                       
      @@ -2186,58 +2207,88 @@
       }
       
       /*
      - * Tries to demote a 2MB page mapping.
      + * Fills a page table page with mappings to consecutive physical pages.
      + */
      +static void
      +pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte)
      +{
      +	pt_entry_t *pte;
      +
      +	for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
      +		*pte = newpte;
      +		newpte += PAGE_SIZE;
      +	}
      +}
      +
      +/*
      + * Tries to demote a 2MB page mapping.  If demotion fails, the 2MB page
      + * mapping is invalidated.
        */
       static boolean_t
       pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
       {
       	pd_entry_t newpde, oldpde;
      -	pt_entry_t *firstpte, newpte, *pte;
      +	pt_entry_t *firstpte, newpte;
       	vm_paddr_t mptepa;
       	vm_page_t free, mpte;
       
       	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
      +	oldpde = *pde;
      +	KASSERT((oldpde & (PG_PS | PG_V)) == (PG_PS | PG_V),
      +	    ("pmap_demote_pde: oldpde is missing PG_PS and/or PG_V"));
       	mpte = pmap_lookup_pt_page(pmap, va);
       	if (mpte != NULL)
       		pmap_remove_pt_page(pmap, mpte);
       	else {
      -		KASSERT((*pde & PG_W) == 0,
      +		KASSERT((oldpde & PG_W) == 0,
       		    ("pmap_demote_pde: page table page for a wired mapping"
       		    " is missing"));
      -		free = NULL;
      -		pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
      -		pmap_invalidate_page(pmap, trunc_2mpage(va));
      -		pmap_free_zero_pages(free);
      -		CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
      -		    " in pmap %p", va, pmap);
      -		return (FALSE);
      +
      +		/*
      +		 * Invalidate the 2MB page mapping and return "failure" if the
      +		 * mapping was never accessed or the allocation of the new
      +		 * page table page fails.
      +		 */
      +		if ((oldpde & PG_A) == 0 || (mpte = vm_page_alloc(NULL,
      +		    pmap_pde_pindex(va), VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL |
      +		    VM_ALLOC_WIRED)) == NULL) {
      +			free = NULL;
      +			pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
      +			pmap_invalidate_page(pmap, trunc_2mpage(va));
      +			pmap_free_zero_pages(free);
      +			CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
      +			    " in pmap %p", va, pmap);
      +			return (FALSE);
      +		}
       	}
       	mptepa = VM_PAGE_TO_PHYS(mpte);
       	firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
      -	oldpde = *pde;
       	newpde = mptepa | PG_M | PG_A | (oldpde & PG_U) | PG_RW | PG_V;
      -	KASSERT((oldpde & (PG_A | PG_V)) == (PG_A | PG_V),
      -	    ("pmap_demote_pde: oldpde is missing PG_A and/or PG_V"));
      +	KASSERT((oldpde & PG_A) != 0,
      +	    ("pmap_demote_pde: oldpde is missing PG_A"));
       	KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW,
       	    ("pmap_demote_pde: oldpde is missing PG_M"));
      -	KASSERT((oldpde & PG_PS) != 0,
      -	    ("pmap_demote_pde: oldpde is missing PG_PS"));
       	newpte = oldpde & ~PG_PS;
       	if ((newpte & PG_PDE_PAT) != 0)
       		newpte ^= PG_PDE_PAT | PG_PTE_PAT;
       
       	/*
      -	 * If the mapping has changed attributes, update the page table
      -	 * entries.
      +	 * If the page table page is new, initialize it.
       	 */
      +	if (mpte->wire_count == 1) {
      +		mpte->wire_count = NPTEPG;
      +		pmap_fill_ptp(firstpte, newpte);
      +	}
       	KASSERT((*firstpte & PG_FRAME) == (newpte & PG_FRAME),
       	    ("pmap_demote_pde: firstpte and newpte map different physical"
       	    " addresses"));
      +
      +	/*
      +	 * If the mapping has changed attributes, update the page table
      +	 * entries.
      +	 */
       	if ((*firstpte & PG_PTE_PROMOTE) != (newpte & PG_PTE_PROMOTE))
      -		for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
      -			*pte = newpte;
      -			newpte += PAGE_SIZE;
      -		}
      +		pmap_fill_ptp(firstpte, newpte);
       
       	/*
       	 * Demote the mapping.  This pmap is locked.  The old PDE has
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#3 (text+ko) ====
      
      @@ -16,7 +16,7 @@
       # If you are in doubt as to the purpose or necessity of a line, check first
       # in NOTES.
       #
      -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.502 2008/06/20 19:28:33 delphij Exp $
      +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $
       
       cpu		HAMMER
       ident		GENERIC
      @@ -64,6 +64,7 @@
       options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
       options 	STOP_NMI		# Stop CPUS using NMI instead of IPI
       options 	AUDIT			# Security event auditing
      +options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
       
       # Debugging for use in -current
       options 	KDB			# Enable kernel debugger support.
      @@ -171,7 +172,6 @@
       device		cardbus		# CardBus (32-bit) bus
       
       # Serial (COM) ports
      -device		sio		# 8250, 16[45]50 based serial ports
       device		uart		# Generic UART driver
       
       # Parallel port
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC.hints#2 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.18 2007/10/15 20:00:20 netchild Exp $
      +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.19 2008/07/13 07:20:14 ed Exp $
       hint.fdc.0.at="isa"
       hint.fdc.0.port="0x3F0"
       hint.fdc.0.irq="6"
      @@ -16,20 +16,20 @@
       hint.vga.0.at="isa"
       hint.sc.0.at="isa"
       hint.sc.0.flags="0x100"
      -hint.sio.0.at="isa"
      -hint.sio.0.port="0x3F8"
      -hint.sio.0.flags="0x10"
      -hint.sio.0.irq="4"
      -hint.sio.1.at="isa"
      -hint.sio.1.port="0x2F8"
      -hint.sio.1.irq="3"
      -hint.sio.2.at="isa"
      -hint.sio.2.disabled="1"
      -hint.sio.2.port="0x3E8"
      -hint.sio.2.irq="5"
      -hint.sio.3.at="isa"
      -hint.sio.3.disabled="1"
      -hint.sio.3.port="0x2E8"
      -hint.sio.3.irq="9"
      +hint.uart.0.at="isa"
      +hint.uart.0.port="0x3F8"
      +hint.uart.0.flags="0x10"
      +hint.uart.0.irq="4"
      +hint.uart.1.at="isa"
      +hint.uart.1.port="0x2F8"
      +hint.uart.1.irq="3"
      +hint.uart.2.at="isa"
      +hint.uart.2.disabled="1"
      +hint.uart.2.port="0x3E8"
      +hint.uart.2.irq="5"
      +hint.uart.3.at="isa"
      +hint.uart.3.disabled="1"
      +hint.uart.3.port="0x2E8"
      +hint.uart.3.irq="9"
       hint.ppc.0.at="isa"
       hint.ppc.0.irq="7"
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#4 (text+ko) ====
      
      @@ -39,7 +39,7 @@
        *
        *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
        *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
      - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.143 2008/06/30 02:35:55 alc Exp $
      + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $
        */
       
       #ifndef _MACHINE_PMAP_H_
      @@ -111,7 +111,7 @@
       
       /* Initial number of kernel page tables. */
       #ifndef NKPT
      -#define	NKPT		2288
      +#define	NKPT		32
       #endif
       
       #define NKPML4E		1		/* number of kernel PML4 slots */
      @@ -131,7 +131,7 @@
       #define	KPML4I		(NPML4EPG-1)	/* Top 512GB for KVM */
       #define	DMPML4I		(KPML4I-1)	/* Next 512GB down for direct map */
       
      -#define	KPDPI		(NPDPEPG-6)	/* kernel map starts at -6GB */
      +#define	KPDPI		(NPDPEPG-2)	/* kernbase at -2GB */
       
       /*
        * XXX doesn't really belong here I guess...
      
      ==== //depot/projects/vimage-commit2/src/sys/amd64/include/vmparam.h#4 (text+ko) ====
      
      @@ -38,7 +38,7 @@
        * SUCH DAMAGE.
        *
        *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
      - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.53 2008/06/30 03:14:39 alc Exp $
      + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.56 2008/07/08 22:59:17 alc Exp $
        */
       
       
      @@ -154,8 +154,8 @@
        * 0xffff800000000000 - 0xffff804020100fff   recursive page table (512GB slot)
        * 0xffff804020101000 - 0xfffffeffffffffff   unused
        * 0xffffff0000000000 - 0xffffff7fffffffff   512GB direct map mappings
      - * 0xffffff8000000000 - 0xfffffffe7fffffff   unused (506GB)
      - * 0xfffffffe80000000 - 0xffffffffffffffff   6GB kernel map
      + * 0xffffff8000000000 - 0xfffffffe3fffffff   unused (505GB)
      + * 0xfffffffe40000000 - 0xffffffffffffffff   7GB kernel map
        *
        * Within the kernel map:
        *
      @@ -163,12 +163,12 @@
        */
       
       #define	VM_MAX_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-1, NPDEPG-1, NPTEPG-1)
      -#define	VM_MIN_KERNEL_ADDRESS	KVADDR(KPML4I, KPDPI, 0, 0)
      +#define	VM_MIN_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-7, 0, 0)
       
       #define	DMAP_MIN_ADDRESS	KVADDR(DMPML4I, 0, 0, 0)
       #define	DMAP_MAX_ADDRESS	KVADDR(DMPML4I+1, 0, 0, 0)
       
      -#define	KERNBASE		MAX(0xffffffff80000000ul, VM_MIN_KERNEL_ADDRESS)
      +#define	KERNBASE		KVADDR(KPML4I, KPDPI, 0, 0)
       
       #define	UPT_MAX_ADDRESS		KVADDR(PML4PML4I, PML4PML4I, PML4PML4I, PML4PML4I)
       #define	UPT_MIN_ADDRESS		KVADDR(PML4PML4I, 0, 0, 0)
      @@ -202,7 +202,8 @@
        * Ceiling on amount of kmem_map kva space.
        */
       #ifndef VM_KMEM_SIZE_MAX
      -#define	VM_KMEM_SIZE_MAX	(400 * 1024 * 1024)
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Fri Jul 18 19:16:32 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id B55D61065681; Fri, 18 Jul 2008 19:16:32 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 7750A106567E
      	for ; Fri, 18 Jul 2008 19:16:32 +0000 (UTC)
      	(envelope-from konrad@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 6CE9D8FC0A
      	for ; Fri, 18 Jul 2008 19:16:32 +0000 (UTC)
      	(envelope-from konrad@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6IJGW8w029295
      	for ; Fri, 18 Jul 2008 19:16:32 GMT
      	(envelope-from konrad@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6IJGWjg029293
      	for perforce@freebsd.org; Fri, 18 Jul 2008 19:16:32 GMT
      	(envelope-from konrad@FreeBSD.org)
      Date: Fri, 18 Jul 2008 19:16:32 GMT
      Message-Id: <200807181916.m6IJGWjg029293@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	konrad@FreeBSD.org using -f
      From: Konrad Jankowski 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145445 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 18 Jul 2008 19:16:33 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145445
      
      Change 145445 by konrad@vspredator on 2008/07/18 19:15:44
      
      	Incremental changes to make 'collating-element' work again.
      
      Affected files ...
      
      .. //depot/projects/soc2008/konrad_collation/colldef.apple/scan.l#6 edit
      
      Differences ...
      
      ==== //depot/projects/soc2008/konrad_collation/colldef.apple/scan.l#6 (text+ko) ====
      
      @@ -1,4 +1,4 @@
      -%x string s_name charmap defn nchar subs subs2 ldef elem
      +%x string s_name charmap defn nchar subs subs2 ldef elem order elem2
       %{
       /*-
        * Copyright (c) 1995 Alex Tatmanjants 
      @@ -59,9 +59,9 @@
       static int orderpass = 0;
       %}
       %%
      -[ \t]+      ;
      -\"		{ ptr = buf; BEGIN(string); }
      -\"		return EXPAND;
      +[ \t]+      ;
      +\"		{ ptr = buf; BEGIN(string); }
      +\"		return EXPAND;
       \<             {
       	if(localedefmode) {
       		ptrsave = ptr;
      @@ -75,21 +75,23 @@
       	}
       }
       \<                { ptr = buf; fromsubs = 1; BEGIN(s_name); }
      -[,;]		return *yytext;
      -forward	{ yylval.ch = DIRECTIVE_FORWARD; return ORDER_DIRECTIVE; }
      -backward	{ yylval.ch = DIRECTIVE_BACKWARD; return ORDER_DIRECTIVE; }
      -position	{ yylval.ch = DIRECTIVE_POSITION; return ORDER_DIRECTIVE; }
      +[,;]		return *yytext;
      +forward	{ yylval.ch = DIRECTIVE_FORWARD; return ORDER_DIRECTIVE; }
      +backward	{ yylval.ch = DIRECTIVE_BACKWARD; return ORDER_DIRECTIVE; }
      +position	{ yylval.ch = DIRECTIVE_POSITION; return ORDER_DIRECTIVE; }
       collating[-_]element	return COLLATING_ELEMENT;
       collating[-_]symbol	return COLLATING_SYMBOL;
       from		return FROM;
      -\.\.\.		return ELLIPSIS;
      -IGNORE		return IGNORE;
      -UNDEFINED		return UNDEFINED;
      -order[-_]start	return ORDER_START;
      -order[-_]end	{
      +\.\.\.	return ELLIPSIS;
      +IGNORE		return IGNORE;
      +UNDEFINED	return UNDEFINED;
      +order[-_]start	{ BEGIN(order); return ORDER_START; }
      +order[-_]end	{
       	char line[YY_BUF_SIZE];
      -	if (orderpass)
      +	if (orderpass) {
      +		BEGIN(ldef);
       		return ORDER_END;
      +	}
       	/* The first pass only defined the left-most symbol.  We reread the
       	 * order lines, and forward references should now be resolved. */
       	orderpass++;
      @@ -105,14 +107,16 @@
       		if (strstr(line, "order_start") != NULL)
       			break;
       	}
      +	BEGIN(order);
       	return ORDER_SECOND_PASS;
       }
       END[ \t]+LC_COLLATE return END_LC_COLLATE;
      -\n		{
      +\n		{
       	line_no++;
       	return '\n';
       }
      -\<                { ptr = buf; BEGIN(elem); }
      +\<		{ ptr = buf; BEGIN(elem); }
      +\<		{ ptr = buf; BEGIN(elem2); }
       \<             {
       	ptr = buf;
       	fromsubs = 0;
      @@ -213,13 +217,13 @@
       	BEGIN(nchar);
       	return DEFN;
       }
      -\/\/         {
      +\/\/         {
       	if(ptr >= buf + BUFSIZE - 1)
       		errx(EX_UNAVAILABLE, "name buffer overflow near line %u, character '/'",
       		     line_no);
       	*ptr++ = '/';
       }
      -\/\>         {
      +\/\>         {
       	if(ptr >= buf + BUFSIZE - 1)
       		errx(EX_UNAVAILABLE, "name buffer overflow near line %u, character '>'",
       		     line_no);
      @@ -240,6 +244,15 @@
       	BEGIN(ldef);
       	return ELEM;
       }
      +\>		{
      +	if (ptr == buf)
      +		errx(EX_UNAVAILABLE, "non-empty name expected near line %u",
      +		     line_no);
      +	*ptr = 0;
      +	wcscpy(yylval.str, buf);
      +	BEGIN(order);
      +	return ELEM;
      +}
       \>		{
       	struct symbol *s;
       
      @@ -287,7 +300,7 @@
       		BEGIN(subs2);
       	return STRING;
       }
      -.       {
      +.       {
       	const char *s = (map_fp != NULL) ? map_name : "input";
       
       	if (!isascii(*yytext) || !isprint(*yytext))
      @@ -340,7 +353,7 @@
       		     line_no);
       	*ptr++ = '\a';
       }
      -\n       {
      +\n       {
       	const char *s = (map_fp != NULL) ? map_name : "input";
       
       	if (charmap_cmdline)	
      @@ -348,7 +361,7 @@
       	errx(EX_UNAVAILABLE, "unterminated map/name/string near line %u of %s (ptr-buf=%d)",
       	    line_no, s, ptr - buf);
       }
      -<> {
      +<> {
       	const char *s = (map_fp != NULL) ? map_name : "input";
       
       	errx(EX_UNAVAILABLE, "premature EOF in the name/string/char near line %u of %s", line_no, s);
      
      From owner-p4-projects@FreeBSD.ORG  Sat Jul 19 05:26:49 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 31D3F1065679; Sat, 19 Jul 2008 05:26:49 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id E9AC61065673
      	for ; Sat, 19 Jul 2008 05:26:48 +0000 (UTC)
      	(envelope-from bilouro@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id CB8158FC0C
      	for ; Sat, 19 Jul 2008 05:26:48 +0000 (UTC)
      	(envelope-from bilouro@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6J5QmTT025620
      	for ; Sat, 19 Jul 2008 05:26:48 GMT
      	(envelope-from bilouro@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6J5QmZd025618
      	for perforce@freebsd.org; Sat, 19 Jul 2008 05:26:48 GMT
      	(envelope-from bilouro@FreeBSD.org)
      Date: Sat, 19 Jul 2008 05:26:48 GMT
      Message-Id: <200807190526.m6J5QmZd025618@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	bilouro@FreeBSD.org using -f
      From: Victor Hugo Bilouro 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145458 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 19 Jul 2008 05:26:49 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145458
      
      Change 145458 by bilouro@bilouro_tcptest on 2008/07/19 05:26:02
      
      	Adding assertReset method. (open)
      
      Affected files ...
      
      .. //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/tcptest.py#3 edit
      
      Differences ...
      
      ==== //depot/projects/soc2008/bilouro_tcptest/src/scripts/tests/tcptest.py#3 (text+ko) ====
      
      @@ -83,6 +83,34 @@
           assertExpectedSequence(self, tcb, tcp, from_, to)
       
       
      +def assertReset(self, tcb, tcp, from_, to):
      +    """
      +        RFC 793 - Section 3.4 Establishing a Connection
      +        Page 36
      +
      +        If the incoming segment has an ACK field, the reset takes its
      +        sequence number from the ACK field of the segment, otherwise the
      +        reset has sequence number zero and the ACK field is set to the sum
      +        of the sequence number and segment length of the incoming segment.
      +        The connection remains in the CLOSED state.
      +    """
      +    #it must be a reset
      +    self.failIf(tcp.rst <1, 'rst bit must be set') 
      +
      +    #"*If* the incoming segment has..."
      +    if (tcb.sequence[ to ] == Null or tcb.tcpsequence[ to ] <= 0):
      +        #the only moment a segment has no ack is at syn where 
      +        #we don't know the receiver sequence, in other words, we only get the 
      +        #receiver sequence number at the first segment received back(syn+ack of 
      +        #3way handshake)
      +        #Assuming that "incoming segment" has *NO* ACK Field we need assert that:
      +	#(1)has sequence number zero
      +	#(2)ACK field set to the sum of the sequence number and segment length
      +
      +    else: #(tcb.sequence[ to ] > 0):
      +        #Assuming that "incoming segment" has ACK Field we need assert that:
      +        #(1)sequence number set to the ACK sent
      + 
       def assertFin(self, tcp):
           """is fin flag on?
           """
      
      From owner-p4-projects@FreeBSD.ORG  Sat Jul 19 18:24:51 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 4F2E11065675; Sat, 19 Jul 2008 18:24:51 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 11630106564A
      	for ; Sat, 19 Jul 2008 18:24:51 +0000 (UTC)
      	(envelope-from ed@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id DD91B8FC15
      	for ; Sat, 19 Jul 2008 18:24:50 +0000 (UTC)
      	(envelope-from ed@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6JIOp12036013
      	for ; Sat, 19 Jul 2008 18:24:51 GMT
      	(envelope-from ed@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6JIOovE036011
      	for perforce@freebsd.org; Sat, 19 Jul 2008 18:24:50 GMT
      	(envelope-from ed@FreeBSD.org)
      Date: Sat, 19 Jul 2008 18:24:50 GMT
      Message-Id: <200807191824.m6JIOovE036011@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	ed@FreeBSD.org using -f
      From: Ed Schouten 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145476 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 19 Jul 2008 18:24:51 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145476
      
      Change 145476 by ed@ed_dull on 2008/07/19 18:24:09
      
      	Integrate the latest source, to do some performance benchmarks.
      
      Affected files ...
      
      .. //depot/projects/mpsafetty/bin/mv/mv.c#2 integrate
      .. //depot/projects/mpsafetty/bin/ps/ps.c#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/amd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/apmd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/bsnmpd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/bthidd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/devd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ftp-proxy#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ftpd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/hcsecd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/idmapd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/keyserv#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/lockd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/lpd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/mountd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/moused#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/nfsd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/nscd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ntpd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/powerd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/rpcbind#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/rtadvd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/rwho#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/sdpd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/sendmail#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/sshd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/statd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/timed#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ugidfw#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/watchdogd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ypbind#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/yppasswdd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ypserv#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ypset#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ypupdated#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.d/ypxfrd#2 integrate
      .. //depot/projects/mpsafetty/etc/rc.firewall#2 integrate
      .. //depot/projects/mpsafetty/lib/libc/gen/signal.3#2 integrate
      .. //depot/projects/mpsafetty/lib/libc/stdlib/malloc.c#2 integrate
      .. //depot/projects/mpsafetty/lib/msun/Makefile#2 integrate
      .. //depot/projects/mpsafetty/share/man/man9/Makefile#3 integrate
      .. //depot/projects/mpsafetty/share/man/man9/accept_filter.9#2 integrate
      .. //depot/projects/mpsafetty/share/man/man9/accf_data.9#2 integrate
      .. //depot/projects/mpsafetty/share/man/man9/accf_dns.9#1 branch
      .. //depot/projects/mpsafetty/share/mk/bsd.sys.mk#2 integrate
      .. //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#5 integrate
      .. //depot/projects/mpsafetty/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate
      .. //depot/projects/mpsafetty/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate
      .. //depot/projects/mpsafetty/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate
      .. //depot/projects/mpsafetty/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate
      .. //depot/projects/mpsafetty/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate
      .. //depot/projects/mpsafetty/sys/boot/forth/loader.conf#2 integrate
      .. //depot/projects/mpsafetty/sys/conf/NOTES#2 integrate
      .. //depot/projects/mpsafetty/sys/conf/files#2 integrate
      .. //depot/projects/mpsafetty/sys/conf/options#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/age/if_age.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_common.h#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/cxgb_adapter.h#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/cxgb_main.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/cxgb_osdep.h#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/cxgb_sge.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/jme/if_jme.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/mxge/if_mxge.c#2 integrate
      .. //depot/projects/mpsafetty/sys/dev/usb/ohci.c#2 integrate
      .. //depot/projects/mpsafetty/sys/geom/vinum/geom_vinum_rename.c#2 integrate
      .. //depot/projects/mpsafetty/sys/i386/i386/pmap.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/kern_exec.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/kern_intr.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/kern_timeout.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/sched_ule.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/subr_autoconf.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/subr_taskqueue.c#2 integrate
      .. //depot/projects/mpsafetty/sys/kern/subr_witness.c#2 integrate
      .. //depot/projects/mpsafetty/sys/modules/Makefile#2 integrate
      .. //depot/projects/mpsafetty/sys/modules/accf_dns/Makefile#1 branch
      .. //depot/projects/mpsafetty/sys/modules/cxgb/cxgb/Makefile#2 integrate
      .. //depot/projects/mpsafetty/sys/netinet/accf_dns.c#1 branch
      .. //depot/projects/mpsafetty/sys/netinet/raw_ip.c#2 integrate
      .. //depot/projects/mpsafetty/sys/sys/_task.h#2 integrate
      .. //depot/projects/mpsafetty/sys/sys/imgact.h#2 integrate
      .. //depot/projects/mpsafetty/sys/sys/interrupt.h#2 integrate
      .. //depot/projects/mpsafetty/sys/sys/taskqueue.h#2 integrate
      .. //depot/projects/mpsafetty/sys/vm/vm_kern.c#2 integrate
      .. //depot/projects/mpsafetty/usr.bin/gcore/elfcore.c#2 integrate
      .. //depot/projects/mpsafetty/usr.bin/yacc/skeleton.c#2 integrate
      .. //depot/projects/mpsafetty/usr.sbin/pw/pwupd.c#2 integrate
      .. //depot/projects/mpsafetty/usr.sbin/sysinstall/package.c#2 integrate
      
      Differences ...
      
      ==== //depot/projects/mpsafetty/bin/mv/mv.c#2 (text+ko) ====
      
      @@ -42,7 +42,7 @@
       #endif /* not lint */
       #endif
       #include 
      -__FBSDID("$FreeBSD: src/bin/mv/mv.c,v 1.50 2007/12/27 11:33:42 dds Exp $");
      +__FBSDID("$FreeBSD: src/bin/mv/mv.c,v 1.51 2008/07/19 00:13:26 delphij Exp $");
       
       #include 
       #include 
      @@ -70,10 +70,10 @@
       
       int fflg, iflg, nflg, vflg;
       
      -int	copy(char *, char *);
      -int	do_move(char *, char *);
      -int	fastcopy(char *, char *, struct stat *);
      -void	usage(void);
      +static int	copy(const char *, const char *);
      +static int	do_move(const char *, const char *);
      +static int	fastcopy(const char *, const char *, struct stat *);
      +static void	usage(void);
       
       int
       main(int argc, char *argv[])
      @@ -154,8 +154,8 @@
       	exit(rval);
       }
       
      -int
      -do_move(char *from, char *to)
      +static int
      +do_move(const char *from, const char *to)
       {
       	struct stat sb;
       	int ask, ch, first;
      @@ -254,8 +254,8 @@
       	    fastcopy(from, to, &sb) : copy(from, to));
       }
       
      -int
      -fastcopy(char *from, char *to, struct stat *sbp)
      +static int
      +fastcopy(const char *from, const char *to, struct stat *sbp)
       {
       	struct timeval tval[2];
       	static u_int blen;
      @@ -360,8 +360,8 @@
       	return (0);
       }
       
      -int
      -copy(char *from, char *to)
      +static int
      +copy(const char *from, const char *to)
       {
       	struct stat sb;
       	int pid, status;
      @@ -438,7 +438,7 @@
       	return (0);
       }
       
      -void
      +static void
       usage(void)
       {
       
      
      ==== //depot/projects/mpsafetty/bin/ps/ps.c#2 (text+ko) ====
      
      @@ -47,7 +47,7 @@
       #endif
       
       #include 
      -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.113 2007/11/08 22:31:28 jhb Exp $");
      +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.114 2008/07/18 14:55:22 kevlo Exp $");
       
       #include 
       #include 
      @@ -213,7 +213,7 @@
       	init_list(&uidlist, addelem_uid, sizeof(uid_t), "user");
       	memf = nlistf = _PATH_DEVNULL;
       	while ((ch = getopt(argc, argv, PS_ARGS)) != -1)
      -		switch ((char)ch) {
      +		switch (ch) {
       		case 'A':
       			/*
       			 * Exactly the same as `-ax'.   This has been
      
      ==== //depot/projects/mpsafetty/etc/rc.d/amd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/amd,v 1.21 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/amd,v 1.22 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: amd
       # REQUIRE: rpcbind ypbind nfsclient cleanvar ldconfig
       # BEFORE: DAEMON
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/apmd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/apmd,v 1.13 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/apmd,v 1.14 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: apmd
       # REQUIRE: DAEMON apm
       # BEFORE:  LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/bsnmpd#2 (text+ko) ====
      
      @@ -1,11 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/bsnmpd,v 1.1 2005/04/17 10:47:58 glebius Exp $
      +# $FreeBSD: src/etc/rc.d/bsnmpd,v 1.2 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: bsnmpd
       # REQUIRE: NETWORKING syslogd
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/bthidd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/bthidd,v 1.1 2006/09/07 22:25:08 emax Exp $
      +# $FreeBSD: src/etc/rc.d/bthidd,v 1.2 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: bthidd
       # REQUIRE: DAEMON hcsecd
       # BEFORE: LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/devd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/devd,v 1.10 2006/09/21 14:29:32 brooks Exp $
      +# $FreeBSD: src/etc/rc.d/devd,v 1.11 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: devd
       # REQUIRE: netif network_ipv6
       # BEFORE: NETWORKING mountcritremote
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ftp-proxy#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ftp-proxy,v 1.2 2007/12/08 22:27:18 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/ftp-proxy,v 1.3 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ftp-proxy
       # REQUIRE: DAEMON pf
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ftpd#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ftpd,v 1.1 2006/01/21 18:08:15 yar Exp $
      +# $FreeBSD: src/etc/rc.d/ftpd,v 1.2 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ftpd
       # REQUIRE: LOGIN cleanvar
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/hcsecd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/hcsecd,v 1.5 2006/12/31 10:37:18 yar Exp $
      +# $FreeBSD: src/etc/rc.d/hcsecd,v 1.6 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: hcsecd
       # REQUIRE: DAEMON
       # BEFORE: LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/idmapd#2 (text+ko) ====
      
      @@ -1,11 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/idmapd,v 1.1 2006/10/15 14:19:06 ceri Exp $
      +# $FreeBSD: src/etc/rc.d/idmapd,v 1.2 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: idmapd
       # REQUIRE: rpcbind
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/keyserv#2 (text+ko) ====
      
      @@ -1,6 +1,6 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/keyserv,v 1.4 2007/12/08 22:27:18 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/keyserv,v 1.5 2008/07/16 19:50:29 dougb Exp $
       #
       
       # Start keyserv if we are running Secure RPC
      @@ -8,6 +8,7 @@
       # PROVIDE: keyserv
       # REQUIRE: ypbind
       # BEFORE: DAEMON
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/lockd#2 (text+ko) ====
      
      @@ -1,13 +1,13 @@
       #!/bin/sh
       #
       # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm
      -# $FreeBSD: src/etc/rc.d/lockd,v 1.21 2008/06/27 15:45:17 mtm Exp $
      +# $FreeBSD: src/etc/rc.d/lockd,v 1.22 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: lockd
       # REQUIRE: nfsserver nfsclient nfsd rpcbind statd
       # BEFORE:  DAEMON
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/lpd#2 (text+ko) ====
      
      @@ -1,11 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/lpd,v 1.9 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/lpd,v 1.10 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: lpd
       # REQUIRE: DAEMON
       # BEFORE:  LOGIN
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/mountd#2 (text+ko) ====
      
      @@ -1,11 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/mountd,v 1.20 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/mountd,v 1.21 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: mountd
       # REQUIRE: NETWORKING nfsserver rpcbind quota
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/moused#2 (text+ko) ====
      
      @@ -1,11 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/moused,v 1.13 2008/06/23 04:46:54 mtm Exp $
      +# $FreeBSD: src/etc/rc.d/moused,v 1.14 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: moused
       # REQUIRE: DAEMON cleanvar
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/nfsd#2 (text+ko) ====
      
      @@ -1,11 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/nfsd,v 1.14 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/nfsd,v 1.15 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: nfsd
       # REQUIRE: mountd
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/nscd#2 (text+ko) ====
      
      @@ -1,11 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/nscd,v 1.6 2007/09/28 10:38:08 bushman Exp $
      +# $FreeBSD: src/etc/rc.d/nscd,v 1.7 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: nscd
       # REQUIRE: DAEMON
       # BEFORE: LOGIN
      +# KEYWORD: shutdown
       
       #
       # Add the following lines to /etc/rc.conf to enable nscd:
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ntpd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ntpd,v 1.14 2008/05/12 11:49:16 flz Exp $
      +# $FreeBSD: src/etc/rc.d/ntpd,v 1.15 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ntpd
       # REQUIRE: DAEMON ntpdate cleanvar devfs
       # BEFORE:  LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/powerd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/powerd,v 1.4 2006/08/27 11:04:39 cperciva Exp $
      +# $FreeBSD: src/etc/rc.d/powerd,v 1.5 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: powerd
       # REQUIRE: DAEMON
       # BEFORE: LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/rpcbind#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/rpcbind,v 1.13 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/rpcbind,v 1.14 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: rpcbind
       # REQUIRE: NETWORKING ntpdate syslogd named
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/rtadvd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/rtadvd,v 1.11 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/rtadvd,v 1.12 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: rtadvd
       # REQUIRE: DAEMON
       # BEFORE:  LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/rwho#2 (text+ko) ====
      
      @@ -1,11 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/rwho,v 1.5 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/rwho,v 1.6 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: rwho
       # REQUIRE: DAEMON
       # BEFORE:  LOGIN
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/sdpd#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/sdpd,v 1.5 2006/12/31 10:37:18 yar Exp $
      +# $FreeBSD: src/etc/rc.d/sdpd,v 1.6 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: sdpd
       # REQUIRE: DAEMON
       # BEFORE: LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/sendmail#2 (text+ko) ====
      
      @@ -1,12 +1,13 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/sendmail,v 1.18 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/sendmail,v 1.19 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: mail
       # REQUIRE: LOGIN cleanvar
       #	we make mail start late, so that things like .forward's are not
       #	processed until the system is fully operational
      +# KEYWORD: shutdown
       
       # XXX - Get together with sendmail mantainer to figure out how to
       #	better handle SENDMAIL_ENABLE and 3rd party MTAs.
      
      ==== //depot/projects/mpsafetty/etc/rc.d/sshd#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/sshd,v 1.13 2007/12/08 07:20:22 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/sshd,v 1.14 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: sshd
       # REQUIRE: LOGIN cleanvar
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/statd#2 (text+ko) ====
      
      @@ -1,13 +1,13 @@
       #!/bin/sh
       #
       # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp
      -# $FreeBSD: src/etc/rc.d/statd,v 1.20 2008/06/27 15:45:17 mtm Exp $
      +# $FreeBSD: src/etc/rc.d/statd,v 1.21 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: statd
       # REQUIRE: nfsserver nfsclient nfsd rpcbind
       # BEFORE:  DAEMON
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/timed#2 (text+ko) ====
      
      @@ -1,12 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/timed,v 1.6 2007/12/08 07:20:23 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/timed,v 1.7 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: timed
       # REQUIRE: DAEMON
       # BEFORE:  LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ugidfw#2 (text+ko) ====
      
      @@ -1,10 +1,10 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ugidfw,v 1.6 2007/12/08 22:26:30 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/ugidfw,v 1.7 2008/07/16 19:50:29 dougb Exp $
       
       # PROVIDE: ugidfw
       # BEFORE: LOGIN
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/watchdogd#2 (text+ko) ====
      
      @@ -24,12 +24,12 @@
       # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
       # SUCH DAMAGE.
       #
      -# $FreeBSD: src/etc/rc.d/watchdogd,v 1.5 2005/01/16 03:12:03 obrien Exp $
      +# $FreeBSD: src/etc/rc.d/watchdogd,v 1.6 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: watchdogd
       # REQUIRE: DAEMON cleanvar
      -# KEYWORD: nojail
      +# KEYWORD: nojail shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ypbind#2 (text+ko) ====
      
      @@ -1,11 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ypbind,v 1.11 2007/12/08 07:20:23 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/ypbind,v 1.12 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ypbind
       # REQUIRE: ypserv
       # BEFORE:  DAEMON
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/yppasswdd#2 (text+ko) ====
      
      @@ -1,11 +1,12 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/yppasswdd,v 1.12 2007/12/08 07:20:23 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/yppasswdd,v 1.13 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: yppasswdd
       # REQUIRE: ypserv ypbind
       # BEFORE:  LOGIN
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ypserv#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ypserv,v 1.13 2007/12/08 07:20:23 dougb Exp $
      +# $FreeBSD: src/etc/rc.d/ypserv,v 1.14 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ypserv
       # REQUIRE: rpcbind
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ypset#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ypset,v 1.7 2006/12/30 22:53:20 yar Exp $
      +# $FreeBSD: src/etc/rc.d/ypset,v 1.8 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ypset
       # REQUIRE: ypbind
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ypupdated#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ypupdated,v 1.6 2006/12/30 22:53:20 yar Exp $
      +# $FreeBSD: src/etc/rc.d/ypupdated,v 1.7 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ypupdated
       # REQUIRE: rpcbind ypserv
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.d/ypxfrd#2 (text+ko) ====
      
      @@ -1,10 +1,11 @@
       #!/bin/sh
       #
      -# $FreeBSD: src/etc/rc.d/ypxfrd,v 1.8 2006/12/30 22:53:20 yar Exp $
      +# $FreeBSD: src/etc/rc.d/ypxfrd,v 1.9 2008/07/16 19:50:29 dougb Exp $
       #
       
       # PROVIDE: ypxfrd
       # REQUIRE: rpcbind ypserv
      +# KEYWORD: shutdown
       
       . /etc/rc.subr
       
      
      ==== //depot/projects/mpsafetty/etc/rc.firewall#2 (text+ko) ====
      
      @@ -23,7 +23,7 @@
       # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
       # SUCH DAMAGE.
       #
      -# $FreeBSD: src/etc/rc.firewall,v 1.55 2008/06/06 07:17:04 keramida Exp $
      +# $FreeBSD: src/etc/rc.firewall,v 1.56 2008/07/17 20:00:18 danger Exp $
       #
       
       #
      @@ -194,6 +194,7 @@
       	${fwcmd} add deny tcp from any to any setup
       
       	# Allow DNS queries out in the world
      +	${fwcmd} add pass tcp from me to any 53 setup keep-state
       	${fwcmd} add pass udp from me to any 53 keep-state
       
       	# Allow NTP queries out in the world
      @@ -294,6 +295,7 @@
       	${fwcmd} add pass tcp from any to any setup
       
       	# Allow DNS queries out in the world
      +	${fwcmd} add pass tcp from ${oip} to any 53 setup keep-state
       	${fwcmd} add pass udp from ${oip} to any 53 keep-state
       
       	# Allow NTP queries out in the world
      
      ==== //depot/projects/mpsafetty/lib/libc/gen/signal.3#2 (text+ko) ====
      
      @@ -26,7 +26,7 @@
       .\" SUCH DAMAGE.
       .\"
       .\"     @(#)signal.3	8.3 (Berkeley) 4/19/94
      -.\" $FreeBSD: src/lib/libc/gen/signal.3,v 1.42 2007/01/09 00:27:55 imp Exp $
      +.\" $FreeBSD: src/lib/libc/gen/signal.3,v 1.43 2008/07/17 21:54:23 simon Exp $
       .\"
       .Dd June 7, 2004
       .Dt SIGNAL 3
      @@ -181,10 +181,12 @@
       For some system calls, if a signal is caught while the call is
       executing and the call is prematurely terminated,
       the call is automatically restarted.
      -(The handler is installed using the
      +Any handler installed with
      +.Xr signal 3
      +will have the
       .Dv SA_RESTART
      -flag with
      -.Xr sigaction 2 . )
      +flag set, meaning that any restartable system call will not return on
      +receipt of a signal.
       The affected system calls include
       .Xr read 2 ,
       .Xr write 2 ,
      
      ==== //depot/projects/mpsafetty/lib/libc/stdlib/malloc.c#2 (text+ko) ====
      
      @@ -70,9 +70,9 @@
        *   |                           |    8 kB |
        *   |                           |   12 kB |
        *   |                           |     ... |
      - *   |                           | 1008 kB |
        *   |                           | 1012 kB |
        *   |                           | 1016 kB |
      + *   |                           | 1020 kB |
        *   |=====================================|
        *   | Huge                      |    1 MB |
        *   |                           |    2 MB |
      @@ -128,7 +128,7 @@
       #define	MALLOC_DSS
       
       #include 
      -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.172 2008/06/10 15:46:18 jasone Exp $");
      +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.173 2008/07/18 19:35:44 jasone Exp $");
       
       #include "libc_private.h"
       #ifdef MALLOC_DEBUG
      @@ -292,11 +292,7 @@
       #define	RUN_MAX_OVRHD		0x0000003dU
       #define	RUN_MAX_OVRHD_RELAX	0x00001800U
       
      -/*
      - * Put a cap on small object run size.  This overrides RUN_MAX_OVRHD.  Note
      - * that small runs must be small enough that page offsets can fit within the
      - * CHUNK_MAP_POS_MASK bits.
      - */
      +/* Put a cap on small object run size.  This overrides RUN_MAX_OVRHD. */
       #define	RUN_MAX_SMALL_2POW	15
       #define	RUN_MAX_SMALL		(1U << RUN_MAX_SMALL_2POW)
       
      @@ -444,8 +440,10 @@
       /* Tree of extents. */
       typedef struct extent_node_s extent_node_t;
       struct extent_node_s {
      +#ifdef MALLOC_DSS
       	/* Linkage for the size/address-ordered tree. */
       	rb_node(extent_node_t) link_szad;
      +#endif
       
       	/* Linkage for the address-ordered tree. */
       	rb_node(extent_node_t) link_ad;
      @@ -466,15 +464,67 @@
       typedef struct arena_s arena_t;
       typedef struct arena_bin_s arena_bin_t;
       
      -/*
      - * Each map element contains several flags, plus page position for runs that
      - * service small allocations.
      - */
      -typedef uint8_t arena_chunk_map_t;
      -#define	CHUNK_MAP_UNTOUCHED	0x80U
      -#define	CHUNK_MAP_DIRTY		0x40U
      -#define	CHUNK_MAP_LARGE		0x20U
      -#define	CHUNK_MAP_POS_MASK	0x1fU
      +/* Each element of the chunk map corresponds to one page within the chunk. */
      +typedef struct arena_chunk_map_s arena_chunk_map_t;
      +struct arena_chunk_map_s {
      +	/*
      +	 * Linkage for run trees.  There are two disjoint uses:
      +	 *
      +	 * 1) arena_t's runs_avail tree.
      +	 * 2) arena_run_t conceptually uses this linkage for in-use non-full
      +	 *    runs, rather than directly embedding linkage.
      +	 */
      +	rb_node(arena_chunk_map_t)	link;
      +
      +	/*
      +	 * Run address (or size) and various flags are stored together.  The bit
      +	 * layout looks like (assuming 32-bit system):
      +	 *
      +	 *   ???????? ???????? ????---- ---kdzla
      +	 *
      +	 * ? : Unallocated: Run address for first/last pages, unset for internal
      +	 *                  pages.
      +	 *     Small: Run address.
      +	 *     Large: Run size for first page, unset for trailing pages.
      +	 * - : Unused.
      +	 * k : key?
      +	 * d : dirty?
      +	 * z : zeroed?
      +	 * l : large?
      +	 * a : allocated?
      +	 *
      +	 * Following are example bit patterns for the three types of runs.
      +	 *
      +	 * r : run address
      +	 * s : run size
      +	 * x : don't care
      +	 * - : 0
      +	 * [dzla] : bit set
      +	 *
      +	 *   Unallocated:
      +	 *     ssssssss ssssssss ssss---- --------
      +	 *     xxxxxxxx xxxxxxxx xxxx---- ----d---
      +	 *     ssssssss ssssssss ssss---- -----z--
      +	 *
      +	 *   Small:
      +	 *     rrrrrrrr rrrrrrrr rrrr---- -------a
      +	 *     rrrrrrrr rrrrrrrr rrrr---- -------a
      +	 *     rrrrrrrr rrrrrrrr rrrr---- -------a
      +	 *
      +	 *   Large:
      +	 *     ssssssss ssssssss ssss---- ------la
      +	 *     -------- -------- -------- ------la
      +	 *     -------- -------- -------- ------la
      +	 */
      +	size_t				bits;
      +#define	CHUNK_MAP_KEY		((size_t)0x10U)
      +#define	CHUNK_MAP_DIRTY		((size_t)0x08U)
      +#define	CHUNK_MAP_ZEROED	((size_t)0x04U)
      +#define	CHUNK_MAP_LARGE		((size_t)0x02U)
      +#define	CHUNK_MAP_ALLOCATED	((size_t)0x01U)
      +};
      +typedef rb_tree(arena_chunk_map_t) arena_avail_tree_t;
      +typedef rb_tree(arena_chunk_map_t) arena_run_tree_t;
       
       /* Arena chunk header. */
       typedef struct arena_chunk_s arena_chunk_t;
      @@ -482,42 +532,19 @@
       	/* Arena that owns the chunk. */
       	arena_t		*arena;
       
      -	/* Linkage for the arena's chunks_all tree. */
      -	rb_node(arena_chunk_t) link_all;
      -
       	/* Linkage for the arena's chunks_dirty tree. */
       	rb_node(arena_chunk_t) link_dirty;
       
      -	/*
      -	 * Number of pages in use.  This is maintained in order to make
      -	 * detection of empty chunks fast.
      -	 */
      -	size_t		pages_used;
      -
       	/* Number of dirty pages. */
       	size_t		ndirty;
       
      -	/*
      -	 * Tree of extent nodes that are embedded in the arena chunk header
      -	 * page(s).  These nodes are used by arena_chunk_node_alloc().
      -	 */
      -	extent_tree_t	nodes;
      -	extent_node_t	*nodes_past;
      -
      -	/*
      -	 * Map of pages within chunk that keeps track of free/large/small.  For
      -	 * free runs, only the map entries for the first and last pages are
      -	 * kept up to date, so that free runs can be quickly coalesced.
      -	 */
      +	/* Map of pages within chunk that keeps track of free/large/small. */
       	arena_chunk_map_t map[1]; /* Dynamically sized. */
       };
       typedef rb_tree(arena_chunk_t) arena_chunk_tree_t;
       
       typedef struct arena_run_s arena_run_t;
       struct arena_run_s {
      -	/* Linkage for run trees. */
      
      >>> TRUNCATED FOR MAIL (1000 lines) <<<
      
      From owner-p4-projects@FreeBSD.ORG  Sat Jul 19 21:25:58 2008
      Return-Path: 
      Delivered-To: p4-projects@freebsd.org
      Received: by hub.freebsd.org (Postfix, from userid 32767)
      	id 892DD1065682; Sat, 19 Jul 2008 21:25:58 +0000 (UTC)
      Delivered-To: perforce@FreeBSD.org
      Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
      	by hub.freebsd.org (Postfix) with ESMTP id 4CBB8106567D
      	for ; Sat, 19 Jul 2008 21:25:58 +0000 (UTC)
      	(envelope-from pgj@FreeBSD.org)
      Received: from repoman.freebsd.org (repoman.freebsd.org
      	[IPv6:2001:4f8:fff6::29])
      	by mx1.freebsd.org (Postfix) with ESMTP id 37CC38FC1D
      	for ; Sat, 19 Jul 2008 21:25:58 +0000 (UTC)
      	(envelope-from pgj@FreeBSD.org)
      Received: from repoman.freebsd.org (localhost [127.0.0.1])
      	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6JLPwBE063884
      	for ; Sat, 19 Jul 2008 21:25:58 GMT
      	(envelope-from pgj@FreeBSD.org)
      Received: (from perforce@localhost)
      	by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6JLPwo8063882
      	for perforce@freebsd.org; Sat, 19 Jul 2008 21:25:58 GMT
      	(envelope-from pgj@FreeBSD.org)
      Date: Sat, 19 Jul 2008 21:25:58 GMT
      Message-Id: <200807192125.m6JLPwo8063882@repoman.freebsd.org>
      X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
      	pgj@FreeBSD.org using -f
      From: Gabor Pali 
      To: Perforce Change Reviews 
      Cc: 
      Subject: PERFORCE change 145482 for review
      X-BeenThere: p4-projects@freebsd.org
      X-Mailman-Version: 2.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, 19 Jul 2008 21:25:58 -0000
      
      http://perforce.freebsd.org/chv.cgi?CH=145482
      
      Change 145482 by pgj@disznohal on 2008/07/19 21:25:52
      
      	Revert the translation of "Features" back to original.
      
      Affected files ...
      
      .. //depot/projects/docproj_hu/www/hu/search/site.map#7 edit
      .. //depot/projects/docproj_hu/www/hu/search/web.atoz#7 edit
      .. //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#8 edit
      
      Differences ...
      
      ==== //depot/projects/docproj_hu/www/hu/search/site.map#7 (text+ko) ====
      
      @@ -28,7 +28,7 @@
       
       
       |Bemutatkozunk
      -&base;/features.html|Képességek
      +&base;/features.html|Adottságok
       &enbase;/releases/index.html|Kiadások
       &enbase;/doc/hu/books/handbook/install.html|Telepítés
       &u.rel.hardware;|Támogatott eszközök
      
      ==== //depot/projects/docproj_hu/www/hu/search/web.atoz#7 (text+ko) ====
      
      @@ -164,7 +164,7 @@
       Eljövendõ események|&enbase;/events/events.html#upcoming
       
       # features.sgml
      -Képességek|&base;/features.html
      +Adottságok|&base;/features.html
       4.4BSD, egy teljes operációs rendszer|&base;/features.html
       Berkeley, University of California|&base;/features.html
       UCB|&base;/features.html
      
      ==== //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#8 (text+ko) ====
      
      @@ -15,7 +15,7 @@
       
         
      • Bemutatkozunk
      • -
      • Képességek
      • +
      • Adottságok
      • Alkalmazások
      • Hálózatkezelés
      • Képviselet
      • From owner-p4-projects@FreeBSD.ORG Sat Jul 19 22:01:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 73A5B1065673; Sat, 19 Jul 2008 22:01:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 399E91065671 for ; Sat, 19 Jul 2008 22:01:39 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D9698FC14 for ; Sat, 19 Jul 2008 22:01:39 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6JM1dNA067011 for ; Sat, 19 Jul 2008 22:01:39 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6JM1c0t067009 for perforce@freebsd.org; Sat, 19 Jul 2008 22:01:38 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 19 Jul 2008 22:01:38 GMT Message-Id: <200807192201.m6JM1c0t067009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 145483 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 19 Jul 2008 22:01:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=145483 Change 145483 by pgj@disznohal on 2008/07/19 22:01:33 Small grammar fixes in the Handbook translation Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#8 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#8 (text+ko) ==== @@ -1425,7 +1425,7 @@ egy vezeték nélküli hálózati kártyát. Miután elsajátítottuk az itt szereplõ - ismereteket, határozattan javasoljuk, hogy a + ismereteket, határozottan javasoljuk, hogy a vezeték nélküli hálózatunkat WPA ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#4 (text+ko) ==== @@ -1241,7 +1241,7 @@ mûködésében. A Syslogd közvetlenül - is támadható, ezért határozattan + is támadható, ezért határozottan javasoljuk a használatát, amikor csak lehet, minden más esetben pedig a beállítást.