From pgj at FreeBSD.org Fri May 1 07:06:55 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Fri May 1 07:07:01 2009
Subject: PERFORCE change 161416 for review
Message-ID: <200905010706.n4176sqA075900@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161416
Change 161416 by pgj@petymeg on 2009/05/01 07:05:55
MFen (www):
1.23 -> 1.24 hu/administration.sgml
Affected files ...
.. //depot/projects/docproj_hu/www/hu/administration.sgml#16 edit
Differences ...
==== //depot/projects/docproj_hu/www/hu/administration.sgml#16 (text+ko) ====
@@ -9,7 +9,7 @@
From pgj at FreeBSD.org Fri May 1 07:07:56 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Fri May 1 07:08:02 2009
Subject: PERFORCE change 161417 for review
Message-ID: <200905010707.n4177tCs075965@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161417
Change 161417 by pgj@petymeg on 2009/05/01 07:06:54
IFC
Affected files ...
.. //depot/projects/docproj_hu/doc/share/sgml/man-refs.ent#17 integrate
.. //depot/projects/docproj_hu/www/en/administration.sgml#6 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/Makefile#3 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/announce.sgml#1 branch
.. //depot/projects/docproj_hu/www/en/releases/7.2R/errata.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/7.2R/hardware.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/7.2R/readme.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/7.2R/relnotes-detailed.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/7.2R/relnotes.sgml#1 branch
.. //depot/projects/docproj_hu/www/hu/platforms/sparc.sgml#13 integrate
.. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#19 integrate
.. //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#11 integrate
.. //depot/projects/docproj_hu/www/share/sgml/usergroups.xml#7 integrate
Differences ...
==== //depot/projects/docproj_hu/doc/share/sgml/man-refs.ent#17 (text+ko) ====
@@ -20,7 +20,7 @@
lexicographical order by the entity (i.e., the dots used in place of
special characters should not be expanded when comparing).
- $FreeBSD: doc/share/sgml/man-refs.ent,v 1.484 2009/04/27 21:45:44 hrs Exp $
+ $FreeBSD: doc/share/sgml/man-refs.ent,v 1.485 2009/04/29 15:13:21 hrs Exp $
-->
@@ -3753,6 +3753,7 @@
+
==== //depot/projects/docproj_hu/www/en/administration.sgml#6 (text+ko) ====
@@ -1,5 +1,5 @@
+
%developers;
@@ -440,7 +440,7 @@
distributed work and communication to be synchronised. It
consists mainly of those people who have physical access to the servers.
Issues concerning the projects infrastructure or setting up new
- machines should be directed to the cluster admnistrators.
+ machines should be directed to the cluster administrators.
==== //depot/projects/docproj_hu/www/en/releases/7.2R/Makefile#3 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: www/en/releases/7.2R/Makefile,v 1.3 2009/04/10 13:07:15 blackend Exp $
+# $FreeBSD: www/en/releases/7.2R/Makefile,v 1.5 2009/04/29 18:01:34 hrs Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
@@ -7,6 +7,12 @@
.include "../Makefile.inc"
.endif
-DOCS= schedule.sgml
+DOCS= announce.sgml relnotes.sgml schedule.sgml
+
+DATA= docbook.css
+DATA+= errata.html
+DATA+= hardware.html
+DATA+= readme.html
+DATA+= relnotes-detailed.html
.include "${WEB_PREFIX}/share/mk/web.site.mk"
==== //depot/projects/docproj_hu/www/hu/platforms/sparc.sgml#13 (text+ko) ====
@@ -1,6 +1,6 @@
-
+
==== //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#19 (text+ko) ====
@@ -11,7 +11,7 @@
- $FreeBSD: www/hu/share/sgml/news.xml,v 1.4 2009/04/22 11:04:02 pgj Exp $
+ $FreeBSD: www/hu/share/sgml/news.xml,v 1.5 2009/04/28 11:27:48 pgj Exp $
==== //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#11 (text+ko) ====
@@ -1,12 +1,12 @@
-
+
- $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.44 2009/03/25 18:47:28 jkois Exp $
+ $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.45 2009/04/28 17:00:15 jkois Exp $
@@ -99,6 +99,16 @@
+
+ BSD Virtual Machines
+ http://bsdvm.com
+
+ Our company offers virtual private servers on the most stable in the world
+ BSD platform. This includes operating systems from BSD family such as
+ FreeBSD, OpenBSD and NetBSD.
+
+
+
DBI Hostinghttp://www.dbihosting.com
==== //depot/projects/docproj_hu/www/share/sgml/usergroups.xml#7 (text+ko) ====
@@ -5,7 +5,7 @@
- $FreeBSD: www/share/sgml/usergroups.xml,v 1.77 2009/03/16 19:20:46 delphij Exp $
+ $FreeBSD: www/share/sgml/usergroups.xml,v 1.78 2009/04/30 06:24:53 murray Exp $
@@ -1057,7 +1057,7 @@
http://www.kbug.gr.jpThe Kansai *BSD Users Group was established on
November 13, 1999. It is expected to promote communication of
- any of the BSD variants' users. Some of its activitities are to
+ any of the BSD variants' users. Some of its activities are to
hold friendly parties of the members, and to hold seminars
covering wide variety of topics. Please e-mail here (kbug-admin@kbug.gr.jp).
From pgj at FreeBSD.org Fri May 1 07:41:30 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Fri May 1 07:41:36 2009
Subject: PERFORCE change 161418 for review
Message-ID: <200905010741.n417fTnO078497@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161418
Change 161418 by pgj@petymeg on 2009/05/01 07:41:11
MFen (doc):
1.197 -> 1.198 hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml
1.67 -> 1.68 hu_HU.ISO8859-2/share/sgml/mailing-lists.ent
Affected files ...
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#24 edit
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#23 edit
Differences ...
==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#24 (text+ko) ====
@@ -7,7 +7,7 @@
@@ -377,6 +377,13 @@
+ &a.gecko.name;
+ A Gecko Rendering Engine
+ alkalmazásával kapcsolatos
+ problémák
+
+
+ &a.geom.name;A GEOM-hoz tartozó témák
és implementációk
@@ -1512,6 +1519,26 @@
+ &a.gecko.name;
+
+
+ Gecko Rendering Engine
+
+ Ezen a levelezési listán a
+ Gecko &os; rendszerekre portolt
+ változatával kapcsolatos fórumot
+ találjuk.
+
+ Az itt felmerülõ témák
+ többségükben a Gecko alapú
+ alkalmazásokról,
+ telepítésükrõl, és a &os;
+ alatti fejlesztésükrõl,
+ támogatásukról szólnak.
+
+
+
+ &a.geom.name;
==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#23 (text+ko) ====
@@ -7,7 +7,7 @@
@@ -185,6 +185,10 @@
FreeBSD file system project levelezési lista">
freebsd-fs">
+
+FreeBSD Gecko levelezési lista">
+freebsd-gecko">
+
FreeBSD GEOM levelezési lista">
freebsd-geom">
From hselasky at FreeBSD.org Fri May 1 07:53:42 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Fri May 1 07:53:49 2009
Subject: PERFORCE change 161419 for review
Message-ID: <200905010753.n417rflt079384@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161419
Change 161419 by hselasky@hselasky_laptop001 on 2009/05/01 07:52:56
USB controller: Add more debugging printouts.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#17 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#17 (text+ko) ====
@@ -2028,6 +2028,8 @@
len = EHCI_SITD_GET_LEN(status);
+ DPRINTFN(2, "status=0x%08x, rem=%u\n", status, len);
+
if (*plen >= len) {
len = *plen - len;
} else {
@@ -2081,6 +2083,8 @@
len = EHCI_ITD_GET_LEN(status);
+ DPRINTFN(2, "status=0x%08x, len=%u\n", status, len);
+
if (*plen >= len) {
/*
* The length is valid. NOTE: The complete
From trasz at FreeBSD.org Fri May 1 08:12:02 2009
From: trasz at FreeBSD.org (Edward Tomasz Napierala)
Date: Fri May 1 08:12:08 2009
Subject: PERFORCE change 161421 for review
Message-ID: <200905010812.n418C0Rb081719@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161421
Change 161421 by trasz@trasz_victim on 2009/05/01 08:11:47
Fix fstest. All test pass on ZFS again. Not so under UFS - something
got broken during integration.
Affected files ...
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/fstest.c#6 edit
Differences ...
==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/fstest.c#6 (text+ko) ====
@@ -78,7 +78,7 @@
ACTION_TRUNCATE,
ACTION_STAT,
ACTION_LSTAT,
- ACTION_PATHCONF
+ ACTION_PATHCONF,
#ifdef HAS_FREEBSD_ACL
ACTION_PREPENDACL,
ACTION_READACL,
From pgj at FreeBSD.org Fri May 1 08:14:04 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Fri May 1 08:14:11 2009
Subject: PERFORCE change 161422 for review
Message-ID: <200905010814.n418E21s081845@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161422
Change 161422 by pgj@petymeg on 2009/05/01 08:13:44
MFen (doc):
1.190 -> 1.191 hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml
Affected files ...
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#10 edit
Differences ...
==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#10 (text+ko) ====
@@ -7,7 +7,7 @@
@@ -588,10 +588,37 @@
&prompt.user; startx
- Amennyiben ez nem mûködne, vagy az
- alapértelmezések nem felelnek meg
- számunkra, az X11 kézzel is
- beállítható.
+ A &xorg; 7.4
+ verziójától kezdõdõen a
+ számítógépünkhöz
+ csatlakoztatott egerek és billentyûzetek
+ HAL segítségével
+ automatikusan felismerhetõek. Ennek megfelelõen a
+ x11/xorg port
+ függõségeként telepítõdni
+ fognak a sysutils/hal
+ és devel/dbus portok,
+ viszont az /etc/rc.conf
+ állományban a következõ sorok
+ hozzáadásával külön
+ engedélyeznünk kell még ezeket:
+
+ hald_enable="YES"
+dbus_enable="YES"
+
+ Ezeket a szolgáltatásokat még az
+ &xorg;
+ beállítása elõtt el kell
+ indítanunk (a parancssorból manuálisan vagy
+ a rendszer újraindításával).
+
+ Bizonyos hardvereszközök esetén az
+ automatikus felismerés még nem mûködik
+ megbízhatóan vagy nem jól
+ állítja be az értékeket. Ilyen
+ esetekben kézzel kell megadnunk a szükséges
+ beállításokat.A különbözõ munkakörnyezetek,
@@ -645,11 +672,25 @@
ellenõrizhetjük, hogy az
&xorg; tényleg képes
mûködni a célrendszer grafikus
- eszközén. Ehhez a következõt kell
- begépelnünk:
+ eszközén. Az &xorg; 7.3
+ és azt megelõzõ változataiban ezt
+ így tehetjük meg:
&prompt.root; Xorg -config xorg.conf.new
+ A &xorg; 7.4 és
+ késõbbi változataiban a próba
+ eredménye egy fekete képernyõ lesz, amely
+ meglehetõsen megnehezítheti az X11 helyes
+ mûködésének
+ megállapítását. A
+ kapcsoló
+ használatával azonban továbbra is
+ elérhetjük a korábbi verziókban
+ megszokott viselkedési módot:
+
+ &prompt.root; Xorg -config xorg.conf.new -retro
+
Ha ezután a képernyõn egy
fekete-fehér rácsot látunk egy X alakú
egérmutatóval a közepén, akkor
@@ -660,14 +701,48 @@
szakíthatjuk meg.
- Ha az egér még nem mûködne,
- mindenképpen be kell állítanunk a
- továbblépés elõtt. Ezzel
- kapcsolatban a &os; telepítésérõl
- szóló fejezetben levõ t ajánljuk elolvasásra.
+ Az &xorg; 7.3 és
+ korábbi változataiban ez a
+ billentyûkombináció
+ alapértelmezés szerint engedélyezett.
+ Amennyiben továbbra is szükségünk
+ lenne rá, a 7.4 és késõbbi
+ változatokban ezt úgy tudjuk
+ engedélyezni, ha a konfigurációs
+ állomány ServerLayout vagy
+ ServerFlags szekciójába
+ felvesszük a következõ sort:
+
+ Option "DontZap" "Off"
+ Ha az egér még nem mûködne,
+ mindenképpen be kell állítanunk a
+ továbblépés elõtt. Ezzel
+ kapcsolatban a &os; telepítésérõl
+ szóló fejezetben levõ t ajánljuk elolvasásra.
+ Fontos megemlíteni, hogy az
+ &xorg; 7.4
+ változatától kezdõdõen az
+ xorg.confInputDevice
+ szekcióit az eszközök automatikusan
+ észlelt beállításai
+ felülbírálják. A régebbi
+ változatok viselkedését úgy tudjuk
+ visszanyerni, ha a ServerLayout és
+ ServerFlags szekciók
+ valamelyikéhez hozzáadjuk az alábbi
+ sort:
+
+ Option "AutoAddDevices" "false"
+
+ Ezt követõen a beviteli eszközök a
+ lehetséges beállítási opciók
+ (például a billentyûzet-kiosztás
+ váltása) mentén a korábbiakban
+ megszokott módon konfigurálhatóak.
+
Az X11
finomhangolása
@@ -799,28 +874,6 @@
innentõl elindítható a &man.startx.1;
segédprogram vagy az &man.xdm.1;
használatával.
-
-
- Létezik egy grafikus
- beállítást lehetõvé tevõ
- eszköz is, az &man.xorgcfg.1;, amely az X11 rendszer
- része. Használata során a megfelelõ
- meghajtók és beállítások
- kiválasztásával interaktívan
- megadhatjuk a rendszerünk jellemzõit. Ezt a
- programot az xorg -textmode parancs
- kiadásával hívhatjuk meg a
- konzolról. Bõvebb információkat a
- &man.xorgcfg.1; man oldalán találunk.
-
- Emellett találhatunk még egy
- &man.xorgconfig.1; nevezetû segédprogramot is. Ez
- egy szöveges felületû, kevésbé
- felhasználóbarát program, azonban olyan
- esetekben is mûködhet, amikor más programok
- már nem.
-
-
From syl at FreeBSD.org Fri May 1 09:21:24 2009
From: syl at FreeBSD.org (Sylvestre Gallon)
Date: Fri May 1 09:21:30 2009
Subject: PERFORCE change 161423 for review
Message-ID: <200905010921.n419LL8L097778@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161423
Change 161423 by syl@syl_atuin on 2009/05/01 09:20:58
Fix libusb_get_string_descriptor_ascii return.
Add extra handling to libusb_get_config_descriptor.
Affected files ...
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#5 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#5 (text+ko) ====
@@ -78,9 +78,6 @@
return (libusb_get_config_descriptor(dev, idx, config));
}
-/*
- * Need to handle extra field.
- */
int
libusb_get_config_descriptor(libusb_device * dev, uint8_t config_index,
struct libusb_config_descriptor **config)
@@ -124,6 +121,9 @@
(*config)->iConfiguration = pconf->desc.iConfiguration;
(*config)->bmAttributes = pconf->desc.bmAttributes;
(*config)->MaxPower = pconf->desc.bMaxPower;
+ (*config)->extra_length = pconf->extra.len;
+ if ((*config)->extra_length != 0)
+ ifd->extra = pconf->extra.ptr;
for ( i = 0 ; i < nif ; i++) {
pinf = &pconf->interface[i];
@@ -138,6 +138,9 @@
ifd->bInterfaceSubClass = pinf->desc.bInterfaceSubClass;
ifd->bInterfaceProtocol = pinf->desc.bInterfaceProtocol;
ifd->iInterface = pinf->desc.iInterface;
+ ifd->extra_length = pinf->extra.len;
+ if (ifd->extra_length != 0)
+ ifd->extra = pinf->extra.ptr;
for (j = 0 ; j < pinf->num_endpoints ; j++) {
pend = &pconf->interface[i].endpoints[j];
@@ -150,6 +153,9 @@
endd->bInterval = pend->desc.bInterval;
endd->bRefresh = pend->desc.bRefresh;
endd->bSynchAddress = pend->desc.bSynchAddress;
+ endd->extra_length = pend->extra.len;
+ if (endd->extra_length != 0)
+ endd->extra = pend->extra.ptr;
}
}
@@ -191,11 +197,6 @@
free(config);
}
-/*
- * Perhaps need a fix, because this function need to return
- * the size of string on success and not 0
- */
-
int
libusb_get_string_descriptor_ascii(libusb_device_handle * dev,
uint8_t desc_index, unsigned char *data, int length)
@@ -207,6 +208,8 @@
return (LIBUSB20_ERROR_NO_MEM);
pdev = dev->os_priv;
- return (libusb20_dev_req_string_simple_sync(pdev, desc_index,
- data, length));
+ if (libusb20_dev_req_string_simple_sync(pdev, desc_index,
+ data, length) == 0)
+ return (length);
+ return (LIBUSB_ERROR_OTHER);
}
From pgj at FreeBSD.org Fri May 1 09:53:56 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Fri May 1 09:54:03 2009
Subject: PERFORCE change 161424 for review
Message-ID: <200905010953.n419rtLv010718@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161424
Change 161424 by pgj@petymeg on 2009/05/01 09:53:00
MFen (doc):
1.240 -> 1.243 hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml
Affected files ...
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#21 edit
Differences ...
==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#21 (text+ko) ====
@@ -7,7 +7,7 @@
@@ -94,8 +94,8 @@
hogyan frissítsük a
- dokumentációt a
- CVSup
segítségével.
@@ -1316,6 +1316,335 @@
&prompt.root; make FORMATS='html html-split' install clean
+
+
+
+
+ Marc
+ Fonvieille
+ A szóbanforgó megoldást
+ fejlesztette:
+
+
+
+
+ A dokumentációs portok
+ használata
+
+ frissítés és frissen
+ tartás
+
+
+ dokumentáció
+ frissítés és frissen tartás
+
+
+ Ez elõzõ szakaszban megmutattuk hogyan lehet a
+ &os; dokumentációját a források
+ felhasználásával frissíteni. A
+ források használatával végzett
+ frissítés azonban nem minden &os; rendszer
+ esetében lehetséges vagy hatékony. Ha
+ ugyanis a dokumentációs forrásból
+ akarjuk elõállítani, viszonylag sok
+ eszköz és segédprogram, az ún.
+ dokumentációs
+ eszközök használatával kell
+ tisztában lennünk, valamint bizonyos
+ mértékig ismernünk kell a
+ CVS használatát, tudunk
+ kell kikérni a legfrissebb változatot és
+ elõállítatattnunk belõle a
+ végleges változatot. Ezért ebben a
+ szakaszban most szót ejtünk egy olyan
+ módszerrõl, ahol a &os;
+ dokumentációját a
+ Portgyûjteményen keresztül tudjuk
+ frissíteni, ezáltal:
+
+
+
+ anélkül le tudjuk tölteni és
+ telepíteni a dokumentáció adott
+ pillanatban generált változatát, hogy a
+ rendszerünkön bármi további
+ teendõre szükség lenne (ennek
+ köszönhetõen nem kell
+ telepítenünk a dokumentációs
+ eszközöket);
+
+
+
+ letölthetjük a dokumentáció
+ forrását és a Portgyûjtemény
+ eszközeivel elõállíthatjuk
+ belõle a megfelelõ változatot (ez a
+ források beszerzésében és
+ feldolgozásában segít
+ valamelyest).
+
+
+
+ A &os; dokumentáció
+ frissítésének fentebb említett
+ módjait támogatják tehát a
+ dokumentációs portok,
+ amelyeket a &a.doceng; havi rendszerességgel tart karban.
+ Ezek a portok a &os; Portgyûjteményén
+ belül a docs nevû
+ virtuális kategóriában
+ találhatóak meg.
+
+
+ A dokumentációs portok
+ fordítása és
+ telepítése
+
+ A dokumentáció könnyebb
+ elõállításához a
+ dokumentációs portok a Portgyûjtemény
+ lehetõségeit veszik igénybe.
+ Segítségükkel automatikussá teszik a
+ dokumentáció forrásának
+ letöltését, a &man.make.1; parancs
+ meghívását a megfelelõ
+ környezetben, beállításokkal
+ és parancssori paraméterekkel. Rajtuk
+ keresztül a dokumentáció
+ eltávolítása ugyanolyan egyszerûen
+ megtehetõ, mint akármelyik másik &os; port
+ vagy csomag esetében.
+
+
+ Továbbá, amikor a
+ dokumentációs portokat a saját
+ rendszerünkön fordítjuk, a
+ dokumentációs
+ eszközök
+ függõségként automatikusan
+ települni fognak.
+
+
+ A dokumentációs portok a következõ
+ módon szervezõdnek:
+
+
+
+ Létezik egy ún.
+ fõport, a misc/freebsd-doc-en, ahol az
+ összes fontosabb állomány
+ megtalálható. Ez lényegében a
+ dokumentációs portok közös
+ õse. Alapértelmezés szerint
+ kizárólag csak az angol nyelvû
+ dokumentációt állítja
+ elõ.
+
+
+
+ Létezik egy mindenes port, a
+ misc/freebsd-doc-all,
+ amely az összes elérhetõ nyelven
+ és formátumban elõállítja
+ a dokumentációt.
+
+
+
+ Végezetül minden nyelvhez létezik
+ egy-egy alport, ilyen például a
+ magyar dokumentáció esetén a
+ misc/freebsd-doc-hu
+ port. Mindegyikük a fõporttól függ
+ és az adott nyelvû dokumentációt
+ telepítik.
+
+
+
+ Az eddigi összefoglaltaknak megfelelõen a
+ dokumentációs portokat forrásból a
+ következõ paranccsal lehet telepíteni
+ (root
+ felhasználóként):
+
+ &prompt.root; cd /usr/ports/misc/freebsd-doc-en
+&prompt.root; make install clean
+
+ Ennek hatására elõáll és
+ telepítõdik a /usr/local/share/doc/freebsd
+ könyvtárba az angol nyelvû
+ dokumentáció állományokra bontott
+ HTML formátumban (hasonlóan a
+
+ tartalmához).
+
+
+ Gyakori beállítások
+
+ A dokumentációs portok
+ alapértelmezett viselkedése több
+ különbözõ opció
+ segítségével is
+ befolyásolható. Ezek közül most
+ összefoglalunk néhányat:
+
+
+
+ WITH_HTML
+
+
+ Minden dokumentum egyetlen HTML
+ állományba kerüljön. A
+ végeredmény ekkor az adott dokumentum
+ típusának megfelelõen
+ article.html (cikk) vagy
+ book.html (könyv)
+ néven keletkezik (képekkel
+ együtt).
+
+
+
+
+ WITH_PDF
+
+
+ Minden dokumentum &adobe; Portable Document Format
+ típusú állományban
+ jön létre. Ezek az
+ állományok a
+ Ghostscript vagy más
+ egyéb PDF nézegetõkkel
+ nyithatóak meg. Ekkor a
+ dokumentáció konkrét
+ típusától függõen az
+ állományok
+ article.pdf (cikk) vagy
+ book.pdf (könyv)
+ néven állítódnak
+ elõ.
+
+
+
+
+ DOCBASE
+
+
+ A dokumentáció
+ telepítésének helye.
+ Alapértelmezés szerint ez a /usr/local/share/doc/freebsd
+ könyvtár.
+
+
+ Ügyeljünk arra, hogy a
+ telepítés alapértelmezett
+ célkönyvtára eltér a
+ CVSup
+ módszerétõl. Ugyanis mivel
+ ilyenkor egy portot telepítünk, a
+ tartalma alapértelmezés szerint a
+ /usr/local
+ könyvtáron belülre kerül.
+ Ez azonban a PREFIX
+ változó
+ átállításával
+ tetszõleges
+ megváltoztatható.
+
+
+
+
+
+ Az elõbbieket most egy rövid
+ példán keresztül összefoglaljuk. A
+ következõ paranccsal tudjuk tehát a magyar
+ nyelvû dokumentáció Portable Document
+ Format változatát telepíteni:
+
+ &prompt.root; cd /usr/ports/misc/freebsd-doc-hu
+&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean
+
+
+
+
+ A dokumentációs csomagok
+ használata
+
+ A dokumentációs portok elõzõ
+ szakaszban bemutatott forrásból
+ telepítésével kapcsolatban már
+ említettük, hogy szükséges
+ hozzá a dokumentációs eszközök
+ telepítése, valamint némi szabad
+ tárterület. Ha a dokumentációs
+ eszközök telepítéséhez nem
+ elengedõek a rendelkezésre álló
+ erõforrásaink vagy a források
+ feldolgozása túlságosan sokat foglalna a
+ rendszerünkön, akkor lehetõségünk
+ van a dokumentációs portok elõre
+ lefordított, csomagolt változatát
+ használni.
+
+ A &a.doceng; minden hónapban
+ elõkészíti a &os; dokumentációs
+ csomagok legfrissebb változatát. Az így
+ karbantartott bináris csomagok azután
+ tetszõlegesen használhatóak a
+ szabványos csomagkezelõ eszközökkel,
+ mint amilyen például a &man.pkg.add.1;,
+ &man.pkg.delete.1; és így tovább.
+
+
+ A bináris csomagok használata
+ esetén a &os; dokumentációja az adott
+ nyelvhez az összes
+ elérhetõ formátumban
+ telepítésre kerül.
+
+
+ Például az alábbi paranccsal a magyar
+ nyelvû dokumentációhoz tartozó
+ legfrissebb bináris csomagot tudjuk
+ telepíteni:
+
+ &prompt.root; pkg_add -r hu-freebsd-doc
+
+
+ A csomagok elnevezése eltér a
+ hozzátartozó port nevétõl. Alakja a
+ következõ:
+ nyelv-freebsd-doc,
+ ahol a nyelv az adott nyelv
+ rövid kódja, vagyis a magyar esetén a
+ hu, illetve az egyszerûsített
+ kínai esetén a
+ zh_ch.
+
+
+
+
+ A dokumentációs portok
+ frissítése
+
+ Az elõzetesen telepített
+ dokumentációs portok bármilyen portok
+ frissítésére alkalmas eszközzel
+ frissíthetõek. Például a
+ telepített magyar nyelvû
+ dokumentáció a ports-mgmt/portupgrade
+ eszközön keresztül így
+ frissíthetõ csomagok
+ használatával:
+
+ &prompt.root; portupgrade -PP hu-freebsd-doc
+
+
+
From hselasky at c2i.net Fri May 1 10:21:38 2009
From: hselasky at c2i.net (Hans Petter Selasky)
Date: Fri May 1 10:21:45 2009
Subject: PERFORCE change 161423 for review
In-Reply-To: <200905010921.n419LL8L097778@repoman.freebsd.org>
References: <200905010921.n419LL8L097778@repoman.freebsd.org>
Message-ID: <200905011224.03899.hselasky@c2i.net>
> int
> libusb_get_string_descriptor_ascii(libusb_device_handle * dev,
> uint8_t desc_index, unsigned char *data, int length)
> @@ -207,6 +208,8 @@
> return (LIBUSB20_ERROR_NO_MEM);
>
> pdev = dev->os_priv;
> - return (libusb20_dev_req_string_simple_sync(pdev, desc_index,
> - data, length));
> + if (libusb20_dev_req_string_simple_sync(pdev, desc_index,
> + data, length) == 0)
> + return (length);
> + return (LIBUSB_ERROR_OTHER);
> }
I think the correct here is to return strlen(data) in the successful case,
because it is quite common that the software will pass in a fixed size
buffer, while the actual string will be shorter.
In other words you will get a short terminated control request on the USB.
--HPS
From rene at FreeBSD.org Fri May 1 11:15:20 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Fri May 1 11:15:26 2009
Subject: PERFORCE change 161430 for review
Message-ID: <200905011115.n41BFIAu019352@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161430
Change 161430 by rene@rene_self on 2009/05/01 11:14:58
IFC
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#14 integrate
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#17 integrate
.. //depot/projects/docproj_nl/www/en/releases/7.2R/relnotes-detailed.html#2 integrate
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#14 (text+ko) ====
@@ -1,7 +1,7 @@
@@ -1145,7 +1145,7 @@
documentation toolchain and a bit of disk space for the build
of the ports. When resources are not available to install the
documentation toolchain, or because the build from sources
- would take too much disk space), it is still possible to
+ would take too much disk space, it is still possible to
install pre-built snapshots of the documentation ports.
The &a.doceng; prepares monthly snapshots of the &os;
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#17 (text+ko) ====
@@ -1,4 +1,4 @@
-
+
==== //depot/projects/docproj_nl/www/en/releases/7.2R/relnotes-detailed.html#2 (text+ko) ====
@@ -20,7 +20,7 @@
2008, 2009 The FreeBSD Documentation Project
The FreeBSD 32-bit system call translation layer now supports installing 32-bit system
calls for VFS_AIO.
-
[amd64, i386] The FreeBSD virtual memory subsystem now supports Superpages. The Superpages is a
-feature that enables each entry in the TLB (translation lookaside buffer) to map a large
-physical memory region into a virtual address space in modern CPUs. This provides
-possible memory savings for applications that share large amounts of memory between the
-address spaces and performance improvements due to fewer TLB misses. This is disabled by
+
[amd64, i386] The FreeBSD virtual memory subsystem now supports fully transparent use
+of superpages for application memory; application memory pages
+are dynamically promoted to or demoted from superpages without any modification to
+application code. This change offers the benefit of large page sizes such as improved
+virtual memory efficiency and reduced TLB (translation lookaside buffer) misses without
+downsides like application changes and virtual memory inflexibility. This is disabled by
default and can be enabled by setting a loader tunable vm.pmap.pg_ps_enabled to 1.
From ccna.syl at gmail.com Fri May 1 11:28:50 2009
From: ccna.syl at gmail.com (Sylvestre Gallon)
Date: Fri May 1 11:29:03 2009
Subject: PERFORCE change 161423 for review
In-Reply-To: <200905011224.03899.hselasky@c2i.net>
References: <200905010921.n419LL8L097778@repoman.freebsd.org>
<200905011224.03899.hselasky@c2i.net>
Message-ID: <164b4c9c0905010406s46caf7f1m6fb01b1969f98d41@mail.gmail.com>
On Fri, May 1, 2009 at 10:24 AM, Hans Petter Selasky wrote:
>> int
>> libusb_get_string_descriptor_ascii(libusb_device_handle * dev,
>> uint8_t desc_index, unsigned char *data, int length)
>> @@ -207,6 +208,8 @@
>> return (LIBUSB20_ERROR_NO_MEM);
>>
>> pdev = dev->os_priv;
>> - return (libusb20_dev_req_string_simple_sync(pdev, desc_index,
>> - data, length));
>> + if (libusb20_dev_req_string_simple_sync(pdev, desc_index,
>> + data, length) == 0)
>> + return (length);
>> + return (LIBUSB_ERROR_OTHER);
>> }
>
> I think the correct here is to return strlen(data) in the successful case,
> because it is quite common that the software will pass in a fixed size
> buffer, while the actual string will be shorter.
>
> In other words you will get a short terminated control request on the USB.
>
I will add your fix with my next submit.
Thanks,
--
Sylvestre Gallon (http://devsyl.blogspot.com)
Fifth Grade Student @ Epitech & Researcher @ LSE
R&D @ Rathaxes (http://www.rathaxes.org)
From fabio at FreeBSD.org Fri May 1 15:41:51 2009
From: fabio at FreeBSD.org (Fabio Checconi)
Date: Fri May 1 15:41:57 2009
Subject: PERFORCE change 161433 for review
Message-ID: <200905011541.n41FfnQB069939@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161433
Change 161433 by fabio@fabio_granpasso on 2009/05/01 15:41:15
Initial commit of the project milestones, as requested.
Affected files ...
.. //depot/projects/soc2009/fabio_gsched/Milestones#1 add
Differences ...
From syl at FreeBSD.org Fri May 1 16:41:53 2009
From: syl at FreeBSD.org (Sylvestre Gallon)
Date: Fri May 1 16:42:03 2009
Subject: PERFORCE change 161437 for review
Message-ID: <200905011641.n41GfpGD076429@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161437
Change 161437 by syl@syl_atuin on 2009/05/01 16:41:34
- Adding strlen to string descriptor func following Hans Petter Selasky fix.
- Adding altsetting handling to get_config.
- Implementing libusb_get_max_packet_size.
- Implementing libusb_alloc_transfer.
- Implementing libusb_free_transfer.
Affected files ...
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#4 edit
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#2 edit
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#6 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#4 (text+ko) ====
@@ -310,7 +310,7 @@
unsigned int length;
unsigned int actual_length;
enum libusb_transfer_status status;
-} libusb_iso_packet_descriptor;
+} libusb_iso_packet_descriptor __aligned(sizeof(void *));
struct libusb_transfer;
@@ -330,7 +330,7 @@
unsigned char *buffer;
int num_iso_packets;
struct libusb_iso_packet_descriptor iso_packet_desc[0];
-} libusb_transfer;
+} libusb_transfer __aligned(sizeof(void *));
typedef struct libusb_pollfd {
int fd;
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#2 (text+ko) ====
@@ -186,9 +186,35 @@
}
int
-libusb_get_max_packet_size(libusb_device * dev, unsigned char endpoint)
+libusb_get_max_packet_size(libusb_device *dev, unsigned char endpoint)
{
- return (0);
+ struct libusb_config_descriptor *pdconf;
+ struct libusb_interface *pinf;
+ struct libusb_interface_descriptor *pdinf;
+ struct libusb_endpoint_descriptor *pdend;
+ int i, j, k, ret;
+
+ if (libusb_get_active_config_descriptor(dev, &pdconf) < 0)
+ return (LIBUSB_ERROR_OTHER);
+
+ ret = LIBUSB_ERROR_NOT_FOUND;
+ for (i = 0 ; i < pdconf->bNumInterfaces ; i++) {
+ pinf = &pdconf->interface[i];
+ for (j = 0 ; j < pinf->num_altsetting ; j++) {
+ pdinf = &pinf->altsetting[j];
+ for (k = 0 ; k < pdinf->bNumEndpoints ; k++) {
+ pdend = &pdinf->endpoint[k];
+ if (pdend->bEndpointAddress == endpoint) {
+ ret = pdend->wMaxPacketSize;
+ goto out;
+ }
+ }
+ }
+ }
+
+out:
+ libusb_free_config_descriptor(pdconf);
+ return (ret);
}
libusb_device *
@@ -425,12 +451,33 @@
struct libusb_transfer *
libusb_alloc_transfer(int iso_packets)
{
- return (NULL);
+ struct libusb_transfer *tr;
+ int len;
+
+ len = sizeof(libusb_transfer) +
+ (iso_packets * sizeof(libusb_iso_packet_descriptor));
+
+ tr = malloc(len);
+ if (tr == NULL)
+ return (NULL);
+
+ memset(tr, 0, len);
+
+ return (tr);
}
void
libusb_free_transfer(struct libusb_transfer *transfer)
{
+ if (transfer == NULL)
+ return ;
+
+ if (transfer->buffer)
+ free(transfer->buffer);
+ if (transfer->user_data)
+ free(transfer->user_data);
+
+ free (transfer);
return;
}
int
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#6 (text+ko) ====
@@ -78,6 +78,10 @@
return (libusb_get_config_descriptor(dev, idx, config));
}
+/*
+ * XXX Need to check if extra need a dup because
+ * XXX free pconf could free this char *
+ */
int
libusb_get_config_descriptor(libusb_device * dev, uint8_t config_index,
struct libusb_config_descriptor **config)
@@ -88,7 +92,7 @@
struct libusb20_endpoint *pend;
libusb_interface_descriptor *ifd;
libusb_endpoint_descriptor *endd;
- uint8_t nif, nend, i, j;
+ uint8_t nif, nend, nalt, i, j;
if (dev == NULL || config == NULL)
return (LIBUSB_ERROR_NO_MEM);
@@ -99,14 +103,22 @@
if (pconf == NULL)
return (LIBUSB_ERROR_NOT_FOUND);
- nif = pconf->num_interface;
+ nalt = nif = pconf->num_interface;
nend = 0;
- for (i = 0 ; i < nif ; i++)
+ for (i = 0 ; i < nif ; i++) {
+ if (pconf->interface[i].num_altsetting > 1)
+ {
+ nalt += pconf->interface[i].num_altsetting;
+ for (j = 0 ; j < nalt ; j++) {
+ nend += pconf->interface[i].altsetting[j].num_endpoints;
+ }
+ }
nend += pconf->interface[i].num_endpoints;
+ }
*config = malloc(sizeof(libusb_config_descriptor) +
(nif * sizeof(libusb_interface)) +
- (nif * sizeof(libusb_interface_descriptor)) +
+ (nalt * sizeof(libusb_interface_descriptor)) +
(nend * sizeof(libusb_endpoint_descriptor)));
if (*config == NULL) {
free(pconf);
@@ -127,36 +139,39 @@
for ( i = 0 ; i < nif ; i++) {
pinf = &pconf->interface[i];
- (*config)->interface[i].num_altsetting = pinf->num_altsetting;
- ifd = (*config)->interface[i].altsetting;
- ifd->bLength = pinf->desc.bLength;
- ifd->bDescriptorType = pinf->desc.bDescriptorType;
- ifd->bInterfaceNumber = pinf->desc.bInterfaceNumber;
- ifd->bAlternateSetting = pinf->desc.bAlternateSetting;
- ifd->bNumEndpoints = pinf->desc.bNumEndpoints;
- ifd->bInterfaceClass = pinf->desc.bInterfaceClass;
- ifd->bInterfaceSubClass = pinf->desc.bInterfaceSubClass;
- ifd->bInterfaceProtocol = pinf->desc.bInterfaceProtocol;
- ifd->iInterface = pinf->desc.iInterface;
- ifd->extra_length = pinf->extra.len;
- if (ifd->extra_length != 0)
- ifd->extra = pinf->extra.ptr;
-
- for (j = 0 ; j < pinf->num_endpoints ; j++) {
- pend = &pconf->interface[i].endpoints[j];
- endd = &ifd->endpoint[j];
- endd->bLength = pend->desc.bLength;
- endd->bDescriptorType = pend->desc.bDescriptorType;
- endd->bEndpointAddress = pend->desc.bEndpointAddress;
- endd->bmAttributes = pend->desc.bmAttributes;
- endd->wMaxPacketSize = pend->desc.wMaxPacketSize;
- endd->bInterval = pend->desc.bInterval;
- endd->bRefresh = pend->desc.bRefresh;
- endd->bSynchAddress = pend->desc.bSynchAddress;
- endd->extra_length = pend->extra.len;
- if (endd->extra_length != 0)
- endd->extra = pend->extra.ptr;
- }
+ (*config)->interface[i].num_altsetting = pinf->num_altsetting + 1;
+ for (j = 0 ; j <= pinf->num_altsetting ; j++) {
+ if (j != 0)
+ pinf = &pconf->interface[i].altsetting[j];
+ ifd = &(*config)->interface[i].altsetting[j];
+ ifd->bLength = pinf->desc.bLength;
+ ifd->bDescriptorType = pinf->desc.bDescriptorType;
+ ifd->bInterfaceNumber = pinf->desc.bInterfaceNumber;
+ ifd->bAlternateSetting = pinf->desc.bAlternateSetting;
+ ifd->bNumEndpoints = pinf->desc.bNumEndpoints;
+ ifd->bInterfaceClass = pinf->desc.bInterfaceClass;
+ ifd->bInterfaceSubClass = pinf->desc.bInterfaceSubClass;
+ ifd->bInterfaceProtocol = pinf->desc.bInterfaceProtocol;
+ ifd->iInterface = pinf->desc.iInterface;
+ ifd->extra_length = pinf->extra.len;
+ if (ifd->extra_length != 0)
+ ifd->extra = pinf->extra.ptr;
+ for (j = 0 ; j < pinf->num_endpoints ; j++) {
+ pend = &pinf->endpoints[j];
+ endd = &ifd->endpoint[j];
+ endd->bLength = pend->desc.bLength;
+ endd->bDescriptorType = pend->desc.bDescriptorType;
+ endd->bEndpointAddress = pend->desc.bEndpointAddress;
+ endd->bmAttributes = pend->desc.bmAttributes;
+ endd->wMaxPacketSize = pend->desc.wMaxPacketSize;
+ endd->bInterval = pend->desc.bInterval;
+ endd->bRefresh = pend->desc.bRefresh;
+ endd->bSynchAddress = pend->desc.bSynchAddress;
+ endd->extra_length = pend->extra.len;
+ if (endd->extra_length != 0)
+ endd->extra = pend->extra.ptr;
+ }
+ }
}
free(pconf);
@@ -210,6 +225,6 @@
pdev = dev->os_priv;
if (libusb20_dev_req_string_simple_sync(pdev, desc_index,
data, length) == 0)
- return (length);
+ return (strlen(data));
return (LIBUSB_ERROR_OTHER);
}
From syl at FreeBSD.org Fri May 1 16:46:58 2009
From: syl at FreeBSD.org (Sylvestre Gallon)
Date: Fri May 1 16:47:04 2009
Subject: PERFORCE change 161438 for review
Message-ID: <200905011646.n41GkuPG076836@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161438
Change 161438 by syl@syl_atuin on 2009/05/01 16:46:05
Fix a little bug.
Affected files ...
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#7 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#7 (text+ko) ====
@@ -106,7 +106,7 @@
nalt = nif = pconf->num_interface;
nend = 0;
for (i = 0 ; i < nif ; i++) {
- if (pconf->interface[i].num_altsetting > 1)
+ if (pconf->interface[i].num_altsetting > 0)
{
nalt += pconf->interface[i].num_altsetting;
for (j = 0 ; j < nalt ; j++) {
From ccna.syl at gmail.com Fri May 1 18:39:59 2009
From: ccna.syl at gmail.com (Sylvestre Gallon)
Date: Fri May 1 18:40:05 2009
Subject: PERFORCE change 161438 for review
In-Reply-To: <200905011646.n41GkuPG076836@repoman.freebsd.org>
References: <200905011646.n41GkuPG076836@repoman.freebsd.org>
Message-ID: <164b4c9c0905011139v3fec7129n7ee15031fb285ddd@mail.gmail.com>
On Fri, May 1, 2009 at 4:46 PM, Sylvestre Gallon wrote:
> http://perforce.freebsd.org/chv.cgi?CH=161438
>
> Change 161438 by syl@syl_atuin on 2009/05/01 16:46:05
>
> Fix a little bug.
>
> Affected files ...
>
> .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#7 edit
>
> Differences ...
>
> ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#7 (text+ko) ====
>
> @@ -106,7 +106,7 @@
> nalt = nif = pconf->num_interface;
> nend = 0;
> for (i = 0 ; i < nif ; i++) {
> - if (pconf->interface[i].num_altsetting > 1)
> + if (pconf->interface[i].num_altsetting > 0)
> {
> nalt += pconf->interface[i].num_altsetting;
> for (j = 0 ; j < nalt ; j++) {
>
More details about this submit :
nalt corresponds to the number of alternative interfaces. We need
to enter in this IF only if an alternative interface or more exist.
Cheers,
--
Sylvestre Gallon (http://devsyl.blogspot.com)
Fifth Grade Student @ Epitech & Researcher @ LSE
R&D @ Rathaxes (http://www.rathaxes.org)
From syl at FreeBSD.org Fri May 1 21:48:25 2009
From: syl at FreeBSD.org (Sylvestre Gallon)
Date: Fri May 1 21:48:32 2009
Subject: PERFORCE change 161456 for review
Message-ID: <200905012148.n41LmOC2025463@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161456
Change 161456 by syl@syl_atuin on 2009/05/01 21:47:40
Add synchronous and asynchronous functions into the manpage.
Affected files ...
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.3#2 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.3#2 (text+ko) ====
@@ -287,7 +287,7 @@
Get a USB configuration descriptor with a specific bConfigurationValue. This is
a non-blocking function which does not send request through the device. Returns 0
on success, LIBUSB_ERROR_NOT_FOUND if the configuration does not exist and another
-LIBUSB_ERROR code on failure
+LIBUSB_ERROR code on failure.
.
.Pp
.Ft void
@@ -301,6 +301,64 @@
and a LIBUSB_ERROR code on failure.
.
.Pp
+.
+.Sh USB ASYNCHRONOUS I/O
+.
+.Pp
+.Ft struct libusb_transfer *
+.Fn libusb_alloc_transfer "int iso_packets"
+Allocate a transfer with
+.Fa iso_packets
+numbers of isochronous packet descriptors. Returns NULL on error.
+.
+.Pp
+.Ft void
+.Fn libusb_free_transfer "struct libusb_transfer *tr"
+Free a transfer.
+.
+.Pp
+.Ft int
+.Fn libusb_submit_transfer "struct libusb_transfer *tr"
+This function will submit a transfer and returns immediately. Returns 0 on
+success, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and
+LIBUSB_ERROR code on other failure.
+.
+.Pp
+.Ft int
+.Fn libusb_cancel_transfer "struct libusb_transfer *tr"
+This function asynchronously cancel a transfer. Returns 0 on success and
+LIBUSB_ERROR code on failure.
+.
+.Pp
+.Sh USB SYNCHRONOUS I/O
+.
+.Pp
+.Ft int
+.Fn libusb_control_transfer "libusb_device_handle *devh" "uint8_t bmRequestType" "uint16_t wIndex" "unsigned char *data" "uint16_t wLength" "unsigned int timeout"
+Perform a USB control transfer. Returns 0 on success, LIBUSB_ERROR_TIMEOUT
+if the transfer timeout, LIBUSB_ERROR_PIPE if the control request was not
+supported, LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and
+LIBUSB_ERROR code on other failure.
+.
+.Pp
+.Ft int
+.Fn libusb_bulk_transfer "struct libusb_device_handle *devh" "unsigned char endpoint" "unsigned char *data" "int length" "int *transferred" "unsigned int timeout"
+Perform an USB bulk transfer. Returns 0 on success, LIBUSB_ERROR_TIMEOUT
+if the transfer timeout, LIBUSB_ERROR_PIPE if the control request was not
+supported, LIBUSB_ERROR_OVERFLOW if the device offered more data,
+LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and
+LIBUSB_ERROR code on other failure.
+.
+.Pp
+.Ft int
+.Fn libusb_interrupt_transfer "struct libusb_device_handle *devh" "unsigned char endpoint" "unsigned char *data" "int length" "int *transferred" "unsigned int timeout"
+Perform an USB Interrupt transfer. Returns 0 on success, LIBUSB_ERROR_TIMEOUT
+if the transfer timeout, LIBUSB_ERROR_PIPE if the control request was not
+supported, LIBUSB_ERROR_OVERFLOW if the device offered more data,
+LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and
+LIBUSB_ERROR code on other failure.
+.
+.Pp
.Sh SEE ALSO
.Xr libusb 3 ,
.Xr usb2_core 4 ,
From zec at FreeBSD.org Sat May 2 08:39:34 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 08:39:41 2009
Subject: PERFORCE change 161465 for review
Message-ID: <200905020839.n428dPIO010156@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161465
Change 161465 by zec@zec_amdx2 on 2009/05/02 08:38:53
IFC @ 161464
Affected files ...
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/local_apic.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#12 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/isa/clock.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_sysvec.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/conf/NOTES#16 integrate
.. //depot/projects/vimage-commit/src/sys/conf/files#23 integrate
.. //depot/projects/vimage-commit/src/sys/conf/options#14 integrate
.. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ata/ata-all.h#7 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ata/ata-disk.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ata/ata-queue.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/dev/sk/if_sk.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_ural.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/i386/conf/GENERIC#11 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/local_apic.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/mp_machdep.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/i386/linux/linux_sysvec.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/isa/atrtc.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_osd.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/mips/include/pmap.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/mips/mips/pmap.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/modules/Makefile#17 integrate
.. //depot/projects/vimage-commit/src/sys/net/ieee8023ad_lacp.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_bridge.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_gif.h#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_lagg.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/net/route.c#16 integrate
.. //depot/projects/vimage-commit/src/sys/net/vnet.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ddb.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/igmp.c#19 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_fw.h#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_timewait.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/vinet.h#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/udp6_usrreq.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/vinet6.h#7 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/vipsec.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/pc98/conf/GENERIC#8 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_atalk.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_audit.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_cred.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_inet.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_inet6.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_internal.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_net.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_pipe.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_posix_sem.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_posix_shm.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_priv.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_process.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_socket.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_system.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_sysv_msg.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_sysv_sem.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_sysv_shm.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/mac/mac_vfs.c#6 integrate
Differences ...
==== //depot/projects/vimage-commit/src/sys/amd64/amd64/local_apic.c#6 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.52 2009/02/21 23:15:34 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -112,7 +112,7 @@
u_long la_stat_ticks;
u_long la_prof_ticks;
/* Include IDT_SYSCALL to make indexing easier. */
- u_int la_ioint_irqs[APIC_NUM_IOINTS + 1];
+ int la_ioint_irqs[APIC_NUM_IOINTS + 1];
} static lapics[MAX_APIC_ID + 1];
/* XXX: should thermal be an NMI? */
@@ -254,6 +254,8 @@
lapics[apic_id].la_lvts[i] = lvts[i];
lapics[apic_id].la_lvts[i].lvt_active = 0;
}
+ for (i = 0; i <= APIC_NUM_IOINTS; i++)
+ lapics[apic_id].la_ioint_irqs[i] = -1;
lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
IRQ_TIMER;
@@ -363,11 +365,15 @@
lapic_setup_clock(void)
{
u_long value;
+ int i;
/* Can't drive the timer without a local APIC. */
if (lapic == NULL)
return (0);
+ if (resource_int_value("apic", 0, "clock", &i) == 0 && i == 0)
+ return (0);
+
/* Start off with a divisor of 2 (power on reset default). */
lapic_timer_divisor = 2;
@@ -807,7 +813,7 @@
*/
mtx_lock_spin(&icu_lock);
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
- if (lapics[apic_id].la_ioint_irqs[vector] != 0)
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1)
continue;
lapics[apic_id].la_ioint_irqs[vector] = irq;
mtx_unlock_spin(&icu_lock);
@@ -847,7 +853,7 @@
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
/* Vector is in use, end run. */
- if (lapics[apic_id].la_ioint_irqs[vector] != 0) {
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
run = 0;
first = 0;
continue;
@@ -932,7 +938,7 @@
sched_bind(td, apic_cpuid(apic_id));
thread_unlock(td);
mtx_lock_spin(&icu_lock);
- lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = 0;
+ lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
mtx_unlock_spin(&icu_lock);
thread_lock(td);
sched_unbind(td);
@@ -944,11 +950,15 @@
u_int
apic_idt_to_irq(u_int apic_id, u_int vector)
{
+ int irq;
KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL &&
vector <= APIC_IO_INTS + APIC_NUM_IOINTS,
("Vector %u does not map to an IRQ line", vector));
- return (lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS]);
+ irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
+ if (irq < 0)
+ irq = 0;
+ return (irq);
}
#ifdef DDB
@@ -974,7 +984,7 @@
db_printf("Interrupts bound to lapic %u\n", apic_id);
for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) {
irq = lapics[apic_id].la_ioint_irqs[i];
- if (irq == 0 || irq == IRQ_SYSCALL)
+ if (irq == -1 || irq == IRQ_SYSCALL)
continue;
db_printf("vec 0x%2x -> ", i + APIC_IO_INTS);
if (irq == IRQ_TIMER)
==== //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#10 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.304 2009/04/29 06:54:40 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.305 2009/04/30 22:10:04 jkim Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -292,6 +292,10 @@
static void
topo_probe(void)
{
+ static int cpu_topo_probed = 0;
+
+ if (cpu_topo_probed)
+ return;
logical_cpus = logical_cpus_mask = 0;
if (cpu_high >= 0xb)
@@ -299,9 +303,10 @@
else if (cpu_high)
topo_probe_0x4();
if (cpu_cores == 0)
- cpu_cores = mp_ncpus;
+ cpu_cores = mp_ncpus > 0 ? mp_ncpus : 1;
if (cpu_logical == 0)
cpu_logical = 1;
+ cpu_topo_probed = 1;
}
struct cpu_group *
@@ -313,6 +318,7 @@
* Determine whether any threading flags are
* necessry.
*/
+ topo_probe();
if (cpu_logical > 1 && hyperthreading_cpus)
cg_flags = CG_FLAG_HTT;
else if (cpu_logical > 1)
==== //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#12 (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.523 2009/04/10 00:40:48 jfv Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.524 2009/05/01 17:20:16 sam Exp $
cpu HAMMER
ident GENERIC
@@ -292,8 +292,10 @@
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
+device rum # Ralink Technology RT2501USB wireless NICs
+device uath # Atheros AR5523 wireless NICs
device ural # Ralink Technology RT2500USB wireless NICs
-device rum # Ralink Technology RT2501USB wireless NICs
+device zyd # ZyDAS zb1211/zb1211b wireless NICs
device urio # Diamond Rio 500 MP3 player
# USB Serial devices
device uark # Technologies ARK3116 based serial adapters
==== //depot/projects/vimage-commit/src/sys/amd64/isa/clock.c#3 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.243 2008/04/22 19:38:27 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.244 2009/05/01 21:43:04 mav Exp $");
/*
* Routines to handle clock hardware.
@@ -376,6 +376,17 @@
mtx_unlock_spin(&clock_lock);
}
+static void
+i8254_restore(void)
+{
+
+ mtx_lock_spin(&clock_lock);
+ outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+ outb(TIMER_CNTR0, i8254_real_max_count & 0xff);
+ outb(TIMER_CNTR0, i8254_real_max_count >> 8);
+ mtx_unlock_spin(&clock_lock);
+}
+
/* This is separate from startrtclock() so that it can be called early. */
void
i8254_init(void)
@@ -558,6 +569,14 @@
return(0);
}
+static int
+attimer_resume(device_t dev)
+{
+
+ i8254_restore();
+ return(0);
+}
+
static device_method_t attimer_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, attimer_probe),
@@ -565,7 +584,7 @@
DEVMETHOD(device_detach, bus_generic_detach),
DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(device_suspend, bus_generic_suspend),
- DEVMETHOD(device_resume, bus_generic_resume),
+ DEVMETHOD(device_resume, attimer_resume),
{ 0, 0 }
};
==== //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_sysvec.c#6 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.46 2009/04/05 09:27:19 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.47 2009/05/01 15:36:02 dchagin Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -128,7 +128,7 @@
static void linux32_fixlimit(struct rlimit *rl, int which);
extern LIST_HEAD(futex_list, futex) futex_list;
-extern struct sx futex_sx;
+extern struct mtx futex_mtx;
static eventhandler_tag linux_exit_tag;
static eventhandler_tag linux_schedtail_tag;
@@ -1117,7 +1117,7 @@
mtx_init(&emul_lock, "emuldata lock", NULL, MTX_DEF);
sx_init(&emul_shared_lock, "emuldata->shared lock");
LIST_INIT(&futex_list);
- sx_init(&futex_sx, "futex protection lock");
+ mtx_init(&futex_mtx, "ftllk", NULL, MTX_DEF);
linux_exit_tag = EVENTHANDLER_REGISTER(process_exit,
linux_proc_exit, NULL, 1000);
linux_schedtail_tag = EVENTHANDLER_REGISTER(schedtail,
@@ -1149,7 +1149,7 @@
linux_device_unregister_handler(*ldhp);
mtx_destroy(&emul_lock);
sx_destroy(&emul_shared_lock);
- sx_destroy(&futex_sx);
+ mtx_destroy(&futex_mtx);
EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
EVENTHANDLER_DEREGISTER(schedtail, linux_schedtail_tag);
EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag);
==== //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.c#6 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.19 2009/04/19 13:48:42 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.20 2009/05/01 15:36:02 dchagin Exp $");
#if 0
__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $");
#endif
@@ -62,419 +62,284 @@
#include
#include
+MALLOC_DEFINE(M_FUTEX, "futex", "Linux futexes");
+MALLOC_DEFINE(M_FUTEX_WP, "futex wp", "Linux futexes wp");
+
struct futex;
struct waiting_proc {
- struct thread *wp_t;
- struct futex *wp_new_futex;
+ uint32_t wp_flags;
+ struct futex *wp_futex;
TAILQ_ENTRY(waiting_proc) wp_list;
};
+
struct futex {
- void *f_uaddr;
- int f_refcount;
+ struct sx f_lck;
+ uint32_t *f_uaddr;
+ uint32_t f_refcount;
LIST_ENTRY(futex) f_list;
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
LIST_HEAD(futex_list, futex) futex_list;
-struct sx futex_sx; /* this protects the LIST of futexes */
-#define FUTEX_LOCK sx_xlock(&futex_sx)
-#define FUTEX_UNLOCK sx_xunlock(&futex_sx)
+#define FUTEX_LOCK(f) sx_xlock(&(f)->f_lck)
+#define FUTEX_UNLOCK(f) sx_xunlock(&(f)->f_lck)
+#define FUTEX_INIT(f) sx_init_flags(&(f)->f_lck, "ftlk", 0)
+#define FUTEX_DESTROY(f) sx_destroy(&(f)->f_lck)
+#define FUTEX_ASSERT_LOCKED(f) sx_assert(&(f)->f_lck, SA_XLOCKED)
-#define FUTEX_LOCKED 1
-#define FUTEX_UNLOCKED 0
+struct mtx futex_mtx; /* protects the futex list */
+#define FUTEXES_LOCK mtx_lock(&futex_mtx)
+#define FUTEXES_UNLOCK mtx_unlock(&futex_mtx)
-#define FUTEX_SYSTEM_LOCK mtx_lock(&Giant)
-#define FUTEX_SYSTEM_UNLOCK mtx_unlock(&Giant)
+/* flags for futex_get() */
+#define FUTEX_CREATE_WP 0x1 /* create waiting_proc */
+#define FUTEX_DONTCREATE 0x2 /* don't create futex if not exists */
+#define FUTEX_DONTEXISTS 0x4 /* return EINVAL if futex exists */
-static struct futex *futex_get(void *, int);
-static void futex_put(struct futex *);
-static int futex_sleep(struct futex *, struct thread *, unsigned long);
-static int futex_wake(struct futex *, int, struct futex *, int);
-static int futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr);
+/* wp_flags */
+#define FUTEX_WP_REQUEUED 0x1 /* wp requeued - wp moved from wp_list
+ * of futex where thread sleep to wp_list
+ * of another futex.
+ */
+#define FUTEX_WP_REMOVED 0x2 /* wp is woken up and removed from futex
+ * wp_list to prevent double wakeup.
+ */
/* support.s */
-int futex_xchgl(int oparg, caddr_t uaddr, int *oldval);
-int futex_addl(int oparg, caddr_t uaddr, int *oldval);
-int futex_orl(int oparg, caddr_t uaddr, int *oldval);
-int futex_andl(int oparg, caddr_t uaddr, int *oldval);
-int futex_xorl(int oparg, caddr_t uaddr, int *oldval);
+int futex_xchgl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_addl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_orl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_andl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_xorl(int oparg, uint32_t *uaddr, int *oldval);
-int
-linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args)
+static void
+futex_put(struct futex *f, struct waiting_proc *wp)
{
- int val;
- int ret;
- struct l_timespec timeout = {0, 0};
- int error = 0;
- struct futex *f;
- struct futex *newf;
- int timeout_hz;
- struct timeval tv = {0, 0};
- struct futex *f2;
- int op_ret;
- struct linux_emuldata *em;
+
+ FUTEX_ASSERT_LOCKED(f);
+ if (wp != NULL) {
+ if ((wp->wp_flags & FUTEX_WP_REMOVED) == 0)
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ free(wp, M_FUTEX_WP);
+ }
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf(ARGS(futex, "%p, %i, %i, *, %p, %i"), args->uaddr, args->op,
- args->val, args->uaddr2, args->val3);
-#endif
+ FUTEXES_LOCK;
+ if (--f->f_refcount == 0) {
+ LIST_REMOVE(f, f_list);
+ FUTEXES_UNLOCK;
+ FUTEX_UNLOCK(f);
- /*
- * Our implementation provides only privates futexes. Most of the apps
- * should use private futexes but don't claim so. Therefore we treat
- * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works
- * in most cases (ie. when futexes are not shared on file descriptor
- * or between different processes.).
- */
- args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG);
+ FUTEX_DESTROY(f);
+ free(f, M_FUTEX);
+ return;
+ }
- switch (args->op) {
- case LINUX_FUTEX_WAIT:
- FUTEX_SYSTEM_LOCK;
+ FUTEXES_UNLOCK;
+ FUTEX_UNLOCK(f);
+}
- if ((error = copyin(args->uaddr,
- &val, sizeof(val))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
- }
+static int
+futex_get0(uint32_t *uaddr, struct futex **newf, uint32_t flags)
+{
+ struct futex *f, *tmpf;
- if (val != args->val) {
- FUTEX_SYSTEM_UNLOCK;
- return EWOULDBLOCK;
- }
+ *newf = tmpf = NULL;
- if (args->timeout != NULL) {
- if ((error = copyin(args->timeout,
- &timeout, sizeof(timeout))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
+retry:
+ FUTEXES_LOCK;
+ LIST_FOREACH(f, &futex_list, f_list) {
+ if (f->f_uaddr == uaddr) {
+ if (tmpf != NULL) {
+ FUTEX_UNLOCK(tmpf);
+ FUTEX_DESTROY(tmpf);
+ free(tmpf, M_FUTEX);
+ }
+ if (flags & FUTEX_DONTEXISTS) {
+ FUTEXES_UNLOCK;
+ return (EINVAL);
}
- }
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: val = %d, uaddr = %p, "
- "*uaddr = %d, timeout = %d.%09lu\n",
- td->td_proc->p_pid, args->val,
- args->uaddr, val, timeout.tv_sec,
- (unsigned long)timeout.tv_nsec);
-#endif
- tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000;
- timeout_hz = tvtohz(&tv);
+ /*
+ * Increment refcount of the found futex to
+ * prevent it from deallocation before FUTEX_LOCK()
+ */
+ ++f->f_refcount;
+ FUTEXES_UNLOCK;
- if (timeout.tv_sec == 0 && timeout.tv_nsec == 0)
- timeout_hz = 0;
- /*
- * If the user process requests a non null timeout,
- * make sure we do not turn it into an infinite
- * timeout because timeout_hz gets null.
- *
- * We use a minimal timeout of 1/hz. Maybe it would
- * make sense to just return ETIMEDOUT without sleeping.
- */
- if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) &&
- (timeout_hz == 0))
- timeout_hz = 1;
-
-
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- ret = futex_sleep(f, td, timeout_hz);
- futex_put(f);
-
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: uaddr = %p, "
- "ret = %d\n", td->td_proc->p_pid, args->uaddr, ret);
-#endif
-
- FUTEX_SYSTEM_UNLOCK;
- switch (ret) {
- case EWOULDBLOCK: /* timeout */
- return ETIMEDOUT;
- break;
- case EINTR: /* signal */
- return EINTR;
- break;
- case 0: /* FUTEX_WAKE received */
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: uaddr = %p, "
- "got FUTEX_WAKE\n",
- td->td_proc->p_pid, args->uaddr);
-#endif
- return 0;
- break;
- default:
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT: unexpected ret = %d\n",
- ret);
-#endif
- break;
+ FUTEX_LOCK(f);
+ *newf = f;
+ return (0);
}
+ }
- /* NOTREACHED */
- break;
+ if (flags & FUTEX_DONTCREATE) {
+ FUTEXES_UNLOCK;
+ return (0);
+ }
- case LINUX_FUTEX_WAKE:
- FUTEX_SYSTEM_LOCK;
+ if (tmpf == NULL) {
+ FUTEXES_UNLOCK;
+ tmpf = malloc(sizeof(*tmpf), M_FUTEX, M_WAITOK | M_ZERO);
+ tmpf->f_uaddr = uaddr;
+ tmpf->f_refcount = 1;
+ FUTEX_INIT(tmpf);
+ TAILQ_INIT(&tmpf->f_waiting_proc);
/*
- * XXX: Linux is able to cope with different addresses
- * corresponding to the same mapped memory in the sleeping
- * and waker process(es).
+ * Lock the new futex before an insert into the futex_list
+ * to prevent futex usage by other.
*/
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAKE %d: uaddr = %p, val = %d\n",
- td->td_proc->p_pid, args->uaddr, args->val);
-#endif
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- td->td_retval[0] = futex_wake(f, args->val, NULL, 0);
- futex_put(f);
+ FUTEX_LOCK(tmpf);
+ goto retry;
+ }
- FUTEX_SYSTEM_UNLOCK;
- break;
+ LIST_INSERT_HEAD(&futex_list, tmpf, f_list);
+ FUTEXES_UNLOCK;
- case LINUX_FUTEX_CMP_REQUEUE:
- FUTEX_SYSTEM_LOCK;
+ *newf = tmpf;
+ return (0);
+}
- if ((error = copyin(args->uaddr,
- &val, sizeof(val))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
- }
+static int
+futex_get(uint32_t *uaddr, struct waiting_proc **wp, struct futex **f,
+ uint32_t flags)
+{
+ int error;
- if (val != args->val3) {
- FUTEX_SYSTEM_UNLOCK;
- return EAGAIN;
- }
+ if (flags & FUTEX_CREATE_WP) {
+ *wp = malloc(sizeof(struct waiting_proc), M_FUTEX_WP, M_WAITOK);
+ (*wp)->wp_flags = 0;
+ }
+ error = futex_get0(uaddr, f, flags);
+ if (error) {
+ if (flags & FUTEX_CREATE_WP)
+ free(*wp, M_FUTEX_WP);
+ return (error);
+ }
+ if (flags & FUTEX_CREATE_WP) {
+ TAILQ_INSERT_HEAD(&(*f)->f_waiting_proc, *wp, wp_list);
+ (*wp)->wp_futex = *f;
+ }
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- newf = futex_get(args->uaddr2, FUTEX_UNLOCKED);
- td->td_retval[0] = futex_wake(f, args->val, newf,
- (int)(unsigned long)args->timeout);
- futex_put(f);
- futex_put(newf);
-
- FUTEX_SYSTEM_UNLOCK;
- break;
-
- case LINUX_FUTEX_WAKE_OP:
- FUTEX_SYSTEM_LOCK;
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAKE_OP: %d: uaddr = %p, op = %d, "
- "val = %x, uaddr2 = %p, val3 = %x\n",
- td->td_proc->p_pid, args->uaddr, args->op,
- args->val, args->uaddr2, args->val3);
-#endif
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- f2 = futex_get(args->uaddr2, FUTEX_UNLOCKED);
-
- /*
- * This function returns positive number as results and
- * negative as errors
- */
- op_ret = futex_atomic_op(td, args->val3, args->uaddr2);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("futex_atomic_op ret %d\n", op_ret);
-#endif
- if (op_ret < 0) {
- /* XXX: We don't handle the EFAULT yet. */
- if (op_ret != -EFAULT) {
- futex_put(f);
- futex_put(f2);
- FUTEX_SYSTEM_UNLOCK;
- return (-op_ret);
- }
-
- futex_put(f);
- futex_put(f2);
-
- FUTEX_SYSTEM_UNLOCK;
- return (EFAULT);
- }
-
- ret = futex_wake(f, args->val, NULL, 0);
- futex_put(f);
- if (op_ret > 0) {
- op_ret = 0;
- /*
- * Linux abuses the address of the timespec parameter
- * as the number of retries.
- */
- op_ret += futex_wake(f2,
- (int)(unsigned long)args->timeout, NULL, 0);
- ret += op_ret;
- }
- futex_put(f2);
- td->td_retval[0] = ret;
-
- FUTEX_SYSTEM_UNLOCK;
- break;
-
- case LINUX_FUTEX_LOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_UNLOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_TRYLOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_REQUEUE:
-
- /*
- * Glibc does not use this operation since Jun 2004 (2.3.3),
- * as it is racy and replaced by FUTEX_CMP_REQUEUE operation.
- * Glibc versions prior to 2.3.3 fall back to FUTEX_WAKE when
- * FUTEX_REQUEUE returned EINVAL.
- */
- em = em_find(td->td_proc, EMUL_DONTLOCK);
- if (em->used_requeue == 0) {
- printf("linux(%s (%d)) sys_futex: "
- "unsupported futex_requeue op\n",
- td->td_proc->p_comm, td->td_proc->p_pid);
- em->used_requeue = 1;
- }
- return (EINVAL);
-
- default:
- printf("linux_sys_futex: unknown op %d\n",
- args->op);
- return (ENOSYS);
- }
- return (0);
+ return (error);
}
-static struct futex *
-futex_get(void *uaddr, int locked)
+static int
+futex_sleep(struct futex *f, struct waiting_proc *wp, unsigned long timeout)
{
- struct futex *f;
+ int error;
- if (locked == FUTEX_UNLOCKED)
- FUTEX_LOCK;
- LIST_FOREACH(f, &futex_list, f_list) {
- if (f->f_uaddr == uaddr) {
- f->f_refcount++;
- if (locked == FUTEX_UNLOCKED)
- FUTEX_UNLOCK;
- return f;
- }
+ FUTEX_ASSERT_LOCKED(f);
+ error = sx_sleep(wp, &f->f_lck, PCATCH, "futex", timeout);
+ if (wp->wp_flags & FUTEX_WP_REQUEUED) {
+ KASSERT(f != wp->wp_futex, ("futex != wp_futex"));
+ futex_put(f, NULL);
+ f = wp->wp_futex;
+ FUTEX_LOCK(f);
}
- f = malloc(sizeof(*f), M_LINUX, M_WAITOK);
- f->f_uaddr = uaddr;
- f->f_refcount = 1;
- TAILQ_INIT(&f->f_waiting_proc);
- LIST_INSERT_HEAD(&futex_list, f, f_list);
- if (locked == FUTEX_UNLOCKED)
- FUTEX_UNLOCK;
-
- return f;
+ futex_put(f, wp);
+ return (error);
}
-static void
-futex_put(f)
- struct futex *f;
+static int
+futex_wake(struct futex *f, int n)
{
- FUTEX_LOCK;
- f->f_refcount--;
- if (f->f_refcount == 0) {
- LIST_REMOVE(f, f_list);
- free(f, M_LINUX);
+ struct waiting_proc *wp, *wpt;
+ int count = 0;
+
+ FUTEX_ASSERT_LOCKED(f);
+ TAILQ_FOREACH_SAFE(wp, &f->f_waiting_proc, wp_list, wpt) {
+ wp->wp_flags |= FUTEX_WP_REMOVED;
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ wakeup_one(wp);
+ if (++count == n)
+ break;
}
- FUTEX_UNLOCK;
- return;
+ return (count);
}
static int
-futex_sleep(struct futex *f, struct thread *td, unsigned long timeout)
+futex_requeue(struct futex *f, int n, struct futex *f2, int n2)
{
- struct waiting_proc *wp;
- int ret;
+ struct waiting_proc *wp, *wpt;
+ int count = 0;
- wp = malloc(sizeof(*wp), M_LINUX, M_WAITOK);
- wp->wp_t = td;
- wp->wp_new_futex = NULL;
- FUTEX_LOCK;
- TAILQ_INSERT_TAIL(&f->f_waiting_proc, wp, wp_list);
- FUTEX_UNLOCK;
+ FUTEX_ASSERT_LOCKED(f);
+ FUTEX_ASSERT_LOCKED(f2);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX --> %d tlseep timeout = %ld\n",
- td->td_proc->p_pid, timeout);
-#endif
- ret = tsleep(wp, PCATCH | PZERO, "linuxfutex", timeout);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX -> %d tsleep returns %d\n",
- td->td_proc->p_pid, ret);
-#endif
+ TAILQ_FOREACH_SAFE(wp, &f->f_waiting_proc, wp_list, wpt) {
+ if (++count <= n) {
+ wp->wp_flags |= FUTEX_WP_REMOVED;
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ wakeup_one(wp);
+ } else {
+ wp->wp_flags |= FUTEX_WP_REQUEUED;
+ /* Move wp to wp_list of f2 futex */
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ TAILQ_INSERT_HEAD(&f2->f_waiting_proc, wp, wp_list);
- FUTEX_LOCK;
- TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
- FUTEX_UNLOCK;
-
- /* if we got woken up in futex_wake */
- if ((ret == 0) && (wp->wp_new_futex != NULL)) {
- /* suspend us on the new futex */
- ret = futex_sleep(wp->wp_new_futex, td, timeout);
- /* and release the old one */
- futex_put(wp->wp_new_futex);
+ /*
+ * Thread which sleeps on wp after waking should
+ * acquire f2 lock, so increment refcount of f2 to
+ * prevent it from premature deallocation.
+ */
+ wp->wp_futex = f2;
+ FUTEXES_LOCK;
+ ++f2->f_refcount;
+ FUTEXES_UNLOCK;
+ if (count - n >= n2)
+ break;
+ }
}
- free(wp, M_LINUX);
-
- return ret;
+ return (count);
}
static int
-futex_wake(struct futex *f, int n, struct futex *newf, int n2)
+futex_wait(struct futex *f, struct waiting_proc *wp, struct l_timespec *ts)
{
- struct waiting_proc *wp;
- int count;
+ struct l_timespec timeout = {0, 0};
+ struct timeval tv = {0, 0};
+ int timeout_hz;
+ int error;
+
+ if (ts != NULL) {
+ error = copyin(ts, &timeout, sizeof(timeout));
+ if (error)
+ return (error);
+ }
+
+ tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000;
+ timeout_hz = tvtohz(&tv);
+
+ if (timeout.tv_sec == 0 && timeout.tv_nsec == 0)
+ timeout_hz = 0;
/*
- * Linux is very strange it wakes up N threads for
- * all operations BUT requeue ones where its N+1
- * mimic this.
+ * If the user process requests a non null timeout,
+ * make sure we do not turn it into an infinite
+ * timeout because timeout_hz gets null.
+ *
+ * We use a minimal timeout of 1/hz. Maybe it would
+ * make sense to just return ETIMEDOUT without sleeping.
*/
- count = newf ? 0 : 1;
+ if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) &&
+ (timeout_hz == 0))
+ timeout_hz = 1;
- FUTEX_LOCK;
- TAILQ_FOREACH(wp, &f->f_waiting_proc, wp_list) {
- if (count <= n) {
- wakeup_one(wp);
- count++;
- } else {
- if (newf != NULL) {
- /* futex_put called after tsleep */
- wp->wp_new_futex = futex_get(newf->f_uaddr,
- FUTEX_LOCKED);
- wakeup_one(wp);
- if (count - n >= n2)
- break;
- }
- }
- }
- FUTEX_UNLOCK;
+ error = futex_sleep(f, wp, timeout_hz);
+ if (error == EWOULDBLOCK)
+ error = ETIMEDOUT;
- return count;
+ return (error);
}
static int
-futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr)
+futex_atomic_op(struct thread *td, int encoded_op, uint32_t *uaddr)
{
int op = (encoded_op >> 28) & 7;
int cmp = (encoded_op >> 24) & 15;
@@ -536,14 +401,237 @@
}
int
+linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args)
+{
+ int op_ret, val, ret, nrwake;
+ struct linux_emuldata *em;
+ struct waiting_proc *wp;
+ struct futex *f, *f2;
+ int error = 0;
+
+ /*
+ * Our implementation provides only privates futexes. Most of the apps
+ * should use private futexes but don't claim so. Therefore we treat
+ * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works
+ * in most cases (ie. when futexes are not shared on file descriptor
+ * or between different processes.).
+ */
+ args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG);
+
+ switch (args->op) {
+ case LINUX_FUTEX_WAIT:
+
+#ifdef DEBUG
+ if (ldebug(sys_futex))
+ printf(ARGS(sys_futex, "futex_wait val %d uaddr %p"),
+ args->val, args->uaddr);
+#endif
+ error = futex_get(args->uaddr, &wp, &f, FUTEX_CREATE_WP);
+ if (error)
+ return (error);
+ error = copyin(args->uaddr, &val, sizeof(val));
+ if (error) {
+ futex_put(f, wp);
+ return (error);
+ }
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From zec at FreeBSD.org Sat May 2 08:42:30 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 08:42:37 2009
Subject: PERFORCE change 161466 for review
Message-ID: <200905020842.n428gTVY010415@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161466
Change 161466 by zec@zec_amdx2 on 2009/05/02 08:42:03
IFC @ 161464
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#13 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#13 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/isa/clock.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_sysvec.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/NOTES#22 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files#33 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/options#25 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/acpica/acpi.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-all.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-disk.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-queue.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/sk/if_sk.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_ural.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC#13 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/local_apic.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/linux/linux_sysvec.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/isa/atrtc.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_osd.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/mips/include/pmap.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/mips/mips/pmap.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/Makefile#21 integrate
.. //depot/projects/vimage-commit2/src/sys/net/ieee8023ad_lacp.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_bridge.c#18 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_gif.h#11 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_lagg.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/net/route.c#37 integrate
.. //depot/projects/vimage-commit2/src/sys/net/vnet.h#16 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ddb.c#14 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/igmp.c#31 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw.h#24 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_timewait.c#26 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#32 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/udp6_usrreq.c#21 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/vinet6.h#24 integrate
.. //depot/projects/vimage-commit2/src/sys/netipsec/vipsec.h#20 integrate
.. //depot/projects/vimage-commit2/src/sys/pc98/conf/GENERIC#9 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_atalk.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_audit.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_cred.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_inet.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_inet6.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_internal.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_net.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_pipe.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_posix_sem.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_posix_shm.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_priv.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_process.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_socket.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_system.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_sysv_msg.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_sysv_sem.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_sysv_shm.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/mac/mac_vfs.c#5 integrate
Differences ...
==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#7 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.52 2009/02/21 23:15:34 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -112,7 +112,7 @@
u_long la_stat_ticks;
u_long la_prof_ticks;
/* Include IDT_SYSCALL to make indexing easier. */
- u_int la_ioint_irqs[APIC_NUM_IOINTS + 1];
+ int la_ioint_irqs[APIC_NUM_IOINTS + 1];
} static lapics[MAX_APIC_ID + 1];
/* XXX: should thermal be an NMI? */
@@ -254,6 +254,8 @@
lapics[apic_id].la_lvts[i] = lvts[i];
lapics[apic_id].la_lvts[i].lvt_active = 0;
}
+ for (i = 0; i <= APIC_NUM_IOINTS; i++)
+ lapics[apic_id].la_ioint_irqs[i] = -1;
lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
IRQ_TIMER;
@@ -363,11 +365,15 @@
lapic_setup_clock(void)
{
u_long value;
+ int i;
/* Can't drive the timer without a local APIC. */
if (lapic == NULL)
return (0);
+ if (resource_int_value("apic", 0, "clock", &i) == 0 && i == 0)
+ return (0);
+
/* Start off with a divisor of 2 (power on reset default). */
lapic_timer_divisor = 2;
@@ -807,7 +813,7 @@
*/
mtx_lock_spin(&icu_lock);
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
- if (lapics[apic_id].la_ioint_irqs[vector] != 0)
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1)
continue;
lapics[apic_id].la_ioint_irqs[vector] = irq;
mtx_unlock_spin(&icu_lock);
@@ -847,7 +853,7 @@
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
/* Vector is in use, end run. */
- if (lapics[apic_id].la_ioint_irqs[vector] != 0) {
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
run = 0;
first = 0;
continue;
@@ -932,7 +938,7 @@
sched_bind(td, apic_cpuid(apic_id));
thread_unlock(td);
mtx_lock_spin(&icu_lock);
- lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = 0;
+ lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
mtx_unlock_spin(&icu_lock);
thread_lock(td);
sched_unbind(td);
@@ -944,11 +950,15 @@
u_int
apic_idt_to_irq(u_int apic_id, u_int vector)
{
+ int irq;
KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL &&
vector <= APIC_IO_INTS + APIC_NUM_IOINTS,
("Vector %u does not map to an IRQ line", vector));
- return (lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS]);
+ irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
+ if (irq < 0)
+ irq = 0;
+ return (irq);
}
#ifdef DDB
@@ -974,7 +984,7 @@
db_printf("Interrupts bound to lapic %u\n", apic_id);
for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) {
irq = lapics[apic_id].la_ioint_irqs[i];
- if (irq == 0 || irq == IRQ_SYSCALL)
+ if (irq == -1 || irq == IRQ_SYSCALL)
continue;
db_printf("vec 0x%2x -> ", i + APIC_IO_INTS);
if (irq == IRQ_TIMER)
==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#13 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.304 2009/04/29 06:54:40 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.305 2009/04/30 22:10:04 jkim Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -292,6 +292,10 @@
static void
topo_probe(void)
{
+ static int cpu_topo_probed = 0;
+
+ if (cpu_topo_probed)
+ return;
logical_cpus = logical_cpus_mask = 0;
if (cpu_high >= 0xb)
@@ -299,9 +303,10 @@
else if (cpu_high)
topo_probe_0x4();
if (cpu_cores == 0)
- cpu_cores = mp_ncpus;
+ cpu_cores = mp_ncpus > 0 ? mp_ncpus : 1;
if (cpu_logical == 0)
cpu_logical = 1;
+ cpu_topo_probed = 1;
}
struct cpu_group *
@@ -313,6 +318,7 @@
* Determine whether any threading flags are
* necessry.
*/
+ topo_probe();
if (cpu_logical > 1 && hyperthreading_cpus)
cg_flags = CG_FLAG_HTT;
else if (cpu_logical > 1)
==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#13 (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.523 2009/04/10 00:40:48 jfv Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.524 2009/05/01 17:20:16 sam Exp $
cpu HAMMER
ident GENERIC
@@ -292,8 +292,10 @@
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
+device rum # Ralink Technology RT2501USB wireless NICs
+device uath # Atheros AR5523 wireless NICs
device ural # Ralink Technology RT2500USB wireless NICs
-device rum # Ralink Technology RT2501USB wireless NICs
+device zyd # ZyDAS zb1211/zb1211b wireless NICs
device urio # Diamond Rio 500 MP3 player
# USB Serial devices
device uark # Technologies ARK3116 based serial adapters
==== //depot/projects/vimage-commit2/src/sys/amd64/isa/clock.c#2 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.243 2008/04/22 19:38:27 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.244 2009/05/01 21:43:04 mav Exp $");
/*
* Routines to handle clock hardware.
@@ -376,6 +376,17 @@
mtx_unlock_spin(&clock_lock);
}
+static void
+i8254_restore(void)
+{
+
+ mtx_lock_spin(&clock_lock);
+ outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+ outb(TIMER_CNTR0, i8254_real_max_count & 0xff);
+ outb(TIMER_CNTR0, i8254_real_max_count >> 8);
+ mtx_unlock_spin(&clock_lock);
+}
+
/* This is separate from startrtclock() so that it can be called early. */
void
i8254_init(void)
@@ -558,6 +569,14 @@
return(0);
}
+static int
+attimer_resume(device_t dev)
+{
+
+ i8254_restore();
+ return(0);
+}
+
static device_method_t attimer_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, attimer_probe),
@@ -565,7 +584,7 @@
DEVMETHOD(device_detach, bus_generic_detach),
DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(device_suspend, bus_generic_suspend),
- DEVMETHOD(device_resume, bus_generic_resume),
+ DEVMETHOD(device_resume, attimer_resume),
{ 0, 0 }
};
==== //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_sysvec.c#8 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.46 2009/04/05 09:27:19 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.47 2009/05/01 15:36:02 dchagin Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -128,7 +128,7 @@
static void linux32_fixlimit(struct rlimit *rl, int which);
extern LIST_HEAD(futex_list, futex) futex_list;
-extern struct sx futex_sx;
+extern struct mtx futex_mtx;
static eventhandler_tag linux_exit_tag;
static eventhandler_tag linux_schedtail_tag;
@@ -1117,7 +1117,7 @@
mtx_init(&emul_lock, "emuldata lock", NULL, MTX_DEF);
sx_init(&emul_shared_lock, "emuldata->shared lock");
LIST_INIT(&futex_list);
- sx_init(&futex_sx, "futex protection lock");
+ mtx_init(&futex_mtx, "ftllk", NULL, MTX_DEF);
linux_exit_tag = EVENTHANDLER_REGISTER(process_exit,
linux_proc_exit, NULL, 1000);
linux_schedtail_tag = EVENTHANDLER_REGISTER(schedtail,
@@ -1149,7 +1149,7 @@
linux_device_unregister_handler(*ldhp);
mtx_destroy(&emul_lock);
sx_destroy(&emul_shared_lock);
- sx_destroy(&futex_sx);
+ mtx_destroy(&futex_mtx);
EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
EVENTHANDLER_DEREGISTER(schedtail, linux_schedtail_tag);
EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag);
==== //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#6 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.19 2009/04/19 13:48:42 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.20 2009/05/01 15:36:02 dchagin Exp $");
#if 0
__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $");
#endif
@@ -62,419 +62,284 @@
#include
#include
+MALLOC_DEFINE(M_FUTEX, "futex", "Linux futexes");
+MALLOC_DEFINE(M_FUTEX_WP, "futex wp", "Linux futexes wp");
+
struct futex;
struct waiting_proc {
- struct thread *wp_t;
- struct futex *wp_new_futex;
+ uint32_t wp_flags;
+ struct futex *wp_futex;
TAILQ_ENTRY(waiting_proc) wp_list;
};
+
struct futex {
- void *f_uaddr;
- int f_refcount;
+ struct sx f_lck;
+ uint32_t *f_uaddr;
+ uint32_t f_refcount;
LIST_ENTRY(futex) f_list;
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
LIST_HEAD(futex_list, futex) futex_list;
-struct sx futex_sx; /* this protects the LIST of futexes */
-#define FUTEX_LOCK sx_xlock(&futex_sx)
-#define FUTEX_UNLOCK sx_xunlock(&futex_sx)
+#define FUTEX_LOCK(f) sx_xlock(&(f)->f_lck)
+#define FUTEX_UNLOCK(f) sx_xunlock(&(f)->f_lck)
+#define FUTEX_INIT(f) sx_init_flags(&(f)->f_lck, "ftlk", 0)
+#define FUTEX_DESTROY(f) sx_destroy(&(f)->f_lck)
+#define FUTEX_ASSERT_LOCKED(f) sx_assert(&(f)->f_lck, SA_XLOCKED)
-#define FUTEX_LOCKED 1
-#define FUTEX_UNLOCKED 0
+struct mtx futex_mtx; /* protects the futex list */
+#define FUTEXES_LOCK mtx_lock(&futex_mtx)
+#define FUTEXES_UNLOCK mtx_unlock(&futex_mtx)
-#define FUTEX_SYSTEM_LOCK mtx_lock(&Giant)
-#define FUTEX_SYSTEM_UNLOCK mtx_unlock(&Giant)
+/* flags for futex_get() */
+#define FUTEX_CREATE_WP 0x1 /* create waiting_proc */
+#define FUTEX_DONTCREATE 0x2 /* don't create futex if not exists */
+#define FUTEX_DONTEXISTS 0x4 /* return EINVAL if futex exists */
-static struct futex *futex_get(void *, int);
-static void futex_put(struct futex *);
-static int futex_sleep(struct futex *, struct thread *, unsigned long);
-static int futex_wake(struct futex *, int, struct futex *, int);
-static int futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr);
+/* wp_flags */
+#define FUTEX_WP_REQUEUED 0x1 /* wp requeued - wp moved from wp_list
+ * of futex where thread sleep to wp_list
+ * of another futex.
+ */
+#define FUTEX_WP_REMOVED 0x2 /* wp is woken up and removed from futex
+ * wp_list to prevent double wakeup.
+ */
/* support.s */
-int futex_xchgl(int oparg, caddr_t uaddr, int *oldval);
-int futex_addl(int oparg, caddr_t uaddr, int *oldval);
-int futex_orl(int oparg, caddr_t uaddr, int *oldval);
-int futex_andl(int oparg, caddr_t uaddr, int *oldval);
-int futex_xorl(int oparg, caddr_t uaddr, int *oldval);
+int futex_xchgl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_addl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_orl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_andl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_xorl(int oparg, uint32_t *uaddr, int *oldval);
-int
-linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args)
+static void
+futex_put(struct futex *f, struct waiting_proc *wp)
{
- int val;
- int ret;
- struct l_timespec timeout = {0, 0};
- int error = 0;
- struct futex *f;
- struct futex *newf;
- int timeout_hz;
- struct timeval tv = {0, 0};
- struct futex *f2;
- int op_ret;
- struct linux_emuldata *em;
+
+ FUTEX_ASSERT_LOCKED(f);
+ if (wp != NULL) {
+ if ((wp->wp_flags & FUTEX_WP_REMOVED) == 0)
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ free(wp, M_FUTEX_WP);
+ }
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf(ARGS(futex, "%p, %i, %i, *, %p, %i"), args->uaddr, args->op,
- args->val, args->uaddr2, args->val3);
-#endif
+ FUTEXES_LOCK;
+ if (--f->f_refcount == 0) {
+ LIST_REMOVE(f, f_list);
+ FUTEXES_UNLOCK;
+ FUTEX_UNLOCK(f);
- /*
- * Our implementation provides only privates futexes. Most of the apps
- * should use private futexes but don't claim so. Therefore we treat
- * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works
- * in most cases (ie. when futexes are not shared on file descriptor
- * or between different processes.).
- */
- args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG);
+ FUTEX_DESTROY(f);
+ free(f, M_FUTEX);
+ return;
+ }
- switch (args->op) {
- case LINUX_FUTEX_WAIT:
- FUTEX_SYSTEM_LOCK;
+ FUTEXES_UNLOCK;
+ FUTEX_UNLOCK(f);
+}
- if ((error = copyin(args->uaddr,
- &val, sizeof(val))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
- }
+static int
+futex_get0(uint32_t *uaddr, struct futex **newf, uint32_t flags)
+{
+ struct futex *f, *tmpf;
- if (val != args->val) {
- FUTEX_SYSTEM_UNLOCK;
- return EWOULDBLOCK;
- }
+ *newf = tmpf = NULL;
- if (args->timeout != NULL) {
- if ((error = copyin(args->timeout,
- &timeout, sizeof(timeout))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
+retry:
+ FUTEXES_LOCK;
+ LIST_FOREACH(f, &futex_list, f_list) {
+ if (f->f_uaddr == uaddr) {
+ if (tmpf != NULL) {
+ FUTEX_UNLOCK(tmpf);
+ FUTEX_DESTROY(tmpf);
+ free(tmpf, M_FUTEX);
+ }
+ if (flags & FUTEX_DONTEXISTS) {
+ FUTEXES_UNLOCK;
+ return (EINVAL);
}
- }
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: val = %d, uaddr = %p, "
- "*uaddr = %d, timeout = %d.%09lu\n",
- td->td_proc->p_pid, args->val,
- args->uaddr, val, timeout.tv_sec,
- (unsigned long)timeout.tv_nsec);
-#endif
- tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000;
- timeout_hz = tvtohz(&tv);
+ /*
+ * Increment refcount of the found futex to
+ * prevent it from deallocation before FUTEX_LOCK()
+ */
+ ++f->f_refcount;
+ FUTEXES_UNLOCK;
- if (timeout.tv_sec == 0 && timeout.tv_nsec == 0)
- timeout_hz = 0;
- /*
- * If the user process requests a non null timeout,
- * make sure we do not turn it into an infinite
- * timeout because timeout_hz gets null.
- *
- * We use a minimal timeout of 1/hz. Maybe it would
- * make sense to just return ETIMEDOUT without sleeping.
- */
- if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) &&
- (timeout_hz == 0))
- timeout_hz = 1;
-
-
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- ret = futex_sleep(f, td, timeout_hz);
- futex_put(f);
-
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: uaddr = %p, "
- "ret = %d\n", td->td_proc->p_pid, args->uaddr, ret);
-#endif
-
- FUTEX_SYSTEM_UNLOCK;
- switch (ret) {
- case EWOULDBLOCK: /* timeout */
- return ETIMEDOUT;
- break;
- case EINTR: /* signal */
- return EINTR;
- break;
- case 0: /* FUTEX_WAKE received */
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: uaddr = %p, "
- "got FUTEX_WAKE\n",
- td->td_proc->p_pid, args->uaddr);
-#endif
- return 0;
- break;
- default:
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT: unexpected ret = %d\n",
- ret);
-#endif
- break;
+ FUTEX_LOCK(f);
+ *newf = f;
+ return (0);
}
+ }
- /* NOTREACHED */
- break;
+ if (flags & FUTEX_DONTCREATE) {
+ FUTEXES_UNLOCK;
+ return (0);
+ }
- case LINUX_FUTEX_WAKE:
- FUTEX_SYSTEM_LOCK;
+ if (tmpf == NULL) {
+ FUTEXES_UNLOCK;
+ tmpf = malloc(sizeof(*tmpf), M_FUTEX, M_WAITOK | M_ZERO);
+ tmpf->f_uaddr = uaddr;
+ tmpf->f_refcount = 1;
+ FUTEX_INIT(tmpf);
+ TAILQ_INIT(&tmpf->f_waiting_proc);
/*
- * XXX: Linux is able to cope with different addresses
- * corresponding to the same mapped memory in the sleeping
- * and waker process(es).
+ * Lock the new futex before an insert into the futex_list
+ * to prevent futex usage by other.
*/
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAKE %d: uaddr = %p, val = %d\n",
- td->td_proc->p_pid, args->uaddr, args->val);
-#endif
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- td->td_retval[0] = futex_wake(f, args->val, NULL, 0);
- futex_put(f);
+ FUTEX_LOCK(tmpf);
+ goto retry;
+ }
- FUTEX_SYSTEM_UNLOCK;
- break;
+ LIST_INSERT_HEAD(&futex_list, tmpf, f_list);
+ FUTEXES_UNLOCK;
- case LINUX_FUTEX_CMP_REQUEUE:
- FUTEX_SYSTEM_LOCK;
+ *newf = tmpf;
+ return (0);
+}
- if ((error = copyin(args->uaddr,
- &val, sizeof(val))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
- }
+static int
+futex_get(uint32_t *uaddr, struct waiting_proc **wp, struct futex **f,
+ uint32_t flags)
+{
+ int error;
- if (val != args->val3) {
- FUTEX_SYSTEM_UNLOCK;
- return EAGAIN;
- }
+ if (flags & FUTEX_CREATE_WP) {
+ *wp = malloc(sizeof(struct waiting_proc), M_FUTEX_WP, M_WAITOK);
+ (*wp)->wp_flags = 0;
+ }
+ error = futex_get0(uaddr, f, flags);
+ if (error) {
+ if (flags & FUTEX_CREATE_WP)
+ free(*wp, M_FUTEX_WP);
+ return (error);
+ }
+ if (flags & FUTEX_CREATE_WP) {
+ TAILQ_INSERT_HEAD(&(*f)->f_waiting_proc, *wp, wp_list);
+ (*wp)->wp_futex = *f;
+ }
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- newf = futex_get(args->uaddr2, FUTEX_UNLOCKED);
- td->td_retval[0] = futex_wake(f, args->val, newf,
- (int)(unsigned long)args->timeout);
- futex_put(f);
- futex_put(newf);
-
- FUTEX_SYSTEM_UNLOCK;
- break;
-
- case LINUX_FUTEX_WAKE_OP:
- FUTEX_SYSTEM_LOCK;
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAKE_OP: %d: uaddr = %p, op = %d, "
- "val = %x, uaddr2 = %p, val3 = %x\n",
- td->td_proc->p_pid, args->uaddr, args->op,
- args->val, args->uaddr2, args->val3);
-#endif
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- f2 = futex_get(args->uaddr2, FUTEX_UNLOCKED);
-
- /*
- * This function returns positive number as results and
- * negative as errors
- */
- op_ret = futex_atomic_op(td, args->val3, args->uaddr2);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("futex_atomic_op ret %d\n", op_ret);
-#endif
- if (op_ret < 0) {
- /* XXX: We don't handle the EFAULT yet. */
- if (op_ret != -EFAULT) {
- futex_put(f);
- futex_put(f2);
- FUTEX_SYSTEM_UNLOCK;
- return (-op_ret);
- }
-
- futex_put(f);
- futex_put(f2);
-
- FUTEX_SYSTEM_UNLOCK;
- return (EFAULT);
- }
-
- ret = futex_wake(f, args->val, NULL, 0);
- futex_put(f);
- if (op_ret > 0) {
- op_ret = 0;
- /*
- * Linux abuses the address of the timespec parameter
- * as the number of retries.
- */
- op_ret += futex_wake(f2,
- (int)(unsigned long)args->timeout, NULL, 0);
- ret += op_ret;
- }
- futex_put(f2);
- td->td_retval[0] = ret;
-
- FUTEX_SYSTEM_UNLOCK;
- break;
-
- case LINUX_FUTEX_LOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_UNLOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_TRYLOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_REQUEUE:
-
- /*
- * Glibc does not use this operation since Jun 2004 (2.3.3),
- * as it is racy and replaced by FUTEX_CMP_REQUEUE operation.
- * Glibc versions prior to 2.3.3 fall back to FUTEX_WAKE when
- * FUTEX_REQUEUE returned EINVAL.
- */
- em = em_find(td->td_proc, EMUL_DONTLOCK);
- if (em->used_requeue == 0) {
- printf("linux(%s (%d)) sys_futex: "
- "unsupported futex_requeue op\n",
- td->td_proc->p_comm, td->td_proc->p_pid);
- em->used_requeue = 1;
- }
- return (EINVAL);
-
- default:
- printf("linux_sys_futex: unknown op %d\n",
- args->op);
- return (ENOSYS);
- }
- return (0);
+ return (error);
}
-static struct futex *
-futex_get(void *uaddr, int locked)
+static int
+futex_sleep(struct futex *f, struct waiting_proc *wp, unsigned long timeout)
{
- struct futex *f;
+ int error;
- if (locked == FUTEX_UNLOCKED)
- FUTEX_LOCK;
- LIST_FOREACH(f, &futex_list, f_list) {
- if (f->f_uaddr == uaddr) {
- f->f_refcount++;
- if (locked == FUTEX_UNLOCKED)
- FUTEX_UNLOCK;
- return f;
- }
+ FUTEX_ASSERT_LOCKED(f);
+ error = sx_sleep(wp, &f->f_lck, PCATCH, "futex", timeout);
+ if (wp->wp_flags & FUTEX_WP_REQUEUED) {
+ KASSERT(f != wp->wp_futex, ("futex != wp_futex"));
+ futex_put(f, NULL);
+ f = wp->wp_futex;
+ FUTEX_LOCK(f);
}
- f = malloc(sizeof(*f), M_LINUX, M_WAITOK);
- f->f_uaddr = uaddr;
- f->f_refcount = 1;
- TAILQ_INIT(&f->f_waiting_proc);
- LIST_INSERT_HEAD(&futex_list, f, f_list);
- if (locked == FUTEX_UNLOCKED)
- FUTEX_UNLOCK;
-
- return f;
+ futex_put(f, wp);
+ return (error);
}
-static void
-futex_put(f)
- struct futex *f;
+static int
+futex_wake(struct futex *f, int n)
{
- FUTEX_LOCK;
- f->f_refcount--;
- if (f->f_refcount == 0) {
- LIST_REMOVE(f, f_list);
- free(f, M_LINUX);
+ struct waiting_proc *wp, *wpt;
+ int count = 0;
+
+ FUTEX_ASSERT_LOCKED(f);
+ TAILQ_FOREACH_SAFE(wp, &f->f_waiting_proc, wp_list, wpt) {
+ wp->wp_flags |= FUTEX_WP_REMOVED;
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ wakeup_one(wp);
+ if (++count == n)
+ break;
}
- FUTEX_UNLOCK;
- return;
+ return (count);
}
static int
-futex_sleep(struct futex *f, struct thread *td, unsigned long timeout)
+futex_requeue(struct futex *f, int n, struct futex *f2, int n2)
{
- struct waiting_proc *wp;
- int ret;
+ struct waiting_proc *wp, *wpt;
+ int count = 0;
- wp = malloc(sizeof(*wp), M_LINUX, M_WAITOK);
- wp->wp_t = td;
- wp->wp_new_futex = NULL;
- FUTEX_LOCK;
- TAILQ_INSERT_TAIL(&f->f_waiting_proc, wp, wp_list);
- FUTEX_UNLOCK;
+ FUTEX_ASSERT_LOCKED(f);
+ FUTEX_ASSERT_LOCKED(f2);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX --> %d tlseep timeout = %ld\n",
- td->td_proc->p_pid, timeout);
-#endif
- ret = tsleep(wp, PCATCH | PZERO, "linuxfutex", timeout);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX -> %d tsleep returns %d\n",
- td->td_proc->p_pid, ret);
-#endif
+ TAILQ_FOREACH_SAFE(wp, &f->f_waiting_proc, wp_list, wpt) {
+ if (++count <= n) {
+ wp->wp_flags |= FUTEX_WP_REMOVED;
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ wakeup_one(wp);
+ } else {
+ wp->wp_flags |= FUTEX_WP_REQUEUED;
+ /* Move wp to wp_list of f2 futex */
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ TAILQ_INSERT_HEAD(&f2->f_waiting_proc, wp, wp_list);
- FUTEX_LOCK;
- TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
- FUTEX_UNLOCK;
-
- /* if we got woken up in futex_wake */
- if ((ret == 0) && (wp->wp_new_futex != NULL)) {
- /* suspend us on the new futex */
- ret = futex_sleep(wp->wp_new_futex, td, timeout);
- /* and release the old one */
- futex_put(wp->wp_new_futex);
+ /*
+ * Thread which sleeps on wp after waking should
+ * acquire f2 lock, so increment refcount of f2 to
+ * prevent it from premature deallocation.
+ */
+ wp->wp_futex = f2;
+ FUTEXES_LOCK;
+ ++f2->f_refcount;
+ FUTEXES_UNLOCK;
+ if (count - n >= n2)
+ break;
+ }
}
- free(wp, M_LINUX);
-
- return ret;
+ return (count);
}
static int
-futex_wake(struct futex *f, int n, struct futex *newf, int n2)
+futex_wait(struct futex *f, struct waiting_proc *wp, struct l_timespec *ts)
{
- struct waiting_proc *wp;
- int count;
+ struct l_timespec timeout = {0, 0};
+ struct timeval tv = {0, 0};
+ int timeout_hz;
+ int error;
+
+ if (ts != NULL) {
+ error = copyin(ts, &timeout, sizeof(timeout));
+ if (error)
+ return (error);
+ }
+
+ tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000;
+ timeout_hz = tvtohz(&tv);
+
+ if (timeout.tv_sec == 0 && timeout.tv_nsec == 0)
+ timeout_hz = 0;
/*
- * Linux is very strange it wakes up N threads for
- * all operations BUT requeue ones where its N+1
- * mimic this.
+ * If the user process requests a non null timeout,
+ * make sure we do not turn it into an infinite
+ * timeout because timeout_hz gets null.
+ *
+ * We use a minimal timeout of 1/hz. Maybe it would
+ * make sense to just return ETIMEDOUT without sleeping.
*/
- count = newf ? 0 : 1;
+ if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) &&
+ (timeout_hz == 0))
+ timeout_hz = 1;
- FUTEX_LOCK;
- TAILQ_FOREACH(wp, &f->f_waiting_proc, wp_list) {
- if (count <= n) {
- wakeup_one(wp);
- count++;
- } else {
- if (newf != NULL) {
- /* futex_put called after tsleep */
- wp->wp_new_futex = futex_get(newf->f_uaddr,
- FUTEX_LOCKED);
- wakeup_one(wp);
- if (count - n >= n2)
- break;
- }
- }
- }
- FUTEX_UNLOCK;
+ error = futex_sleep(f, wp, timeout_hz);
+ if (error == EWOULDBLOCK)
+ error = ETIMEDOUT;
- return count;
+ return (error);
}
static int
-futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr)
+futex_atomic_op(struct thread *td, int encoded_op, uint32_t *uaddr)
{
int op = (encoded_op >> 28) & 7;
int cmp = (encoded_op >> 24) & 15;
@@ -536,14 +401,237 @@
}
int
+linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args)
+{
+ int op_ret, val, ret, nrwake;
+ struct linux_emuldata *em;
+ struct waiting_proc *wp;
+ struct futex *f, *f2;
+ int error = 0;
+
+ /*
+ * Our implementation provides only privates futexes. Most of the apps
+ * should use private futexes but don't claim so. Therefore we treat
+ * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works
+ * in most cases (ie. when futexes are not shared on file descriptor
+ * or between different processes.).
+ */
+ args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG);
+
+ switch (args->op) {
+ case LINUX_FUTEX_WAIT:
+
+#ifdef DEBUG
+ if (ldebug(sys_futex))
+ printf(ARGS(sys_futex, "futex_wait val %d uaddr %p"),
+ args->val, args->uaddr);
+#endif
+ error = futex_get(args->uaddr, &wp, &f, FUTEX_CREATE_WP);
+ if (error)
+ return (error);
+ error = copyin(args->uaddr, &val, sizeof(val));
+ if (error) {
+ futex_put(f, wp);
+ return (error);
+ }
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From zec at FreeBSD.org Sat May 2 08:44:32 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 08:44:39 2009
Subject: PERFORCE change 161467 for review
Message-ID: <200905020844.n428iVBU010553@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161467
Change 161467 by zec@zec_amdx2 on 2009/05/02 08:44:24
IFC @ 161464
Affected files ...
.. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#17 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#21 integrate
.. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#29 integrate
.. //depot/projects/vimage/src/sys/amd64/isa/clock.c#10 integrate
.. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#15 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_futex.c#10 integrate
.. //depot/projects/vimage/src/sys/conf/NOTES#48 integrate
.. //depot/projects/vimage/src/sys/conf/files#65 integrate
.. //depot/projects/vimage/src/sys/conf/options#47 integrate
.. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#19 integrate
.. //depot/projects/vimage/src/sys/dev/ata/ata-all.h#14 integrate
.. //depot/projects/vimage/src/sys/dev/ata/ata-disk.c#12 integrate
.. //depot/projects/vimage/src/sys/dev/ata/ata-queue.c#12 integrate
.. //depot/projects/vimage/src/sys/dev/sk/if_sk.c#9 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_ural.c#7 integrate
.. //depot/projects/vimage/src/sys/i386/conf/GENERIC#32 integrate
.. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#17 integrate
.. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#20 integrate
.. //depot/projects/vimage/src/sys/i386/linux/linux_sysvec.c#11 integrate
.. //depot/projects/vimage/src/sys/isa/atrtc.c#2 integrate
.. //depot/projects/vimage/src/sys/kern/kern_osd.c#4 integrate
.. //depot/projects/vimage/src/sys/mips/include/pmap.h#4 integrate
.. //depot/projects/vimage/src/sys/mips/mips/pmap.c#11 integrate
.. //depot/projects/vimage/src/sys/modules/Makefile#46 integrate
.. //depot/projects/vimage/src/sys/net/ieee8023ad_lacp.c#11 integrate
.. //depot/projects/vimage/src/sys/net/if_bridge.c#29 integrate
.. //depot/projects/vimage/src/sys/net/if_gif.h#13 integrate
.. //depot/projects/vimage/src/sys/net/if_lagg.c#22 integrate
.. //depot/projects/vimage/src/sys/net/route.c#49 integrate
.. //depot/projects/vimage/src/sys/net/vnet.h#24 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ddb.c#22 integrate
.. //depot/projects/vimage/src/sys/netinet/igmp.c#37 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw.h#30 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#32 integrate
.. //depot/projects/vimage/src/sys/netinet/vinet.h#57 integrate
.. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#42 integrate
.. //depot/projects/vimage/src/sys/netinet6/vinet6.h#36 integrate
.. //depot/projects/vimage/src/sys/netipsec/vipsec.h#26 integrate
.. //depot/projects/vimage/src/sys/pc98/conf/GENERIC#21 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_atalk.c#3 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_audit.c#6 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_cred.c#3 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_inet.c#13 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_inet6.c#5 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_internal.h#10 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_net.c#8 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_pipe.c#8 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_posix_sem.c#9 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_posix_shm.c#4 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_priv.c#5 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_process.c#11 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_socket.c#7 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_system.c#7 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_sysv_msg.c#7 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_sysv_sem.c#7 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_sysv_shm.c#7 integrate
.. //depot/projects/vimage/src/sys/security/mac/mac_vfs.c#11 integrate
Differences ...
==== //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#17 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.52 2009/02/21 23:15:34 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -112,7 +112,7 @@
u_long la_stat_ticks;
u_long la_prof_ticks;
/* Include IDT_SYSCALL to make indexing easier. */
- u_int la_ioint_irqs[APIC_NUM_IOINTS + 1];
+ int la_ioint_irqs[APIC_NUM_IOINTS + 1];
} static lapics[MAX_APIC_ID + 1];
/* XXX: should thermal be an NMI? */
@@ -254,6 +254,8 @@
lapics[apic_id].la_lvts[i] = lvts[i];
lapics[apic_id].la_lvts[i].lvt_active = 0;
}
+ for (i = 0; i <= APIC_NUM_IOINTS; i++)
+ lapics[apic_id].la_ioint_irqs[i] = -1;
lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
IRQ_TIMER;
@@ -363,11 +365,15 @@
lapic_setup_clock(void)
{
u_long value;
+ int i;
/* Can't drive the timer without a local APIC. */
if (lapic == NULL)
return (0);
+ if (resource_int_value("apic", 0, "clock", &i) == 0 && i == 0)
+ return (0);
+
/* Start off with a divisor of 2 (power on reset default). */
lapic_timer_divisor = 2;
@@ -807,7 +813,7 @@
*/
mtx_lock_spin(&icu_lock);
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
- if (lapics[apic_id].la_ioint_irqs[vector] != 0)
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1)
continue;
lapics[apic_id].la_ioint_irqs[vector] = irq;
mtx_unlock_spin(&icu_lock);
@@ -847,7 +853,7 @@
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
/* Vector is in use, end run. */
- if (lapics[apic_id].la_ioint_irqs[vector] != 0) {
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
run = 0;
first = 0;
continue;
@@ -932,7 +938,7 @@
sched_bind(td, apic_cpuid(apic_id));
thread_unlock(td);
mtx_lock_spin(&icu_lock);
- lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = 0;
+ lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
mtx_unlock_spin(&icu_lock);
thread_lock(td);
sched_unbind(td);
@@ -944,11 +950,15 @@
u_int
apic_idt_to_irq(u_int apic_id, u_int vector)
{
+ int irq;
KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL &&
vector <= APIC_IO_INTS + APIC_NUM_IOINTS,
("Vector %u does not map to an IRQ line", vector));
- return (lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS]);
+ irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
+ if (irq < 0)
+ irq = 0;
+ return (irq);
}
#ifdef DDB
@@ -974,7 +984,7 @@
db_printf("Interrupts bound to lapic %u\n", apic_id);
for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) {
irq = lapics[apic_id].la_ioint_irqs[i];
- if (irq == 0 || irq == IRQ_SYSCALL)
+ if (irq == -1 || irq == IRQ_SYSCALL)
continue;
db_printf("vec 0x%2x -> ", i + APIC_IO_INTS);
if (irq == IRQ_TIMER)
==== //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#21 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.304 2009/04/29 06:54:40 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.305 2009/04/30 22:10:04 jkim Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -292,6 +292,10 @@
static void
topo_probe(void)
{
+ static int cpu_topo_probed = 0;
+
+ if (cpu_topo_probed)
+ return;
logical_cpus = logical_cpus_mask = 0;
if (cpu_high >= 0xb)
@@ -299,9 +303,10 @@
else if (cpu_high)
topo_probe_0x4();
if (cpu_cores == 0)
- cpu_cores = mp_ncpus;
+ cpu_cores = mp_ncpus > 0 ? mp_ncpus : 1;
if (cpu_logical == 0)
cpu_logical = 1;
+ cpu_topo_probed = 1;
}
struct cpu_group *
@@ -313,6 +318,7 @@
* Determine whether any threading flags are
* necessry.
*/
+ topo_probe();
if (cpu_logical > 1 && hyperthreading_cpus)
cg_flags = CG_FLAG_HTT;
else if (cpu_logical > 1)
==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#29 (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.523 2009/04/10 00:40:48 jfv Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.524 2009/05/01 17:20:16 sam Exp $
cpu HAMMER
ident GENERIC
@@ -292,8 +292,10 @@
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
+device rum # Ralink Technology RT2501USB wireless NICs
+device uath # Atheros AR5523 wireless NICs
device ural # Ralink Technology RT2500USB wireless NICs
-device rum # Ralink Technology RT2501USB wireless NICs
+device zyd # ZyDAS zb1211/zb1211b wireless NICs
device urio # Diamond Rio 500 MP3 player
# USB Serial devices
device uark # Technologies ARK3116 based serial adapters
==== //depot/projects/vimage/src/sys/amd64/isa/clock.c#10 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.243 2008/04/22 19:38:27 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.244 2009/05/01 21:43:04 mav Exp $");
/*
* Routines to handle clock hardware.
@@ -376,6 +376,17 @@
mtx_unlock_spin(&clock_lock);
}
+static void
+i8254_restore(void)
+{
+
+ mtx_lock_spin(&clock_lock);
+ outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT);
+ outb(TIMER_CNTR0, i8254_real_max_count & 0xff);
+ outb(TIMER_CNTR0, i8254_real_max_count >> 8);
+ mtx_unlock_spin(&clock_lock);
+}
+
/* This is separate from startrtclock() so that it can be called early. */
void
i8254_init(void)
@@ -558,6 +569,14 @@
return(0);
}
+static int
+attimer_resume(device_t dev)
+{
+
+ i8254_restore();
+ return(0);
+}
+
static device_method_t attimer_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, attimer_probe),
@@ -565,7 +584,7 @@
DEVMETHOD(device_detach, bus_generic_detach),
DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(device_suspend, bus_generic_suspend),
- DEVMETHOD(device_resume, bus_generic_resume),
+ DEVMETHOD(device_resume, attimer_resume),
{ 0, 0 }
};
==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#15 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.46 2009/04/05 09:27:19 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.47 2009/05/01 15:36:02 dchagin Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -128,7 +128,7 @@
static void linux32_fixlimit(struct rlimit *rl, int which);
extern LIST_HEAD(futex_list, futex) futex_list;
-extern struct sx futex_sx;
+extern struct mtx futex_mtx;
static eventhandler_tag linux_exit_tag;
static eventhandler_tag linux_schedtail_tag;
@@ -1117,7 +1117,7 @@
mtx_init(&emul_lock, "emuldata lock", NULL, MTX_DEF);
sx_init(&emul_shared_lock, "emuldata->shared lock");
LIST_INIT(&futex_list);
- sx_init(&futex_sx, "futex protection lock");
+ mtx_init(&futex_mtx, "ftllk", NULL, MTX_DEF);
linux_exit_tag = EVENTHANDLER_REGISTER(process_exit,
linux_proc_exit, NULL, 1000);
linux_schedtail_tag = EVENTHANDLER_REGISTER(schedtail,
@@ -1149,7 +1149,7 @@
linux_device_unregister_handler(*ldhp);
mtx_destroy(&emul_lock);
sx_destroy(&emul_shared_lock);
- sx_destroy(&futex_sx);
+ mtx_destroy(&futex_mtx);
EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
EVENTHANDLER_DEREGISTER(schedtail, linux_schedtail_tag);
EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag);
==== //depot/projects/vimage/src/sys/compat/linux/linux_futex.c#10 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.19 2009/04/19 13:48:42 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.20 2009/05/01 15:36:02 dchagin Exp $");
#if 0
__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $");
#endif
@@ -62,419 +62,284 @@
#include
#include
+MALLOC_DEFINE(M_FUTEX, "futex", "Linux futexes");
+MALLOC_DEFINE(M_FUTEX_WP, "futex wp", "Linux futexes wp");
+
struct futex;
struct waiting_proc {
- struct thread *wp_t;
- struct futex *wp_new_futex;
+ uint32_t wp_flags;
+ struct futex *wp_futex;
TAILQ_ENTRY(waiting_proc) wp_list;
};
+
struct futex {
- void *f_uaddr;
- int f_refcount;
+ struct sx f_lck;
+ uint32_t *f_uaddr;
+ uint32_t f_refcount;
LIST_ENTRY(futex) f_list;
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
LIST_HEAD(futex_list, futex) futex_list;
-struct sx futex_sx; /* this protects the LIST of futexes */
-#define FUTEX_LOCK sx_xlock(&futex_sx)
-#define FUTEX_UNLOCK sx_xunlock(&futex_sx)
+#define FUTEX_LOCK(f) sx_xlock(&(f)->f_lck)
+#define FUTEX_UNLOCK(f) sx_xunlock(&(f)->f_lck)
+#define FUTEX_INIT(f) sx_init_flags(&(f)->f_lck, "ftlk", 0)
+#define FUTEX_DESTROY(f) sx_destroy(&(f)->f_lck)
+#define FUTEX_ASSERT_LOCKED(f) sx_assert(&(f)->f_lck, SA_XLOCKED)
-#define FUTEX_LOCKED 1
-#define FUTEX_UNLOCKED 0
+struct mtx futex_mtx; /* protects the futex list */
+#define FUTEXES_LOCK mtx_lock(&futex_mtx)
+#define FUTEXES_UNLOCK mtx_unlock(&futex_mtx)
-#define FUTEX_SYSTEM_LOCK mtx_lock(&Giant)
-#define FUTEX_SYSTEM_UNLOCK mtx_unlock(&Giant)
+/* flags for futex_get() */
+#define FUTEX_CREATE_WP 0x1 /* create waiting_proc */
+#define FUTEX_DONTCREATE 0x2 /* don't create futex if not exists */
+#define FUTEX_DONTEXISTS 0x4 /* return EINVAL if futex exists */
-static struct futex *futex_get(void *, int);
-static void futex_put(struct futex *);
-static int futex_sleep(struct futex *, struct thread *, unsigned long);
-static int futex_wake(struct futex *, int, struct futex *, int);
-static int futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr);
+/* wp_flags */
+#define FUTEX_WP_REQUEUED 0x1 /* wp requeued - wp moved from wp_list
+ * of futex where thread sleep to wp_list
+ * of another futex.
+ */
+#define FUTEX_WP_REMOVED 0x2 /* wp is woken up and removed from futex
+ * wp_list to prevent double wakeup.
+ */
/* support.s */
-int futex_xchgl(int oparg, caddr_t uaddr, int *oldval);
-int futex_addl(int oparg, caddr_t uaddr, int *oldval);
-int futex_orl(int oparg, caddr_t uaddr, int *oldval);
-int futex_andl(int oparg, caddr_t uaddr, int *oldval);
-int futex_xorl(int oparg, caddr_t uaddr, int *oldval);
+int futex_xchgl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_addl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_orl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_andl(int oparg, uint32_t *uaddr, int *oldval);
+int futex_xorl(int oparg, uint32_t *uaddr, int *oldval);
-int
-linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args)
+static void
+futex_put(struct futex *f, struct waiting_proc *wp)
{
- int val;
- int ret;
- struct l_timespec timeout = {0, 0};
- int error = 0;
- struct futex *f;
- struct futex *newf;
- int timeout_hz;
- struct timeval tv = {0, 0};
- struct futex *f2;
- int op_ret;
- struct linux_emuldata *em;
+
+ FUTEX_ASSERT_LOCKED(f);
+ if (wp != NULL) {
+ if ((wp->wp_flags & FUTEX_WP_REMOVED) == 0)
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ free(wp, M_FUTEX_WP);
+ }
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf(ARGS(futex, "%p, %i, %i, *, %p, %i"), args->uaddr, args->op,
- args->val, args->uaddr2, args->val3);
-#endif
+ FUTEXES_LOCK;
+ if (--f->f_refcount == 0) {
+ LIST_REMOVE(f, f_list);
+ FUTEXES_UNLOCK;
+ FUTEX_UNLOCK(f);
- /*
- * Our implementation provides only privates futexes. Most of the apps
- * should use private futexes but don't claim so. Therefore we treat
- * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works
- * in most cases (ie. when futexes are not shared on file descriptor
- * or between different processes.).
- */
- args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG);
+ FUTEX_DESTROY(f);
+ free(f, M_FUTEX);
+ return;
+ }
- switch (args->op) {
- case LINUX_FUTEX_WAIT:
- FUTEX_SYSTEM_LOCK;
+ FUTEXES_UNLOCK;
+ FUTEX_UNLOCK(f);
+}
- if ((error = copyin(args->uaddr,
- &val, sizeof(val))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
- }
+static int
+futex_get0(uint32_t *uaddr, struct futex **newf, uint32_t flags)
+{
+ struct futex *f, *tmpf;
- if (val != args->val) {
- FUTEX_SYSTEM_UNLOCK;
- return EWOULDBLOCK;
- }
+ *newf = tmpf = NULL;
- if (args->timeout != NULL) {
- if ((error = copyin(args->timeout,
- &timeout, sizeof(timeout))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
+retry:
+ FUTEXES_LOCK;
+ LIST_FOREACH(f, &futex_list, f_list) {
+ if (f->f_uaddr == uaddr) {
+ if (tmpf != NULL) {
+ FUTEX_UNLOCK(tmpf);
+ FUTEX_DESTROY(tmpf);
+ free(tmpf, M_FUTEX);
+ }
+ if (flags & FUTEX_DONTEXISTS) {
+ FUTEXES_UNLOCK;
+ return (EINVAL);
}
- }
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: val = %d, uaddr = %p, "
- "*uaddr = %d, timeout = %d.%09lu\n",
- td->td_proc->p_pid, args->val,
- args->uaddr, val, timeout.tv_sec,
- (unsigned long)timeout.tv_nsec);
-#endif
- tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000;
- timeout_hz = tvtohz(&tv);
+ /*
+ * Increment refcount of the found futex to
+ * prevent it from deallocation before FUTEX_LOCK()
+ */
+ ++f->f_refcount;
+ FUTEXES_UNLOCK;
- if (timeout.tv_sec == 0 && timeout.tv_nsec == 0)
- timeout_hz = 0;
- /*
- * If the user process requests a non null timeout,
- * make sure we do not turn it into an infinite
- * timeout because timeout_hz gets null.
- *
- * We use a minimal timeout of 1/hz. Maybe it would
- * make sense to just return ETIMEDOUT without sleeping.
- */
- if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) &&
- (timeout_hz == 0))
- timeout_hz = 1;
-
-
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- ret = futex_sleep(f, td, timeout_hz);
- futex_put(f);
-
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: uaddr = %p, "
- "ret = %d\n", td->td_proc->p_pid, args->uaddr, ret);
-#endif
-
- FUTEX_SYSTEM_UNLOCK;
- switch (ret) {
- case EWOULDBLOCK: /* timeout */
- return ETIMEDOUT;
- break;
- case EINTR: /* signal */
- return EINTR;
- break;
- case 0: /* FUTEX_WAKE received */
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT %d: uaddr = %p, "
- "got FUTEX_WAKE\n",
- td->td_proc->p_pid, args->uaddr);
-#endif
- return 0;
- break;
- default:
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAIT: unexpected ret = %d\n",
- ret);
-#endif
- break;
+ FUTEX_LOCK(f);
+ *newf = f;
+ return (0);
}
+ }
- /* NOTREACHED */
- break;
+ if (flags & FUTEX_DONTCREATE) {
+ FUTEXES_UNLOCK;
+ return (0);
+ }
- case LINUX_FUTEX_WAKE:
- FUTEX_SYSTEM_LOCK;
+ if (tmpf == NULL) {
+ FUTEXES_UNLOCK;
+ tmpf = malloc(sizeof(*tmpf), M_FUTEX, M_WAITOK | M_ZERO);
+ tmpf->f_uaddr = uaddr;
+ tmpf->f_refcount = 1;
+ FUTEX_INIT(tmpf);
+ TAILQ_INIT(&tmpf->f_waiting_proc);
/*
- * XXX: Linux is able to cope with different addresses
- * corresponding to the same mapped memory in the sleeping
- * and waker process(es).
+ * Lock the new futex before an insert into the futex_list
+ * to prevent futex usage by other.
*/
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAKE %d: uaddr = %p, val = %d\n",
- td->td_proc->p_pid, args->uaddr, args->val);
-#endif
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- td->td_retval[0] = futex_wake(f, args->val, NULL, 0);
- futex_put(f);
+ FUTEX_LOCK(tmpf);
+ goto retry;
+ }
- FUTEX_SYSTEM_UNLOCK;
- break;
+ LIST_INSERT_HEAD(&futex_list, tmpf, f_list);
+ FUTEXES_UNLOCK;
- case LINUX_FUTEX_CMP_REQUEUE:
- FUTEX_SYSTEM_LOCK;
+ *newf = tmpf;
+ return (0);
+}
- if ((error = copyin(args->uaddr,
- &val, sizeof(val))) != 0) {
- FUTEX_SYSTEM_UNLOCK;
- return error;
- }
+static int
+futex_get(uint32_t *uaddr, struct waiting_proc **wp, struct futex **f,
+ uint32_t flags)
+{
+ int error;
- if (val != args->val3) {
- FUTEX_SYSTEM_UNLOCK;
- return EAGAIN;
- }
+ if (flags & FUTEX_CREATE_WP) {
+ *wp = malloc(sizeof(struct waiting_proc), M_FUTEX_WP, M_WAITOK);
+ (*wp)->wp_flags = 0;
+ }
+ error = futex_get0(uaddr, f, flags);
+ if (error) {
+ if (flags & FUTEX_CREATE_WP)
+ free(*wp, M_FUTEX_WP);
+ return (error);
+ }
+ if (flags & FUTEX_CREATE_WP) {
+ TAILQ_INSERT_HEAD(&(*f)->f_waiting_proc, *wp, wp_list);
+ (*wp)->wp_futex = *f;
+ }
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- newf = futex_get(args->uaddr2, FUTEX_UNLOCKED);
- td->td_retval[0] = futex_wake(f, args->val, newf,
- (int)(unsigned long)args->timeout);
- futex_put(f);
- futex_put(newf);
-
- FUTEX_SYSTEM_UNLOCK;
- break;
-
- case LINUX_FUTEX_WAKE_OP:
- FUTEX_SYSTEM_LOCK;
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX_WAKE_OP: %d: uaddr = %p, op = %d, "
- "val = %x, uaddr2 = %p, val3 = %x\n",
- td->td_proc->p_pid, args->uaddr, args->op,
- args->val, args->uaddr2, args->val3);
-#endif
- f = futex_get(args->uaddr, FUTEX_UNLOCKED);
- f2 = futex_get(args->uaddr2, FUTEX_UNLOCKED);
-
- /*
- * This function returns positive number as results and
- * negative as errors
- */
- op_ret = futex_atomic_op(td, args->val3, args->uaddr2);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("futex_atomic_op ret %d\n", op_ret);
-#endif
- if (op_ret < 0) {
- /* XXX: We don't handle the EFAULT yet. */
- if (op_ret != -EFAULT) {
- futex_put(f);
- futex_put(f2);
- FUTEX_SYSTEM_UNLOCK;
- return (-op_ret);
- }
-
- futex_put(f);
- futex_put(f2);
-
- FUTEX_SYSTEM_UNLOCK;
- return (EFAULT);
- }
-
- ret = futex_wake(f, args->val, NULL, 0);
- futex_put(f);
- if (op_ret > 0) {
- op_ret = 0;
- /*
- * Linux abuses the address of the timespec parameter
- * as the number of retries.
- */
- op_ret += futex_wake(f2,
- (int)(unsigned long)args->timeout, NULL, 0);
- ret += op_ret;
- }
- futex_put(f2);
- td->td_retval[0] = ret;
-
- FUTEX_SYSTEM_UNLOCK;
- break;
-
- case LINUX_FUTEX_LOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_UNLOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_TRYLOCK_PI:
- /* not yet implemented */
- return (ENOSYS);
-
- case LINUX_FUTEX_REQUEUE:
-
- /*
- * Glibc does not use this operation since Jun 2004 (2.3.3),
- * as it is racy and replaced by FUTEX_CMP_REQUEUE operation.
- * Glibc versions prior to 2.3.3 fall back to FUTEX_WAKE when
- * FUTEX_REQUEUE returned EINVAL.
- */
- em = em_find(td->td_proc, EMUL_DONTLOCK);
- if (em->used_requeue == 0) {
- printf("linux(%s (%d)) sys_futex: "
- "unsupported futex_requeue op\n",
- td->td_proc->p_comm, td->td_proc->p_pid);
- em->used_requeue = 1;
- }
- return (EINVAL);
-
- default:
- printf("linux_sys_futex: unknown op %d\n",
- args->op);
- return (ENOSYS);
- }
- return (0);
+ return (error);
}
-static struct futex *
-futex_get(void *uaddr, int locked)
+static int
+futex_sleep(struct futex *f, struct waiting_proc *wp, unsigned long timeout)
{
- struct futex *f;
+ int error;
- if (locked == FUTEX_UNLOCKED)
- FUTEX_LOCK;
- LIST_FOREACH(f, &futex_list, f_list) {
- if (f->f_uaddr == uaddr) {
- f->f_refcount++;
- if (locked == FUTEX_UNLOCKED)
- FUTEX_UNLOCK;
- return f;
- }
+ FUTEX_ASSERT_LOCKED(f);
+ error = sx_sleep(wp, &f->f_lck, PCATCH, "futex", timeout);
+ if (wp->wp_flags & FUTEX_WP_REQUEUED) {
+ KASSERT(f != wp->wp_futex, ("futex != wp_futex"));
+ futex_put(f, NULL);
+ f = wp->wp_futex;
+ FUTEX_LOCK(f);
}
- f = malloc(sizeof(*f), M_LINUX, M_WAITOK);
- f->f_uaddr = uaddr;
- f->f_refcount = 1;
- TAILQ_INIT(&f->f_waiting_proc);
- LIST_INSERT_HEAD(&futex_list, f, f_list);
- if (locked == FUTEX_UNLOCKED)
- FUTEX_UNLOCK;
-
- return f;
+ futex_put(f, wp);
+ return (error);
}
-static void
-futex_put(f)
- struct futex *f;
+static int
+futex_wake(struct futex *f, int n)
{
- FUTEX_LOCK;
- f->f_refcount--;
- if (f->f_refcount == 0) {
- LIST_REMOVE(f, f_list);
- free(f, M_LINUX);
+ struct waiting_proc *wp, *wpt;
+ int count = 0;
+
+ FUTEX_ASSERT_LOCKED(f);
+ TAILQ_FOREACH_SAFE(wp, &f->f_waiting_proc, wp_list, wpt) {
+ wp->wp_flags |= FUTEX_WP_REMOVED;
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ wakeup_one(wp);
+ if (++count == n)
+ break;
}
- FUTEX_UNLOCK;
- return;
+ return (count);
}
static int
-futex_sleep(struct futex *f, struct thread *td, unsigned long timeout)
+futex_requeue(struct futex *f, int n, struct futex *f2, int n2)
{
- struct waiting_proc *wp;
- int ret;
+ struct waiting_proc *wp, *wpt;
+ int count = 0;
- wp = malloc(sizeof(*wp), M_LINUX, M_WAITOK);
- wp->wp_t = td;
- wp->wp_new_futex = NULL;
- FUTEX_LOCK;
- TAILQ_INSERT_TAIL(&f->f_waiting_proc, wp, wp_list);
- FUTEX_UNLOCK;
+ FUTEX_ASSERT_LOCKED(f);
+ FUTEX_ASSERT_LOCKED(f2);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX --> %d tlseep timeout = %ld\n",
- td->td_proc->p_pid, timeout);
-#endif
- ret = tsleep(wp, PCATCH | PZERO, "linuxfutex", timeout);
-#ifdef DEBUG
- if (ldebug(sys_futex))
- printf("FUTEX -> %d tsleep returns %d\n",
- td->td_proc->p_pid, ret);
-#endif
+ TAILQ_FOREACH_SAFE(wp, &f->f_waiting_proc, wp_list, wpt) {
+ if (++count <= n) {
+ wp->wp_flags |= FUTEX_WP_REMOVED;
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ wakeup_one(wp);
+ } else {
+ wp->wp_flags |= FUTEX_WP_REQUEUED;
+ /* Move wp to wp_list of f2 futex */
+ TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
+ TAILQ_INSERT_HEAD(&f2->f_waiting_proc, wp, wp_list);
- FUTEX_LOCK;
- TAILQ_REMOVE(&f->f_waiting_proc, wp, wp_list);
- FUTEX_UNLOCK;
-
- /* if we got woken up in futex_wake */
- if ((ret == 0) && (wp->wp_new_futex != NULL)) {
- /* suspend us on the new futex */
- ret = futex_sleep(wp->wp_new_futex, td, timeout);
- /* and release the old one */
- futex_put(wp->wp_new_futex);
+ /*
+ * Thread which sleeps on wp after waking should
+ * acquire f2 lock, so increment refcount of f2 to
+ * prevent it from premature deallocation.
+ */
+ wp->wp_futex = f2;
+ FUTEXES_LOCK;
+ ++f2->f_refcount;
+ FUTEXES_UNLOCK;
+ if (count - n >= n2)
+ break;
+ }
}
- free(wp, M_LINUX);
-
- return ret;
+ return (count);
}
static int
-futex_wake(struct futex *f, int n, struct futex *newf, int n2)
+futex_wait(struct futex *f, struct waiting_proc *wp, struct l_timespec *ts)
{
- struct waiting_proc *wp;
- int count;
+ struct l_timespec timeout = {0, 0};
+ struct timeval tv = {0, 0};
+ int timeout_hz;
+ int error;
+
+ if (ts != NULL) {
+ error = copyin(ts, &timeout, sizeof(timeout));
+ if (error)
+ return (error);
+ }
+
+ tv.tv_usec = timeout.tv_sec * 1000000 + timeout.tv_nsec / 1000;
+ timeout_hz = tvtohz(&tv);
+
+ if (timeout.tv_sec == 0 && timeout.tv_nsec == 0)
+ timeout_hz = 0;
/*
- * Linux is very strange it wakes up N threads for
- * all operations BUT requeue ones where its N+1
- * mimic this.
+ * If the user process requests a non null timeout,
+ * make sure we do not turn it into an infinite
+ * timeout because timeout_hz gets null.
+ *
+ * We use a minimal timeout of 1/hz. Maybe it would
+ * make sense to just return ETIMEDOUT without sleeping.
*/
- count = newf ? 0 : 1;
+ if (((timeout.tv_sec != 0) || (timeout.tv_nsec != 0)) &&
+ (timeout_hz == 0))
+ timeout_hz = 1;
- FUTEX_LOCK;
- TAILQ_FOREACH(wp, &f->f_waiting_proc, wp_list) {
- if (count <= n) {
- wakeup_one(wp);
- count++;
- } else {
- if (newf != NULL) {
- /* futex_put called after tsleep */
- wp->wp_new_futex = futex_get(newf->f_uaddr,
- FUTEX_LOCKED);
- wakeup_one(wp);
- if (count - n >= n2)
- break;
- }
- }
- }
- FUTEX_UNLOCK;
+ error = futex_sleep(f, wp, timeout_hz);
+ if (error == EWOULDBLOCK)
+ error = ETIMEDOUT;
- return count;
+ return (error);
}
static int
-futex_atomic_op(struct thread *td, int encoded_op, caddr_t uaddr)
+futex_atomic_op(struct thread *td, int encoded_op, uint32_t *uaddr)
{
int op = (encoded_op >> 28) & 7;
int cmp = (encoded_op >> 24) & 15;
@@ -536,14 +401,237 @@
}
int
+linux_sys_futex(struct thread *td, struct linux_sys_futex_args *args)
+{
+ int op_ret, val, ret, nrwake;
+ struct linux_emuldata *em;
+ struct waiting_proc *wp;
+ struct futex *f, *f2;
+ int error = 0;
+
+ /*
+ * Our implementation provides only privates futexes. Most of the apps
+ * should use private futexes but don't claim so. Therefore we treat
+ * all futexes as private by clearing the FUTEX_PRIVATE_FLAG. It works
+ * in most cases (ie. when futexes are not shared on file descriptor
+ * or between different processes.).
+ */
+ args->op = (args->op & ~LINUX_FUTEX_PRIVATE_FLAG);
+
+ switch (args->op) {
+ case LINUX_FUTEX_WAIT:
+
+#ifdef DEBUG
+ if (ldebug(sys_futex))
+ printf(ARGS(sys_futex, "futex_wait val %d uaddr %p"),
+ args->val, args->uaddr);
+#endif
+ error = futex_get(args->uaddr, &wp, &f, FUTEX_CREATE_WP);
+ if (error)
+ return (error);
+ error = copyin(args->uaddr, &val, sizeof(val));
+ if (error) {
+ futex_put(f, wp);
+ return (error);
+ }
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From zec at FreeBSD.org Sat May 2 08:52:41 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 08:52:47 2009
Subject: PERFORCE change 161468 for review
Message-ID: <200905020852.n428qdvl020972@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161468
Change 161468 by zec@zec_amdx2 on 2009/05/02 08:52:26
Postpone controversy / debate about M_REMOTE_VNET mbuf
flag for some other commit / time - not just now...
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/sys/mbuf.h#8 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/sys/mbuf.h#8 (text+ko) ====
@@ -200,7 +200,6 @@
#define M_PROTO7 0x00100000 /* protocol-specific */
#define M_PROTO8 0x00200000 /* protocol-specific */
#define M_FLOWID 0x00400000 /* flowid is valid */
-#define M_REMOTE_VNET 0x00800000 /* mbuf crossed boundary between two vnets */
/*
* For RELENG_{6,7} steal these flags for limited multiple routing table
* support. In RELENG_8 and beyond, use just one flag and a tag.
From zec at FreeBSD.org Sat May 2 10:22:13 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 10:22:18 2009
Subject: PERFORCE change 161470 for review
Message-ID: <200905021022.n42AMAcv029538@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161470
Change 161470 by zec@zec_tpx32 on 2009/05/02 10:22:09
Reduce controversy by not throwing CURVNET_SET() / RESTORE()
macros at NFS code, which is already known to be disfunctional
with options VIMAGE builds. This will probably be reintroduced
later in an integral NFS + VIMAGE fix.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#8 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/kern/vfs_export.c#8 (text+ko) ====
@@ -51,7 +51,6 @@
#include
#include
#include
-#include
#include
@@ -142,7 +141,6 @@
}
#endif
- CURVNET_SET(TD_TO_VNET(curthread)); /* XXX MARKO */
i = sizeof(struct netcred) + argp->ex_addrlen + argp->ex_masklen;
np = (struct netcred *) malloc(i, M_NETADDR, M_WAITOK | M_ZERO);
saddr = (struct sockaddr *) (np + 1);
@@ -215,10 +213,8 @@
bcopy(argp->ex_secflavors, np->netc_secflavors,
sizeof(np->netc_secflavors));
refcount_init(&np->netc_anon.cr_ref, 1);
- CURVNET_RESTORE();
return (0);
out:
- CURVNET_RESTORE();
free(np, M_NETADDR);
return (error);
}
From zec at FreeBSD.org Sat May 2 10:25:15 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 10:25:22 2009
Subject: PERFORCE change 161471 for review
Message-ID: <200905021025.n42APEvW029775@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161471
Change 161471 by zec@zec_tpx32 on 2009/05/02 10:24:40
rm redundant blank line.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#24 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#24 (text+ko) ====
@@ -44,7 +44,6 @@
#include
#endif
-
#ifndef VIMAGE_GLOBALS
MALLOC_DEFINE(M_VIMAGE, "vimage", "vimage resource container");
From zec at FreeBSD.org Sat May 2 10:29:21 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 10:29:27 2009
Subject: PERFORCE change 161472 for review
Message-ID: <200905021029.n42ATJfU030014@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161472
Change 161472 by zec@zec_tpx32 on 2009/05/02 10:28:54
Remove dead code.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/netinet/igmp.c#32 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/netinet/igmp.c#32 (text+ko) ====
@@ -1117,10 +1117,6 @@
nsrc = ntohs(igmpv3->igmp_numsrc);
-#if 0 /* MARKO, what is this? */
- SLIST_INIT(&V_router_info_head);
-#endif
-
if (!IS_DEFAULT_VNET(curvnet))
return (retval);
From zec at FreeBSD.org Sat May 2 10:36:28 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 10:36:34 2009
Subject: PERFORCE change 161473 for review
Message-ID: <200905021036.n42AaQUU030575@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161473
Change 161473 by zec@zec_tpx32 on 2009/05/02 10:35:41
1st pass / attempt at unbreaking new mcast6 code in
options VIMAGE builds.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#19 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#19 (text+ko) ====
@@ -2908,7 +2908,6 @@
* indexes to guard against interface detach, they are
* unique to each VIMAGE and must be retrieved.
*/
- CURVNET_SET(m->m_pkthdr.rcvif->if_vnet); /* XXX Marko revisit! */
INIT_VNET_NET(curvnet);
INIT_VNET_INET6(curvnet);
ifindex = mld_restore_context(m);
@@ -2987,10 +2986,7 @@
}
}
out:
- /*
- * We must restore the existing vnet pointer before continuing.
- */
- CURVNET_RESTORE();
+ return;
}
/*
From zec at FreeBSD.org Sat May 2 10:39:31 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 10:39:37 2009
Subject: PERFORCE change 161474 for review
Message-ID: <200905021039.n42AdTGX030794@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161474
Change 161474 by zec@zec_tpx32 on 2009/05/02 10:39:11
Prune vimage reference from a comment no longer valid.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/sys/ucred.h#3 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/sys/ucred.h#3 (text+ko) ====
@@ -56,7 +56,7 @@
struct uidinfo *cr_ruidinfo; /* per ruid resource consumption */
struct prison *cr_prison; /* jail(2) */
struct vnet *cr_vnet; /* vimage / vnet */
- void *cr_pspare[2]; /* vimage 1; general use 1 */
+ void *cr_pspare[2]; /* general use 2 */
#define cr_endcopy cr_label
struct label *cr_label; /* MAC label */
struct auditinfo_addr cr_audit; /* Audit properties. */
From zec at FreeBSD.org Sat May 2 10:53:45 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Sat May 2 10:53:51 2009
Subject: PERFORCE change 161475 for review
Message-ID: <200905021053.n42Ariii031849@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161475
Change 161475 by zec@zec_tpx32 on 2009/05/02 10:52:44
Set / clear vnet context when kldloading / kldunloading
modules.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#10 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#10 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.166 2009/02/10 15:50:19 attilio Exp $");
+__FBSDID("$FreeBSD: head/sys/kern/kern_linker.c 188440 2009-02-10 15:50:19Z attilio $");
#include "opt_ddb.h"
#include "opt_hwpmc_hooks.h"
@@ -993,6 +993,12 @@
return (error);
/*
+ * It's possible that kldloaded module will attach a new ifnet,
+ * so vnet context must be set when this ocurs.
+ */
+ CURVNET_SET(TD_TO_VNET(td));
+
+ /*
* If file does not contain a qualified name or any dot in it
* (kldname.ko, or kldname.ver.ko) treat it as an interface
* name.
@@ -1019,6 +1025,7 @@
*fileid = lf->id;
unlock:
KLD_UNLOCK();
+ CURVNET_RESTORE();
return (error);
}
@@ -1056,6 +1063,7 @@
if ((error = priv_check(td, PRIV_KLD_UNLOAD)) != 0)
return (error);
+ CURVNET_SET(TD_TO_VNET(td));
KLD_LOCK();
lf = linker_find_file_by_id(fileid);
if (lf) {
@@ -1092,6 +1100,7 @@
PMC_CALL_HOOK(td, PMC_FN_KLD_UNLOAD, (void *) &pkm);
#endif
KLD_UNLOCK();
+ CURVNET_RESTORE();
return (error);
}
From pgj at FreeBSD.org Sat May 2 21:48:10 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Sat May 2 21:48:44 2009
Subject: PERFORCE change 161490 for review
Message-ID: <200905022148.n42Lm776021256@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161490
Change 161490 by pgj@beehive on 2009/05/02 21:48:01
Import the FreeBSD base system sources to my Summer of Code project.
Affected files ...
.. //depot/projects/soc2009/pgj_libstat/src/COPYRIGHT#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/LOCKS#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/MAINTAINERS#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/Makefile.inc1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/ObsoleteFiles.inc#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/README#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/UPDATING#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/Makefile.inc#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cat/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cat/cat.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cat/cat.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chflags/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chflags/chflags.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chflags/chflags.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chio/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chio/chio.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chio/chio.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chio/defs.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chio/pathnames.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chmod/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chmod/chmod.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/chmod/chmod.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cp/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cp/cp.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cp/cp.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cp/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/cp/utils.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/csh.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/csh.2#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/csh.3#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/csh.4#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/csh.a#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/csh.g#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/USD.doc/tabs#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/config.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/config_p.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/host.defs#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/iconv.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/csh/iconv_stub.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/date.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/date.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/netdate.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/vary.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/date/vary.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/args.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/conv.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/conv_tab.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/dd.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/dd.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/dd.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/gen.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/misc.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/position.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.ascii#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.ebcdic#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.ibm#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.lcase#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.oldascii#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.oldebcdic#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.oldibm#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.pareven#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.parnone#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.parodd#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.parset#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.swab#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/dd/ref.ucase#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/df/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/df/df.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/df/df.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/domainname/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/domainname/domainname.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/domainname/domainname.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/echo/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/echo/echo.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/echo/echo.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/POSIX#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/README#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/buf.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/cbc.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/ed.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/ed.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/glbl.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/io.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/main.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/re.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/sub.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/=.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/README#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/TODO#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/a.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/a.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/a.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/a1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/a2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/addr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/addr.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/addr.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/addr1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/addr2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/ascii.d.uu#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/ascii.r.uu#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/ascii.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/bang1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/bang1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/bang1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/bang1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/bang2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/c.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/c.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/c.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/c1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/c2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/ckscripts.sh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/d.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/d.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/d.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/d.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e2.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e2.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e3.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e3.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e3.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e4.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e4.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/e4.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/f1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/f2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g2.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g2.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g3.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g3.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g3.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g4.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g4.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g4.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g5.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g5.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/g5.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/h.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/i.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/i.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/i.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/i1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/i2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/i3.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/j.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/j.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/j.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k3.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/k4.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/l.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/l.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/l.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/m.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/m.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/m.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/m.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/mkscripts.sh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/n.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/n.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/n.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl2.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/nl2.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/p.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/p.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/p.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/q.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/q.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/q.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/q1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r2.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r2.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r3.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/r3.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s10.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s2.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s2.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s3.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s3.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s3.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s4.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s5.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s6.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s7.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s8.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/s9.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t1.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t1.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t2.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/t2.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/u.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/u.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/u.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/u.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/v.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/v.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/v.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/w.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/w.r#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/w.t#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/w1.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/w2.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/w3.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/x.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/test/z.err#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ed/undo.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/expr/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/expr/expr.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/expr/expr.y#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/getfacl/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/getfacl/getfacl.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/getfacl/getfacl.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/hostname/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/hostname/hostname.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/hostname/hostname.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/kenv/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/kenv/kenv.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/kenv/kenv.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/kill/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/kill/kill.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/kill/kill.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ln/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ln/ln.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ln/ln.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ln/symlink.7#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/cmp.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/ls.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/ls.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/ls.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/print.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ls/util.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/mkdir/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/mkdir/mkdir.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/mkdir/mkdir.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/mv/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/mv/mv.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/mv/mv.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/ar_io.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/ar_subs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/buf_subs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/cache.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/cache.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/cpio.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/cpio.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/cpio.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/file_subs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/ftree.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/ftree.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/gen_subs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/getoldopt.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/options.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/options.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/pat_rep.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/pat_rep.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/pax.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/pax.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/pax.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/sel_subs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/sel_subs.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/tables.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/tables.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/tar.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/tar.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/tar.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pax/tty_subs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pkill/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pkill/pkill.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pkill/pkill.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/fmt.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/keyword.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/nlist.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/print.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/ps.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/ps.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/ps/ps.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pwd/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pwd/pwd.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/pwd/pwd.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rcp/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rcp/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rcp/rcp.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rcp/rcp.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rcp/util.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/realpath/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/realpath/realpath.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/realpath/realpath.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rm/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rm/rm.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rm/rm.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rmail/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rmdir/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rmdir/rmdir.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/rmdir/rmdir.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/file.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/mask.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/merge.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/remove.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/setfacl.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/setfacl.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/setfacl.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/setfacl/util.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/TOUR#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/alias.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/alias.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/arith.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/arith.y#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/arith_lex.l#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/bltin/bltin.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/bltin/echo.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/bltin/echo.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/builtins.def#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/cd.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/cd.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/error.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/error.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/eval.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/eval.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/exec.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/exec.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/expand.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/expand.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/cmv#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/dirs#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/kill#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/login#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/newgrp#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/popd#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/pushd#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/funcs/suspend#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/histedit.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/init.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/input.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/input.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/jobs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/jobs.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mail.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mail.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/main.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/main.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/memalloc.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/memalloc.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/miscbltin.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mkbuiltins#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mkinit.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mknodes.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mksyntax.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mktokens#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/myhistedit.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mystring.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/mystring.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/nodes.c.pat#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/nodetypes#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/options.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/options.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/output.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/output.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/parser.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/parser.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/redir.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/redir.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/sh.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/shell.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/show.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/show.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/trap.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/trap.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/var.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sh/var.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sleep/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sleep/sleep.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sleep/sleep.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/cchar.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/extern.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/gfmt.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/key.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/modes.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/print.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/stty.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/stty.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/stty.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/stty/util.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sync/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sync/sync.8#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/sync/sync.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/test/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/test/TEST.README#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/test/TEST.csh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/test/TEST.sh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/test/test.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/test/test.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/uuidgen/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/uuidgen/uuidgen.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/bin/uuidgen/uuidgen.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/Makefile#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/Makefile.inc#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/alloca.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/devid.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/dtrace.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/fcntl.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/fsshare.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/libintl.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/libproc.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/libshare.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/mnttab.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/priv.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/solaris.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/stdio.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/stdlib.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/strings.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/unistd.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/include/zone.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/lib/libumem/umem.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/lib/libumem/umem.h#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/misc/deviceid.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/misc/fsshare.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/misc/mkdirp.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/misc/mnttab.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/misc/zmount.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/compat/opensolaris/misc/zone.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/README#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/badioctl.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/chkargs.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Getopt.java#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/JDTrace.java#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/exception.lst#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/jdtrace.c#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/manifest/jdtrace.jar-manifest#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_FUNC.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_MDIM.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_NULL.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_REDEF.redef.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.avgtoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.maxnoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.mintoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.quantizetoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.sumtoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_CLEAR_AGGARG.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_CLEAR_PROTO.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_FUNC_IDENT.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_FUNC_UNDEF.badaggfunc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_IDENT_UNDEF.badexpr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_IDENT_UNDEF.badkey3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_IDENT_UNDEF.noeffect.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_KEY_TYPE.badkey1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_KEY_TYPE.badkey2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_KEY_TYPE.badkey4.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_BASETYPE.lqbad1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_BASETYPE.lqshort.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_BASEVAL.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_LIMTYPE.lqbad1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_LIMVAL.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHBASE.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHBASE.order.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHLIM.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHLIM.order.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MATCHSTEP.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_MISMATCH.lqbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPLARGE.lqtoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPSMALL.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPTYPE.lqbadinc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_LQUANT_STEPVAL.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_NORMALIZE_AGGARG.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_NORMALIZE_PROTO.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_NORMALIZE_SCALAR.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_ARG.lquantizetoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.avgnoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.avgtoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.counttoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.lquantizenoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.lquantizetoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.maxnoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.maxtoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.minnoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.mintoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.quantizenoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.quantizetoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.sumnoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.sumtoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_AGGARG.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_PROTO.badmany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_PROTO.badnone.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_TRUNC_SCALAR.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.allquant.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.allquant.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg_neg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.avg_neg.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clear.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clear.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.cleardenormalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.cleardenormalize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearlquantize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearlquantize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearnormalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearnormalize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count2.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.count3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalizeonly.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.denormalizeonly.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.fmtnormalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.fmtnormalize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.forms.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.forms.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.goodkey.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.keysort.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.keysort.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantnormal.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantnormal.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantrange.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantrange.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantround.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantround.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantzero.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.lquantzero.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max_neg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.max_neg.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min_neg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.min_neg.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multinormalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multinormalize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.neglquant.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.neglquant.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negorder.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negorder.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negquant.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negquant.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtrunc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtrunc.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtruncquant.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.negtruncquant.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.normalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.normalize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.order.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.order.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantize.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantmany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantmany.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantround.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantround.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantzero.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.quantzero.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signature.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeys.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeys.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeyspos.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.signedkeyspos.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sum.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.sum.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc0.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.trunc0.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.truncquant.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.truncquant.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.valsortkeypos.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.valsortkeypos.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.divby0.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.divby0_1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.divby0_2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_DIV_ZERO.modby0.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.addmin.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.divmin.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.muladd.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/err.D_SYNTAX.muldiv.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.basics.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arithmetic/tst.complex.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_ARR_BADREF.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_ARRBIG.toobig.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_ARRNULL.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_ARRSUB.bad.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_DECL_PROTO_TYPE.badtuple.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/err.D_IDENT_UNDEF.badureg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic4.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic5.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.basic6.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/arrays/tst.uregsarray.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_OP_INCOMPAT.this.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_PROTO_ARG.badsig.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_PROTO_LEN.toofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_PROTO_LEN.toomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.D_SYNTAX.errassign.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/err.tupoflow.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.cpyarray.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.diffprofile.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.initialize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.invalidref.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.misc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.this.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.valassign.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/err.D_PDESC_ZERO.begin.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/err.D_PDESC_ZERO.tick.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.begin.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.begin.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.multibegin.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/begin/tst.multibegin.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_ADDROF_BITFIELD.BitfieldAddress.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFCONST.NegBitField.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFCONST.ZeroBitField.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFSIZE.ExceedBaseType.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFSIZE.GreaterThan64.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_DECL_BFTYPE.badtype.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_OFFSETOF_BITFIELD.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/err.D_SIZEOF_BITFIELD.SizeofBitfield.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/tst.BitFieldPromotion.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/bitfields/tst.SizeofBitField.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.end.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.resize1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.resize2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.resize3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/err.zerobuf.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.alignring.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.cputime.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.dynvarsize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.fill1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.fill1.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring2.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.ring3.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.smallring.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.switch1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.switch1.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.cpuusage.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.nice.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.priority.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.prsize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/err.D_XLATE_NOCONV.rssize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg0.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg0clause.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg1to8.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.arg1to8clause.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.caller.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.caller1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.epid.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.epid1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.errno.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.errno1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.execname.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.hpriority.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.id.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.id1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.ipl.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.ipl1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.lwpsinfo.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.lwpsinfo1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.pid.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.pid1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.psinfo1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.tid.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.tid1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.timestamp.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/builtinvar/tst.vtimestamp.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.aggfun.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.aggtup.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.arrtup.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.body.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.both.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/err.D_IDENT_UNDEF.pred.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.nopred.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.pred.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.predfirst.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/clauses/tst.predlast.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_LOCASSC.NonLocalAssoc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_LONGINT.LongStruct.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PARMCLASS.BadStorageClass.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_NAME.VoidName.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_TYPE.Dyn.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_VARARGS.VarLenArgs.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_PROTO_VOID.NonSoleVoid.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_SIGNINT.UnsignedStruct.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/err.D_DECL_VOIDATTR.ShortVoidDecl.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.arrays.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.basics.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.funcs.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.pointers.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/decls/tst.varargsfuncs.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/badptr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/countdown.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/counter.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/errorpath.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/hello.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/kstat.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/ksyms.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/renormalize.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rtime.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rw.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rwinfo.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/rwtime.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/specopen.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/truss.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/trussrw.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/docsExamples/userfunc.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_AGGREGATION.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_DBLERROR.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_DYNAMIC.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_PRINCIPAL.end.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_SPEC.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_SPECUNAVAIL.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.APIVersion.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.AddSearchPath.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.CoalesceTrace.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ELFGeneration.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.IncludedFilePath.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithFunctions#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithIDs#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithModules#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithNames#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ListProbesWithProviders#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.ShowCompilerCode.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceFunctions#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceIDs#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceModule#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceNames#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.TraceProvider#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.VerboseStabilityReport.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DataModel32.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DataModel64.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DefineNameWithCPP.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithID.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithID.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithName.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithName.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithProvider.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithoutW.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ExitStatus1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ExitStatus2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ExtraneousProbeIds.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidFuncName1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidFuncName2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidId1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidId2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidId3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidModule4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProbeIdentifier.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidProvider4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc5.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc6.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc7.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc8.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceFunc9.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID5.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID6.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceID7.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule5.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule6.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule7.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceModule8.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName5.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName6.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName7.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName8.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceName9.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider1.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider2.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider3.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider4.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.InvalidTraceProvider5.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.MultipleInvalidProbeId.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.QuietMode.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.QuietMode.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.TestCompile.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.TestCompile.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.UnDefineNameWithCPP.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroNameProbes.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProbeIdentfier.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProbesWithoutZ.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroProviderProbes.d.ksh.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/err.D_IDENT_UNDEF.timespent.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.end.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.endwithoutbegin.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.multibeginend.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/end/tst.multiend.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/err.D_DECL_IDRED.EnumSameName.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/err.D_UNKNOWN.RepeatIdentifiers.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/tst.EnumEquality.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/tst.EnumSameValue.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/enum/tst.EnumValAssign.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.DTRACEFLT_BADADDR.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.DTRACEFLT_DIVZERO.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.DTRACEFLT_UNKNOWN.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.error.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/error/tst.errorend.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/exit/err.D_PROTO_LEN.noarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/exit/err.exitarg1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/exit/tst.basic1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/err.D_PDESC_ZERO.notreturn.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.basic.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.functionentry.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.functionreturnvalue.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.ioctlargs.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.offset.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.offsetzero.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.return.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.return0.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.tailcall.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_FUNC_UNDEF.progenyofbad1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_OP_VFPTR.badop.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.chillbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.copyoutbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.raisebadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.allocanoarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.badbreakpoint.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.chilltoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.chilltoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyoutstrbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyoutstrtoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyouttoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.copyouttoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.panicbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.progenyofbad2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.stopbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_STRINGOF_TYPE.badstringof.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_VAR_UNDEF.badvar.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badalloca.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badalloca2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy1.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy2.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy3.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy4.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy5.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badbcopy6.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.badchill.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.chillbadarg.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyout.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutbadaddr.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutstrbadaddr.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoa6badaddr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoabadaddr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadaddr.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadarg.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.badfreopen.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d.out#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.bcopy.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.chill.ksh#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.cleanpath.d#1 branch
.. //depot/projects/soc2009/pgj_libstat/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.cleanpath.d.out#1 branch
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From pgj at FreeBSD.org Sun May 3 00:44:12 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Sun May 3 00:44:18 2009
Subject: PERFORCE change 161494 for review
Message-ID: <200905030044.n430iAQK039335@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161494
Change 161494 by pgj@petymeg on 2009/05/03 00:43:38
MFen (www):
1.205 -> 1.206 hu/security/security.sgml
Affected files ...
.. //depot/projects/docproj_hu/www/hu/security/security.sgml#8 edit
Differences ...
==== //depot/projects/docproj_hu/www/hu/security/security.sgml#8 (text+ko) ====
@@ -11,7 +11,7 @@
@@ -367,13 +367,6 @@
utolsó kiadás + 2 év
-
RELENG_7_0
-
7.0-RELEASE
-
egyszerû
-
2008. február 27.
-
2009. április 30.
-
-
RELENG_7_1
7.1-RELEASE
bõvített
From pgj at FreeBSD.org Sun May 3 00:52:20 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Sun May 3 00:52:26 2009
Subject: PERFORCE change 161495 for review
Message-ID: <200905030052.n430qIrX049792@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161495
Change 161495 by pgj@petymeg on 2009/05/03 00:51:43
MFen (doc):
1.1112 -> 1.1113 hu_HU.ISO8859-2/books/faq/book.sgml
Affected files ...
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#44 edit
Differences ...
==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#44 (text+ko) ====
@@ -9,7 +9,7 @@
From rene at FreeBSD.org Sun May 3 17:26:11 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Sun May 3 17:26:18 2009
Subject: PERFORCE change 161500 for review
Message-ID: <200905031726.n43HQ9XU089565@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161500
Change 161500 by rene@rene_self on 2009/05/03 17:25:56
solid-state article:
* remove last instance of /var/db/port.mkversion
* no more /proc in /etc/fstab nowadays
* replace some /etc/rc.initdiskless by /etc/rc.d/var
* /etc/mtree/BSD.var.dist is now used instead of a var_dirs list, which includes cron/, cron/tabs/ and at/
* minor language fixes
* the rc subsystem doesn't assume /tmp points to /var/tmp
* the boot scripts recognize a diskless system automatically nowadays
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#11 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#11 (text+ko) ====
@@ -147,40 +147,25 @@
- rc.initdiskless and Read-Only Filesystems
+ The rc Subsystem and Read-Only FilesystemsThe post-boot initialization of an embedded FreeBSD system is
- controlled by /etc/rc.initdiskless.
-
-
- rc.initdiskless mounts /var
+ controlled by /etc/rc.initdiskless.
+
+ /etc/rc.d/var mounts /var
as a memory filesystem, makes a configurable list of directories in
/var with the &man.mkdir.1; command, changes modes
on some of those directories. In the execution of
- /etc/rc.initdiskless, one other
- rc.conf variable comes into play -
- varsize. The /etc/rc.initdiskless
+ /etc/rc.d/var, one other
+ rc.conf variable comes into play –
+ varsize. The /etc/rc.d/var
file creates a /var partition based on the value of
this variable in rc.conf:varsize=8192
- Remember that this value is in sectors.
+ Remember that this value is in sectors by default.
- It is important to remember that the
- /etc/rc.initdiskless script assumes that you have
- already removed your conventional /tmp partition
- and replaced it with a symbolic link to /var/tmp.
- Because tmp is one of the directories created in
- /var by the /etc/rc.initdiskless
- script, and because /var is a memory filesystem
- (which is mounted read-write), /tmp will now be a
- directory that is read-write as well.
-
The fact that /var and
/dev are read-write filesystems is an important
distinction, as the / partition (and any other
@@ -192,7 +177,7 @@
swap file on a busy system can burn through a piece of flash media in
less than one year. Heavy logging or temporary file creation and
destruction can do the same. Therefore, in addition to removing the
- swap and /proc entries from your
+ swap entry from your
/etc/fstab file, you should also change the Options
field for each filesystem to ro as follows:
@@ -200,15 +185,13 @@
/dev/ad0s1a / ufs ro 1 1
A few applications in the average system will immediately begin to
- fail as a result of this change. For instance, ports will not install
- from the ports tree because the
- /var/db/port.mkversion file does not exist. cron
+ fail as a result of this change. For instance, cron
will not run properly as a result of missing cron tabs in the
/var created by
- /etc/rc.initdiskless, and syslog and dhcp will
+ /etc/rc.d/var, and syslog and dhcp will
encounter problems as well as a result of the read-only filesystem and
missing items in the /var that
- /etc/rc.initdiskless has created. These are only
+ /etc/rc.d/var has created. These are only
temporary problems though, and are addressed, along with solutions to
the execution of other common software packages in
.
@@ -352,7 +335,7 @@
In , it was pointed out that the
/var filesystem constructed by
- /etc/rc.initdiskless and the presence of a read-only
+ /etc/rc.d/var and the presence of a read-only
root filesystem causes problems with many common software packages used
with FreeBSD. In this article, suggestions for successfully running
cron, syslog, ports installations, and the Apache web server will be
@@ -361,18 +344,14 @@
cron
- In /etc/rc.initdiskless there is a variable
- named var_dirs. This variable consists of a
- space-delimited list of directories that will be created inside of
- /var after it is mounted as a memory filesystem.
- cron and cron/tabs are not
- in that list, and without those directories, cron will complain. By
- inserting cron, cron/tabs, and
- perhaps even at, and at/jobs as
- elements of that variable, you will facilitate the running of the
- &man.cron.8; and &man.at.1; daemons.
+ Upon boot, /var gets
+ populated by /etc/rc.d/var using the list from
+ /etc/mtree/BSD.var.dist, so the cron, cron/tabs, and at directories get created.
- However, this still does not solve the problem of maintaining cron
+ However, this does not solve the problem of maintaining cron
tabs across reboots. When the system reboots, the
/var filesystem that is in memory will disappear
and any cron tabs you may have had in it will also disappear.
@@ -392,9 +371,9 @@
syslog.conf specifies the locations of
certain log files that exist in /var/log. These
- files are not created by /etc/rc.initdiskless upon
+ files are not created by /etc/rc.d/var upon
system initialization. Therefore, somewhere in
- /etc/rc.initdiskless, after the section that creates
+ /etc/rc.d/var, after the section that creates
the directories in /var, you will need to add
something like this:
@@ -402,7 +381,7 @@
&prompt.root; chmod 0644 /var/log/*You will also need to add the log directory to the list of
- directories that /etc/rc.initdiskless
+ directories that /etc/rc.d/var
creates.
@@ -433,7 +412,7 @@
&prompt.root; mkdir /etc/pkg
- Now, add a line to /etc/rc.initdiskless that
+ Now, add a line to /etc/rc.d/var that
links the /etc/pkg directory to
/var/db/pkg. An example:
From rene at FreeBSD.org Sun May 3 20:04:52 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Sun May 3 20:04:58 2009
Subject: PERFORCE change 161505 for review
Message-ID: <200905032004.n43K4p7L004839@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161505
Change 161505 by rene@rene_self on 2009/05/03 20:04:26
[solid-state] some more nits
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#12 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#12 (text+ko) ====
@@ -154,8 +154,8 @@
/etc/rc.d/var mounts /var
as a memory filesystem, makes a configurable list of directories in
- /var with the &man.mkdir.1; command, changes modes
- on some of those directories. In the execution of
+ /var with the &man.mkdir.1; command, and
+ changes modes on some of those directories. In the execution of
/etc/rc.d/var, one other
rc.conf variable comes into play –
varsize. The /etc/rc.d/var
@@ -166,8 +166,8 @@
Remember that this value is in sectors by default.
- The fact that /var and
- /dev are read-write filesystems is an important
+ The fact that /var
+ is a read-write filesystem is an important
distinction, as the / partition (and any other
partitions you may have on your flash media) should be mounted
read-only. Remember that in we detailed the
From rene at FreeBSD.org Sun May 3 21:40:33 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Sun May 3 21:40:39 2009
Subject: PERFORCE change 161507 for review
Message-ID: <200905032140.n43LeWAw023028@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161507
Change 161507 by rene@rene_self on 2009/05/03 21:39:48
[solid-state] : tidy up the Apache section (5.4), note that the default is fine.
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#13 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#13 (text+ko) ====
@@ -430,33 +430,44 @@
Apache Web Server
- Apache keeps pid files and logs in
- apache_install/logs.
- Since this directory doubtless exists on a read-only filesystem, this
+
+ The steps in this section are only necessary if Apache is
+ set up to write its pid or log information outside of
+ /var. By default,
+ Apache keeps its pid file in /var/run/httpd.pid and its log
+ files in /var/log.
+
+
+ It is now assumed that Apache keeps its log files in a
+ directory apache_log_dir
+ outside of /var.
+ Since these directories doubtlessly exist on a read-only filesystem, this
will not work. It is necessary to add a new directory to the
- /etc/rc.initdiskless list of directories to create
- in /var, to link
- apache_install/logs to
+ /etc/rc.d/var list of directories to create
+ in /var, and to link
+ apache_log_dir to
/var/log/apache. It is also necessary to set
permissions and ownership on this new directory.First, add the directory log/apache to the list
of directories to be created in
- /etc/rc.initdiskless.
+ /etc/rc.d/var.Second, add these commands to
- /etc/rc.initdiskless after the directory creation
+ /etc/rc.d/var after the directory creation
section:&prompt.root; chmod 0774 /var/log/apache
&prompt.root; chown nobody:nobody /var/log/apacheFinally, remove the existing
- apache_install/logs
+ apache_log_dir
directory, and replace it with a link:
- &prompt.root; rm -rf (apache_install)/logs
-&prompt.root; ln -s /var/log/apache (apache_install)/logs
+ &prompt.root; rm -rf apache_log_dir
+&prompt.root; ln -s /var/log/apache apache_log_dir
From pgj at FreeBSD.org Mon May 4 05:14:18 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Mon May 4 05:14:25 2009
Subject: PERFORCE change 161523 for review
Message-ID: <200905040514.n445EGHO086431@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161523
Change 161523 by pgj@beehive on 2009/05/04 05:14:00
IFC
Affected files ...
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#22 integrate
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#25 integrate
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#11 integrate
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#24 integrate
.. //depot/projects/docproj_hu/doc/share/images/articles/releng/branches-releng7.pic#2 integrate
.. //depot/projects/docproj_hu/doc/share/sgml/freebsd.ent#10 integrate
.. //depot/projects/docproj_hu/src_7/release/doc/en_US.ISO8859-1/errata/article.sgml#5 integrate
.. //depot/projects/docproj_hu/src_7/release/doc/en_US.ISO8859-1/relnotes/article.sgml#8 integrate
.. //depot/projects/docproj_hu/src_7/release/doc/share/sgml/release.ent#3 integrate
.. //depot/projects/docproj_hu/www/en/cgi/man.cgi#12 integrate
.. //depot/projects/docproj_hu/www/en/platforms/amd64/motherboards.sgml#5 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/announce.sgml#2 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/errata.html#2 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/relnotes.sgml#2 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/schedule.sgml#10 integrate
.. //depot/projects/docproj_hu/www/en/releases/index.sgml#6 integrate
.. //depot/projects/docproj_hu/www/en/releng/index.sgml#23 integrate
.. //depot/projects/docproj_hu/www/en/security/security.sgml#6 integrate
.. //depot/projects/docproj_hu/www/hu/administration.sgml#17 integrate
.. //depot/projects/docproj_hu/www/share/sgml/news.xml#52 integrate
.. //depot/projects/docproj_hu/www/share/sgml/release.ent#15 integrate
Differences ...
==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#22 (text+ko) ====
@@ -1,7 +1,7 @@
-
-
+
+
==== //depot/projects/docproj_hu/src_7/release/doc/en_US.ISO8859-1/errata/article.sgml#5 (text+ko) ====
@@ -16,7 +16,7 @@
%release;
-
+
]>
@@ -37,7 +37,7 @@
The &os; Project
- $FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.73.4.10 2009/01/05 15:38:45 hrs Exp $
+ $FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.73.4.12 2009/05/03 21:21:17 hrs Exp $2008
@@ -163,191 +163,23 @@
Open Issues
- [20090105] As in the Announcement of 7.1-RELEASE, certain Intel NICs
- will come up as &man.igb.4; instead of &man.em.4; in this
- release. There are only 3 PCI ID's that should have
- their name changed from &man.em.4; to &man.igb.4;:
+ [20090501] Some machines do not recognize the i386 disc1 as
+ bootable and fall through to booting off the next boot device.
+ All affected machines did see the other discs as bootable. As a
+ workaround, you can boot using the bootonly or livefs CDROM and
+ then swap in disc1 once sysinstall starts.
-
-
- 0x10A78086
-
-
-
- 0x10A98086
-
+ [20090504] A lock handling error has been found in
+ interaction between &man.malloc.3; implementation and threading
+ library. When a multi-threaded process calls the &man.fork.2;
+ system call in a thread and the &man.malloc.3; function in
+ another thread, it can cause a deadlock in the child process.
+ An Errata Notice to fix this problem is planned for this problem
+ after the release.
-
- 0x10D68086
-
-
-
- You should be able to determine if your card will
- change names by running the following command:
-
- &prompt.user; pciconf -l
-. . .
-em0@pci0:0:25:0: class=0x020000 card=0x02381028 chip=0x10c08086 rev=0x02 hdr=0x00
-
- and for the line representing your NIC (should be named
- em on older systems,
- e.g. em0 or em1, etc)
- check the fourth column. If that says
- chip=0x10a78086 (or one of the other two IDs
- given above) you will have the adapter's name change.
-
-
Late-Breaking News and Corrections
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned that the &man.procstat.1; utility has been added.
- This is a process inspection utility which provides both some of
- the missing functionality from &man.procfs.5; and new
- functionality for monitoring and debugging specific
- processes.
-
- [20090105] The Release Notes for 7.1-RELEASE should have mentioned
- changes that the &man.ae.4; driver has been added to provide support
- for the Attansic/Atheros L2 FastEthernet controllers.
- This driver is not enabled in GENERIC
- kernels for this release.
-
- [20090105] The Release Notes for 7.1-RELEASE included the
- following misdescriptions:
-
-
-
- In the entry of &man.linux.4; ABI support,
- get_setaffinity() should have been
- sched_setaffinity().
-
-
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned changes that the &man.jme.4; driver has been added to
- provide support for PCIe adapters based on JMicron JMC250
- gigabit Ethernet and JMC260 fast Ethernet controllers.
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned changes that the &man.age.4; driver has been added to
- provide support for Attansic/Atheros L1 gigabit Ethernet
- controller.
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned changes that the &man.malo.4; driver has been added to
- provide support for Marvell Libertas 88W8335 based PCI network
- adapters.
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned changes that the bm(4) driver has been added to
- provide support for Apple Big Mac (BMAC) Ethernet controller,
- found on various Apple G3 models.
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned changes that the et(4) driver has been added to
- provide support for Agere ET1310 10/100/Gigabit Ethernet
- controller.
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned changes that the &man.glxsb.4; driver has been added
- to provide support for the Security Block in AMD Geode LX
- processors.
-
- [20090105] The Release Notes for 7.1-RELEASE should have
- mentioned that &os; now supports multiple routing tables. To
- enable this, the following steps are needed:
-
-
-
- Add the following kernel configuration option and
- rebuild the kernel. The 2 is the number
- of FIB (Forward Information Base, synonym for a routing
- table here). The maximum value is 16.
-
- options ROUTETABLES=2
-
- The procedure for rebuilding the &os; kernel is
- described in the &os;
- Handbook.
-
- This number can be modified on boot time. To do so, add
- the following to /boot/loader.conf and
- reboot the system:
-
- net.fibs=6
-
-
-
- Set a loader tunable net.my_fibnum if
- needed. This means the default number of routing tables.
- If not specified, 0 will be used.
-
-
-
- Set a loader tunable
- net.add_addr_allfibs if needed. This
- enables to add routes to all FIBs for new interfaces by
- default. When this is set to 0, it will
- only allocate routes on interface changes for the FIB of the
- caller when adding a new set of addresses to an interface.
- Note that this tunable is set to 1 by
- default.
-
-
-
- To select one of the FIBs, the new &man.setfib.1; utility
- can be used. This set an associated FIB with the process. For
- example:
-
- &prompt.root; setfib -3 ping target.example.com
-
- The FIB #3 will be used for the &man.ping.8; command.
-
- The FIB which the packet will be associated with will be
- determined in the following rules:
-
-
-
- All packets which have a FIB associated with them will
- use the FIB. If not, FIB #0 will be used.
-
-
-
- A packet received on an interface for forwarding uses
- FIB #0.
-
-
-
- A TCP listen socket associated with an FIB will generate
- accept sockets which are associated with the same FIB.
-
-
-
- A packet generated in response to other packet uses the
- FIB associated with the packet being responded to.
-
-
-
- A packet generated on tunnel interfaces such as
- &man.gif.4; and &man.tun.4; will be encapsulated using the
- FIB of the process which set up the tunnel.
-
-
-
- Routing messages will be associated with the process's
- FIB.
-
-
-
- Also, the &man.ipfw.8; now supports an action rule
- setfib. The following action:
-
- setfib fibnum
-
- will make the matched packet use the FIB specified in
- fibnum. The rule processing
- continues at the next rule.
+ No news.
==== //depot/projects/docproj_hu/src_7/release/doc/en_US.ISO8859-1/relnotes/article.sgml#8 (text+ko) ====
@@ -17,7 +17,7 @@
The &os; Project
- $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1068.2.31 2009/01/05 05:53:14 hrs Exp $
+ $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1068.2.32 2009/05/02 16:23:44 hrs Exp $2000
@@ -226,7 +226,7 @@
will update unmodified userland utilities, as well as unmodified
GENERIC or SMP kernels distributed as a part of an official &os;
release. The &man.freebsd-update.8; utility requires that the
- host being upgraded have Internet connectivity.
+ host being upgraded has Internet connectivity.
An older form of binary upgrade is supported through the
Upgrade option from the main
==== //depot/projects/docproj_hu/src_7/release/doc/share/sgml/release.ent#3 (text+ko) ====
@@ -1,17 +1,17 @@
-
+
-
+
-
+
@@ -39,7 +39,7 @@
-
+
==== //depot/projects/docproj_hu/www/en/cgi/man.cgi#12 (text+ko) ====
@@ -34,7 +34,7 @@
# Dual CGI/Plexus mode and new interface by sanders@bsdi.com 9/22/1995
#
# $Id: man.cgi,v 1.172 2007/11/28 18:51:29 hrs Exp $
-# $FreeBSD: www/en/cgi/man.cgi,v 1.228 2009/04/26 20:30:24 danger Exp $
+# $FreeBSD: www/en/cgi/man.cgi,v 1.231 2009/05/02 21:40:43 wosch Exp $
############################################################################
# !!! man.cgi is stale perl4 code !!!
@@ -139,6 +139,7 @@
'OpenBSD 4.2' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.3' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.4' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
+ 'OpenBSD 4.5' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
};
foreach my $os ( keys %$sectionpath ) {
@@ -276,6 +277,7 @@
'OpenBSD 4.2', "$manLocalDir/OpenBSD-4.2",
'OpenBSD 4.3', "$manLocalDir/OpenBSD-4.3",
'OpenBSD 4.4', "$manLocalDir/OpenBSD-4.4",
+ 'OpenBSD 4.5', "$manLocalDir/OpenBSD-4.5",
#'NetBSD 0.9', "$manLocalDir/NetBSD-0.9",
'NetBSD 1.0', "$manLocalDir/NetBSD-1.0",
@@ -303,6 +305,8 @@
'NetBSD 3.0', "$manLocalDir/NetBSD-3.0",
'NetBSD 3.1', "$manLocalDir/NetBSD-3.1",
'NetBSD 4.0', "$manLocalDir/NetBSD-4.0",
+ 'NetBSD 4.0.1', "$manLocalDir/NetBSD-4.0.1",
+ 'NetBSD 5.0', "$manLocalDir/NetBSD-5.0",
'2.8 BSD', "$manLocalDir/2.8BSD",
'2.9.1 BSD', "$manLocalDir/2.9.1BSD",
@@ -389,6 +393,7 @@
'X11R6.9.0', "$manLocalDir/X11R6.9.0",
'X11R7.2', "$manLocalDir/X11R7.2",
'X11R7.3.2', "$manLocalDir/X11R7.3.2",
+ 'X11R7.4', "$manLocalDir/X11R7.4",
'ULTRIX 4.2', "$manLocalDir/ULTRIX-4.2",
'OSF1 V4.0/alpha', "$manLocalDir/OSF1-V4.0-alpha",
@@ -442,6 +447,7 @@
'OpenBSD 4.2',
'OpenBSD 4.3',
'OpenBSD 4.4',
+ 'OpenBSD 4.5',
);
my %no_pdf_output = map { $_ => 1 } @no_pdf_output;
@@ -482,11 +488,11 @@
'opendarwin', 'OpenDarwin 7.2.1',
'macosx', 'Darwin 8.0.1/ppc',
- 'netbsd', 'NetBSD 4.0',
- 'openbsd', 'OpenBSD 4.4',
+ 'netbsd', 'NetBSD 5.0',
+ 'openbsd', 'OpenBSD 4.5',
'v7', 'Unix Seventh Edition',
'v7man', 'Unix Seventh Edition',
- 'x11', 'X11R7.3.2',
+ 'x11', 'X11R7.4',
'xfree86', 'XFree86 4.7.0',
'ultrix', 'ULTRIX 4.2',
'hpux', 'HP-UX 11.22',
@@ -693,11 +699,10 @@
my $filename = $manpath;
$filename =~ s/\s+/_/;
$filename = &encode_url($filename);
- $filename .= '.tar.gz';
+ $filename .= '.tgz';
- print qq{Content-type: application/x-tar\n}
- . qq{Content-encoding: x-gzip\n}
- . qq{Content-disposition: inline; filename="$filename"\n} . "\n";
+ print qq{Content-type: application/x-tgz\n}
+ . qq{Content-disposition: attachment; filename="$filename"\n} . "\n";
local (@m);
local ($m) = $manPath{"$manpath"};
@@ -1378,7 +1383,7 @@
}
local $id =
- '$FreeBSD: www/en/cgi/man.cgi,v 1.228 2009/04/26 20:30:24 danger Exp $';
+ '$FreeBSD: www/en/cgi/man.cgi,v 1.231 2009/05/02 21:40:43 wosch Exp $';
return qq{\
The FreeBSD Release Engineering Team is pleased to announce the
+ availability of FreeBSD 7.2-RELEASE. This is the third release
+ from the 7-STABLE branch which improves on the functionality of
+ FreeBSD 7.1 and introduces some new features. Some of the
+ highlights:
+
+
+
support for fully transparent use of superpages for
+ application memory
+
+
support for multiple IPv4 and IPv6 addresses for
+ jails
+
+
csup(1) now supports CVSMode to fetch a complete CVS
+ repository
+
+
Gnome updated to 2.26, KDE updated to 4.2.2
+
+
sparc64 now supports UltraSparc-III processors
+
+
+
For a complete list of new features and known problems, please
+ see the online release notes and errata list, available at:
FreeBSD 7.2-RELEASE is now available for the amd64, i386, ia64,
+ pc98, powerpc, and sparc64 architectures.
+
+
FreeBSD 7.2 can be installed from bootable ISO images or over the
+ network; the required files can be downloaded via FTP or
+ BitTorrent as described in the sections below. While some of the
+ smaller FTP mirrors may not carry all architectures, they will all
+ generally contain the more common ones, such as i386 and
+ amd64.
+
+
MD5 and SHA256 hashes for the release ISO images are included at
+ the bottom of this message.
+
+
The purpose of the ISO images provided as part of the release are
+ as follows:
+
+
+
dvd1
+
+
This contains everything necessary to install the base
+ FreeBSD operating system, a collection of pre-built packages,
+ and the documentation. It also supports booting into a
+ "livefs" based rescue mode. This should be all you need if
+ you can burn and use DVD-sized media.
+
+
disc1, disc2, disc3, livefs, docs
+
+
disc1 contains the base FreeBSD operating
+ system and a few pre-built packages. disc2
+ and disc3 contain more pre-built packages.
+ Those three can be burned to CDROM sized media and should be
+ all you need to do a normal installation.
+ livefs contains support for booting into a
+ "livefs" based rescue mode but does not support doing an
+ install from the CD itself. You would need to perform a
+ network based install. docs contains the
+ documentation.
+
+
bootonly
+
+
This supports booting a machine using the CDROM drive but
+ does not contain the support for installing FreeBSD from the
+ CD itself. You would need to perform a network based install
+ (e.g. from an FTP server) after booting from the CD.
+
+
+
Note: late in the testing cycle it was
+ discovered some machines do not recognize the i386 disc1 as
+ bootable (they just fall through to booting off the next boot
+ device). All affected machines did see the other discs as
+ bootable. If you have a machine with that problem booting off
+ either bootonly or livefs and then swapping in disc1 once
+ sysinstall starts should work.
+
+
FreeBSD 7.2-RELEASE can also be purchased on CD-ROM or DVD from
+ several vendors. One of the vendors that will be offering FreeBSD
+ 7.2-based products is:
For instructions on installing FreeBSD, please see Chapter 2 of
+ The FreeBSD Handbook. It provides a complete installation
+ walk-through for users new to FreeBSD, and can be found online
+ at:
The branch tag to use for updating the source is RELENG_7_2.
+
+
FreeBSD Update
+
+
The freebsd-update(8) utility supports binary upgrades of i386
+ and amd64 systems running earlier FreeBSD releases. Systems
+ running 7.0-RELEASE, 7.1-RELEASE, 7.2-BETA, 7.2-RC1, or 7.2-RC2
+ can upgrade as follows:
+
+
# freebsd-update upgrade -r 7.2-RELEASE
+
+
During this process, FreeBSD Update may ask the user to help by
+ merging some configuration files or by confirming that the
+ automatically performed merging was done correctly.
+
+
# freebsd-update install
+
+
The system must be rebooted with the newly installed kernel
+ before continuing.
+
+
# shutdown -r now
+
+
After rebooting, freebsd-update needs to be run again to
+ install the new userland components, and the system needs to be
+ rebooted again:
+
+
# freebsd-update install
+# shutdown -r now
+
+
Users of earlier FreeBSD releases (FreeBSD 6.x) can also use
+ freebsd-update to upgrade to FreeBSD 7.2, but will be prompted
+ to rebuild all third-party applications (e.g., anything
+ installed from the ports tree) after the second invocation of
+ "freebsd-update install", in order to handle differences in the
+ system libraries between FreeBSD 6.x and FreeBSD 7.x.
+
+
For more information about upgrading from FreeBSD 6.x using
+ FreeBSD Update, see:
The FreeBSD Security Team currently plans to support FreeBSD
+ 7.2 until May 31st, 2010. For more information on the Security
+ Team and their support of the various FreeBSD branches see:
Many companies donated equipment, network access, or man-hours to
+ support the release engineering activities for FreeBSD 7.2 including
+ The FreeBSD Foundation, Hewlett-Packard, Yahoo!, NetApp,
+ Internet Systems Consortium, and Sentex Communications.
+
+
The release engineering team for 7.2-RELEASE includes:
The FreeBSD Release Engineering Team is pleased to announce the
+ availability of FreeBSD 7.2-RELEASE. This is the third release
+ from the 7-STABLE branch which improves on the functionality of
+ FreeBSD 7.1 and introduces some new features. Some of the
+ highlights:
+
+
+
support for fully transparent use of superpages for
+ application memory
+
+
support for multiple IPv4 and IPv6 addresses for
+ jails
+
+
csup(1) now supports CVSMode to fetch a complete CVS
+ repository
+
+
Gnome updated to 2.26, KDE updated to 4.2.2
+
+
sparc64 now supports UltraSparc-III processors
+
+
+
For a complete list of new features and known problems, please
+ see the online release notes and errata list, available at:
FreeBSD 7.2-RELEASE is now available for the amd64, i386, ia64,
+ pc98, powerpc, and sparc64 architectures.
+
+
FreeBSD 7.2 can be installed from bootable ISO images or over the
+ network; the required files can be downloaded via FTP or
+ BitTorrent as described in the sections below. While some of the
+ smaller FTP mirrors may not carry all architectures, they will all
+ generally contain the more common ones, such as i386 and
+ amd64.
+
+
MD5 and SHA256 hashes for the release ISO images are included at
+ the bottom of this message.
+
+
The purpose of the ISO images provided as part of the release are
+ as follows:
+
+
+
dvd1
+
+
This contains everything necessary to install the base
+ FreeBSD operating system, a collection of pre-built packages,
+ and the documentation. It also supports booting into a
+ "livefs" based rescue mode. This should be all you need if
+ you can burn and use DVD-sized media.
+
+
disc1, disc2, disc3, livefs, docs
+
+
disc1 contains the base FreeBSD operating
+ system and a few pre-built packages. disc2
+ and disc3 contain more pre-built packages.
+ Those three can be burned to CDROM sized media and should be
+ all you need to do a normal installation.
+ livefs contains support for booting into a
+ "livefs" based rescue mode but does not support doing an
+ install from the CD itself. You would need to perform a
+ network based install. docs contains the
+ documentation.
+
+
bootonly
+
+
This supports booting a machine using the CDROM drive but
+ does not contain the support for installing FreeBSD from the
+ CD itself. You would need to perform a network based install
+ (e.g. from an FTP server) after booting from the CD.
+
+
+
Note: late in the testing cycle it was
+ discovered some machines do not recognize the i386 disc1 as
+ bootable (they just fall through to booting off the next boot
+ device). All affected machines did see the other discs as
+ bootable. If you have a machine with that problem booting off
+ either bootonly or livefs and then swapping in disc1 once
+ sysinstall starts should work.
+
+
FreeBSD 7.2-RELEASE can also be purchased on CD-ROM or DVD from
+ several vendors. One of the vendors that will be offering FreeBSD
+ 7.2-based products is:
For instructions on installing FreeBSD, please see Chapter 2 of
+ The FreeBSD Handbook. It provides a complete installation
+ walk-through for users new to FreeBSD, and can be found online
+ at:
The branch tag to use for updating the source is RELENG_7_2.
+
+
FreeBSD Update
+
+
The freebsd-update(8) utility supports binary upgrades of i386
+ and amd64 systems running earlier FreeBSD releases. Systems
+ running 7.0-RELEASE, 7.1-RELEASE, 7.2-BETA, 7.2-RC1, or 7.2-RC2
+ can upgrade as follows:
+
+
# freebsd-update upgrade -r 7.2-RELEASE
+
+
During this process, FreeBSD Update may ask the user to help by
+ merging some configuration files or by confirming that the
+ automatically performed merging was done correctly.
+
+
# freebsd-update install
+
+
The system must be rebooted with the newly installed kernel
+ before continuing.
+
+
# shutdown -r now
+
+
After rebooting, freebsd-update needs to be run again to
+ install the new userland components, and the system needs to be
+ rebooted again:
+
+
# freebsd-update install
+# shutdown -r now
+
+
Users of earlier FreeBSD releases (FreeBSD 6.x) can also use
+ freebsd-update to upgrade to FreeBSD 7.2, but will be prompted
+ to rebuild all third-party applications (e.g., anything
+ installed from the ports tree) after the second invocation of
+ "freebsd-update install", in order to handle differences in the
+ system libraries between FreeBSD 6.x and FreeBSD 7.x.
+
+
For more information about upgrading from FreeBSD 6.x using
+ FreeBSD Update, see:
The FreeBSD Security Team currently plans to support FreeBSD
+ 7.2 until May 31st, 2010. For more information on the Security
+ Team and their support of the various FreeBSD branches see:
Many companies donated equipment, network access, or man-hours to
+ support the release engineering activities for FreeBSD 7.2 including
+ The FreeBSD Foundation, Hewlett-Packard, Yahoo!, NetApp,
+ Internet Systems Consortium, and Sentex Communications.
+
+
The release engineering team for 7.2-RELEASE includes:
[20090501] Some machines do not recognize the i386 disc1 as bootable and fall through
+to booting off the next boot device. All affected machines did see the other discs as
+bootable. As a workaround, you can boot using the bootonly or livefs CDROM and then swap
+in disc1 once sysinstall starts.
+
+
[20090504] A lock handling error has been found in interaction between
+malloc(3)
+implementation and threading library. When a multi-threaded process calls the
+fork(2) system
+call in a thread and the
+malloc(3)
+function in another thread, it can cause a deadlock in the child process. An Errata
+Notice to fix this problem is planned for this problem after the release.
The highlights in the 7.2-RELEASE are the following:
-
To be updated...
+
[amd64, i386] The FreeBSD virtual memory subsystem now
+ supports fully transparent use of superpages for application memory;
+ application memory pages are dynamically promoted to or
+ demoted from superpages without any modification to
+ application code. This change offers the benefit of large page
+ sizes such as improved virtual memory efficiency and reduced
+ TLB (translation lookaside buffer) misses without downsides
+ like application changes and virtual memory
+ inflexibility. This is disabled by default and can be enabled
+ by setting a loader tunable vm.pmap.pg_ps_enabled to 1.
+
+
[amd64] The FreeBSD kernel virtual address space has been
+ increased to 6GB. This allows subsystems to use larger virtual
+ memory space than before. For example,
+ zfs(8) adaptive
+ replacement cache (ARC) requires large kernel memory space to
+ cache file system data, so it benefits from the increased
+ address space. Note that the ceiling on the kernel map size is
+ now 60% of the size rather than an absolute quantity.
+
+
[sparc64] The FreeBSD now supports Ultra SPARC III
+ (Cheetah) processor family.
+
+
[i386] The
+ boot(8) BTX loader
+ has been improved. This fixes several boot issues on recent
+ machines reported for 7.1-RELEASE and before.
+
+
A bug in the
+ ciss(4) driver which
+ caused low “max device openings” count and led
+ to poor performance has been fixed.
+
+
The
+ sdhci(4) driver has
+ been added. This supports PCI devices with class 8 and
+ subclass 5 according to the SD Host Controller
+ Specification.
The
+ btpand(8) daemon
+ from NetBSD has been added. This daemon provides support for
+ Bluetooth Network Access Point (NAP), Group Ad-hoc Network
+ (GN) and Personal Area Network User (PANU)
+ profiles.
+
+
The
+ jail(8) subsystem
+ has been updated. Changes include:
+
+
+
+
Multiple addresses of both IPv4 and IPv6 per jail has
+ been supported. It is even possible to have jails without
+ an IP address at all, which basically gives one a chrooted
+ environment with restricted process view and no
+ networking.
+
+
+
+
SCTP (sctp(4)) with
+ IPv6 in jails has been implemented.
+
+
+
Specific CPU binding by using
+ cpuset(1) has
+ been implemented. Note that the current implementation
+ allows the superuser inside of the jail to change the
+ CPU bindings specified. This behavior will be fixed in
+ the next release.
+
+
+
+
A
+ jail(8) can
+ start with a specific route FIB now.
+
+
+
+
A show jails subcommand in
+ ddb(8) has been
+ added.
+
+
+
Compatibility support which permits 32-bit jail
+ binaries to be used on 64-bit systems to manage jails has been
+ added.
+
+
+
Note that both version numbers of >> TRUNCATED FOR MAIL (1000 lines) <<<
From rene at FreeBSD.org Mon May 4 09:58:17 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Mon May 4 09:58:23 2009
Subject: PERFORCE change 161541 for review
Message-ID: <200905040958.n449wFNw027199@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161541
Change 161541 by rene@rene_self on 2009/05/04 09:58:14
MFen:
* handbook/introduction 1.133 -> 1.134
* handbook/mirrors 1.458 -> 1.461
Affected files ...
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml#17 edit
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#20 edit
Differences ...
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml#17 (text+ko) ====
@@ -5,7 +5,7 @@
$FreeBSDnl: nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml,v 1.35 2005/09/23 17:03:10 siebrand Exp $
%SOURCE% en_US.ISO8859-1/books/handbook/introduction/chapter.sgml
- %SRCID% 1.133
+ %SRCID% 1.134
-->
@@ -776,8 +776,7 @@
De RELENG_6 tak is gemaakt in juli 2005, de eerste uitgave
van de 6.X tak werd vrijgegeven in november 2005. De meest
recente &rel2.current;-RELEASE kwam uit op &rel2.current.date;.
- Dit zal waarschijnlijk de laatste uitgave zijn van de 6.X
- tak.
+ Er zullen geen verdere uitgaven komen van de 6.X tak.
De RELENG_7 tak is gemaakt in oktober 2007. De eerste
uitgave van deze tak is 7.0-RELEASE, welke is uitgekomen in
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#20 (text+ko) ====
@@ -6,7 +6,7 @@
Vertaald door: Siebrand Mazeland
%SOURCE% en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
- %SRCID% 1.458
+ %SRCID% 1.461
-->
@@ -2832,6 +2832,14 @@
+ RELENG_7_2_0_RELEASE
+
+
+ &os; 7.2
+
+
+
+ RELENG_7_1_0_RELEASE
From hselasky at FreeBSD.org Mon May 4 10:52:13 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Mon May 4 10:52:21 2009
Subject: PERFORCE change 161545 for review
Message-ID: <200905041052.n44AqADK032226@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161545
Change 161545 by hselasky@hselasky_laptop001 on 2009/05/04 10:51:46
IFC @ 161543
Affected files ...
.. //depot/projects/usb/src/sys/amd64/amd64/busdma_machdep.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#14 integrate
.. //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#21 integrate
.. //depot/projects/usb/src/sys/amd64/conf/GENERIC#24 integrate
.. //depot/projects/usb/src/sys/amd64/include/apicvar.h#8 integrate
.. //depot/projects/usb/src/sys/amd64/include/clock.h#7 integrate
.. //depot/projects/usb/src/sys/amd64/include/smp.h#8 integrate
.. //depot/projects/usb/src/sys/amd64/include/specialreg.h#13 integrate
.. //depot/projects/usb/src/sys/amd64/isa/clock.c#8 integrate
.. //depot/projects/usb/src/sys/amd64/linux32/linux32_sysvec.c#19 integrate
.. //depot/projects/usb/src/sys/arm/arm/busdma_machdep.c#18 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91.c#14 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91_cfata.c#1 branch
.. //depot/projects/usb/src/sys/arm/at91/at91_machdep.c#2 integrate
.. //depot/projects/usb/src/sys/arm/at91/at91rm92reg.h#5 integrate
.. //depot/projects/usb/src/sys/arm/at91/files.at91#10 integrate
.. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_zone.c#3 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#16 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#14 integrate
.. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#14 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_futex.c#10 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_futex.h#7 integrate
.. //depot/projects/usb/src/sys/compat/linux/linux_socket.c#9 integrate
.. //depot/projects/usb/src/sys/conf/NOTES#33 integrate
.. //depot/projects/usb/src/sys/conf/files#60 integrate
.. //depot/projects/usb/src/sys/conf/files.powerpc#21 integrate
.. //depot/projects/usb/src/sys/conf/options#26 integrate
.. //depot/projects/usb/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#12 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi.c#16 integrate
.. //depot/projects/usb/src/sys/dev/acpica/acpi_cpu.c#9 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-all.h#12 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-disk.c#14 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.c#14 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-pci.h#17 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-queue.c#14 integrate
.. //depot/projects/usb/src/sys/dev/ata/ata-sata.c#4 integrate
.. //depot/projects/usb/src/sys/dev/ata/atapi-tape.c#10 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ahci.c#7 integrate
.. //depot/projects/usb/src/sys/dev/ata/chipsets/ata-ati.c#2 integrate
.. //depot/projects/usb/src/sys/dev/ath/if_ath.c#23 integrate
.. //depot/projects/usb/src/sys/dev/bwi/bitops.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwimac.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwimac.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwiphy.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwiphy.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwirf.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/bwirf.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwi.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwi_pci.c#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwireg.h#1 branch
.. //depot/projects/usb/src/sys/dev/bwi/if_bwivar.h#1 branch
.. //depot/projects/usb/src/sys/dev/cxgb/cxgb_multiq.c#6 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_em.c#5 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_em.h#4 integrate
.. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#7 integrate
.. //depot/projects/usb/src/sys/dev/ed/if_ed_pccard.c#10 integrate
.. //depot/projects/usb/src/sys/dev/fb/creator.c#8 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#24 integrate
.. //depot/projects/usb/src/sys/dev/if_ndis/if_ndisvar.h#12 integrate
.. //depot/projects/usb/src/sys/dev/ipw/if_ipw.c#11 integrate
.. //depot/projects/usb/src/sys/dev/ipw/if_ipwvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/iwi/if_iwi.c#11 integrate
.. //depot/projects/usb/src/sys/dev/iwi/if_iwivar.h#5 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#7 integrate
.. //depot/projects/usb/src/sys/dev/iwn/if_iwnvar.h#2 integrate
.. //depot/projects/usb/src/sys/dev/mxge/if_mxge.c#11 integrate
.. //depot/projects/usb/src/sys/dev/mxge/if_mxge_var.h#11 integrate
.. //depot/projects/usb/src/sys/dev/nve/if_nve.c#8 integrate
.. //depot/projects/usb/src/sys/dev/pccard/pccarddevs#15 integrate
.. //depot/projects/usb/src/sys/dev/rp/rp.c#4 integrate
.. //depot/projects/usb/src/sys/dev/rp/rp_pci.c#2 integrate
.. //depot/projects/usb/src/sys/dev/rp/rpreg.h#3 integrate
.. //depot/projects/usb/src/sys/dev/sk/if_sk.c#9 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#22 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#9 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#18 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.h#8 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.h#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.h#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#14 integrate
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/template/usb_template.c#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#8 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_core.h#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_device.c#28 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_device.h#17 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.c#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.h#3 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#12 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#8 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#15 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_request.c#13 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_request.h#7 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#2 integrate
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#142 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_rumvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#3 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uathvar.h#2 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_uralvar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#10 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/if_zydreg.h#5 integrate
.. //depot/projects/usb/src/sys/dev/usb/wlan/usb_wlan.h#5 delete
.. //depot/projects/usb/src/sys/dev/wi/if_wi.c#10 integrate
.. //depot/projects/usb/src/sys/dev/wi/if_wivar.h#6 integrate
.. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#11 integrate
.. //depot/projects/usb/src/sys/dev/wpi/if_wpivar.h#4 integrate
.. //depot/projects/usb/src/sys/dev/xl/if_xl.c#4 integrate
.. //depot/projects/usb/src/sys/i386/bios/apm.c#7 integrate
.. //depot/projects/usb/src/sys/i386/conf/GENERIC#23 integrate
.. //depot/projects/usb/src/sys/i386/i386/busdma_machdep.c#17 integrate
.. //depot/projects/usb/src/sys/i386/i386/identcpu.c#13 integrate
.. //depot/projects/usb/src/sys/i386/i386/local_apic.c#14 integrate
.. //depot/projects/usb/src/sys/i386/i386/mp_machdep.c#17 integrate
.. //depot/projects/usb/src/sys/i386/include/apicvar.h#8 integrate
.. //depot/projects/usb/src/sys/i386/include/clock.h#7 integrate
.. //depot/projects/usb/src/sys/i386/include/smp.h#8 integrate
.. //depot/projects/usb/src/sys/i386/include/specialreg.h#12 integrate
.. //depot/projects/usb/src/sys/i386/isa/clock.c#9 integrate
.. //depot/projects/usb/src/sys/i386/linux/linux_sysvec.c#14 integrate
.. //depot/projects/usb/src/sys/i386/xen/clock.c#6 integrate
.. //depot/projects/usb/src/sys/i386/xen/mp_machdep.c#8 integrate
.. //depot/projects/usb/src/sys/ia64/isa/isa.c#3 integrate
.. //depot/projects/usb/src/sys/isa/atrtc.c#2 integrate
.. //depot/projects/usb/src/sys/isa/rtc.h#3 integrate
.. //depot/projects/usb/src/sys/kern/init_sysent.c#11 integrate
.. //depot/projects/usb/src/sys/kern/kern_cpuset.c#6 integrate
.. //depot/projects/usb/src/sys/kern/kern_jail.c#18 integrate
.. //depot/projects/usb/src/sys/kern/kern_mib.c#11 integrate
.. //depot/projects/usb/src/sys/kern/kern_osd.c#3 integrate
.. //depot/projects/usb/src/sys/kern/kern_rmlock.c#3 integrate
.. //depot/projects/usb/src/sys/kern/kern_sysctl.c#13 integrate
.. //depot/projects/usb/src/sys/kern/kern_vimage.c#3 integrate
.. //depot/projects/usb/src/sys/kern/sched_ule.c#16 integrate
.. //depot/projects/usb/src/sys/kern/subr_smp.c#12 integrate
.. //depot/projects/usb/src/sys/kern/subr_witness.c#19 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.c#11 integrate
.. //depot/projects/usb/src/sys/kern/syscalls.master#11 integrate
.. //depot/projects/usb/src/sys/kern/systrace_args.c#10 integrate
.. //depot/projects/usb/src/sys/kern/tty_pts.c#12 integrate
.. //depot/projects/usb/src/sys/kern/uipc_socket.c#17 integrate
.. //depot/projects/usb/src/sys/mips/include/pmap.h#5 integrate
.. //depot/projects/usb/src/sys/mips/mips/pmap.c#9 integrate
.. //depot/projects/usb/src/sys/modules/Makefile#31 integrate
.. //depot/projects/usb/src/sys/modules/bwi/Makefile#1 branch
.. //depot/projects/usb/src/sys/net/bridgestp.c#12 integrate
.. //depot/projects/usb/src/sys/net/flowtable.c#2 integrate
.. //depot/projects/usb/src/sys/net/ieee8023ad_lacp.c#8 integrate
.. //depot/projects/usb/src/sys/net/if.c#23 integrate
.. //depot/projects/usb/src/sys/net/if.h#10 integrate
.. //depot/projects/usb/src/sys/net/if_arcsubr.c#6 integrate
.. //depot/projects/usb/src/sys/net/if_bridge.c#15 integrate
.. //depot/projects/usb/src/sys/net/if_dead.c#1 branch
.. //depot/projects/usb/src/sys/net/if_ef.c#7 integrate
.. //depot/projects/usb/src/sys/net/if_gif.c#13 integrate
.. //depot/projects/usb/src/sys/net/if_gif.h#7 integrate
.. //depot/projects/usb/src/sys/net/if_lagg.c#13 integrate
.. //depot/projects/usb/src/sys/net/if_loop.c#18 integrate
.. //depot/projects/usb/src/sys/net/if_mib.c#7 integrate
.. //depot/projects/usb/src/sys/net/if_var.h#15 integrate
.. //depot/projects/usb/src/sys/net/route.c#16 integrate
.. //depot/projects/usb/src/sys/net/rtsock.c#20 integrate
.. //depot/projects/usb/src/sys/net/vnet.h#7 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211.c#20 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211.h#14 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_adhoc.c#7 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ddb.c#13 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.h#15 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_hostap.c#10 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ht.c#10 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ht.h#9 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_ioctl.c#21 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_node.c#21 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_node.h#13 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#22 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_proto.c#17 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_scan.c#8 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_scan.h#5 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_scan_sta.c#12 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#8 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_superg.c#4 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_superg.h#4 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_var.h#20 integrate
.. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#8 integrate
.. //depot/projects/usb/src/sys/netgraph/netgraph.h#10 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_base.c#15 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_eiface.c#9 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_ether.c#9 integrate
.. //depot/projects/usb/src/sys/netgraph/ng_iface.c#11 integrate
.. //depot/projects/usb/src/sys/netinet/icmp6.h#5 integrate
.. //depot/projects/usb/src/sys/netinet/igmp.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/in.c#21 integrate
.. //depot/projects/usb/src/sys/netinet/in_mcast.c#13 integrate
.. //depot/projects/usb/src/sys/netinet/in_pcb.c#21 integrate
.. //depot/projects/usb/src/sys/netinet/in_pcb.h#18 integrate
.. //depot/projects/usb/src/sys/netinet/in_rmx.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/ip_carp.c#14 integrate
.. //depot/projects/usb/src/sys/netinet/ip_divert.c#15 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw.h#15 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw2.c#22 integrate
.. //depot/projects/usb/src/sys/netinet/ip_fw_pfil.c#9 integrate
.. //depot/projects/usb/src/sys/netinet/ip_input.c#19 integrate
.. //depot/projects/usb/src/sys/netinet/ip_ipsec.c#12 integrate
.. //depot/projects/usb/src/sys/netinet/ip_mroute.c#12 integrate
.. //depot/projects/usb/src/sys/netinet/ip_output.c#17 integrate
.. //depot/projects/usb/src/sys/netinet/raw_ip.c#21 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_subr.c#22 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_syncache.c#20 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_syncache.h#6 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_timewait.c#12 integrate
.. //depot/projects/usb/src/sys/netinet/tcp_var.h#17 integrate
.. //depot/projects/usb/src/sys/netinet/udp_usrreq.c#20 integrate
.. //depot/projects/usb/src/sys/netinet/vinet.h#9 integrate
.. //depot/projects/usb/src/sys/netinet6/icmp6.c#17 integrate
.. //depot/projects/usb/src/sys/netinet6/in6.c#20 integrate
.. //depot/projects/usb/src/sys/netinet6/in6.h#7 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#17 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_mcast.c#1 branch
.. //depot/projects/usb/src/sys/netinet6/in6_pcb.c#16 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_proto.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_rmx.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/in6_var.h#8 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_input.c#19 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_mroute.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_output.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/ip6_var.h#12 integrate
.. //depot/projects/usb/src/sys/netinet6/mld6.c#13 integrate
.. //depot/projects/usb/src/sys/netinet6/mld6.h#1 branch
.. //depot/projects/usb/src/sys/netinet6/mld6_var.h#3 integrate
.. //depot/projects/usb/src/sys/netinet6/nd6.c#16 integrate
.. //depot/projects/usb/src/sys/netinet6/nd6_rtr.c#15 integrate
.. //depot/projects/usb/src/sys/netinet6/raw_ip6.c#19 integrate
.. //depot/projects/usb/src/sys/netinet6/udp6_usrreq.c#18 integrate
.. //depot/projects/usb/src/sys/netinet6/vinet6.h#7 integrate
.. //depot/projects/usb/src/sys/netipsec/ipsec.c#17 integrate
.. //depot/projects/usb/src/sys/netipsec/key.c#15 integrate
.. //depot/projects/usb/src/sys/netipsec/key.h#2 integrate
.. //depot/projects/usb/src/sys/netipsec/vipsec.h#5 integrate
.. //depot/projects/usb/src/sys/netipx/spx_usrreq.c#6 integrate
.. //depot/projects/usb/src/sys/nfsclient/nfs_kdtrace.c#2 integrate
.. //depot/projects/usb/src/sys/nfsclient/nfs_krpc.c#4 integrate
.. //depot/projects/usb/src/sys/pc98/cbus/clock.c#8 integrate
.. //depot/projects/usb/src/sys/pc98/conf/GENERIC#18 integrate
.. //depot/projects/usb/src/sys/powerpc/aim/machdep.c#9 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/locore.S#6 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#9 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/swtch.S#3 integrate
.. //depot/projects/usb/src/sys/powerpc/booke/vm_machdep.c#3 integrate
.. //depot/projects/usb/src/sys/powerpc/conf/MPC85XX#5 integrate
.. //depot/projects/usb/src/sys/powerpc/include/hid.h#5 integrate
.. //depot/projects/usb/src/sys/powerpc/include/intr_machdep.h#5 integrate
.. //depot/projects/usb/src/sys/powerpc/include/pte.h#5 integrate
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/atpic.c#1 branch
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/isa.c#1 branch
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/ocpbus.c#6 integrate
.. //depot/projects/usb/src/sys/powerpc/mpc85xx/pci_ocp.c#3 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/autoconf.c#5 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/bus_machdep.c#3 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/cpu.c#8 integrate
.. //depot/projects/usb/src/sys/powerpc/powerpc/intr_machdep.c#12 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_atalk.c#3 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_audit.c#7 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_cred.c#4 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_inet.c#12 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_inet6.c#5 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_internal.h#10 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_net.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_pipe.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_posix_sem.c#10 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_posix_shm.c#5 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_priv.c#5 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_process.c#12 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_socket.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_system.c#7 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_sysv_msg.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_sysv_sem.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_sysv_shm.c#8 integrate
.. //depot/projects/usb/src/sys/security/mac/mac_vfs.c#10 integrate
.. //depot/projects/usb/src/sys/sys/jail.h#12 integrate
.. //depot/projects/usb/src/sys/sys/ktr.h#3 integrate
.. //depot/projects/usb/src/sys/sys/mbuf.h#13 integrate
.. //depot/projects/usb/src/sys/sys/osd.h#3 integrate
.. //depot/projects/usb/src/sys/sys/param.h#28 integrate
.. //depot/projects/usb/src/sys/sys/priv.h#12 integrate
.. //depot/projects/usb/src/sys/sys/queue.h#4 integrate
.. //depot/projects/usb/src/sys/sys/smp.h#6 integrate
.. //depot/projects/usb/src/sys/sys/socketvar.h#9 integrate
.. //depot/projects/usb/src/sys/sys/syscall.h#11 integrate
.. //depot/projects/usb/src/sys/sys/syscall.mk#11 integrate
.. //depot/projects/usb/src/sys/sys/syscallsubr.h#9 integrate
.. //depot/projects/usb/src/sys/sys/sysctl.h#16 integrate
.. //depot/projects/usb/src/sys/sys/sysproto.h#11 integrate
.. //depot/projects/usb/src/sys/sys/vimage.h#8 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/dinode.h#2 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/inode.h#7 integrate
.. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#14 integrate
.. //depot/projects/usb/src/sys/vm/swap_pager.c#14 integrate
.. //depot/projects/usb/src/sys/vm/vm_fault.c#12 integrate
.. //depot/projects/usb/src/sys/vm/vm_object.c#15 integrate
.. //depot/projects/usb/src/sys/vm/vm_pageout.c#14 integrate
.. //depot/projects/usb/src/sys/vm/vnode_pager.c#14 integrate
Differences ...
==== //depot/projects/usb/src/sys/amd64/amd64/busdma_machdep.c#14 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.90 2009/04/17 13:22:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.91 2009/04/23 20:24:19 jhb Exp $");
#include
#include
@@ -95,7 +95,6 @@
int total_deferred;
int map_count;
bus_size_t alignment;
- bus_size_t boundary;
bus_addr_t lowaddr;
char zoneid[8];
char lowaddrid[20];
@@ -978,7 +977,6 @@
/* Check to see if we already have a suitable zone */
STAILQ_FOREACH(bz, &bounce_zone_list, links) {
if ((dmat->alignment <= bz->alignment)
- && (dmat->boundary <= bz->boundary)
&& (dmat->lowaddr >= bz->lowaddr)) {
dmat->bounce_zone = bz;
return (0);
@@ -994,8 +992,7 @@
bz->reserved_bpages = 0;
bz->active_bpages = 0;
bz->lowaddr = dmat->lowaddr;
- bz->alignment = dmat->alignment;
- bz->boundary = dmat->boundary;
+ bz->alignment = MAX(dmat->alignment, PAGE_SIZE);
bz->map_count = 0;
snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
busdma_zonecount++;
@@ -1042,9 +1039,6 @@
SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
"alignment", CTLFLAG_RD, &bz->alignment, 0, "");
- SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
- SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
- "boundary", CTLFLAG_RD, &bz->boundary, 0, "");
return (0);
}
@@ -1069,7 +1063,7 @@
M_NOWAIT, 0ul,
bz->lowaddr,
PAGE_SIZE,
- bz->boundary);
+ 0);
if (bpage->vaddr == 0) {
free(bpage, M_DEVBUF);
break;
==== //depot/projects/usb/src/sys/amd64/amd64/identcpu.c#14 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.171 2009/01/22 21:04:46 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.172 2009/04/29 06:54:40 jeff Exp $");
#include "opt_cpu.h"
@@ -106,10 +106,7 @@
{ CENTAUR_VENDOR_ID, CPU_VENDOR_CENTAUR }, /* CentaurHauls */
};
-int cpu_cores;
-int cpu_logical;
-
extern int pq_l2size;
extern int pq_l2nways;
@@ -195,7 +192,6 @@
cpu_vendor_id == CPU_VENDOR_CENTAUR) {
printf(" Stepping = %u", cpu_id & 0xf);
if (cpu_high > 0) {
- u_int cmp = 1, htt = 1;
/*
* Here we should probably set up flags indicating
@@ -400,28 +396,6 @@
if (tsc_is_invariant)
printf("\n TSC: P-state invariant");
- /*
- * If this CPU supports HTT or CMP then mention the
- * number of physical/logical cores it contains.
- */
- if (cpu_feature & CPUID_HTT)
- htt = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
- if (cpu_vendor_id == CPU_VENDOR_AMD &&
- (amd_feature2 & AMDID2_CMP))
- cmp = (cpu_procinfo2 & AMDID_CMP_CORES) + 1;
- else if (cpu_vendor_id == CPU_VENDOR_INTEL &&
- (cpu_high >= 4)) {
- cpuid_count(4, 0, regs);
- if ((regs[0] & 0x1f) != 0)
- cmp = ((regs[0] >> 26) & 0x3f) + 1;
- }
- cpu_cores = cmp;
- cpu_logical = htt / cmp;
- if (cmp > 1)
- printf("\n Cores per package: %d", cmp);
- if ((htt / cmp) > 1)
- printf("\n Logical CPUs per core: %d",
- cpu_logical);
}
}
/* Avoid ugly blank lines: only print newline when we have to. */
==== //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#14 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.52 2009/02/21 23:15:34 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -112,7 +112,7 @@
u_long la_stat_ticks;
u_long la_prof_ticks;
/* Include IDT_SYSCALL to make indexing easier. */
- u_int la_ioint_irqs[APIC_NUM_IOINTS + 1];
+ int la_ioint_irqs[APIC_NUM_IOINTS + 1];
} static lapics[MAX_APIC_ID + 1];
/* XXX: should thermal be an NMI? */
@@ -254,6 +254,8 @@
lapics[apic_id].la_lvts[i] = lvts[i];
lapics[apic_id].la_lvts[i].lvt_active = 0;
}
+ for (i = 0; i <= APIC_NUM_IOINTS; i++)
+ lapics[apic_id].la_ioint_irqs[i] = -1;
lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
IRQ_TIMER;
@@ -363,11 +365,15 @@
lapic_setup_clock(void)
{
u_long value;
+ int i;
/* Can't drive the timer without a local APIC. */
if (lapic == NULL)
return (0);
+ if (resource_int_value("apic", 0, "clock", &i) == 0 && i == 0)
+ return (0);
+
/* Start off with a divisor of 2 (power on reset default). */
lapic_timer_divisor = 2;
@@ -807,7 +813,7 @@
*/
mtx_lock_spin(&icu_lock);
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
- if (lapics[apic_id].la_ioint_irqs[vector] != 0)
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1)
continue;
lapics[apic_id].la_ioint_irqs[vector] = irq;
mtx_unlock_spin(&icu_lock);
@@ -847,7 +853,7 @@
for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
/* Vector is in use, end run. */
- if (lapics[apic_id].la_ioint_irqs[vector] != 0) {
+ if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
run = 0;
first = 0;
continue;
@@ -932,7 +938,7 @@
sched_bind(td, apic_cpuid(apic_id));
thread_unlock(td);
mtx_lock_spin(&icu_lock);
- lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = 0;
+ lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
mtx_unlock_spin(&icu_lock);
thread_lock(td);
sched_unbind(td);
@@ -944,11 +950,15 @@
u_int
apic_idt_to_irq(u_int apic_id, u_int vector)
{
+ int irq;
KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL &&
vector <= APIC_IO_INTS + APIC_NUM_IOINTS,
("Vector %u does not map to an IRQ line", vector));
- return (lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS]);
+ irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
+ if (irq < 0)
+ irq = 0;
+ return (irq);
}
#ifdef DDB
@@ -974,7 +984,7 @@
db_printf("Interrupts bound to lapic %u\n", apic_id);
for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) {
irq = lapics[apic_id].la_ioint_irqs[i];
- if (irq == 0 || irq == IRQ_SYSCALL)
+ if (irq == -1 || irq == IRQ_SYSCALL)
continue;
db_printf("vec 0x%2x -> ", i + APIC_IO_INTS);
if (irq == IRQ_TIMER)
==== //depot/projects/usb/src/sys/amd64/amd64/mp_machdep.c#21 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.302 2009/04/01 13:09:26 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.306 2009/05/02 12:20:43 mav Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -57,6 +57,7 @@
#include
#include
+#include
#include
#include
#include
@@ -160,6 +161,8 @@
static volatile u_int cpu_ipi_pending[MAXCPU];
static u_int boot_address;
+static int cpu_logical;
+static int cpu_cores;
static void assign_cpu_ids(void);
static void set_interrupt_apic_ids(void);
@@ -181,13 +184,148 @@
mem_range_softc.mr_op->initAP(&mem_range_softc);
}
-struct cpu_group *
-cpu_topo(void)
+static void
+topo_probe_0xb(void)
+{
+ int logical;
+ int p[4];
+ int bits;
+ int type;
+ int cnt;
+ int i;
+ int x;
+
+ /* We only support two levels for now. */
+ for (i = 0; i < 3; i++) {
+ cpuid_count(0x0B, i, p);
+ bits = p[0] & 0x1f;
+ logical = p[1] &= 0xffff;
+ type = (p[2] >> 8) & 0xff;
+ if (type == 0 || logical == 0)
+ break;
+ for (cnt = 0, x = 0; x <= MAX_APIC_ID; x++) {
+ if (!cpu_info[x].cpu_present ||
+ cpu_info[x].cpu_disabled)
+ continue;
+ if (x >> bits == boot_cpu_id >> bits)
+ cnt++;
+ }
+ if (type == CPUID_TYPE_SMT)
+ cpu_logical = cnt;
+ else if (type == CPUID_TYPE_CORE)
+ cpu_cores = cnt;
+ }
+ if (cpu_logical == 0)
+ cpu_logical = 1;
+ cpu_cores /= cpu_logical;
+}
+
+static void
+topo_probe_0x4(void)
+{
+ u_int threads_per_cache, p[4];
+ u_int htt, cmp;
+ int i;
+
+ htt = cmp = 1;
+ /*
+ * If this CPU supports HTT or CMP then mention the
+ * number of physical/logical cores it contains.
+ */
+ if (cpu_feature & CPUID_HTT)
+ htt = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+ if (cpu_vendor_id == CPU_VENDOR_AMD && (amd_feature2 & AMDID2_CMP))
+ cmp = (cpu_procinfo2 & AMDID_CMP_CORES) + 1;
+ else if (cpu_vendor_id == CPU_VENDOR_INTEL && (cpu_high >= 4)) {
+ cpuid_count(4, 0, p);
+ if ((p[0] & 0x1f) != 0)
+ cmp = ((p[0] >> 26) & 0x3f) + 1;
+ }
+ cpu_cores = cmp;
+ cpu_logical = htt / cmp;
+
+ /* Setup the initial logical CPUs info. */
+ if (cpu_feature & CPUID_HTT)
+ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+
+ /*
+ * Work out if hyperthreading is *really* enabled. This
+ * is made really ugly by the fact that processors lie: Dual
+ * core processors claim to be hyperthreaded even when they're
+ * not, presumably because they want to be treated the same
+ * way as HTT with respect to per-cpu software licensing.
+ * At the time of writing (May 12, 2005) the only hyperthreaded
+ * cpus are from Intel, and Intel's dual-core processors can be
+ * identified via the "deterministic cache parameters" cpuid
+ * calls.
+ */
+ /*
+ * First determine if this is an Intel processor which claims
+ * to have hyperthreading support.
+ */
+ if ((cpu_feature & CPUID_HTT) && cpu_vendor_id == CPU_VENDOR_INTEL) {
+ /*
+ * If the "deterministic cache parameters" cpuid calls
+ * are available, use them.
+ */
+ if (cpu_high >= 4) {
+ /* Ask the processor about the L1 cache. */
+ for (i = 0; i < 1; i++) {
+ cpuid_count(4, i, p);
+ threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
+ if (hyperthreading_cpus < threads_per_cache)
+ hyperthreading_cpus = threads_per_cache;
+ if ((p[0] & 0x1f) == 0)
+ break;
+ }
+ }
+
+ /*
+ * If the deterministic cache parameters are not
+ * available, or if no caches were reported to exist,
+ * just accept what the HTT flag indicated.
+ */
+ if (hyperthreading_cpus == 0)
+ hyperthreading_cpus = logical_cpus;
+ }
+}
+
+static void
+topo_probe(void)
{
+ static int cpu_topo_probed = 0;
+
+ if (cpu_topo_probed)
+ return;
+
+ logical_cpus = logical_cpus_mask = 0;
+ if (cpu_high >= 0xb)
+ topo_probe_0xb();
+ else if (cpu_high)
+ topo_probe_0x4();
if (cpu_cores == 0)
- cpu_cores = 1;
+ cpu_cores = mp_ncpus > 0 ? mp_ncpus : 1;
if (cpu_logical == 0)
cpu_logical = 1;
+ cpu_topo_probed = 1;
+}
+
+struct cpu_group *
+cpu_topo(void)
+{
+ int cg_flags;
+
+ /*
+ * Determine whether any threading flags are
+ * necessry.
+ */
+ topo_probe();
+ if (cpu_logical > 1 && hyperthreading_cpus)
+ cg_flags = CG_FLAG_HTT;
+ else if (cpu_logical > 1)
+ cg_flags = CG_FLAG_SMT;
+ else
+ cg_flags = 0;
if (mp_ncpus % (cpu_cores * cpu_logical) != 0) {
printf("WARNING: Non-uniform processors.\n");
printf("WARNING: Using suboptimal topology.\n");
@@ -202,17 +340,17 @@
* Only HTT no multi-core.
*/
if (cpu_logical > 1 && cpu_cores == 1)
- return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+ return (smp_topo_1level(CG_SHARE_L1, cpu_logical, cg_flags));
/*
* Only multi-core no HTT.
*/
if (cpu_cores > 1 && cpu_logical == 1)
- return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0));
+ return (smp_topo_1level(CG_SHARE_L2, cpu_cores, cg_flags));
/*
* Both HTT and multi-core.
*/
- return (smp_topo_2level(CG_SHARE_NONE, cpu_cores,
- CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+ return (smp_topo_2level(CG_SHARE_L2, cpu_cores,
+ CG_SHARE_L1, cpu_logical, cg_flags));
}
/*
@@ -318,7 +456,6 @@
cpu_mp_start(void)
{
int i;
- u_int threads_per_cache, p[4];
/* Initialize the logical ID to APIC ID table. */
for (i = 0; i < MAXCPU; i++) {
@@ -354,54 +491,9 @@
} else
KASSERT(boot_cpu_id == PCPU_GET(apic_id),
("BSP's APIC ID doesn't match boot_cpu_id"));
- cpu_apic_ids[0] = boot_cpu_id;
- apic_cpuids[boot_cpu_id] = 0;
- /* Setup the initial logical CPUs info. */
- logical_cpus = logical_cpus_mask = 0;
- if (cpu_feature & CPUID_HTT)
- logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
-
- /*
- * Work out if hyperthreading is *really* enabled. This
- * is made really ugly by the fact that processors lie: Dual
- * core processors claim to be hyperthreaded even when they're
- * not, presumably because they want to be treated the same
- * way as HTT with respect to per-cpu software licensing.
- * At the time of writing (May 12, 2005) the only hyperthreaded
- * cpus are from Intel, and Intel's dual-core processors can be
- * identified via the "deterministic cache parameters" cpuid
- * calls.
- */
- /*
- * First determine if this is an Intel processor which claims
- * to have hyperthreading support.
- */
- if ((cpu_feature & CPUID_HTT) && cpu_vendor_id == CPU_VENDOR_INTEL) {
- /*
- * If the "deterministic cache parameters" cpuid calls
- * are available, use them.
- */
- if (cpu_high >= 4) {
- /* Ask the processor about the L1 cache. */
- for (i = 0; i < 1; i++) {
- cpuid_count(4, i, p);
- threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
- if (hyperthreading_cpus < threads_per_cache)
- hyperthreading_cpus = threads_per_cache;
- if ((p[0] & 0x1f) == 0)
- break;
- }
- }
-
- /*
- * If the deterministic cache parameters are not
- * available, or if no caches were reported to exist,
- * just accept what the HTT flag indicated.
- */
- if (hyperthreading_cpus == 0)
- hyperthreading_cpus = logical_cpus;
- }
+ /* Probe logical/physical core configuration. */
+ topo_probe();
assign_cpu_ids();
@@ -418,28 +510,38 @@
void
cpu_mp_announce(void)
{
- int i, x;
const char *hyperthread;
+ int i;
- /* List CPUs */
+ printf("FreeBSD/SMP: %d package(s) x %d core(s)",
+ mp_ncpus / (cpu_cores * cpu_logical), cpu_cores);
+ if (hyperthreading_cpus > 1)
+ printf(" x %d HTT threads", cpu_logical);
+ else if (cpu_logical > 1)
+ printf(" x %d SMT threads", cpu_logical);
+ printf("\n");
+
+ /* List active CPUs first. */
printf(" cpu0 (BSP): APIC ID: %2d\n", boot_cpu_id);
- for (i = 1, x = 0; x <= MAX_APIC_ID; x++) {
- if (!cpu_info[x].cpu_present || cpu_info[x].cpu_bsp)
+ for (i = 1; i < mp_ncpus; i++) {
+ if (cpu_info[cpu_apic_ids[i]].cpu_hyperthread)
+ hyperthread = "/HT";
+ else
+ hyperthread = "";
+ printf(" cpu%d (AP%s): APIC ID: %2d\n", i, hyperthread,
+ cpu_apic_ids[i]);
+ }
+
+ /* List disabled CPUs last. */
+ for (i = 0; i <= MAX_APIC_ID; i++) {
+ if (!cpu_info[i].cpu_present || !cpu_info[i].cpu_disabled)
continue;
- if (cpu_info[x].cpu_hyperthread) {
+ if (cpu_info[i].cpu_hyperthread)
hyperthread = "/HT";
- } else {
+ else
hyperthread = "";
- }
- if (cpu_info[x].cpu_disabled)
- printf(" cpu (AP%s): APIC ID: %2d (disabled)\n",
- hyperthread, x);
- else {
- KASSERT(i < mp_ncpus,
- ("mp_ncpus and actual cpus are out of whack"));
- printf(" cpu%d (AP%s): APIC ID: %2d\n", i++,
- hyperthread, x);
- }
+ printf(" cpu (AP%s): APIC ID: %2d (disabled)\n", hyperthread,
+ i);
}
}
@@ -693,11 +795,19 @@
/*
* Assign CPU IDs to local APIC IDs and disable any CPUs
- * beyond MAXCPU. CPU 0 has already been assigned to the BSP,
- * so we only have to assign IDs for APs.
+ * beyond MAXCPU. CPU 0 is always assigned to the BSP.
+ *
+ * To minimize confusion for userland, we attempt to number
+ * CPUs such that all threads and cores in a package are
+ * grouped together. For now we assume that the BSP is always
+ * the first thread in a package and just start adding APs
+ * starting with the BSP's APIC ID.
*/
mp_ncpus = 1;
- for (i = 0; i <= MAX_APIC_ID; i++) {
+ cpu_apic_ids[0] = boot_cpu_id;
+ apic_cpuids[boot_cpu_id] = 0;
+ for (i = boot_cpu_id + 1; i != boot_cpu_id;
+ i == MAX_APIC_ID ? i = 0 : i++) {
if (!cpu_info[i].cpu_present || cpu_info[i].cpu_bsp ||
cpu_info[i].cpu_disabled)
continue;
@@ -1015,6 +1125,15 @@
sched_preempt(curthread);
/* Nothing to do for AST */
+
+ if (ipi_bitmap & (1 << IPI_HARDCLOCK))
+ hardclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_STATCLOCK))
+ statclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_PROFCLOCK))
+ profclockintr(&frame);
}
/*
==== //depot/projects/usb/src/sys/amd64/conf/GENERIC#24 (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.523 2009/04/10 00:40:48 jfv Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.524 2009/05/01 17:20:16 sam Exp $
cpu HAMMER
ident GENERIC
@@ -292,8 +292,10 @@
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
+device rum # Ralink Technology RT2501USB wireless NICs
+device uath # Atheros AR5523 wireless NICs
device ural # Ralink Technology RT2500USB wireless NICs
-device rum # Ralink Technology RT2501USB wireless NICs
+device zyd # ZyDAS zb1211/zb1211b wireless NICs
device urio # Diamond Rio 500 MP3 player
# USB Serial devices
device uark # Technologies ARK3116 based serial adapters
==== //depot/projects/usb/src/sys/amd64/include/apicvar.h#8 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.28 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.29 2009/05/02 12:20:43 mav Exp $
*/
#ifndef _MACHINE_APICVAR_H_
@@ -126,7 +126,10 @@
/* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */
#define IPI_AST 0 /* Generate software trap. */
#define IPI_PREEMPT 1
-#define IPI_BITMAP_LAST IPI_PREEMPT
+#define IPI_HARDCLOCK 2
+#define IPI_STATCLOCK 3
+#define IPI_PROFCLOCK 4
+#define IPI_BITMAP_LAST IPI_PROFCLOCK
#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
#define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */
==== //depot/projects/usb/src/sys/amd64/include/clock.h#7 (text+ko) ====
@@ -3,7 +3,7 @@
* Garrett Wollman, September 1994.
* This file is in the public domain.
*
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.61 2008/10/21 00:38:00 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.63 2009/05/03 17:47:21 mav Exp $
*/
#ifndef _MACHINE_CLOCK_H_
@@ -15,7 +15,6 @@
* XXX large parts of the driver and its interface are misplaced.
*/
extern int clkintr_pending;
-extern int statclock_disable;
extern u_int i8254_freq;
extern int i8254_max_count;
extern uint64_t tsc_freq;
@@ -24,6 +23,12 @@
void i8254_init(void);
+struct trapframe;
+
+int hardclockintr(struct trapframe *frame);
+int statclockintr(struct trapframe *frame);
+int profclockintr(struct trapframe *frame);
+
/*
* Driver to clock driver interface.
*/
==== //depot/projects/usb/src/sys/amd64/include/smp.h#8 (text+ko) ====
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $FreeBSD: src/sys/amd64/include/smp.h,v 1.94 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/smp.h,v 1.95 2009/04/29 06:54:40 jeff Exp $
*
*/
@@ -36,10 +36,6 @@
extern struct pcb stoppcbs[];
extern int cpu_apic_ids[];
-/* global data in identcpu.c */
-extern int cpu_cores;
-extern int cpu_logical;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From hselasky at FreeBSD.org Mon May 4 12:07:40 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Mon May 4 12:07:47 2009
Subject: PERFORCE change 161551 for review
Message-ID: <200905041207.n44C7XXQ040379@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161551
Change 161551 by hselasky@hselasky_laptop001 on 2009/05/04 12:06:46
USB CORE + USB controller:
Revert back some changes done by Andrew Thompson,
due to unseen issues. More documentation has been
added to prevent similar bugs in the future.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#19 edit
.. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#16 edit
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#13 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_core.h#14 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_device.c#29 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_device.h#18 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#13 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#16 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#3 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#143 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#19 (text+ko) ====
@@ -1964,7 +1964,7 @@
usb2_pc_cpu_flush(qh->page_cache);
- if (xfer->xroot->udev->state != USB_STATE_SUSPENDED) {
+ if (xfer->xroot->udev->flags.self_suspended == 0) {
EHCI_APPEND_QH(qh, *qh_last);
}
}
==== //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#16 (text+ko) ====
@@ -1020,7 +1020,7 @@
* writing the BLF and CLF bits:
*/
- if (xfer->xroot->udev->state == USB_STATE_SUSPENDED) {
+ if (xfer->xroot->udev->flags.self_suspended) {
/* nothing to do */
} else if (xfer->pipe->methods == &ohci_device_bulk_methods) {
ohci_softc_t *sc = OHCI_BUS2SC(xfer->xroot->bus);
@@ -1589,7 +1589,7 @@
ed->ed_headp = td->td_self;
- if (xfer->xroot->udev->state != USB_STATE_SUSPENDED) {
+ if (xfer->xroot->udev->flags.self_suspended == 0) {
/* the append function will flush the endpoint descriptor */
OHCI_APPEND_QH(ed, *ed_last);
==== //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#13 (text+ko) ====
@@ -1921,7 +1921,7 @@
qh->e_next = td;
qh->qh_e_next = td->td_self;
- if (xfer->xroot->udev->state != USB_STATE_SUSPENDED) {
+ if (xfer->xroot->udev->flags.self_suspended == 0) {
UHCI_APPEND_QH(qh, sc->sc_bulk_p_last);
uhci_add_loop(sc);
xfer->flags_int.bandwidth_reclaimed = 1;
@@ -1982,7 +1982,7 @@
* NOTE: some devices choke on bandwidth- reclamation for control
* transfers
*/
- if (xfer->xroot->udev->state != USB_STATE_SUSPENDED) {
+ if (xfer->xroot->udev->flags.self_suspended == 0) {
if (xfer->xroot->udev->speed == USB_SPEED_LOW) {
UHCI_APPEND_QH(qh, sc->sc_ls_ctl_p_last);
} else {
@@ -2071,11 +2071,9 @@
qh->e_next = td;
qh->qh_e_next = td->td_self;
- if (xfer->xroot->udev->state != USB_STATE_SUSPENDED) {
-
+ if (xfer->xroot->udev->flags.self_suspended == 0) {
/* enter QHs into the controller data structures */
UHCI_APPEND_QH(qh, sc->sc_intr_p_last[xfer->qh_pos]);
-
} else {
usb2_pc_cpu_flush(qh->page_cache);
}
==== //depot/projects/usb/src/sys/dev/usb/usb_core.h#14 (text+ko) ====
@@ -515,7 +515,7 @@
/* prototypes */
const char *usb2_errstr(usb2_error_t error);
-const char *usb2_statestr(enum usb_dev_state state);
+const char *usb2_statestr(enum usb2_dev_state state);
struct usb2_config_descriptor *usb2_get_config_descriptor(
struct usb2_device *udev);
struct usb2_device_descriptor *usb2_get_device_descriptor(
@@ -553,6 +553,6 @@
uint8_t usb2_get_bus_index(struct usb2_device *udev);
uint8_t usb2_get_device_index(struct usb2_device *udev);
void usb2_set_power_mode(struct usb2_device *udev, uint8_t power_mode);
-int usb2_device_attached(struct usb2_device *udev);
+uint8_t usb2_device_attached(struct usb2_device *udev);
#endif /* _USB2_CORE_H_ */
==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#29 (text+ko) ====
@@ -96,15 +96,12 @@
[USB_STATE_POWERED] = "POWERED",
[USB_STATE_ADDRESSED] = "ADDRESSED",
[USB_STATE_CONFIGURED] = "CONFIGURED",
- [USB_STATE_SUSPENDED] = "SUSPENDED"
};
const char *
-usb2_statestr(enum usb_dev_state state)
+usb2_statestr(enum usb2_dev_state state)
{
- KASSERT(state < USB_STATE_MAX, ("invalid udev state"));
-
- return (statestr[state]);
+ return ((state < USB_STATE_MAX) ? statestr[state] : "UNKNOWN");
}
/*------------------------------------------------------------------------*
@@ -999,7 +996,7 @@
udev->port_no, udev->address);
if (device_is_attached(dev)) {
- if (udev->state == USB_STATE_SUSPENDED) {
+ if (udev->flags.peer_suspended) {
err = DEVICE_RESUME(dev);
if (err) {
device_printf(dev, "Resume failed!\n");
@@ -1139,7 +1136,7 @@
uaa->temp_dev = NULL;
device_set_ivars(iface->subdev, NULL);
- if (udev->state == USB_STATE_SUSPENDED) {
+ if (udev->flags.peer_suspended) {
err = DEVICE_SUSPEND(iface->subdev);
if (err)
device_printf(iface->subdev, "Suspend failed\n");
@@ -1360,12 +1357,12 @@
USB_BUS_LOCK(udev->bus);
/* filter the suspend events */
- if ((udev->state == USB_STATE_SUSPENDED && do_suspend) ||
- (udev->state != USB_STATE_SUSPENDED && !do_suspend)) {
+ if (udev->flags.peer_suspended == do_suspend) {
USB_BUS_UNLOCK(udev->bus);
/* nothing to do */
return (0);
}
+ udev->flags.peer_suspended = do_suspend;
USB_BUS_UNLOCK(udev->bus);
/* do the suspend or resume */
@@ -2466,7 +2463,7 @@
}
void
-usb2_set_device_state(struct usb2_device *udev, enum usb_dev_state state)
+usb2_set_device_state(struct usb2_device *udev, enum usb2_dev_state state)
{
KASSERT(state < USB_STATE_MAX, ("invalid udev state"));
@@ -2476,7 +2473,7 @@
udev->state = state;
}
-int
+uint8_t
usb2_device_attached(struct usb2_device *udev)
{
return (udev->state > USB_STATE_DETACHED);
==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#18 (text+ko) ====
@@ -89,6 +89,14 @@
* strings */
uint8_t remote_wakeup:1; /* set if remote wakeup is enabled */
uint8_t uq_bus_powered:1; /* set if BUS powered quirk is present */
+
+ /*
+ * NOTE: Although the flags below will reach the same value
+ * over time, but the instant values may differ, and
+ * consequently the flags cannot be merged into one!
+ */
+ uint8_t peer_suspended:1; /* set if peer is suspended */
+ uint8_t self_suspended:1; /* set if self is suspended */
};
/*
@@ -139,7 +147,7 @@
#endif
usb2_ticks_t plugtime; /* copy of "ticks" */
- enum usb_dev_state state;
+ enum usb2_dev_state state;
uint16_t refcount;
#define USB_DEV_REF_MAX 0xffff
@@ -207,6 +215,6 @@
uint8_t usb2_peer_can_wakeup(struct usb2_device *udev);
struct usb2_pipe *usb2_pipe_foreach(struct usb2_device *udev, struct usb2_pipe *pipe);
void usb2_set_device_state(struct usb2_device *udev,
- enum usb_dev_state state);
+ enum usb2_dev_state state);
#endif /* _USB2_DEVICE_H_ */
==== //depot/projects/usb/src/sys/dev/usb/usb_generic.c#13 (text+ko) ====
@@ -823,11 +823,7 @@
di->udi_speed = udev->speed;
di->udi_mode = udev->flags.usb2_mode;
di->udi_power_mode = udev->power_mode;
- if (udev->state == USB_STATE_SUSPENDED) {
- di->udi_suspended = 1;
- } else {
- di->udi_suspended = 0;
- }
+ di->udi_suspended = udev->flags.peer_suspended;
hub = udev->parent_hub;
if (hub) {
==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#16 (text+ko) ====
@@ -544,7 +544,8 @@
if (udev->depth > USB_HUB_MAX_DEPTH) {
return (USB_ERR_TOO_DEEP);
}
- if (udev->state == USB_STATE_SUSPENDED) {
+
+ if (udev->flags.self_suspended) {
/* need to wait until the child signals resume */
DPRINTF("Device is suspended!\n");
return (0);
@@ -1518,7 +1519,7 @@
udev->pwr_save.write_refs += val;
}
- if (udev->state == USB_STATE_SUSPENDED)
+ if (udev->flags.self_suspended)
needs_explore =
(udev->pwr_save.write_refs != 0) ||
((udev->pwr_save.read_refs != 0) &&
@@ -1600,7 +1601,7 @@
(rem_wakeup == 0))) {
/* check if we are suspended */
- if (udev->state == USB_STATE_SUSPENDED) {
+ if (udev->flags.self_suspended != 0) {
USB_BUS_UNLOCK(bus);
usb2_dev_resume_peer(udev);
USB_BUS_LOCK(bus);
@@ -1608,7 +1609,7 @@
} else if (temp >= limit) {
/* check if we are not suspended */
- if (udev->state != USB_STATE_SUSPENDED) {
+ if (udev->flags.self_suspended == 0) {
USB_BUS_UNLOCK(bus);
usb2_dev_suspend_peer(udev);
USB_BUS_LOCK(bus);
@@ -1647,7 +1648,7 @@
if (temp < mintime)
mintime = temp;
- if (udev->state != USB_STATE_SUSPENDED) {
+ if (udev->flags.self_suspended == 0) {
type_refs[0] += udev->pwr_save.type_refs[0];
type_refs[1] += udev->pwr_save.type_refs[1];
type_refs[2] += udev->pwr_save.type_refs[2];
@@ -1697,7 +1698,7 @@
return;
/* check if already resumed */
- if (udev->state != USB_STATE_SUSPENDED)
+ if (udev->flags.self_suspended == 0)
return;
/* we need a parent HUB to do resume */
@@ -1737,7 +1738,7 @@
}
USB_BUS_LOCK(bus);
/* set that this device is now resumed */
- usb2_set_device_state(udev, USB_STATE_CONFIGURED);
+ udev->flags.self_suspended = 0;
#if USB_HAVE_POWERD
/* make sure that we don't go into suspend right away */
udev->pwr_save.last_xfer_time = ticks;
@@ -1797,7 +1798,7 @@
return;
/* check if already suspended */
- if (udev->state == USB_STATE_SUSPENDED)
+ if (udev->flags.self_suspended)
return;
/* we need a parent HUB to do suspend */
@@ -1819,7 +1820,7 @@
if (child == NULL)
continue;
- if (child->state == USB_STATE_SUSPENDED)
+ if (child->flags.self_suspended)
continue;
DPRINTFN(1, "Port %u is busy on the HUB!\n", x + 1);
@@ -1846,7 +1847,7 @@
* Set that this device is suspended. This variable must be set
* before calling USB controller suspend callbacks.
*/
- usb2_set_device_state(udev, USB_STATE_SUSPENDED);
+ udev->flags.self_suspended = 1;
USB_BUS_UNLOCK(udev->bus);
if (udev->bus->methods->device_suspend != NULL) {
==== //depot/projects/usb/src/sys/dev/usb/usb_revision.h#3 (text+ko) ====
@@ -28,9 +28,9 @@
#define _USB2_REVISION_H_
/*
- * The "USB_SPEED" macro defines all the supported USB speeds.
+ * The "USB_SPEED" macros defines all the supported USB speeds.
*/
-enum {
+enum usb2_speed {
USB_SPEED_VARIABLE,
USB_SPEED_LOW,
USB_SPEED_FULL,
@@ -40,9 +40,9 @@
};
/*
- * The "USB_REV" macro defines all the supported USB revisions.
+ * The "USB_REV" macros defines all the supported USB revisions.
*/
-enum {
+enum usb2_revision {
USB_REV_UNKNOWN,
USB_REV_PRE_1_0,
USB_REV_1_0,
@@ -54,24 +54,23 @@
};
/*
- * The "USB_MODE" macro defines all the supported USB modes.
+ * The "USB_MODE" macros defines all the supported USB modes.
*/
-enum {
+enum usb2_mode {
USB_MODE_HOST,
USB_MODE_DEVICE,
USB_MODE_MAX
};
/*
- * The "USB_MODE" macro defines all the supported device states.
+ * The "USB_MODE" macros defines all the supported device states.
*/
-enum usb_dev_state {
+enum usb2_dev_state {
USB_STATE_DETACHED,
USB_STATE_ATTACHED,
USB_STATE_POWERED,
USB_STATE_ADDRESSED,
USB_STATE_CONFIGURED,
- USB_STATE_SUSPENDED,
USB_STATE_MAX,
};
#endif /* _USB2_REVISION_H_ */
==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#143 (text+ko) ====
@@ -1376,14 +1376,6 @@
xfer, xfer->pipe, xfer->nframes, USB_GET_DATA_ISREAD(xfer) ?
"read" : "write");
- /* Check if the device is still alive */
- if (info->udev->state < USB_STATE_POWERED) {
- USB_BUS_LOCK(bus);
- usb2_transfer_done(xfer, USB_ERR_NOT_CONFIGURED);
- USB_BUS_UNLOCK(bus);
- return;
- }
-
#if USB_DEBUG
if (USB_DEBUG_VAR > 0) {
USB_BUS_LOCK(bus);
@@ -1444,8 +1436,15 @@
/* clear any previous errors */
xfer->error = 0;
+ /* Check if the device is still alive */
+ if (info->udev->state < USB_STATE_POWERED) {
+ USB_BUS_LOCK(bus);
+ usb2_transfer_done(xfer, USB_ERR_NOT_CONFIGURED);
+ USB_BUS_UNLOCK(bus);
+ return;
+ }
+
/* sanity check */
-
if (xfer->nframes == 0) {
if (xfer->flags.stall_pipe) {
/*
From hselasky at FreeBSD.org Mon May 4 12:17:45 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Mon May 4 12:17:52 2009
Subject: PERFORCE change 161552 for review
Message-ID: <200905041217.n44CHitJ041168@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161552
Change 161552 by hselasky@hselasky_laptop001 on 2009/05/04 12:17:42
USB: Remove USB shutdown methods because they race with
the attach/detach/suspend/resume methods. Possibly we
could detach the Host or Device controller at shutdown
instead to have a similar effect.
PR: usb/133896
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#5 edit
.. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#6 edit
.. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#8 edit
.. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#5 edit
.. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#5 edit
.. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#5 edit
.. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#5 edit
.. //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.c#3 edit
.. //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.h#3 edit
.. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#11 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#35 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#17 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#5 (text+ko) ====
@@ -173,7 +173,6 @@
static device_probe_t aue_probe;
static device_attach_t aue_attach;
static device_detach_t aue_detach;
-static device_shutdown_t aue_shutdown;
static miibus_readreg_t aue_miibus_readreg;
static miibus_writereg_t aue_miibus_writereg;
static miibus_statchg_t aue_miibus_statchg;
@@ -239,7 +238,6 @@
DEVMETHOD(device_probe, aue_probe),
DEVMETHOD(device_attach, aue_attach),
DEVMETHOD(device_detach, aue_detach),
- DEVMETHOD(device_shutdown, aue_shutdown),
/* bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -1038,17 +1036,3 @@
aue_csr_write_1(sc, AUE_CTL1, 0);
aue_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-aue_shutdown(device_t dev)
-{
- struct aue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
==== //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#6 (text+ko) ====
@@ -151,7 +151,6 @@
static device_probe_t axe_probe;
static device_attach_t axe_attach;
static device_detach_t axe_detach;
-static device_shutdown_t axe_shutdown;
static usb2_callback_t axe_intr_callback;
static usb2_callback_t axe_bulk_read_callback;
@@ -216,7 +215,6 @@
DEVMETHOD(device_probe, axe_probe),
DEVMETHOD(device_attach, axe_attach),
DEVMETHOD(device_detach, axe_detach),
- DEVMETHOD(device_shutdown, axe_shutdown),
/* bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -1060,17 +1058,3 @@
axe_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-axe_shutdown(device_t dev)
-{
- struct axe_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
==== //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#8 (text+ko) ====
@@ -67,7 +67,6 @@
static device_probe_t cdce_probe;
static device_attach_t cdce_attach;
static device_detach_t cdce_detach;
-static device_shutdown_t cdce_shutdown;
static device_suspend_t cdce_suspend;
static device_resume_t cdce_resume;
static usb_handle_request_t cdce_handle_request;
@@ -157,7 +156,6 @@
DEVMETHOD(device_detach, cdce_detach),
DEVMETHOD(device_suspend, cdce_suspend),
DEVMETHOD(device_resume, cdce_resume),
- DEVMETHOD(device_shutdown, cdce_shutdown),
{0, 0}
};
@@ -596,16 +594,6 @@
}
static int
-cdce_shutdown(device_t dev)
-{
- struct cdce_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
-
-static int
cdce_suspend(device_t dev)
{
device_printf(dev, "Suspending\n");
==== //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#5 (text+ko) ====
@@ -86,7 +86,6 @@
static device_probe_t cue_probe;
static device_attach_t cue_attach;
static device_detach_t cue_detach;
-static device_shutdown_t cue_shutdown;
static usb2_callback_t cue_bulk_read_callback;
static usb2_callback_t cue_bulk_write_callback;
@@ -142,7 +141,6 @@
DEVMETHOD(device_probe, cue_probe),
DEVMETHOD(device_attach, cue_attach),
DEVMETHOD(device_detach, cue_detach),
- DEVMETHOD(device_shutdown, cue_shutdown),
{0, 0}
};
@@ -629,17 +627,3 @@
cue_csr_write_1(sc, CUE_ETHCTL, 0);
cue_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-cue_shutdown(device_t dev)
-{
- struct cue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
==== //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#5 (text+ko) ====
@@ -129,7 +129,6 @@
static device_probe_t kue_probe;
static device_attach_t kue_attach;
static device_detach_t kue_detach;
-static device_shutdown_t kue_shutdown;
static usb2_callback_t kue_bulk_read_callback;
static usb2_callback_t kue_bulk_write_callback;
@@ -185,7 +184,6 @@
DEVMETHOD(device_probe, kue_probe),
DEVMETHOD(device_attach, kue_attach),
DEVMETHOD(device_detach, kue_detach),
- DEVMETHOD(device_shutdown, kue_shutdown),
{0, 0}
};
@@ -688,17 +686,3 @@
usb2_transfer_stop(sc->sc_xfer[KUE_BULK_DT_WR]);
usb2_transfer_stop(sc->sc_xfer[KUE_BULK_DT_RD]);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-kue_shutdown(device_t dev)
-{
- struct kue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
==== //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#5 (text+ko) ====
@@ -105,7 +105,6 @@
static device_probe_t rue_probe;
static device_attach_t rue_attach;
static device_detach_t rue_detach;
-static device_shutdown_t rue_shutdown;
static miibus_readreg_t rue_miibus_readreg;
static miibus_writereg_t rue_miibus_writereg;
@@ -172,7 +171,6 @@
DEVMETHOD(device_probe, rue_probe),
DEVMETHOD(device_attach, rue_attach),
DEVMETHOD(device_detach, rue_detach),
- DEVMETHOD(device_shutdown, rue_shutdown),
/* Bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -897,17 +895,3 @@
rue_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-rue_shutdown(device_t dev)
-{
- struct rue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
==== //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#5 (text+ko) ====
@@ -69,7 +69,6 @@
static device_probe_t udav_probe;
static device_attach_t udav_attach;
static device_detach_t udav_detach;
-static device_shutdown_t udav_shutdown;
static usb2_callback_t udav_bulk_write_callback;
static usb2_callback_t udav_bulk_read_callback;
@@ -132,7 +131,6 @@
DEVMETHOD(device_probe, udav_probe),
DEVMETHOD(device_attach, udav_attach),
DEVMETHOD(device_detach, udav_detach),
- DEVMETHOD(device_shutdown, udav_shutdown),
/* bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -840,17 +838,3 @@
{
/* nothing to do */
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-udav_shutdown(device_t dev)
-{
- struct udav_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
==== //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.c#3 (text+ko) ====
@@ -288,19 +288,6 @@
usb2_proc_free(&ue->ue_tq);
}
-void
-usb2_ether_ifshutdown(struct usb2_ether *ue)
-{
- struct ifnet *ifp = ue->ue_ifp;
-
- UE_LOCK(ue);
- if (ifp->if_drv_flags & IFF_DRV_RUNNING)
- ue_queue_command(ue, ue_stop_task,
- &ue->ue_sync_task[0].hdr,
- &ue->ue_sync_task[1].hdr);
- UE_UNLOCK(ue);
-}
-
uint8_t
usb2_ether_is_gone(struct usb2_ether *ue)
{
==== //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.h#3 (text+ko) ====
@@ -118,6 +118,5 @@
struct usb2_page_cache *,
unsigned int, unsigned int);
void usb2_ether_rxflush(struct usb2_ether *);
-void usb2_ether_ifshutdown(struct usb2_ether *);
uint8_t usb2_ether_is_gone(struct usb2_ether *);
#endif /* _USB2_ETHERNET_H_ */
==== //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#11 (text+ko) ====
@@ -202,7 +202,6 @@
static device_detach_t ustorage_fs_detach;
static device_suspend_t ustorage_fs_suspend;
static device_resume_t ustorage_fs_resume;
-static device_shutdown_t ustorage_fs_shutdown;
static usb_handle_request_t ustorage_fs_handle_request;
static usb2_callback_t ustorage_fs_t_bbb_command_callback;
@@ -239,7 +238,6 @@
DEVMETHOD(device_detach, ustorage_fs_detach),
DEVMETHOD(device_suspend, ustorage_fs_suspend),
DEVMETHOD(device_resume, ustorage_fs_resume),
- DEVMETHOD(device_shutdown, ustorage_fs_shutdown),
{0, 0}
};
@@ -437,12 +435,6 @@
return (0); /* success */
}
-static int
-ustorage_fs_shutdown(device_t dev)
-{
- return (0); /* success */
-}
-
/*
* Generic functions to handle transfers
*/
==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#35 (text+ko) ====
@@ -59,7 +59,6 @@
static device_detach_t usb_linux_detach;
static device_suspend_t usb_linux_suspend;
static device_resume_t usb_linux_resume;
-static device_shutdown_t usb_linux_shutdown;
static usb2_callback_t usb_linux_isoc_callback;
static usb2_callback_t usb_linux_non_isoc_callback;
@@ -92,7 +91,6 @@
DEVMETHOD(device_detach, usb_linux_detach),
DEVMETHOD(device_suspend, usb_linux_suspend),
DEVMETHOD(device_resume, usb_linux_resume),
- DEVMETHOD(device_shutdown, usb_linux_shutdown),
{0, 0}
};
@@ -360,23 +358,6 @@
}
/*------------------------------------------------------------------------*
- * usb_linux_shutdown
- *
- * This function is the FreeBSD shutdown callback. Usually it does nothing.
- *------------------------------------------------------------------------*/
-static int
-usb_linux_shutdown(device_t dev)
-{
- struct usb_linux_softc *sc = device_get_softc(dev);
- struct usb_driver *udrv = usb_linux_get_usb_driver(sc);
-
- if (udrv && udrv->shutdown) {
- (udrv->shutdown) (sc->sc_ui);
- }
- return (0);
-}
-
-/*------------------------------------------------------------------------*
* Linux emulation layer
*------------------------------------------------------------------------*/
==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#17 (text+ko) ====
@@ -132,7 +132,6 @@
DEVMETHOD(device_suspend, uhub_suspend),
DEVMETHOD(device_resume, uhub_resume),
- DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(bus_child_location_str, uhub_child_location_string),
DEVMETHOD(bus_child_pnpinfo_str, uhub_child_pnpinfo_string),
From hselasky at FreeBSD.org Mon May 4 12:26:54 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Mon May 4 12:27:06 2009
Subject: PERFORCE change 161554 for review
Message-ID: <200905041226.n44CQruq041944@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161554
Change 161554 by hselasky@hselasky_laptop001 on 2009/05/04 12:26:50
USB controller:
- minor cleanup in USS820 driver
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#15 edit
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.h#6 edit
.. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#6 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#15 (text+ko) ====
@@ -230,11 +230,11 @@
/* select the correct endpoint */
bus_space_write_1(td->io_tag, td->io_hdl,
- td->ep_reg, td->ep_index);
+ USS820_EPINDEX, td->ep_index);
/* read out FIFO status */
rx_stat = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_stat_reg);
+ USS820_RXSTAT);
/* get pointer to softc */
sc = USS820_DCI_PC2SC(td->pc);
@@ -260,9 +260,9 @@
/* get the packet byte count */
count = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_count_low_reg);
+ USS820_RXCNTL);
count |= (bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_count_high_reg) << 8);
+ USS820_RXCNTH) << 8);
count &= 0x3FF;
/* verify data length */
@@ -278,11 +278,11 @@
}
/* receive data */
bus_space_read_multi_1(td->io_tag, td->io_hdl,
- td->rx_fifo_reg, (void *)&req, sizeof(req));
+ USS820_RXDAT, (void *)&req, sizeof(req));
/* read out FIFO status */
rx_stat = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_stat_reg);
+ USS820_RXSTAT);
if (rx_stat & (USS820_RXSTAT_EDOVW |
USS820_RXSTAT_STOVW)) {
@@ -297,10 +297,10 @@
/* set RXFFRC bit */
temp = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_cntl_reg);
+ USS820_RXCON);
temp |= USS820_RXCON_RXFFRC;
bus_space_write_1(td->io_tag, td->io_hdl,
- td->rx_cntl_reg, temp);
+ USS820_RXCON, temp);
/* copy data into real buffer */
usb2_copy_in(td->pc, 0, &req, sizeof(req));
@@ -321,10 +321,10 @@
/* set RXFFRC bit */
temp = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_cntl_reg);
+ USS820_RXCON);
temp |= USS820_RXCON_RXFFRC;
bus_space_write_1(td->io_tag, td->io_hdl,
- td->rx_cntl_reg, temp);
+ USS820_RXCON, temp);
/* FALLTHROUGH */
@@ -365,16 +365,16 @@
got_short = 0;
/* select the correct endpoint */
- bus_space_write_1(td->io_tag, td->io_hdl, td->ep_reg, td->ep_index);
+ bus_space_write_1(td->io_tag, td->io_hdl, USS820_EPINDEX, td->ep_index);
/* check if any of the FIFO banks have data */
repeat:
/* read out FIFO flag */
rx_flag = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_flag_reg);
+ USS820_RXFLG);
/* read out FIFO status */
rx_stat = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_stat_reg);
+ USS820_RXSTAT);
DPRINTFN(5, "rx_stat=0x%02x rx_flag=0x%02x rem=%u\n",
rx_stat, rx_flag, td->remainder);
@@ -419,10 +419,10 @@
}
/* get the packet byte count */
count = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_count_low_reg);
+ USS820_RXCNTL);
count |= (bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_count_high_reg) << 8);
+ USS820_RXCNTH) << 8);
count &= 0x3FF;
DPRINTFN(5, "count=0x%04x\n", count);
@@ -454,7 +454,7 @@
}
/* receive data */
bus_space_read_multi_1(td->io_tag, td->io_hdl,
- td->rx_fifo_reg, buf_res.buffer, buf_res.length);
+ USS820_RXDAT, buf_res.buffer, buf_res.length);
/* update counters */
count -= buf_res.length;
@@ -464,10 +464,10 @@
/* set RXFFRC bit */
rx_cntl = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_cntl_reg);
+ USS820_RXCON);
rx_cntl |= USS820_RXCON_RXFFRC;
bus_space_write_1(td->io_tag, td->io_hdl,
- td->rx_cntl_reg, rx_cntl);
+ USS820_RXCON, rx_cntl);
/* check if we are complete */
if ((td->remainder == 0) || got_short) {
@@ -495,18 +495,18 @@
/* select the correct endpoint */
bus_space_write_1(td->io_tag, td->io_hdl,
- td->ep_reg, td->ep_index);
+ USS820_EPINDEX, td->ep_index);
to = 2; /* don't loop forever! */
repeat:
/* read out TX FIFO flags */
tx_flag = bus_space_read_1(td->io_tag, td->io_hdl,
- td->tx_flag_reg);
+ USS820_TXFLG);
/* read out RX FIFO status last */
rx_stat = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_stat_reg);
+ USS820_RXSTAT);
DPRINTFN(5, "rx_stat=0x%02x tx_flag=0x%02x rem=%u\n",
rx_stat, tx_flag, td->remainder);
@@ -553,7 +553,7 @@
}
/* transmit data */
bus_space_write_multi_1(td->io_tag, td->io_hdl,
- td->tx_fifo_reg, buf_res.buffer, buf_res.length);
+ USS820_TXDAT, buf_res.buffer, buf_res.length);
/* update counters */
count -= buf_res.length;
@@ -563,11 +563,11 @@
/* post-write high packet byte count first */
bus_space_write_1(td->io_tag, td->io_hdl,
- td->tx_count_high_reg, count_copy >> 8);
+ USS820_TXCNTH, count_copy >> 8);
/* post-write low packet byte count last */
bus_space_write_1(td->io_tag, td->io_hdl,
- td->tx_count_low_reg, count_copy);
+ USS820_TXCNTL, count_copy);
/*
* Enable TX output, which must happen after that we have written
@@ -600,15 +600,15 @@
/* select the correct endpoint */
bus_space_write_1(td->io_tag, td->io_hdl,
- td->ep_reg, td->ep_index);
+ USS820_EPINDEX, td->ep_index);
/* read out TX FIFO flag */
tx_flag = bus_space_read_1(td->io_tag, td->io_hdl,
- td->tx_flag_reg);
+ USS820_TXFLG);
/* read out RX FIFO status last */
rx_stat = bus_space_read_1(td->io_tag, td->io_hdl,
- td->rx_stat_reg);
+ USS820_RXSTAT);
DPRINTFN(5, "rx_stat=0x%02x rem=%u\n", rx_stat, td->remainder);
@@ -2269,20 +2269,6 @@
td->io_tag = sc->sc_io_tag;
td->io_hdl = sc->sc_io_hdl;
td->max_packet_size = xfer->max_packet_size;
- td->rx_stat_reg = USS820_GET_REG(sc, USS820_RXSTAT);
- td->tx_stat_reg = USS820_GET_REG(sc, USS820_TXSTAT);
- td->rx_flag_reg = USS820_GET_REG(sc, USS820_RXFLG);
- td->tx_flag_reg = USS820_GET_REG(sc, USS820_TXFLG);
- td->rx_fifo_reg = USS820_GET_REG(sc, USS820_RXDAT);
- td->tx_fifo_reg = USS820_GET_REG(sc, USS820_TXDAT);
- td->rx_count_low_reg = USS820_GET_REG(sc, USS820_RXCNTL);
- td->rx_count_high_reg = USS820_GET_REG(sc, USS820_RXCNTH);
- td->tx_count_low_reg = USS820_GET_REG(sc, USS820_TXCNTL);
- td->tx_count_high_reg = USS820_GET_REG(sc, USS820_TXCNTH);
- td->rx_cntl_reg = USS820_GET_REG(sc, USS820_RXCON);
- td->tx_cntl_reg = USS820_GET_REG(sc, USS820_TXCON);
- td->pend_reg = USS820_GET_REG(sc, USS820_PEND);
- td->ep_reg = USS820_GET_REG(sc, USS820_EPINDEX);
td->ep_index = ep_no;
if (pf->support_multi_buffer &&
(parm->methods != &uss820dci_device_ctrl_methods)) {
==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.h#6 (text+ko) ====
@@ -255,16 +255,11 @@
#define USS820_UNK1 0x1f /* Unknown */
#define USS820_UNK1_UNKNOWN 0xFF
-#define USS820_GET_REG(sc,reg) \
- ((reg) << (sc)->sc_reg_shift)
-
#define USS820_READ_1(sc, reg) \
- bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, \
- USS820_GET_REG(sc,reg))
+ bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, reg)
#define USS820_WRITE_1(sc, reg, data) \
- bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, \
- USS820_GET_REG(sc,reg), data)
+ bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data)
struct uss820dci_td;
@@ -279,20 +274,6 @@
uint32_t offset;
uint32_t remainder;
uint16_t max_packet_size;
- uint8_t rx_stat_reg;
- uint8_t tx_stat_reg;
- uint8_t rx_flag_reg;
- uint8_t tx_flag_reg;
- uint8_t rx_fifo_reg;
- uint8_t tx_fifo_reg;
- uint8_t rx_count_low_reg;
- uint8_t rx_count_high_reg;
- uint8_t tx_count_low_reg;
- uint8_t tx_count_high_reg;
- uint8_t rx_cntl_reg;
- uint8_t tx_cntl_reg;
- uint8_t ep_reg;
- uint8_t pend_reg;
uint8_t ep_index;
uint8_t error:1;
uint8_t alt_next:1;
@@ -356,7 +337,6 @@
uint8_t sc_rt_addr; /* root HUB address */
uint8_t sc_dv_addr; /* device address */
uint8_t sc_conf; /* root HUB config */
- uint8_t sc_reg_shift;
uint8_t sc_hub_idata[1];
==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#6 (text+ko) ====
@@ -152,9 +152,6 @@
sc->sc_io_hdl = rman_get_bushandle(sc->sc_io_res);
sc->sc_io_size = rman_get_size(sc->sc_io_res);
- /* multiply all addresses by 4 */
- sc->sc_reg_shift = 2;
-
rid = 0;
sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
RF_SHAREABLE | RF_ACTIVE);
From hselasky at FreeBSD.org Mon May 4 12:28:57 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Mon May 4 12:29:03 2009
Subject: PERFORCE change 161556 for review
Message-ID: <200905041228.n44CStEH042107@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161556
Change 161556 by hselasky@hselasky_laptop001 on 2009/05/04 12:28:38
USB CORE:
- Properly parenthesis pointer argument used inside macro.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/usb_core.h#15 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/usb_core.h#15 (text+ko) ====
@@ -234,8 +234,8 @@
* receiving or transferring data.
*/
#define USB_GET_DATA_ISREAD(xfer) (((xfer)->flags_int.usb2_mode == \
- USB_MODE_DEVICE) ? ((xfer->endpoint & UE_DIR_IN) ? 0 : 1) : \
- ((xfer->endpoint & UE_DIR_IN) ? 1 : 0))
+ USB_MODE_DEVICE) ? (((xfer)->endpoint & UE_DIR_IN) ? 0 : 1) : \
+ (((xfer)->endpoint & UE_DIR_IN) ? 1 : 0))
/*
* The following macros are used used to convert milliseconds into
From jhb at freebsd.org Mon May 4 19:22:26 2009
From: jhb at freebsd.org (John Baldwin)
Date: Mon May 4 19:22:55 2009
Subject: PERFORCE change 161116 for review
In-Reply-To: <200904261736.n3QHaXBY055044@repoman.freebsd.org>
References: <200904261736.n3QHaXBY055044@repoman.freebsd.org>
Message-ID: <200905041112.58901.jhb@freebsd.org>
On Sunday 26 April 2009 1:36:33 pm Marko Zec wrote:
> http://perforce.freebsd.org/chv.cgi?CH=161116
>
> Change 161116 by zec@zec_amdx2 on 2009/04/26 17:36:10
>
> Access from userland to igmpstat is provided via a sysctl
> (which is already V_irtualized). Hence, there's no need
> for kmem / kldsym kludges, so vnet_igmp_symmap can go away.
> If not, it should be added to vnet_inet_symmap, because
> struct vnet_igmp doesn't exist anyway.
>
> XXX why was igi_head ever put in vnet_iugmp_symmap?
netstat on crash dumps still uses kmem (and _please_ do not break netstat on
crash dumps).
--
John Baldwin
From hselasky at FreeBSD.org Mon May 4 19:58:50 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Mon May 4 19:58:57 2009
Subject: PERFORCE change 161578 for review
Message-ID: <200905041958.n44JwlHW007595@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161578
Change 161578 by hselasky@hselasky_laptop001 on 2009/05/04 19:58:29
USB storage:
- Remove printout which was also printed when
the USB device was not of mass storage kind.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#14 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/storage/umass.c#14 (text+ko) ====
@@ -1406,10 +1406,9 @@
default_proto:
ret.proto = umass_get_proto(uaa->iface);
- if (ret.proto == 0) {
- device_printf(dev, "Unsupported protocol.\n");
+ if (ret.proto == 0)
ret.error = ENXIO;
- } else
+ else
ret.error = 0;
done:
return (ret);
From rene at FreeBSD.org Mon May 4 22:52:46 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Mon May 4 22:52:52 2009
Subject: PERFORCE change 161587 for review
Message-ID: <200905042252.n44MqioX035405@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161587
Change 161587 by rene@rene_self on 2009/05/04 22:52:03
Some attempts to build the web site.
Currently does not build because the nl source mismatches the en source.
Affected files ...
.. //depot/projects/docproj_nl/www/Makefile#1 add
.. //depot/projects/docproj_nl/www/Makefile.inc#1 add
.. //depot/projects/docproj_nl/www/nl/Makefile#2 edit
.. //depot/projects/docproj_nl/www/nl/events/includes.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/gnome/includes.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/news/includes.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/news/status/includes.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/platforms/ia64/includes.xsl#2 delete
Differences ...
==== //depot/projects/docproj_nl/www/nl/Makefile#2 (text+ko) ====
@@ -1,4 +1,7 @@
# $FreeBSD: www/nl/Makefile,v 1.1 2004/09/27 12:00:03 josef Exp $
+# %SOURCE% www/en/Makefile
+# %SRCID% 1.146
+
.if exists(Makefile.conf)
.include "Makefile.conf"
.endif
@@ -6,10 +9,98 @@
.include "../Makefile.inc"
.endif
+# These are turned into validated, normalized HTML files.
+
+DOCS= about.sgml
+DOCS+= administration.sgml
+DOCS+= applications.sgml
+DOCS+= art.sgml
+DOCS+= availability.sgml
+DOCS+= docs.sgml
+DOCS+= features.sgml
+DOCS+= internet.sgml
+DOCS+= logo.sgml
+DOCS+= mailto.sgml
+DOCS+= publish.sgml
+DOCS+= relnotes.sgml
+DOCS+= send-pr.sgml
+DOCS+= support.sgml
+DOCS+= where.sgml
+DOCS+= y2kbug.sgml
+
+XMLDOCS= index:xsl:${XML_NEWS_NEWS}:
+DEPENDSET.index=transtable mirrors news press events \
+ advisories notices
+
+XMLDOCS+= usergroups:${XSL_USERGROUPS}:${XML_USERGROUPS}:
+DEPENDSET.usergroups=transtable usergroups
+PARAMS.usergroups= --param pagename "'FreeBSD User Groups'"
+
+XMLDOCS+= community::${XML_EVENTS_EVENTS}:
+DEPENDSET.community=usergroups events
+
+# These will be directly installed.
+
+DATA= favicon.ico
+DATA+= freebsd.css
+DATA+= index.css
+DATA+= robots.txt
+DATA+= vendors.html
+
# Subdirectories
# SGML
+SUBDIR= FAQ
+SUBDIR+= advocacy
+SUBDIR+= commercial
+SUBDIR+= community
+SUBDIR+= copyright
+SUBDIR+= developers
+SUBDIR+= docproj
+SUBDIR+= docs
+SUBDIR+= donations
+SUBDIR+= events
+SUBDIR+= gnome
+SUBDIR+= handbook
+SUBDIR+= internal
+SUBDIR+= java
+SUBDIR+= kse
+SUBDIR+= marketing
+SUBDIR+= multimedia
+SUBDIR+= news
+SUBDIR+= platforms
+SUBDIR+= portmgr
+SUBDIR+= projects
+SUBDIR+= prstats
+SUBDIR+= releases
+SUBDIR+= releng
+SUBDIR+= search
+SUBDIR+= security
+SUBDIR+= smp
+SUBDIR+= snapshots
+SUBDIR+= support
+SUBDIR+= tutorials
.if !defined(WEB_ONLY) || empty(WEB_ONLY)
-SUBDIR= doc
+SUBDIR+= doc
+SUBDIR+= ports
+.endif
+.if defined(BUILD_RELNOTES)
+SUBDIR+= relnotes
+.endif
+
+# Non-SGML
+SUBDIR+= cgi
+SUBDIR+= gifs
+SUBDIR+= layout
+SUBDIR+= logo
+
+WEB_LANG?= da de el es fr hu it ja mn nl pt_BR ru zh_CN zh_TW
+
+# Non-English
+
+.if !defined(ENGLISH_ONLY) || empty(ENGLISH_ONLY)
+.for DIR in ${WEB_LANG}
+SUBDIR+= ../${DIR}
+.endfor
.endif
WEBDIR?= data/nl
From sson at FreeBSD.org Tue May 5 01:40:39 2009
From: sson at FreeBSD.org (Stacey Son)
Date: Tue May 5 01:40:45 2009
Subject: PERFORCE change 161590 for review
Message-ID: <200905050140.n451ecQo061560@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161590
Change 161590 by sson@sson_amd64 on 2009/05/05 01:40:11
Add IPv6 support for au_to_me().
Fixes a bug when the terminal ID has an IPv6 address type. au_to_me()
now calls getaudit_addr(2) first. If it fails with ENOSYS it falls
back to calling getaudit(2) to support legacy systems.
Affected files ...
.. //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#92 edit
Differences ...
==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#92 (text+ko) ====
@@ -30,7 +30,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_token.c#91 $
+ * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#92 $
*/
#include
@@ -1270,12 +1270,27 @@
au_to_me(void)
{
auditinfo_t auinfo;
+ auditinfo_addr_t aia;
- if (getaudit(&auinfo) != 0)
- return (NULL);
+ /*
+ * Try to use getaudit_addr(2) first. If this kernel does not support
+ * it, then fall back on to getaudit(2).
+ */
+ if (getaudit_addr(&aia, sizeof(aia)) != 0) {
+ if (errno == ENOSYS) {
+ if (getaudit(&auinfo) != 0)
+ return (NULL);
+ return (au_to_subject32(auinfo.ai_auid, geteuid(),
+ getegid(), getuid(), getgid(), getpid(),
+ auinfo.ai_asid, &auinfo.ai_termid));
+ } else {
+ /* getaudit_addr(2) failed for some other reason. */
+ return (NULL);
+ }
+ }
- return (au_to_subject32(auinfo.ai_auid, geteuid(), getegid(),
- getuid(), getgid(), getpid(), auinfo.ai_asid, &auinfo.ai_termid));
+ return (au_to_subject32_ex(aia.ai_auid, geteuid(), getegid(), getuid(),
+ getgid(), getpid(), aia.ai_asid, &aia.ai_termid));
}
#endif
From sson at FreeBSD.org Tue May 5 02:07:06 2009
From: sson at FreeBSD.org (Stacey Son)
Date: Tue May 5 02:07:12 2009
Subject: PERFORCE change 161591 for review
Message-ID: <200905050207.n45275qq064523@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161591
Change 161591 by sson@sson_amd64 on 2009/05/05 02:06:27
Align the ai_flags field on a 64-bit boundary
so the auditinfo_addr and auditpinfo_addr structures
are the same size on 32- and 64-bit architectures.
Affected files ...
.. //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#10 edit
Differences ...
==== //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#10 (text+ko) ====
@@ -26,7 +26,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#9 $
+ * $P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#10 $
*/
#ifndef _BSM_AUDIT_H
@@ -172,6 +172,7 @@
typedef u_int16_t au_event_t;
typedef u_int16_t au_emod_t;
typedef u_int32_t au_class_t;
+typedef u_int64_t au_asflgs_t __attribute__ ((aligned (8)));
struct au_tid {
dev_t port;
@@ -205,7 +206,7 @@
au_mask_t ai_mask; /* Audit masks. */
au_tid_addr_t ai_termid; /* Terminal ID. */
au_asid_t ai_asid; /* Audit session ID. */
- u_int64_t ai_flags; /* Audit session flags. */
+ au_asflgs_t ai_flags; /* Audit session flags. */
};
typedef struct auditinfo_addr auditinfo_addr_t;
@@ -224,7 +225,7 @@
au_mask_t ap_mask; /* Audit masks. */
au_tid_addr_t ap_termid; /* Terminal ID. */
au_asid_t ap_asid; /* Audit session ID. */
- u_int64_t ap_flags; /* Audit session flags. */
+ au_asflgs_t ap_flags; /* Audit session flags. */
};
typedef struct auditpinfo_addr auditpinfo_addr_t;
From andre at FreeBSD.org Tue May 5 07:25:29 2009
From: andre at FreeBSD.org (Andre Oppermann)
Date: Tue May 5 07:25:35 2009
Subject: PERFORCE change 161596 for review
Message-ID: <200905050725.n457PR7o003321@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161596
Change 161596 by andre@andre_t61 on 2009/05/05 07:25:27
Update comments.
Affected files ...
.. //depot/projects/tcp_new/netinet/tcp_cc_newreno.c#3 edit
Differences ...
==== //depot/projects/tcp_new/netinet/tcp_cc_newreno.c#3 (text+ko) ====
@@ -93,6 +93,7 @@
* avoid capping cwnd.
*
* NB: Make sure to lower bound cwnd to one (two?) segments.
+ * XXXAO: Upper bound to link-speed to avoid CWND overshooting.
*/
if (tp->snd_cwnd > tp->snd_ssthresh) {
/* Congestion avoidance */
@@ -150,14 +151,14 @@
newreno_post_lr(struct tcpcb *tp, struct tcphdr *th)
{
/*
- * Out of fast recovery.
- * Window inflation should have left us
- * with approximately snd_ssthresh
- * outstanding data.
- * But in case we would be inclined to
- * send a burst, better to do it via
- * the slow start mechanism.
- */
+ * Out of fast recovery.
+ * Window inflation should have left us
+ * with approximately snd_ssthresh
+ * outstanding data.
+ * But in case we would be inclined to
+ * send a burst, better to do it via
+ * the slow start mechanism.
+ */
if (th && SEQ_GT(th->th_ack + tp->snd_ssthresh, tp->snd_nxt))
tp->snd_cwnd = tp->snd_nxt - th->th_ack + tp->snd_mss;
else
From andre at FreeBSD.org Tue May 5 07:31:39 2009
From: andre at FreeBSD.org (Andre Oppermann)
Date: Tue May 5 07:31:45 2009
Subject: PERFORCE change 161597 for review
Message-ID: <200905050731.n457VYxi003753@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161597
Change 161597 by andre@andre_t61 on 2009/05/05 07:31:23
Extend duplicate ACK detection.
Affected files ...
.. //depot/projects/tcp_new/netinet/tcp_input.c#10 edit
Differences ...
==== //depot/projects/tcp_new/netinet/tcp_input.c#10 (text+ko) ====
@@ -2941,10 +2941,11 @@
* XXXAO: This is not entirely correct as it allows for other
* packets between the duplicate ACKs.
*/
- if (sacked > 0 ||
- (tlen == 0 && acked == 0 && SEQ_LT(tp->snd_una, tp->snd_nxt) && tp->snd_wnd == tiwin))
- tp->snd_dupack += 1;
- else if (acked > 0 && tp->snd_dupack > 0)
+ if ((sacked > 0 && th->th_ack == tp->snd_una) ||
+ (tlen == 0 && acked == 0 && SEQ_LT(tp->snd_una, tp->snd_nxt) &&
+ th->th_ack == tp->snd_una && tp->snd_wnd == tiwin))
+ tp->snd_dupack++;
+ else if (tp->snd_dupack > 0 && (acked > 0 || SEQ_GT(th->th_seq, tp->snd_una)))
tp->snd_dupack = 0;
KASSERT(SEQ_LT(tp->snd_una, tp->snd_nxt) || tp->snd_dupack == 0,
@@ -2953,14 +2954,20 @@
/*
* Advance the unacknowledged pointer.
*/
- tp->snd_una += acked;
+ if (acked > 0)
+ tp->snd_una += acked;
+
+ KASSERT(tp->snd_una == tp->snd_nxt || tcp_timer_active(TT_RXMIT),
+ ("%s: outstanding data but RXMIT timer not active", __func__));
/*
* Stop the retransmit timer if all data we sent has been
- * acknowledged. Otherwise restart it if we still have
+ * acknowledged. Otherwise move it forward if we still have
* outstanding data.
+ *
+ * XXXAO: Handle backoff on multiple retransmits.
*/
- if (tp->snd_una == tp->snd_nxt)
+ if (acked > 0 && tp->snd_una == tp->snd_nxt)
tcp_timer_activate(TT_RXMIT, 0);
else if (acked > 0)
tcp_timer_activate(TT_RXMIT, tp->snd_rto);
From andre at FreeBSD.org Tue May 5 07:32:36 2009
From: andre at FreeBSD.org (Andre Oppermann)
Date: Tue May 5 07:32:42 2009
Subject: PERFORCE change 161598 for review
Message-ID: <200905050732.n457WZ7p003818@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161598
Change 161598 by andre@andre_t61 on 2009/05/05 07:32:16
Various WIP.
Affected files ...
.. //depot/projects/tcp_new/netinet/tcp_output.c#7 edit
Differences ...
==== //depot/projects/tcp_new/netinet/tcp_output.c#7 (text+ko) ====
@@ -200,7 +200,7 @@
*
* duna = unacknowledged data in flight
* swnd = remaining space in send window as advertised by remote end
- * cwnd = congestion window, remaing amount of data that can be unacknowledged in flight
+ * cwnd = congestion window, remaing amount of data that can be in flight unacknowledged
* dlen = remaing amount of data in send buffer available for sending
* len = amount of data we have *and* can send righ now
*
@@ -218,14 +218,25 @@
dlen = so->so_snd.sb_cc - duna;
len = min(dlen, min(swnd, cwnd));
+ /*
+ * XXXAO: todo token bucket, mss sized
+ * Retransmits should not fall under pacing limit
+ * and neither ACKs, window updates, etc. if there
+ * is no data pending.
+ */
if (len > 0 && (tp->t_flags & TF_PACE)) {
- len = tcp_snd_pace(tp, len); /* XXXAO: todo token bucket, mss sized */
+ len = tcp_snd_pace(tp, len);
if (len == 0)
return (0); /* next token is pending */
}
inflight = duna - tp->snd_sacked;
+ switch (tp->t_phase) {
+ case TP_IDLE:
+ break;
+ }
+
/*
* Send out a SYN immediatly.
*/
@@ -248,7 +259,7 @@
* if the window is big enough. Do not care about nagle
* and others. Otherwise things will go their normal way.
*/
- if (len > 0)
+ if (len <= dlen)
goto send;
}
@@ -259,6 +270,7 @@
goto send;
if (SEQ_LT(tp->snd_lastack, tp->snd_nxt) && !(tp->t_flags & TF_DELACK))
goto send;
+
/*
* For a duplicate ACK to be acceptable it must not carry any
* data nor update the window. This is a serious problem for
@@ -268,9 +280,9 @@
* a duplicate ACK (if the ack value didn't move forward). The
* question whether the other implementations see it the same way.
*/
- if ((tp->t_flags & TF_DUPACK) && tp->snd_dupack > 0 &&
- (tp->t_flags & TF_SACK_PERMIT)) {
- len = 0;
+ if ((tp->t_flags & TF_DUPACK) && tp->snd_dupack > 0) {
+ if (!(tp->t_flags & TF_SACK_PERMIT))
+ len = 0;
goto send;
}
@@ -431,81 +443,13 @@
return (0);
send:
- SOCKBUF_LOCK(&so->so_snd);
+ tcp_options(tp, &to, flags);
+ return (tcp_send(tp, &to, flags));
+}
- /*
- * Compute options for segment.
- * We only have to care about SYN and established connection
- * segments. Options for SYN-ACK segments are handled in TCP
- * syncache. Before ESTABLISHED, force sending of initial options
- * unless TCP set not to do any options.
- */
- to.to_flags = 0;
- if (!(tp->t_flags & TF_NOOPT)) {
- /*
- * Maximum segment size.
- */
- if (flags & TH_SYN) {
- to.to_mss = tcp_mss(&inp->inp_inc, 0, 0);
- to.to_flags |= TOF_MSS;
- }
-
- /*
- * Window scaling.
- */
- if ((flags & TH_SYN) && (tp->t_flags & TF_WINSCALE)) {
- to.to_wscale = tp->rcv_scale;
- to.to_flags |= TOF_SCALE;
- }
-
- /*
- * Timestamps.
- */
- if (tp->t_flags & TF_TIMESTAMP) {
- to.to_tsval = ticks + tp->ts_offset;
- to.to_tsecr = tp->ts_recent;
- to.to_flags |= TOF_TS;
- /*
- * Set receive buffer autosizing timestamp.
- */
- if (tp->rfbuf_ts == 0 &&
- (so->so_rcv.sb_flags & SB_AUTOSIZE))
- tp->rfbuf_ts = ticks;
- }
-
- /*
- * Selective ACK's.
- */
- if (tp->t_flags & TF_SACK_PERMIT) {
- if (flags & TH_SYN)
- to.to_flags |= TOF_SACKPERM;
- else if (TCPS_HAVEESTABLISHED(tp->t_state) &&
- tp->rcv_numsacks > 0) {
- to.to_flags |= TOF_SACK;
- to.to_nsacks = tp->rcv_numsacks;
- to.to_sacks = (u_char *)tp->sackblks;
- }
- }
-
- /*
- * TCP-MD5 (RFC2385).
- */
-#ifdef TCP_SIGNATURE
-#ifdef INET6
- if (!isipv6 && (tp->t_flags & TF_SIGNATURE)) {
-#else
- if (tp->t_flags & TF_SIGNATURE) {
-#endif /* INET6 */
- to.to_flags |= TOF_SIGNATURE;
- }
-#endif /* TCP_SIGNATURE */
-
- /*
- * Processing the options.
- */
- optlen = tcp_addoptions(&to, (u_char *)&opt);
- } else
- optlen = 0;
+int
+tcp_send(struct tcpcb *tp, struct tcpopt *to, int flags)
+{
/*
* Be careful not to send data and/or FIN on SYN segments.
@@ -535,6 +479,7 @@
else
th->th_win = (u_short)(rwin >> tp->rcv_scale);
+ SOCKBUF_LOCK(&so->so_snd);
/*
* Fill in fields.
*/
@@ -547,7 +492,7 @@
}
/*
- * If resending a SYN or FIN, be sure not to use a new sequence number.
+ * If resending a SYN or FIN, be sure NOT to use a new sequence number.
*/
if ((flags & TH_SYN) && (tp->t_flags & TF_SENTSYN))
th->th_seq--;
@@ -598,6 +543,18 @@
}
/*
+ * Update last send timestamp.
+ */
+ if ((tp->t_flags & TF_TIMESTAMP) && tp->snd_tslast != to->to_tsval)
+ tp->snd_tslast = to->to_tsval;
+
+ /*
+ * Last ACK we sent.
+ */
+ if (tp->snd_lastack != th->th_ack)
+ tp->snd_lastack = th->th_ack;
+
+ /*
* Any pending ACK has been sent.
* Clear related flags and disarm the delayed ACK timer.
*/
@@ -808,6 +765,7 @@
int off, int *olen, int optlen)
{
int len, slen, hdrs, hdrlen, linkhdr, optlen, ipoptlen;
+ int error = 0;
struct tcphdr *th;
struct ip *ip;
struct inpcb *inp = tp->t_inpcb;
@@ -997,18 +955,12 @@
("%s: data beyond FIN", __func__);
/*
- * Set the PUSH bit to indicate that we have reached
- * the end of the send buffer.
- */
- if (off + slen == so->so_snd.sb_cc) {
- th->th_flags =| TH_PSH;
- }
-
- /*
* If we're sending everything we've got, set PUSH.
* This will keep happy those implementations which
* only give data to the user when a buffer fills or
* a PUSH comes in.
+ * Set the PUSH bit to indicate that we have reached
+ * the end of the send buffer.
*/
if (slen > 0 && off + slen == so->so_snd.sb_cc)
th->th_flags |= TH_PUSH;
@@ -1201,6 +1153,84 @@
return;
}
+void
+tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags)
+{
+ /*
+ * Compute options for segment.
+ * We only have to care about SYN and established connection
+ * segments. Options for SYN-ACK segments are handled in TCP
+ * syncache. Before ESTABLISHED, force sending of initial options
+ * unless TCP set not to do any options.
+ */
+ to.to_flags = 0;
+ if (!(tp->t_flags & TF_NOOPT)) {
+ /*
+ * Maximum segment size.
+ */
+ if (flags & TH_SYN) {
+ to.to_mss = tcp_mss(&inp->inp_inc, 0, 0);
+ to.to_flags |= TOF_MSS;
+ }
+
+ /*
+ * Window scaling.
+ */
+ if ((flags & TH_SYN) && (tp->t_flags & TF_WINSCALE)) {
+ to.to_wscale = tp->rcv_scale;
+ to.to_flags |= TOF_SCALE;
+ }
+
+ /*
+ * Timestamps.
+ */
+ if (tp->t_flags & TF_TIMESTAMP) {
+ to.to_tsval = ticks + tp->ts_offset;
+ to.to_tsecr = tp->ts_recent;
+ to.to_flags |= TOF_TS;
+ /*
+ * Set receive buffer autosizing timestamp.
+ */
+ if (tp->rfbuf_ts == 0 &&
+ (so->so_rcv.sb_flags & SB_AUTOSIZE))
+ tp->rfbuf_ts = ticks;
+ }
+
+ /*
+ * Selective ACK's.
+ */
+ if (tp->t_flags & TF_SACK_PERMIT) {
+ if (flags & TH_SYN)
+ to.to_flags |= TOF_SACKPERM;
+ else if (TCPS_HAVEESTABLISHED(tp->t_state) &&
+ tp->rcv_numsacks > 0) {
+ to.to_flags |= TOF_SACK;
+ to.to_nsacks = tp->rcv_numsacks;
+ to.to_sacks = (u_char *)tp->sackblks;
+ }
+ }
+
+ /*
+ * TCP-MD5 (RFC2385).
+ */
+#ifdef TCP_SIGNATURE
+#ifdef INET6
+ if (!isipv6 && (tp->t_flags & TF_SIGNATURE)) {
+#else
+ if (tp->t_flags & TF_SIGNATURE) {
+#endif /* INET6 */
+ to.to_flags |= TOF_SIGNATURE;
+ }
+#endif /* TCP_SIGNATURE */
+
+ /*
+ * Processing the options.
+ */
+ optlen = tcp_addoptions(&to, (u_char *)&opt);
+ } else
+ optlen = 0;
+}
+
static void
tcp_snd_autoscale(struct tcpcb *tp, int swnd)
{
From andre at FreeBSD.org Tue May 5 07:33:38 2009
From: andre at FreeBSD.org (Andre Oppermann)
Date: Tue May 5 07:33:43 2009
Subject: PERFORCE change 161599 for review
Message-ID: <200905050733.n457XauA003929@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161599
Change 161599 by andre@andre_t61 on 2009/05/05 07:32:53
Various WIP.
Affected files ...
.. //depot/projects/tcp_new/netinet/tcp_var.h#7 edit
Differences ...
==== //depot/projects/tcp_new/netinet/tcp_var.h#7 (text+ko) ====
@@ -144,7 +144,8 @@
#define TP_LOSSRECOV 3 /* loss recovery */
#define TP_LOSSREXMT 4 /* loss recovery failed, retransmit */
#define TP_PERSIST 5 /* persistent mode */
-#define TP_URGENT 6 /* urgent mode */
+#define TP_RETRY 6 /* retry after ENOMEM or ENOBUF */
+#define TP_URGENT 7 /* urgent mode */
int t_softerror; /* possible error not yet reported */
@@ -159,6 +160,7 @@
tcp_seq snd_nxt; /* send next */
tcp_seq snd_rxmt; /* from where to retransmit */
tcp_seq snd_inflight; /* estimate of data currently in the network (~SACK) */
+ u_int snd_maxburst; /* maximum send burst length */
tcp_seq snd_up; /* send urgent pointer */
@@ -240,21 +242,12 @@
int snd_sacked; /* data currently ack'ed through SACK */
/* Congestion control algorithms */
- union {
- struct tcc_newreno {
- tcp_win xxx;
- } tc_newreno;
- struct tcc_vegas {
- tcp_win xxx;
- }
- int t_dupacks; /* consecutive dup acks recd */
tcp_seq snd_recover; /* for use in NewReno Fast Recovery */
tcp_win snd_cwnd_prev; /* cwnd prior to retransmit */
tcp_win snd_ssthresh_prev; /* ssthresh prior to retransmit */
tcp_seq snd_recover_prev; /* snd_recover prior to retransmit */
tcp_win t_badrxtwin; /* window for retransmit recovery */
int snd_limited; /* segments limited transmitted */
- } t_congest;
};
/*
From rene at FreeBSD.org Tue May 5 09:37:44 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 09:37:50 2009
Subject: PERFORCE change 161601 for review
Message-ID: <200905050937.n459bg0g025245@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161601
Change 161601 by rene@rene_self on 2009/05/05 09:36:57
Remove all remaining corresponding files deleted in the "www cleanup mega commit" (hrs, 2006-08-19 21:20:54 UTC)
Affected files ...
.. //depot/projects/docproj_nl/www/nl/commercial/consult.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/consult_bycat.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/entries.dtd#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/entries.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/hardware.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/isp.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/misc.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/soft_bycat.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/commercial/software.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/events/events.dtd#2 delete
.. //depot/projects/docproj_nl/www/nl/events/events.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/events/events.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/gnome/includes.navgnome.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/gnome/includes.navgnome.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/gnome/includes.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.navabout.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.navcommunity.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.navdevelopers.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.navdocs.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.navdownload.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.navsupport.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/includes.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/news/includes.sgml#2 delete
.. //depot/projects/docproj_nl/www/nl/news/news-rdf.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/news/news.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/news/newsflash.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/news/oldnewsflash.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/news/oldpress.xsl#2 delete
.. //depot/projects/docproj_nl/www/nl/news/press.xml#2 delete
.. //depot/projects/docproj_nl/www/nl/news/press.xsl#2 delete
Differences ...
From rene at FreeBSD.org Tue May 5 09:43:50 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 09:43:58 2009
Subject: PERFORCE change 161602 for review
Message-ID: <200905050943.n459hmdu025731@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161602
Change 161602 by rene@rene_self on 2009/05/05 09:43:28
Add the corresponding added files from the "www cleanup mega commit".
To be translated.
Affected files ...
.. //depot/projects/docproj_nl/www/nl/share/sgml/catalog#1 add
.. //depot/projects/docproj_nl/www/nl/share/sgml/catalog.xml#1 add
.. //depot/projects/docproj_nl/www/nl/share/sgml/header.l10n.ent#1 add
.. //depot/projects/docproj_nl/www/nl/share/sgml/l10n.ent#1 add
.. //depot/projects/docproj_nl/www/nl/share/sgml/libcommon.xsl#1 add
.. //depot/projects/docproj_nl/www/nl/share/sgml/navibar.l10n.ent#1 add
Differences ...
From hselasky at FreeBSD.org Tue May 5 10:42:50 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Tue May 5 10:42:56 2009
Subject: PERFORCE change 161607 for review
Message-ID: <200905051042.n45AgmFP031481@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161607
Change 161607 by hselasky@hselasky_laptop001 on 2009/05/05 10:41:55
USB core: Fix comment.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/usb_device.h#19 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#19 (text+ko) ====
@@ -92,7 +92,7 @@
/*
* NOTE: Although the flags below will reach the same value
- * over time, but the instant values may differ, and
+ * over time, the instant values may differ and
* consequently the flags cannot be merged into one!
*/
uint8_t peer_suspended:1; /* set if peer is suspended */
From zec at FreeBSD.org Tue May 5 11:06:14 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Tue May 5 11:06:22 2009
Subject: PERFORCE change 161609 for review
Message-ID: <200905051106.n45B6CaY034383@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161609
Change 161609 by zec@zec_tpx32 on 2009/05/05 11:05:23
IFC @ 161608
Affected files ...
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/identcpu.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/local_apic.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/include/apicvar.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/include/clock.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/isa/clock.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_sysvec.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_mib.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_socket.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/conf/files#24 integrate
.. //depot/projects/vimage-commit/src/sys/conf/kern.post.mk#5 integrate
.. //depot/projects/vimage-commit/src/sys/conf/options#15 integrate
.. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_cpu.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ath/if_ath.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bitops.h#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bwimac.c#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bwimac.h#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bwiphy.c#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bwiphy.h#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bwirf.c#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/bwirf.h#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/if_bwi.c#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/if_bwi_pci.c#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/if_bwireg.h#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/bwi/if_bwivar.h#1 branch
.. //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndisvar.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ipw/if_ipw.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ipw/if_ipwvar.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iwi/if_iwi.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iwi/if_iwivar.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iwn/if_iwn.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iwn/if_iwnvar.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_rum.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_rumvar.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_uath.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_uathvar.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_ural.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_uralvar.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_zyd.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/if_zydreg.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/wlan/usb_wlan.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/wi/if_wi.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/wi/if_wivar.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/wpi/if_wpi.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/dev/wpi/if_wpivar.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfs.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfs_commonacl.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfs_commonkrpc.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfs_commonport.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfs_commonsubs.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfs_var.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfscl.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsclstate.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsdport.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfskpiport.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsm_subs.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsport.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsproto.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsrvcache.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsrvstate.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/nfsv4_errstr.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/rpcv2.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfs/xdr_subs.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clbio.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clcomsubs.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clkrpc.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_cllock.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clnfsiod.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clnode.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clport.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clrpcops.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clstate.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clsubs.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clvfsops.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_clvnops.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfs_lock.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfsargs.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfsdiskless.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfsmount.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nfsnode.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsclient/nlminfo.h#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdcache.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdport.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdserv.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdsocket.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdstate.c#1 branch
.. //depot/projects/vimage-commit/src/sys/fs/nfsserver/nfs_nfsdsubs.c#1 branch
.. //depot/projects/vimage-commit/src/sys/geom/vinum/geom_vinum_var.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/i386/bios/apm.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/identcpu.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/local_apic.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/mp_machdep.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/i386/include/apicvar.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/i386/include/clock.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/i386/isa/clock.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/i386/linux/linux_sysvec.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/i386/xen/clock.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/i386/xen/mp_machdep.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/isa/atrtc.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/isa/rtc.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/kern/init_main.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_fork.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_linker.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_osd.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_vimage.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/kern/subr_pcpu.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/kern/sys_socket.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/kern/tty.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/kern/uipc_socket.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/kern/uipc_syscalls.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/kern/uipc_usrreq.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/modules/bwi/Makefile#1 branch
.. //depot/projects/vimage-commit/src/sys/net/bpf.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if.c#23 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_clone.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_ethersubr.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_var.h#15 integrate
.. //depot/projects/vimage-commit/src/sys/net/netisr.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/net/rtsock.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211.h#7 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_adhoc.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ddb.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_freebsd.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_freebsd.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ht.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ioctl.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_node.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_node.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_proto.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_scan.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_scan.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_scan_sta.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_superg.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_superg.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_var.h#12 integrate
.. //depot/projects/vimage-commit/src/sys/netgraph/netgraph.h#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/if_ether.c#14 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/igmp.c#20 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in_rmx.c#14 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_input.c#18 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/tcp_hostcache.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/in6_rmx.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/ip6_mroute.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/mld6.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/nd6.c#16 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/nd6_nbr.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netipsec/xform_tcp.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_kdtrace.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_krpc.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/nfsclient/nfs_vnops.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/pc98/cbus/clock.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/sys/jail.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/sys/proc.h#10 integrate
.. //depot/projects/vimage-commit/src/sys/sys/ucred.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/sys/vimage.h#17 integrate
.. //depot/projects/vimage-commit/src/sys/vm/vnode_pager.c#7 integrate
Differences ...
==== //depot/projects/vimage-commit/src/sys/amd64/amd64/identcpu.c#6 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.172 2009/04/29 06:54:40 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $");
#include "opt_cpu.h"
@@ -472,6 +472,22 @@
cpu_feature = regs[3];
cpu_feature2 = regs[2];
+ /*
+ * Clear "Limit CPUID Maxval" bit and get the largest standard CPUID
+ * function number again if it is set from BIOS. It is necessary
+ * for probing correct CPU topology later.
+ * XXX This is only done on the BSP package.
+ */
+ if (cpu_vendor_id == CPU_VENDOR_INTEL && cpu_high > 0 && cpu_high < 4) {
+ uint64_t msr;
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ if ((msr & 0x400000ULL) != 0) {
+ wrmsr(MSR_IA32_MISC_ENABLE, msr & ~0x400000ULL);
+ do_cpuid(0, regs);
+ cpu_high = regs[0];
+ }
+ }
+
if (cpu_vendor_id == CPU_VENDOR_INTEL ||
cpu_vendor_id == CPU_VENDOR_AMD ||
cpu_vendor_id == CPU_VENDOR_CENTAUR) {
==== //depot/projects/vimage-commit/src/sys/amd64/amd64/local_apic.c#7 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.55 2009/05/05 01:13:20 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -319,7 +319,7 @@
}
/* We don't setup the timer during boot on the BSP until later. */
- if (!(boot && PCPU_GET(cpuid) == 0)) {
+ if (!(boot && PCPU_GET(cpuid) == 0) && lapic_timer_hz != 0) {
KASSERT(lapic_timer_period != 0, ("lapic%u: zero divisor",
lapic_id()));
lapic_timer_set_divisor(lapic_timer_divisor);
==== //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#11 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.305 2009/04/30 22:10:04 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.306 2009/05/02 12:20:43 mav Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -57,6 +57,7 @@
#include
#include
+#include
#include
#include
#include
@@ -1124,6 +1125,15 @@
sched_preempt(curthread);
/* Nothing to do for AST */
+
+ if (ipi_bitmap & (1 << IPI_HARDCLOCK))
+ hardclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_STATCLOCK))
+ statclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_PROFCLOCK))
+ profclockintr(&frame);
}
/*
==== //depot/projects/vimage-commit/src/sys/amd64/include/apicvar.h#5 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.28 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.29 2009/05/02 12:20:43 mav Exp $
*/
#ifndef _MACHINE_APICVAR_H_
@@ -126,7 +126,10 @@
/* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */
#define IPI_AST 0 /* Generate software trap. */
#define IPI_PREEMPT 1
-#define IPI_BITMAP_LAST IPI_PREEMPT
+#define IPI_HARDCLOCK 2
+#define IPI_STATCLOCK 3
+#define IPI_PROFCLOCK 4
+#define IPI_BITMAP_LAST IPI_PROFCLOCK
#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
#define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */
==== //depot/projects/vimage-commit/src/sys/amd64/include/clock.h#4 (text+ko) ====
@@ -3,7 +3,7 @@
* Garrett Wollman, September 1994.
* This file is in the public domain.
*
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.61 2008/10/21 00:38:00 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.63 2009/05/03 17:47:21 mav Exp $
*/
#ifndef _MACHINE_CLOCK_H_
@@ -15,7 +15,6 @@
* XXX large parts of the driver and its interface are misplaced.
*/
extern int clkintr_pending;
-extern int statclock_disable;
extern u_int i8254_freq;
extern int i8254_max_count;
extern uint64_t tsc_freq;
@@ -24,6 +23,12 @@
void i8254_init(void);
+struct trapframe;
+
+int hardclockintr(struct trapframe *frame);
+int statclockintr(struct trapframe *frame);
+int profclockintr(struct trapframe *frame);
+
/*
* Driver to clock driver interface.
*/
==== //depot/projects/vimage-commit/src/sys/amd64/isa/clock.c#4 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.244 2009/05/01 21:43:04 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.246 2009/05/03 17:47:21 mav Exp $");
/*
* Routines to handle clock hardware.
@@ -53,6 +53,7 @@
#include
#include
#include
+#include
#include
#include
@@ -62,6 +63,7 @@
#include
#include
#include
+#include
#include
#ifdef DEV_ISA
@@ -74,7 +76,6 @@
int clkintr_pending;
static int pscnt = 1;
static int psdiv = 1;
-int statclock_disable;
#ifndef TIMER_FREQ
#define TIMER_FREQ 1193182
#endif
@@ -89,6 +90,7 @@
static u_int32_t i8254_offset;
static int (*i8254_pending)(struct intsrc *);
static int i8254_ticked;
+static int using_atrtc_timer;
static int using_lapic_timer;
/* Values for timerX_state: */
@@ -112,6 +114,37 @@
0 /* quality */
};
+int
+hardclockintr(struct trapframe *frame)
+{
+
+ if (PCPU_GET(cpuid) == 0)
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ else
+ hardclock_cpu(TRAPF_USERMODE(frame));
+ if (!using_atrtc_timer)
+ statclockintr(frame);
+ return (FILTER_HANDLED);
+}
+
+int
+statclockintr(struct trapframe *frame)
+{
+
+ if (profprocs != 0)
+ profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ statclock(TRAPF_USERMODE(frame));
+ return (FILTER_HANDLED);
+}
+
+int
+profclockintr(struct trapframe *frame)
+{
+
+ profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ return (FILTER_HANDLED);
+}
+
static int
clkintr(struct trapframe *frame)
{
@@ -128,7 +161,11 @@
mtx_unlock_spin(&clock_lock);
}
KASSERT(!using_lapic_timer, ("clk interrupt enabled with lapic timer"));
- hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+#ifdef SMP
+ if (smp_started)
+ ipi_all_but_self(IPI_HARDCLOCK);
+#endif
+ hardclockintr(frame);
return (FILTER_HANDLED);
}
@@ -209,10 +246,19 @@
if (profprocs != 0) {
if (--pscnt == 0)
pscnt = psdiv;
+#ifdef SMP
+ if (pscnt != psdiv && smp_started)
+ ipi_all_but_self(IPI_PROFCLOCK);
+#endif
profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
- if (pscnt == psdiv)
+ if (pscnt == psdiv) {
+#ifdef SMP
+ if (smp_started)
+ ipi_all_but_self(IPI_STATCLOCK);
+#endif
statclock(TRAPF_USERMODE(frame));
+ }
}
return(flag ? FILTER_HANDLED : FILTER_STRAY);
}
@@ -414,7 +460,6 @@
void
cpu_initclocks()
{
- int diag;
using_lapic_timer = lapic_setup_clock();
/*
@@ -446,21 +491,17 @@
* kernel clocks, then setup the RTC to periodically interrupt to
* drive statclock() and profclock().
*/
- if (!statclock_disable && !using_lapic_timer) {
- diag = rtcin(RTC_DIAG);
- if (diag != 0)
- printf("RTC BIOS diagnostic error %b\n",
- diag, RTCDG_BITS);
-
- /* Setting stathz to nonzero early helps avoid races. */
- stathz = RTC_NOPROFRATE;
- profhz = RTC_PROFRATE;
-
- /* Enable periodic interrupts from the RTC. */
- intr_add_handler("rtc", 8,
- (driver_filter_t *)rtcintr, NULL, NULL,
- INTR_TYPE_CLK, NULL);
- atrtc_enable_intr();
+ if (!using_lapic_timer) {
+ using_atrtc_timer = atrtc_setup_clock();
+ if (using_atrtc_timer) {
+ /* Enable periodic interrupts from the RTC. */
+ intr_add_handler("rtc", 8,
+ (driver_filter_t *)rtcintr, NULL, NULL,
+ INTR_TYPE_CLK, NULL);
+ atrtc_enable_intr();
+ } else {
+ profhz = stathz = hz;
+ }
}
init_TSC_tc();
==== //depot/projects/vimage-commit/src/sys/amd64/linux32/linux32_sysvec.c#7 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.47 2009/05/01 15:36:02 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.48 2009/05/02 10:06:49 dchagin Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -76,6 +76,7 @@
#include
#include
+#include
#include
#include
#include
@@ -127,9 +128,6 @@
u_long stack, u_long ps_strings);
static void linux32_fixlimit(struct rlimit *rl, int which);
-extern LIST_HEAD(futex_list, futex) futex_list;
-extern struct mtx futex_mtx;
-
static eventhandler_tag linux_exit_tag;
static eventhandler_tag linux_schedtail_tag;
static eventhandler_tag linux_exec_tag;
==== //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.c#7 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.20 2009/05/01 15:36:02 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.21 2009/05/02 10:06:49 dchagin Exp $");
#if 0
__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $");
#endif
@@ -81,7 +81,7 @@
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
-LIST_HEAD(futex_list, futex) futex_list;
+struct futex_list futex_list;
#define FUTEX_LOCK(f) sx_xlock(&(f)->f_lck)
#define FUTEX_UNLOCK(f) sx_xunlock(&(f)->f_lck)
==== //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.h#5 (text+ko) ====
@@ -30,12 +30,15 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.6 2009/03/15 19:38:34 dchagin Exp $
+ * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.7 2009/05/02 10:06:49 dchagin Exp $
*/
#ifndef _LINUX_FUTEX_H
#define _LINUX_FUTEX_H
+extern LIST_HEAD(futex_list, futex) futex_list;
+extern struct mtx futex_mtx;
+
#define LINUX_FUTEX_WAIT 0
#define LINUX_FUTEX_WAKE 1
#define LINUX_FUTEX_FD 2 /* unused */
==== //depot/projects/vimage-commit/src/sys/compat/linux/linux_mib.c#4 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.30 2008/06/03 17:50:13 rdivacky Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.31 2009/05/04 19:06:05 jamie Exp $");
#include
#include
@@ -78,7 +78,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, osname,
- CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_osname, "A",
"Linux kernel OS name");
@@ -100,7 +100,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, osrelease,
- CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_osrelease, "A",
"Linux kernel OS release");
@@ -121,7 +121,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, oss_version,
- CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_oss_version, "I",
"Linux OSS version");
==== //depot/projects/vimage-commit/src/sys/compat/linux/linux_socket.c#10 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.81 2009/04/26 22:06:42 zec Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.82 2009/05/02 10:51:40 dchagin Exp $");
/* XXX we use functions that might not exist. */
#include "opt_compat.h"
@@ -859,7 +859,10 @@
return (EINVAL);
bsd_args.type = args->type;
- bsd_args.protocol = args->protocol;
+ if (bsd_args.domain == AF_LOCAL && args->protocol == PF_UNIX)
+ bsd_args.protocol = 0;
+ else
+ bsd_args.protocol = args->protocol;
bsd_args.rsv = (int *)PTRIN(args->rsv);
return (socketpair(td, &bsd_args));
}
==== //depot/projects/vimage-commit/src/sys/conf/files#24 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1396 2009/05/01 17:16:33 sam Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1398 2009/05/05 10:56:12 zec Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -712,6 +712,11 @@
dev/buslogic/bt_isa.c optional bt isa
dev/buslogic/bt_mca.c optional bt mca
dev/buslogic/bt_pci.c optional bt pci
+dev/bwi/bwiirf.c optional bwi
+dev/bwi/bwimac.c optional bwi
+dev/bwi/bwiphy.c optional bwi
+dev/bwi/if_bwi.c optional bwi
+dev/bwi/if_bwi_pci.c optional bwi pci
dev/cardbus/cardbus.c optional cardbus
dev/cardbus/cardbus_cis.c optional cardbus
dev/cardbus/cardbus_device.c optional cardbus
@@ -1947,8 +1952,8 @@
kern/kern_timeout.c standard
kern/kern_umtx.c standard
kern/kern_uuid.c standard
+kern/kern_vimage.c standard
kern/kern_xxx.c standard
-kern/kern_vimage.c standard
kern/link_elf.c standard
kern/linker_if.m standard
kern/md4c.c optional netsmb
==== //depot/projects/vimage-commit/src/sys/conf/kern.post.mk#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.104 2009/01/07 09:56:54 bz Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.105 2009/05/04 20:25:56 jhb Exp $
# Part of a unified Makefile for building kernels. This part includes all
# the definitions that need to be after all the % directives except %RULES
@@ -12,7 +12,8 @@
.if defined(DESTDIR)
MKMODULESENV+= DESTDIR="${DESTDIR}"
.endif
-MKMODULESENV+= KERNBUILDDIR="${.CURDIR}"
+SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
+MKMODULESENV+= KERNBUILDDIR="${.CURDIR}" SYSDIR="${SYSDIR}"
.MAIN: all
@@ -29,7 +30,6 @@
# Handle out of tree ports
.if !defined(NO_MODULES) && defined(PORTS_MODULES)
-SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
PORTSMODULESENV=SYSDIR=${SYSDIR}
.for __target in all install reinstall clean
${__target}: ports-${__target}
==== //depot/projects/vimage-commit/src/sys/conf/options#15 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.667 2009/05/01 17:18:45 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.668 2009/05/03 04:01:43 imp Exp $
#
# On the handling of kernel options
#
@@ -763,6 +763,10 @@
AH_USE_INIPDGAIN opt_ah.h
AH_MAXCHAN opt_ah.h
+# options for the Broadcom BCM43xx driver (bwi)
+BWI_DEBUG opt_bwi.h
+BWI_DEBUG_VERBOSE opt_bwi.h
+
# options for the Marvell 8335 wireless driver
MALO_DEBUG opt_malo.h
MALO_TXBUF opt_malo.h
==== //depot/projects/vimage-commit/src/sys/dev/acpica/acpi_cpu.c#5 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.74 2009/03/26 21:10:35 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.77 2009/05/03 06:25:37 mav Exp $");
#include "opt_acpi.h"
#include
@@ -79,7 +79,6 @@
int cpu_features; /* Child driver supported features. */
/* Runtime state. */
int cpu_non_c3; /* Index of lowest non-C3 state. */
- int cpu_short_slp; /* Count of < 1us sleeps. */
u_int cpu_cx_stats[MAX_CX_STATES];/* Cx usage history. */
/* Values for sysctl. */
struct sysctl_ctx_list cpu_sysctl_ctx;
@@ -882,43 +881,13 @@
return;
}
- /*
- * If we slept 100 us or more, use the lowest Cx state. Otherwise,
- * find the lowest state that has a latency less than or equal to
- * the length of our last sleep.
- */
- cx_next_idx = sc->cpu_cx_lowest;
- if (sc->cpu_prev_sleep < 100) {
- /*
- * If we sleep too short all the time, this system may not implement
- * C2/3 correctly (i.e. reads return immediately). In this case,
- * back off and use the next higher level.
- * It seems that when you have a dual core cpu (like the Intel Core Duo)
- * that both cores will get out of C3 state as soon as one of them
- * requires it. This breaks the sleep detection logic as the sleep
- * counter is local to each cpu. Disable the sleep logic for now as a
- * workaround if there's more than one CPU. The right fix would probably
- * be to add quirks for system that don't really support C3 state.
- */
- if (mp_ncpus < 2 && sc->cpu_prev_sleep <= 1) {
- sc->cpu_short_slp++;
- if (sc->cpu_short_slp == 1000 && sc->cpu_cx_lowest != 0) {
- if (sc->cpu_non_c3 == sc->cpu_cx_lowest && sc->cpu_non_c3 != 0)
- sc->cpu_non_c3--;
- sc->cpu_cx_lowest--;
- sc->cpu_short_slp = 0;
- device_printf(sc->cpu_dev,
- "too many short sleeps, backing off to C%d\n",
- sc->cpu_cx_lowest + 1);
- }
- } else
- sc->cpu_short_slp = 0;
-
- for (i = sc->cpu_cx_lowest; i >= 0; i--)
- if (sc->cpu_cx_states[i].trans_lat <= sc->cpu_prev_sleep) {
- cx_next_idx = i;
- break;
- }
+ /* Find the lowest state that has small enough latency. */
+ cx_next_idx = 0;
+ for (i = sc->cpu_cx_lowest; i >= 0; i--) {
+ if (sc->cpu_cx_states[i].trans_lat * 3 <= sc->cpu_prev_sleep) {
+ cx_next_idx = i;
+ break;
+ }
}
/*
@@ -943,10 +912,10 @@
/*
* Execute HLT (or equivalent) and wait for an interrupt. We can't
* calculate the time spent in C1 since the place we wake up is an
- * ISR. Assume we slept one quantum and return.
+ * ISR. Assume we slept half of quantum and return.
*/
if (cx_next->type == ACPI_STATE_C1) {
- sc->cpu_prev_sleep = 1000000 / hz;
+ sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + 500000 / hz) / 4;
acpi_cpu_c1();
return;
}
@@ -989,9 +958,9 @@
}
ACPI_ENABLE_IRQS();
- /* Find the actual time asleep in microseconds, minus overhead. */
+ /* Find the actual time asleep in microseconds. */
end_time = acpi_TimerDelta(end_time, start_time);
- sc->cpu_prev_sleep = PM_USEC(end_time) - cx_next->trans_lat;
+ sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + PM_USEC(end_time)) / 4;
}
/*
@@ -1136,8 +1105,9 @@
sbuf_printf(&sb, "%u.%02u%% ", (u_int)(whole / sum),
(u_int)(fract / sum));
} else
- sbuf_printf(&sb, "0%% ");
+ sbuf_printf(&sb, "0.00%% ");
}
+ sbuf_printf(&sb, "last %dus", sc->cpu_prev_sleep);
sbuf_trim(&sb);
sbuf_finish(&sb);
sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
==== //depot/projects/vimage-commit/src/sys/dev/ath/if_ath.c#8 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.248 2009/04/13 20:58:47 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.249 2009/05/02 20:16:55 sam Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -3995,12 +3995,7 @@
if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) {
#ifdef IEEE80211_SUPPORT_SUPERG
- if (ic->ic_stageqdepth) {
- ieee80211_age_stageq(ic, WME_AC_VO, 100);
- ieee80211_age_stageq(ic, WME_AC_VI, 100);
- ieee80211_age_stageq(ic, WME_AC_BE, 100);
- ieee80211_age_stageq(ic, WME_AC_BK, 100);
- }
+ ieee80211_ff_age_all(ic, 100);
#endif
if (!IFQ_IS_EMPTY(&ifp->if_snd))
ath_start(ifp);
@@ -4980,7 +4975,7 @@
* Flush fast-frame staging queue when traffic slows.
*/
if (txq->axq_depth <= 1)
- ieee80211_flush_stageq(ic, txq->axq_ac);
+ ieee80211_ff_flush(ic, txq->axq_ac);
#endif
return nacked;
}
==== //depot/projects/vimage-commit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 (text+ko) ====
@@ -28,7 +28,7 @@
***************************************************************************/
#include
-__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.30 2009/04/11 22:07:19 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.31 2009/05/05 10:56:12 zec Exp $");
#include
#include
@@ -1217,7 +1217,7 @@
* receive window.
*/
static __inline int
-select_rcv_wscale(int space)
+select_rcv_wscale(int space, struct vnet *vnet)
{
INIT_VNET_INET(so->so_vnet);
int wscale = 0;
@@ -1326,7 +1326,7 @@
calc_opt0h(struct socket *so, int mtu_idx)
{
struct tcpcb *tp = so_sototcpcb(so);
- int wscale = select_rcv_wscale(tp->rcv_wnd);
+ int wscale = select_rcv_wscale(tp->rcv_wnd, so->so_vnet);
return V_NAGLE((tp->t_flags & TF_NODELAY) == 0) |
V_KEEP_ALIVE((so_options_get(so) & SO_KEEPALIVE) != 0) | F_TCAM_BYPASS |
==== //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis.c#11 (text+ko) ====
@@ -34,7 +34,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.157 2009/04/16 23:42:00 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.158 2009/05/02 15:14:18 thompsa Exp $");
#include
#include
@@ -50,7 +50,6 @@
#include
#include
#include
-#include
#include
@@ -173,7 +172,7 @@
int);
static int ndis_nettype_chan (uint32_t);
static int ndis_nettype_mode (uint32_t);
-static void ndis_scan (void *, int);
+static void ndis_scan (void *);
static void ndis_scan_results (struct ndis_softc *);
static void ndis_scan_start (struct ieee80211com *);
static void ndis_scan_end (struct ieee80211com *);
@@ -184,8 +183,6 @@
static void ndis_stop (struct ndis_softc *);
static int ndis_ifmedia_upd (struct ifnet *);
static void ndis_ifmedia_sts (struct ifnet *, struct ifmediareq *);
-static void ndis_auth (void *, int);
-static void ndis_assoc (void *, int);
static int ndis_get_assoc (struct ndis_softc *, ndis_wlan_bssid_ex **);
static int ndis_probe_offload (struct ndis_softc *);
static int ndis_set_offload (struct ndis_softc *);
@@ -741,13 +738,7 @@
uint32_t arg;
int r;
- sc->ndis_tq = taskqueue_create("nids_taskq", M_NOWAIT | M_ZERO,
- taskqueue_thread_enqueue, &sc->ndis_tq);
- taskqueue_start_threads(&sc->ndis_tq, 1, PI_NET, "%s taskq",
- device_get_nameunit(dev));
- TASK_INIT(&sc->ndis_scantask, 0, ndis_scan, sc);
- TASK_INIT(&sc->ndis_authtask, 0, ndis_auth, sc);
- TASK_INIT(&sc->ndis_assoctask, 0, ndis_assoc, sc);
+ callout_init(&sc->ndis_scan_callout, CALLOUT_MPSAFE);
ifp->if_ioctl = ndis_ioctl_80211;
ic->ic_ifp = ifp;
@@ -1054,12 +1045,6 @@
} else
NDIS_UNLOCK(sc);
- if (sc->ndis_80211) {
- taskqueue_drain(sc->ndis_tq, &sc->ndis_scantask);
- taskqueue_drain(sc->ndis_tq, &sc->ndis_authtask);
- taskqueue_drain(sc->ndis_tq, &sc->ndis_assoctask);
- }
-
if (sc->ndis_tickitem != NULL)
IoFreeWorkItem(sc->ndis_tickitem);
if (sc->ndis_startitem != NULL)
@@ -1121,8 +1106,6 @@
if (sc->ndis_iftype == PCIBus)
bus_dma_tag_destroy(sc->ndis_parent_tag);
- if (sc->ndis_80211)
- taskqueue_free(sc->ndis_tq);
return(0);
}
@@ -2419,30 +2402,6 @@
}
static void
-ndis_auth(void *arg, int npending)
-{
- struct ndis_softc *sc = arg;
- struct ifnet *ifp = sc->ifp;
- struct ieee80211com *ic = ifp->if_l2com;
- struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-
- vap->iv_state = IEEE80211_S_AUTH;
- ndis_auth_and_assoc(sc, vap);
-}
-
-static void
-ndis_assoc(void *arg, int npending)
-{
- struct ndis_softc *sc = arg;
- struct ifnet *ifp = sc->ifp;
- struct ieee80211com *ic = ifp->if_l2com;
- struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-
- vap->iv_state = IEEE80211_S_ASSOC;
- ndis_auth_and_assoc(sc, vap);
-}
-
-static void
ndis_auth_and_assoc(sc, vap)
struct ndis_softc *sc;
struct ieee80211vap *vap;
@@ -2656,9 +2615,6 @@
if (rval)
device_printf (sc->ndis_dev, "set ssid failed: %d\n", rval);
- if (vap->iv_state == IEEE80211_S_AUTH)
- ieee80211_new_state(vap, IEEE80211_S_ASSOC, 0);
-
return;
}
@@ -3304,13 +3260,18 @@
return nvp->newstate(vap, nstate, arg);
case IEEE80211_S_ASSOC:
if (ostate != IEEE80211_S_AUTH) {
- taskqueue_enqueue(sc->ndis_tq, &sc->ndis_assoctask);
- return EINPROGRESS;
+ IEEE80211_UNLOCK(ic);
+ ndis_auth_and_assoc(sc, vap);
+ IEEE80211_LOCK(ic);
}
break;
case IEEE80211_S_AUTH:
- taskqueue_enqueue(sc->ndis_tq, &sc->ndis_authtask);
- return EINPROGRESS;
+ IEEE80211_UNLOCK(ic);
+ ndis_auth_and_assoc(sc, vap);
+ if (vap->iv_state == IEEE80211_S_AUTH) /* XXX */
+ ieee80211_new_state(vap, IEEE80211_S_ASSOC, 0);
+ IEEE80211_LOCK(ic);
+ break;
default:
break;
}
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From zec at FreeBSD.org Tue May 5 11:07:17 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Tue May 5 11:07:24 2009
Subject: PERFORCE change 161610 for review
Message-ID: <200905051107.n45B7E7v034448@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161610
Change 161610 by zec@zec_amdx2 on 2009/05/05 11:06:49
IFC @ 161608
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/identcpu.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#14 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/include/apicvar.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/include/clock.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/isa/clock.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_sysvec.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_mib.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_socket.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files#34 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/kern.post.mk#4 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/options#26 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/acpica/acpi_cpu.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ath/if_ath.c#13 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bitops.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bwimac.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bwimac.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bwiphy.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bwiphy.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bwirf.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/bwirf.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/if_bwi.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/if_bwi_pci.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/if_bwireg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/bwi/if_bwivar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#21 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndisvar.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ipw/if_ipw.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ipw/if_ipwvar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/iwi/if_iwi.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/iwi/if_iwivar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/iwn/if_iwn.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/iwn/if_iwnvar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rum.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rumvar.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uath.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uathvar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_ural.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uralvar.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zyd.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zydreg.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/usb_wlan.h#3 delete
.. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wi.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wivar.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/wpi/if_wpi.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/wpi/if_wpivar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs_commonacl.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs_commonkrpc.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs_commonport.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs_commonsubs.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfs_var.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfscl.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsclstate.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsdport.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfskpiport.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsm_subs.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsport.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsproto.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsrvcache.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsrvstate.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/nfsv4_errstr.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/rpcv2.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfs/xdr_subs.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clbio.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clcomsubs.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clkrpc.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_cllock.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clnfsiod.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clnode.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clport.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clrpcops.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clstate.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clsubs.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clvfsops.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clvnops.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_lock.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfsargs.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfsdiskless.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfsmount.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfsnode.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nlminfo.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdcache.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdport.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdserv.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdsocket.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdstate.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/fs/nfsserver/nfs_nfsdsubs.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum_var.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/bios/apm.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/identcpu.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/local_apic.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/include/apicvar.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/include/clock.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/isa/clock.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/linux/linux_sysvec.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/xen/clock.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/xen/mp_machdep.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/isa/atrtc.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/isa/rtc.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/init_main.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_fork.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_osd.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#25 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/subr_pcpu.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/sys_socket.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/tty.c#20 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#18 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_syscalls.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_usrreq.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/bwi/Makefile#1 branch
.. //depot/projects/vimage-commit2/src/sys/net/bpf.c#16 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if.c#52 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_clone.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_ethersubr.c#24 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_var.h#21 integrate
.. //depot/projects/vimage-commit2/src/sys/net/netisr.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#26 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_adhoc.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ddb.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_freebsd.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_freebsd.h#10 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ht.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ioctl.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_node.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_node.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_proto.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_scan.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_scan.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_scan_sta.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_superg.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_superg.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_var.h#12 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/netgraph.h#24 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/if_ether.c#34 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/igmp.c#33 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/in_rmx.c#29 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#38 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_hostcache.c#21 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_rmx.c#31 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_mroute.c#16 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#20 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/nd6.c#33 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/nd6_nbr.c#24 integrate
.. //depot/projects/vimage-commit2/src/sys/netipsec/xform_tcp.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_kdtrace.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_krpc.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vnops.c#19 integrate
.. //depot/projects/vimage-commit2/src/sys/pc98/cbus/clock.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/jail.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/proc.h#14 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/ucred.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#48 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/vnode_pager.c#8 integrate
Differences ...
==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/identcpu.c#9 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.172 2009/04/29 06:54:40 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $");
#include "opt_cpu.h"
@@ -472,6 +472,22 @@
cpu_feature = regs[3];
cpu_feature2 = regs[2];
+ /*
+ * Clear "Limit CPUID Maxval" bit and get the largest standard CPUID
+ * function number again if it is set from BIOS. It is necessary
+ * for probing correct CPU topology later.
+ * XXX This is only done on the BSP package.
+ */
+ if (cpu_vendor_id == CPU_VENDOR_INTEL && cpu_high > 0 && cpu_high < 4) {
+ uint64_t msr;
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ if ((msr & 0x400000ULL) != 0) {
+ wrmsr(MSR_IA32_MISC_ENABLE, msr & ~0x400000ULL);
+ do_cpuid(0, regs);
+ cpu_high = regs[0];
+ }
+ }
+
if (cpu_vendor_id == CPU_VENDOR_INTEL ||
cpu_vendor_id == CPU_VENDOR_AMD ||
cpu_vendor_id == CPU_VENDOR_CENTAUR) {
==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#8 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.55 2009/05/05 01:13:20 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -319,7 +319,7 @@
}
/* We don't setup the timer during boot on the BSP until later. */
- if (!(boot && PCPU_GET(cpuid) == 0)) {
+ if (!(boot && PCPU_GET(cpuid) == 0) && lapic_timer_hz != 0) {
KASSERT(lapic_timer_period != 0, ("lapic%u: zero divisor",
lapic_id()));
lapic_timer_set_divisor(lapic_timer_divisor);
==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#14 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.305 2009/04/30 22:10:04 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.306 2009/05/02 12:20:43 mav Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -57,6 +57,7 @@
#include
#include
+#include
#include
#include
#include
@@ -1124,6 +1125,15 @@
sched_preempt(curthread);
/* Nothing to do for AST */
+
+ if (ipi_bitmap & (1 << IPI_HARDCLOCK))
+ hardclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_STATCLOCK))
+ statclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_PROFCLOCK))
+ profclockintr(&frame);
}
/*
==== //depot/projects/vimage-commit2/src/sys/amd64/include/apicvar.h#5 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.28 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.29 2009/05/02 12:20:43 mav Exp $
*/
#ifndef _MACHINE_APICVAR_H_
@@ -126,7 +126,10 @@
/* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */
#define IPI_AST 0 /* Generate software trap. */
#define IPI_PREEMPT 1
-#define IPI_BITMAP_LAST IPI_PREEMPT
+#define IPI_HARDCLOCK 2
+#define IPI_STATCLOCK 3
+#define IPI_PROFCLOCK 4
+#define IPI_BITMAP_LAST IPI_PROFCLOCK
#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
#define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */
==== //depot/projects/vimage-commit2/src/sys/amd64/include/clock.h#3 (text+ko) ====
@@ -3,7 +3,7 @@
* Garrett Wollman, September 1994.
* This file is in the public domain.
*
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.61 2008/10/21 00:38:00 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.63 2009/05/03 17:47:21 mav Exp $
*/
#ifndef _MACHINE_CLOCK_H_
@@ -15,7 +15,6 @@
* XXX large parts of the driver and its interface are misplaced.
*/
extern int clkintr_pending;
-extern int statclock_disable;
extern u_int i8254_freq;
extern int i8254_max_count;
extern uint64_t tsc_freq;
@@ -24,6 +23,12 @@
void i8254_init(void);
+struct trapframe;
+
+int hardclockintr(struct trapframe *frame);
+int statclockintr(struct trapframe *frame);
+int profclockintr(struct trapframe *frame);
+
/*
* Driver to clock driver interface.
*/
==== //depot/projects/vimage-commit2/src/sys/amd64/isa/clock.c#3 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.244 2009/05/01 21:43:04 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.246 2009/05/03 17:47:21 mav Exp $");
/*
* Routines to handle clock hardware.
@@ -53,6 +53,7 @@
#include
#include
#include
+#include
#include
#include
@@ -62,6 +63,7 @@
#include
#include
#include
+#include
#include
#ifdef DEV_ISA
@@ -74,7 +76,6 @@
int clkintr_pending;
static int pscnt = 1;
static int psdiv = 1;
-int statclock_disable;
#ifndef TIMER_FREQ
#define TIMER_FREQ 1193182
#endif
@@ -89,6 +90,7 @@
static u_int32_t i8254_offset;
static int (*i8254_pending)(struct intsrc *);
static int i8254_ticked;
+static int using_atrtc_timer;
static int using_lapic_timer;
/* Values for timerX_state: */
@@ -112,6 +114,37 @@
0 /* quality */
};
+int
+hardclockintr(struct trapframe *frame)
+{
+
+ if (PCPU_GET(cpuid) == 0)
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ else
+ hardclock_cpu(TRAPF_USERMODE(frame));
+ if (!using_atrtc_timer)
+ statclockintr(frame);
+ return (FILTER_HANDLED);
+}
+
+int
+statclockintr(struct trapframe *frame)
+{
+
+ if (profprocs != 0)
+ profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ statclock(TRAPF_USERMODE(frame));
+ return (FILTER_HANDLED);
+}
+
+int
+profclockintr(struct trapframe *frame)
+{
+
+ profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ return (FILTER_HANDLED);
+}
+
static int
clkintr(struct trapframe *frame)
{
@@ -128,7 +161,11 @@
mtx_unlock_spin(&clock_lock);
}
KASSERT(!using_lapic_timer, ("clk interrupt enabled with lapic timer"));
- hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+#ifdef SMP
+ if (smp_started)
+ ipi_all_but_self(IPI_HARDCLOCK);
+#endif
+ hardclockintr(frame);
return (FILTER_HANDLED);
}
@@ -209,10 +246,19 @@
if (profprocs != 0) {
if (--pscnt == 0)
pscnt = psdiv;
+#ifdef SMP
+ if (pscnt != psdiv && smp_started)
+ ipi_all_but_self(IPI_PROFCLOCK);
+#endif
profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
- if (pscnt == psdiv)
+ if (pscnt == psdiv) {
+#ifdef SMP
+ if (smp_started)
+ ipi_all_but_self(IPI_STATCLOCK);
+#endif
statclock(TRAPF_USERMODE(frame));
+ }
}
return(flag ? FILTER_HANDLED : FILTER_STRAY);
}
@@ -414,7 +460,6 @@
void
cpu_initclocks()
{
- int diag;
using_lapic_timer = lapic_setup_clock();
/*
@@ -446,21 +491,17 @@
* kernel clocks, then setup the RTC to periodically interrupt to
* drive statclock() and profclock().
*/
- if (!statclock_disable && !using_lapic_timer) {
- diag = rtcin(RTC_DIAG);
- if (diag != 0)
- printf("RTC BIOS diagnostic error %b\n",
- diag, RTCDG_BITS);
-
- /* Setting stathz to nonzero early helps avoid races. */
- stathz = RTC_NOPROFRATE;
- profhz = RTC_PROFRATE;
-
- /* Enable periodic interrupts from the RTC. */
- intr_add_handler("rtc", 8,
- (driver_filter_t *)rtcintr, NULL, NULL,
- INTR_TYPE_CLK, NULL);
- atrtc_enable_intr();
+ if (!using_lapic_timer) {
+ using_atrtc_timer = atrtc_setup_clock();
+ if (using_atrtc_timer) {
+ /* Enable periodic interrupts from the RTC. */
+ intr_add_handler("rtc", 8,
+ (driver_filter_t *)rtcintr, NULL, NULL,
+ INTR_TYPE_CLK, NULL);
+ atrtc_enable_intr();
+ } else {
+ profhz = stathz = hz;
+ }
}
init_TSC_tc();
==== //depot/projects/vimage-commit2/src/sys/amd64/linux32/linux32_sysvec.c#9 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.47 2009/05/01 15:36:02 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.48 2009/05/02 10:06:49 dchagin Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -76,6 +76,7 @@
#include
#include
+#include
#include
#include
#include
@@ -127,9 +128,6 @@
u_long stack, u_long ps_strings);
static void linux32_fixlimit(struct rlimit *rl, int which);
-extern LIST_HEAD(futex_list, futex) futex_list;
-extern struct mtx futex_mtx;
-
static eventhandler_tag linux_exit_tag;
static eventhandler_tag linux_schedtail_tag;
static eventhandler_tag linux_exec_tag;
==== //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#7 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.20 2009/05/01 15:36:02 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.21 2009/05/02 10:06:49 dchagin Exp $");
#if 0
__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $");
#endif
@@ -81,7 +81,7 @@
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
-LIST_HEAD(futex_list, futex) futex_list;
+struct futex_list futex_list;
#define FUTEX_LOCK(f) sx_xlock(&(f)->f_lck)
#define FUTEX_UNLOCK(f) sx_xunlock(&(f)->f_lck)
==== //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.h#4 (text+ko) ====
@@ -30,12 +30,15 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.6 2009/03/15 19:38:34 dchagin Exp $
+ * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.7 2009/05/02 10:06:49 dchagin Exp $
*/
#ifndef _LINUX_FUTEX_H
#define _LINUX_FUTEX_H
+extern LIST_HEAD(futex_list, futex) futex_list;
+extern struct mtx futex_mtx;
+
#define LINUX_FUTEX_WAIT 0
#define LINUX_FUTEX_WAKE 1
#define LINUX_FUTEX_FD 2 /* unused */
==== //depot/projects/vimage-commit2/src/sys/compat/linux/linux_mib.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.30 2008/06/03 17:50:13 rdivacky Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.31 2009/05/04 19:06:05 jamie Exp $");
#include
#include
@@ -78,7 +78,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, osname,
- CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_osname, "A",
"Linux kernel OS name");
@@ -100,7 +100,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, osrelease,
- CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_osrelease, "A",
"Linux kernel OS release");
@@ -121,7 +121,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, oss_version,
- CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_oss_version, "I",
"Linux OSS version");
==== //depot/projects/vimage-commit2/src/sys/compat/linux/linux_socket.c#15 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.81 2009/04/26 22:06:42 zec Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.82 2009/05/02 10:51:40 dchagin Exp $");
/* XXX we use functions that might not exist. */
#include "opt_compat.h"
@@ -859,7 +859,10 @@
return (EINVAL);
bsd_args.type = args->type;
- bsd_args.protocol = args->protocol;
+ if (bsd_args.domain == AF_LOCAL && args->protocol == PF_UNIX)
+ bsd_args.protocol = 0;
+ else
+ bsd_args.protocol = args->protocol;
bsd_args.rsv = (int *)PTRIN(args->rsv);
return (socketpair(td, &bsd_args));
}
==== //depot/projects/vimage-commit2/src/sys/conf/files#34 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1396 2009/05/01 17:16:33 sam Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1398 2009/05/05 10:56:12 zec Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -712,6 +712,11 @@
dev/buslogic/bt_isa.c optional bt isa
dev/buslogic/bt_mca.c optional bt mca
dev/buslogic/bt_pci.c optional bt pci
+dev/bwi/bwiirf.c optional bwi
+dev/bwi/bwimac.c optional bwi
+dev/bwi/bwiphy.c optional bwi
+dev/bwi/if_bwi.c optional bwi
+dev/bwi/if_bwi_pci.c optional bwi pci
dev/cardbus/cardbus.c optional cardbus
dev/cardbus/cardbus_cis.c optional cardbus
dev/cardbus/cardbus_device.c optional cardbus
==== //depot/projects/vimage-commit2/src/sys/conf/kern.post.mk#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.104 2009/01/07 09:56:54 bz Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.105 2009/05/04 20:25:56 jhb Exp $
# Part of a unified Makefile for building kernels. This part includes all
# the definitions that need to be after all the % directives except %RULES
@@ -12,7 +12,8 @@
.if defined(DESTDIR)
MKMODULESENV+= DESTDIR="${DESTDIR}"
.endif
-MKMODULESENV+= KERNBUILDDIR="${.CURDIR}"
+SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
+MKMODULESENV+= KERNBUILDDIR="${.CURDIR}" SYSDIR="${SYSDIR}"
.MAIN: all
@@ -29,7 +30,6 @@
# Handle out of tree ports
.if !defined(NO_MODULES) && defined(PORTS_MODULES)
-SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
PORTSMODULESENV=SYSDIR=${SYSDIR}
.for __target in all install reinstall clean
${__target}: ports-${__target}
==== //depot/projects/vimage-commit2/src/sys/conf/options#26 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.667 2009/05/01 17:18:45 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.668 2009/05/03 04:01:43 imp Exp $
#
# On the handling of kernel options
#
@@ -763,6 +763,10 @@
AH_USE_INIPDGAIN opt_ah.h
AH_MAXCHAN opt_ah.h
+# options for the Broadcom BCM43xx driver (bwi)
+BWI_DEBUG opt_bwi.h
+BWI_DEBUG_VERBOSE opt_bwi.h
+
# options for the Marvell 8335 wireless driver
MALO_DEBUG opt_malo.h
MALO_TXBUF opt_malo.h
==== //depot/projects/vimage-commit2/src/sys/dev/acpica/acpi_cpu.c#4 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.74 2009/03/26 21:10:35 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.77 2009/05/03 06:25:37 mav Exp $");
#include "opt_acpi.h"
#include
@@ -79,7 +79,6 @@
int cpu_features; /* Child driver supported features. */
/* Runtime state. */
int cpu_non_c3; /* Index of lowest non-C3 state. */
- int cpu_short_slp; /* Count of < 1us sleeps. */
u_int cpu_cx_stats[MAX_CX_STATES];/* Cx usage history. */
/* Values for sysctl. */
struct sysctl_ctx_list cpu_sysctl_ctx;
@@ -882,43 +881,13 @@
return;
}
- /*
- * If we slept 100 us or more, use the lowest Cx state. Otherwise,
- * find the lowest state that has a latency less than or equal to
- * the length of our last sleep.
- */
- cx_next_idx = sc->cpu_cx_lowest;
- if (sc->cpu_prev_sleep < 100) {
- /*
- * If we sleep too short all the time, this system may not implement
- * C2/3 correctly (i.e. reads return immediately). In this case,
- * back off and use the next higher level.
- * It seems that when you have a dual core cpu (like the Intel Core Duo)
- * that both cores will get out of C3 state as soon as one of them
- * requires it. This breaks the sleep detection logic as the sleep
- * counter is local to each cpu. Disable the sleep logic for now as a
- * workaround if there's more than one CPU. The right fix would probably
- * be to add quirks for system that don't really support C3 state.
- */
- if (mp_ncpus < 2 && sc->cpu_prev_sleep <= 1) {
- sc->cpu_short_slp++;
- if (sc->cpu_short_slp == 1000 && sc->cpu_cx_lowest != 0) {
- if (sc->cpu_non_c3 == sc->cpu_cx_lowest && sc->cpu_non_c3 != 0)
- sc->cpu_non_c3--;
- sc->cpu_cx_lowest--;
- sc->cpu_short_slp = 0;
- device_printf(sc->cpu_dev,
- "too many short sleeps, backing off to C%d\n",
- sc->cpu_cx_lowest + 1);
- }
- } else
- sc->cpu_short_slp = 0;
-
- for (i = sc->cpu_cx_lowest; i >= 0; i--)
- if (sc->cpu_cx_states[i].trans_lat <= sc->cpu_prev_sleep) {
- cx_next_idx = i;
- break;
- }
+ /* Find the lowest state that has small enough latency. */
+ cx_next_idx = 0;
+ for (i = sc->cpu_cx_lowest; i >= 0; i--) {
+ if (sc->cpu_cx_states[i].trans_lat * 3 <= sc->cpu_prev_sleep) {
+ cx_next_idx = i;
+ break;
+ }
}
/*
@@ -943,10 +912,10 @@
/*
* Execute HLT (or equivalent) and wait for an interrupt. We can't
* calculate the time spent in C1 since the place we wake up is an
- * ISR. Assume we slept one quantum and return.
+ * ISR. Assume we slept half of quantum and return.
*/
if (cx_next->type == ACPI_STATE_C1) {
- sc->cpu_prev_sleep = 1000000 / hz;
+ sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + 500000 / hz) / 4;
acpi_cpu_c1();
return;
}
@@ -989,9 +958,9 @@
}
ACPI_ENABLE_IRQS();
- /* Find the actual time asleep in microseconds, minus overhead. */
+ /* Find the actual time asleep in microseconds. */
end_time = acpi_TimerDelta(end_time, start_time);
- sc->cpu_prev_sleep = PM_USEC(end_time) - cx_next->trans_lat;
+ sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + PM_USEC(end_time)) / 4;
}
/*
@@ -1136,8 +1105,9 @@
sbuf_printf(&sb, "%u.%02u%% ", (u_int)(whole / sum),
(u_int)(fract / sum));
} else
- sbuf_printf(&sb, "0%% ");
+ sbuf_printf(&sb, "0.00%% ");
}
+ sbuf_printf(&sb, "last %dus", sc->cpu_prev_sleep);
sbuf_trim(&sb);
sbuf_finish(&sb);
sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
==== //depot/projects/vimage-commit2/src/sys/dev/ath/if_ath.c#13 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.248 2009/04/13 20:58:47 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.249 2009/05/02 20:16:55 sam Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -3995,12 +3995,7 @@
if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) {
#ifdef IEEE80211_SUPPORT_SUPERG
- if (ic->ic_stageqdepth) {
- ieee80211_age_stageq(ic, WME_AC_VO, 100);
- ieee80211_age_stageq(ic, WME_AC_VI, 100);
- ieee80211_age_stageq(ic, WME_AC_BE, 100);
- ieee80211_age_stageq(ic, WME_AC_BK, 100);
- }
+ ieee80211_ff_age_all(ic, 100);
#endif
if (!IFQ_IS_EMPTY(&ifp->if_snd))
ath_start(ifp);
@@ -4980,7 +4975,7 @@
* Flush fast-frame staging queue when traffic slows.
*/
if (txq->axq_depth <= 1)
- ieee80211_flush_stageq(ic, txq->axq_ac);
+ ieee80211_ff_flush(ic, txq->axq_ac);
#endif
return nacked;
}
==== //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#21 (text+ko) ====
@@ -28,7 +28,7 @@
***************************************************************************/
#include
-__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.30 2009/04/11 22:07:19 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.31 2009/05/05 10:56:12 zec Exp $");
#include
#include
==== //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#12 (text+ko) ====
@@ -34,7 +34,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.157 2009/04/16 23:42:00 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.158 2009/05/02 15:14:18 thompsa Exp $");
#include
#include
@@ -50,7 +50,6 @@
#include
#include
#include
-#include
#include
@@ -173,7 +172,7 @@
int);
static int ndis_nettype_chan (uint32_t);
static int ndis_nettype_mode (uint32_t);
-static void ndis_scan (void *, int);
+static void ndis_scan (void *);
static void ndis_scan_results (struct ndis_softc *);
static void ndis_scan_start (struct ieee80211com *);
static void ndis_scan_end (struct ieee80211com *);
@@ -184,8 +183,6 @@
static void ndis_stop (struct ndis_softc *);
static int ndis_ifmedia_upd (struct ifnet *);
static void ndis_ifmedia_sts (struct ifnet *, struct ifmediareq *);
-static void ndis_auth (void *, int);
-static void ndis_assoc (void *, int);
static int ndis_get_assoc (struct ndis_softc *, ndis_wlan_bssid_ex **);
static int ndis_probe_offload (struct ndis_softc *);
static int ndis_set_offload (struct ndis_softc *);
@@ -741,13 +738,7 @@
uint32_t arg;
int r;
- sc->ndis_tq = taskqueue_create("nids_taskq", M_NOWAIT | M_ZERO,
- taskqueue_thread_enqueue, &sc->ndis_tq);
- taskqueue_start_threads(&sc->ndis_tq, 1, PI_NET, "%s taskq",
- device_get_nameunit(dev));
- TASK_INIT(&sc->ndis_scantask, 0, ndis_scan, sc);
- TASK_INIT(&sc->ndis_authtask, 0, ndis_auth, sc);
- TASK_INIT(&sc->ndis_assoctask, 0, ndis_assoc, sc);
+ callout_init(&sc->ndis_scan_callout, CALLOUT_MPSAFE);
ifp->if_ioctl = ndis_ioctl_80211;
ic->ic_ifp = ifp;
@@ -1054,12 +1045,6 @@
} else
NDIS_UNLOCK(sc);
- if (sc->ndis_80211) {
- taskqueue_drain(sc->ndis_tq, &sc->ndis_scantask);
- taskqueue_drain(sc->ndis_tq, &sc->ndis_authtask);
- taskqueue_drain(sc->ndis_tq, &sc->ndis_assoctask);
- }
-
if (sc->ndis_tickitem != NULL)
IoFreeWorkItem(sc->ndis_tickitem);
if (sc->ndis_startitem != NULL)
@@ -1121,8 +1106,6 @@
if (sc->ndis_iftype == PCIBus)
bus_dma_tag_destroy(sc->ndis_parent_tag);
- if (sc->ndis_80211)
- taskqueue_free(sc->ndis_tq);
return(0);
}
@@ -2419,30 +2402,6 @@
}
static void
-ndis_auth(void *arg, int npending)
-{
- struct ndis_softc *sc = arg;
- struct ifnet *ifp = sc->ifp;
- struct ieee80211com *ic = ifp->if_l2com;
- struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-
- vap->iv_state = IEEE80211_S_AUTH;
- ndis_auth_and_assoc(sc, vap);
-}
-
-static void
-ndis_assoc(void *arg, int npending)
-{
- struct ndis_softc *sc = arg;
- struct ifnet *ifp = sc->ifp;
- struct ieee80211com *ic = ifp->if_l2com;
- struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-
- vap->iv_state = IEEE80211_S_ASSOC;
- ndis_auth_and_assoc(sc, vap);
-}
-
-static void
ndis_auth_and_assoc(sc, vap)
struct ndis_softc *sc;
struct ieee80211vap *vap;
@@ -2656,9 +2615,6 @@
if (rval)
device_printf (sc->ndis_dev, "set ssid failed: %d\n", rval);
- if (vap->iv_state == IEEE80211_S_AUTH)
- ieee80211_new_state(vap, IEEE80211_S_ASSOC, 0);
-
return;
}
@@ -3304,13 +3260,18 @@
return nvp->newstate(vap, nstate, arg);
case IEEE80211_S_ASSOC:
if (ostate != IEEE80211_S_AUTH) {
- taskqueue_enqueue(sc->ndis_tq, &sc->ndis_assoctask);
- return EINPROGRESS;
+ IEEE80211_UNLOCK(ic);
+ ndis_auth_and_assoc(sc, vap);
+ IEEE80211_LOCK(ic);
}
break;
case IEEE80211_S_AUTH:
- taskqueue_enqueue(sc->ndis_tq, &sc->ndis_authtask);
- return EINPROGRESS;
+ IEEE80211_UNLOCK(ic);
+ ndis_auth_and_assoc(sc, vap);
+ if (vap->iv_state == IEEE80211_S_AUTH) /* XXX */
+ ieee80211_new_state(vap, IEEE80211_S_ASSOC, 0);
+ IEEE80211_LOCK(ic);
+ break;
default:
break;
}
@@ -3318,54 +3279,18 @@
}
static void
-ndis_scan(void *arg, int npending)
+ndis_scan(void *arg)
{
struct ndis_softc *sc = arg;
struct ieee80211com *ic;
struct ieee80211vap *vap;
- struct ieee80211_scan_state *ss;
- ndis_80211_ssid ssid;
- int error, len;
ic = sc->ifp->if_l2com;
- ss = ic->ic_scan;
vap = TAILQ_FIRST(&ic->ic_vaps);
- if (!NDIS_INITIALIZED(sc)) {
- DPRINTF(("%s: scan aborted\n", __func__));
- ieee80211_cancel_scan(vap);
- return;
- }
-
- len = sizeof(ssid);
- bzero((char *)&ssid, len);
- if (ss->ss_nssid == 0)
- ssid.ns_ssidlen = 1;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From rene at FreeBSD.org Tue May 5 11:12:21 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 11:12:27 2009
Subject: PERFORCE change 161611 for review
Message-ID: <200905051112.n45BCKmi034861@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161611
Change 161611 by rene@rene_self on 2009/05/05 11:12:05
[solid-state] : reword the Apache section a bit.
Obtained from: keramida
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#15 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#15 (text+ko) ====
@@ -440,10 +440,11 @@
directory apache_log_dir
outside of /var.
- Since these directories doubtlessly exist on a read-only filesystem, this
- will not work. It is necessary to add a new directory to the
- /etc/rc.d/var list of directories to create
- in /var, and to link
+ Since this directory lives on a read-only filesystem, Apache
+ will probably not work since it will not be able to save any log
+ entries. If so, it is necessary to add a new directory to the
+ list of directories in /etc/rc.d/var to
+ create in /var, and to link
apache_log_dir to
/var/log/apache. It is also necessary to set
permissions and ownership on this new directory.
From zec at FreeBSD.org Tue May 5 11:18:30 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Tue May 5 11:18:37 2009
Subject: PERFORCE change 161613 for review
Message-ID: <200905051118.n45BIQig035305@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161613
Change 161613 by zec@zec_tpx32 on 2009/05/05 11:18:22
IFC @ 161608
Affected files ...
.. //depot/projects/vimage/src/share/man/man4/u3g.4#4 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/identcpu.c#16 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#18 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#22 integrate
.. //depot/projects/vimage/src/sys/amd64/include/apicvar.h#8 integrate
.. //depot/projects/vimage/src/sys/amd64/include/clock.h#6 integrate
.. //depot/projects/vimage/src/sys/amd64/isa/clock.c#11 integrate
.. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#16 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_futex.c#11 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_futex.h#7 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_mib.c#5 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#18 integrate
.. //depot/projects/vimage/src/sys/conf/files#66 integrate
.. //depot/projects/vimage/src/sys/conf/kern.post.mk#8 integrate
.. //depot/projects/vimage/src/sys/conf/options#48 integrate
.. //depot/projects/vimage/src/sys/dev/acpica/acpi_cpu.c#11 integrate
.. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#35 integrate
.. //depot/projects/vimage/src/sys/dev/bwi/bitops.h#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/bwimac.c#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/bwimac.h#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/bwiphy.c#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/bwiphy.h#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/bwirf.c#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/bwirf.h#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/if_bwi.c#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/if_bwi_pci.c#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/if_bwireg.h#1 branch
.. //depot/projects/vimage/src/sys/dev/bwi/if_bwivar.h#1 branch
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#22 integrate
.. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis.c#25 integrate
.. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndisvar.h#11 integrate
.. //depot/projects/vimage/src/sys/dev/ipw/if_ipw.c#14 integrate
.. //depot/projects/vimage/src/sys/dev/ipw/if_ipwvar.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/iwi/if_iwi.c#15 integrate
.. //depot/projects/vimage/src/sys/dev/iwi/if_iwivar.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/iwn/if_iwn.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/iwn/if_iwnvar.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rum.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rumvar.h#6 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_uath.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_uathvar.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_ural.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_uralvar.h#6 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zyd.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zydreg.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/usb/wlan/usb_wlan.h#4 delete
.. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#15 integrate
.. //depot/projects/vimage/src/sys/dev/wi/if_wivar.h#6 integrate
.. //depot/projects/vimage/src/sys/dev/wpi/if_wpi.c#11 integrate
.. //depot/projects/vimage/src/sys/dev/wpi/if_wpivar.h#4 integrate
.. //depot/projects/vimage/src/sys/fs/nfs/nfs.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonacl.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonkrpc.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonport.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonsubs.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfs_var.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfscl.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsclstate.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsdport.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfskpiport.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsm_subs.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsport.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsproto.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsrvcache.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsrvstate.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/nfsv4_errstr.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/rpcv2.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfs/xdr_subs.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clbio.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clcomsubs.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clkrpc.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_cllock.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clnfsiod.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clnode.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clport.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clrpcops.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clstate.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clsubs.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clvfsops.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clvnops.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_lock.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfsargs.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfsdiskless.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfsmount.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nfsnode.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsclient/nlminfo.h#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdcache.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdport.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdserv.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdsocket.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdstate.c#1 branch
.. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdsubs.c#1 branch
.. //depot/projects/vimage/src/sys/geom/vinum/geom_vinum_var.h#4 integrate
.. //depot/projects/vimage/src/sys/i386/bios/apm.c#7 integrate
.. //depot/projects/vimage/src/sys/i386/i386/identcpu.c#18 integrate
.. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#18 integrate
.. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#21 integrate
.. //depot/projects/vimage/src/sys/i386/include/apicvar.h#9 integrate
.. //depot/projects/vimage/src/sys/i386/include/clock.h#6 integrate
.. //depot/projects/vimage/src/sys/i386/isa/clock.c#10 integrate
.. //depot/projects/vimage/src/sys/i386/linux/linux_sysvec.c#12 integrate
.. //depot/projects/vimage/src/sys/i386/xen/clock.c#6 integrate
.. //depot/projects/vimage/src/sys/i386/xen/mp_machdep.c#10 integrate
.. //depot/projects/vimage/src/sys/isa/atrtc.c#3 integrate
.. //depot/projects/vimage/src/sys/isa/rtc.h#3 integrate
.. //depot/projects/vimage/src/sys/kern/init_main.c#25 integrate
.. //depot/projects/vimage/src/sys/kern/kern_fork.c#24 integrate
.. //depot/projects/vimage/src/sys/kern/kern_linker.c#25 integrate
.. //depot/projects/vimage/src/sys/kern/kern_osd.c#5 integrate
.. //depot/projects/vimage/src/sys/kern/kern_vimage.c#86 integrate
.. //depot/projects/vimage/src/sys/kern/subr_pcpu.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/sys_socket.c#15 integrate
.. //depot/projects/vimage/src/sys/kern/tty.c#34 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_socket.c#32 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_syscalls.c#24 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#25 integrate
.. //depot/projects/vimage/src/sys/modules/bwi/Makefile#1 branch
.. //depot/projects/vimage/src/sys/net/bpf.c#34 integrate
.. //depot/projects/vimage/src/sys/net/if.c#81 integrate
.. //depot/projects/vimage/src/sys/net/if_clone.c#14 integrate
.. //depot/projects/vimage/src/sys/net/if_ethersubr.c#40 integrate
.. //depot/projects/vimage/src/sys/net/if_var.h#35 integrate
.. //depot/projects/vimage/src/sys/net/netisr.c#15 integrate
.. //depot/projects/vimage/src/sys/net/rtsock.c#34 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211.c#32 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211.h#14 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_adhoc.c#10 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ddb.c#23 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.c#20 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#18 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.h#11 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.c#24 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_node.c#22 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_node.h#14 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.c#16 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_scan.c#10 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_scan.h#6 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_scan_sta.c#15 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_superg.c#4 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_superg.h#2 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_var.h#27 integrate
.. //depot/projects/vimage/src/sys/netgraph/netgraph.h#21 integrate
.. //depot/projects/vimage/src/sys/netinet/if_ether.c#43 integrate
.. //depot/projects/vimage/src/sys/netinet/igmp.c#38 integrate
.. //depot/projects/vimage/src/sys/netinet/in_rmx.c#33 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_input.c#56 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#36 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6_rmx.c#35 integrate
.. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#24 integrate
.. //depot/projects/vimage/src/sys/netinet6/mld6.c#24 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6.c#50 integrate
.. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#35 integrate
.. //depot/projects/vimage/src/sys/netipsec/xform_tcp.c#6 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_kdtrace.c#2 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_krpc.c#4 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#33 integrate
.. //depot/projects/vimage/src/sys/pc98/cbus/clock.c#8 integrate
.. //depot/projects/vimage/src/sys/sys/jail.h#12 integrate
.. //depot/projects/vimage/src/sys/sys/proc.h#30 integrate
.. //depot/projects/vimage/src/sys/sys/ucred.h#8 integrate
.. //depot/projects/vimage/src/sys/sys/vimage.h#90 integrate
.. //depot/projects/vimage/src/sys/vm/vnode_pager.c#14 integrate
Differences ...
==== //depot/projects/vimage/src/share/man/man4/u3g.4#4 (text+ko) ====
@@ -16,7 +16,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.\" $FreeBSD: src/share/man/man4/u3g.4,v 1.10 2009/04/23 08:37:56 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/u3g.4,v 1.11 2009/05/02 11:59:56 hrs Exp $
.\"
.Dd October 7, 2008
.Dt U3G 4
@@ -66,13 +66,13 @@
.It
Huawei B190, E220 ('')
.It
-Novatal U740, MC950D, X950D, etc.
+Novatel U740, MC950D, X950D, etc.
.It
Sierra MC875U, MC8775U, etc.
.El
.Pp
(See
-.Pa /sys/dev/u3g.c
+.Pa /sys/dev/usb/serial/u3g.c
for the complete list of supported cards for each vendor
mentioned above.)
.Pp
==== //depot/projects/vimage/src/sys/amd64/amd64/identcpu.c#16 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.172 2009/04/29 06:54:40 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $");
#include "opt_cpu.h"
@@ -472,6 +472,22 @@
cpu_feature = regs[3];
cpu_feature2 = regs[2];
+ /*
+ * Clear "Limit CPUID Maxval" bit and get the largest standard CPUID
+ * function number again if it is set from BIOS. It is necessary
+ * for probing correct CPU topology later.
+ * XXX This is only done on the BSP package.
+ */
+ if (cpu_vendor_id == CPU_VENDOR_INTEL && cpu_high > 0 && cpu_high < 4) {
+ uint64_t msr;
+ msr = rdmsr(MSR_IA32_MISC_ENABLE);
+ if ((msr & 0x400000ULL) != 0) {
+ wrmsr(MSR_IA32_MISC_ENABLE, msr & ~0x400000ULL);
+ do_cpuid(0, regs);
+ cpu_high = regs[0];
+ }
+ }
+
if (cpu_vendor_id == CPU_VENDOR_INTEL ||
cpu_vendor_id == CPU_VENDOR_AMD ||
cpu_vendor_id == CPU_VENDOR_CENTAUR) {
==== //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#18 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.54 2009/05/01 20:53:37 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.55 2009/05/05 01:13:20 mav Exp $");
#include "opt_hwpmc_hooks.h"
#include "opt_kdtrace.h"
@@ -319,7 +319,7 @@
}
/* We don't setup the timer during boot on the BSP until later. */
- if (!(boot && PCPU_GET(cpuid) == 0)) {
+ if (!(boot && PCPU_GET(cpuid) == 0) && lapic_timer_hz != 0) {
KASSERT(lapic_timer_period != 0, ("lapic%u: zero divisor",
lapic_id()));
lapic_timer_set_divisor(lapic_timer_divisor);
==== //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#22 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.305 2009/04/30 22:10:04 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.306 2009/05/02 12:20:43 mav Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -57,6 +57,7 @@
#include
#include
+#include
#include
#include
#include
@@ -1124,6 +1125,15 @@
sched_preempt(curthread);
/* Nothing to do for AST */
+
+ if (ipi_bitmap & (1 << IPI_HARDCLOCK))
+ hardclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_STATCLOCK))
+ statclockintr(&frame);
+
+ if (ipi_bitmap & (1 << IPI_PROFCLOCK))
+ profclockintr(&frame);
}
/*
==== //depot/projects/vimage/src/sys/amd64/include/apicvar.h#8 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.28 2009/03/17 00:48:11 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.29 2009/05/02 12:20:43 mav Exp $
*/
#ifndef _MACHINE_APICVAR_H_
@@ -126,7 +126,10 @@
/* IPIs handled by IPI_BITMAPED_VECTOR (XXX ups is there a better place?) */
#define IPI_AST 0 /* Generate software trap. */
#define IPI_PREEMPT 1
-#define IPI_BITMAP_LAST IPI_PREEMPT
+#define IPI_HARDCLOCK 2
+#define IPI_STATCLOCK 3
+#define IPI_PROFCLOCK 4
+#define IPI_BITMAP_LAST IPI_PROFCLOCK
#define IPI_IS_BITMAPED(x) ((x) <= IPI_BITMAP_LAST)
#define IPI_STOP (APIC_IPI_INTS + 7) /* Stop CPU until restarted. */
==== //depot/projects/vimage/src/sys/amd64/include/clock.h#6 (text+ko) ====
@@ -3,7 +3,7 @@
* Garrett Wollman, September 1994.
* This file is in the public domain.
*
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.61 2008/10/21 00:38:00 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.63 2009/05/03 17:47:21 mav Exp $
*/
#ifndef _MACHINE_CLOCK_H_
@@ -15,7 +15,6 @@
* XXX large parts of the driver and its interface are misplaced.
*/
extern int clkintr_pending;
-extern int statclock_disable;
extern u_int i8254_freq;
extern int i8254_max_count;
extern uint64_t tsc_freq;
@@ -24,6 +23,12 @@
void i8254_init(void);
+struct trapframe;
+
+int hardclockintr(struct trapframe *frame);
+int statclockintr(struct trapframe *frame);
+int profclockintr(struct trapframe *frame);
+
/*
* Driver to clock driver interface.
*/
==== //depot/projects/vimage/src/sys/amd64/isa/clock.c#11 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.244 2009/05/01 21:43:04 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.246 2009/05/03 17:47:21 mav Exp $");
/*
* Routines to handle clock hardware.
@@ -53,6 +53,7 @@
#include
#include
#include
+#include
#include
#include
@@ -62,6 +63,7 @@
#include
#include
#include
+#include
#include
#ifdef DEV_ISA
@@ -74,7 +76,6 @@
int clkintr_pending;
static int pscnt = 1;
static int psdiv = 1;
-int statclock_disable;
#ifndef TIMER_FREQ
#define TIMER_FREQ 1193182
#endif
@@ -89,6 +90,7 @@
static u_int32_t i8254_offset;
static int (*i8254_pending)(struct intsrc *);
static int i8254_ticked;
+static int using_atrtc_timer;
static int using_lapic_timer;
/* Values for timerX_state: */
@@ -112,6 +114,37 @@
0 /* quality */
};
+int
+hardclockintr(struct trapframe *frame)
+{
+
+ if (PCPU_GET(cpuid) == 0)
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ else
+ hardclock_cpu(TRAPF_USERMODE(frame));
+ if (!using_atrtc_timer)
+ statclockintr(frame);
+ return (FILTER_HANDLED);
+}
+
+int
+statclockintr(struct trapframe *frame)
+{
+
+ if (profprocs != 0)
+ profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ statclock(TRAPF_USERMODE(frame));
+ return (FILTER_HANDLED);
+}
+
+int
+profclockintr(struct trapframe *frame)
+{
+
+ profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ return (FILTER_HANDLED);
+}
+
static int
clkintr(struct trapframe *frame)
{
@@ -128,7 +161,11 @@
mtx_unlock_spin(&clock_lock);
}
KASSERT(!using_lapic_timer, ("clk interrupt enabled with lapic timer"));
- hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+#ifdef SMP
+ if (smp_started)
+ ipi_all_but_self(IPI_HARDCLOCK);
+#endif
+ hardclockintr(frame);
return (FILTER_HANDLED);
}
@@ -209,10 +246,19 @@
if (profprocs != 0) {
if (--pscnt == 0)
pscnt = psdiv;
+#ifdef SMP
+ if (pscnt != psdiv && smp_started)
+ ipi_all_but_self(IPI_PROFCLOCK);
+#endif
profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
- if (pscnt == psdiv)
+ if (pscnt == psdiv) {
+#ifdef SMP
+ if (smp_started)
+ ipi_all_but_self(IPI_STATCLOCK);
+#endif
statclock(TRAPF_USERMODE(frame));
+ }
}
return(flag ? FILTER_HANDLED : FILTER_STRAY);
}
@@ -414,7 +460,6 @@
void
cpu_initclocks()
{
- int diag;
using_lapic_timer = lapic_setup_clock();
/*
@@ -446,21 +491,17 @@
* kernel clocks, then setup the RTC to periodically interrupt to
* drive statclock() and profclock().
*/
- if (!statclock_disable && !using_lapic_timer) {
- diag = rtcin(RTC_DIAG);
- if (diag != 0)
- printf("RTC BIOS diagnostic error %b\n",
- diag, RTCDG_BITS);
-
- /* Setting stathz to nonzero early helps avoid races. */
- stathz = RTC_NOPROFRATE;
- profhz = RTC_PROFRATE;
-
- /* Enable periodic interrupts from the RTC. */
- intr_add_handler("rtc", 8,
- (driver_filter_t *)rtcintr, NULL, NULL,
- INTR_TYPE_CLK, NULL);
- atrtc_enable_intr();
+ if (!using_lapic_timer) {
+ using_atrtc_timer = atrtc_setup_clock();
+ if (using_atrtc_timer) {
+ /* Enable periodic interrupts from the RTC. */
+ intr_add_handler("rtc", 8,
+ (driver_filter_t *)rtcintr, NULL, NULL,
+ INTR_TYPE_CLK, NULL);
+ atrtc_enable_intr();
+ } else {
+ profhz = stathz = hz;
+ }
}
init_TSC_tc();
==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#16 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.47 2009/05/01 15:36:02 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.48 2009/05/02 10:06:49 dchagin Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -76,6 +76,7 @@
#include
#include
+#include
#include
#include
#include
@@ -127,9 +128,6 @@
u_long stack, u_long ps_strings);
static void linux32_fixlimit(struct rlimit *rl, int which);
-extern LIST_HEAD(futex_list, futex) futex_list;
-extern struct mtx futex_mtx;
-
static eventhandler_tag linux_exit_tag;
static eventhandler_tag linux_schedtail_tag;
static eventhandler_tag linux_exec_tag;
==== //depot/projects/vimage/src/sys/compat/linux/linux_futex.c#11 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.20 2009/05/01 15:36:02 dchagin Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.21 2009/05/02 10:06:49 dchagin Exp $");
#if 0
__KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $");
#endif
@@ -81,7 +81,7 @@
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
-LIST_HEAD(futex_list, futex) futex_list;
+struct futex_list futex_list;
#define FUTEX_LOCK(f) sx_xlock(&(f)->f_lck)
#define FUTEX_UNLOCK(f) sx_xunlock(&(f)->f_lck)
==== //depot/projects/vimage/src/sys/compat/linux/linux_futex.h#7 (text+ko) ====
@@ -30,12 +30,15 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.6 2009/03/15 19:38:34 dchagin Exp $
+ * $FreeBSD: src/sys/compat/linux/linux_futex.h,v 1.7 2009/05/02 10:06:49 dchagin Exp $
*/
#ifndef _LINUX_FUTEX_H
#define _LINUX_FUTEX_H
+extern LIST_HEAD(futex_list, futex) futex_list;
+extern struct mtx futex_mtx;
+
#define LINUX_FUTEX_WAIT 0
#define LINUX_FUTEX_WAKE 1
#define LINUX_FUTEX_FD 2 /* unused */
==== //depot/projects/vimage/src/sys/compat/linux/linux_mib.c#5 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.30 2008/06/03 17:50:13 rdivacky Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.31 2009/05/04 19:06:05 jamie Exp $");
#include
#include
@@ -78,7 +78,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, osname,
- CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_osname, "A",
"Linux kernel OS name");
@@ -100,7 +100,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, osrelease,
- CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_osrelease, "A",
"Linux kernel OS release");
@@ -121,7 +121,7 @@
}
SYSCTL_PROC(_compat_linux, OID_AUTO, oss_version,
- CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON,
+ CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE,
0, 0, linux_sysctl_oss_version, "I",
"Linux OSS version");
==== //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#18 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.81 2009/04/26 22:06:42 zec Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.82 2009/05/02 10:51:40 dchagin Exp $");
/* XXX we use functions that might not exist. */
#include "opt_compat.h"
@@ -859,7 +859,10 @@
return (EINVAL);
bsd_args.type = args->type;
- bsd_args.protocol = args->protocol;
+ if (bsd_args.domain == AF_LOCAL && args->protocol == PF_UNIX)
+ bsd_args.protocol = 0;
+ else
+ bsd_args.protocol = args->protocol;
bsd_args.rsv = (int *)PTRIN(args->rsv);
return (socketpair(td, &bsd_args));
}
==== //depot/projects/vimage/src/sys/conf/files#66 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1396 2009/05/01 17:16:33 sam Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1398 2009/05/05 10:56:12 zec Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -712,6 +712,11 @@
dev/buslogic/bt_isa.c optional bt isa
dev/buslogic/bt_mca.c optional bt mca
dev/buslogic/bt_pci.c optional bt pci
+dev/bwi/bwiirf.c optional bwi
+dev/bwi/bwimac.c optional bwi
+dev/bwi/bwiphy.c optional bwi
+dev/bwi/if_bwi.c optional bwi
+dev/bwi/if_bwi_pci.c optional bwi pci
dev/cardbus/cardbus.c optional cardbus
dev/cardbus/cardbus_cis.c optional cardbus
dev/cardbus/cardbus_device.c optional cardbus
==== //depot/projects/vimage/src/sys/conf/kern.post.mk#8 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.104 2009/01/07 09:56:54 bz Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.105 2009/05/04 20:25:56 jhb Exp $
# Part of a unified Makefile for building kernels. This part includes all
# the definitions that need to be after all the % directives except %RULES
@@ -12,7 +12,8 @@
.if defined(DESTDIR)
MKMODULESENV+= DESTDIR="${DESTDIR}"
.endif
-MKMODULESENV+= KERNBUILDDIR="${.CURDIR}"
+SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
+MKMODULESENV+= KERNBUILDDIR="${.CURDIR}" SYSDIR="${SYSDIR}"
.MAIN: all
@@ -29,7 +30,6 @@
# Handle out of tree ports
.if !defined(NO_MODULES) && defined(PORTS_MODULES)
-SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
PORTSMODULESENV=SYSDIR=${SYSDIR}
.for __target in all install reinstall clean
${__target}: ports-${__target}
==== //depot/projects/vimage/src/sys/conf/options#48 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.667 2009/05/01 17:18:45 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.668 2009/05/03 04:01:43 imp Exp $
#
# On the handling of kernel options
#
@@ -764,6 +764,10 @@
AH_USE_INIPDGAIN opt_ah.h
AH_MAXCHAN opt_ah.h
+# options for the Broadcom BCM43xx driver (bwi)
+BWI_DEBUG opt_bwi.h
+BWI_DEBUG_VERBOSE opt_bwi.h
+
# options for the Marvell 8335 wireless driver
MALO_DEBUG opt_malo.h
MALO_TXBUF opt_malo.h
==== //depot/projects/vimage/src/sys/dev/acpica/acpi_cpu.c#11 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.74 2009/03/26 21:10:35 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.77 2009/05/03 06:25:37 mav Exp $");
#include "opt_acpi.h"
#include
@@ -79,7 +79,6 @@
int cpu_features; /* Child driver supported features. */
/* Runtime state. */
int cpu_non_c3; /* Index of lowest non-C3 state. */
- int cpu_short_slp; /* Count of < 1us sleeps. */
u_int cpu_cx_stats[MAX_CX_STATES];/* Cx usage history. */
/* Values for sysctl. */
struct sysctl_ctx_list cpu_sysctl_ctx;
@@ -882,43 +881,13 @@
return;
}
- /*
- * If we slept 100 us or more, use the lowest Cx state. Otherwise,
- * find the lowest state that has a latency less than or equal to
- * the length of our last sleep.
- */
- cx_next_idx = sc->cpu_cx_lowest;
- if (sc->cpu_prev_sleep < 100) {
- /*
- * If we sleep too short all the time, this system may not implement
- * C2/3 correctly (i.e. reads return immediately). In this case,
- * back off and use the next higher level.
- * It seems that when you have a dual core cpu (like the Intel Core Duo)
- * that both cores will get out of C3 state as soon as one of them
- * requires it. This breaks the sleep detection logic as the sleep
- * counter is local to each cpu. Disable the sleep logic for now as a
- * workaround if there's more than one CPU. The right fix would probably
- * be to add quirks for system that don't really support C3 state.
- */
- if (mp_ncpus < 2 && sc->cpu_prev_sleep <= 1) {
- sc->cpu_short_slp++;
- if (sc->cpu_short_slp == 1000 && sc->cpu_cx_lowest != 0) {
- if (sc->cpu_non_c3 == sc->cpu_cx_lowest && sc->cpu_non_c3 != 0)
- sc->cpu_non_c3--;
- sc->cpu_cx_lowest--;
- sc->cpu_short_slp = 0;
- device_printf(sc->cpu_dev,
- "too many short sleeps, backing off to C%d\n",
- sc->cpu_cx_lowest + 1);
- }
- } else
- sc->cpu_short_slp = 0;
-
- for (i = sc->cpu_cx_lowest; i >= 0; i--)
- if (sc->cpu_cx_states[i].trans_lat <= sc->cpu_prev_sleep) {
- cx_next_idx = i;
- break;
- }
+ /* Find the lowest state that has small enough latency. */
+ cx_next_idx = 0;
+ for (i = sc->cpu_cx_lowest; i >= 0; i--) {
+ if (sc->cpu_cx_states[i].trans_lat * 3 <= sc->cpu_prev_sleep) {
+ cx_next_idx = i;
+ break;
+ }
}
/*
@@ -943,10 +912,10 @@
/*
* Execute HLT (or equivalent) and wait for an interrupt. We can't
* calculate the time spent in C1 since the place we wake up is an
- * ISR. Assume we slept one quantum and return.
+ * ISR. Assume we slept half of quantum and return.
*/
if (cx_next->type == ACPI_STATE_C1) {
- sc->cpu_prev_sleep = 1000000 / hz;
+ sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + 500000 / hz) / 4;
acpi_cpu_c1();
return;
}
@@ -989,9 +958,9 @@
}
ACPI_ENABLE_IRQS();
- /* Find the actual time asleep in microseconds, minus overhead. */
+ /* Find the actual time asleep in microseconds. */
end_time = acpi_TimerDelta(end_time, start_time);
- sc->cpu_prev_sleep = PM_USEC(end_time) - cx_next->trans_lat;
+ sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + PM_USEC(end_time)) / 4;
}
/*
@@ -1136,8 +1105,9 @@
sbuf_printf(&sb, "%u.%02u%% ", (u_int)(whole / sum),
(u_int)(fract / sum));
} else
- sbuf_printf(&sb, "0%% ");
+ sbuf_printf(&sb, "0.00%% ");
}
+ sbuf_printf(&sb, "last %dus", sc->cpu_prev_sleep);
sbuf_trim(&sb);
sbuf_finish(&sb);
sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req);
==== //depot/projects/vimage/src/sys/dev/ath/if_ath.c#35 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.248 2009/04/13 20:58:47 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.249 2009/05/02 20:16:55 sam Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -3995,12 +3995,7 @@
if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) {
#ifdef IEEE80211_SUPPORT_SUPERG
- if (ic->ic_stageqdepth) {
- ieee80211_age_stageq(ic, WME_AC_VO, 100);
- ieee80211_age_stageq(ic, WME_AC_VI, 100);
- ieee80211_age_stageq(ic, WME_AC_BE, 100);
- ieee80211_age_stageq(ic, WME_AC_BK, 100);
- }
+ ieee80211_ff_age_all(ic, 100);
#endif
if (!IFQ_IS_EMPTY(&ifp->if_snd))
ath_start(ifp);
@@ -4980,7 +4975,7 @@
* Flush fast-frame staging queue when traffic slows.
*/
if (txq->axq_depth <= 1)
- ieee80211_flush_stageq(ic, txq->axq_ac);
+ ieee80211_ff_flush(ic, txq->axq_ac);
#endif
return nacked;
}
==== //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#22 (text+ko) ====
@@ -28,7 +28,7 @@
***************************************************************************/
#include
-__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.30 2009/04/11 22:07:19 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.31 2009/05/05 10:56:12 zec Exp $");
#include
#include
@@ -1217,9 +1217,9 @@
* receive window.
*/
static __inline int
-select_rcv_wscale(int space, struct socket *so)
+select_rcv_wscale(int space, struct vnet *vnet)
{
- INIT_VNET_INET(so->so_vnet);
+ INIT_VNET_INET(vnet);
int wscale = 0;
if (space > MAX_RCV_WND)
@@ -1326,7 +1326,7 @@
calc_opt0h(struct socket *so, int mtu_idx)
{
struct tcpcb *tp = so_sototcpcb(so);
- int wscale = select_rcv_wscale(tp->rcv_wnd, so);
+ int wscale = select_rcv_wscale(tp->rcv_wnd, so->so_vnet);
return V_NAGLE((tp->t_flags & TF_NODELAY) == 0) |
V_KEEP_ALIVE((so_options_get(so) & SO_KEEPALIVE) != 0) | F_TCAM_BYPASS |
==== //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis.c#25 (text+ko) ====
@@ -34,7 +34,7 @@
*/
#include
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.157 2009/04/16 23:42:00 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.158 2009/05/02 15:14:18 thompsa Exp $");
#include
#include
@@ -50,7 +50,6 @@
#include
#include
#include
-#include
#include
@@ -173,7 +172,7 @@
int);
static int ndis_nettype_chan (uint32_t);
static int ndis_nettype_mode (uint32_t);
-static void ndis_scan (void *, int);
+static void ndis_scan (void *);
static void ndis_scan_results (struct ndis_softc *);
static void ndis_scan_start (struct ieee80211com *);
static void ndis_scan_end (struct ieee80211com *);
@@ -184,8 +183,6 @@
static void ndis_stop (struct ndis_softc *);
static int ndis_ifmedia_upd (struct ifnet *);
static void ndis_ifmedia_sts (struct ifnet *, struct ifmediareq *);
-static void ndis_auth (void *, int);
-static void ndis_assoc (void *, int);
static int ndis_get_assoc (struct ndis_softc *, ndis_wlan_bssid_ex **);
static int ndis_probe_offload (struct ndis_softc *);
static int ndis_set_offload (struct ndis_softc *);
@@ -741,13 +738,7 @@
uint32_t arg;
int r;
- sc->ndis_tq = taskqueue_create("nids_taskq", M_NOWAIT | M_ZERO,
- taskqueue_thread_enqueue, &sc->ndis_tq);
- taskqueue_start_threads(&sc->ndis_tq, 1, PI_NET, "%s taskq",
- device_get_nameunit(dev));
- TASK_INIT(&sc->ndis_scantask, 0, ndis_scan, sc);
- TASK_INIT(&sc->ndis_authtask, 0, ndis_auth, sc);
- TASK_INIT(&sc->ndis_assoctask, 0, ndis_assoc, sc);
+ callout_init(&sc->ndis_scan_callout, CALLOUT_MPSAFE);
ifp->if_ioctl = ndis_ioctl_80211;
ic->ic_ifp = ifp;
@@ -1054,12 +1045,6 @@
} else
NDIS_UNLOCK(sc);
- if (sc->ndis_80211) {
- taskqueue_drain(sc->ndis_tq, &sc->ndis_scantask);
- taskqueue_drain(sc->ndis_tq, &sc->ndis_authtask);
- taskqueue_drain(sc->ndis_tq, &sc->ndis_assoctask);
- }
-
if (sc->ndis_tickitem != NULL)
IoFreeWorkItem(sc->ndis_tickitem);
if (sc->ndis_startitem != NULL)
@@ -1121,8 +1106,6 @@
if (sc->ndis_iftype == PCIBus)
bus_dma_tag_destroy(sc->ndis_parent_tag);
- if (sc->ndis_80211)
- taskqueue_free(sc->ndis_tq);
return(0);
}
@@ -2419,30 +2402,6 @@
}
static void
-ndis_auth(void *arg, int npending)
-{
- struct ndis_softc *sc = arg;
- struct ifnet *ifp = sc->ifp;
- struct ieee80211com *ic = ifp->if_l2com;
- struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-
- vap->iv_state = IEEE80211_S_AUTH;
- ndis_auth_and_assoc(sc, vap);
-}
-
-static void
-ndis_assoc(void *arg, int npending)
-{
- struct ndis_softc *sc = arg;
- struct ifnet *ifp = sc->ifp;
- struct ieee80211com *ic = ifp->if_l2com;
- struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
-
- vap->iv_state = IEEE80211_S_ASSOC;
- ndis_auth_and_assoc(sc, vap);
-}
-
-static void
ndis_auth_and_assoc(sc, vap)
struct ndis_softc *sc;
struct ieee80211vap *vap;
@@ -2656,9 +2615,6 @@
if (rval)
device_printf (sc->ndis_dev, "set ssid failed: %d\n", rval);
- if (vap->iv_state == IEEE80211_S_AUTH)
- ieee80211_new_state(vap, IEEE80211_S_ASSOC, 0);
-
return;
}
@@ -3304,13 +3260,18 @@
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From zec at FreeBSD.org Tue May 5 12:03:34 2009
From: zec at FreeBSD.org (Marko Zec)
Date: Tue May 5 12:03:42 2009
Subject: PERFORCE change 161614 for review
Message-ID: <200905051203.n45C3CPS039594@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161614
Change 161614 by zec@zec_tpx32 on 2009/05/05 12:03:05
Unbreak GENERIC builds (VIMAGE still broken).
Affected files ...
.. //depot/projects/vimage/src/sys/kern/kern_vimage.c#87 edit
.. //depot/projects/vimage/src/sys/kern/uipc_socket.c#33 edit
.. //depot/projects/vimage/src/sys/net/if_var.h#36 edit
.. //depot/projects/vimage/src/sys/sys/vimage.h#91 edit
Differences ...
==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#87 (text+ko) ====
==== //depot/projects/vimage/src/sys/kern/uipc_socket.c#33 (text+ko) ====
@@ -2065,7 +2065,7 @@
soshutdown(struct socket *so, int how)
{
struct protosw *pr = so->so_proto;
- int error;
+ int error = 0;
if (!(how == SHUT_RD || how == SHUT_WR || how == SHUT_RDWR))
return (EINVAL);
@@ -2075,13 +2075,11 @@
if (how != SHUT_WR)
sorflush(so);
if (how != SHUT_RD) {
- int error;
CURVNET_SET(so->so_vnet);
error = (*pr->pr_usrreqs->pru_shutdown)(so);
CURVNET_RESTORE();
- return (error);
}
- return (0);
+ return (error);
}
void
==== //depot/projects/vimage/src/sys/net/if_var.h#36 (text+ko) ====
@@ -172,7 +172,6 @@
(struct ifnet *, struct mbuf *);
void (*if_reassign) /* reassign to vnet routine */
(struct ifnet *, struct vnet *, char *);
- struct vnet *if_vnet; /* network stack instance */
struct vnet *if_home_vnet; /* where this ifnet originates from */
struct ifaddr *if_addr; /* pointer to link-level address */
void *if_llsoftc; /* link layer softc */
==== //depot/projects/vimage/src/sys/sys/vimage.h#91 (text+ko) ====
@@ -34,15 +34,8 @@
#define _SYS_VIMAGE_H_
#include
-#include
-#include
-#include
-#include
+#include
-#ifdef INVARIANTS
-#define VNET_DEBUG
-#endif
-
#if defined(VIMAGE) && defined(VIMAGE_GLOBALS)
#error "You cannot have both option VIMAGE and option VIMAGE_GLOBALS!"
#endif
@@ -54,31 +47,10 @@
typedef int vnet_attach_fn(const void *);
typedef int vnet_detach_fn(const void *);
-struct vimage;
-struct vprocg;
-struct vnet;
-struct vi_req;
-struct kld_sym_lookup;
+#ifndef VIMAGE_GLOBALS
-struct ifnet; /* XXX must go away */
-
-#ifdef VIMAGE_GLOBALS
-#define VSYM(base, sym) (sym)
-#else
-#ifdef VIMAGE
-#define VSYM(base, sym) ((base)->_##sym)
-#else
-#define VSYM(base, sym) (base ## _0._ ## sym)
-#endif
-#endif
+struct kld_sym_lookup;
-#ifdef VIMAGE
-#define curvnet curthread->td_vnet
-#else
-#define curvnet NULL
-#endif
-
-#ifndef VIMAGE_GLOBALS
struct vnet_symmap {
char *name;
size_t offset;
@@ -104,18 +76,6 @@
const char *vml_iname;
};
-#ifdef VIMAGE
-#define VNET_SYMMAP(mod, name) \
- { #name, offsetof(struct vnet_ ## mod, _ ## name), \
- sizeof(((struct vnet_ ## mod *) curthread)->_ ## name) }
-#else
-#define VNET_SYMMAP(mod, name) \
- { #name, (size_t) &(vnet_ ## mod ## _0._ ## name), \
- sizeof(vnet_ ## mod ## _0._ ## name) }
-#endif
-
-#define VNET_SYMMAP_END { NULL, 0 }
-
/* Stateful modules. */
#define VNET_MOD_NET 0 /* MUST be 0 - implicit dependency */
#define VNET_MOD_NETGRAPH 1
@@ -162,35 +122,17 @@
#define V_MOD_vnet_gif VNET_MOD_GIF
#define V_MOD_vnet_ipsec VNET_MOD_IPSEC
-#define basevnet thread0.td_ucred->cr_vimage->v_net
-#define basevprocg thread0.td_ucred->cr_vimage->v_procg
-#define basevcpu thread0.td_ucred->cr_vimage->v_cpu
-
-#define V_GLOBAL 0
-#define V_NET 1
-#define V_PROCG 2
-#define V_CPU 3
-
-#define V_MOD_vprocg 0
-#define V_MOD_vcpu 0
+int vi_symlookup(struct kld_sym_lookup *, char *);
+void vnet_mod_register(const struct vnet_modinfo *);
+void vnet_mod_register_multi(const struct vnet_modinfo *, void *, char *);
+void vnet_mod_deregister(const struct vnet_modinfo *);
+void vnet_mod_deregister_multi(const struct vnet_modinfo *, void *, char *);
-#ifdef VIMAGE
-struct vnet {
- void *mod_data[VNET_MOD_MAX];
-
- u_int vnet_ref; /* reference count */
- LIST_ENTRY(vnet) vnet_le; /* all vnets list */
- u_int vnet_id; /* ID num */
-
- u_int ifccnt;
- u_int sockcnt;
-
- u_int vnet_magic_n;
-};
-#endif /* VIMAGE */
#endif /* !VIMAGE_GLOBALS */
-#define VNET_MAGIC_N 0x3e0d8f29
+#ifdef VIMAGE_GLOBALS
+#define VSYM(base, sym) (sym)
+#else
#ifdef VIMAGE
#define VSYM(base, sym) ((base)->_ ## sym)
#else
@@ -225,6 +167,16 @@
};
#endif
+struct vprocg {
+ LIST_ENTRY(vprocg) vprocg_le;
+ u_int vprocg_ref; /* reference count */
+ u_int vprocg_id; /* ID num */
+ u_int nprocs;
+ char _hostname[MAXHOSTNAMELEN];
+ char _domainname[MAXHOSTNAMELEN];
+ int _morphing_symlinks;
+};
+
#ifdef VIMAGE
#define curvnet curthread->td_vnet
#else
@@ -285,62 +237,37 @@
#ifdef VIMAGE
#ifdef VNET_DEBUG
-
-#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \
- if (vnet != curvnet) \
+#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \
+ if (vnet == NULL || vnet != curvnet) \
panic("in %s:%d %s()\n vnet=%p curvnet=%p", \
__FILE__, __LINE__, __FUNCTION__, \
vnet, curvnet); \
modtype *sym = (vnet)->mod_data[modindex];
#else /* !VNET_DEBUG */
-#define VNET_ASSERT(condition)
-
-#define CURVNET_SET(arg) \
- struct vnet *saved_vnet = curvnet; \
- curvnet = arg;
-
-#define CURVNET_SET_VERBOSE(arg) CURVNET_SET(arg)
-#define CURVNET_SET_QUIET(arg) CURVNET_SET(arg)
-
-#define CURVNET_RESTORE() \
- curvnet = saved_vnet;
-
-#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \
+#define INIT_FROM_VNET(vnet, modindex, modtype, sym) \
modtype *sym = (vnet)->mod_data[modindex];
#endif /* !VNET_DEBUG */
+#else /* !VIMAGE */
+#define INIT_FROM_VNET(vnet, modindex, modtype, sym)
+#endif
-#define VNET_ITERATOR_DECL(arg) struct vnet *arg;
-#define VNET_FOREACH(arg) LIST_FOREACH(arg, &vnet_head, vnet_le)
+#ifdef VIMAGE
+LIST_HEAD(vnet_list_head, vnet);
+extern struct vnet_list_head vnet_head;
+#define VNET_ITERATOR_DECL(arg) struct vnet *arg;
+#define VNET_FOREACH(arg) LIST_FOREACH(arg, &vnet_head, vnet_le)
+#else
+#define VNET_ITERATOR_DECL(arg)
+#define VNET_FOREACH(arg)
+#endif
-#define INIT_VPROCG(arg) struct vprocg *vprocg = (arg);
-
-#define VPROCG_ITERLOOP_BEGIN() \
- struct vprocg *vprocg_iter; \
- LIST_FOREACH(vprocg_iter, &vprocg_head, vprocg_le) { \
-
-#define VPROCG_ITERLOOP_END() \
- } \
-
-#define INIT_VCPU(arg) struct vcpu *vcpu = (arg);
-
-#define TD_TO_VIMAGE(td) (td)->td_ucred->cr_vimage
-#define TD_TO_VNET(td) (td)->td_ucred->cr_vimage->v_net
-#define TD_TO_VPROCG(td) (td)->td_ucred->cr_vimage->v_procg
-#define TD_TO_VCPU(td) (td)->td_ucred->cr_vimage->v_cpu
-#define P_TO_VIMAGE(p) (p)->p_ucred->cr_vimage
-#define P_TO_VNET(p) (p)->p_ucred->cr_vimage->v_net
-#define P_TO_VPROCG(p) (p)->p_ucred->cr_vimage->v_procg
-#define P_TO_VCPU(p) (p)->p_ucred->cr_vimage->v_cpu
+#define TD_TO_VNET(td) (td)->td_ucred->cr_vnet
-#else /* !VIMAGE */
-
/* Non-VIMAGE null-macros */
#define IS_DEFAULT_VNET(arg) 1
#define VNET_LIST_RLOCK()
#define VNET_LIST_RUNLOCK()
#define INIT_VPROCG(arg)
-#define VPROCG_ITERLOOP_BEGIN()
-#define VPROCG_ITERLOOP_END()
#define INIT_VCPU(arg)
#define TD_TO_VIMAGE(td)
#define TD_TO_VPROCG(td)
@@ -350,160 +277,13 @@
#define P_TO_VPROCG(p)
#define P_TO_VCPU(p)
-#endif /* !VIMAGE */
-
/* XXX those defines bellow should probably go into vprocg.h and vcpu.h */
-#define VPROCG(sym) VSYM(vprocg, sym)
-#define VCPU(sym) VSYM(vcpu, sym)
+#define VPROCG(sym) (sym)
+#define VCPU(sym) (sym)
-#define V_hostname VPROCG(hostname)
-#ifdef VIMAGE
-#define G_hostname VSYM(basevprocg, hostname) /* global hostname */
-#else
-#define G_hostname VSYM(vprocg, hostname) /* global hostname */
-#endif
-#define V_domainname VPROCG(domainname)
-#define V_morphing_symlinks VPROCG(morphing_symlinks)
-
-#define V_acc_statcalls VCPU(acc_statcalls)
-#define V_avg1_fixp VCPU(avg1_fixp)
-#define V_avg2_fixp VCPU(avg2_fixp)
-
-#ifndef VIMAGE_GLOBALS
-void vnet_mod_register(const struct vnet_modinfo *);
-void vnet_mod_deregister(const struct vnet_modinfo *);
-void vnet_mod_register_multi(const struct vnet_modinfo *, void *, char *);
-void vnet_mod_deregister_multi(const struct vnet_modinfo *, void *, char *);
-int vi_symlookup(struct kld_sym_lookup *, char *);
-#endif
-
-#ifdef VIMAGE
-int vi_td_ioctl(u_long, struct vi_req *, struct thread *);
-int vi_if_move(struct vi_req *, struct ifnet *, struct vimage *);
-void if_reassign_common(struct ifnet *, struct vnet *, const char *);
-
-struct vimage *vnet2vimage(struct vnet *);
-struct vimage *vimage_by_name(struct vimage *, char *);
-char *vnet_name(struct vnet *);
-int vi_child_of(struct vimage *, struct vimage *);
-
-LIST_HEAD(vimage_list_head, vimage);
-extern struct vimage_list_head vimage_head;
-
-LIST_HEAD(vprocg_list_head, vprocg);
-extern struct vprocg_list_head vprocg_head;
-
-LIST_HEAD(vcpu_list_head, vcpu);
-extern struct vcpu_list_head vcpu_head;
-
-LIST_HEAD(vnet_list_head, vnet);
-extern struct vnet_list_head vnet_head;
-extern int vnet_list_refc;
-extern struct mtx vnet_list_refc_mtx;
-extern struct cv vnet_list_condvar;
-extern struct mtx vcpu_list_mtx;
-
-#define VNET_LIST_RLOCK() do { \
- mtx_lock(&vnet_list_refc_mtx); \
- vnet_list_refc++; \
- mtx_unlock(&vnet_list_refc_mtx); \
-} while (0)
-
-#define VNET_LIST_RUNLOCK() do { \
- mtx_lock(&vnet_list_refc_mtx); \
- vnet_list_refc--; \
- mtx_unlock(&vnet_list_refc_mtx); \
- cv_signal(&vnet_list_condvar); \
-} while (0)
-
-#define IS_DEFAULT_VIMAGE(arg) ((arg)->vi_id == 0)
-#define IS_DEFAULT_VNET(arg) ((arg)->vnet_id == 0)
-
-struct vimage {
- LIST_ENTRY(vimage) vi_le; /* all vimage list */
- LIST_ENTRY(vimage) vi_sibling; /* vimages with same parent */
- LIST_HEAD(, vimage) vi_child_head; /* direct offspring list */
- struct vimage *vi_parent; /* ptr to parent vimage */
- u_int vi_id; /* ID num */
- u_int vi_ucredrefc; /* refc of ucreds pointing to us */
-
- char vi_name[MAXHOSTNAMELEN]; /* assigned by parent */
-
- struct vprocg *v_procg;
- struct vcpu *v_cpu;
- struct vnet *v_net;
-};
-
-#endif /* VIMAGE */
-
-struct vprocg {
- LIST_ENTRY(vprocg) vprocg_le;
- u_int vprocg_ref; /* reference count */
- u_int vprocg_id; /* ID num */
-
- u_int nprocs;
-
- char _hostname[MAXHOSTNAMELEN];
- char _domainname[MAXHOSTNAMELEN];
-
- int _morphing_symlinks;
-};
-
-struct vcpu {
- LIST_ENTRY(vcpu) vcpu_le;
- u_int vcpu_ref; /* reference count */
- u_int vcpu_id; /* ID num */
-
- u_int _acc_statcalls; /* statclocks since last avg update*/
- u_int _avg1_fixp; /* "fast" avg in 16:16 bit fixedpoint */
- u_int _avg2_fixp; /* "slow" avg in 16:16 bit fixedpoint */
-};
-
-#ifndef VIMAGE_GLOBALS
-#ifndef VIMAGE
-extern struct vprocg vprocg_0;
-#endif
-#endif
-
-struct vi_req {
- int req_action; /* What to do with this reqest? */
- u_int vi_cpu_min; /* Guaranteed CPU share */
- u_int vi_cpu_max; /* Maximum average CPU usage */
- u_int vi_cpu_weight; /* Prop. share scheduling priority */
- int vi_intr_limit; /* Limit on CPU usage in intr ctx */
- int vi_maxsockets;
- u_short vi_proc_limit; /* max. number of processes */
- u_short vi_proc_count; /* current number of processes */
- u_short vi_child_limit; /* max. number of child vnets */
- u_short vi_child_count; /* current number of child vnets */
- int vi_if_count; /* current number network interfaces */
- int vi_sock_count;
- char vi_name[MAXPATHLEN];
- char vi_chroot[MAXPATHLEN];
- char vi_if_xname[MAXPATHLEN]; /* XXX should be IFNAMSIZ */
- u_int cp_time_avg;
- struct loadavg averunnable;
-};
-
-#define VI_CREATE 0x00000001
-#define VI_DESTROY 0x00000002
-#define VI_MODIFY 0x00000004
-#define VI_SWITCHTO 0x00000008
-#define VI_IFACE 0x00000010
-
-#define VI_GET 0x00000100
-#define VI_GETNEXT 0x00000200
-#define VI_GETNEXT_RECURSE 0x00000300
-
-#define VI_SET_CPU_MIN 0x00001000
-#define VI_SET_CPU_MAX 0x00002000
-#define VI_SET_CPU_WEIGHT 0x00004000
-#define VI_SET_INTR_LIMIT 0x00008000
-#define VI_SET_PROC_LIMIT 0x00010000
-#define VI_SET_CHILD_LIMIT 0x00020000
-#define VI_SET_SOCK_LIMIT 0x00040000
-#define VI_SET_NAME 0x00100000
-#define VI_SET_CHROOT 0x00200000
+#define V_hostname VPROCG(hostname)
+#define G_hostname VPROCG(hostname) /* global hostname */
+#define V_domainname VPROCG(domainname)
/*
* Size-guards for the vimage structures.
From hselasky at FreeBSD.org Tue May 5 12:47:59 2009
From: hselasky at FreeBSD.org (Hans Petter Selasky)
Date: Tue May 5 12:48:05 2009
Subject: PERFORCE change 161615 for review
Message-ID: <200905051247.n45Clv8P052914@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161615
Change 161615 by hselasky@hselasky_laptop001 on 2009/05/05 12:47:20
USB controller: UHCI fix: Make sure the frame list base address
is re-programmed after stopping the USB schedule, in case
the hardware clears the frame list base address.
Patch done by: HPS
Issue reported by: Chao Shin
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#14 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#14 (text+ko) ====
@@ -132,6 +132,7 @@
extern struct usb2_pipe_methods uhci_device_intr_methods;
extern struct usb2_pipe_methods uhci_device_isoc_methods;
+static uint8_t uhci_restart(uhci_softc_t *sc);
static void uhci_do_poll(struct usb2_bus *);
static void uhci_device_done(struct usb2_xfer *, usb2_error_t);
static void uhci_transfer_intr_enqueue(struct usb2_xfer *);
@@ -246,10 +247,51 @@
ml->buf_offset += td->len;
}
+/*
+ * Return values:
+ * 0: Success
+ * Else: Failure
+ */
+static uint8_t
+uhci_restart(uhci_softc_t *sc)
+{
+ struct usb2_page_search buf_res;
+
+ USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED);
+
+ if (UREAD2(sc, UHCI_CMD) & UHCI_CMD_RS) {
+ DPRINTFN(2, "Already started\n");
+ return (0);
+ }
+
+ DPRINTFN(2, "Restarting\n");
+
+ usb2_get_page(&sc->sc_hw.pframes_pc, 0, &buf_res);
+
+ /* Reload fresh base address */
+ UWRITE4(sc, UHCI_FLBASEADDR, buf_res.physaddr);
+
+ /*
+ * Assume 64 byte packets at frame end and start HC controller:
+ */
+ UHCICMD(sc, (UHCI_CMD_MAXP | UHCI_CMD_RS));
+
+ /* wait 10 milliseconds */
+
+ usb2_pause_mtx(&sc->sc_bus.bus_mtx, hz / 100);
+
+ /* check that controller has started */
+
+ if (UREAD2(sc, UHCI_STS) & UHCI_STS_HCH) {
+ DPRINTFN(2, "Failed\n");
+ return (1);
+ }
+ return (0);
+}
+
void
uhci_reset(uhci_softc_t *sc)
{
- struct usb2_page_search buf_res;
uint16_t n;
USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED);
@@ -309,8 +351,6 @@
done_2:
/* reload the configuration */
- usb2_get_page(&sc->sc_hw.pframes_pc, 0, &buf_res);
- UWRITE4(sc, UHCI_FLBASEADDR, buf_res.physaddr);
UWRITE2(sc, UHCI_FRNUM, sc->sc_saved_frnum);
UWRITE1(sc, UHCI_SOF, sc->sc_saved_sof);
@@ -337,30 +377,11 @@
UHCI_INTR_IOCE |
UHCI_INTR_SPIE));
- /*
- * assume 64 byte packets at frame end and start HC controller
- */
-
- UHCICMD(sc, (UHCI_CMD_MAXP | UHCI_CMD_RS));
-
- uint8_t n = 10;
-
- while (n--) {
- /* wait one millisecond */
-
- usb2_pause_mtx(&sc->sc_bus.bus_mtx, hz / 1000);
-
- /* check that controller has started */
-
- if (!(UREAD2(sc, UHCI_STS) & UHCI_STS_HCH)) {
- goto done;
- }
+ if (uhci_restart(sc)) {
+ device_printf(sc->sc_bus.bdev,
+ "cannot start HC controller\n");
}
- device_printf(sc->sc_bus.bdev,
- "cannot start HC controller\n");
-
-done:
/* start root interrupt */
uhci_root_intr(sc);
}
@@ -2389,16 +2410,8 @@
* Before we do anything, turn on SOF messages on the USB
* BUS. Some USB devices do not cope without them!
*/
- if (!(UREAD2(sc, UHCI_CMD) & UHCI_CMD_RS)) {
-
- DPRINTF("Activating SOFs!\n");
-
- UHCICMD(sc, (UHCI_CMD_MAXP | UHCI_CMD_RS));
+ uhci_restart(sc);
- /* wait a little bit */
- usb2_pause_mtx(&sc->sc_bus.bus_mtx, hz / 100);
- }
-
x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_PR);
@@ -3194,11 +3207,11 @@
USB_HW_POWER_INTERRUPT |
USB_HW_POWER_ISOC)) {
DPRINTF("Some USB transfer is "
- "active on %u.\n",
+ "active on unit %u.\n",
device_get_unit(sc->sc_bus.bdev));
- UHCICMD(sc, (UHCI_CMD_MAXP | UHCI_CMD_RS));
+ uhci_restart(sc);
} else {
- DPRINTF("Power save on %u.\n",
+ DPRINTF("Power save on unit %u.\n",
device_get_unit(sc->sc_bus.bdev));
UHCICMD(sc, UHCI_CMD_MAXP);
}
From pgj at FreeBSD.org Tue May 5 16:25:43 2009
From: pgj at FreeBSD.org (Gabor Pali)
Date: Tue May 5 16:25:53 2009
Subject: PERFORCE change 161623 for review
Message-ID: <200905051625.n45GPgWh074709@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161623
Change 161623 by pgj@beehive on 2009/05/05 16:24:51
IFC
Affected files ...
.. //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#27 integrate
.. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#21 integrate
.. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#21 integrate
.. //depot/projects/docproj_hu/doc/share/pgpkeys/snb.key#1 branch
.. //depot/projects/docproj_hu/src_7/release/doc/en_US.ISO8859-1/errata/article.sgml#6 integrate
.. //depot/projects/docproj_hu/www/en/about.sgml#2 integrate
.. //depot/projects/docproj_hu/www/en/cgi/man.cgi#13 integrate
.. //depot/projects/docproj_hu/www/en/developers.sgml#23 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/announce.sgml#3 integrate
.. //depot/projects/docproj_hu/www/en/releases/7.2R/errata.html#3 integrate
.. //depot/projects/docproj_hu/www/en/releng/index.sgml#24 integrate
.. //depot/projects/docproj_hu/www/hu/security/security.sgml#9 integrate
.. //depot/projects/docproj_hu/www/share/sgml/news.xml#53 integrate
.. //depot/projects/docproj_hu/www/share/sgml/press.xml#16 integrate
Differences ...
==== //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#27 (text+ko) ====
@@ -13,7 +13,7 @@
builds for the other languages, and we will poke fun of you
in public.
- $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.476 2009/04/05 17:51:17 rmacklem Exp $
+ $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.477 2009/05/05 09:13:27 snb Exp $
-->
aaron@FreeBSD.org">
@@ -1004,6 +1004,8 @@
smpatel@FreeBSD.org">
+snb@FreeBSD.org">
+
sobomax@FreeBSD.org">
sos@FreeBSD.org">
==== //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#21 (text+ko) ====
@@ -1,7 +1,7 @@
@@ -59,6 +59,11 @@
&pgpkey.jhb;
+
+ &a.snb;
+ &pgpkey.snb;
+
+
&a.barner;
&pgpkey.barner;
==== //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#21 (text+ko) ====
@@ -1,5 +1,5 @@
-
+
@@ -266,6 +266,7 @@
+
==== //depot/projects/docproj_hu/src_7/release/doc/en_US.ISO8859-1/errata/article.sgml#6 (text+ko) ====
@@ -37,7 +37,7 @@
The &os; Project
- $FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.73.4.12 2009/05/03 21:21:17 hrs Exp $
+ $FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.73.4.13 2009/05/04 19:00:25 hrs Exp $2008
@@ -167,19 +167,28 @@
bootable and fall through to booting off the next boot device.
All affected machines did see the other discs as bootable. As a
workaround, you can boot using the bootonly or livefs CDROM and
- then swap in disc1 once sysinstall starts.
+ then swap in disc1 once &man.sysinstall.8; starts.
[20090504] A lock handling error has been found in
interaction between &man.malloc.3; implementation and threading
library. When a multi-threaded process calls the &man.fork.2;
system call in a thread and the &man.malloc.3; function in
another thread, it can cause a deadlock in the child process.
- An Errata Notice to fix this problem is planned for this problem
- after the release.
+ An Errata Notice to fix this problem is planned after the
+ release.
+
+ [20090505] A bug was found in the &man.bce.4; driver. This
+ prevents it from working with the &man.lagg.4; driver in the
+ LACP (IEEE 802.3ad Link Aggregation Control Protocol) mode. An
+ Errata Notice to fix this problem is planned after the
+ release.Late-Breaking News and Corrections
- No news.
+ [20090504] A patch to solve the locking issue in the
+ &man.malloc.3; implementation and threading library has been
+ committed to the RELENG_7 branch for public
+ testing.
==== //depot/projects/docproj_hu/www/en/about.sgml#2 (text+ko) ====
@@ -1,5 +1,5 @@
+
]>
@@ -55,7 +55,7 @@
[20090501] Some machines do not recognize the i386 disc1 as bootable and fall through
to booting off the next boot device. All affected machines did see the other discs as
bootable. As a workaround, you can boot using the bootonly or livefs CDROM and then swap
-in disc1 once sysinstall starts.
+Notice to fix this problem is planned after the release.
+
+
[20090505] A bug was found in the bce(4) driver. This
+prevents it from working with the
+lagg(4) driver
+in the LACP (IEEE 802.3ad Link Aggregation Control Protocol) mode. An Errata Notice to
+fix this problem is planned after the release.
[20090504] A patch to solve the locking issue in the
+malloc(3)
+implementation and threading library has been committed to the RELENG_7 branch for public testing.
- Gebaseerd op BSD UNIX®
+ Gebaseerd op BSD &unix;
-
FreeBSD is een geavanceerd besturingssysteem
- voor x86-compatibele (inclusief Pentium®
- en Athlon™), amd64-compatibele
- (inclusief Opteron™, Athlon 64
- en EM64T), Alpha/AXP, IA-64, PC-98 en
- UltraSPARC® architecturen. Het is
- afgeleid van BSD, de versie van UNIX®
- die is ontwikkeld op de Universiteit van
- Californië, Berkeley. Het wordt
- ontwikkeld en onderhouden door een groot
- team. Overige platformen
- zijn in verschillende staten van ontwikkeling.
-
+
FreeBSD® is een geavanceerd
+ besturingssystem voor moderne platforms
+ voor servers, desktop, en embedded computers.
+ De broncode van FreeBSD heeft meer dan dertig
+ jaar van continue ontwikkeling, verbetering en
+ optimalisatie doorgemaakt. Het wordt
+ ontwikkeld en onderhouden door een groot
+ team van individuen. FreeBSD biedt
+ geavanceerd netwerken, indrukwekkende
+ beveiligingsmogelijkheden en topprestaties en
+ wordt door sommige van 's werelds drukste
+ websites en de meest voorkomende
+ embedded netwerk- en opslagapparaten
+ gebruikt.
+
+
+
+
+ 4
+
+
+ Megjelent a &os; 7.2-RELEASE!
+
+
A &os; 7.2-RELEASE
+ kiadása mostantól elérhetõ. A
+ telepítés elõtt javasolt a
+ kiadással kapcsolatos legfrissebb Kiadási
+ jegyzetek és Sajtóhibák
+ alapos átolvasása. A &os; kiadásokra
+ vonatkozó bõvebb információkat a
+ kiadási
+ információkat tartalmazó oldalon
+ olvashatjuk.
+
+
+
+
+ 4
==== //depot/projects/docproj_hu/www/hu/share/sgml/press.xml#11 (text+ko) ====
@@ -5,7 +5,7 @@
@@ -19,6 +19,34 @@
2009
+ 5
+
+
+ Megjelent a &os; 7.2, benne a szuperlapok
+ támogatásával
+ http://www.h-online.com/open/FreeBSD-7-2-released-now-with-Superpages--/news/113204
+ The H
+ http://www.h-online.com/
+ 2009. május 4.
+ djwm
+
A &os; 7.2 kiadásában, a jail alrendszerben
+ megjelent újítások bemutatása.
+
+
+
+ 4
From rene at FreeBSD.org Tue May 5 17:31:51 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 17:31:57 2009
Subject: PERFORCE change 161629 for review
Message-ID: <200905051731.n45HVo6k090915@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161629
Change 161629 by rene@rene_self on 2009/05/05 17:31:06
[solid-state] : reword sentence in the Apache section.
Obtained from: keramida
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#16 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#16 (text+ko) ====
@@ -440,9 +440,9 @@
directory apache_log_dir
outside of /var.
- Since this directory lives on a read-only filesystem, Apache
- will probably not work since it will not be able to save any log
- entries. If so, it is necessary to add a new directory to the
+ When this directory lives on a read-only filesystem, Apache will
+ not be able to save any log files, and may have problems working.
+ If so, it is necessary to add a new directory to the
list of directories in /etc/rc.d/var to
create in /var, and to link
apache_log_dir to
From rene at FreeBSD.org Tue May 5 18:07:28 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 18:07:35 2009
Subject: PERFORCE change 161632 for review
Message-ID: <200905051807.n45I7QGq004077@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161632
Change 161632 by rene@rene_self on 2009/05/05 18:07:03
[solid-state] : replace FreeBSD by &os; in affected sections.
Submitted by: remko
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#17 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/solid-state/article.sgml#17 (text+ko) ====
@@ -76,12 +76,12 @@
system and the durability of the storage medium.
Specific topics to be covered include the types and attributes of
- solid state media suitable for disk use in FreeBSD, kernel options
+ solid state media suitable for disk use in &os;, kernel options
that are of interest in such an environment, the
rc.initdiskless mechanisms that automate the
initialization of such systems and the need for read-only filesystems,
and building filesystems from scratch. The article will conclude
- with some general strategies for small and read-only FreeBSD
+ with some general strategies for small and read-only &os;
environments.
@@ -126,9 +126,9 @@
Kernel OptionsA few kernel options are of specific interest to those creating
- an embedded FreeBSD system.
+ an embedded &os; system.
- All embedded FreeBSD systems that use flash memory as system
+ All embedded &os; systems that use flash memory as system
disk will be interested in memory disks and memory filesystems. Because
of the limited number of writes that can be done to flash memory, the
disk and the filesystems on the disk will most likely be mounted
@@ -149,7 +149,7 @@
The rc Subsystem and Read-Only Filesystems
- The post-boot initialization of an embedded FreeBSD system is
+ The post-boot initialization of an embedded &os; system is
controlled by /etc/rc.initdiskless./etc/rc.d/var mounts /var
@@ -337,7 +337,7 @@
/var filesystem constructed by
/etc/rc.d/var and the presence of a read-only
root filesystem causes problems with many common software packages used
- with FreeBSD. In this article, suggestions for successfully running
+ with &os;. In this article, suggestions for successfully running
cron, syslog, ports installations, and the Apache web server will be
provided.
From trasz at FreeBSD.org Tue May 5 19:39:03 2009
From: trasz at FreeBSD.org (Edward Tomasz Napierala)
Date: Tue May 5 19:39:11 2009
Subject: PERFORCE change 161636 for review
Message-ID: <200905051939.n45Jd0UY011991@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161636
Change 161636 by trasz@trasz_victim on 2009/05/05 19:38:30
IFC.
Affected files ...
.. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#25 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/rm/rm.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/.cvsignore#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/ChangeLog#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/animation#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/audio#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/cafebabe#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/compress#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/elf#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/epoc#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/filesystems#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/graphviz#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/images#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/jpeg#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/mach#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/macintosh#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/msdos#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/perl#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/printer#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/timezone#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/wireless#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/xwindows#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Makefile.am#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Makefile.am-src#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Makefile.in#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/README#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/TODO#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/apprentice.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/apptype.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/ascmagic.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/asprintf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/cdf.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/cdf.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/cdf_time.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/compress.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/config.h.in#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/configure#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/configure.ac#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/encoding.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/file.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/file.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/file.man#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/file_opts.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/fsmagic.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/funcs.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/getopt_long.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/is_tar.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/libmagic.man#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/magic.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/magic.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/magic.man#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/patchlevel.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/print.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/readcdf.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/readelf.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/softmagic.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/file/vasprintf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/jail#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/arm/string/strncmp.S#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Symbol.map#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/sourcefilter.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/ptsname.3#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Makefile.inc#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Symbol.map#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/jail.2#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libmagic/Makefile#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libmagic/config.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/journal/gjournal.8#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/iflagg.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/newfs/newfs.8#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/tunefs/tunefs.8#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/geom_fox.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/isp.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/mpt.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ng_hole.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/u3g.4#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man5/rc.conf.5#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/misc/bsd-family-tree#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-src.dot#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/zoneinfo/africa#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/identcpu.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/local_apic.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/mp_machdep.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#19 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/apicvar.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/clock.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/smp.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/specialreg.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/isa/clock.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux32_sysvec.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/cpufunc.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/uboot/lib/devicename.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/uboot/lib/disk.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/uboot/lib/libuboot.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_zone.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_misc.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_proto.h#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/syscalls.master#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_futex.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_futex.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_mib.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_socket.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#30 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#37 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/kern.post.mk#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/options#24 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi_cpu.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-all.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-disk.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-pci.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-queue.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-sata.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-ahci.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath.c#18 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bitops.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bwimac.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bwimac.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bwiphy.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bwiphy.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bwirf.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/bwirf.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/if_bwi.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/if_bwi_pci.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/if_bwireg.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bwi/if_bwivar.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fb/creator.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/if_ndis/if_ndis.c#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/if_ndis/if_ndisvar.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ipw/if_ipw.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ipw/if_ipwvar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iwi/if_iwi.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iwi/if_iwivar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iwn/if_iwn.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iwn/if_iwnvar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sk/if_sk.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ehci.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ohci.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uhci.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_aue.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_axe.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_cdce.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_cue.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_kue.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_rue.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_udav.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/usb_ethernet.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/usb_ethernet.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/ustorage_fs.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_compat_linux.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_core.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_generic.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hub.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_revision.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_rum.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_rumvar.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_uath.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_uathvar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_ural.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_uralvar.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_zyd.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_zydreg.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/usb_wlan.h#3 delete
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wi/if_wi.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wi/if_wivar.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wpi/if_wpi.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wpi/if_wpivar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfs.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfs_commonacl.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfs_commonkrpc.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfs_commonport.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfs_commonsubs.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfs_var.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfscl.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsclstate.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsdport.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfskpiport.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsm_subs.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsport.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsproto.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsrvcache.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsrvstate.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/nfsv4_errstr.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/rpcv2.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfs/xdr_subs.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clbio.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clcomsubs.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clkrpc.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_cllock.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clnfsiod.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clnode.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clport.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clrpcops.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clstate.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clsubs.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clvfsops.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_clvnops.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfs_lock.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfsargs.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfsdiskless.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfsmount.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nfsnode.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsclient/nlminfo.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdcache.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdkrpc.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdport.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdserv.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdsocket.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdstate.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nfsserver/nfs_nfsdsubs.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/vinum/geom_vinum_var.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/bios/apm.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#20 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/identcpu.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/local_apic.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/mp_machdep.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/apicvar.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/clock.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/smp.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/specialreg.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/isa/clock.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/linux/linux_sysvec.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/xen/clock.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/xen/mp_machdep.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/isa/atrtc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/isa/rtc.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/init_main.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/init_sysent.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_cpuset.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_fork.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_jail.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_linker.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_mib.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_osd.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sysctl.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_vimage.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sched_ule.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_pcpu.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_smp.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_witness.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_socket.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/syscalls.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/syscalls.master#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/systrace_args.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty.c#20 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_socket.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_syscalls.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_usrreq.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/include/pmap.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/pmap.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#24 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/bwi/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/bpf.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/ieee8023ad_lacp.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#20 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_bridge.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_clone.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_ethersubr.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_gif.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_gif.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_lagg.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_mib.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_var.h#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/netisr.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/route.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/rtsock.c#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net/vnet.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.h#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_adhoc.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_ddb.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_freebsd.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_freebsd.h#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_ht.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_ioctl.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_node.c#17 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_node.h#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_proto.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_scan.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_scan.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_scan_sta.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_superg.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_superg.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_var.h#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/netgraph.h#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_base.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/icmp6.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/if_ether.c#17 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/igmp.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_mcast.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_pcb.c#18 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_pcb.h#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_rmx.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_carp.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_divert.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fw.h#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fw_pfil.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_input.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_ipsec.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_mroute.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_output.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/raw_ip.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_hostcache.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_subr.c#20 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.c#17 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_timewait.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_var.h#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/udp_usrreq.c#20 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/vinet.h#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6.c#17 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_ifattach.c#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_mcast.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_pcb.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_proto.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_rmx.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_var.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_input.c#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_mroute.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_output.c#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_var.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/mld6.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/mld6.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/mld6_var.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/nd6.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/nd6_nbr.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/raw_ip6.c#18 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/udp6_usrreq.c#16 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/vinet6.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/vipsec.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/xform_tcp.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_kdtrace.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_krpc.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#17 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/cbus/clock.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_atalk.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_audit.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_cred.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_inet.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_inet6.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_internal.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_net.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_pipe.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_posix_sem.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_posix_shm.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_priv.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_process.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_socket.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_system.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_sysv_msg.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_sysv_sem.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_sysv_shm.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/security/mac/mac_vfs.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/jail.h#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/ktr.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/osd.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#23 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/priv.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/proc.h#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/smp.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/socketvar.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/syscall.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/syscall.mk#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/syscallsubr.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sysctl.h#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sysproto.h#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/ucred.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vimage.h#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/swap_pager.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_pageout.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vnode_pager.c#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendars/calendar.freebsd#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/du/du.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/file/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/file/config.h#3 delete
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ncal/Makefile#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ncal/ncal.1#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ncal/ncal.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/netstat/inet6.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/arp/arp.8#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/ifmcstat/ifmcstat.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/jail/jail.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/kbdmap/kbdmap.1#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mtest/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mtest/mtest.8#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mtest/mtest.c#3 integrate
Differences ...
==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#25 (text+ko) ====
@@ -22,6 +22,100 @@
to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
+20090430:
+ The layout of the following structs has changed: sysctl_oid,
+ socket, ifnet, inpcbinfo, tcpcb, syncache_head, vnet_inet,
+ vnet_inet6 and vnet_ipfw. Most modules need to be rebuild or
+ panics may be experienced. World rebuild is required for
+ correctly checking networking state from userland.
+ Bump __FreeBSD_version to 800085.
+
+20090429:
+ MLDv2 and Source-Specific Multicast (SSM) have been merged
+ to the IPv6 stack. VIMAGE hooks are in but not yet used.
+ The implementation of SSM within FreeBSD's IPv6 stack closely
+ follows the IPv4 implementation.
+
+ For kernel developers:
+
+ * The most important changes are that the ip6_output() and
+ ip6_input() paths no longer take the IN6_MULTI_LOCK,
+ and this lock has been downgraded to a non-recursive mutex.
+
+ * As with the changes to the IPv4 stack to support SSM, filtering
+ of inbound multicast traffic must now be performed by transport
+ protocols within the IPv6 stack. This does not apply to TCP and
+ SCTP, however, it does apply to UDP in IPv6 and raw IPv6.
+
+ * The KPIs used by IPv6 multicast are similar to those used by
+ the IPv4 stack, with the following differences:
+ * im6o_mc_filter() is analogous to imo_multicast_filter().
+ * The legacy KAME entry points in6_joingroup and in6_leavegroup()
+ are shimmed to in6_mc_join() and in6_mc_leave() respectively.
+ * IN6_LOOKUP_MULTI() has been deprecated and removed.
+ * IPv6 relies on MLD for the DAD mechanism. KAME's internal KPIs
+ for MLDv1 have an additional 'timer' argument which is used to
+ jitter the initial membership report for the solicited-node
+ multicast membership on-link.
+ * This is not strictly needed for MLDv2, which already jitters
+ its report transmissions. However, the 'timer' argument is
+ preserved in case MLDv1 is active on the interface.
+
+ * The KAME linked-list based IPv6 membership implementation has
+ been refactored to use a vector similar to that used by the IPv4
+ stack.
+ Code which maintains a list of its own multicast memberships
+ internally, e.g. carp, has been updated to reflect the new
+ semantics.
+
+ * There is a known Lock Order Reversal (LOR) due to in6_setscope()
+ acquiring the IF_AFDATA_LOCK and being called within ip6_output().
+ Whilst MLDv2 tries to avoid this otherwise benign LOR, it is an
+ implementation constraint which needs to be addressed in HEAD.
+
+ For application developers:
+
+ * The changes are broadly similar to those made for the IPv4
+ stack.
+
+ * The use of IPv4 and IPv6 multicast socket options on the same
+ socket, using mapped addresses, HAS NOT been tested or supported.
+
+ * There are a number of issues with the implementation of various
+ IPv6 multicast APIs which need to be resolved in the API surface
+ before the implementation is fully compatible with KAME userland
+ use, and these are mostly to do with interface index treatment.
+
+ * The literature available discusses the use of either the delta / ASM
+ API with setsockopt(2)/getsockopt(2), or the full-state / ASM API
+ using setsourcefilter(3)/getsourcefilter(3). For more information
+ please refer to RFC 3768, 'Socket Interface Extensions for
+ Multicast Source Filters'.
+
+ * Applications which use the published RFC 3678 APIs should be fine.
+
+ For systems administrators:
+
+ * The mtest(8) utility has been refactored to support IPv6, in
+ addition to IPv4. Interface addresses are no longer accepted
+ as arguments, their names must be used instead. The utility
+ will map the interface name to its first IPv4 address as
+ returned by getifaddrs(3).
+
+ * The ifmcstat(8) utility has also been updated to print the MLDv2
+ endpoint state and source filter lists via sysctl(3).
+
+ * The net.inet6.ip6.mcast.loop sysctl may be tuned to 0 to disable
+ loopback of IPv6 multicast datagrams by default; it defaults to 1
+ to preserve the existing behaviour. Disabling multicast loopback is
+ recommended for optimal system performance.
+
+ * The IPv6 MROUTING code has been changed to examine this sysctl
+ instead of attempting to perform a group lookup before looping
+ back forwarded datagrams.
+
+ Bump __FreeBSD_version to 800084.
+
20090422:
Implement low-level Bluetooth HCI API.
Bump __FreeBSD_version to 800083.
@@ -1419,4 +1513,4 @@
Contact Warner Losh if you have any questions about your use of
this document.
-$FreeBSD: src/UPDATING,v 1.596 2009/04/24 15:38:13 delphij Exp $
+$FreeBSD: src/UPDATING,v 1.598 2009/04/30 13:36:26 zec Exp $
==== //depot/projects/soc2008/trasz_nfs4acl/bin/rm/rm.c#2 (text+ko) ====
@@ -39,7 +39,7 @@
#endif /* not lint */
#endif
#include
-__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.58 2006/10/31 02:22:36 delphij Exp $");
+__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.59 2009/04/29 18:08:18 imp Exp $");
#include
#include
@@ -60,6 +60,7 @@
int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok;
int rflag, Iflag;
uid_t uid;
+volatile sig_atomic_t info;
int check(char *, char *, struct stat *);
int check2(char **);
@@ -68,6 +69,7 @@
void rm_file(char **);
int rm_overwrite(char *, struct stat *);
void rm_tree(char **);
+static void siginfo(int __unused);
void usage(void);
/*
@@ -150,6 +152,7 @@
checkslash(argv);
uid = geteuid();
+ (void)signal(SIGINFO, siginfo);
if (*argv) {
stdin_ok = isatty(STDIN_FILENO);
@@ -266,6 +269,11 @@
if (rval == 0 && vflag)
(void)printf("%s\n",
p->fts_path);
+ if (rval == 0 && info) {
+ info = 0;
+ (void)printf("%s\n",
+ p->fts_path);
+ }
continue;
}
break;
@@ -276,6 +284,11 @@
if (vflag)
(void)printf("%s\n",
p->fts_path);
+ if (info) {
+ info = 0;
+ (void)printf("%s\n",
+ p->fts_path);
+ }
continue;
}
break;
@@ -297,6 +310,11 @@
if (rval == 0 && vflag)
(void)printf("%s\n",
p->fts_path);
+ if (rval == 0 && info) {
+ info = 0;
+ (void)printf("%s\n",
+ p->fts_path);
+ }
continue;
}
}
@@ -369,6 +387,10 @@
}
if (vflag && rval == 0)
(void)printf("%s\n", f);
+ if (info && rval == 0) {
+ info = 0;
+ (void)printf("%s\n", f);
+ }
}
}
@@ -592,3 +614,10 @@
" unlink file");
exit(EX_USAGE);
}
+
+static void
+siginfo(int sig __unused)
+{
+
+ info = 1;
+}
==== //depot/projects/soc2008/trasz_nfs4acl/contrib/file/ChangeLog#3 (text+ko) ====
@@ -1,9 +1,105 @@
+2008-12-12 15:50 Christos Zoulas
+
+ * fix initial offset calculation for non 4K sector files
+
+ * add loop limits to avoid DoS attacks by constructing
+ looping sector references.
+
+2008-12-03 13:05 Christos Zoulas
+
+ * fix memory botches on cdf file parsing.
+
+ * exit with non-zero value for any error, not just for the last
+ file processed.
+
+2008-11-09 20:42 Charles Longeau
+
+ * Replace all str{cpy,cat} functions with strl{cpy,cat}
+ * Ensure that strl{cpy,cat} are included in libmagic,
+ as needed.
+
+2008-11-06 18:18 Christos Zoulas
+
+ * Handle ID3 format files.
+
+2008-11-06 23:00 Reuben Thomas
+
+ * Fix --mime, --mime-type and --mime-encoding under new scheme.
+
+ * Rename "ascii" to "text" and add "encoding" test.
+
+ * Return a precise ("utf-16le" or "utf-16be") MIME charset for
+ UTF-16.
+
+ * Fix error in comment caused by automatic indentation adding
+ words!
+
+2008-11-06 10:35 Christos Zoulas
+
+ * use memchr instead of strchr because the string
+ might not be NUL terminated (Scott MacVicar)
+
+2008-11-03 07:31 Reuben Thomas
+
+ * Fix a printf with a non-literal format string.
+
+ * Fix formatting and punctuation of help for "--apple".
+
+2008-10-30 11:00 Reuben Thomas
+
+ * Correct words counts in comments of struct magic.
+
+ * Fix handle_annotation to allow both Apple and MIME types to be
+ printed, and to return correct code if MIME type is
+ printed (1, not 0) or if there's an error (-1 not 1).
+
+ * Fix output of charset for MIME type (precede with semi-colon;
+ fixes Debian bug #501460).
+
+ * Fix potential attacks via conversion specifications in magic
+ strings.
+
+ * Add a FIXME for Debian bug #488562 (magic files should be
+ read in a defined order, by sorting the names).
+
+2008-10-18 16:45 Christos Zoulas
+
+ * Added APPLE file creator/type
+
+2008-10-12 10:20 Christos Zoulas
+
+ * Added CDF parsing
+
+2008-10-09 16:40 Christos Zoulas
+
+ * filesystem and msdos patches (Joerg Jenderek)
+
+2008-10-09 13:20 Christos Zoulas
+
+ * correct --exclude documentation issues: remove troff and fortran
+ and rename "token" to "tokens". (Randy McMurchy)
+
+2008-10-01 10:30 Christos Zoulas
+
+ * Read ~/.magic in addition to the default magic file not instead
+ of, as documented in the man page.
+
+2008-09-10 21:30 Reuben Thomas
+
+ * Comment out graphviz patterns, as they match too many files.
+
2008-08-30 12:54 Christos Zoulas
* Don't eat trailing \n in magic enties.
* Cast defines to allow compilation using a c++ compiler.
+2008-08-25 23:56 Reuben Thomas
+
+ * Add text/x-lua MIME type for Lua scripts.
+
+ * Escape { in regex in graphviz patterns.
+
2008-07-26 00:59 Reuben Thomas
* Add MIME types for special files.
@@ -55,22 +151,22 @@
2008-05-06 00:13 Robert Byrnes
- * src/Makefile.am:
+ * src/Makefile.am:
Ensure that getopt_long and [v]asprintf are included in libmagic,
as needed.
Remove unnecessary EXTRA_DIST.
- * src/Makefile.in:
+ * src/Makefile.in:
Rerun automake.
- * src/vasprintf.c (dispatch):
+ * src/vasprintf.c (dispatch):
Fix variable precision bug: be sure to step past '*'.
- * src/vasprintf.c (core):
+ * src/vasprintf.c (core):
Remove unreachable code.
- * src/apprentice.c (set_test_type):
+ * src/apprentice.c (set_test_type):
Add cast to avoid compiler warning.
2008-04-22 23:45 Christos Zoulas
@@ -81,12 +177,12 @@
2008-04-04 11:00 Christos Zoulas
- * >= <= is not supported, so fix the magic and warn about it.
+ * >= <= is not supported, so fix the magic and warn about it.
reported by: Thien-Thi Nguyen
2008-03-27 16:16 Robert Byrnes
- * src/readelf.c (donote):
+ * src/readelf.c (donote):
ELF core file command name/line bug fixes and enhancements:
Try larger offsets first to avoid false matches
@@ -112,7 +208,7 @@
* Clarify UTF-8 BOM message (Reuben Thomas)
* Add HTML comment to token list in names.h
-
+
2007-02-04 15:50 Christos Zoulas
* Debian fixes (Reuben Thomas)
@@ -152,7 +248,7 @@
2007-10-28 20:48 Christos Zoulas
- * float and double magic support (Behan Webster)
+ * float and double magic support (Behan Webster)
2007-10-28 20:48 Christos Zoulas
@@ -199,7 +295,7 @@
be easily parsed:
mimetype [charset=character-set] [encoding=encoding-mime-type]
- Remove spurious extra text from some MIME type printouts
+ Remove spurious extra text from some MIME type printouts
(mostly in is_tar).
Fix one case where -i produced nothing at all (for a 1-byte file,
@@ -229,7 +325,7 @@
2007-03-15 10:51 Christos Zoulas
* fix fortran and nroff reversed tests (Dmitry V. Levin)
-
+
* fix exclude option (Dmitry V. Levin)
2007-02-08 17:30 Christos Zoulas
@@ -248,7 +344,7 @@
* Add exclude flag.
2007-01-18 05:29 Anon Ymous
-
+
* Move the "type" detection code from parse() into its own table
driven routine. This avoids maintaining multiple lists in
file.h.
@@ -256,7 +352,7 @@
* Add an optional conditional field (ust before the type field).
This code is wrapped in "#ifdef ENABLE_CONDITIONALS" as it is
likely to go away.
-
+
2007-01-16 23:24 Anon Ymous
* Fix an initialization bug in check_mem().
@@ -327,7 +423,7 @@
2006-12-08 16:32 Christos Zoulas
* store and print the line number of the magic
- entry for debugging.
+ entry for debugging.
* if the magic entry did not print anything,
don't treat it as a match
@@ -342,7 +438,7 @@
file_softmagic.
2006-11-25 13:35 Christos Zoulas
-
+
* Don't store the current offset in the magic
struct, because it needs to be restored and
it was not done properly all the time. Bug
@@ -432,7 +528,7 @@
* Look for note sections in non executables.
2005-09-20 13:33 Christos Zoulas
-
+
* Don't print SVR4 Style in core files multiple times
(Radek Vokál)
@@ -443,9 +539,9 @@
2005-08-18 09:53 Christos Zoulas
* Remove erroreous mention of /etc/magic in the file man page
- This is gentoo bug 101639. (Mike Frysinger)
+ This is gentoo bug 101639. (Mike Frysinger)
- * Cross-compile support and detection (Mike Frysinger)
+ * Cross-compile support and detection (Mike Frysinger)
2005-08-12 10:17 Christos Zoulas
@@ -477,20 +573,20 @@
* Avoid NULL pointer dereference in time conversion.
2005-03-06 00:00 Joerg Walter
-
+
* Add indirect magic offset support, and search mode.
2005-01-12 00:00 Stepan Kasal
- * src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
- If a CRLF text file happens to have CR at offset HOWMANY - 1
- (currently 0xffff), it should not be counted as CR line
- terminator.
- If a line has length exactly MAXLINELEN, it should not yet be
- treated as a ``very long line'', as MAXLINELEN is ``longest sane
- line length''.
- With CRLF, the line length was not computed correctly, and even
- lines of length MAXLINELEN - 1 were treated as ``very long''.
+ * src/ascmagic.c (file_ascmagic): Fix three bugs about text files:
+ If a CRLF text file happens to have CR at offset HOWMANY - 1
+ (currently 0xffff), it should not be counted as CR line
+ terminator.
+ If a line has length exactly MAXLINELEN, it should not yet be
+ treated as a ``very long line'', as MAXLINELEN is ``longest sane
+ line length''.
+ With CRLF, the line length was not computed correctly, and even
+ lines of length MAXLINELEN - 1 were treated as ``very long''.
2004-12-07 14:15 Christos Zoulas
@@ -525,12 +621,12 @@
* Remove 3rd and 4th copyright clause; approved by Ian Darwin.
- * Fix small memory leaks; caught by: Tamas Sarlos
+ * Fix small memory leaks; caught by: Tamas Sarlos
2004-07-24 16:33 Christos Zoulas
- * magic.mime update Danny Milosavljevic
+ * magic.mime update Danny Milosavljevic
* FreeBSD version update Oliver Eikemeier
==== //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/animation#3 (text+ko) ====
@@ -325,6 +325,7 @@
# MP2, M1A
0 beshort&0xFFFE 0xFFFC MPEG ADTS, layer II, v1
+!:mime audio/mpeg
# rates
>2 byte&0xF0 0x10 \b, 32 kbps
>2 byte&0xF0 0x20 \b, 48 kbps
@@ -399,6 +400,7 @@
# MP3, M2A
0 beshort&0xFFFE 0xFFF2 MPEG ADTS, layer III, v2
+!:mime audio/mpeg
# rate
>2 byte&0xF0 0x10 \b, 8 kbps
>2 byte&0xF0 0x20 \b, 16 kbps
@@ -790,3 +792,24 @@
0 belong 0x00000001
>4 byte&0x1F 0x07
!:mime video/h264
+
+# Type: Bink Video
+# URL: http://wiki.multimedia.cx/index.php?title=3DBink_Container
+# From: 2008-07-18
+0 string BIK Bink Video
+>3 regex =[a-z] rev.%s
+#>4 ulelong x size %d
+>20 ulelong x \b, %d
+>24 ulelong x \bx%d
+>8 ulelong x \b, %d frames
+>32 ulelong x at rate %d/
+>28 ulelong >1 \b%d
+>40 ulelong =0 \b, no audio
+>40 ulelong !0 \b, %d audio track
+>>40 ulelong !1 \bs
+# follow properties of the first audio track only
+>>48 uleshort x %dHz
+>>51 byte&0x20 0 mono
+>>51 byte&0x20 !0 stereo
+#>>51 byte&0x10 0 FFT
+#>>51 byte&0x10 !0 DCT
==== //depot/projects/soc2008/trasz_nfs4acl/contrib/file/Magdir/audio#3 (text+ko) ====
@@ -286,43 +286,14 @@
# SGI SoundTrack
0 string _SGI_SoundTrack SGI SoundTrack project file
# ID3 version 2 tags
-0 string ID3 Audio file with ID3 version 2.
-# ??? Normally such a file is an MP3 file, but this will give false positives
-!:mime audio/mpeg
->3 ubyte <0xff \b%d
-#>4 ubyte <0xff \b%d tag
->2584 string fLaC \b, FLAC encoding
->>2588 byte&0x7f >0 \b, unknown version
->>2588 byte&0x7f 0 \b
-# some common bits/sample values
->>>2600 beshort&0x1f0 0x030 \b, 4 bit
->>>2600 beshort&0x1f0 0x050 \b, 6 bit
->>>2600 beshort&0x1f0 0x070 \b, 8 bit
->>>2600 beshort&0x1f0 0x0b0 \b, 12 bit
->>>2600 beshort&0x1f0 0x0f0 \b, 16 bit
->>>2600 beshort&0x1f0 0x170 \b, 24 bit
->>>2600 byte&0xe 0x0 \b, mono
->>>2600 byte&0xe 0x2 \b, stereo
->>>2600 byte&0xe 0x4 \b, 3 channels
->>>2600 byte&0xe 0x6 \b, 4 channels
->>>2600 byte&0xe 0x8 \b, 5 channels
->>>2600 byte&0xe 0xa \b, 6 channels
->>>2600 byte&0xe 0xc \b, 7 channels
->>>2600 byte&0xe 0xe \b, 8 channels
-# some common sample rates
->>>2597 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
->>>2597 belong&0xfffff0 0x0bb800 \b, 48 kHz
->>>2597 belong&0xfffff0 0x07d000 \b, 32 kHz
->>>2597 belong&0xfffff0 0x056220 \b, 22.05 kHz
->>>2597 belong&0xfffff0 0x05dc00 \b, 24 kHz
->>>2597 belong&0xfffff0 0x03e800 \b, 16 kHz
->>>2597 belong&0xfffff0 0x02b110 \b, 11.025 kHz
->>>2597 belong&0xfffff0 0x02ee00 \b, 12 kHz
->>>2597 belong&0xfffff0 0x01f400 \b, 8 kHz
->>>2597 belong&0xfffff0 0x177000 \b, 96 kHz
->>>2597 belong&0xfffff0 0x0fa000 \b, 64 kHz
->>>2601 byte&0xf >0 \b, >4G samples
->2584 string !fLaC \b, MP3 encoding
+0 string ID3 Audio file with ID3 version 2
+>3 byte x \b.%d
+>4 byte x \b.%d
+>>5 byte &0x80 \b, unsynchronized frames
+>>5 byte &0x40 \b, extended header
+>>5 byte &0x20 \b, experimental
+>>5 byte &0x10 \b, footer present
+>(6.I) indirect x \b, contains:
# NSF (NES sound file) magic
>>> TRUNCATED FOR MAIL (1000 lines) <<<
From rene at FreeBSD.org Tue May 5 20:25:50 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 20:25:57 2009
Subject: PERFORCE change 161637 for review
Message-ID: <200905052025.n45KPncN016395@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161637
Change 161637 by rene@rene_self on 2009/05/05 20:24:52
[website]
* add new files administration.sgml and developers.sgml (to be translated)
* remove cgi and WEB_LANG magic from Makefile, this prevents "make clean" being self-recursive
* translate/update about.sgml, applications.sgml, art.sgml, and availability.sgml
Affected files ...
.. //depot/projects/docproj_nl/www/nl/Makefile#4 edit
.. //depot/projects/docproj_nl/www/nl/about.sgml#2 edit
.. //depot/projects/docproj_nl/www/nl/administration.sgml#1 add
.. //depot/projects/docproj_nl/www/nl/applications.sgml#2 edit
.. //depot/projects/docproj_nl/www/nl/art.sgml#2 edit
.. //depot/projects/docproj_nl/www/nl/availability.sgml#2 edit
.. //depot/projects/docproj_nl/www/nl/developers.sgml#1 add
Differences ...
==== //depot/projects/docproj_nl/www/nl/Makefile#4 (text+ko) ====
@@ -87,22 +87,6 @@
#SUBDIR+= relnotes
#.endif
-# Non-SGML
-SUBDIR+= cgi
-SUBDIR+= gifs
-SUBDIR+= layout
-SUBDIR+= logo
-
-WEB_LANG?= da de el es fr hu it ja mn nl pt_BR ru zh_CN zh_TW
-
-# Non-English
-
-.if !defined(ENGLISH_ONLY) || empty(ENGLISH_ONLY)
-.for DIR in ${WEB_LANG}
-SUBDIR+= ../${DIR}
-.endfor
-.endif
-
WEBDIR?= data/nl
.include "${WEB_PREFIX}/share/mk/web.site.mk"
==== //depot/projects/docproj_nl/www/nl/about.sgml#2 (text+ko) ====
@@ -1,12 +1,13 @@
-
+
- %navincludes;
- %includes;
+
]>
-
-
-
+
&header;
@@ -14,11 +15,11 @@
FreeBSD is een geavanceerd besturingssysteem voor x86-compatibele
(inclusief Pentium® en Athlon™), amd64-compatibele
- (inclusief Opteron™, Athlon 64, en EM64T), Alpha/AXP, IA-64,
- PC-98 en UltraSPARC® architecturen. Het is afgeleid van BSD, de
- versie van &unix; ontwikkeld op de University of California,
+ (inclusief Opteron™, Athlon™64, en EM64T), ARM, IA-64,
+ PowerPC, PC-98 en UltraSPARC® architecturen. Het is afgeleid
+ van BSD, de versie van &unix; ontwikkeld op de University of California,
Berkeley. Het wordt ontwikkeld en onderhouden door
+ href="&enbase;/doc/en_US.ISO8859-1/articles/contributors/staff-committers.html">
een groot team van individuen. Aanvullende platformen verkeren in
verschillende stadia van ontwikkeling.
@@ -38,23 +39,30 @@
het geheugen om goede reactietijden te geven voor duizenden
gelijktijdige gebruikersprocessen.
+
Geavanceerd embedded platform
+
+
FreeBSD biedt geavanceerde mogelijkheden netwerkbesturingssystemen en
+ embedded platforms, van duurdere op Intel gebaseerde toepassingen tot
+ Arm, PowerPC en sinds kort MIPS hardware-architecturen. Van mail- en
+ webtoepassingen tot routers, tijdservers en draadloze toegangspunten,
+ wereldwijd vertrouwen verkopers op de geïntegreerde bouw- en
+ kruisbouwomgevingen en geavanceerde mogelijkheden van FreeBSD als de
+ basis van hun embedded producten. En met de open-source licentie van
+ Berkeley bepalen zij hoeveel van de plaatselijke veranderingen ze
+ teruggeven.
+
Draai een groot aantal applicaties
-
De kwaliteit van FreeBSD gecombineerd met de goedkope, razendsnelle
- PC-hardware van vandaag maakt FreeBSD een zeer economisch
- alternatief voor commerciële &unix; werkstations. Het is goed
- geschikt voor een groot aantal applicaties voor zowel het
- bureaublad als de server.
+
Met meer dan 20.000 geporteerde bibliotheken en toepassingen ondersteunt FreeBSD
+ toepassingen voor bureaublad-, applicatie-, en embedded omgevingen.
Zelfs als u geen programmeur bent, zijn er andere manieren om aan
@@ -89,8 +97,8 @@
een non-profit organisatie waarvoor directe bijdragen volledig
belastingaftrekbaar zijn. Neem voor verdere informatie alstublieft
contact op met bod@FreeBSDFoundation.org
- of schrijf naar: The FreeBSD Foundation, 7321 Brockway Dr., Boulder,
+ href="mailto:board@FreeBSDFoundation.org">board@FreeBSDFoundation.org
+ of schrijf naar: The FreeBSD Foundation, P.O. Box 20247, Boulder,
CO 80303, USA.
Met het genereuze licensiebeleid
+ href="&base;/copyright/freebsd-license.html">licensiebeleid
kan FreeBSD als de basis van elk aantal vrije of
commerciële applicaties gebruikt worden.
@@ -50,11 +51,11 @@
vinden FreeBSD ideaal om WWW, Usenet nieuws, FTP, email, en
andere diensten te draaien. Direct te gebruiken software
zoals de Apache webserver
- of de ProFTPD FTP-server maken het eenvoudig om een zaak-
- of gemeenschapsgerichte ISP op te zetten. Natuurlijk, met
- FreeBSD's onverslaanbare
- netwerkdienst, zullen uw gebruikers genieten van
- razendsnelle, betrouwbare diensten.
+ of de ProFTPD FTP-server maken
+ het eenvoudig om een zaak- of gemeenschapsgerichte ISP op te zetten.
+ Natuurlijk, met FreeBSD's onverslaanbare netwerkdienst, zullen uw gebruikers
+ genieten van razendsnelle, betrouwbare diensten.
X Window werkstation. Van een goedkope X-terminal
tot een geavanceerd X-display werkt FreeBSD behoorlijk goed.
@@ -62,8 +63,10 @@
wordt met het systeem geleverd.
nVidia biedt
oorspronkelijke stuurprogramma's voor hun
- hoog presterende grafische hardware, en de industriestandaard-
- bibliotheken Motif® en OpenGL® worden ondersteund.
+ hoog presterende grafische hardware, en de
+ industriestandaardbibliotheken Motif® en OpenGL® worden ondersteund.
Zowel de KDE en GNOME bureaubladomgevingen
hebben volledige ondersteuning en bieden kantoorfunctionaliteit,
@@ -76,14 +79,14 @@
firewall, email-gastheer, printserver, PC/NFS-server, en meer
maken.
-
Software ontwikkeling. Een pakket aan
+
Software-ontwikkeling. Een pakket aan
ontwikkelgereedschappen wordt met FreeBSD geleverd, inclusief
- de GNU C/C++ compiler en debugger en de scripttaal Perl.
- Ontwikkelen in &java; en Tcl/Tk is ook mogelijk. Populaire
- tekstverwerkers als XEmacs en esoterischere programmeertalen
- als Icon werken ook gewoon goed. En de gedeelde bibliotheken
- van FreeBSD zijn altijd eenvoudig te bouwen en gebruiken
- geweest.
+ de GNU C/C++ compiler en debugger.
+ Ontwikkelen in &java; en Tcl/Tk is ook mogelijk, en
+ esoterischere talen zoals Icon werken ook prima. En de gedeelde
+ bibliotheken van FreeBSD zijn altijd eenvoudig te bouwen en
+ gebruiken geweest. U kunt ook kiezen uit een groot aantal
+ populaire en krachtige tekstverwerkers zoals XEmacs en Vim.
+ Power To Serve Logo" width="446" height="63" border="0">
+ Power To Serve Logo" width="310" height="63" border="0">
+ Power To Serve Logo" width="250" height="35" border="0">
+ Power To Serve Logo" width="225" height="46" border="0">
Oude advertentiebanners
==== //depot/projects/docproj_nl/www/nl/availability.sgml#2 (text+ko) ====
@@ -1,12 +1,13 @@
-
-
- %navincludes;
- %includes;
+
+
+
]>
-
-
-
+
From rene at FreeBSD.org Tue May 5 20:41:14 2009
From: rene at FreeBSD.org (Rene Ladan)
Date: Tue May 5 20:41:20 2009
Subject: PERFORCE change 161638 for review
Message-ID: <200905052041.n45Kf4HU017530@repoman.freebsd.org>
http://perforce.freebsd.org/chv.cgi?CH=161638
Change 161638 by rene@rene_self on 2009/05/05 20:40:33
[website]
Use the English version of developers.sgml, it has nothing to translate.
Affected files ...
.. //depot/projects/docproj_nl/www/nl/administration.sgml#2 edit
.. //depot/projects/docproj_nl/www/nl/art.sgml#3 edit
.. //depot/projects/docproj_nl/www/nl/developers.sgml#2 delete
Differences ...
==== //depot/projects/docproj_nl/www/nl/administration.sgml#2 (text+ko) ====
@@ -2,7 +2,7 @@
- %developers;
+ %developers;
]>
==== //depot/projects/docproj_nl/www/nl/art.sgml#3 (text+ko) ====
@@ -2,7 +2,7 @@
- %developers;
+ %developers;
]>
+
+
@@ -53,7 +53,7 @@
The basics of rc.conf configuration and
- /usr/local/etc/rc.d startup systems.
+ /usr/local/etc/rc.d startup systems.
How to configure and test a network card.
@@ -63,7 +63,7 @@
How to use the various configuration files in
- /etc.
+ /etc.
How to tune &os; using sysctl
@@ -97,13 +97,13 @@
partition layout
- /etc
+ /etc
- /var
+ /var
- /usr
+ /usr
@@ -115,32 +115,32 @@
tracks to the inner.
Thus smaller and heavier-accessed file systems
should be closer to the outside of the drive, while
- larger partitions like /usr should be placed
+ larger partitions like /usr should be placed
toward the inner parts of the disk. It is a good idea to create
partitions in an order similar to: root, swap,
- /var, /usr.
+ /var, /usr.
- The size of the /var partition
+ The size of the /var partition
reflects the intended machine usage.
- The /var file system is used to hold
+ The /var file system is used to hold
mailboxes, log files, and printer spools. Mailboxes and log
files can grow to unexpected sizes depending
on how many users exist and how long log
files are kept. Most users will rarely need more than about a
- gigabyte of free disk space in /var.
+ gigabyte of free disk space in /var.There are a few times that a lot of disk space is required
- in /var/tmp. When new software is installed
+ in /var/tmp. When new software is installed
with &man.pkg.add.1; the packaging tools extract a temporary copy
- of the packages under /var/tmp. Large
+ of the packages under /var/tmp. Large
software packages, like Firefox,
or OpenOffice may be tricky to install
if there is not enough disk space
- under /var/tmp.
+ under /var/tmp.
- The /usr partition holds many
+ The /usr partition holds many
of the files required to support the system, including the &man.ports.7;
collection (recommended) and the source code (optional). Both the
ports and the sources of the base system are optional at install
@@ -154,8 +154,8 @@
Some users have found that &man.sysinstall.8;'s
Auto-defaults partition sizer will
- sometimes select smaller than adequate /var
- and / partitions. Partition wisely and
+ sometimes select smaller than adequate /var
+ and / partitions. Partition wisely and
generously.
@@ -200,10 +200,10 @@
First, each partition has different operational
characteristics and separating them allows the file system to
tune accordingly. For example, the root
- and /usr partitions are read-mostly, without
+ and /usr partitions are read-mostly, without
much writing. While a lot of reading and writing could
- occur in /var and
- /var/tmp.
+ occur in /var and
+ /var/tmp.By properly partitioning a system, fragmentation
introduced in the smaller write heavy partitions
@@ -216,7 +216,7 @@
performance in the larger partitions may be needed,
shifting them more toward the edge of the disk will not
lead to a significant performance improvement over moving
- /var to the edge.
+ /var to the edge.
Finally, there are safety concerns. A smaller, neater root
partition which is mostly read-only has a greater
chance of surviving a bad crash.
@@ -244,7 +244,7 @@
rc.conf file to
override the default settings from
/etc/defaults/rc.conf. The defaults file
- should not be copied verbatim to /etc - it
+ should not be copied verbatim to /etc - it
contains default values, not examples. All system-specific
changes should be made in the rc.conf
file itself.
@@ -297,7 +297,7 @@
/usr/local/etcTypically, these files are installed in
- /usr/local/etc. In the case where an
+ /usr/local/etc. In the case where an
application has a large number of configuration files, a
subdirectory will be created to hold them.
@@ -309,7 +309,7 @@
copying the .default files.
For example, consider the contents of the directory
- /usr/local/etc/apache:
+ /usr/local/etc/apache:
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
@@ -527,7 +527,7 @@
One of the most useful utilities in &os; is &man.cron.8;. The
cron utility runs in the background and constantly
checks the /etc/crontab file. The cron
- utility also checks the /var/cron/tabs directory, in
+ utility also checks the /var/cron/tabs directory, in
search of new crontab files. These
crontab files store information about specific
functions which cron is supposed to perform at
@@ -702,7 +702,7 @@
In 2002 &os; integrated the NetBSD
rc.d system for system initialization.
Users should notice the files listed in the
- /etc/rc.d directory. Many of these files
+ /etc/rc.d directory. Many of these files
are for basic services which can be controlled with the
, ,
and options.
@@ -1418,7 +1418,7 @@
Configuration Files
- /etc Layout
+ /etc LayoutThere are a number of directories in which configuration
information is kept. These include:
@@ -1429,42 +1429,42 @@
- /etc
+ /etcGeneric system configuration information; data here is
system-specific.
- /etc/defaults
+ /etc/defaultsDefault versions of system configuration files.
- /etc/mail
+ /etc/mailExtra &man.sendmail.8; configuration, other
MTA configuration files.
- /etc/ppp
+ /etc/pppConfiguration for both user- and kernel-ppp programs.
- /etc/namedb
+ /etc/namedbDefault location for &man.named.8; data. Normally
named.conf and zone files are stored
here.
- /usr/local/etc
+ /usr/local/etcConfiguration files for installed applications.
May contain per-application subdirectories.
- /usr/local/etc/rc.d
+ /usr/local/etc/rc.dStart/stop scripts for installed applications.
- /var/db
+ /var/dbAutomatically generated system-specific database files,
such as the package database, the locate database, and so
on
==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#7 (text+ko) ====
@@ -1,6 +1,6 @@
@@ -661,6 +661,38 @@
/dev/label/usr on /usr (ufs, local, soft-updates)
/dev/label/var on /var (ufs, local, soft-updates)
+
+ Starting with &os; 7.2, the &man.glabel.8; class supports
+ a new label type for UFS file systems, based on
+ the unique file system id, ufsid. These labels may
+ be found in the /dev/ufsid
+ directory and are created automatically during system startup. It is
+ possible to use ufsid labels to mount partitions
+ using the /etc/fstab facility. Use the
+ glabel status command to receive a list of
+ file systems and their corresponding ufsid
+ labels:
+
+ &prompt.user; glabel status
+ Name Status Components
+ufsid/486b6fc38d330916 N/A ad4s1d
+ufsid/486b6fc16926168e N/A ad4s1f
+
+ In the above example ad4s1d
+ represents the /var
+ file system, while ad4s1f represents the
+ /usr file system. Using the
+ ufsid values shown, these partitions
+ may now be mounted with the following entries in
+ /etc/fstab:
+
+ /dev/ufsid/486b6fc38d330916 /var ufs rw 2 2
+/dev/ufsid/486b6fc16926168e /usr ufs rw 2 2
+
+ Any partitions with ufsid labels can be
+ mounted in this way, eliminating the need to create permanent
+ labels for them manually, while still enjoying the benefits of
+ device-name independent mounting.
==== //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/authors.ent#18 (text+ko) ====
@@ -13,7 +13,7 @@
builds for the other languages, and we will poke fun of you
in public.
- $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.476 2009/04/05 17:51:17 rmacklem Exp $
+ $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.477 2009/05/05 09:13:27 snb Exp $
-->
aaron@FreeBSD.org">
@@ -1004,6 +1004,8 @@
smpatel@FreeBSD.org">
+snb@FreeBSD.org">
+
sobomax@FreeBSD.org">
sos@FreeBSD.org">
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/introduction/chapter.sgml#18 (text+ko) ====
@@ -1,7 +1,7 @@
+
@@ -9,7 +9,6 @@
uid Giorgos Keramidas
uid Giorgos Keramidas
uid Giorgos Keramidas
-uid Giorgos Keramidas
sub 1024g/50FDBAD1 2001-09-21
]]>
==== //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#16 (text+ko) ====
@@ -1,7 +1,7 @@
@@ -59,6 +59,11 @@
&pgpkey.jhb;
+
+ &a.snb;
+ &pgpkey.snb;
+
+
&a.barner;
&pgpkey.barner;
==== //depot/projects/docproj_nl/share/pgpkeys/pgpkeys.ent#16 (text+ko) ====
@@ -1,5 +1,5 @@
-
+
@@ -266,6 +266,7 @@
+
==== //depot/projects/docproj_nl/www/en/about.sgml#2 (text+ko) ====
@@ -1,5 +1,5 @@
+
]>
@@ -55,7 +55,7 @@
[20090501] Some machines do not recognize the i386 disc1 as bootable and fall through
to booting off the next boot device. All affected machines did see the other discs as
bootable. As a workaround, you can boot using the bootonly or livefs CDROM and then swap
-in disc1 once sysinstall starts.
+Notice to fix this problem is planned after the release.
+
+
[20090505] A bug was found in the bce(4) driver. This
+prevents it from working with the
+lagg(4) driver
+in the LACP (IEEE 802.3ad Link Aggregation Control Protocol) mode. An Errata Notice to
+fix this problem is planned after the release.
[20090504] A patch to solve the locking issue in the
+malloc(3)
+implementation and threading library has been committed to the RELENG_7 branch for public testing.