From owner-p4-projects@FreeBSD.ORG Sun Sep 6 06:56:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FA3E1065695; Sun, 6 Sep 2009 06:56:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0291A1065676 for ; Sun, 6 Sep 2009 06:56:07 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E51078FC16 for ; Sun, 6 Sep 2009 06:56:06 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n866u6bd017282 for ; Sun, 6 Sep 2009 06:56:06 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n866u6UK017280 for perforce@freebsd.org; Sun, 6 Sep 2009 06:56:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 6 Sep 2009 06:56:06 GMT Message-Id: <200909060656.n866u6UK017280@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 06:56:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=168223 Change 168223 by hselasky@hselasky_laptop001 on 2009/09/06 06:55:32 USB core: - increase size of scratch area - add support for USB language selection - reported by: Bruce Cran PR: usb/138563 Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#15 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#53 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_bus.h#15 (text+ko) ==== @@ -98,10 +98,14 @@ uint8_t devices_max; /* maximum number of USB devices */ uint8_t do_probe; /* set if USB BUS should be re-probed */ + /* + * The scratch area can only be used inside the explore thread + * belonging to the give serial bus. + */ union { struct usb_hw_ep_scratch hw_ep_scratch[1]; struct usb_temp_setup temp_setup[1]; - uint8_t data[128]; + uint8_t data[255]; } scratch[1]; }; ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#53 (text+ko) ==== @@ -105,9 +105,23 @@ int usb_template = 0; +TUNABLE_INT("hw.usb.usb_template", &usb_template); SYSCTL_INT(_hw_usb, OID_AUTO, template, CTLFLAG_RW, &usb_template, 0, "Selected USB device side template"); +/* English is default language */ + +static int usb_lang_id = 0x0009; +static int usb_lang_mask = 0x00FF; + +TUNABLE_INT("hw.usb.usb_lang_id", &usb_lang_id); +SYSCTL_INT(_hw_usb, OID_AUTO, usb_lang_id, CTLFLAG_RW, + &usb_lang_id, 0, "Preferred USB language ID"); + +TUNABLE_INT("hw.usb.usb_lang_mask", &usb_lang_mask); +SYSCTL_INT(_hw_usb, OID_AUTO, usb_lang_mask, CTLFLAG_RW, + &usb_lang_mask, 0, "Preferred USB language mask"); + static const char* statestr[USB_STATE_MAX] = { [USB_STATE_DETACHED] = "DETACHED", [USB_STATE_ATTACHED] = "ATTACHED", @@ -1441,7 +1455,7 @@ struct usb_device *adev; struct usb_device *hub; uint8_t *scratch_ptr; - uint32_t scratch_size; + size_t scratch_size; usb_error_t err; uint8_t device_index; @@ -1687,8 +1701,35 @@ if (err || (scratch_ptr[0] < 4)) { udev->flags.no_strings = 1; } else { - /* pick the first language as the default */ - udev->langid = UGETW(scratch_ptr + 2); + uint16_t langid; + uint16_t pref; + uint16_t mask; + uint8_t x; + + /* load preferred value and mask */ + pref = usb_lang_id; + mask = usb_lang_mask; + + /* align length correctly */ + scratch_ptr[0] &= ~1; + + /* fix compiler warning */ + langid = 0; + + /* search for preferred language */ + for (x = 2; (x < scratch_ptr[0]); x += 2) { + langid = UGETW(scratch_ptr + x); + if ((langid & mask) == pref) + break; + } + if (x >= scratch_ptr[0]) { + /* pick the first language as the default */ + DPRINTFN(1, "Using first language\n"); + langid = UGETW(scratch_ptr + 2); + } + + DPRINTFN(1, "Language selected: 0x%04x\n", langid); + udev->langid = langid; } /* assume 100mA bus powered for now. Changed when configured. */ @@ -2153,34 +2194,35 @@ #ifdef USB_VERBOSE const struct usb_knowndev *kdp; #endif - char temp[64]; + uint8_t *temp_ptr; + size_t temp_size; uint16_t vendor_id; uint16_t product_id; + temp_ptr = udev->bus->scratch[0].data; + temp_size = sizeof(udev->bus->scratch[0].data); + vendor_id = UGETW(udd->idVendor); product_id = UGETW(udd->idProduct); /* get serial number string */ - bzero(temp, sizeof(temp)); - usbd_req_get_string_any(udev, NULL, temp, sizeof(temp), + usbd_req_get_string_any(udev, NULL, temp_ptr, temp_size, udev->ddesc.iSerialNumber); - udev->serial = strdup(temp, M_USB); + udev->serial = strdup(temp_ptr, M_USB); /* get manufacturer string */ - bzero(temp, sizeof(temp)); - usbd_req_get_string_any(udev, NULL, temp, sizeof(temp), + usbd_req_get_string_any(udev, NULL, temp_ptr, temp_size, udev->ddesc.iManufacturer); - usb_trim_spaces(temp); - if (temp[0] != '\0') - udev->manufacturer = strdup(temp, M_USB); + usb_trim_spaces(temp_ptr); + if (temp_ptr[0] != '\0') + udev->manufacturer = strdup(temp_ptr, M_USB); /* get product string */ - bzero(temp, sizeof(temp)); - usbd_req_get_string_any(udev, NULL, temp, sizeof(temp), + usbd_req_get_string_any(udev, NULL, temp_ptr, temp_size, udev->ddesc.iProduct); - usb_trim_spaces(temp); - if (temp[0] != '\0') - udev->product = strdup(temp, M_USB); + usb_trim_spaces(temp_ptr); + if (temp_ptr[0] != '\0') + udev->product = strdup(temp_ptr, M_USB); #ifdef USB_VERBOSE if (udev->manufacturer == NULL || udev->product == NULL) { @@ -2206,12 +2248,12 @@ #endif /* Provide default strings if none were found */ if (udev->manufacturer == NULL) { - snprintf(temp, sizeof(temp), "vendor 0x%04x", vendor_id); - udev->manufacturer = strdup(temp, M_USB); + snprintf(temp_ptr, temp_size, "vendor 0x%04x", vendor_id); + udev->manufacturer = strdup(temp_ptr, M_USB); } if (udev->product == NULL) { - snprintf(temp, sizeof(temp), "product 0x%04x", product_id); - udev->product = strdup(temp, M_USB); + snprintf(temp_ptr, temp_size, "product 0x%04x", product_id); + udev->product = strdup(temp_ptr, M_USB); } } From owner-p4-projects@FreeBSD.ORG Sun Sep 6 10:15:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C94011065672; Sun, 6 Sep 2009 10:15:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DE4C1065670 for ; Sun, 6 Sep 2009 10:15:45 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6341F8FC08 for ; Sun, 6 Sep 2009 10:15:45 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86AFj3P045850 for ; Sun, 6 Sep 2009 10:15:45 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86AFjQ8045848 for perforce@freebsd.org; Sun, 6 Sep 2009 10:15:45 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 6 Sep 2009 10:15:45 GMT Message-Id: <200909061015.n86AFjQ8045848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 168229 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 10:15:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=168229 Change 168229 by rene@rene_self on 2009/09/06 10:14:52 MFen articles/Makefile 1.60 -> 1.61 (SRCID bump) Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/Makefile#12 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/Makefile#12 (text+ko) ==== @@ -1,7 +1,7 @@ # $FreeBSD: doc/nl_NL.ISO8859-1/articles/Makefile,v 1.5 2009/04/12 12:09:37 rene Exp $ # %SOURCE% en_US.ISO8859-1/articles/Makefile -# %SRCID% 1.60 +# %SRCID% 1.61 SUBDIR = SUBDIR+= contributing From owner-p4-projects@FreeBSD.ORG Sun Sep 6 11:02:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 096801065672; Sun, 6 Sep 2009 11:02:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C24F8106566B for ; Sun, 6 Sep 2009 11:02:36 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 97F8F8FC08 for ; Sun, 6 Sep 2009 11:02:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86B2a6d049355 for ; Sun, 6 Sep 2009 11:02:36 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86B2a7O049353 for perforce@freebsd.org; Sun, 6 Sep 2009 11:02:36 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 6 Sep 2009 11:02:36 GMT Message-Id: <200909061102.n86B2a7O049353@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 168232 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 11:02:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=168232 Change 168232 by pgj@beehive on 2009/09/06 11:02:05 IFC Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/press.xml#24 integrate Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/press.xml#24 (text+ko) ==== @@ -11,7 +11,7 @@ - $FreeBSD: www/hu/share/sgml/press.xml,v 1.10 2009/08/26 14:50:43 pgj Exp $ + $FreeBSD: www/hu/share/sgml/press.xml,v 1.11 2009/09/05 08:03:27 pgj Exp $ From owner-p4-projects@FreeBSD.ORG Sun Sep 6 12:37:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F03501065679; Sun, 6 Sep 2009 12:37:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4CF4106566C for ; Sun, 6 Sep 2009 12:37:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A3CD28FC15 for ; Sun, 6 Sep 2009 12:37:20 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86CbKIn058207 for ; Sun, 6 Sep 2009 12:37:20 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86CbK2v058205 for perforce@freebsd.org; Sun, 6 Sep 2009 12:37:20 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 6 Sep 2009 12:37:20 GMT Message-Id: <200909061237.n86CbK2v058205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 168236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 12:37:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=168236 Change 168236 by pgj@beehive on 2009/09/06 12:37:17 MFen (doc): 1.60 -> 1.61 hu_HU.ISO8859-2/articles/Makefile 1.89 -> 1.90 hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml 1.138 -> 1.139 hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml 1.19 -> 1.20 hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile#12 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#20 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#10 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#10 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile#12 (text+ko) ==== @@ -3,7 +3,7 @@ # # The FreeBSD Hungarian Documentation Project # %SOURCE% en_US.ISO8859-1/articles/Makefile -# %SRCID% 1.60 +# %SRCID% 1.61 # MAINTAINER= gabor@FreeBSD.org ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#20 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -3052,11 +3052,13 @@ tartalmazó állomány abszolút elérési útvonalát, az &man.ipfw.8; parancssori beállításai nélkül. - Egy egyszerû szabályrendszer lehet - például a következõ: + Az alábbi példában egy olyan egyszerû + szabályrendszert láthatunk, amely blokkolja az + összes bejövõ és kimenõ + forgalmat: - add block in all -add block out all + add deny in +add deny out Másrészrõl az firewall_script változóban is @@ -3070,8 +3072,8 @@ ipfw -q flush -ipfw add block in all -ipfw add block out all +ipfw add deny in +ipfw add deny out Ha a firewall_type ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#10 (text+ko) ==== @@ -7,7 +7,7 @@ The FreeBSD Hungarian Documentation Project Translated by: PALI, Gabor %SOURCE% en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml - %SRCID% 1.138 + %SRCID% 1.139 --> @@ -449,7 +449,33 @@ szükséges bélyegeket, ezért ez a lépés a jövõben egyre inkább feleslegessé válik. + + + + Tetszõleges RPM formátumú csomag + telepítése + + A &os; a telepített (akár linuxos) + alkalmazások nyomonkövetésére + saját csomagadatbázissal rendelkezik, amelynek + következében a &linux; által + felkínált RPM adatbázisokat nem + támogatja. + Ennek ellenére akármelyik RPM alapú + &linux; alkalmazás telepíthetõ + rendszerünkre a következõ módon: + + &prompt.root; cd /compat/linux +&prompt.root; rpm2cpio -q < /a/linuxos/allomány.helye.rpm | cpio -id + + Ezt követõen a &man.brandelf.1; + segítségével állítsuk be az ELF + binárisokat (könyvtárakat viszont ne!) + megfelelõ típusúra. Ekkor ugyan nem + leszünk képesek rendesen eltávolítani + az így telepített szoftvert, de ez a + módszer teszteléshez megfelelõ. ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#10 (text+ko) ==== @@ -1374,9 +1374,7 @@ lehetõségek A &os; &xen; - gazdarendszerként is hamarosan elérhetõ lesz, a - &os; 8.0 kiadása már kísérleti - jelleggel tartalmazni fogja egy változatát. + gazdarendszerként is hamarosan elérhetõ lesz. From owner-p4-projects@FreeBSD.ORG Sun Sep 6 12:38:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EECE6106566C; Sun, 6 Sep 2009 12:38:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B368D106568F for ; Sun, 6 Sep 2009 12:38:21 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A30608FC13 for ; Sun, 6 Sep 2009 12:38:21 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86CcLg7058265 for ; Sun, 6 Sep 2009 12:38:21 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86CcLbY058263 for perforce@freebsd.org; Sun, 6 Sep 2009 12:38:21 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 6 Sep 2009 12:38:21 GMT Message-Id: <200909061238.n86CcLbY058263@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 168237 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 12:38:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=168237 Change 168237 by pgj@beehive on 2009/09/06 12:38:01 Fix SRCID in virtualization Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#11 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#11 (text+ko) ==== @@ -7,7 +7,7 @@ The FreeBSD Hungarian Documentation Project Translated by: PALI, Gabor %SOURCE% en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml - %SRCID% 1.19 + %SRCID% 1.20 --> From owner-p4-projects@FreeBSD.ORG Sun Sep 6 16:26:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 620BC1065692; Sun, 6 Sep 2009 16:26:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 25FF810656A3 for ; Sun, 6 Sep 2009 16:26:32 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 152BA8FC1C for ; Sun, 6 Sep 2009 16:26:32 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86GQVYw089286 for ; Sun, 6 Sep 2009 16:26:31 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86GQVtN089284 for perforce@freebsd.org; Sun, 6 Sep 2009 16:26:31 GMT (envelope-from mav@freebsd.org) Date: Sun, 6 Sep 2009 16:26:31 GMT Message-Id: <200909061626.n86GQVtN089284@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 168244 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 16:26:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=168244 Change 168244 by mav@mav_mavbook on 2009/09/06 16:26:24 Remove unnssede CAM_SIM_MPSAFE check. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#101 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#101 (text+ko) ==== @@ -4407,10 +4407,7 @@ device->tag_delay_count = 0; device->tag_saved_openings = 0; device->refcount = 1; - if (bus->sim->flags & CAM_SIM_MPSAFE) - callout_init_mtx(&device->callout, bus->sim->mtx, 0); - else - callout_init_mtx(&device->callout, &Giant, 0); + callout_init_mtx(&device->callout, bus->sim->mtx, 0); /* * Hold a reference to our parent target so it From owner-p4-projects@FreeBSD.ORG Sun Sep 6 16:31:38 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F0C81065692; Sun, 6 Sep 2009 16:31:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7D7C106568D for ; Sun, 6 Sep 2009 16:31:37 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B6DBF8FC1D for ; Sun, 6 Sep 2009 16:31:37 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86GVbfB089624 for ; Sun, 6 Sep 2009 16:31:37 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86GVbwZ089622 for perforce@freebsd.org; Sun, 6 Sep 2009 16:31:37 GMT (envelope-from mav@freebsd.org) Date: Sun, 6 Sep 2009 16:31:37 GMT Message-Id: <200909061631.n86GVbwZ089622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 168245 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 16:31:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=168245 Change 168245 by mav@mav_mavbook on 2009/09/06 16:30:52 Reorder some struct cam_sim elements to improve read caching. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_sim.h#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_sim.h#12 (text+ko) ==== @@ -94,23 +94,13 @@ const char *sim_name; void *softc; struct mtx *mtx; - TAILQ_HEAD(, ccb_hdr) sim_doneq; + struct cam_devq *devq; /* Device Queue to use for this SIM */ TAILQ_ENTRY(cam_sim) links; u_int32_t path_id;/* The Boot device may set this to 0? */ u_int32_t unit_number; u_int32_t bus_id; int max_tagged_dev_openings; int max_dev_openings; - u_int32_t flags; -#define CAM_SIM_REL_TIMEOUT_PENDING 0x01 -#define CAM_SIM_MPSAFE 0x02 -#define CAM_SIM_ON_DONEQ 0x04 - struct callout callout; - struct cam_devq *devq; /* Device Queue to use for this SIM */ - int refcount; /* References to the SIM. */ - - /* "Pool" of inactive ccbs managed by xpt_get_ccb and xpt_release_ccb */ - SLIST_HEAD(,ccb_hdr) ccb_freeq; /* * Maximum size of ccb pool. Modified as devices are added/removed * or have their * opening counts changed. @@ -118,7 +108,15 @@ u_int max_ccbs; /* Current count of allocated ccbs */ u_int ccb_count; - + struct callout callout; + u_int32_t flags; +#define CAM_SIM_REL_TIMEOUT_PENDING 0x01 +#define CAM_SIM_MPSAFE 0x02 +#define CAM_SIM_ON_DONEQ 0x04 + int refcount; /* References to the SIM. */ + TAILQ_HEAD(, ccb_hdr) sim_doneq; /* Completed requests queue. */ + /* "Pool" of inactive ccbs managed by xpt_get_ccb and xpt_release_ccb */ + SLIST_HEAD(, ccb_hdr) ccb_freeq; }; #define CAM_SIM_LOCK(sim) mtx_lock((sim)->mtx); From owner-p4-projects@FreeBSD.ORG Sun Sep 6 19:16:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 161E61065696; Sun, 6 Sep 2009 19:16:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDA4E106568F for ; Sun, 6 Sep 2009 19:16:39 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7A9908FC1F for ; Sun, 6 Sep 2009 19:16:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86JGdqD014984 for ; Sun, 6 Sep 2009 19:16:39 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86JGdbR014982 for perforce@freebsd.org; Sun, 6 Sep 2009 19:16:39 GMT (envelope-from mav@freebsd.org) Date: Sun, 6 Sep 2009 19:16:39 GMT Message-Id: <200909061916.n86JGdbR014982@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 168251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 19:16:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=168251 Change 168251 by mav@mav_mavbook on 2009/09/06 19:15:52 IFC Affected files ... .. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#14 integrate .. //depot/projects/scottl-camlock/src/UPDATING#15 integrate .. //depot/projects/scottl-camlock/src/bin/getfacl/getfacl.1#2 integrate .. //depot/projects/scottl-camlock/src/bin/getfacl/getfacl.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/mv/mv.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/ee/ee.c#3 integrate .. //depot/projects/scottl-camlock/src/etc/inetd.conf#3 integrate .. //depot/projects/scottl-camlock/src/etc/mtree/BSD.usr.dist#4 integrate .. //depot/projects/scottl-camlock/src/etc/mtree/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/ctype.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/digittoint.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isalnum.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isalpha.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isascii.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isblank.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/iscntrl.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isdigit.3#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isgraph.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isideogram.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/islower.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isphonogram.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isprint.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/ispunct.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isrune.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isspace.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isspecial.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isupper.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/isxdigit.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/toascii.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/tolower.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/locale/toupper.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/stdlib/malloc.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/intro.2#2 integrate .. //depot/projects/scottl-camlock/src/libexec/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#8 integrate .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#21 integrate .. //depot/projects/scottl-camlock/src/sbin/geom/class/mirror/geom_mirror.c#3 integrate .. //depot/projects/scottl-camlock/src/sbin/geom/class/mirror/gmirror.8#2 integrate .. //depot/projects/scottl-camlock/src/sbin/geom/core/geom.c#4 integrate .. //depot/projects/scottl-camlock/src/sbin/route/route.8#3 integrate .. //depot/projects/scottl-camlock/src/share/colldef/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/share/colldef/la_LN.ISO8859-13.src#1 branch .. //depot/projects/scottl-camlock/src/share/colldef/lt_LT.ISO8859-13.src#2 delete .. //depot/projects/scottl-camlock/src/share/man/man4/pts.4#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/pty.4#3 integrate .. //depot/projects/scottl-camlock/src/share/mklocale/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/share/mklocale/la_LN.ISO8859-13.src#1 branch .. //depot/projects/scottl-camlock/src/share/mklocale/lt_LT.ISO8859-13.src#2 delete .. //depot/projects/scottl-camlock/src/share/monetdef/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/share/monetdef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/scottl-camlock/src/share/msgdef/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/share/msgdef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/scottl-camlock/src/share/msgdef/lv_LV.UTF-8.src#1 branch .. //depot/projects/scottl-camlock/src/share/numericdef/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/share/timedef/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/share/timedef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/scottl-camlock/src/share/timedef/lv_LV.UTF-8.src#1 branch .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#102 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt_internal.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#45 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#61 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-dma.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_main.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/null/null.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pty/pty.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/rp/rp_pci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/scterm-teken.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_zyd.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_disk.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/geom/mirror/g_mirror_ctl.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/geom/stripe/g_stripe.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#28 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/pcpu.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_jail.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_bus.c#31 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_witness.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty_pts.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_arp.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_llatbl.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_dfs.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_sta.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/if_ether.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_fastfwd.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/icmp6.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_src.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_output.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netipsec/ipsec.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/netipsec/key.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/opencrypto/cryptodev.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/sys/bus.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ioctl_compat.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/tty.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ttycom.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/teken/teken.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/teken/teken.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/teken/teken_demo.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_softdep.c#22 integrate .. //depot/projects/scottl-camlock/src/usr.bin/ee/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/find/function.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/netstat/inet.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/netstat/main.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.bin/netstat/netstat.h#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/diskinfo/diskinfo.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/ndp/ndp.c#3 integrate Differences ... ==== //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.207 2009/09/02 14:56:23 flz Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.208 2009/09/03 16:34:20 remko Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,11 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090904: remove lukemftpd +OLD_FILES+=usr/libexec/lukemftpd +OLD_FILES+=usr/share/man/man5/ftpd.conf.5.gz +OLD_FILES+=usr/share/man/man5/ftpusers.5.gz +OLD_FILES+=usr/share/man/man8/lukemftpd.8.gz # 20090902: BSD.{x11,x11-4}.dist are dead and BSD.local.dist lives in ports/ OLD_FILES+=etc/mtree/BSD.local.dist OLD_FILES+=etc/mtree/BSD.x11.dist ==== //depot/projects/scottl-camlock/src/UPDATING#15 (text+ko) ==== @@ -1,51 +1,60 @@ Updating Information for FreeBSD current users -This file is maintained and copyrighted by M. Warner Losh -. See end of file for further details. For commonly -done items, please see the COMMON ITEMS: section later in the file. +This file is maintained and copyrighted by M. Warner Losh . +See end of file for further details. For commonly done items, please see the +COMMON ITEMS: section later in the file. These instructions assume that you +basically know what you are doing. If not, then please consult the FreeBSD +handbook. Items affecting the ports and packages system can be found in -/usr/ports/UPDATING. Please read that file before running -portupgrade. +/usr/ports/UPDATING. Please read that file before running portupgrade. NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.x IS SLOW: - FreeBSD 9.x has many debugging features turned on, in - both the kernel and userland. These features attempt to detect - incorrect use of system primitives, and encourage loud failure - through extra sanity checking and fail stop semantics. They - also substantially impact system performance. If you want to - do performance measurement, benchmarking, and optimization, - you'll want to turn them off. This includes various WITNESS- - related kernel options, INVARIANTS, malloc debugging flags - in userland, and various verbose features in the kernel. Many - developers choose to disable these features on build machines - to maximize performance. (To disable malloc debugging, run + FreeBSD 9.x has many debugging features turned on, in both the kernel + and userland. These features attempt to detect incorrect use of + system primitives, and encourage loud failure through extra sanity + checking and fail stop semantics. They also substantially impact + system performance. If you want to do performance measurement, + benchmarking, and optimization, you'll want to turn them off. This + includes various WITNESS- related kernel options, INVARIANTS, malloc + debugging flags in userland, and various verbose features in the + kernel. Many developers choose to disable these features on build + machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090825: + The old tunable hw.bus.devctl_disable has been superseded by + hw.bus.devctl_queue. hw.bus.devctl_disable=1 in loader.conf should be + replaced by hw.bus.devctl_queue=0. The default for this new tunable + is 1000. + 20090813: - Remove the option STOP_NMI. The default action is now to use NMI - only for KDB via the newly introduced function stop_cpus_hard() - and maintain stop_cpus() to just use a normal IPI_STOP on ia32 - and amd64. + Remove the option STOP_NMI. The default action is now to use NMI only + for KDB via the newly introduced function stop_cpus_hard() and + maintain stop_cpus() to just use a normal IPI_STOP on ia32 and amd64. + +20090803: + The stable/8 branch created in subversion. This corresponds to the + RELENG_8 branch in CVS. 20090719: - Bump the shared library version numbers for all libraries that - do not use symbol versioning as part of the 8.0-RELEASE cycle. - Bump __FreeBSD_version to 800105. + Bump the shared library version numbers for all libraries that do not + use symbol versioning as part of the 8.0-RELEASE cycle. Bump + __FreeBSD_version to 800105. 20090714: - Due to changes in the implementation of virtual network stack - support, all network-related kernel modules must be recompiled. - As this change breaks the ABI, bump __FreeBSD_version to 800104. + Due to changes in the implementation of virtual network stack support, + all network-related kernel modules must be recompiled. As this change + breaks the ABI, bump __FreeBSD_version to 800104. 20090713: - The TOE interface to the TCP syncache has been modified to remove struct - tcpopt () from the ABI of the network stack. The - cxgb driver is the only TOE consumer affected by this change, and needs - to be recompiled along with the kernel. As this change breaks the ABI, - bump __FreeBSD_version to 800103. + The TOE interface to the TCP syncache has been modified to remove + struct tcpopt () from the ABI of the network stack. + The cxgb driver is the only TOE consumer affected by this change, and + needs to be recompiled along with the kernel. As this change breaks + the ABI, bump __FreeBSD_version to 800103. -20090712: +20090712: Padding has been added to struct tcpcb, sackhint and tcpstat in to facilitate future MFCs and bug fixes whilst maintainig the ABI. However, this change breaks the ABI, so bump @@ -53,79 +62,75 @@ any of these structs (e.g. sockstat) need to be recompiled. 20090630: - The NFS_LEGACYRPC option has been removed along with the old - kernel RPC implementation that this option selected. Kernel - configurations may need to be adjusted. + The NFS_LEGACYRPC option has been removed along with the old kernel + RPC implementation that this option selected. Kernel configurations + may need to be adjusted. 20090629: - The network interface device nodes at /dev/net/ have - been removed. All ioctl operations can be performed the normal - way using routing sockets. The kqueue functionality can - generally be replaced with routing sockets. + The network interface device nodes at /dev/net/ have been + removed. All ioctl operations can be performed the normal way using + routing sockets. The kqueue functionality can generally be replaced + with routing sockets. 20090628: - The documentation from the FreeBSD Documentation Project - (Handbook, FAQ, etc.) is now installed via packages by - sysinstall(8) and under the /usr/local/share/doc/freebsd - directory instead of /usr/share/doc. + The documentation from the FreeBSD Documentation Project (Handbook, + FAQ, etc.) is now installed via packages by sysinstall(8) and under + the /usr/local/share/doc/freebsd directory instead of /usr/share/doc. 20090624: - The ABI of various structures related to the SYSV IPC API have - been changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 - kernel options now all require COMPAT_FREEBSD7. - Bump __FreeBSD_version to 800100. + The ABI of various structures related to the SYSV IPC API have been + changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version to + 800100. 20090622: - Layout of struct vnet has changed as routing related variables - were moved to their own Vimage module. Modules need to be - recompiled. Bump __FreeBSD_version to 800099. + Layout of struct vnet has changed as routing related variables were + moved to their own Vimage module. Modules need to be recompiled. Bump + __FreeBSD_version to 800099. 20090619: - NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 - and 1024 respectively. As long as no more than 16 groups per - process are used, no changes should be visible. When more - than 16 groups are used, old binaries may fail if they call - getgroups() or getgrouplist() with statically sized storage. - Recompiling will work around this, but applications should be - modified to use dynamically allocated storage for group arrays - as POSIX.1-2008 does not cap an implementation's number of - supported groups at NGROUPS_MAX+1 as previous versions did. + NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 and 1024 + respectively. As long as no more than 16 groups per process are used, + no changes should be visible. When more than 16 groups are used, old + binaries may fail if they call getgroups() or getgrouplist() with + statically sized storage. Recompiling will work around this, but + applications should be modified to use dynamically allocated storage + for group arrays as POSIX.1-2008 does not cap an implementation's + number of supported groups at NGROUPS_MAX+1 as previous versions did. - NFS and portalfs mounts may also be affected as the list of - groups is truncated to 16. Users of NFS who use more than 16 - groups, should take care that negative group permissions are not - used on the exported file systems as they will not be reliable - unless a GSSAPI based authentication method is used. + NFS and portalfs mounts may also be affected as the list of groups is + truncated to 16. Users of NFS who use more than 16 groups, should + take care that negative group permissions are not used on the exported + file systems as they will not be reliable unless a GSSAPI based + authentication method is used. -20090616: - The compiling option ADAPTIVE_LOCKMGRS has been introduced. - This option compiles in the support for adaptive spinning for lockmgrs - which want to enable it. The lockinit() function now accepts the - flag LK_ADAPTIVE in order to make the lock object subject to - adaptive spinning when both held in write and read mode. +20090616: + The compiling option ADAPTIVE_LOCKMGRS has been introduced. This + option compiles in the support for adaptive spinning for lockmgrs + which want to enable it. The lockinit() function now accepts the flag + LK_ADAPTIVE in order to make the lock object subject to adaptive + spinning when both held in write and read mode. 20090613: - The layout of the structure returned by IEEE80211_IOC_STA_INFO - has changed. User applications that use this ioctl need to be - rebuilt. + The layout of the structure returned by IEEE80211_IOC_STA_INFO has + changed. User applications that use this ioctl need to be rebuilt. 20090611: - The layout of struct thread has changed. Kernel and modules - need to be rebuilt. + The layout of struct thread has changed. Kernel and modules need to + be rebuilt. 20090608: - The layout of structs ifnet, domain, protosw and vnet_net has - changed. Kernel modules need to be rebuilt. - Bump __FreeBSD_version to 800097. + The layout of structs ifnet, domain, protosw and vnet_net has changed. + Kernel modules need to be rebuilt. Bump __FreeBSD_version to 800097. 20090602: window(1) has been removed from the base system. It can now be installed from ports. The port is called misc/window. 20090601: - The way we are storing and accessing `routing table' entries - has changed. Programs reading the FIB, like netstat, need to - be re-compiled. + The way we are storing and accessing `routing table' entries has + changed. Programs reading the FIB, like netstat, need to be + re-compiled. 20090601: A new netisr implementation has been added for FreeBSD 8. Network @@ -134,24 +139,24 @@ Bump __FreeBSD_version to 800096. 20090530: - Remove the tunable/sysctl debug.mpsafevfs as its initial purpose - is no more valid. + Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no + more valid. 20090530: Add VOP_ACCESSX(9). File system modules need to be rebuilt. Bump __FreeBSD_version to 800094. 20090529: - Add mnt_xflag field to 'struct mount'. File system modules - need to be rebuilt. + Add mnt_xflag field to 'struct mount'. File system modules need to be + rebuilt. Bump __FreeBSD_version to 800093. 20090528: The compiling option ADAPTIVE_SX has been retired while it has been introduced the option NO_ADAPTIVE_SX which handles the reversed logic. The KPI for sx_init_flags() changes as accepting flags: - SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag - has been introduced in order to handle the reversed logic. + SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag has + been introduced in order to handle the reversed logic. Bump __FreeBSD_version to 800092. 20090527: @@ -164,20 +169,18 @@ Bump __FreeBSD_version to 800090. 20090523: - The newly imported zic(8) produces a new format in the - output. Please run tzsetup(8) to install the newly created - data to /etc/localtime. + The newly imported zic(8) produces a new format in the output. Please + run tzsetup(8) to install the newly created data to /etc/localtime. 20090520: The sysctl tree for the usb stack has renamed from hw.usb2.* to hw.usb.* and is now consistent again with previous releases. 20090520: - 802.11 monitor mode support was revised and driver api's - were changed. Drivers dependent on net80211 now support - DLT_IEEE802_11_RADIO instead of DLT_IEEE802_11. No - user-visible data structures were changed but applications - that use DLT_IEEE802_11 may require changes. + 802.11 monitor mode support was revised and driver api's were changed. + Drivers dependent on net80211 now support DLT_IEEE802_11_RADIO instead + of DLT_IEEE802_11. No user-visible data structures were changed but + applications that use DLT_IEEE802_11 may require changes. Bump __FreeBSD_version to 800088. 20090430: @@ -768,730 +771,29 @@ 20071010: RELENG_7 branched. -20071009: - Setting WITHOUT_LIBPTHREAD now means WITHOUT_LIBKSE and - WITHOUT_LIBTHR are set. - -20070930: - The PCI code has been made aware of PCI domains. This means that - the location strings as used by pciconf(8) etc are now in the - following format: pci::[:]. It - also means that consumers of potentially need to - be recompiled; this includes the hal and xorg-server ports. - -20070928: - The caching daemon (cached) was renamed to nscd. nscd.conf - configuration file should be used instead of cached.conf and - nscd_enable, nscd_pidfile and nscd_flags options should be used - instead of cached_enable, cached_pidfile and cached_flags in - rc.conf. - -20070921: - The getfacl(1) utility now prints owning user and group name - instead of owning uid and gid in the three line comment header. - This is the same behavior as getfacl(1) on Solaris and Linux. - -20070704: - The new IPsec code is now compiled in using the IPSEC option. The - IPSEC option now requires "device crypto" be defined in your kernel - configuration. The FAST_IPSEC kernel option is now deprecated. - -20070702: - The packet filter (pf) code has been updated to OpenBSD 4.1 Please - note the changed syntax - keep state is now on by default. Also - note the fact that ftp-proxy(8) has been changed from bottom up and - has been moved from libexec to usr/sbin. Changes in the ALTQ - handling also affect users of IPFW's ALTQ capabilities. - -20070701: - Remove KAME IPsec in favor of FAST_IPSEC, which is now the - only IPsec supported by FreeBSD. The new IPsec stack - supports both IPv4 and IPv6. The kernel option will change - after the code changes have settled in. For now the kernel - option IPSEC is deprecated and FAST_IPSEC is the only option, that - will change after some settling time. - -20070701: - The wicontrol(8) utility has been removed from the base system. wi(4) - cards should be configured using ifconfig(8), see the man page for more - information. - -20070612: - The i386/amd64 GENERIC kernel now defaults to the nfe(4) driver - instead of the nve(4) driver. Please update your configuration - accordingly. - -20070612: - By default, /etc/rc.d/sendmail no longer rebuilds the aliases - database if it is missing or older than the aliases file. If - desired, set the new rc.conf option sendmail_rebuild_aliases - to "YES" to restore that functionality. - -20070612: - The IPv4 multicast socket code has been considerably modified, and - moved to the file sys/netinet/in_mcast.c. Initial support for the - RFC 3678 Source-Specific Multicast Socket API has been added to - the IPv4 network stack. - - Strict multicast and broadcast reception is now the default for - UDP/IPv4 sockets; the net.inet.udp.strict_mcast_mship sysctl variable - has now been removed. - - The RFC 1724 hack for interface selection has been removed; the use - of the Linux-derived ip_mreqn structure with IP_MULTICAST_IF has - been added to replace it. Consumers such as routed will soon be - updated to reflect this. - - These changes affect users who are running routed(8) or rdisc(8) - from the FreeBSD base system on point-to-point or unnumbered - interfaces. - -20070610: - The net80211 layer has changed significantly and all wireless - drivers that depend on it need to be recompiled. Further these - changes require that any program that interacts with the wireless - support in the kernel be recompiled; this includes: ifconfig, - wpa_supplicant, hostapd, and wlanstats. Users must also, for - the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules - if they use modules for wireless support. These modules implement - scanning support for station and ap modes, respectively. Failure - to load the appropriate module before marking a wireless interface - up will result in a message to the console and the device not - operating properly. - -20070610: - The pam_nologin(8) module ceases to provide an authentication - function and starts providing an account management function. - Consequent changes to /etc/pam.d should be brought in using - mergemaster(8). Third-party files in /usr/local/etc/pam.d may - need manual editing as follows. Locate this line (or similar): - - auth required pam_nologin.so no_warn - - and change it according to this example: - - account required pam_nologin.so no_warn - - That is, the first word needs to be changed from "auth" to - "account". The new line can be moved to the account section - within the file for clarity. Not updating pam.conf(5) files - will result in nologin(5) ignored by the respective services. - -20070529: - The ether_ioctl() function has been synchronized with ioctl(2) - and ifnet.if_ioctl. Due to that, the size of one of its arguments - has changed on 64-bit architectures. All kernel modules using - ether_ioctl() need to be rebuilt on such architectures. - -20070516: - Improved INCLUDE_CONFIG_FILE support has been introduced to the - config(8) utility. In order to take advantage of this new - functionality, you are expected to recompile and install - src/usr.sbin/config. If you don't rebuild config(8), and your - kernel configuration depends on INCLUDE_CONFIG_FILE, the kernel - build will be broken because of a missing "kernconfstring" - symbol. - -20070513: - Symbol versioning is enabled by default. To disable it, use - option WITHOUT_SYMVER. It is not advisable to attempt to - disable symbol versioning once it is enabled; your installworld - will break because a symbol version-less libc will get installed - before the install tools. As a result, the old install tools, - which previously had symbol dependencies to FBSD_1.0, will fail - because the freshly installed libc will not have them. - - The default threading library (providing "libpthread") has been - changed to libthr. If you wish to have libkse as your default, - use option DEFAULT_THREAD_LIB=libkse for the buildworld. - -20070423: - The ABI breakage in sendmail(8)'s libmilter has been repaired - so it is no longer necessary to recompile mail filters (aka, - milters). If you recompiled mail filters after the 20070408 - note, it is not necessary to recompile them again. - -20070417: - The new trunk(4) driver has been renamed to lagg(4) as it better - reflects its purpose. ifconfig will need to be recompiled. - -20070408: - sendmail(8) has been updated to version 8.14.1. Mail filters - (aka, milters) compiled against the libmilter included in the - base operating system should be recompiled. - -20070302: - Firmwares for ipw(4) and iwi(4) are now included in the base tree. - In order to use them one must agree to the respective LICENSE in - share/doc/legal and define legal.intel_.license_ack=1 via - loader.conf(5) or kenv(1). Make sure to deinstall the now - deprecated modules from the respective firmware ports. - -20070228: - The name resolution/mapping functions addr2ascii(3) and ascii2addr(3) - were removed from FreeBSD's libc. These originally came from INRIA - IPv6. Nothing in FreeBSD ever used them. They may be regarded as - deprecated in previous releases. - The AF_LINK support for getnameinfo(3) was merged from NetBSD to - replace it as a more portable (and re-entrant) API. - -20070224: - To support interrupt filtering a modification to the newbus API - has occurred, ABI was broken and __FreeBSD_version was bumped - to 700031. Please make sure that your kernel and modules are in - sync. For more info: - http://docs.freebsd.org/cgi/mid.cgi?20070221233124.GA13941 - -20070224: - The IPv6 multicast forwarding code may now be loaded into GENERIC - kernels by loading the ip_mroute.ko module. This is built into the - module unless WITHOUT_INET6 or WITHOUT_INET6_SUPPORT options are - set; see src.conf(5) for more information. - -20070214: - The output of netstat -r has changed. Without -n, we now only - print a "network name" without the prefix length if the network - address and mask exactly match a Class A/B/C network, and an entry - exists in the nsswitch "networks" map. - With -n, we print the full unabbreviated CIDR network prefix in - the form "a.b.c.d/p". 0.0.0.0/0 is always printed as "default". - This change is in preparation for changes such as equal-cost - multipath, and to more generally assist operational deployment - of FreeBSD as a modern IPv4 router. - -20070210: - PIM has been turned on by default in the IPv4 multicast - routing code. The kernel option 'PIM' has now been removed. - PIM is now built by default if option 'MROUTING' is specified. - It may now be loaded into GENERIC kernels by loading the - ip_mroute.ko module. - -20070207: - Support for IPIP tunnels (VIFF_TUNNEL) in IPv4 multicast routing - has been removed. Its functionality may be achieved by explicitly - configuring gif(4) interfaces and using the 'phyint' keyword in - mrouted.conf. - XORP does not support source-routed IPv4 multicast tunnels nor the - integrated IPIP tunneling, therefore it is not affected by this - change. The __FreeBSD_version macro has been bumped to 700030. - -20061221: - Support for PCI Message Signalled Interrupts has been - re-enabled in the bge driver, only for those chips which are - believed to support it properly. If there are any problems, - MSI can be disabled completely by setting the - 'hw.pci.enable_msi' and 'hw.pci.enable_msix' tunables to 0 - in the loader. - -20061214: - Support for PCI Message Signalled Interrupts has been - disabled again in the bge driver. Many revisions of the - hardware fail to support it properly. Support can be - re-enabled by removing the #define of BGE_DISABLE_MSI in - "src/sys/dev/bge/if_bge.c". - -20061214: - Support for PCI Message Signalled Interrupts has been added - to the bge driver. If there are any problems, MSI can be - disabled completely by setting the 'hw.pci.enable_msi' and - 'hw.pci.enable_msix' tunables to 0 in the loader. - -20061205: - The removal of several facets of the experimental Threading - system from the kernel means that the proc and thread structures - have changed quite a bit. I suggest all kernel modules that might - reference these structures be recompiled.. Especially the - linux module. - -20061126: - Sound infrastructure has been updated with various fixes and - improvements. Most of the changes are pretty much transparent, - with exceptions of followings: - 1) All sound driver specific sysctls (hw.snd.pcm%d.*) have been - moved to their own dev sysctl nodes, for example: - hw.snd.pcm0.vchans -> dev.pcm.0.vchans - 2) /dev/dspr%d.%d has been deprecated. Each channel now has its - own chardev in the form of "dsp%d.%d", where - is p = playback, r = record and v = virtual, respectively. Users - are encouraged to use these devs instead of (old) "/dev/dsp%d.%d". - This does not affect those who are using "/dev/dsp". - -20061122: - geom(4)'s gmirror(8) class metadata structure has been - rev'd from v3 to v4. If you update across this point and - your metadata is converted for you, you will not be easily - able to downgrade since the /boot/kernel.old/geom_mirror.ko - kernel module will be unable to read the v4 metadata. You - can resolve this by doing from the loader(8) prompt: - - set vfs.root.mountfrom="ufs:/dev/XXX" - - where XXX is the root slice of one of the disks that composed - the mirror (i.e.: /dev/ad0s1a). You can then rebuild - the array the same way you built it originally. - -20061122: - The following binaries have been disconnected from the build: - mount_devfs, mount_ext2fs, mount_fdescfs, mount_procfs, mount_linprocfs, - and mount_std. The functionality of these programs has been - moved into the mount program. For example, to mount a devfs - filesystem, instead of using mount_devfs, use: "mount -t devfs". - This does not affect entries in /etc/fstab, since entries in - /etc/fstab are always processed with "mount -t fstype". - -20061113: - Support for PCI Message Signalled Interrupts on i386 and amd64 - has been added to the kernel and various drivers will soon be - updated to use MSI when it is available. If there are any problems, - MSI can be disabled completely by setting the 'hw.pci.enable_msi' - and 'hw.pci.enable_msix' tunables to 0 in the loader. - -20061110: - The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. - The lockmgr object layout has been changed as a result of having - a lock_object embedded in it. As a consequence all file system - kernel modules must be re-compiled. The mutex profiling man page - has not yet been updated to reflect this change. - -20061026: - KSE in the kernel has now been made optional and turned on by - default. Use 'nooption KSE' in your kernel config to turn it - off. All kernel modules *must* be recompiled after this change. - There-after, modules from a KSE kernel should be compatible with - modules from a NOKSE kernel due to the temporary padding fields - added to 'struct proc'. - -20060929: - mrouted and its utilities have been removed from the base system. - -20060927: - Some ioctl(2) command codes have changed. Full backward ABI - compatibility is provided if the "options COMPAT_FREEBSD6" is - present in the kernel configuration file. Make sure to add - this option to your kernel config file, or recompile X.Org - and the rest of ports; otherwise they may refuse to work. - -20060924: - tcpslice has been removed from the base system. - -20060913: - The sizes of struct tcpcb (and struct xtcpcb) have changed due to - the rewrite of TCP syncookies. Tools like netstat, sockstat, and - systat needs to be rebuilt. - -20060903: - libpcap updated to v0.9.4 and tcpdump to v3.9.4 - -20060816: - The IPFIREWALL_FORWARD_EXTENDED option is gone and the behaviour - for IPFIREWALL_FORWARD is now as it was before when it was first - committed and for years after. The behaviour is now ON. - -20060725: - enigma(1)/crypt(1) utility has been changed on 64 bit architectures. - Now it can decrypt files created from different architectures. - Unfortunately, it is no longer able to decrypt a cipher text - generated with an older version on 64 bit architectures. - If you have such a file, you need old utility to decrypt it. - -20060709: - The interface version of the i4b kernel part has changed. So - after updating the kernel sources and compiling a new kernel, - the i4b user space tools in "/usr/src/usr.sbin/i4b" must also - be rebuilt, and vice versa. - -20060627: - The XBOX kernel now defaults to the nfe(4) driver instead of - the nve(4) driver. Please update your configuration - accordingly. - -20060514: - The i386-only lnc(4) driver for the AMD Am7900 LANCE and Am79C9xx - PCnet family of NICs has been removed. The new le(4) driver serves - as an equivalent but cross-platform replacement with the pcn(4) - driver still providing performance-optimized support for the subset - of AMD Am79C971 PCnet-FAST and greater chips as before. - -20060511: - The machdep.* sysctls and the adjkerntz utility have been - modified a bit. The new adjkerntz utility uses the new - sysctl names and sysctlbyname() calls, so it may be impossible - to run an old /sbin/adjkerntz utility in single-user mode - with a new kernel. Replace the `adjkerntz -i' step before - `make installworld' with: - - /usr/obj/usr/src/sbin/adjkerntz/adjkerntz -i - - and proceed as usual with the rest of the installworld-stage - steps. Otherwise, you risk installing binaries with their - timestamp set several hours in the future, especially if - you are running with local time set to GMT+X hours. - -20060412: - The ip6fw utility has been removed. The behavior provided by - ip6fw has been in ipfw2 for a good while and the rc.d scripts - have been updated to deal with it. There are some rules that - might not migrate cleanly. Use rc.firewall6 as a template to - rewrite rules. - -20060428: - The puc(4) driver has been overhauled. The ebus(4) and sbus(4) - attachments have been removed. Make sure to configure scc(4) - on sparc64. Note also that by default puc(4) will use uart(4) - and not sio(4) for serial ports because interrupt handling has - been optimized for multi-port serial cards and only uart(4) - implements the interface to support it. - -20060330: - The scc(4) driver replaces puc(4) for Serial Communications - Controllers (SCCs) like the Siemens SAB82532 and the Zilog - Z8530. On sparc64, it is advised to add scc(4) to the kernel - configuration to make sure that the serial ports remain - functional. - -20060317: - Most world/kernel related NO_* build options changed names. - New knobs have common prefixes WITHOUT_*/WITH_* (modelled - after FreeBSD ports) and should be set in /etc/src.conf - (the src.conf(5) manpage is provided). Full backwards - compatibility is maintained for the time being though it's - highly recommended to start moving old options out of the - system-wide /etc/make.conf file into the new /etc/src.conf - while also properly renaming them. More conversions will - likely follow. Posting to current@: - - http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html - -20060305: - The NETSMBCRYPTO kernel option has been retired because its - functionality is always included in NETSMB and smbfs.ko now. - -20060303: - The TDFX_LINUX kernel option was retired and replaced by the - tdfx_linux device. The latter can be loaded as the 3dfx_linux.ko - kernel module. Loading it alone should suffice to get 3dfx support - for Linux apps because it will pull in 3dfx.ko and linux.ko through - its dependencies. - -20060204: - The 'audit' group was added to support the new auditing functionality - in the base system. Be sure to follow the directions for updating, - including the requirement to run mergemaster -p. - -20060201: - The kernel ABI to file system modules was changed on i386. - Please make sure that your kernel and modules are in sync. - -20060118: - This actually occured some time ago, but installing the kernel - now also installs a bunch of symbol files for the kernel modules. - This increases the size of /boot/kernel to about 67Mbytes. You - will need twice this if you will eventually back this up to kernel.old - on your next install. - If you have a shortage of room in your root partition, you should add - -DINSTALL_NODEBUG to your make arguments or add INSTALL_NODEBUG="yes" - to your /etc/make.conf. - -20060113: - libc's malloc implementation has been replaced. This change has the - potential to uncover application bugs that previously went unnoticed. - See the malloc(3) manual page for more details. - -20060112: - The generic netgraph(4) cookie has been changed. If you upgrade - kernel passing this point, you also need to upgrade userland - and netgraph(4) utilities like ports/net/mpd or ports/net/mpd4. - -20060106: - si(4)'s device files now contain the unit number. - Uses of {cua,tty}A[0-9a-f] should be replaced by {cua,tty}A0[0-9a-f]. - -20060106: - The kernel ABI was mostly destroyed due to a change in the size - of struct lock_object which is nested in other structures such - as mutexes which are nested in all sorts of other structures. - Make sure your kernel and modules are in sync. - -20051231: - The page coloring algorithm in the VM subsystem was converted - from tuning with kernel options to autotuning. Please remove - any PQ_* option except PQ_NOOPT from your kernel config. - -20051211: - The net80211-related tools in the tools/tools/ath directory - have been moved to tools/tools/net80211 and renamed with a - "wlan" prefix. Scripts that use them should be adjusted - accordingly. - -20051202: - Scripts in the local_startup directories (as defined in - /etc/defaults/rc.conf) that have the new rc.d semantics will - now be run as part of the base system rcorder. If there are - errors or problems with one of these local scripts, it could - cause boot problems. If you encounter such problems, boot in - single user mode, remove that script from the */rc.d directory. - Please report the problem to the port's maintainer, and the - freebsd-ports@freebsd.org mailing list. - -20051129: - The nodev mount option was deprecated in RELENG_6 (where it - was a no-op), and is now unsupported. If you have nodev or dev listed - in /etc/fstab, remove it, otherwise it will result in a mount error. - -20051129: - ABI between ipfw(4) and ipfw(8) has been changed. You need - to rebuild ipfw(8) when rebuilding kernel. - -20051108: - rp(4)'s device files now contain the unit number. - Uses of {cua,tty}R[0-9a-f] should be replaced by {cua,tty}R0[0-9a-f]. - -20051029: - /etc/rc.d/ppp-user has been renamed to /etc/rc.d/ppp. - Its /etc/rc.conf.d configuration file has been `ppp' from - the beginning, and hence there is no need to touch it. - -20051014: - Now most modules get their build-time options from the kernel - configuration file. A few modules still have fixed options - due to their non-conformant implementation, but they will be - corrected eventually. You may need to review the options of - the modules in use, explicitly specify the non-default options - in the kernel configuration file, and rebuild the kernel and - modules afterwards. - -20051001: - kern.polling.enable sysctl MIB is now deprecated. Use ifconfig(8) - to turn polling(4) on your interfaces. - -20050927: - The old bridge(4) implementation was retired. The new - if_bridge(4) serves as a full functional replacement. - -20050722: - The ai_addrlen of a struct addrinfo was changed to a socklen_t - to conform to POSIX-2001. This change broke an ABI - compatibility on 64 bit architecture. You have to recompile - userland programs that use getaddrinfo(3) on 64 bit - architecture. - -20050711: - RELENG_6 branched here. - -20050629: - The pccard_ifconfig rc.conf variable has been removed and a new - variable, ifconfig_DEFAULT has been introduced. Unlike - pccard_ifconfig, ifconfig_DEFAULT applies to ALL interfaces that - do not have ifconfig_ifn entries rather than just those in - removable_interfaces. - -20050616: - Some previous versions of PAM have permitted the use of - non-absolute paths in /etc/pam.conf or /etc/pam.d/* when referring - to third party PAM modules in /usr/local/lib. A change has been - made to require the use of absolute paths in order to avoid - ambiguity and dependence on library path configuration, which may - affect existing configurations. - -20050610: - Major changes to network interface API. All drivers must be - recompiled. Drivers not in the base system will need to be - updated to the new APIs. - -20050609: - Changes were made to kinfo_proc in sys/user.h. Please recompile - userland, or commands like `fstat', `pkill', `ps', `top' and `w' - will not behave correctly. - - The API and ABI for hwpmc(4) have changed with the addition - of sampling support. Please recompile lib/libpmc(3) and - usr.sbin/{pmcstat,pmccontrol}. - -20050606: - The OpenBSD dhclient was imported in place of the ISC dhclient - and the network interface configuration scripts were updated - accordingly. If you use DHCP to configure your interfaces, you - must now run devd. Also, DNS updating was lost so you will need - to find a workaround if you use this feature. - - The '_dhcp' user was added to support the OpenBSD dhclient. Be - sure to run mergemaster -p (like you are supposed to do every time - anyway). - -20050605: - if_bridge was added to the tree. This has changed struct ifnet. - Please recompile userland and all network related modules. - -20050603: - The n_net of a struct netent was changed to an uint32_t, and - 1st argument of getnetbyaddr() was changed to an uint32_t, to - conform to POSIX-2001. These changes broke an ABI - compatibility on 64 bit architecture. With these changes, - shlib major of libpcap was bumped. You have to recompile - userland programs that use getnetbyaddr(3), getnetbyname(3), - getnetent(3) and/or libpcap on 64 bit architecture. - -20050528: - Kernel parsing of extra options on '#!' first lines of shell - scripts has changed. Lines with multiple options likely will - fail after this date. For full details, please see - http://people.freebsd.org/~gad/Updating-20050528.txt - -20050503: - The packet filter (pf) code has been updated to OpenBSD 3.7 - Please note the changed anchor syntax and the fact that - authpf(8) now needs a mounted fdescfs(5) to function. - -20050415: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 6 20:14:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 333BD10656A5; Sun, 6 Sep 2009 20:14:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9EE810656A3 for ; Sun, 6 Sep 2009 20:14:42 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D7D398FC18 for ; Sun, 6 Sep 2009 20:14:42 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86KEgvS020108 for ; Sun, 6 Sep 2009 20:14:42 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86KEgb0020106 for perforce@freebsd.org; Sun, 6 Sep 2009 20:14:42 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 6 Sep 2009 20:14:42 GMT Message-Id: <200909062014.n86KEgb0020106@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 168253 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 20:14:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=168253 Change 168253 by rene@rene_self on 2009/09/06 20:13:45 MFen handbook/firewalls 1.86 -> 1.90 Spellcheck pending Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml#12 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml#12 (text+ko) ==== @@ -4,7 +4,7 @@ $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml,v 1.10 2008/12/28 19:42:42 rene Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml - %SRCID% 1.89 -> update to 1.90 before submit/commit (small one :-) ) + %SRCID% 1.90 --> @@ -2413,12 +2413,13 @@ ipfw firewall. één daarvan is door het zetten van de firewall_type variabele naar een absoluut - pad van een bestand, welke firewall regels - bevat, zonder enige specifieke opties voor &man.ipfw.8;. Een - simpel voorbeeld van een regelverzameling bestand kan zijn: + pad van een bestand, welke firewall-regels + bevat, zonder enige specifieke opties voor &man.ipfw.8;. Het volgende + is een eenvoudig voorbeeld van een bestand met regelverzamelingen dat + al het inkomend en uitgaand verkeer blokkeert: - add block in all -add block out all + add deny in +add deny out Aan de andere kant is het mogelijk om de variabele firewall_script in te stellen op een @@ -2432,8 +2433,8 @@ ipfw -q flush -ipfw add block in all -ipfw add block out all +ipfw add deny in +ipfw add deny out Als firewall_type is gezet naar @@ -2696,7 +2697,7 @@ Selectie De sleutelwoorden in deze paragraaf beschrijven de - attributen van een pakket die bekeken worden bij het + attributen van een pakket die gecontroleerd worden bij het bepalen of een regel wel of niet op een pakket van toepassing is. De attributen waarop gecontroleerd kan worden moeten in de beschreven volgorde gebruikt @@ -2714,37 +2715,38 @@ De sleutelwoorden from en to worden gebruikt om te bekijken - of een regel van toepassing is op IP - adressen. Een regel moet zowel bron- als + of een regel van toepassing is op IP-adressen. + Een regel moet zowel bron- als bestemmingsadressen bevatten. any is een bijzonder sleutelwoord dat van toepassing is op alle - IP adressen. me is + IP-adressen. me is een bijzonder sleutelwoord dat van toepassing is op alle - IP adressen die ingesteld zijn op - interfaces van een &os; systeem. Zo kan dit onderdeel dus + IP-adressen die ingesteld zijn op + interfaces van een &os; systeem om de PC waarop de firewall draait + te vertegenwoordigen (deze machine). Zo kan dit onderdeel bijvoorbeeld de volgende vormen aannemen: from me to any, from any to me, from 0.0.0.0/0 to any, from any to 0.0.0.0/0, from 0.0.0.0 to any, - from any to 0.0.0.0, + from any to 0.0.0.0 of from me to 0.0.0.0. - IP adressen mogen ingevoerd worden + IP-adressen mogen ingevoerd worden in de vorm numeriek, door punten gescheiden - adres/maskerlengte of als een enkelvoudig - IP adres in de vorm numeriek, door - punten gescheiden. De volgende link kan hulp verschaffen - bij het schrijven van IP adressen in - de vorm adres/maskerlengte: Dit attribuut - is verpicht. + adres/maskerlengte (CIDR-notatie) of als een enkelvoudig + IP-adres in de vorm numeriek, door + punten gescheiden. De port net-mgmt/ipcalc kan gebruikt worden om + de berekeningen e vereenvoudigen. Aanvullende informatie is + beschikbaar op de webpagina van het programma: . poortnummer Wordt gebruikt voor protocollen die poortnummers - ondersteunen (als TCP en UDP). Het - gebruik van een poortnummer is verplicht. Er mogen ook + ondersteunen (als TCP en UDP). + Het gebruik van een poortnummer is verplicht. Er mogen ook dienstnamen uit /etc/services gebruikt worden in plaats van nummers. @@ -2787,7 +2789,7 @@ bestemmingspoort gebruikt worden. limit en keep–state kunnen niet in - dezelfde regel gebruikt worden. + dezelfde regel gebruikt worden. De optie limit geeft dezelfde mogelijkheden als keep–state en voegt daar zijn eigen mogelijkheden aan toe. @@ -2811,8 +2813,8 @@ verwachting van een sessie passen worden automatisch als fout geblokkeerd. - check–state wordt gebruikt - om aan te geven waar IPFW regels tegen de mogelijkheden + De optie check–state wordt gebruikt + om aan te geven waar IPFW-regels tegen de mogelijkheden voor dynamische regels gehouden moeten worden. Als er een passende regel bij een pakket wordt gevonden, dan kan dat pakket de firewall verlaten en wordt een nieuwe regel @@ -2825,7 +2827,7 @@ voor een aanval die SYN–flood heet, waarmee wordt geprobeerd een zeer groot aantal regels aan te laten maken. Om deze aanval tegen te gaan, is de optie - limit beschikbaar. Met deze + limit beschikbaar. Met deze optie kan het maximaal aantal simultane sessies geregeld worden op basis van bron en bestemmingsvelden. Als het aantal sessies gelijk aan het maximale aantal sessies is, @@ -2851,14 +2853,14 @@ Zelfs als logging is ingeschakeld logt IPFW nog niets uit zichzelf. De beheerder van de firewall beslist welke actieve regels iets weg moeten schrijven door het - sleutelwoord log aan die regels toe + sleutelwoord log aan die regels toe te voegen. Gewoonlijk worden alleen - deny regels gelogd. Dit geldt - bijvoorbeeld voor de deny regel + deny-regels gelogd. Dit geldt + bijvoorbeeld voor de deny-regel voor inkomende ICMP pings. Het is - gebruikelijk om de standaard ipfw regel - te dupliceren, daar log in op te - nemen, en deze als laatste in de set met regels te + gebruikelijk om de standaardregel ipfw default deny + everything te dupliceren, daar log in op + te nemen, en deze als laatste in de verzameling met regels te plaatsen. Zo zijn alle pakketten te zien die niet voldeden aan ook maar één regel. @@ -2867,8 +2869,8 @@ die uiteindelijk een schijf kunnen vullen. Een DoS aanval om een schijf met logs te vullen is een van de oudst bekende typen DoS aanvallen. Logberichten van de firewall worden - niet alleen naar &man.syslogd.8; geschreven, maar ook op - het root console getoond waar ze snel + niet alleen naar syslogd geschreven, maar + ook op het root console getoond waar ze snel erg vervelend kunnen worden. De kerneloptie @@ -2878,7 +2880,7 @@ Als deze optie is ingeschakeld, worden in dit geval maximaal vijf berichten voor dezelfde regel gemeld. Als er meer berichten op dezelfde regel zouden zijn, zou dat als - volgt aan &man.syslogd.8; gemeld worden: + volgt aan syslogd gemeld worden: last message repeated 45 times @@ -2894,21 +2896,20 @@ waarin de regels staan en stellen dat zo op dat het als script uitgevoerd kan worden. Het grootste voordeel van deze methode is dat de firewallregels allemaal vervangen - kunnen worden zonder dat het systeem geboot moet worden. + kunnen worden zonder dat het systeem opnieuw gestart moet worden. Deze methode is ook erg geschikt voor het testen van regels omdat de procedure zo vaak als nodig uitgevoerd kan worden. Omdat het een script is, kan er gebruik gemaakt worden van substitutie zodat veel gebruikte waarden verduidelijkt - kunnen worden. In het volgende voorbeeld wordt hier - gebruik van gemaakt. + en in meerdere regels toegepast kunnen worden. In het volgende + voorbeeld wordt hier gebruik van gemaakt. De syntaxis die in het script wordt gebruikt is - compatibel met de shells sh, - csh en tcsh. Velden - waarvoor substitutie van toepassing is worden vooraf gegaan + compatibel met de shells &man.sh.1;, &man.csh.1; en &man.tcsh.1;. + Velden waarvoor substitutie van toepassing is worden vooraf gegaan door het dollarteken $. Definities worden niet vooraf gegaan door het voorvoegsel $. De waarden - van een definitie moet omsloten worden door "dubbele + van een substitie moet omsloten worden door "dubbele aanhalingstekens". Een bestand met regels kan als volgt beginnen: @@ -2934,7 +2935,7 @@ een voorbeeld om het gebruik van substitutie te illustreren. - Als het bovenstaande voorbeeld het de inhoud van + Als het bovenstaande voorbeeld de inhoud van /etc/ipfw.rules was, dan kon het herladen worden met het volgende commando: @@ -2956,16 +2957,17 @@ - Set met stateful regels + Verzmeling van stateful regels - De volgende set met regels, waarin geen gebruik gemaakt + De volgende verzameling van regels, waarin geen gebruik gemaakt wordt van NAT, is een voorbeeld van hoe een erg veilige inclusieve firewall kan worden opgezet. Een inclusieve firewall laat alleen diensten toe waarvoor - pass regels van toepassing zijn en - blokkeert al het andere verkeer. Alle firewalls hebben - tenminste twee interfaces waarvoor regels moeten zijn die - de firewall in staat stellen zijn werk te doen. + pass regels van toepassing zijn en + blokkeert al het andere verkeer. Firewalls die ontworpen zijn om + hele netwerksegmenten te beschermen hebben tenminste twee interfaces + waarvoor regels moeten zijn die de firewall in staat stellen zijn + werk te doen. Alle &unix; systemen en dus ook &os; zijn zo ontworpen dat ze voor interne communicatie de interface @@ -2978,13 +2980,14 @@ Internet worden regels gemaakt waarmee sessies naar het Internet mogelijk gemaakt worden en toegang wordt gegeven voor pakketten die uit die sessies terug komen. Dit kan - de PPP interface tun0 zijn of de + de gebruikers-PPP-interface + tun0 zijn of de netwerkkaart die is verbonden met een xDSL of kabelmodem. In gevallen dat er meer dan één netwerkkaart is aangesloten op het private netwerk achter - de firewall, moeten er op de firewall regels zijn om het + de firewall, moeten er op de firewall-regels zijn om het verkeer tussen die interfaces vrije doorgang te geven. @@ -3000,23 +3003,25 @@ interface in die richting geblokkeerd en gelogd moet worden. - In het onderdeel Uitgaand staan alleen regels met - allow die parameters bevatten om - individuele diensten beschikbaar te maken zodat er Internet - toegang is. Al die regels moeten gebruik maken van - proto, port, - in/out, via - en keep-state. De regels met - proto tcp maken ook gebruik van - setup om te bekijken of het een + In het onderdeel Uitgaand van de volgende verzameling regels staan + alleen regels met allow die parameters bevatten om + individuele diensten beschikbaar te maken die publieke toegang + tot Internet mogen hebben Al die regels moeten gebruik maken van de + opties proto, port, + in/out, via + en keep-state. De regels met + proto tcp maken ook gebruik van + setup om te bekijken of het een pakket betreft voor het opzetten van een sessie om de stateful functionaliteit aan te sturen. - In het onderdeel Inkomend staan alle regels voor het - blokkeren van ongewenste pakketten eerst om twee redenen. - Als eerste kan het zo zijn dat wat er wordt geblokkeerd - later toegestaan zou worden door regels die diensten - toestaan. De tweede reden is dat nu ongewenste pakketten + In het onderdeel Inkomend staan als eerste alle regels voor het + blokkeren van ongewenste pakketten, om twee redenen. + Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk + overeenkomen met legitiem verkeer. Deze regels moeten worden + geblokkeerd in plaats van te worden binnengelaten, gebasserd op hun + gedeeltelijke overeenkomst met allow-regels. + De tweede reden is dat nu ongewenste pakketten die vaak voorkomen en die bij voorkeur niet in de logboeken voorkomen niet meer van toepassing zijn op de laatste regel van het onderdeel waarin ze zouden worden gelogd. Met de @@ -3025,15 +3030,15 @@ bewijsmateriaal zijn in een zaak tegen iemand die heeft geprobeerd een systeem aan te vallen. - Voor al het verkeer dat wordt geweigerd wordt geen - antwoord gestuurd. Die pakketten verdwijnen gewoon. Zo - weet een aanvaller niet of een pakket het doelsysteem wel + Iets waarop u ook moet letten is dat voor al het verkeer dat wordt + geweigerd geen antwoord wordt gestuurd. Die pakketten verdwijnen + gewoon. Zo weet een aanvaller niet of een pakket het doelsysteem wel heeft bereikt. Zo kan een aanvaller geen informatie verzamelen over een systeem: hoe minder informatie er over een systeem beschikbaar is, hoe veiliger het is. Als er - pakketten gelogd worden waarvan de beheerder het poortnummer - niet herkent, dan is de functie van dat poortnummer na te - zoeken in /etc/services of op /etc/services of op . Op de volgende link worden poortnummers van Trojans beschreven: Voorbeeld van een set inclusieve regels - Het volgende voorbeeld is een complete inclusieve set + Het volgende voorbeeld is een complete inclusieve verzameling van regels die geen gebruik maakt van NAT. - Deze set met regels is een aanrader en eenvoudig aan te - passen door commentaar te maken van een regel voor een - dienst die niet gewenst is. Logberichten die niet gewenst - zijn, zijn uit te sluiten door ze met een regel te - blokkeren in het begin van het onderdeel Inkomend. Voor de - onderstaande regels dient de dc0 - interfacenaam in iedere regel vervangen te worden door de - interfacenaam van de netwerkkaart in het systeem die met + Deze verzameling van regels is veilig om deze regels op uw eigen + systemen te gebruiken. Dit kan door commentaar te maken van een + pass-regel voor een dienst die niet gewenst is. + Logberichten die niet gewenst zijn, zijn uit te sluiten door een + deny-regel toe te voegen aan het onderdeel + Inkomend. Voor de onderstaande regels dient de interfacenaam + dc0 in iedere regel vervangen te worden door + de interfacenaam van de netwerkkaart in het systeem die met het publieke Internet is verbonden. Voor gebruikers van - PPP zou dat tun0 zijn. + PPP zou dat tun0 + zijn. - Er zit een structuur in de regels: + Er zit een merkbare structuur in het gebruik van deze + regels: - Alle regels die controleren op het verzoek voor het - opzetten van een sessie gebruiken - keep–state. + Alle regels die een verzoek zijn voor het opzetten van een + sessie gebruiken keep–state. - Alle diensten die vanaf Internet bereikbaar zijn - gebruiken limit om - flooding te voorkomen. + Alle diensten die vanaf Internet bereikbaar zijn gebruiken de + optie limit om flooding te + voorkomen. - Alle regels gebruiken in of - out om de richting aan te - geven. + Alle regels gebruiken in of + out om de richting aan te geven. - Alle regels gebruiken via - interfacenaam om aan te geven op welke + Alle regels gebruiken via + interfacenaam om aan te geven op welke interface de regel van toepassing is. @@ -3194,7 +3199,7 @@ $cmd 00315 deny tcp from any to any 113 in via $pif # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. -# Netbios is de Windows® bestandsdeeldienst. +# Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows hosts2 name server verzoeken 81. $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $pif @@ -3249,8 +3254,8 @@ Om NAT met IPFW te gebruiken moeten een extra aantal instellingen gemaakt worden. In het instellingenbestand voor de kernel moet option - IPDIVERT toegevoegd worden aan de andere - IPFIREWALL opties. + IPDIVERT toegevoegd worden aan de andere opties van + IPFIREWALL. Naast de normale IPFW opties in /etc/rc.conf zijn de volgende @@ -3260,18 +3265,18 @@ natd_interface="rl0" # interfacenaam voor de publieke Internet NIC natd_flags="–dynamic –m" # –m = behoud poortnummers als mogelijk - Stateful regels samen met de - divert natd regel gebruiken maakt - het schrijven van regels veel gecompliceerder. De plaats - van de regels met check–state - en divert natd zijn van kritiek + Stateful regels samen met de regel + divert natd (Network Address Translation) gebruiken + maakt het schrijven van regels veel gecompliceerder. De plaats + van de regels met check–state + en divert natd zijn van kritiek belang. De logica bestaat niet langer uit het eenvoudigweg van boven naar beneden doorwerken van de regels. Er wordt dan ook een nieuw type actie gebruik: - skipto. Bij het gebruik van - skipto is het verplicht iedere regel + skipto. Bij het gebruik van + skipto is het verplicht iedere regel te nummeren zodat duidelijk is waar een - skipto precies heen springt. + skipto precies heen springt. Hieronder staat een groep regels zonder commentaar waarin een manier om pakketten door de groep regels te @@ -3280,58 +3285,55 @@ De verwerking begint met de eerste regel en er wordt steeds een volgende regel gecontroleerd tot het einde wordt bereikt of totdat een regel op het gecontroleerde - pakket van toepassing is, op dat pakket wordt toegepast - en de verwerking van regels daardoor stopt. In het - voorbeeld zijn de regels 100, 101, 450, 500, en 510 van - belang. Die regels regelen de vertaling van inkomende en + pakket van toepassing is, en het pakket uit de firewall wordt + vrijgelaten. In het voorbeeld zijn de regels 100, 101, 450, 500, en + 510 van belang. Die regels regelen de vertaling van inkomende en uitgaande pakketten zodat er in de tabel met de - dynamische keep–state regels - altijd het private IP adres staat. + dynamische keep–state-regels + altijd het private IP-adres staat. Daarnaast is het van belang op te merken dat er in alle - allow en - deny regels de richting van het - pakket wordt gecontroleerd (inkomend of uitgaand) en over - welke interface het pakket gaat. Merk ook op dat alle + allow- en deny-regels de + richting van het pakket wordt gecontroleerd (inkomend of uitgaand) en + over welke interface het pakket gaat. Merk ook op dat alle uitgaande verzoeken voor het starten van een sessie met - een skipto naar regel 500 gaan voor + een skipto naar regel 500 gaan voor NAT. Stel dat een gebruiker zijn webbrowser gebruikt om een - webpagina op te halen. Webpagina's gebruiken poort 80 voor - communicatie. Er komt een pakket de firewall binnen dat - niet past bij regel 100 omdat het naar buiten gaat en niet - naar binnen. Het komt voorbij regel 101 omdat dit het - eerste pakket is en er dus nog niets voor in de dynamische - keep-state tabel staat. Als het pakket bij 125 aankomt + webpagina op te halen. Webpagina's worden over poort 80 verzonden. + Er komt een pakket de firewall binnen dat niet past bij regel 100 + omdat het naar buiten gaat en niet naar binnen. Het komt voorbij + regel 101 omdat dit het eerste pakket is en er dus nog niets over in + de dynamische keep-state tabel staat. Als het pakket bij 125 aankomt blijkt het te passen bij die regel. Het gaat naar buiten door de interface aan het publieke Internet. Het pakket - heeft dan nog steeds het bron IP adres + heeft dan nog steeds het bron-IP-adres van het private LAN. Als blijkt dat deze regel geldt, dan gebeuren er twee dingen: door - keep–state wordt er een regel + keep–state wordt er een regel in de dynamische keep–state tabel gezet en wordt de aangegeven actie uitgevoerd. De actie is onderdeel van de informatie uit de dynamische tabel. In dit geval is het - skipto 500. In regel 500 wordt - NAT op het IP adres - van het pakket toegepast en dan kan het weg. Het volgende + skipto rule 500. In regel 500 wordt + NAT op het IP-adres + van het pakket toegepast en dan kan het weg. Dit is van groot belang. Dit pakket komt aan op zijn - bestemming en als er een antwoord terug komt, dan begint de - verwerking van dat pakket weer van voor af aan. Nu voldoet + bestemming en als er een pakket als antwoord terug komt, dan begint de + verwerking van het antwoordpakket weer van voor af aan. Nu voldoet het aan regel 100 en dus wordt het bestemmingsadres - vertaald naar het bijbehorende IP adres + vertaald naar het bijbehorende IP-adres op het LAN. Daarna past het bij de - check–state regel en wordt een + check–state-regel en wordt een vermelding in de tabel gevonden wat betekent dat er een bestaande sessie is en wordt het doorgelaten naar het LAN. Het gaat dan naar de PC op het LAN die als eerste een pakket heeft verzonden en die verstuurt een nieuw pakket - met de vraag om een volgend segment met data naar de + met de vraag om een volgend segment met gegevens naar de server. Nu blijkt bij controle van de - check–state regel dat die op + check–state-regel dat die op het pakket van toepassing moet zijn en er staat een vermelding in de tabel voor uitgaand verkeer. Daarom wordt - de bijbehorende actie skipto 500 + de bijbehorende actie skipto rule 500 uitgevoerd. Het pakket springt naar regel 500, er wordt NAT op toegepast en het kan zijn weg vervolgen. @@ -3339,27 +3341,27 @@ Wat betreft binnenkomende pakketten wordt alles dat onderdeel is van een bestaande sessie automatisch afgehandeld door de - check–state regel en de juist - geplaatste divert natd regels. Nu hoeven - alleen de foute pakketten nog geweigerd te worden en moet - ondersteuning voor inkomende diensten ingesteld worden. In - dit geval draait er een Apache server op de gateway machine + check–state-regel en de correct + geplaatste divert natd-regels. Nu hoeven + alleen de foute pakketten nog geweigerd te worden en moeten + de inkomende diensten doorgelaten worden. In + dit geval draait er een Apache server op de firewall-machine die vanaf Internet bereikbaar moet zijn. Het nieuwe inkomende pakket past bij regel 100 en het - IP adres wordt aangepast aan het interne - IP adres van de gateway machine. Dat + IP-adres wordt aangepast aan het interne + IP-adres van de firewall-machine. Dat pakket wordt dan gecontroleerd op alle ongewenste eigenschappen en komt uiteindelijk aan bij regel 425 die van toepassing blijkt te zijn. In dat geval kunnen er twee dingen gebeuren: de pakketregel wordt in de dynamische keep–state tabel gezet, maar nu wordt het aantal nieuwe - sessies dat van het bron IP adres komt - gelimiteerd tot twee. Dit is een bescherming tegen DoS - aanvallen op de dienst die op dat poortnummer wordt - aangeboden. De actie is allow, dus het - pakket wordt tot het LAN toegelaten. Voor het antwoord - herkent de check–state regel dat het - pakket bij een bestaande sessie hoort, stuurt het naar regel + sessies dat van het bron IP-adres komt + gelimiteerd tot twee. Dit is een bescherming tegen DoS-aanvallen + op de dienst die op dat poortnummer wordt aangeboden. De actie is + allow, dus het pakket wordt tot het LAN toegelaten. + Voor het pakket dat als antwoord wordt verstuurd herkent de + check–state regel dat het + pakket bij een bestaande sessie hoort. Het stuurt het naar regel 500 voor NAT en stuurt het via de uitgaande interface weg. @@ -3503,8 +3505,8 @@ ################################################################# # Interface aan het publieke Internet (onderdeel Inkomend). -# Inspecteert pakketten die van het publieke Internet komen -# met als bestemming de host zelf of het private netwerk. +# Inspecteert pakketten die van het publieke Internet komen met +# als bestemming deze gatweay-server zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde From owner-p4-projects@FreeBSD.ORG Sun Sep 6 20:37:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B17471065672; Sun, 6 Sep 2009 20:37:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75E1E106566B for ; Sun, 6 Sep 2009 20:37:07 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 646868FC18 for ; Sun, 6 Sep 2009 20:37:07 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n86Kb7uW021740 for ; Sun, 6 Sep 2009 20:37:07 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n86Kb7Wa021738 for perforce@freebsd.org; Sun, 6 Sep 2009 20:37:07 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 6 Sep 2009 20:37:07 GMT Message-Id: <200909062037.n86Kb7Wa021738@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 168254 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Sep 2009 20:37:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=168254 Change 168254 by rene@rene_self on 2009/09/06 20:36:48 handbook/firewalls: fix spelling errors. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml#13 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml#13 (text+ko) ==== @@ -144,7 +144,7 @@ Een inclusieve firewall biedt veel betere controle over het uitgaande verkeer, waardoor het een betere keuze is voor systemen die diensten op het publieke Internet aanbieden. Het beheert ook - het type vekeer dat van het publieke Internet afkomt en toegang + het type verkeer dat van het publieke Internet afkomt en toegang heeft tot uw privé-netwerk. Al het verkeer dat niet aan de regels voldoet wordt geblokkeerd en gelogd, dat is zo ontworpen. Inclusieve firewalls zijn over het algemeen veiliger @@ -908,8 +908,8 @@ geschreven moeten worden. Om de wijzigingen in - /etc/syslog.conf actief te maken kan er - gereboot worden of is het mogelijk de daemon &man.syslogd.8; een schop + /etc/syslog.conf actief te maken kan er opnieuw + opgestart worden of is het mogelijk de daemon &man.syslogd.8; een schop te geven zodat /etc/syslog.conf opnieuw wordt ingelezen met /etc/rc.d/syslogd reload. Het PID (procesnummer) is te achterhalen @@ -1014,7 +1014,7 @@ regels bevat en stellen dat op zo'n manier op dat het uitgevoerd kan worden als een script met substitutie. Het grote voordeel van deze werkwijze is dat er dan alleen de - waarde geassocieerd met een symboliscche naam gewijzigd hoeft te worden + waarde geassocieerd met een symbolische naam gewijzigd hoeft te worden en dat als het script opnieuw wordt uitgevoerd, op alle plaatsen waar de variabele wordt gebruikt, de nieuwe waarde in de regels wordt opgenomen. Omdat het een script is, kan @@ -1141,7 +1141,7 @@ gebruik makend van een onbevoorrechte (hogere orde) poort en komen aan bij de specifieke dienstpoort op het bestemmingsadres. Alle bovengenoemde parameters (poorten en adressen) kunnen gebruikt worden - als selectiecriteria om regels aa te maken die diensten zullen toestaan + als selectiecriteria om regels aan te maken die diensten zullen toestaan of blokkeren. @@ -1373,10 +1373,10 @@ Het is vaak lastig om te komen tot een reeks IP-adressen die zich niet gemakkelijk laten uitdrukken met de gepunte numerieke vorm/ - masker-lengte notatie. De port net-mgmt/ipcalc kan gebruikt worden om de berekeningen te vereenvoudigen. Aanvullende informatie is beschikbaar - op de webpgina van het gereedschap: . @@ -1512,7 +1512,7 @@ de pass-regels en blokkeert al het overige verkeer. Firewalls die bedoeld zijn om andere machines te beschermen, ook wel netwerk-firewalls genoemd, dienen - tenminste twee inferfaces te hebben, die over het algemeen zijn + tenminste twee interfaces te hebben, die over het algemeen zijn ingesteld om de ene kant te vertrouwen (het LAN) maar niet de andere (het publieke Internet). Ook kan een firewall worden ingesteld om alleen het systeem te beschermen waarop het @@ -1529,7 +1529,7 @@ Voor de interface die is verbonden met het publieke Internet worden regels gemaakt waarmee de toegang voor uitgaande en - binnenkomende verbindingen worden geauthoriseerd en beheersd. + binnenkomende verbindingen worden geautoriseerd en beheerst. Dit kan de PPP-interface tun0 zijn of de netwerkkaart die is verbonden met een xDSL- of kabelmodem. @@ -1563,7 +1563,7 @@ In het onderdeel Inkomend staan eerst alle regels voor het blokkeren van ongewenste pakketten, om twee redenen. - Als eerste kan het zo zijn dat kwaadardige pakketten gedeeltelijk + Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk overeenkomen met legitiem verkeer. Deze pakketten moeten worden weggegooid in plaats van binnengelaten te worden, gebaseerd op hun gedeeltelijke match met de allow-regels. De tweede @@ -1782,7 +1782,7 @@ # Blokkeer en log het eerste voorkomen van al het andere dat probeert # binnen te komen. Het loggen van alleen het eerste voorkomen stopt # een ontzegging van dienst aanval die gericht is op het laten -# vollopen van de partitie waarop de logboeken staan. Deze regel implmenteert +# vollopen van de partitie waarop de logboeken staan. Deze regel implementeert # de standaard blokkade. block in log first quick on dc0 all ################### Einde van de regels ################################### @@ -2161,7 +2161,7 @@ map dc0 10.0.10.0/29 -> 0/32 - De FTP map-regel hoort voor de + De FTP-afbeeldregel hoort voor de normale regels te staan. Alle pakketten worden als eerste vergeleken met de eerste regel en zo verder. Eerst wordt gekeken over de interfacenaam overeenkomt, daarna het @@ -2547,7 +2547,7 @@ (luister)poort. Pakketten bestemd voor een specifieke poort verlaten het bronadres via een onbevoorrechte (hogere) poort en doelen op de specifieke dienstpoort op het bestemmingsadres. Alle bovenstaande - parameters (poorten en addressen) kunnen gebruikt worden als + parameters (poorten en adressen) kunnen gebruikt worden als selectiecriteria om regels aan te maken die diensten doorlaten of blokkeren. @@ -2564,7 +2564,7 @@ actieveld van de regel uitgevoerd. Dit wordt de de eerst passende regel wint zoekmethode genoemd. Als een pakket bij geen enkele regel past, dan - wordt de verpichte standaardregel 65535 van IPFW toegepast, die alle + wordt de verplichte standaardregel 65535 van IPFW toegepast, die alle pakketten weigert zonder een antwoord terug te sturen naar de verzender. @@ -2909,7 +2909,7 @@ Velden waarvoor substitutie van toepassing is worden vooraf gegaan door het dollarteken $. Definities worden niet vooraf gegaan door het voorvoegsel $. De waarden - van een substitie moet omsloten worden door "dubbele + van een substitutie moet omsloten worden door "dubbele aanhalingstekens". Een bestand met regels kan als volgt beginnen: @@ -2957,7 +2957,7 @@ - Verzmeling van stateful regels + Verzameling van stateful regels De volgende verzameling van regels, waarin geen gebruik gemaakt wordt van NAT, is een voorbeeld van hoe @@ -3019,7 +3019,7 @@ blokkeren van ongewenste pakketten, om twee redenen. Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk overeenkomen met legitiem verkeer. Deze regels moeten worden - geblokkeerd in plaats van te worden binnengelaten, gebasserd op hun + geblokkeerd in plaats van te worden binnengelaten, gebaseerd op hun gedeeltelijke overeenkomst met allow-regels. De tweede reden is dat nu ongewenste pakketten die vaak voorkomen en die bij voorkeur niet in de logboeken @@ -3506,7 +3506,7 @@ ################################################################# # Interface aan het publieke Internet (onderdeel Inkomend). # Inspecteert pakketten die van het publieke Internet komen met -# als bestemming deze gatweay-server zelf of het private netwerk. +# als bestemming deze gateway-server zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde From owner-p4-projects@FreeBSD.ORG Mon Sep 7 05:57:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B4CF4106568F; Mon, 7 Sep 2009 05:57:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C2D8106568B for ; Mon, 7 Sep 2009 05:57:31 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 592EF8FC17 for ; Mon, 7 Sep 2009 05:57:31 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n875vVxd001982 for ; Mon, 7 Sep 2009 05:57:31 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n875vUMw001980 for perforce@freebsd.org; Mon, 7 Sep 2009 05:57:30 GMT (envelope-from trasz@freebsd.org) Date: Mon, 7 Sep 2009 05:57:30 GMT Message-Id: <200909070557.n875vUMw001980@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 168264 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 05:57:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=168264 Change 168264 by trasz@trasz_anger on 2009/09/07 05:57:19 IFC. Affected files ... .. //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#12 integrate .. //depot/projects/soc2009/trasz_limits/UPDATING#13 integrate .. //depot/projects/soc2009/trasz_limits/bin/chmod/chmod.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/cp/utils.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/getfacl/getfacl.1#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/getfacl/getfacl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/ls/print.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/mv/mv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/eval.c#5 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/exec.c#4 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/exec.h#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/mknodes.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/nodes.c.pat#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/cddl/lib/libnvpair/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/ee/ee.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/top/display.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/traceroute/as.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/traceroute/as.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/traceroute/traceroute.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pqueue/pqueue.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pqueue/pqueue.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_both.c#3 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_pkt.c#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/defaults/periodic.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/defaults/rc.conf#6 integrate .. //depot/projects/soc2009/trasz_limits/etc/freebsd-update.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/inetd.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.local.dist#3 delete .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.x11-4.dist#2 delete .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.x11.dist#2 delete .. //depot/projects/soc2009/trasz_limits/etc/mtree/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/network.subr#4 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/Makefile#7 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/ipsec#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/static_arp#1 branch .. //depot/projects/soc2009/trasz_limits/etc/rc.d/wpa_supplicant#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/patch/pch.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/db/hash/hash.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/ctype.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/digittoint.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isalnum.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isalpha.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isascii.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isblank.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/iscntrl.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isdigit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isgraph.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isideogram.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/islower.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isphonogram.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isprint.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/ispunct.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isrune.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isspace.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isspecial.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isupper.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/isxdigit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/toascii.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/tolower.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/locale/toupper.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_calc_mask.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdlib/malloc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdlib/ptsname.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdtime/strptime.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/intro.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpam/modules/pam_lastlog/pam_lastlog.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.atom.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.core.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.core2.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.iaf.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.k7.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.k8.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.p4.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.p5.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.p6.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc_capabilities.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc_read.3#2 integrate .. //depot/projects/soc2009/trasz_limits/libexec/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/release/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/release/doc/en_US.ISO8859-1/relnotes/article.sgml#4 integrate .. //depot/projects/soc2009/trasz_limits/release/scripts/lib32-make.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/release/scripts/mm-mtree.sh#1 branch .. //depot/projects/soc2009/trasz_limits/sbin/bsdlabel/bsdlabel.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/label/glabel.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/mirror/geom_mirror.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/mirror/gmirror.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/part/geom_part.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/core/geom.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/route/route.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/route/route.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/savecore/savecore.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/umount/umount.8#2 integrate .. //depot/projects/soc2009/trasz_limits/share/colldef/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/colldef/la_LN.ISO8859-13.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/colldef/lt_LT.ISO8859-13.src#2 delete .. //depot/projects/soc2009/trasz_limits/share/examples/cvsup/stable-supfile#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ahci.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ip6.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ips.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/mfi.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/pts.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/pty.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/freebsd-update.conf.5#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/make.conf.5#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/rc.conf.5#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man5/tmpfs.5#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man7/release.7#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/Makefile#8 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/kproc.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/kthread.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/sglist.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/taskqueue.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/mklocale/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/mklocale/la_LN.ISO8859-13.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/mklocale/lt_LT.ISO8859-13.src#2 delete .. //depot/projects/soc2009/trasz_limits/share/monetdef/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/monetdef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/msgdef/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/msgdef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/msgdef/lv_LV.UTF-8.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/numericdef/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/timedef/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/timedef/ja_JP.UTF-8.src#2 integrate .. //depot/projects/soc2009/trasz_limits/share/timedef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/timedef/lv_LV.UTF-8.src#1 branch .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/africa#3 integrate .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/asia#5 integrate .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/australasia#3 integrate .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/europe#3 integrate .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/leapseconds#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/machdep.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/trap.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/CAMBRIA#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/SHEEVAPLUG#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/common.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/discovery/db78xxx.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/db88f6xxx.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/files.db88f6xxx#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/files.kirkwood#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/files.sheevaplug#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/sheevaplug.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/std.db88f6xxx#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/std.kirkwood#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/std.sheevaplug#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mvreg.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mvvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/orion/db88f5xxx.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_all.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_all.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_da.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_xpt.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_ccb.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/mutex.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/proc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/taskq.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/taskq_impl.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/vnode.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/os/taskq.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/sys/callb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linprocfs/linprocfs.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_ioctl.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files#15 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.amd64#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.i386#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.ia64#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.powerpc#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.sparc64#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/newvers.sh#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options.arm#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/altq/altq/altq_subr.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pf.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pf_if.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pfvar.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/aac/aac.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/acpi.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/acpi_battery.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/acpi_thermal.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/adb/adb_bus.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/alc/if_alc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/amdtemp/amdtemp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/amr/amr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/asmc/asmc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-all.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-dma.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah_regdomain.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/atkbdc/psm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bktr/bktr_os.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/coretemp/coretemp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_main.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drmP.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_bufs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_drv.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_fops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/r600_blit.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/r600_cp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_cp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_cs.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_drm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_drv.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_state.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_em.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_igb.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_core.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ips/ips_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/iscsi/initiator/isc_cam.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfi.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mge/if_mge.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mii/e1000phy.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mlx/mlx.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mmc/mmc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwl.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/null/null.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ppbus/vpo.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pst/pst-iop.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pty/pty.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/re/if_re.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/rp/rp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/rp/rp_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/siis/siis.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/snp/snp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pci/hda/hdac.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/usb/uaudio.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/scterm-teken.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/scvgarndr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/scvidctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/sequences#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken.c#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken_demo.c#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken_subr.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken_subr_compat.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/twe/twe.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/txp/if_txp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/usb_controller.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/ukbd.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/misc/ufm.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_aue.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_cdce.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/usb_ethernet.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uipaq.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uvisor.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/umass.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/urio.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_busdma.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_compat_linux.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dev.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_device.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_device.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_handle_request.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hub.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_process.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_process.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_transfer.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_upgt.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_zyd.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xen/blkback/blkback.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xen/blkfront/blkfront.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xen/console/console.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xen/netback/netback.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/fifofs/fifo_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clsubs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clvnops.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/pseudofs/pseudofs_vnops.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_disk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_io.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/multipath/g_multipath.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/part/g_part_gpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/acpica/acpi_machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/bios/smapi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/bios/smbios.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/bios/vpd.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/elf_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/local_apic.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/pmap.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/trap.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/pmap.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/isa/vesa.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/linux/linux_sysvec.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/xen/locore.s#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/xen/pmap.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/isa/isahint.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/imgact_elf.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_conf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_cons.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#12 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#12 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_lock.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_mutex.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_proc.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_subr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_sx.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_thr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_uuid.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_bus.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_sglist.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_witness.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_generic.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pty.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/kern/tty_ttydisc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_domain.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_socket.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_vnops.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/Makefile#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/drm/radeon/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/pty/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/zfs/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/bridgestp.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/flowtable.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/flowtable.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_arp.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_bridge.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_ef.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_llatbl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_llatbl.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_var.h#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_vlan.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/rtsock.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/vnet.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_dfs.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_sta.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_gif.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/if_ether.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_carp.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_divert.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_divert.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_fastfwd.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_fw.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_output.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw2.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw_pfil.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_indata.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctp_output.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/sctputil.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_timewait.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/icmp6.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_ifattach.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_src.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_input.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6_rtr.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipsec/ipsec.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipsec/key.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipsec/xform_ipip.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/bootp_subr.c#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/opencrypto/cryptodev.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/cbus/fdc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_dg.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_rc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_vc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/rpc_generic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_dg.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_generic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_vc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/bus.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/conf.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/cons.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/imgact_elf.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ioctl_compat.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/param.h#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/sglist.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/systm.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/taskqueue.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/tty.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ttycom.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ttydisc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/types.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/teken/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/gensequences#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/sequences#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken_demo.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken_scs.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken_stress.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken_subr.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/ufs/ffs/ffs_softdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/device_pager.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/sg_pager.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_extern.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_glue.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/xen/xenbus/xenbus_probe.c#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Dependencies#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-cam#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-crypto#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-dev_pci#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-dev_sound#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-dev_usb#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-geom#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-kern#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-libkern#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-linux#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-net80211#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-netgraph#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-netinet#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-netinet6#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-netipsec#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-opencrypto#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Doxyfile-vm#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/kerneldoc/subsys/common-Doxyfile#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/regression/acltools/tools-posix.test#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/regression/bin/sh/builtins/eval3.0#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/bin/sh/execution/func1.0#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/bin/sh/execution/func2.0#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/sockpoll.c#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/ath/athpoke/athpoke.c#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/tools/vimage/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/tools/vimage/vimage.8#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/tools/vimage/vimage.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/ee/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/find/function.c#4 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/fstat/fstat.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/fstat/zfs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/look/look.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/netstat/inet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/netstat/main.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/netstat/netstat.h#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/w/extern.h#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/w/pr_time.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.bin/w/w.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/acpi/acpidump/acpi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/acpi/acpidump/acpidump.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/acpi/acpidump/acpidump.h#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/diskinfo/diskinfo.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/freebsd-update/freebsd-update.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/kbdcontrol/kbdcontrol.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/mfiutil/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/mfiutil/README#2 delete .. //depot/projects/soc2009/trasz_limits/usr.sbin/mfiutil/mfiutil.1#2 delete .. //depot/projects/soc2009/trasz_limits/usr.sbin/mfiutil/mfiutil.8#1 branch .. //depot/projects/soc2009/trasz_limits/usr.sbin/mptutil/mptutil.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ndp/ndp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pkg_install/add/main.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/pkg_install/lib/lib.h#4 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/ether.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/exec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/exec.h#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/main.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/netgraph.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/physical.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/ppp.8.m4#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/tty.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/media.c#3 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/traceroute6/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/traceroute6/traceroute6.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/traceroute6/traceroute6.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/wpa_cli/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/zic/zic.c#3 integrate Differences ... ==== //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.205 2009/08/01 19:26:27 rwatson Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.208 2009/09/03 16:34:20 remko Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,15 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090904: remove lukemftpd +OLD_FILES+=usr/libexec/lukemftpd +OLD_FILES+=usr/share/man/man5/ftpd.conf.5.gz +OLD_FILES+=usr/share/man/man5/ftpusers.5.gz +OLD_FILES+=usr/share/man/man8/lukemftpd.8.gz +# 20090902: BSD.{x11,x11-4}.dist are dead and BSD.local.dist lives in ports/ +OLD_FILES+=etc/mtree/BSD.local.dist +OLD_FILES+=etc/mtree/BSD.x11.dist +OLD_FILES+=etc/mtree/BSD.x11-4.dist # 20090801: vimage.h removed in favour of vnet.h OLD_FILES+=usr/include/sys/vimage.h # 20090719: library version bump for 8.0 @@ -803,8 +812,6 @@ OLD_FILES+=rescue/fdisk OLD_FILES+=rescue/gpt .endif -# 20071026: kthread(9)/kproc(9) API changes -OLD_FILES+=usr/share/man/man9/kthread_create.9.gz # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd ==== //depot/projects/soc2009/trasz_limits/UPDATING#13 (text+ko) ==== @@ -1,51 +1,60 @@ Updating Information for FreeBSD current users -This file is maintained and copyrighted by M. Warner Losh -. See end of file for further details. For commonly -done items, please see the COMMON ITEMS: section later in the file. +This file is maintained and copyrighted by M. Warner Losh . +See end of file for further details. For commonly done items, please see the +COMMON ITEMS: section later in the file. These instructions assume that you +basically know what you are doing. If not, then please consult the FreeBSD +handbook. Items affecting the ports and packages system can be found in -/usr/ports/UPDATING. Please read that file before running -portupgrade. +/usr/ports/UPDATING. Please read that file before running portupgrade. -NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW: - FreeBSD 8.x has many debugging features turned on, in - both the kernel and userland. These features attempt to detect - incorrect use of system primitives, and encourage loud failure - through extra sanity checking and fail stop semantics. They - also substantially impact system performance. If you want to - do performance measurement, benchmarking, and optimization, - you'll want to turn them off. This includes various WITNESS- - related kernel options, INVARIANTS, malloc debugging flags - in userland, and various verbose features in the kernel. Many - developers choose to disable these features on build machines - to maximize performance. (To disable malloc debugging, run +NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.x IS SLOW: + FreeBSD 9.x has many debugging features turned on, in both the kernel + and userland. These features attempt to detect incorrect use of + system primitives, and encourage loud failure through extra sanity + checking and fail stop semantics. They also substantially impact + system performance. If you want to do performance measurement, + benchmarking, and optimization, you'll want to turn them off. This + includes various WITNESS- related kernel options, INVARIANTS, malloc + debugging flags in userland, and various verbose features in the + kernel. Many developers choose to disable these features on build + machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090825: + The old tunable hw.bus.devctl_disable has been superseded by + hw.bus.devctl_queue. hw.bus.devctl_disable=1 in loader.conf should be + replaced by hw.bus.devctl_queue=0. The default for this new tunable + is 1000. + 20090813: - Remove the option STOP_NMI. The default action is now to use NMI - only for KDB via the newly introduced function stop_cpus_hard() - and maintain stop_cpus() to just use a normal IPI_STOP on ia32 - and amd64. + Remove the option STOP_NMI. The default action is now to use NMI only + for KDB via the newly introduced function stop_cpus_hard() and + maintain stop_cpus() to just use a normal IPI_STOP on ia32 and amd64. + +20090803: + The stable/8 branch created in subversion. This corresponds to the + RELENG_8 branch in CVS. 20090719: - Bump the shared library version numbers for all libraries that - do not use symbol versioning as part of the 8.0-RELEASE cycle. - Bump __FreeBSD_version to 800105. + Bump the shared library version numbers for all libraries that do not + use symbol versioning as part of the 8.0-RELEASE cycle. Bump + __FreeBSD_version to 800105. 20090714: - Due to changes in the implementation of virtual network stack - support, all network-related kernel modules must be recompiled. - As this change breaks the ABI, bump __FreeBSD_version to 800104. + Due to changes in the implementation of virtual network stack support, + all network-related kernel modules must be recompiled. As this change + breaks the ABI, bump __FreeBSD_version to 800104. 20090713: - The TOE interface to the TCP syncache has been modified to remove struct - tcpopt () from the ABI of the network stack. The - cxgb driver is the only TOE consumer affected by this change, and needs - to be recompiled along with the kernel. As this change breaks the ABI, - bump __FreeBSD_version to 800103. + The TOE interface to the TCP syncache has been modified to remove + struct tcpopt () from the ABI of the network stack. + The cxgb driver is the only TOE consumer affected by this change, and + needs to be recompiled along with the kernel. As this change breaks + the ABI, bump __FreeBSD_version to 800103. -20090712: +20090712: Padding has been added to struct tcpcb, sackhint and tcpstat in to facilitate future MFCs and bug fixes whilst maintainig the ABI. However, this change breaks the ABI, so bump @@ -53,79 +62,75 @@ any of these structs (e.g. sockstat) need to be recompiled. 20090630: - The NFS_LEGACYRPC option has been removed along with the old - kernel RPC implementation that this option selected. Kernel - configurations may need to be adjusted. + The NFS_LEGACYRPC option has been removed along with the old kernel + RPC implementation that this option selected. Kernel configurations + may need to be adjusted. 20090629: - The network interface device nodes at /dev/net/ have - been removed. All ioctl operations can be performed the normal - way using routing sockets. The kqueue functionality can - generally be replaced with routing sockets. + The network interface device nodes at /dev/net/ have been + removed. All ioctl operations can be performed the normal way using + routing sockets. The kqueue functionality can generally be replaced + with routing sockets. 20090628: - The documentation from the FreeBSD Documentation Project - (Handbook, FAQ, etc.) is now installed via packages by - sysinstall(8) and under the /usr/local/share/doc/freebsd - directory instead of /usr/share/doc. + The documentation from the FreeBSD Documentation Project (Handbook, + FAQ, etc.) is now installed via packages by sysinstall(8) and under + the /usr/local/share/doc/freebsd directory instead of /usr/share/doc. 20090624: - The ABI of various structures related to the SYSV IPC API have - been changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 - kernel options now all require COMPAT_FREEBSD7. - Bump __FreeBSD_version to 800100. + The ABI of various structures related to the SYSV IPC API have been + changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version to + 800100. 20090622: - Layout of struct vnet has changed as routing related variables - were moved to their own Vimage module. Modules need to be - recompiled. Bump __FreeBSD_version to 800099. + Layout of struct vnet has changed as routing related variables were + moved to their own Vimage module. Modules need to be recompiled. Bump + __FreeBSD_version to 800099. 20090619: - NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 - and 1024 respectively. As long as no more than 16 groups per - process are used, no changes should be visible. When more - than 16 groups are used, old binaries may fail if they call - getgroups() or getgrouplist() with statically sized storage. - Recompiling will work around this, but applications should be - modified to use dynamically allocated storage for group arrays - as POSIX.1-2008 does not cap an implementation's number of - supported groups at NGROUPS_MAX+1 as previous versions did. + NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 and 1024 + respectively. As long as no more than 16 groups per process are used, + no changes should be visible. When more than 16 groups are used, old + binaries may fail if they call getgroups() or getgrouplist() with + statically sized storage. Recompiling will work around this, but + applications should be modified to use dynamically allocated storage + for group arrays as POSIX.1-2008 does not cap an implementation's + number of supported groups at NGROUPS_MAX+1 as previous versions did. - NFS and portalfs mounts may also be affected as the list of - groups is truncated to 16. Users of NFS who use more than 16 - groups, should take care that negative group permissions are not - used on the exported file systems as they will not be reliable - unless a GSSAPI based authentication method is used. + NFS and portalfs mounts may also be affected as the list of groups is + truncated to 16. Users of NFS who use more than 16 groups, should + take care that negative group permissions are not used on the exported + file systems as they will not be reliable unless a GSSAPI based + authentication method is used. -20090616: - The compiling option ADAPTIVE_LOCKMGRS has been introduced. - This option compiles in the support for adaptive spinning for lockmgrs - which want to enable it. The lockinit() function now accepts the - flag LK_ADAPTIVE in order to make the lock object subject to - adaptive spinning when both held in write and read mode. +20090616: + The compiling option ADAPTIVE_LOCKMGRS has been introduced. This + option compiles in the support for adaptive spinning for lockmgrs + which want to enable it. The lockinit() function now accepts the flag + LK_ADAPTIVE in order to make the lock object subject to adaptive + spinning when both held in write and read mode. 20090613: - The layout of the structure returned by IEEE80211_IOC_STA_INFO - has changed. User applications that use this ioctl need to be - rebuilt. + The layout of the structure returned by IEEE80211_IOC_STA_INFO has + changed. User applications that use this ioctl need to be rebuilt. 20090611: - The layout of struct thread has changed. Kernel and modules - need to be rebuilt. + The layout of struct thread has changed. Kernel and modules need to + be rebuilt. 20090608: - The layout of structs ifnet, domain, protosw and vnet_net has - changed. Kernel modules need to be rebuilt. - Bump __FreeBSD_version to 800097. + The layout of structs ifnet, domain, protosw and vnet_net has changed. + Kernel modules need to be rebuilt. Bump __FreeBSD_version to 800097. 20090602: window(1) has been removed from the base system. It can now be installed from ports. The port is called misc/window. 20090601: - The way we are storing and accessing `routing table' entries - has changed. Programs reading the FIB, like netstat, need to - be re-compiled. + The way we are storing and accessing `routing table' entries has + changed. Programs reading the FIB, like netstat, need to be + re-compiled. 20090601: A new netisr implementation has been added for FreeBSD 8. Network @@ -134,24 +139,24 @@ Bump __FreeBSD_version to 800096. 20090530: - Remove the tunable/sysctl debug.mpsafevfs as its initial purpose - is no more valid. + Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no + more valid. 20090530: Add VOP_ACCESSX(9). File system modules need to be rebuilt. Bump __FreeBSD_version to 800094. 20090529: - Add mnt_xflag field to 'struct mount'. File system modules - need to be rebuilt. + Add mnt_xflag field to 'struct mount'. File system modules need to be + rebuilt. Bump __FreeBSD_version to 800093. 20090528: The compiling option ADAPTIVE_SX has been retired while it has been introduced the option NO_ADAPTIVE_SX which handles the reversed logic. The KPI for sx_init_flags() changes as accepting flags: - SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag - has been introduced in order to handle the reversed logic. + SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag has + been introduced in order to handle the reversed logic. Bump __FreeBSD_version to 800092. 20090527: @@ -164,20 +169,18 @@ Bump __FreeBSD_version to 800090. 20090523: - The newly imported zic(8) produces a new format in the - output. Please run tzsetup(8) to install the newly created - data to /etc/localtime. + The newly imported zic(8) produces a new format in the output. Please + run tzsetup(8) to install the newly created data to /etc/localtime. 20090520: The sysctl tree for the usb stack has renamed from hw.usb2.* to hw.usb.* and is now consistent again with previous releases. 20090520: - 802.11 monitor mode support was revised and driver api's - were changed. Drivers dependent on net80211 now support - DLT_IEEE802_11_RADIO instead of DLT_IEEE802_11. No - user-visible data structures were changed but applications - that use DLT_IEEE802_11 may require changes. + 802.11 monitor mode support was revised and driver api's were changed. + Drivers dependent on net80211 now support DLT_IEEE802_11_RADIO instead + of DLT_IEEE802_11. No user-visible data structures were changed but + applications that use DLT_IEEE802_11 may require changes. Bump __FreeBSD_version to 800088. 20090430: @@ -768,730 +771,29 @@ 20071010: RELENG_7 branched. -20071009: - Setting WITHOUT_LIBPTHREAD now means WITHOUT_LIBKSE and - WITHOUT_LIBTHR are set. - -20070930: - The PCI code has been made aware of PCI domains. This means that - the location strings as used by pciconf(8) etc are now in the - following format: pci::[:]. It - also means that consumers of potentially need to - be recompiled; this includes the hal and xorg-server ports. - -20070928: - The caching daemon (cached) was renamed to nscd. nscd.conf - configuration file should be used instead of cached.conf and - nscd_enable, nscd_pidfile and nscd_flags options should be used - instead of cached_enable, cached_pidfile and cached_flags in - rc.conf. - -20070921: - The getfacl(1) utility now prints owning user and group name - instead of owning uid and gid in the three line comment header. - This is the same behavior as getfacl(1) on Solaris and Linux. - -20070704: - The new IPsec code is now compiled in using the IPSEC option. The - IPSEC option now requires "device crypto" be defined in your kernel - configuration. The FAST_IPSEC kernel option is now deprecated. - -20070702: - The packet filter (pf) code has been updated to OpenBSD 4.1 Please - note the changed syntax - keep state is now on by default. Also - note the fact that ftp-proxy(8) has been changed from bottom up and - has been moved from libexec to usr/sbin. Changes in the ALTQ - handling also affect users of IPFW's ALTQ capabilities. - -20070701: - Remove KAME IPsec in favor of FAST_IPSEC, which is now the - only IPsec supported by FreeBSD. The new IPsec stack - supports both IPv4 and IPv6. The kernel option will change - after the code changes have settled in. For now the kernel - option IPSEC is deprecated and FAST_IPSEC is the only option, that - will change after some settling time. - -20070701: - The wicontrol(8) utility has been removed from the base system. wi(4) - cards should be configured using ifconfig(8), see the man page for more - information. - -20070612: - The i386/amd64 GENERIC kernel now defaults to the nfe(4) driver - instead of the nve(4) driver. Please update your configuration - accordingly. - -20070612: - By default, /etc/rc.d/sendmail no longer rebuilds the aliases - database if it is missing or older than the aliases file. If - desired, set the new rc.conf option sendmail_rebuild_aliases - to "YES" to restore that functionality. - -20070612: - The IPv4 multicast socket code has been considerably modified, and - moved to the file sys/netinet/in_mcast.c. Initial support for the - RFC 3678 Source-Specific Multicast Socket API has been added to - the IPv4 network stack. - - Strict multicast and broadcast reception is now the default for - UDP/IPv4 sockets; the net.inet.udp.strict_mcast_mship sysctl variable - has now been removed. - - The RFC 1724 hack for interface selection has been removed; the use - of the Linux-derived ip_mreqn structure with IP_MULTICAST_IF has - been added to replace it. Consumers such as routed will soon be - updated to reflect this. - - These changes affect users who are running routed(8) or rdisc(8) - from the FreeBSD base system on point-to-point or unnumbered - interfaces. - -20070610: - The net80211 layer has changed significantly and all wireless - drivers that depend on it need to be recompiled. Further these - changes require that any program that interacts with the wireless - support in the kernel be recompiled; this includes: ifconfig, - wpa_supplicant, hostapd, and wlanstats. Users must also, for - the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules - if they use modules for wireless support. These modules implement - scanning support for station and ap modes, respectively. Failure - to load the appropriate module before marking a wireless interface - up will result in a message to the console and the device not - operating properly. - -20070610: - The pam_nologin(8) module ceases to provide an authentication - function and starts providing an account management function. - Consequent changes to /etc/pam.d should be brought in using - mergemaster(8). Third-party files in /usr/local/etc/pam.d may - need manual editing as follows. Locate this line (or similar): - - auth required pam_nologin.so no_warn - - and change it according to this example: - - account required pam_nologin.so no_warn - - That is, the first word needs to be changed from "auth" to - "account". The new line can be moved to the account section - within the file for clarity. Not updating pam.conf(5) files - will result in nologin(5) ignored by the respective services. - -20070529: - The ether_ioctl() function has been synchronized with ioctl(2) - and ifnet.if_ioctl. Due to that, the size of one of its arguments - has changed on 64-bit architectures. All kernel modules using - ether_ioctl() need to be rebuilt on such architectures. - -20070516: - Improved INCLUDE_CONFIG_FILE support has been introduced to the - config(8) utility. In order to take advantage of this new - functionality, you are expected to recompile and install - src/usr.sbin/config. If you don't rebuild config(8), and your - kernel configuration depends on INCLUDE_CONFIG_FILE, the kernel - build will be broken because of a missing "kernconfstring" - symbol. - -20070513: - Symbol versioning is enabled by default. To disable it, use - option WITHOUT_SYMVER. It is not advisable to attempt to - disable symbol versioning once it is enabled; your installworld - will break because a symbol version-less libc will get installed - before the install tools. As a result, the old install tools, - which previously had symbol dependencies to FBSD_1.0, will fail - because the freshly installed libc will not have them. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 7 15:39:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E208C1065692; Mon, 7 Sep 2009 15:39:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A67B01065672 for ; Mon, 7 Sep 2009 15:39:07 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 944478FC1E for ; Mon, 7 Sep 2009 15:39:07 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87Fd7nu074878 for ; Mon, 7 Sep 2009 15:39:07 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87Fd7wB074876 for perforce@freebsd.org; Mon, 7 Sep 2009 15:39:07 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 7 Sep 2009 15:39:07 GMT Message-Id: <200909071539.n87Fd7wB074876@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168279 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 15:39:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=168279 Change 168279 by hselasky@hselasky_laptop001 on 2009/09/07 15:39:06 USB CORE: - add full featured fault injection system for control transfers. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#26 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#26 (text+ko) ==== @@ -71,14 +71,123 @@ #if USB_DEBUG static int usb_pr_poll_delay = USB_PORT_RESET_DELAY; static int usb_pr_recovery_delay = USB_PORT_RESET_RECOVERY; -static int usb_ss_delay = 0; SYSCTL_INT(_hw_usb, OID_AUTO, pr_poll_delay, CTLFLAG_RW, &usb_pr_poll_delay, 0, "USB port reset poll delay in ms"); SYSCTL_INT(_hw_usb, OID_AUTO, pr_recovery_delay, CTLFLAG_RW, &usb_pr_recovery_delay, 0, "USB port reset recovery delay in ms"); -SYSCTL_INT(_hw_usb, OID_AUTO, ss_delay, CTLFLAG_RW, - &usb_ss_delay, 0, "USB status stage delay in ms"); + +/* The following structures are used in connection to fault injection. */ + +struct usb_ctrl_debug { + int bus_index; /* target bus */ + int dev_index; /* target address */ + int ds_fail; /* fail data stage */ + int ss_fail; /* fail data stage */ + int ds_delay; /* data stage delay in ms */ + int ss_delay; /* status stage delay in ms */ + int bmRequestType_value; + int bRequest_value; +}; + +struct usb_ctrl_debug_bits { + uint16_t ds_delay; + uint16_t ss_delay; + uint8_t ds_fail:1; + uint8_t ss_fail:1; + uint8_t enabled:1; +}; + +/* The default is to disable fault injection. */ + +static struct usb_ctrl_debug usb_ctrl_debug = { + .bus_index = -1, + .dev_index = -1, + .bmRequestType_value = -1, + .bRequest_value = -1, +}; + +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_bus_fail, CTLFLAG_RW, + &usb_ctrl_debug.bus_index, 0, "USB controller index to fail"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_dev_fail, CTLFLAG_RW, + &usb_ctrl_debug.dev_index, 0, "USB device address to fail"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_ds_fail, CTLFLAG_RW, + &usb_ctrl_debug.ds_fail, 0, "USB fail data stage"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_ss_fail, CTLFLAG_RW, + &usb_ctrl_debug.ss_fail, 0, "USB fail status stage"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_ds_delay, CTLFLAG_RW, + &usb_ctrl_debug.ds_delay, 0, "USB data stage delay in ms"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_ss_delay, CTLFLAG_RW, + &usb_ctrl_debug.ss_delay, 0, "USB status stage delay in ms"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_rt_fail, CTLFLAG_RW, + &usb_ctrl_debug.bmRequestType_value, 0, "USB bmRequestType to fail"); +SYSCTL_INT(_hw_usb, OID_AUTO, ctrl_rv_fail, CTLFLAG_RW, + &usb_ctrl_debug.bRequest_value, 0, "USB bRequest to fail"); + +#endif + +#if USB_DEBUG +/*------------------------------------------------------------------------* + * usbd_get_debug_bits + * + * This function is only useful in USB host mode. + *------------------------------------------------------------------------*/ +static void +usbd_get_debug_bits(struct usb_device *udev, struct usb_device_request *req, + struct usb_ctrl_debug_bits *dbg) +{ + int temp; + + memset(dbg, 0, sizeof(*dbg)); + + /* Compute data stage delay */ + + temp = usb_ctrl_debug.ds_delay; + if (temp < 0) + temp = 0; + else if (temp > (16*1024)) + temp = (16*1024); + + dbg->ds_delay = temp; + + /* Compute status stage delay */ + + temp = usb_ctrl_debug.ss_delay; + if (temp < 0) + temp = 0; + else if (temp > (16*1024)) + temp = (16*1024); + + dbg->ss_delay = temp; + + /* Check if this control request should be failed */ + + if (usbd_get_bus_index(udev) != usb_ctrl_debug.bus_index) + return; + + if (usbd_get_device_index(udev) != usb_ctrl_debug.dev_index) + return; + + temp = usb_ctrl_debug.bmRequestType_value; + + if ((temp != req->bmRequestType) && (temp >= 0) && (temp <= 255)) + return; + + temp = usb_ctrl_debug.bRequest_value; + + if ((temp != req->bRequest) && (temp >= 0) && (temp <= 255)) + return; + + temp = usb_ctrl_debug.ds_fail; + if (temp) + dbg->ds_fail = 1; + + temp = usb_ctrl_debug.ss_fail; + if (temp) + dbg->ss_fail = 1; + + dbg->enabled = 1; +} #endif /*------------------------------------------------------------------------* @@ -264,6 +373,9 @@ struct usb_device_request *req, void *data, uint16_t flags, uint16_t *actlen, usb_timeout_t timeout) { +#if USB_DEBUG + struct usb_ctrl_debug_bits dbg; +#endif usb_handle_req_t *hr_func; struct usb_xfer *xfer; const void *desc; @@ -382,6 +494,15 @@ err = USB_ERR_NOMEM; goto done; } + +#if USB_DEBUG + /* Get debug bits */ + usbd_get_debug_bits(udev, req, &dbg); + + /* Check for fault injection */ + if (dbg.enabled) + flags |= USB_DELAY_STATUS_STAGE; +#endif USB_XFER_LOCK(xfer); if (flags & USB_DELAY_STATUS_STAGE) @@ -403,13 +524,32 @@ usbd_copy_in(xfer->frbuffers, 0, req, sizeof(*req)); usbd_xfer_set_frame_len(xfer, 0, sizeof(*req)); - xfer->nframes = 2; while (1) { temp = length; - if (temp > xfer->max_data_length) { + if (temp > usbd_xfer_max_len(xfer)) { temp = usbd_xfer_max_len(xfer); } +#if USB_DEBUG + if (xfer->flags.manual_status) { + if (usbd_xfer_frame_len(xfer, 0) != 0) { + /* Execute data stage separately */ + temp = 0; + } else if (temp > 0) { + if (dbg.ds_fail) { + err = USB_ERR_INVAL; + break; + } + if (dbg.ds_delay > 0) { + usb_pause_mtx( + xfer->xroot->xfer_mtx, + USB_MS_TO_TICKS(dbg.ds_delay)); + /* make sure we don't time out */ + start_ticks = ticks; + } + } + } +#endif usbd_xfer_set_frame_len(xfer, 1, temp); if (temp > 0) { @@ -429,21 +569,21 @@ usbd_copy_in(xfer->frbuffers + 1, 0, data, temp); } - xfer->nframes = 2; + usbd_xfer_set_frames(xfer, 2); } else { - if (xfer->frlengths[0] == 0) { + if (usbd_xfer_frame_len(xfer, 0) == 0) { if (xfer->flags.manual_status) { #if USB_DEBUG - int temp; - - temp = usb_ss_delay; - if (temp > 5000) { - temp = 5000; + if (dbg.ss_fail) { + err = USB_ERR_INVAL; + break; } - if (temp > 0) { + if (dbg.ss_delay > 0) { usb_pause_mtx( xfer->xroot->xfer_mtx, - USB_MS_TO_TICKS(temp)); + USB_MS_TO_TICKS(dbg.ss_delay)); + /* make sure we don't time out */ + start_ticks = ticks; } #endif xfer->flags.manual_status = 0; @@ -451,7 +591,7 @@ break; } } - xfer->nframes = 1; + usbd_xfer_set_frames(xfer, 1); } usbd_transfer_start(xfer); @@ -469,7 +609,7 @@ /* subtract length of SETUP packet, if any */ if (xfer->aframes > 0) { - xfer->actlen -= xfer->frlengths[0]; + xfer->actlen -= usbd_xfer_frame_len(xfer, 0); } else { xfer->actlen = 0; } From owner-p4-projects@FreeBSD.ORG Mon Sep 7 15:56:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37D731065679; Mon, 7 Sep 2009 15:56:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF390106566C for ; Mon, 7 Sep 2009 15:56:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DBB658FC0A for ; Mon, 7 Sep 2009 15:56:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87FuQVr076232 for ; Mon, 7 Sep 2009 15:56:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87FuQOp076207 for perforce@freebsd.org; Mon, 7 Sep 2009 15:56:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 7 Sep 2009 15:56:26 GMT Message-Id: <200909071556.n87FuQOp076207@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168280 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 15:56:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=168280 Change 168280 by hselasky@hselasky_laptop001 on 2009/09/07 15:55:49 IFC @ 168278 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/elf_machdep.c#8 integrate .. //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#20 integrate .. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#29 integrate .. //depot/projects/usb/src/sys/arm/arm/vm_machdep.c#11 integrate .. //depot/projects/usb/src/sys/arm/conf/CAMBRIA#9 integrate .. //depot/projects/usb/src/sys/cam/ata/ata_all.c#2 integrate .. //depot/projects/usb/src/sys/cam/ata/ata_all.h#2 integrate .. //depot/projects/usb/src/sys/cam/ata/ata_da.c#3 integrate .. //depot/projects/usb/src/sys/cam/ata/ata_xpt.c#3 integrate .. //depot/projects/usb/src/sys/cam/cam_xpt.c#21 integrate .. //depot/projects/usb/src/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/usb/src/sys/cam/scsi/scsi_da.c#15 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/usb/src/sys/compat/ia32/ia32_sysvec.c#12 integrate .. //depot/projects/usb/src/sys/compat/linprocfs/linprocfs.c#23 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_ioctl.c#18 integrate .. //depot/projects/usb/src/sys/conf/NOTES#45 integrate .. //depot/projects/usb/src/sys/conf/files#78 integrate .. //depot/projects/usb/src/sys/conf/files.amd64#23 integrate .. //depot/projects/usb/src/sys/conf/files.i386#28 integrate .. //depot/projects/usb/src/sys/conf/files.ia64#13 integrate .. //depot/projects/usb/src/sys/conf/files.powerpc#27 integrate .. //depot/projects/usb/src/sys/conf/files.sparc64#14 integrate .. //depot/projects/usb/src/sys/dev/ahci/ahci.c#2 integrate .. //depot/projects/usb/src/sys/dev/ahci/ahci.h#2 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-disk.c#15 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-dma.c#10 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah_regdomain.c#5 integrate .. //depot/projects/usb/src/sys/dev/ath/if_ath.c#31 integrate .. //depot/projects/usb/src/sys/dev/coretemp/coretemp.c#5 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#22 integrate .. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_core.c#4 integrate .. //depot/projects/usb/src/sys/dev/hwpmc/pmc_events.h#6 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#12 integrate .. //depot/projects/usb/src/sys/dev/mwl/if_mwl.c#5 integrate .. //depot/projects/usb/src/sys/dev/null/null.c#3 integrate .. //depot/projects/usb/src/sys/dev/pty/pty.c#2 integrate .. //depot/projects/usb/src/sys/dev/rp/rp_pci.c#3 integrate .. //depot/projects/usb/src/sys/dev/siis/siis.c#2 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/hda/hdac.c#35 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/hda/hdac_private.h#7 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/usb/src/sys/dev/syscons/scterm-teken.c#7 integrate .. //depot/projects/usb/src/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/sequences#4 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken.c#9 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken.h#7 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_demo.c#5 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_subr.h#5 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_subr_compat.h#4 delete .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/usb/src/sys/dev/txp/if_txp.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#31 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#22 integrate .. //depot/projects/usb/src/sys/dev/xen/blkfront/blkfront.c#7 integrate .. //depot/projects/usb/src/sys/fs/pseudofs/pseudofs_vncache.c#9 integrate .. //depot/projects/usb/src/sys/fs/pseudofs/pseudofs_vnops.c#17 integrate .. //depot/projects/usb/src/sys/geom/geom_disk.c#10 integrate .. //depot/projects/usb/src/sys/geom/geom_io.c#11 integrate .. //depot/projects/usb/src/sys/geom/mirror/g_mirror_ctl.c#4 integrate .. //depot/projects/usb/src/sys/geom/multipath/g_multipath.c#3 integrate .. //depot/projects/usb/src/sys/geom/stripe/g_stripe.c#5 integrate .. //depot/projects/usb/src/sys/i386/i386/elf_machdep.c#9 integrate .. //depot/projects/usb/src/sys/i386/i386/local_apic.c#20 integrate .. //depot/projects/usb/src/sys/i386/i386/machdep.c#22 integrate .. //depot/projects/usb/src/sys/i386/i386/pmap.c#26 integrate .. //depot/projects/usb/src/sys/i386/include/pcpu.h#7 integrate .. //depot/projects/usb/src/sys/i386/include/pmap.h#14 integrate .. //depot/projects/usb/src/sys/i386/isa/vesa.c#5 integrate .. //depot/projects/usb/src/sys/i386/xen/locore.s#3 integrate .. //depot/projects/usb/src/sys/i386/xen/pmap.c#13 integrate .. //depot/projects/usb/src/sys/kern/imgact_elf.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_conf.c#19 integrate .. //depot/projects/usb/src/sys/kern/kern_exit.c#23 integrate .. //depot/projects/usb/src/sys/kern/kern_fork.c#20 integrate .. //depot/projects/usb/src/sys/kern/kern_jail.c#31 integrate .. //depot/projects/usb/src/sys/kern/kern_kthread.c#8 integrate .. //depot/projects/usb/src/sys/kern/kern_lock.c#18 integrate .. //depot/projects/usb/src/sys/kern/kern_proc.c#22 integrate .. //depot/projects/usb/src/sys/kern/kern_sx.c#18 integrate .. //depot/projects/usb/src/sys/kern/kern_thr.c#13 integrate .. //depot/projects/usb/src/sys/kern/kern_thread.c#16 integrate .. //depot/projects/usb/src/sys/kern/subr_bus.c#29 integrate .. //depot/projects/usb/src/sys/kern/subr_witness.c#21 integrate .. //depot/projects/usb/src/sys/kern/tty_pts.c#18 integrate .. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#29 integrate .. //depot/projects/usb/src/sys/kern/vfs_vnops.c#22 integrate .. //depot/projects/usb/src/sys/modules/Makefile#42 integrate .. //depot/projects/usb/src/sys/net/flowtable.c#11 integrate .. //depot/projects/usb/src/sys/net/if.c#40 integrate .. //depot/projects/usb/src/sys/net/if_arp.h#2 integrate .. //depot/projects/usb/src/sys/net/if_llatbl.c#7 integrate .. //depot/projects/usb/src/sys/net/rtsock.c#32 integrate .. //depot/projects/usb/src/sys/net/vnet.c#5 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_dfs.c#5 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#13 integrate .. //depot/projects/usb/src/sys/netinet/if_ether.c#28 integrate .. //depot/projects/usb/src/sys/netinet/in.c#35 integrate .. //depot/projects/usb/src/sys/netinet/ip_fastfwd.c#14 integrate .. //depot/projects/usb/src/sys/netinet/ip_output.c#28 integrate .. //depot/projects/usb/src/sys/netinet/sctp_bsd_addr.c#11 integrate .. //depot/projects/usb/src/sys/netinet6/icmp6.c#27 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#33 integrate .. //depot/projects/usb/src/sys/netinet6/in6_src.c#22 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_input.c#29 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_output.c#20 integrate .. //depot/projects/usb/src/sys/netinet6/nd6_rtr.c#23 integrate .. //depot/projects/usb/src/sys/netipsec/ipsec.h#16 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#25 integrate .. //depot/projects/usb/src/sys/opencrypto/cryptodev.c#8 integrate .. //depot/projects/usb/src/sys/sys/bus.h#10 integrate .. //depot/projects/usb/src/sys/sys/conf.h#20 integrate .. //depot/projects/usb/src/sys/sys/imgact_elf.h#7 integrate .. //depot/projects/usb/src/sys/sys/ioctl_compat.h#6 integrate .. //depot/projects/usb/src/sys/sys/proc.h#22 integrate .. //depot/projects/usb/src/sys/sys/tty.h#12 integrate .. //depot/projects/usb/src/sys/sys/ttycom.h#6 integrate .. //depot/projects/usb/src/sys/sys/types.h#8 integrate .. //depot/projects/usb/src/sys/teken/Makefile#1 branch .. //depot/projects/usb/src/sys/teken/gensequences#1 branch .. //depot/projects/usb/src/sys/teken/sequences#1 branch .. //depot/projects/usb/src/sys/teken/teken.c#1 branch .. //depot/projects/usb/src/sys/teken/teken.h#1 branch .. //depot/projects/usb/src/sys/teken/teken_demo.c#1 branch .. //depot/projects/usb/src/sys/teken/teken_scs.h#1 branch .. //depot/projects/usb/src/sys/teken/teken_stress.c#1 branch .. //depot/projects/usb/src/sys/teken/teken_subr.h#1 branch .. //depot/projects/usb/src/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/usb/src/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/usb/src/sys/ufs/ffs/ffs_softdep.c#15 integrate .. //depot/projects/usb/src/sys/ufs/ffs/ffs_vfsops.c#20 integrate .. //depot/projects/usb/src/sys/vm/device_pager.c#11 integrate .. //depot/projects/usb/src/sys/vm/sg_pager.c#2 integrate .. //depot/projects/usb/src/sys/vm/vm.h#8 integrate .. //depot/projects/usb/src/sys/vm/vm_extern.h#10 integrate .. //depot/projects/usb/src/sys/vm/vm_glue.c#10 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/elf_machdep.c#8 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.31 2009/08/24 16:19:47 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.32 2009/08/30 14:38:17 bz Exp $"); #include #include @@ -118,7 +118,7 @@ .sysvec = &elf64_freebsd_sysvec, .interp_newpath = NULL, .brand_note = &elf64_kfreebsd_brandnote, - .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY }; SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY, ==== //depot/projects/usb/src/sys/amd64/amd64/local_apic.c#20 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.60 2009/08/14 21:05:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -990,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + 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] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ ==== //depot/projects/usb/src/sys/amd64/amd64/pmap.c#29 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.668 2009/08/17 13:27:55 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.672 2009/09/02 16:47:10 jkim Exp $"); /* * Manages physical address maps. @@ -178,6 +178,8 @@ vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS; pt_entry_t pg_nx; +static int pat_works = 0; /* Is page attribute table sane? */ + SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; @@ -590,20 +592,56 @@ pmap_init_pat(void) { uint64_t pat_msr; + char *sysenv; + static int pat_tested = 0; /* Bail if this CPU doesn't implement PAT. */ if (!(cpu_feature & CPUID_PAT)) panic("no PAT??"); /* - * Leave the indices 0-3 at the default of WB, WT, UC, and UC-. - * Program 4 and 5 as WP and WC. - * Leave 6 and 7 as UC and UC-. + * Some Apple Macs based on nVidia chipsets cannot enter ACPI mode + * via SMI# when we use upper 4 PAT entries for unknown reason. */ - pat_msr = rdmsr(MSR_PAT); - pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); - pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | - PAT_VALUE(5, PAT_WRITE_COMBINING); + if (!pat_tested) { + pat_works = 1; + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook5,1", 10) == 0 || + strncmp(sysenv, "MacBookPro5,5", 13) == 0 || + strncmp(sysenv, "Macmini3,1", 10) == 0) + pat_works = 0; + freeenv(sysenv); + } + pat_tested = 1; + } + + /* Initialize default PAT entries. */ + pat_msr = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + + if (pat_works) { + /* + * Leave the indices 0-3 at the default of WB, WT, UC-, and UC. + * Program 4 and 5 as WP and WC. + * Leave 6 and 7 as UC- and UC. + */ + pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); + pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | + PAT_VALUE(5, PAT_WRITE_COMBINING); + } else { + /* + * Just replace PAT Index 2 with WC instead of UC-. + */ + pat_msr &= ~PAT_MASK(2); + pat_msr |= PAT_VALUE(2, PAT_WRITE_COMBINING); + } wrmsr(MSR_PAT, pat_msr); } @@ -754,27 +792,48 @@ pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; /* Map the caching mode to a PAT index. */ - switch (mode) { - case PAT_UNCACHEABLE: - pat_index = 3; - break; - case PAT_WRITE_THROUGH: - pat_index = 1; - break; - case PAT_WRITE_BACK: - pat_index = 0; - break; - case PAT_UNCACHED: - pat_index = 2; - break; - case PAT_WRITE_COMBINING: - pat_index = 5; - break; - case PAT_WRITE_PROTECTED: - pat_index = 4; - break; - default: - panic("Unknown caching mode %d\n", mode); + if (pat_works) { + switch (mode) { + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; + default: + panic("Unknown caching mode %d\n", mode); + } + } else { + switch (mode) { + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; + default: + panic("Unknown caching mode %d\n", mode); + } } /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ @@ -943,8 +1002,8 @@ * coherence domain. */ mfence(); - for (; eva < sva; eva += cpu_clflush_line_size) - clflush(eva); + for (; sva < eva; sva += cpu_clflush_line_size) + clflush(sva); mfence(); } else { @@ -4476,7 +4535,8 @@ if (base < DMAP_MIN_ADDRESS) return (EINVAL); - cache_bits_pde = cache_bits_pte = -1; + cache_bits_pde = pmap_cache_bits(mode, 1); + cache_bits_pte = pmap_cache_bits(mode, 0); changed = FALSE; /* @@ -4493,8 +4553,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 1GB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_1gpage(tmpva) + NBPDP; continue; @@ -4522,8 +4580,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 2MB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_2mpage(tmpva) + NBPDR; continue; @@ -4557,12 +4613,9 @@ for (tmpva = base; tmpva < base + size; ) { pdpe = pmap_pdpe(kernel_pmap, tmpva); if (*pdpe & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pdpe, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4588,12 +4641,9 @@ } pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pde, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4616,13 +4666,10 @@ } tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - if (cache_bits_pte < 0) - cache_bits_pte = pmap_cache_bits(mode, 0); pte = pmap_pde_to_pte(pde, tmpva); if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { pmap_pte_attr(pte, cache_bits_pte); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { ==== //depot/projects/usb/src/sys/arm/arm/vm_machdep.c#11 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.40 2009/07/20 07:53:07 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.43 2009/09/01 11:41:51 kib Exp $"); #include #include @@ -119,9 +119,6 @@ #ifdef __XSCALE__ #ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE); - if (td2->td_altkstack) - pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages * - PAGE_SIZE); #endif #endif td2->td_pcb = pcb2; ==== //depot/projects/usb/src/sys/arm/conf/CAMBRIA#9 (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/arm/conf/CAMBRIA,v 1.12 2009/07/17 18:35:45 rpaulo Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA,v 1.14 2009/08/27 17:55:44 sam Exp $ ident CAMBRIA ==== //depot/projects/usb/src/sys/cam/ata/ata_all.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.1 2009/07/10 08:18:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.2 2009/08/30 16:31:25 mav Exp $"); #include @@ -91,7 +91,7 @@ } void -ata_36bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, +ata_28bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, uint32_t lba, uint8_t sector_count) { bzero(&ataio->cmd, sizeof(ataio->cmd)); ==== //depot/projects/usb/src/sys/cam/ata/ata_all.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.1 2009/07/10 08:18:08 scottl Exp $ + * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.2 2009/08/30 16:31:25 mav Exp $ */ #ifndef CAM_ATA_ALL_H @@ -83,7 +83,7 @@ int ata_version(int ver); void ata_print_ident(struct ata_params *ident_data); -void ata_36bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, +void ata_28bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, uint32_t lba, uint8_t sector_count); void ata_48bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint16_t features, uint64_t lba, uint16_t sector_count); ==== //depot/projects/usb/src/sys/cam/ata/ata_da.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.2 2009/07/17 21:48:08 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.4 2009/08/30 16:31:25 mav Exp $"); #include @@ -287,7 +287,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(&ccb->ataio, ATA_FLUSHCACHE, 0, 0, 0); cam_periph_runccb(ccb, /*error_routine*/NULL, /*cam_flags*/0, /*sense_flags*/SF_RETRY_UA, softc->disk->d_devstat); @@ -411,7 +411,7 @@ ata_48bit_cmd(&ccb.ataio, ATA_WRITE_DMA48, 0, lba, count); } else { - ata_36bit_cmd(&ccb.ataio, ATA_WRITE_DMA, + ata_28bit_cmd(&ccb.ataio, ATA_WRITE_DMA, 0, lba, count); } xpt_polled_action(&ccb); @@ -441,7 +441,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); xpt_polled_action(&ccb); if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) @@ -856,10 +856,10 @@ } } else { if (bp->bio_cmd == BIO_READ) { - ata_36bit_cmd(ataio, ATA_READ_DMA, + ata_28bit_cmd(ataio, ATA_READ_DMA, 0, lba, count); } else { - ata_36bit_cmd(ataio, ATA_WRITE_DMA, + ata_28bit_cmd(ataio, ATA_WRITE_DMA, 0, lba, count); } } @@ -878,7 +878,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(ataio, ATA_FLUSHCACHE, 0, 0, 0); break; } start_ccb->ccb_h.ccb_state = ADA_CCB_BUFFER_IO; @@ -1126,7 +1126,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); xpt_polled_action(&ccb); if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) ==== //depot/projects/usb/src/sys/cam/ata/ata_xpt.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.4 2009/08/18 09:27:17 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.5 2009/08/30 16:31:25 mav Exp $"); #include #include @@ -357,9 +357,9 @@ /*dxfer_len*/sizeof(struct ata_params), 30 * 1000); if (periph->path->device->protocol == PROTO_ATA) - ata_36bit_cmd(ataio, ATA_ATA_IDENTIFY, 0, 0, 0); + ata_28bit_cmd(ataio, ATA_ATA_IDENTIFY, 0, 0, 0); else - ata_36bit_cmd(ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0); + ata_28bit_cmd(ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0); break; } case PROBE_SETMODE: @@ -375,7 +375,7 @@ /*data_ptr*/NULL, /*dxfer_len*/0, 30 * 1000); - ata_36bit_cmd(ataio, ATA_SETFEATURES, ATA_SF_SETXFER, 0, + ata_28bit_cmd(ataio, ATA_SETFEATURES, ATA_SF_SETXFER, 0, ata_max_mode(ident_buf, ATA_UDMA6, ATA_UDMA6)); break; } ==== //depot/projects/usb/src/sys/cam/cam_xpt.c#21 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.218 2009/08/18 08:46:54 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.223 2009/09/06 19:06:50 mav Exp $"); #include #include @@ -1033,11 +1033,12 @@ * To ensure that this is printed in one piece, * mask out CAM interrupts. */ - printf("%s%d at %s%d bus %d target %d lun %d\n", + printf("%s%d at %s%d bus %d scbus%d target %d lun %d\n", periph->periph_name, periph->unit_number, path->bus->sim->sim_name, path->bus->sim->unit_number, path->bus->sim->bus_id, + path->bus->path_id, path->target->target_id, path->device->lun_id); printf("%s%d: ", periph->periph_name, periph->unit_number); @@ -2471,7 +2472,7 @@ path = start_ccb->ccb_h.path; cam_ccbq_insert_ccb(&path->device->ccbq, start_ccb); - if (path->device->qfrozen_cnt == 0) + if (path->device->ccbq.queue.qfrozen_cnt == 0) runq = xpt_schedule_dev_sendq(path->bus, path->device); else runq = 0; @@ -2930,7 +2931,7 @@ xpt_release_devq(crs->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - start_ccb->crs.qfrozen_cnt = dev->qfrozen_cnt; + start_ccb->crs.qfrozen_cnt = dev->ccbq.queue.qfrozen_cnt; start_ccb->ccb_h.status = CAM_REQ_CMP; break; } @@ -3226,7 +3227,7 @@ * If the device has been "frozen", don't attempt * to run it. */ - if (device->qfrozen_cnt > 0) { + if (device->ccbq.queue.qfrozen_cnt > 0) { continue; } @@ -3249,7 +3250,7 @@ * the device queue until we have a slot * available. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; STAILQ_INSERT_TAIL(&xsoftc.highpowerq, &work_ccb->ccb_h, xpt_links.stqe); @@ -3281,7 +3282,7 @@ * The client wants to freeze the queue * after this CCB is sent. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; } /* In Target mode, the peripheral driver knows best... */ @@ -4030,7 +4031,7 @@ mtx_assert(path->bus->sim->mtx, MA_OWNED); - path->device->qfrozen_cnt += count; + path->device->ccbq.queue.qfrozen_cnt += count; /* * Mark the last CCB in the queue as needing @@ -4048,7 +4049,7 @@ ccbh = TAILQ_LAST(&path->device->ccbq.active_ccbs, ccb_hdr_tailq); if (ccbh && ccbh->status == CAM_REQ_INPROG) ccbh->status = CAM_REQUEUE_REQ; - return (path->device->qfrozen_cnt); + return (path->device->ccbq.queue.qfrozen_cnt); } u_int32_t @@ -4092,11 +4093,12 @@ int rundevq; rundevq = 0; - if (dev->qfrozen_cnt > 0) { + if (dev->ccbq.queue.qfrozen_cnt > 0) { - count = (count > dev->qfrozen_cnt) ? dev->qfrozen_cnt : count; - dev->qfrozen_cnt -= count; - if (dev->qfrozen_cnt == 0) { + count = (count > dev->ccbq.queue.qfrozen_cnt) ? + dev->ccbq.queue.qfrozen_cnt : count; + dev->ccbq.queue.qfrozen_cnt -= count; + if (dev->ccbq.queue.qfrozen_cnt == 0) { /* * No longer need to wait for a successful @@ -4198,12 +4200,12 @@ mtx_lock(&cam_simq_lock); TAILQ_INSERT_TAIL(&cam_simq, sim, links); + mtx_unlock(&cam_simq_lock); sim->flags |= CAM_SIM_ON_DONEQ; - mtx_unlock(&cam_simq_lock); + if ((done_ccb->ccb_h.path->periph->flags & + CAM_PERIPH_POLLED) == 0) + swi_sched(cambio_ih, 0); } - if ((done_ccb->ccb_h.path->periph->flags & - CAM_PERIPH_POLLED) == 0) - swi_sched(cambio_ih, 0); break; default: panic("unknown periph type %d", @@ -4401,15 +4403,11 @@ SLIST_INIT(&device->periphs); device->generation = 0; device->owner = NULL; - device->qfrozen_cnt = 0; device->flags = CAM_DEV_UNCONFIGURED; device->tag_delay_count = 0; device->tag_saved_openings = 0; device->refcount = 1; - if (bus->sim->flags & CAM_SIM_MPSAFE) - callout_init_mtx(&device->callout, bus->sim->mtx, 0); - else - callout_init_mtx(&device->callout, &Giant, 0); + callout_init_mtx(&device->callout, bus->sim->mtx, 0); /* * Hold a reference to our parent target so it @@ -4604,7 +4602,7 @@ CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD)) !=CAM_REQ_CMP){ printf("xptconfigfunc: xpt_create_path failed with " - "status %#x for bus %d\n", status, bus->path_id); + "status %#x for scbus%d\n", status, bus->path_id); printf("xptconfigfunc: halting bus configuration\n"); xpt_free_ccb(work_ccb); busses_to_config--; @@ -4615,7 +4613,7 @@ work_ccb->ccb_h.func_code = XPT_PATH_INQ; xpt_action(work_ccb); if (work_ccb->ccb_h.status != CAM_REQ_CMP) { - printf("xptconfigfunc: CPI failed on bus %d " + printf("xptconfigfunc: CPI failed on scbus%d " "with status %d\n", bus->path_id, work_ccb->ccb_h.status); xpt_finishconfig(xpt_periph, work_ccb); @@ -4889,16 +4887,20 @@ mtx_lock(&cam_simq_lock); TAILQ_INIT(&queue); - TAILQ_CONCAT(&queue, &cam_simq, links); - mtx_unlock(&cam_simq_lock); + while (!TAILQ_EMPTY(&cam_simq)) { + TAILQ_CONCAT(&queue, &cam_simq, links); + mtx_unlock(&cam_simq_lock); - while ((sim = TAILQ_FIRST(&queue)) != NULL) { - TAILQ_REMOVE(&queue, sim, links); - CAM_SIM_LOCK(sim); - sim->flags &= ~CAM_SIM_ON_DONEQ; - camisr_runqueue(&sim->sim_doneq); - CAM_SIM_UNLOCK(sim); + while ((sim = TAILQ_FIRST(&queue)) != NULL) { + TAILQ_REMOVE(&queue, sim, links); + CAM_SIM_LOCK(sim); + sim->flags &= ~CAM_SIM_ON_DONEQ; + camisr_runqueue(&sim->sim_doneq); + CAM_SIM_UNLOCK(sim); + } + mtx_lock(&cam_simq_lock); } + mtx_unlock(&cam_simq_lock); } static void @@ -4969,7 +4971,7 @@ xpt_start_tags(ccb_h->path); if ((dev->ccbq.queue.entries > 0) - && (dev->qfrozen_cnt == 0) + && (dev->ccbq.queue.qfrozen_cnt == 0) && (device_is_send_queued(dev) == 0)) { runq = xpt_schedule_dev_sendq(ccb_h->path->bus, dev); ==== //depot/projects/usb/src/sys/cam/cam_xpt_internal.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_xpt_internal.h,v 1.1 2009/07/10 08:18:08 scottl Exp $ + * $FreeBSD: src/sys/cam/cam_xpt_internal.h,v 1.2 2009/09/06 19:06:50 mav Exp $ */ #ifndef _CAM_CAM_XPT_INTERNAL_H @@ -106,7 +106,6 @@ u_int8_t queue_flags; /* Queue flags from the control page */ u_int8_t serial_num_len; u_int8_t *serial_num; - u_int32_t qfrozen_cnt; u_int32_t flags; #define CAM_DEV_UNCONFIGURED 0x01 #define CAM_DEV_REL_TIMEOUT_PENDING 0x02 ==== //depot/projects/usb/src/sys/cam/scsi/scsi_da.c#15 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.236 2009/07/10 08:18:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.238 2009/09/04 09:40:59 pjd Exp $"); #include @@ -554,6 +554,14 @@ { {T_DIRECT, SIP_MEDIA_REMOVABLE, "Netac", "OnlyDisk*", "2000"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * Sony Cyber-Shot DSC cameras + * PR: usb/137035 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT } }; @@ -1258,6 +1266,8 @@ softc->disk->d_flags = 0; if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE; + strlcpy(softc->disk->d_ident, cgd->serial_num, + MIN(sizeof(softc->disk->d_ident), cgd->serial_num_len + 1)); disk_create(softc->disk, DISK_VERSION); mtx_lock(periph->sim->mtx); ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 (text+ko) ==== @@ -3557,15 +3557,19 @@ #ifdef __i386__ if (prefetch_tunable_set == 0) { - printf("ZFS NOTICE: prefetch is disabled by default on i386" - " - add enable to tunable to change.\n" ); + printf("ZFS NOTICE: Prefetch is disabled by default on i386 " + "-- to enable,\n"); + printf(" add \"vfs.zfs.prefetch_disable=0\" " + "to /boot/loader.conf.\n"); zfs_prefetch_disable=1; } #else if ((((uint64_t)physmem * PAGESIZE) < (1ULL << 32)) && prefetch_tunable_set == 0) { - printf("ZFS NOTICE: system has less than 4GB and prefetch enable is not set" - "... disabling.\n"); + printf("ZFS NOTICE: Prefetch is disabled by default if less " + "than 4 GB of RAM is present;\n" + " to enable, add \"vfs.zfs.prefetch_disable=0\" " + "to /boot/loader.conf.\n"); zfs_prefetch_disable=1; } #endif ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 (text+ko) ==== @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -864,10 +864,11 @@ /* currently allocated, want to be allocated */ dmu_tx_hold_bonus(tx, drro->drr_object); /* - * We may change blocksize, so need to - * hold_write + * We may change blocksize and delete old content, + * so need to hold_write and hold_free. */ dmu_tx_hold_write(tx, drro->drr_object, 0, 1); + dmu_tx_hold_free(tx, drro->drr_object, 0, DMU_OBJECT_END); err = dmu_tx_assign(tx, TXG_WAIT); if (err) { dmu_tx_abort(tx); ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 (text+ko) ==== @@ -415,7 +415,7 @@ dnode_reallocate(dnode_t *dn, dmu_object_type_t ot, int blocksize, dmu_object_type_t bonustype, int bonuslen, dmu_tx_t *tx) { - int i, old_nblkptr; + int i, nblkptr; dmu_buf_impl_t *db = NULL; ASSERT3U(blocksize, >=, SPA_MINBLOCKSIZE); @@ -445,6 +445,8 @@ dnode_free_range(dn, 0, -1ULL, tx); } + nblkptr = 1 + ((DN_MAX_BONUSLEN - bonuslen) >> SPA_BLKPTRSHIFT); + /* change blocksize */ rw_enter(&dn->dn_struct_rwlock, RW_WRITER); if (blocksize != dn->dn_datablksz && @@ -457,6 +459,8 @@ dnode_setdirty(dn, tx); dn->dn_next_bonuslen[tx->tx_txg&TXG_MASK] = bonuslen; dn->dn_next_blksz[tx->tx_txg&TXG_MASK] = blocksize; + if (dn->dn_nblkptr != nblkptr) + dn->dn_next_nblkptr[tx->tx_txg&TXG_MASK] = nblkptr; rw_exit(&dn->dn_struct_rwlock); if (db) dbuf_rele(db, FTAG); @@ -466,19 +470,15 @@ /* change bonus size and type */ mutex_enter(&dn->dn_mtx); - old_nblkptr = dn->dn_nblkptr; dn->dn_bonustype = bonustype; dn->dn_bonuslen = bonuslen; - dn->dn_nblkptr = 1 + ((DN_MAX_BONUSLEN - bonuslen) >> SPA_BLKPTRSHIFT); + dn->dn_nblkptr = nblkptr; dn->dn_checksum = ZIO_CHECKSUM_INHERIT; dn->dn_compress = ZIO_COMPRESS_INHERIT; ASSERT3U(dn->dn_nblkptr, <=, DN_MAX_NBLKPTR); - /* XXX - for now, we can't make nblkptr smaller */ - ASSERT3U(dn->dn_nblkptr, >=, old_nblkptr); - - /* fix up the bonus db_size if dn_nblkptr has changed */ - if (dn->dn_bonus && dn->dn_bonuslen != old_nblkptr) { + /* fix up the bonus db_size */ + if (dn->dn_bonus) { dn->dn_bonus->db.db_size = DN_MAX_BONUSLEN - (dn->dn_nblkptr-1) * sizeof (blkptr_t); ASSERT(dn->dn_bonuslen <= dn->dn_bonus->db.db_size); ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 (text+ko) ==== @@ -19,12 +19,10 @@ * CDDL HEADER END */ /* >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 7 16:16:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA7361065672; Mon, 7 Sep 2009 16:16:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F2D6106566B for ; Mon, 7 Sep 2009 16:16:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8DCC38FC16 for ; Mon, 7 Sep 2009 16:16:49 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87GGn1g078773 for ; Mon, 7 Sep 2009 16:16:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87GGnO4078771 for perforce@freebsd.org; Mon, 7 Sep 2009 16:16:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 7 Sep 2009 16:16:49 GMT Message-Id: <200909071616.n87GGnO4078771@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168284 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 16:16:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=168284 Change 168284 by hselasky@hselasky_laptop001 on 2009/09/07 16:16:02 USB quirk: - add new quirk from Stefan Bethke. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.c#7 (text+ko) ==== @@ -94,6 +94,7 @@ {USB_QUIRK_ENTRY(USB_VENDOR_TELEX, USB_PRODUCT_TELEX_MIC1, 0x009, 0x009, UQ_AU_NO_FRAC, UQ_NONE)}, {USB_QUIRK_ENTRY(USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE, 0x100, 0x100, UQ_AU_INP_ASYNC, UQ_NONE)}, {USB_QUIRK_ENTRY(USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_UN53B, 0x0000, 0xFFFF, UQ_NO_STRINGS, UQ_NONE)}, + {USB_QUIRK_ENTRY(USB_VENDOR_ELSA, USB_PRODUCT_ELSA_MODEM1, 0x0000, 0xFFFF, UQ_CFG_INDEX_1, UQ_NONE)}, /* * XXX The following quirks should have a more specific revision From owner-p4-projects@FreeBSD.ORG Mon Sep 7 17:45:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 27DC01065694; Mon, 7 Sep 2009 17:45:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E01A3106568D for ; Mon, 7 Sep 2009 17:45:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B52EE8FC1F for ; Mon, 7 Sep 2009 17:45:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87HjQB3096915 for ; Mon, 7 Sep 2009 17:45:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87HjQmw096913 for perforce@freebsd.org; Mon, 7 Sep 2009 17:45:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 7 Sep 2009 17:45:26 GMT Message-Id: <200909071745.n87HjQmw096913@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168288 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 17:45:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=168288 Change 168288 by hselasky@hselasky_laptop001 on 2009/09/07 17:44:26 USB controller: - import two PCI quirks from Linux - reported by: Dorian Büttner - patch by: HPS Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/usb_pci.h#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#11 (text+ko) ==== @@ -240,6 +240,36 @@ } } +static void +ehci_pci_ati_quirk(device_t dev, uint8_t match_dev) +{ + uint32_t temp; + uint16_t b; + uint16_t f; + uint16_t s; + + /* Look for ATI SMB PCI controller */ + + for (b = 0; b <= PCI_BUSMAX; b++) { + for (f = 0; f <= PCI_FUNCMAX; f++) { + for (s = 0; s <= PCI_SLOTMAX; s++) { + temp = pcib_read_config(dev, b, s, f, PCIR_DEVVENDOR, 4); + if (temp == 0x43851002) { + temp = pcib_read_config(dev, b, s, f, PCIR_REVID, 1); + if (match_dev || (temp == 0x3a) || (temp == 0x3b)) { + temp = pcib_read_config(dev, b, s, f, 0x53, 1); + if (!(temp & 0x08)) { + temp |= 0x08; + pcib_write_config(dev, b, s, f, 0x53, temp, 1); + device_printf(dev, "ATI-quirk applied\n"); + } + } + } + } + } + } +} + static int ehci_pci_attach(device_t self) { @@ -370,6 +400,41 @@ goto error; } ehci_pci_takecontroller(self); + + /* Undocumented quirks taken from Linux */ + + switch (pci_get_vendor(self)) { + case PCI_EHCI_VENDORID_ATI: + /* SB600 and SB700 EHCI quirk through SMB PCI device */ + switch (pci_get_device(self)) { + case 0x4386: + ehci_pci_ati_quirk(self, 1); + break; + case 0x4396: + ehci_pci_ati_quirk(self, 0); + break; + default: + break; + } + break; + + case PCI_EHCI_VENDORID_VIA: + if ((pci_get_device(self) == 0x3104) && + ((pci_get_revid(self) & 0xf0) == 0x60)) { + /* Correct schedule sleep time to 10us */ + uint8_t temp; + temp = pci_read_config(self, 0x4b, 1); + if (temp & 0x20) + break; + pci_write_config(self, 0x4b, temp, 1); + device_printf(self, "VIA-quirk applied\n"); + } + break; + + default: + break; + } + err = ehci_init(sc); if (!err) { err = device_probe_and_attach(sc->sc_bus.bdev); ==== //depot/projects/usb/src/sys/dev/usb/usb_pci.h#3 (text+ko) ==== @@ -33,6 +33,7 @@ */ #include #include +#include #include From owner-p4-projects@FreeBSD.ORG Mon Sep 7 19:22:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 158241065670; Mon, 7 Sep 2009 19:22:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDA3F106566B for ; Mon, 7 Sep 2009 19:22:12 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BACF08FC0C for ; Mon, 7 Sep 2009 19:22:12 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87JMC45006268 for ; Mon, 7 Sep 2009 19:22:12 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87JMCiD006266 for perforce@freebsd.org; Mon, 7 Sep 2009 19:22:12 GMT (envelope-from trasz@freebsd.org) Date: Mon, 7 Sep 2009 19:22:12 GMT Message-Id: <200909071922.n87JMCiD006266@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 168293 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 19:22:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=168293 Change 168293 by trasz@trasz_anger on 2009/09/07 19:22:09 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#40 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/mask.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.1#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/cddl/contrib/opensolaris/cmd/zdb/zdb.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/gdtoa/gdtoaimp.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/gdtoa/misc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/malloc.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/intro.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/scripts/package-split.py#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/mirror/geom_mirror.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/mirror/gmirror.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/core/geom.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifgif.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/pts.4#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/pty.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cam/cam_xpt.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ahci/ahci.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-dma.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ah_osdep.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath.c#26 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/null/null.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pty/pty.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/rp/rp_pci.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/pseudofs/pseudofs_vncache.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_io.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_witness.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty_pts.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_syscalls.c#26 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_llatbl.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_mcast.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fastfwd.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#20 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6.c#25 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_src.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_output.c#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec.h#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#19 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/ioctl_compat.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/tty.h#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/ttycom.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_softdep.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/00.t#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/01.t#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/Makefile#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/ndp/ndp.c#4 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#40 (text+ko) ==== @@ -22,13 +22,20 @@ machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090825: + The old tunable hw.bus.devctl_disable has been superseded by + hw.bus.devctl_queue. hw.bus.devctl_disable=1 in loader.conf should be + replaced by hw.bus.devctl_queue=0. The default for this new tunable + is 1000. + 20090813: Remove the option STOP_NMI. The default action is now to use NMI only for KDB via the newly introduced function stop_cpus_hard() and maintain stop_cpus() to just use a normal IPI_STOP on ia32 and amd64. 20090803: - stable/8 branch created in subversion. + The stable/8 branch created in subversion. This corresponds to the + RELENG_8 branch in CVS. 20090719: Bump the shared library version numbers for all libraries that do not @@ -964,4 +971,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.636 2009/09/03 17:13:54 imp Exp $ +$FreeBSD: src/UPDATING,v 1.638 2009/09/05 08:09:35 imp Exp $ ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/mask.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/bin/setfacl/mask.c,v 1.8 2005/01/10 08:39:25 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/setfacl/mask.c,v 1.9 2009/09/07 16:19:32 trasz Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/bin/setfacl/merge.c,v 1.8 2005/01/10 08:39:25 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/setfacl/merge.c,v 1.9 2009/09/07 16:19:32 trasz Exp $"); #include #include @@ -254,8 +254,7 @@ if (acl_brand != ACL_BRAND_NFS4) { warnx("%s: branding mismatch; existing ACL is NFSv4, " - "entry to be added is %s", filename, - acl_brand == ACL_BRAND_NFS4 ? "NFSv4" : "POSIX.1e"); + "entry to be added is POSIX.1e", filename); return (-1); } @@ -269,10 +268,7 @@ entry_id = ACL_NEXT_ENTRY; if (acl_create_entry_np(&acl_new, &entry_new, entry_number) == -1) { - if (entry_number >= acl_new->ats_acl.acl_cnt) - warnx("%s: invalid entry number", filename); - else - warn("%s: acl_create_entry_np() failed", filename); + warn("%s: acl_create_entry_np() failed", filename); acl_free(acl_new); return (-1); } ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/bin/setfacl/remove.c,v 1.6 2005/01/10 08:39:25 imp Exp $"); +__FBSDID("$FreeBSD: src/bin/setfacl/remove.c,v 1.7 2009/09/07 16:19:32 trasz Exp $"); #include #include @@ -130,11 +130,7 @@ if (acl_delete_entry_np(acl_new, entry_number) == -1) { carried_error++; - - if (entry_number >= (uint)acl_new->ats_acl.acl_cnt) - warnx("%s: invalid entry number", filename); - else - warn("%s: acl_delete_entry_np() failed", filename); + warn("%s: acl_delete_entry_np() failed", filename); } acl_free(*prev_acl); @@ -152,6 +148,7 @@ int remove_default(acl_t *prev_acl, const char *filename) { + acl_free(*prev_acl); *prev_acl = acl_init(ACL_MAX_ENTRIES); if (*prev_acl == NULL) @@ -175,4 +172,3 @@ acl_free(*prev_acl); *prev_acl = acl_new; } - ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.1#6 (text+ko) ==== @@ -23,9 +23,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/bin/setfacl/setfacl.1,v 1.19 2008/07/06 22:47:10 csjp Exp $ +.\" $FreeBSD: src/bin/setfacl/setfacl.1,v 1.20 2009/09/07 16:19:32 trasz Exp $ .\" -.Dd January 7, 2001 +.Dd September 5, 2009 .Dt SETFACL 1 .Os .Sh NAME @@ -301,40 +301,65 @@ .Dq Li everyone@ , this field is ommited altogether, including the trailing comma. .It Ar "access permissions" -The access permissions field contains up to one of each of -the following: -.Ql r , -.Ql w , -.Ql x , -.Ql p , -.Ql d , -.Ql D , -.Ql a , -.Ql A , -.Ql R , -.Ql W , -.Ql c , -.Ql C , -.Ql o , -and -.Ql S -to set read_data, write_data, execute, append_data, delete_child, delete, -read_attributes, write_attributes, read_xattr, write_xattr, read_acl, write_acl, -write_owner, and synchronize permissions, respectively. This section obviously -needs to be rewritten. -Each of these may be excluded -or replaced with a -.Ql - -character to indicate no access. +Access permissions may be specified in either short or long form. +Short and long forms may not be mixed. +Permissions in long form are separated by the +.Ql / +character; in short form, they are concatenated together. +Valid permissions are: +.Bl -tag -width ".Dv short" +.It Short +Long +.It r +read_data +.It w +write_data +.It x +execute +.It p +append_data +.It d +delete_child +.It D +delete +.It a +read_attributes +.It A +write_attributes +.It R +read_xattr +.It W +write_xattr +.It c +read_acl +.It C +write_acl +.It o +write_owner +.It S +synchronize +.El .It Ar "ACL inheritance flags" -The ACL inheritance flags field contains up to one of each of -the following: -.Ql f , -.Ql d , -.Ql i , -.Ql n , -to set file_inherit, dir_inherit, inherit_only, and no_propagate flags, -respectively. Inheritance flags may be only set on directories. +Inheritance flags may be specified in either short or long form. +Short and long forms may not be mixed. +Access flags in long form are separated by the +.Ql / +character; in short form, they are concatenated together. +Valid inheritance flags are: +.Bl -tag -width ".Dv short" +.It Short +Long +.It f +file_inherit +.It d +dir_inherit +.It i +inherit_only +.It n +no_propagate +.El +.Pp +Inheritance flags may be only set on directories. .It Ar "ACL type" The ACL type field is either .Dq Li allow ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/bin/setfacl/setfacl.c,v 1.14 2008/09/06 13:17:35 trasz Exp $"); +__FBSDID("$FreeBSD: src/bin/setfacl/setfacl.c,v 1.15 2009/09/07 16:19:32 trasz Exp $"); #include #include @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -42,7 +43,6 @@ #include "setfacl.h" static void add_filename(const char *filename); -static acl_t get_file_acl(const char *filename, acl_type_t type, int h_flag); static void usage(void); static void @@ -59,52 +59,6 @@ TAILQ_INSERT_TAIL(&filelist, file, next); } -static acl_t -get_file_acl(const char *filename, acl_type_t type, int h_flag) -{ - acl_t acl = NULL; - struct stat sb; - - switch (type) { - case ACL_TYPE_ACCESS: - case ACL_TYPE_NFS4: - if (h_flag) - acl = acl_get_link_np(filename, type); - else - acl = acl_get_file(filename, type); - break; - - case ACL_TYPE_DEFAULT: - if (stat(filename, &sb) == -1) { - warn("%s: stat() failed", filename); - return (NULL); - } - - if (S_ISDIR(sb.st_mode) == 0) { - warnx("%s: default ACL may only be set on a directory", - filename); - return (NULL); - } - - if (h_flag) - acl = acl_get_link_np(filename, ACL_TYPE_DEFAULT); - else - acl = acl_get_file(filename, ACL_TYPE_DEFAULT); - break; - } - - if (acl == NULL) { - if (h_flag) - warn("%s: acl_get_link_np() failed", filename); - else - warn("%s: acl_get_file() failed", filename); - - return (NULL); - } - - return (acl); -} - static void usage(void) { @@ -120,12 +74,13 @@ acl_t acl; acl_type_t acl_type; char filename[PATH_MAX]; - int local_error, carried_error, ch, i, entry_number; + int local_error, carried_error, ch, i, entry_number, ret; int h_flag; struct sf_file *file; struct sf_entry *entry; const char *fn_dup; char *end; + struct stat sb; acl_type = ACL_TYPE_ACCESS; carried_error = local_error = 0; @@ -244,21 +199,49 @@ TAILQ_FOREACH(file, &filelist, next) { local_error = 0; - if (pathconf(file->filename, _PC_ACL_NFS4)) { + if (stat(file->filename, &sb) == -1) { + warn("%s: stat() failed", file->filename); + continue; + } + + if (acl_type == ACL_TYPE_DEFAULT && S_ISDIR(sb.st_mode) == 0) { + warnx("%s: default ACL may only be set on a directory", + file->filename); + continue; + } + + if (h_flag) + ret = lpathconf(file->filename, _PC_ACL_NFS4); + else + ret = pathconf(file->filename, _PC_ACL_NFS4); + if (ret > 0) { if (acl_type == ACL_TYPE_DEFAULT) { warnx("%s: there are no default entries " "in NFSv4 ACLs", file->filename); continue; } - acl_type = ACL_TYPE_NFS4; - - } else if (acl_type == ACL_TYPE_NFS4) + } else if (ret == 0) { + if (acl_type == ACL_TYPE_NFS4) acl_type = ACL_TYPE_ACCESS; + } else if (ret < 0 && errno != EINVAL) { + warn("%s: pathconf(..., _PC_ACL_NFS4) failed", + file->filename); + } - acl = get_file_acl(file->filename, acl_type, h_flag); - if (acl == NULL) + if (h_flag) + acl = acl_get_link_np(file->filename, acl_type); + else + acl = acl_get_file(file->filename, acl_type); + if (acl == NULL) { + if (h_flag) + warn("%s: acl_get_link_np() failed", + file->filename); + else + warn("%s: acl_get_file() failed", + file->filename); continue; + } /* cycle through each option */ TAILQ_FOREACH(entry, &entrylist, next) { @@ -315,11 +298,8 @@ continue; } - if (acl_type == ACL_TYPE_NFS4) - need_mask = 0; - - if (need_mask && (set_acl_mask(&acl, - file->filename) == -1)) { + if (acl_type != ACL_TYPE_NFS4 && need_mask && + set_acl_mask(&acl, file->filename) == -1) { warnx("%s: failed to set ACL mask", file->filename); carried_error++; } else if (h_flag) { @@ -343,4 +323,3 @@ return (carried_error); } - ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#6 (text+ko) ==== @@ -23,7 +23,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/bin/setfacl/setfacl.h,v 1.5 2005/01/10 08:39:25 imp Exp $ + * $FreeBSD: src/bin/setfacl/setfacl.h,v 1.6 2009/09/07 16:19:32 trasz Exp $ */ #ifndef _SETFACL_H ==== //depot/projects/soc2008/trasz_nfs4acl/cddl/contrib/opensolaris/cmd/zdb/zdb.c#3 (text+ko) ==== @@ -1322,6 +1322,14 @@ exit(1); } + if (S_ISCHR(statbuf.st_mode)) { + if (ioctl(fd, DIOCGMEDIASIZE, &statbuf.st_size) == -1) { + (void) printf("failed to get size of '%s': %s\n", dev, + strerror(errno)); + exit(1); + } + } + psize = statbuf.st_size; psize = P2ALIGN(psize, (uint64_t)sizeof (vdev_label_t)); ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/gdtoa/gdtoaimp.h#4 (text+ko) ==== @@ -26,7 +26,7 @@ ****************************************************************/ -/* $FreeBSD: src/contrib/gdtoa/gdtoaimp.h,v 1.11 2009/01/28 04:36:34 das Exp $ */ +/* $FreeBSD: src/contrib/gdtoa/gdtoaimp.h,v 1.12 2009/09/07 09:30:37 attilio Exp $ */ /* This is a variation on dtoa.c that converts arbitary binary floating-point formats to and from decimal notation. It uses @@ -485,7 +485,7 @@ _pthread_mutex_unlock(&__gdtoa_locks[n]); \ } while(0) -#define Kmax 15 +#define Kmax 9 struct Bigint { ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/gdtoa/misc.c#2 (text+ko) ==== @@ -55,7 +55,9 @@ #endif ACQUIRE_DTOA_LOCK(0); - if ( (rv = freelist[k]) !=0) { + /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ + /* but this case seems very unlikely. */ + if (k <= Kmax && (rv = freelist[k]) !=0) { freelist[k] = rv->next; } else { @@ -65,7 +67,7 @@ #else len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) /sizeof(double); - if (pmem_next - private_mem + len <= PRIVATE_mem) { + if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { rv = (Bigint*)pmem_next; pmem_next += len; } @@ -89,10 +91,14 @@ #endif { if (v) { - ACQUIRE_DTOA_LOCK(0); - v->next = freelist[v->k]; - freelist[v->k] = v; - FREE_DTOA_LOCK(0); + if (v->k > Kmax) + free((void*)v); + else { + ACQUIRE_DTOA_LOCK(0); + v->next = freelist[v->k]; + freelist[v->k] = v; + FREE_DTOA_LOCK(0); + } } } ==== //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/Makefile#2 (text+ko) ==== @@ -1,16 +1,14 @@ -# $FreeBSD: src/etc/mtree/Makefile,v 1.6 2006/03/17 18:54:21 ru Exp $ +# $FreeBSD: src/etc/mtree/Makefile,v 1.7 2009/09/06 13:26:51 antoine Exp $ .include FILES= ${_BIND.chroot.dist} \ ${_BIND.include.dist} \ BSD.include.dist \ - BSD.local.dist \ BSD.root.dist \ + ${_BSD.sendmail.dist} \ BSD.usr.dist \ - BSD.var.dist \ - BSD.x11-4.dist \ - BSD.x11.dist + BSD.var.dist .if ${MK_BIND} != "no" _BIND.chroot.dist= BIND.chroot.dist @@ -18,6 +16,9 @@ _BIND.include.dist= BIND.include.dist .endif .endif +.if ${MK_SENDMAIL} != "no" +_BSD.sendmail.dist= BSD.sendmail.dist +.endif NO_OBJ= FILESDIR= /etc/mtree ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/malloc.c#9 (text+ko) ==== @@ -156,7 +156,7 @@ #define MALLOC_DSS #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.183 2008/12/01 10:20:59 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.184 2009/09/05 13:32:05 kib Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -5320,6 +5320,15 @@ goto RETURN; } + if (size == 0) { + if (opt_sysv == false) + size = 1; + else { + result = NULL; + ret = 0; + goto RETURN; + } + } result = ipalloc(alignment, size); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/intro.2#2 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)intro.2 8.5 (Berkeley) 2/27/95 -.\" $FreeBSD: src/lib/libc/sys/intro.2,v 1.48 2007/01/09 00:28:14 imp Exp $ +.\" $FreeBSD: src/lib/libc/sys/intro.2,v 1.49 2009/09/06 07:22:09 pjd Exp $ .\" .Dd February 27, 1995 .Dt INTRO 2 @@ -302,7 +302,7 @@ .It Er 48 EADDRINUSE Em "Address already in use" . Only one usage of each address is normally permitted. .Pp -.It Er 49 EADDRNOTAVAIL Em "Cannot assign requested address" . +.It Er 49 EADDRNOTAVAIL Em "Can't assign requested address" . Normally results from an attempt to create a socket with an address not on this machine. .It Er 50 ENETDOWN Em "Network is down" . @@ -335,7 +335,7 @@ An request to send or receive data was disallowed because the socket was not connected and (when sending on a datagram socket) no address was supplied. -.It Er 58 ESHUTDOWN Em "Cannot send after socket shutdown" . +.It Er 58 ESHUTDOWN Em "Can't send after socket shutdown" . A request to send data was disallowed because the socket had already been shut down with a previous .Xr shutdown 2 ==== //depot/projects/soc2008/trasz_nfs4acl/release/scripts/package-split.py#3 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.18 2009/06/28 08:59:46 blackend Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.19 2009/09/07 17:54:20 kensmith Exp $ import os import sys @@ -23,71 +23,14 @@ else: verbose = 0 -# List of packages for disc1. This just includes packages sysinstall can -# install as a distribution +if 'PKG_DVD' in os.environ: + doing_dvd = 1 +else: + doing_dvd = 0 + +# List of packages for disc1. def disc1_packages(): - pkgs = ['lang/perl5.8'] - pkgs.extend(['x11/xorg', - 'devel/imake']) - if arch == 'i386': - pkgs.append('emulators/linux_base-fc4') - return pkgs - -# List of packages for disc2. This includes packages that the X desktop -# menu depends on (if it still exists) and other "nice to have" packages. -# For architectures that use a separate livefs, this is actually disc3. -def disc2_packages(): - # X Desktops - if arch == 'ia64': - pkgs = ['x11/gnome2-lite', - 'x11/kde-lite'] - else: - pkgs = ['x11/gnome2', - 'x11/kde3'] - pkgs.extend(['x11-wm/afterstep', - 'x11-wm/windowmaker', - 'x11-wm/fvwm2', - # "Nice to have" - 'archivers/unzip', - 'astro/xearth', - 'devel/gmake', - 'editors/emacs', - 'editors/vim-lite', - 'emulators/mtools', - 'graphics/png', - 'graphics/xv', - 'irc/xchat', - 'mail/exim', - 'mail/fetchmail', - 'mail/mutt', - 'mail/pine4', - 'mail/popd', - 'mail/xfmail', - 'mail/postfix', - 'net/cvsup-without-gui', - 'net/rsync', - 'net/samba3', - 'news/slrn', - 'news/tin', - 'ports-mgmt/portupgrade', - 'print/a2ps-letter', - 'print/apsfilter', - 'print/ghostscript-gnu-nox11', - 'print/gv', - 'print/psutils-letter', - 'shells/bash', - 'shells/pdksh', - 'shells/zsh', - 'security/sudo', - 'www/links', - 'www/lynx', - 'x11/rxvt', - # Formerly on disc3 - 'ports-mgmt/portaudit']) - return pkgs - -def docs_packages(): - pkgs = ['misc/freebsd-doc-bn', + pkgs = ['misc/freebsd-doc-bn', 'misc/freebsd-doc-da', 'misc/freebsd-doc-de', 'misc/freebsd-doc-el', @@ -106,14 +49,58 @@ 'misc/freebsd-doc-tr', 'misc/freebsd-doc-zh_cn', 'misc/freebsd-doc-zh_tw'] + + if doing_dvd: + pkgs.extend(['lang/perl5.8', + 'x11/xorg', + 'devel/imake', + 'emulators/linux_base-fc4', + 'x11/gnome2', + 'x11/kde4', + 'x11-wm/afterstep', + 'x11-wm/windowmaker', + 'x11-wm/fvwm2', + 'archivers/unzip', + 'astro/xearth', + 'devel/gmake', + 'editors/emacs', + 'editors/vim-lite', + 'emulators/mtools', + 'graphics/png', + 'graphics/xv', + 'irc/xchat', + 'mail/exim', + 'mail/fetchmail', + 'mail/mutt', + 'mail/alpine', + 'mail/popd', + 'mail/xfmail', + 'mail/postfix', + 'net/cvsup-without-gui', + 'net/rsync', + 'net/samba3', + 'news/slrn', + 'news/tin', + 'ports-mgmt/portupgrade', + 'print/a2ps-letter', + 'print/apsfilter', + 'print/ghostscript7-nox11', + 'print/gv', + 'print/psutils-letter', + 'shells/bash', + 'shells/pdksh', + 'shells/zsh', + 'security/sudo', + 'www/links', + 'www/lynx', + 'x11/rxvt', + 'ports-mgmt/portaudit']) return pkgs # The list of desired packages def desired_packages(): disc1 = disc1_packages() - disc2 = disc2_packages() - docs = docs_packages() - return [disc1, disc2, docs] + return [disc1] # Suck the entire INDEX file into a two different dictionaries. The first # dictionary maps port names (origins) to package names. The second ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/mirror/geom_mirror.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004-2005 Pawel Jakub Dawidek + * Copyright (c) 2004-2009 Pawel Jakub Dawidek * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.17 2007/05/15 20:25:16 marcel Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.18 2009/09/06 06:52:06 pjd Exp $"); #include #include @@ -41,13 +41,12 @@ #include #include - uint32_t lib_version = G_LIB_VERSION; uint32_t version = G_MIRROR_VERSION; static char label_balance[] = "split", configure_balance[] = "none"; static intmax_t label_slice = 4096, configure_slice = -1; -static intmax_t insert_priority = 0; +static intmax_t insert_priority = 0, configure_priority = -1; static void mirror_main(struct gctl_req *req, unsigned flags); static void mirror_activate(struct gctl_req *req); @@ -71,10 +70,12 @@ { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'h', "hardcode", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, + { 'p', "priority", &configure_priority, G_TYPE_NUMBER }, { 's', "slice", &configure_slice, G_TYPE_NUMBER }, G_OPT_SENTINEL }, - NULL, "[-adfFhnv] [-b balance] [-s slice] name" + NULL, "[-adfFhnv] [-b balance] [-s slice] name\n" + "[-v] -p priority name prov" }, { "deactivate", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, NULL, "[-v] name prov ..." ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/mirror/gmirror.8#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" Copyright (c) 2004-2005 Pawel Jakub Dawidek +.\" Copyright (c) 2004-2009 Pawel Jakub Dawidek .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.23 2006/12/21 18:30:23 ceri Exp $ +.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.24 2009/09/06 06:52:06 pjd Exp $ .\" -.Dd November 1, 2006 +.Dd August 1, 2009 .Dt GMIRROR 8 .Os .Sh NAME @@ -49,6 +49,12 @@ .Op Fl s Ar slice .Ar name .Nm +.Cm configure +.Op Fl v +.Fl p Ar priority +.Ar name +.Ar prov +.Nm .Cm rebuild .Op Fl v .Ar name @@ -115,8 +121,8 @@ .It Cm label Create a mirror. The order of components is important, because a component's priority is based on its position -(starting from 0). -The component with the biggest priority is used by the +(starting from 0 to 255). +The component with the biggest priority (the lowest number) is used by the .Cm prefer balance algorithm and is also used as a master component when resynchronization is needed, @@ -159,7 +165,7 @@ Configure the given device. .Pp Additional options include: -.Bl -tag -width ".Fl b Ar balance" +.Bl -tag -width ".Fl p Ar priority" .It Fl a Turn on autosynchronization of stale components. .It Fl b Ar balance @@ -175,6 +181,9 @@ Hardcode providers' names in metadata. .It Fl n Turn off autosynchronization of stale components. +.It Fl p Ar priority +Specifies priority for the given component +.Ar prov . .It Fl s Ar slice Specifies slice size for .Cm split ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/core/geom.c#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004-2005 Pawel Jakub Dawidek + * Copyright (c) 2004-2009 Pawel Jakub Dawidek * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/core/geom.c,v 1.38 2009/06/07 20:12:14 marcel Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/core/geom.c,v 1.40 2009/09/06 06:49:59 pjd Exp $"); #include #include @@ -98,11 +98,21 @@ struct g_option *opt; unsigned i; - fprintf(stderr, "%s %s %s", prefix, comm, cmd->gc_name); if (cmd->gc_usage != NULL) { - fprintf(stderr, " %s\n", cmd->gc_usage); + char *pos, *ptr, *sptr; + + sptr = ptr = strdup(cmd->gc_usage); + while ((pos = strsep(&ptr, "\n")) != NULL) { + if (*pos == '\0') + continue; + fprintf(stderr, "%s %s %s %s\n", prefix, comm, + cmd->gc_name, pos); + } + free(sptr); return; } + + fprintf(stderr, "%s %s %s", prefix, comm, cmd->gc_name); if ((cmd->gc_flags & G_FLAG_VERBOSE) != 0) fprintf(stderr, " [-v]"); for (i = 0; ; i++) { ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifgif.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/ifconfig/ifgif.c,v 1.2 2009/06/23 23:49:52 delphij Exp $"; + "$FreeBSD: src/sbin/ifconfig/ifgif.c,v 1.4 2009/09/07 15:52:15 hrs Exp $"; #endif #include @@ -51,36 +51,22 @@ #include "ifconfig.h" +#define GIFBITS "\020\1ACCEPT_REV_ETHIP_VER\5SEND_REV_ETHIP_VER" + static void gif_status(int); -static struct { - const char *label; - u_int mask; -} gif_opts[] = { - { "ACCEPT_REV_ETHIP_VER", GIF_ACCEPT_REVETHIP }, - { "SEND_REV_ETHIP_VER", GIF_SEND_REVETHIP }, -}; - static void gif_status(int s) { int opts; - int nopts = 0; - size_t i; ifr.ifr_data = (caddr_t)&opts; if (ioctl(s, GIFGOPTS, &ifr) == -1) return; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 7 19:44:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CEA111065672; Mon, 7 Sep 2009 19:44:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7ACB4106568B for ; Mon, 7 Sep 2009 19:44:37 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 697FD8FC17 for ; Mon, 7 Sep 2009 19:44:37 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87Jibsw008180 for ; Mon, 7 Sep 2009 19:44:37 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87JibV3008178 for perforce@freebsd.org; Mon, 7 Sep 2009 19:44:37 GMT (envelope-from andre@freebsd.org) Date: Mon, 7 Sep 2009 19:44:37 GMT Message-Id: <200909071944.n87JibV3008178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 168295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 19:44:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=168295 Change 168295 by andre@andre_t61 on 2009/09/07 19:43:55 Update TODO list. Fix spelling errors and improve comments. Save DSACK start and end values. Make use of TCP reassembly queue flush timeout. tcp_reass_merge gives back overlap size for DSACK. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#54 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#54 (text+ko) ==== @@ -95,9 +95,12 @@ * TODO: * - Improve comments and annotate RFC references. * - Style improvements. - * - Acticate timeout on first insert. + * - Activate timeout on first insert. * - Partial D-SACK support. + * - D-SACK when only one SACK slot available? + * - Direct pointer to last block in RB-tree. * - Return flags should be same minus FIN. + * - Remove T/TCP gonk. * - Lots of testing. */ @@ -258,7 +261,7 @@ /* * Remove a single block from the reassembly queue - * and free all its mbufs, if any. + * and free all of its mbufs, if any. */ static void tcp_reass_free(struct tcpcb *tp, struct tcp_reass_block *trb) @@ -355,7 +358,8 @@ /* * Store TCP header information in local variables as - * we may lose access to it after mbuf compacting. + * we may lose access to it after header dropping and + * mbuf compacting. */ thflags = th->th_flags; th_seq = th->th_seq; @@ -490,6 +494,8 @@ */ if ((len = SEQ_DELTA(trbs.trb_seqs, trbs.trb_seqe)) > 0) { tp->rcv_reass_size -= len; + tp->rcv_reass_dsack.start = trbs.trb_seqs; + tp->rcv_reass_dsack.end = trbs.trb_seqe; TCPSTAT_INC(tcps_rcvpartduppack); TCPSTAT_ADD(tcps_rcvpartdupbyte, len); } @@ -521,8 +527,11 @@ LIST_INSERT_HEAD(&tp->rcv_reass_sack, trb, trb_sack); tp->rcv_reass_size += SEQ_DELTA(trbs.trb_seqs, trbs.trb_seqe); tp->rcv_reass_blocks++; - if (RB_EMPTY(&tp->rcv_reass)) + if (RB_EMPTY(&tp->rcv_reass)) { + KASSERT(tcp_timer_active(tp, TT_REASS) == 0, + ("%s: ", __func__)); tcp_timer_activate(tp, TT_REASS, tcp_reass_timeout); + } TCPSTAT_INC(tcps_reass_blocks); } else { /* Memory allocation failure. */ @@ -585,7 +594,7 @@ */ if (tcp_reass_timeout && !RB_EMPTY(&tp->rcv_reass)) tcp_timer_activate(tp, TT_REASS, tcp_reass_timeout); - else + else if (tcp_timer_active(tp, TT_REASS)) tcp_timer_activate(tp, TT_REASS, 0); ND6_HINT(tp); @@ -597,7 +606,7 @@ } /* - * Trim a SACK block. + * Trim a reassembly block. * A positive value is from head, negative from tail. */ static void @@ -630,6 +639,7 @@ tcp_reass_merge(struct tcp_reass_block *trb, struct tcp_reass_block *trbn) { int i; + tcp_seq s; KASSERT(trb != NULL && trbn != NULL, ("%s: incomplete input", __func__)); @@ -644,6 +654,7 @@ SEQ_GEQ(trbn->trb_seqe, trb->trb_seqe)) { i = SEQ_DELTA(trb->trb_seqs, trbn->trb_seqe); + s = trb->trb_seqs; m_freem(trb->trb_m); trb->trb_seqs = trbn->trb_seqs; @@ -658,6 +669,7 @@ if ((i = SEQ_DELTA(trb->trb_seqs, trbn->trb_seqe)) > 0) tcp_reass_trim(trbn, -i); + s = trb->trb_seqs; trb->trb_seqs = trbn->trb_seqs; trbn->trb_mt->m_next = trb->trb_m; trb->trb_m = trbn->trb_m; @@ -672,6 +684,7 @@ if ((i = SEQ_DELTA(trb->trb_seqe, trbn->trb_seqs)) > 0) tcp_reass_trim(trbn, i); + s = trb->trb_seqe; trb->trb_seqe = trbn->trb_seqe; trb->trb_mt->m_next = trbn->trb_m; @@ -684,8 +697,8 @@ } else return (NULL); - trbn->trb_seqs = 0; - trbn->trb_seqe = i; + trbn->trb_seqs = s; + trbn->trb_seqe = trbn->trb_seqs + i; trbn->trb_m = NULL; trbn->trb_mt = NULL; return (trbn); From owner-p4-projects@FreeBSD.ORG Mon Sep 7 19:46:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3168D1065672; Mon, 7 Sep 2009 19:46:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA1E7106566C for ; Mon, 7 Sep 2009 19:46:39 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D94048FC08 for ; Mon, 7 Sep 2009 19:46:39 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87JkdoZ008379 for ; Mon, 7 Sep 2009 19:46:39 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87JkdSg008377 for perforce@freebsd.org; Mon, 7 Sep 2009 19:46:39 GMT (envelope-from andre@freebsd.org) Date: Mon, 7 Sep 2009 19:46:39 GMT Message-Id: <200909071946.n87JkdSg008377@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 168297 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 19:46:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=168297 Change 168297 by andre@andre_t61 on 2009/09/07 19:46:36 In TCPS_SYN_SENT case initialize tiwin variable to shifted window and require the window to be at least one mss. A smaller window is bogus. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_input.c#16 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_input.c#16 (text+ko) ==== @@ -1039,6 +1039,7 @@ if ((tp->t_flags & TF_WINSCALE) && (to.to_flags & TOF_SCALE)) { tp->snd_scale = to.to_wscale; + tiwin = th->th_win << tp->snd_scale; } else if (tp->t_flags & TF_WINSCALE) { /* No window scaling. */ tp->t_flags &= ~TF_WINSCALE; @@ -1059,6 +1060,20 @@ } /* + * Require the window to allow for at least one segment + * to be sent. Everything else is bogus and an invitation + * for persistence attacks. + */ + if (th->th_win < tp->snd_mss) { + tcplog("Window too small, " + "connection aborted"); + tp->t_softerror = ENETRESET; /* XXXAO: Correct error? */ + tp = tcp_close(tp); + rstreason = BANDLIM_UNLIMITED; + goto dropwithreset; + } + + /* * Do timestamps on this connection? * RFC1323bis: section 3.2, first and last sentence */ From owner-p4-projects@FreeBSD.ORG Mon Sep 7 19:52:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ECE1F1065676; Mon, 7 Sep 2009 19:52:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B17111065670 for ; Mon, 7 Sep 2009 19:52:46 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A0A2F8FC22 for ; Mon, 7 Sep 2009 19:52:46 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87JqkqT008782 for ; Mon, 7 Sep 2009 19:52:46 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87JqkYL008780 for perforce@freebsd.org; Mon, 7 Sep 2009 19:52:46 GMT (envelope-from andre@freebsd.org) Date: Mon, 7 Sep 2009 19:52:46 GMT Message-Id: <200909071952.n87JqkYL008780@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 168298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 19:52:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=168298 Change 168298 by andre@andre_t61 on 2009/09/07 19:52:39 Require the window to be at least one mss. A smaller window is bogus. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_syncache.c#6 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_syncache.c#6 (text+ko) ==== @@ -953,6 +953,17 @@ goto failed; } + /* + * Window should be at least one segment. + */ + if ((th->th_win << sc->sc_requested_r_scale) < sc->sc_peer_mss) { + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: window smaller than one mss, " + "segment rejected\n", + s, __func__); + goto failed; + } + *lsop = syncache_socket(sc, *lsop, m); if (*lsop == NULL) From owner-p4-projects@FreeBSD.ORG Mon Sep 7 20:04:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA79D1065679; Mon, 7 Sep 2009 20:04:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5568D1065670 for ; Mon, 7 Sep 2009 20:04:07 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 421FF8FC14 for ; Mon, 7 Sep 2009 20:04:07 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87K47lU010772 for ; Mon, 7 Sep 2009 20:04:07 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87K3wRx010756 for perforce@freebsd.org; Mon, 7 Sep 2009 20:03:58 GMT (envelope-from andre@freebsd.org) Date: Mon, 7 Sep 2009 20:03:58 GMT Message-Id: <200909072003.n87K3wRx010756@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 168299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 20:04:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=168299 Change 168299 by andre@andre_flirtbox on 2009/09/07 20:03:05 IFC. Affected files ... .. //depot/projects/tcp_reass/amd64/amd64/elf_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#7 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#10 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#7 integrate .. //depot/projects/tcp_reass/amd64/amd64/pmap.c#12 integrate .. //depot/projects/tcp_reass/amd64/amd64/trap.c#6 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC#8 integrate .. //depot/projects/tcp_reass/amd64/conf/NOTES#7 integrate .. //depot/projects/tcp_reass/amd64/conf/XENHVM#3 integrate .. //depot/projects/tcp_reass/amd64/include/apicvar.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pmc_mdep.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/smp.h#6 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysvec.c#7 integrate .. //depot/projects/tcp_reass/arm/arm/minidump_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#10 integrate .. //depot/projects/tcp_reass/arm/arm/undefined.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/tcp_reass/arm/at91/uart_dev_at91usart.c#4 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA#4 integrate .. //depot/projects/tcp_reass/arm/conf/SHEEVAPLUG#1 branch .. //depot/projects/tcp_reass/arm/mv/common.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/db78xxx.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/db88f6xxx.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/files.db88f6xxx#3 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/files.kirkwood#1 branch .. //depot/projects/tcp_reass/arm/mv/kirkwood/files.sheevaplug#1 branch .. //depot/projects/tcp_reass/arm/mv/kirkwood/sheevaplug.c#1 branch .. //depot/projects/tcp_reass/arm/mv/kirkwood/std.db88f6xxx#3 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/std.kirkwood#1 branch .. //depot/projects/tcp_reass/arm/mv/kirkwood/std.sheevaplug#1 branch .. //depot/projects/tcp_reass/arm/mv/mv_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/mvreg.h#5 integrate .. //depot/projects/tcp_reass/arm/mv/mvvar.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/orion/db88f5xxx.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixdp425_pci.c#4 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/gptboot.c#5 integrate .. //depot/projects/tcp_reass/cam/ata/ata_all.c#2 integrate .. //depot/projects/tcp_reass/cam/ata/ata_all.h#2 integrate .. //depot/projects/tcp_reass/cam/ata/ata_da.c#3 integrate .. //depot/projects/tcp_reass/cam/ata/ata_xpt.c#2 integrate .. //depot/projects/tcp_reass/cam/cam_ccb.h#4 integrate .. //depot/projects/tcp_reass/cam/cam_xpt.c#6 integrate .. //depot/projects/tcp_reass/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_da.c#6 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_taskq.c#1 branch .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_vfs.c#5 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/mutex.h#4 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/taskq.h#3 delete .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/taskq_impl.h#3 delete .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/vnode.h#5 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/common/nvpair/nvpair.c#5 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/vnode.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#6 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#5 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#5 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/os/taskq.c#4 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#3 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#3 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#3 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#5 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/sys/callb.h#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/sys/taskq.h#1 branch .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/sys/vnode.h#3 integrate .. //depot/projects/tcp_reass/compat/ia32/ia32_sysvec.c#4 integrate .. //depot/projects/tcp_reass/compat/linprocfs/linprocfs.c#8 integrate .. //depot/projects/tcp_reass/compat/linux/linux_ioctl.c#7 integrate .. //depot/projects/tcp_reass/compat/linux/linux_socket.c#6 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sockio.c#7 integrate .. //depot/projects/tcp_reass/conf/NOTES#10 integrate .. //depot/projects/tcp_reass/conf/files#13 integrate .. //depot/projects/tcp_reass/conf/files.amd64#8 integrate .. //depot/projects/tcp_reass/conf/files.i386#8 integrate .. //depot/projects/tcp_reass/conf/files.ia64#4 integrate .. //depot/projects/tcp_reass/conf/files.powerpc#8 integrate .. //depot/projects/tcp_reass/conf/files.sparc64#6 integrate .. //depot/projects/tcp_reass/conf/newvers.sh#5 integrate .. //depot/projects/tcp_reass/conf/options#9 integrate .. //depot/projects/tcp_reass/conf/options.amd64#5 integrate .. //depot/projects/tcp_reass/conf/options.arm#4 integrate .. //depot/projects/tcp_reass/conf/options.i386#5 integrate .. //depot/projects/tcp_reass/conf/options.pc98#5 integrate .. //depot/projects/tcp_reass/contrib/altq/altq/altq_subr.c#7 integrate .. //depot/projects/tcp_reass/contrib/ipfilter/netinet/fil.c#4 integrate .. //depot/projects/tcp_reass/contrib/ipfilter/netinet/ip_fil_freebsd.c#6 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf.c#7 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_if.c#8 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_ioctl.c#8 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_subr.c#5 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pfvar.h#6 integrate .. //depot/projects/tcp_reass/contrib/rdma/rdma_cma.c#5 integrate .. //depot/projects/tcp_reass/ddb/db_sym.c#4 integrate .. //depot/projects/tcp_reass/dev/aac/aac.c#7 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi.c#7 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_battery.c#5 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_thermal.c#6 integrate .. //depot/projects/tcp_reass/dev/adb/adb_bus.c#3 integrate .. //depot/projects/tcp_reass/dev/ahci/ahci.c#2 integrate .. //depot/projects/tcp_reass/dev/ahci/ahci.h#2 integrate .. //depot/projects/tcp_reass/dev/alc/if_alc.c#4 integrate .. //depot/projects/tcp_reass/dev/amdtemp/amdtemp.c#3 integrate .. //depot/projects/tcp_reass/dev/amr/amr.c#6 integrate .. //depot/projects/tcp_reass/dev/asmc/asmc.c#7 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.c#9 integrate .. //depot/projects/tcp_reass/dev/ata/ata-disk.c#6 integrate .. //depot/projects/tcp_reass/dev/ata/ata-dma.c#6 integrate .. //depot/projects/tcp_reass/dev/ath/ah_osdep.c#6 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah_regdomain.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/if_ath.c#10 integrate .. //depot/projects/tcp_reass/dev/atkbdc/psm.c#6 integrate .. //depot/projects/tcp_reass/dev/bge/if_bge.c#8 integrate .. //depot/projects/tcp_reass/dev/bktr/bktr_os.c#5 integrate .. //depot/projects/tcp_reass/dev/coretemp/coretemp.c#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_main.c#9 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#6 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_cpl_io.c#8 integrate .. //depot/projects/tcp_reass/dev/drm/drmP.h#5 integrate .. //depot/projects/tcp_reass/dev/drm/drm_bufs.c#5 integrate .. //depot/projects/tcp_reass/dev/drm/drm_drv.c#6 integrate .. //depot/projects/tcp_reass/dev/drm/drm_fops.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/drm_pciids.h#6 integrate .. //depot/projects/tcp_reass/dev/drm/drm_sysctl.c#5 integrate .. //depot/projects/tcp_reass/dev/drm/r600_blit.c#1 branch .. //depot/projects/tcp_reass/dev/drm/r600_cp.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_cp.c#5 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_cs.c#1 branch .. //depot/projects/tcp_reass/dev/drm/radeon_drm.h#4 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_drv.h#5 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_state.c#4 integrate .. //depot/projects/tcp_reass/dev/e1000/if_em.c#6 integrate .. //depot/projects/tcp_reass/dev/e1000/if_igb.c#7 integrate .. //depot/projects/tcp_reass/dev/hptrr/hptrr_osm_bsd.c#5 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_core.c#3 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_piv.c#4 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_ppro.c#4 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_x86.c#4 integrate .. //depot/projects/tcp_reass/dev/hwpmc/pmc_events.h#5 integrate .. //depot/projects/tcp_reass/dev/ips/ips_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/iscsi/initiator/isc_cam.c#4 integrate .. //depot/projects/tcp_reass/dev/isp/isp.c#4 integrate .. //depot/projects/tcp_reass/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/tcp_reass/dev/isp/isp_freebsd.h#4 integrate .. //depot/projects/tcp_reass/dev/isp/isp_ioctl.h#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_library.c#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_library.h#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_stds.h#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_target.c#3 integrate .. //depot/projects/tcp_reass/dev/isp/isp_target.h#3 integrate .. //depot/projects/tcp_reass/dev/isp/ispmbox.h#3 integrate .. //depot/projects/tcp_reass/dev/isp/ispreg.h#3 integrate .. //depot/projects/tcp_reass/dev/isp/ispvar.h#3 integrate .. //depot/projects/tcp_reass/dev/ispfw/asm_2300.h#3 integrate .. //depot/projects/tcp_reass/dev/ispfw/asm_2400.h#3 integrate .. //depot/projects/tcp_reass/dev/ispfw/asm_2500.h#1 branch .. //depot/projects/tcp_reass/dev/ispfw/ispfw.c#4 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe.c#6 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi.c#9 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi_ioctl.h#4 integrate .. //depot/projects/tcp_reass/dev/mfi/mfireg.h#5 integrate .. //depot/projects/tcp_reass/dev/mge/if_mge.c#5 integrate .. //depot/projects/tcp_reass/dev/mii/e1000phy.c#5 integrate .. //depot/projects/tcp_reass/dev/mlx/mlx.c#5 integrate .. //depot/projects/tcp_reass/dev/mmc/mmc.c#4 integrate .. //depot/projects/tcp_reass/dev/mwl/if_mwl.c#5 integrate .. //depot/projects/tcp_reass/dev/null/null.c#3 integrate .. //depot/projects/tcp_reass/dev/pccbb/pccbb.c#4 integrate .. //depot/projects/tcp_reass/dev/ppbus/vpo.c#4 integrate .. //depot/projects/tcp_reass/dev/pst/pst-iop.c#3 integrate .. //depot/projects/tcp_reass/dev/pty/pty.c#1 branch .. //depot/projects/tcp_reass/dev/re/if_re.c#10 integrate .. //depot/projects/tcp_reass/dev/rp/rp.c#5 integrate .. //depot/projects/tcp_reass/dev/rp/rp_pci.c#4 integrate .. //depot/projects/tcp_reass/dev/siis/siis.c#2 integrate .. //depot/projects/tcp_reass/dev/snp/snp.c#5 integrate .. //depot/projects/tcp_reass/dev/sound/pci/hda/hdac.c#8 integrate .. //depot/projects/tcp_reass/dev/sound/pci/hda/hdac_private.h#4 integrate .. //depot/projects/tcp_reass/dev/sound/pci/hda/hdac_reg.h#3 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/tcp_reass/dev/syscons/scterm-teken.c#4 integrate .. //depot/projects/tcp_reass/dev/syscons/scvgarndr.c#3 integrate .. //depot/projects/tcp_reass/dev/syscons/scvidctl.c#4 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/Makefile#3 delete .. //depot/projects/tcp_reass/dev/syscons/teken/gensequences#3 delete .. //depot/projects/tcp_reass/dev/syscons/teken/sequences#4 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken.c#4 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken.h#4 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken_demo.c#4 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken_scs.h#3 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken_stress.c#4 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken_subr.h#3 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken_subr_compat.h#4 delete .. //depot/projects/tcp_reass/dev/syscons/teken/teken_wcwidth.h#3 delete .. //depot/projects/tcp_reass/dev/twe/twe.c#4 integrate .. //depot/projects/tcp_reass/dev/txp/if_txp.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_pci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_pci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci_pci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/usb_controller.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/input/ukbd.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/input/ums.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/misc/ufm.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_aue.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cdce.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/net/usb_ethernet.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/serial/u3g.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uipaq.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ulpt.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvisor.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/storage/umass.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/storage/urio.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb.h#4 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.h#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_controller.h#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dev.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dev.h#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.h#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_hid.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_hub.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_parse.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_process.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_process.h#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_request.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usb_transfer.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/usbdevs#7 integrate .. //depot/projects/tcp_reass/dev/usb/usbdi.h#5 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_zyd.c#5 integrate .. //depot/projects/tcp_reass/dev/xen/blkback/blkback.c#3 integrate .. //depot/projects/tcp_reass/dev/xen/blkfront/blkfront.c#4 integrate .. //depot/projects/tcp_reass/dev/xen/console/console.c#4 integrate .. //depot/projects/tcp_reass/dev/xen/netback/netback.c#3 integrate .. //depot/projects/tcp_reass/fs/fifofs/fifo_vnops.c#8 integrate .. //depot/projects/tcp_reass/fs/nfs/nfsport.h#6 integrate .. //depot/projects/tcp_reass/fs/nfsclient/nfs_clsubs.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsclient/nfs_clvnops.c#7 integrate .. //depot/projects/tcp_reass/fs/pseudofs/pseudofs_vncache.c#7 integrate .. //depot/projects/tcp_reass/fs/pseudofs/pseudofs_vnops.c#7 integrate .. //depot/projects/tcp_reass/fs/unionfs/union_subr.c#8 integrate .. //depot/projects/tcp_reass/geom/geom_disk.c#5 integrate .. //depot/projects/tcp_reass/geom/geom_io.c#6 integrate .. //depot/projects/tcp_reass/geom/mirror/g_mirror_ctl.c#3 integrate .. //depot/projects/tcp_reass/geom/multipath/g_multipath.c#3 integrate .. //depot/projects/tcp_reass/geom/part/g_part_gpt.c#5 integrate .. //depot/projects/tcp_reass/geom/stripe/g_stripe.c#4 integrate .. //depot/projects/tcp_reass/i386/acpica/acpi_machdep.c#6 integrate .. //depot/projects/tcp_reass/i386/bios/smapi.c#5 integrate .. //depot/projects/tcp_reass/i386/bios/smbios.c#3 integrate .. //depot/projects/tcp_reass/i386/bios/vpd.c#3 integrate .. //depot/projects/tcp_reass/i386/conf/GENERIC#8 integrate .. //depot/projects/tcp_reass/i386/conf/NOTES#8 integrate .. //depot/projects/tcp_reass/i386/i386/elf_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/i386/initcpu.c#5 integrate .. //depot/projects/tcp_reass/i386/i386/local_apic.c#7 integrate .. //depot/projects/tcp_reass/i386/i386/machdep.c#9 integrate .. //depot/projects/tcp_reass/i386/i386/mp_machdep.c#8 integrate .. //depot/projects/tcp_reass/i386/i386/pmap.c#11 integrate .. //depot/projects/tcp_reass/i386/i386/trap.c#7 integrate .. //depot/projects/tcp_reass/i386/i386/vm_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/include/apicvar.h#5 integrate .. //depot/projects/tcp_reass/i386/include/cpufunc.h#6 integrate .. //depot/projects/tcp_reass/i386/include/md_var.h#4 integrate .. //depot/projects/tcp_reass/i386/include/pcpu.h#5 integrate .. //depot/projects/tcp_reass/i386/include/pmap.h#9 integrate .. //depot/projects/tcp_reass/i386/include/pmc_mdep.h#4 integrate .. //depot/projects/tcp_reass/i386/include/sf_buf.h#3 integrate .. //depot/projects/tcp_reass/i386/include/smp.h#6 integrate .. //depot/projects/tcp_reass/i386/isa/vesa.c#5 integrate .. //depot/projects/tcp_reass/i386/linux/linux_sysvec.c#6 integrate .. //depot/projects/tcp_reass/i386/xen/locore.s#3 integrate .. //depot/projects/tcp_reass/i386/xen/mp_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/xen/pmap.c#7 integrate .. //depot/projects/tcp_reass/ia64/ia64/genassym.c#3 integrate .. //depot/projects/tcp_reass/ia64/ia64/interrupt.c#6 integrate .. //depot/projects/tcp_reass/ia64/ia64/machdep.c#8 integrate .. //depot/projects/tcp_reass/ia64/ia64/mp_machdep.c#8 integrate .. //depot/projects/tcp_reass/ia64/include/smp.h#4 integrate .. //depot/projects/tcp_reass/isa/isahint.c#4 integrate .. //depot/projects/tcp_reass/kern/imgact_elf.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_conf.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_cons.c#3 integrate .. //depot/projects/tcp_reass/kern/kern_exec.c#9 integrate .. //depot/projects/tcp_reass/kern/kern_exit.c#11 integrate .. //depot/projects/tcp_reass/kern/kern_fork.c#8 integrate .. //depot/projects/tcp_reass/kern/kern_jail.c#11 integrate .. //depot/projects/tcp_reass/kern/kern_kthread.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_linker.c#12 integrate .. //depot/projects/tcp_reass/kern/kern_lock.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_mutex.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_poll.c#8 integrate .. //depot/projects/tcp_reass/kern/kern_proc.c#8 integrate .. //depot/projects/tcp_reass/kern/kern_rwlock.c#8 integrate .. //depot/projects/tcp_reass/kern/kern_shutdown.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_subr.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_sx.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_sysctl.c#10 integrate .. //depot/projects/tcp_reass/kern/kern_thr.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_thread.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_uuid.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_vimage.c#11 delete .. //depot/projects/tcp_reass/kern/subr_bus.c#6 integrate .. //depot/projects/tcp_reass/kern/subr_kdb.c#4 integrate .. //depot/projects/tcp_reass/kern/subr_pcpu.c#5 integrate .. //depot/projects/tcp_reass/kern/subr_sglist.c#3 integrate .. //depot/projects/tcp_reass/kern/subr_smp.c#5 integrate .. //depot/projects/tcp_reass/kern/subr_taskqueue.c#5 integrate .. //depot/projects/tcp_reass/kern/subr_witness.c#7 integrate .. //depot/projects/tcp_reass/kern/sys_generic.c#7 integrate .. //depot/projects/tcp_reass/kern/sys_socket.c#6 integrate .. //depot/projects/tcp_reass/kern/tty_pts.c#7 integrate .. //depot/projects/tcp_reass/kern/tty_pty.c#5 delete .. //depot/projects/tcp_reass/kern/tty_ttydisc.c#3 integrate .. //depot/projects/tcp_reass/kern/uipc_domain.c#8 integrate .. //depot/projects/tcp_reass/kern/uipc_socket.c#11 integrate .. //depot/projects/tcp_reass/kern/uipc_syscalls.c#9 integrate .. //depot/projects/tcp_reass/kern/uipc_usrreq.c#8 integrate .. //depot/projects/tcp_reass/kern/vfs_cache.c#9 integrate .. //depot/projects/tcp_reass/kern/vfs_lookup.c#9 integrate .. //depot/projects/tcp_reass/kern/vfs_mount.c#9 integrate .. //depot/projects/tcp_reass/kern/vfs_syscalls.c#10 integrate .. //depot/projects/tcp_reass/kern/vfs_vnops.c#8 integrate .. //depot/projects/tcp_reass/mips/include/smp.h#4 integrate .. //depot/projects/tcp_reass/mips/mips/mp_machdep.c#5 integrate .. //depot/projects/tcp_reass/modules/Makefile#11 integrate .. //depot/projects/tcp_reass/modules/drm/radeon/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/ispfw/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/ispfw/isp_2400_multi/Makefile#1 branch .. //depot/projects/tcp_reass/modules/ispfw/isp_2500/Makefile#1 branch .. //depot/projects/tcp_reass/modules/ispfw/isp_2500_multi/Makefile#1 branch .. //depot/projects/tcp_reass/modules/pty/Makefile#1 branch .. //depot/projects/tcp_reass/modules/zfs/Makefile#7 integrate .. //depot/projects/tcp_reass/net/bpf.c#8 integrate .. //depot/projects/tcp_reass/net/bpf_buffer.c#4 integrate .. //depot/projects/tcp_reass/net/bpf_zerocopy.c#4 integrate .. //depot/projects/tcp_reass/net/bpfdesc.h#5 integrate .. //depot/projects/tcp_reass/net/bridgestp.c#7 integrate .. //depot/projects/tcp_reass/net/flowtable.c#9 integrate .. //depot/projects/tcp_reass/net/flowtable.h#7 integrate .. //depot/projects/tcp_reass/net/if.c#14 integrate .. //depot/projects/tcp_reass/net/if_arp.h#3 integrate .. //depot/projects/tcp_reass/net/if_bridge.c#8 integrate .. //depot/projects/tcp_reass/net/if_clone.c#8 integrate .. //depot/projects/tcp_reass/net/if_ef.c#8 integrate .. //depot/projects/tcp_reass/net/if_enc.c#7 integrate .. //depot/projects/tcp_reass/net/if_epair.c#4 integrate .. //depot/projects/tcp_reass/net/if_ethersubr.c#11 integrate .. //depot/projects/tcp_reass/net/if_faith.c#5 integrate .. //depot/projects/tcp_reass/net/if_gif.c#9 integrate .. //depot/projects/tcp_reass/net/if_gre.c#7 integrate .. //depot/projects/tcp_reass/net/if_llatbl.c#4 integrate .. //depot/projects/tcp_reass/net/if_llatbl.h#4 integrate .. //depot/projects/tcp_reass/net/if_loop.c#9 integrate .. //depot/projects/tcp_reass/net/if_mib.c#7 integrate .. //depot/projects/tcp_reass/net/if_spppsubr.c#6 integrate .. //depot/projects/tcp_reass/net/if_stf.c#7 integrate .. //depot/projects/tcp_reass/net/if_tun.c#6 integrate .. //depot/projects/tcp_reass/net/if_var.h#10 integrate .. //depot/projects/tcp_reass/net/if_vlan.c#7 integrate .. //depot/projects/tcp_reass/net/netisr.c#7 integrate .. //depot/projects/tcp_reass/net/raw_cb.c#8 integrate .. //depot/projects/tcp_reass/net/raw_usrreq.c#7 integrate .. //depot/projects/tcp_reass/net/route.c#11 integrate .. //depot/projects/tcp_reass/net/rtsock.c#10 integrate .. //depot/projects/tcp_reass/net/vnet.c#3 integrate .. //depot/projects/tcp_reass/net/vnet.h#9 integrate .. //depot/projects/tcp_reass/net80211/ieee80211.c#9 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_ddb.c#7 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_dfs.c#5 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_freebsd.c#7 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_input.c#10 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_scan_sta.c#8 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_sta.c#6 integrate .. //depot/projects/tcp_reass/netatalk/at_control.c#5 integrate .. //depot/projects/tcp_reass/netgraph/atm/ng_atm.c#7 integrate .. //depot/projects/tcp_reass/netgraph/ng_base.c#10 integrate .. //depot/projects/tcp_reass/netgraph/ng_bridge.c#4 integrate .. //depot/projects/tcp_reass/netgraph/ng_eiface.c#9 integrate .. //depot/projects/tcp_reass/netgraph/ng_ether.c#8 integrate .. //depot/projects/tcp_reass/netgraph/ng_gif.c#7 integrate .. //depot/projects/tcp_reass/netgraph/ng_iface.c#10 integrate .. //depot/projects/tcp_reass/netgraph/ng_pipe.c#3 integrate .. //depot/projects/tcp_reass/netgraph/ng_source.c#4 integrate .. //depot/projects/tcp_reass/netinet/icmp6.h#6 integrate .. //depot/projects/tcp_reass/netinet/icmp_var.h#6 integrate .. //depot/projects/tcp_reass/netinet/if_ether.c#9 integrate .. //depot/projects/tcp_reass/netinet/igmp.c#11 integrate .. //depot/projects/tcp_reass/netinet/in.c#10 integrate .. //depot/projects/tcp_reass/netinet/in_gif.c#7 integrate .. //depot/projects/tcp_reass/netinet/in_mcast.c#8 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.c#11 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.h#9 integrate .. //depot/projects/tcp_reass/netinet/in_proto.c#7 integrate .. //depot/projects/tcp_reass/netinet/in_rmx.c#10 integrate .. //depot/projects/tcp_reass/netinet/ip_carp.c#7 integrate .. //depot/projects/tcp_reass/netinet/ip_divert.c#9 integrate .. //depot/projects/tcp_reass/netinet/ip_divert.h#3 integrate .. //depot/projects/tcp_reass/netinet/ip_fastfwd.c#6 integrate .. //depot/projects/tcp_reass/netinet/ip_fw.h#10 integrate .. //depot/projects/tcp_reass/netinet/ip_icmp.c#9 integrate .. //depot/projects/tcp_reass/netinet/ip_input.c#11 integrate .. //depot/projects/tcp_reass/netinet/ip_ipsec.c#9 integrate .. //depot/projects/tcp_reass/netinet/ip_mroute.c#7 integrate .. //depot/projects/tcp_reass/netinet/ip_options.c#9 integrate .. //depot/projects/tcp_reass/netinet/ip_output.c#9 integrate .. //depot/projects/tcp_reass/netinet/ip_var.h#7 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw2.c#8 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw_nat.c#6 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw_pfil.c#4 integrate .. //depot/projects/tcp_reass/netinet/raw_ip.c#9 integrate .. //depot/projects/tcp_reass/netinet/sctp_bsd_addr.c#6 integrate .. //depot/projects/tcp_reass/netinet/sctp_indata.c#8 integrate .. //depot/projects/tcp_reass/netinet/sctp_input.c#7 integrate .. //depot/projects/tcp_reass/netinet/sctp_os_bsd.h#6 integrate .. //depot/projects/tcp_reass/netinet/sctp_output.c#7 integrate .. //depot/projects/tcp_reass/netinet/sctp_pcb.c#7 integrate .. //depot/projects/tcp_reass/netinet/sctp_timer.c#4 integrate .. //depot/projects/tcp_reass/netinet/sctputil.c#8 integrate .. //depot/projects/tcp_reass/netinet/sctputil.h#6 integrate .. //depot/projects/tcp_reass/netinet/tcp_hostcache.c#8 integrate .. //depot/projects/tcp_reass/netinet/tcp_input.c#18 integrate .. //depot/projects/tcp_reass/netinet/tcp_offload.c#6 integrate .. //depot/projects/tcp_reass/netinet/tcp_output.c#16 integrate .. //depot/projects/tcp_reass/netinet/tcp_reass.c#55 integrate .. //depot/projects/tcp_reass/netinet/tcp_sack.c#10 integrate .. //depot/projects/tcp_reass/netinet/tcp_subr.c#15 integrate .. //depot/projects/tcp_reass/netinet/tcp_syncache.c#9 integrate .. //depot/projects/tcp_reass/netinet/tcp_timer.c#11 integrate .. //depot/projects/tcp_reass/netinet/tcp_timewait.c#8 integrate .. //depot/projects/tcp_reass/netinet/tcp_usrreq.c#13 integrate .. //depot/projects/tcp_reass/netinet/tcp_var.h#24 integrate .. //depot/projects/tcp_reass/netinet/udp_usrreq.c#8 integrate .. //depot/projects/tcp_reass/netinet/udp_var.h#7 integrate .. //depot/projects/tcp_reass/netinet6/dest6.c#5 integrate .. //depot/projects/tcp_reass/netinet6/frag6.c#9 integrate .. //depot/projects/tcp_reass/netinet6/icmp6.c#9 integrate .. //depot/projects/tcp_reass/netinet6/in6.c#9 integrate .. //depot/projects/tcp_reass/netinet6/in6_gif.c#6 integrate .. //depot/projects/tcp_reass/netinet6/in6_ifattach.c#8 integrate .. //depot/projects/tcp_reass/netinet6/in6_mcast.c#6 integrate .. //depot/projects/tcp_reass/netinet6/in6_pcb.c#8 integrate .. //depot/projects/tcp_reass/netinet6/in6_proto.c#9 integrate .. //depot/projects/tcp_reass/netinet6/in6_rmx.c#8 integrate .. //depot/projects/tcp_reass/netinet6/in6_src.c#9 integrate .. //depot/projects/tcp_reass/netinet6/ip6_forward.c#5 integrate .. //depot/projects/tcp_reass/netinet6/ip6_input.c#9 integrate .. //depot/projects/tcp_reass/netinet6/ip6_ipsec.c#8 integrate .. //depot/projects/tcp_reass/netinet6/ip6_mroute.c#8 integrate .. //depot/projects/tcp_reass/netinet6/ip6_output.c#9 integrate .. //depot/projects/tcp_reass/netinet6/mld6.c#11 integrate .. //depot/projects/tcp_reass/netinet6/nd6.c#8 integrate .. //depot/projects/tcp_reass/netinet6/nd6_nbr.c#8 integrate .. //depot/projects/tcp_reass/netinet6/nd6_rtr.c#8 integrate .. //depot/projects/tcp_reass/netinet6/raw_ip6.c#10 integrate .. //depot/projects/tcp_reass/netinet6/route6.c#5 integrate .. //depot/projects/tcp_reass/netinet6/scope6.c#8 integrate .. //depot/projects/tcp_reass/netinet6/udp6_usrreq.c#9 integrate .. //depot/projects/tcp_reass/netipsec/ipsec.c#9 integrate .. //depot/projects/tcp_reass/netipsec/ipsec.h#8 integrate .. //depot/projects/tcp_reass/netipsec/ipsec_input.c#6 integrate .. //depot/projects/tcp_reass/netipsec/ipsec_mbuf.c#5 integrate .. //depot/projects/tcp_reass/netipsec/ipsec_output.c#7 integrate .. //depot/projects/tcp_reass/netipsec/key.c#11 integrate .. //depot/projects/tcp_reass/netipsec/keysock.c#8 integrate .. //depot/projects/tcp_reass/netipsec/xform_ah.c#5 integrate .. //depot/projects/tcp_reass/netipsec/xform_esp.c#6 integrate .. //depot/projects/tcp_reass/netipsec/xform_ipcomp.c#6 integrate .. //depot/projects/tcp_reass/netipsec/xform_ipip.c#7 integrate .. //depot/projects/tcp_reass/netipsec/xform_tcp.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/bootp_subr.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_diskless.c#8 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_subs.c#9 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vnops.c#11 integrate .. //depot/projects/tcp_reass/opencrypto/cryptodev.c#5 integrate .. //depot/projects/tcp_reass/pc98/cbus/fdc.c#3 integrate .. //depot/projects/tcp_reass/pc98/conf/NOTES#5 integrate .. //depot/projects/tcp_reass/pci/if_rlreg.h#8 integrate .. //depot/projects/tcp_reass/powerpc/include/smp.h#6 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/mp_machdep.c#8 integrate .. //depot/projects/tcp_reass/rpc/clnt_dg.c#6 integrate .. //depot/projects/tcp_reass/rpc/clnt_rc.c#7 integrate .. //depot/projects/tcp_reass/rpc/clnt_vc.c#6 integrate .. //depot/projects/tcp_reass/rpc/rpc_generic.c#4 integrate .. //depot/projects/tcp_reass/rpc/svc_dg.c#5 integrate .. //depot/projects/tcp_reass/rpc/svc_generic.c#5 integrate .. //depot/projects/tcp_reass/rpc/svc_vc.c#5 integrate .. //depot/projects/tcp_reass/security/audit/audit.c#7 integrate .. //depot/projects/tcp_reass/security/audit/audit.h#6 integrate .. //depot/projects/tcp_reass/security/audit/audit_arg.c#8 integrate .. //depot/projects/tcp_reass/security/audit/audit_bsm.c#7 integrate .. //depot/projects/tcp_reass/security/audit/audit_bsm_klib.c#6 integrate .. //depot/projects/tcp_reass/security/audit/audit_private.h#6 integrate .. //depot/projects/tcp_reass/sparc64/include/smp.h#5 integrate .. //depot/projects/tcp_reass/sun4v/include/smp.h#4 integrate .. //depot/projects/tcp_reass/sys/bus.h#6 integrate .. //depot/projects/tcp_reass/sys/conf.h#7 integrate .. //depot/projects/tcp_reass/sys/cons.h#4 integrate .. //depot/projects/tcp_reass/sys/imgact_elf.h#4 integrate .. //depot/projects/tcp_reass/sys/ioctl_compat.h#4 integrate .. //depot/projects/tcp_reass/sys/jail.h#8 integrate .. //depot/projects/tcp_reass/sys/lock.h#8 integrate .. //depot/projects/tcp_reass/sys/param.h#12 integrate .. //depot/projects/tcp_reass/sys/pcpu.h#8 integrate .. //depot/projects/tcp_reass/sys/priv.h#7 integrate .. //depot/projects/tcp_reass/sys/proc.h#8 integrate .. //depot/projects/tcp_reass/sys/sglist.h#3 integrate .. //depot/projects/tcp_reass/sys/smp.h#5 integrate .. //depot/projects/tcp_reass/sys/sysctl.h#11 integrate .. //depot/projects/tcp_reass/sys/systm.h#7 integrate .. //depot/projects/tcp_reass/sys/taskqueue.h#6 integrate .. //depot/projects/tcp_reass/sys/tty.h#6 integrate .. //depot/projects/tcp_reass/sys/ttycom.h#5 integrate .. //depot/projects/tcp_reass/sys/ttydisc.h#3 integrate .. //depot/projects/tcp_reass/sys/types.h#5 integrate .. //depot/projects/tcp_reass/sys/vimage.h#11 delete .. //depot/projects/tcp_reass/teken/Makefile#1 branch .. //depot/projects/tcp_reass/teken/gensequences#1 branch .. //depot/projects/tcp_reass/teken/sequences#1 branch .. //depot/projects/tcp_reass/teken/teken.c#1 branch .. //depot/projects/tcp_reass/teken/teken.h#1 branch .. //depot/projects/tcp_reass/teken/teken_demo.c#1 branch .. //depot/projects/tcp_reass/teken/teken_scs.h#1 branch .. //depot/projects/tcp_reass/teken/teken_stress.c#1 branch .. //depot/projects/tcp_reass/teken/teken_subr.h#1 branch .. //depot/projects/tcp_reass/teken/teken_subr_compat.h#1 branch .. //depot/projects/tcp_reass/teken/teken_wcwidth.h#1 branch .. //depot/projects/tcp_reass/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/tcp_reass/vm/device_pager.c#7 integrate .. //depot/projects/tcp_reass/vm/sg_pager.c#2 integrate .. //depot/projects/tcp_reass/vm/vm.h#6 integrate .. //depot/projects/tcp_reass/vm/vm_extern.h#6 integrate .. //depot/projects/tcp_reass/vm/vm_glue.c#7 integrate .. //depot/projects/tcp_reass/xdr/xdr_mbuf.c#4 integrate .. //depot/projects/tcp_reass/xen/xenbus/xenbus_probe.c#3 integrate Differences ... ==== //depot/projects/tcp_reass/amd64/amd64/elf_machdep.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.30 2009/04/05 09:27:19 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.32 2009/08/30 14:38:17 bz Exp $"); #include #include @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -108,6 +109,22 @@ (sysinit_cfunc_t) elf64_insert_brand_entry, &freebsd_brand_oinfo); +static Elf64_Brandinfo kfreebsd_brand_info = { + .brand = ELFOSABI_FREEBSD, + .machine = EM_X86_64, + .compat_3_brand = "FreeBSD", + .emul_path = NULL, + .interp_path = "/lib/ld-kfreebsd-x86-64.so.1", + .sysvec = &elf64_freebsd_sysvec, + .interp_newpath = NULL, + .brand_note = &elf64_kfreebsd_brandnote, + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY +}; + +SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY, + (sysinit_cfunc_t) elf64_insert_brand_entry, + &kfreebsd_brand_info); + void elf64_dump_thread(struct thread *td __unused, void *dst __unused, ==== //depot/projects/tcp_reass/amd64/amd64/local_apic.c#7 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -123,7 +123,7 @@ { 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 }, /* LINT1: NMI */ { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_TIMER_INT }, /* Timer */ { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_ERROR_INT }, /* Error */ - { 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 }, /* PMC */ + { 1, 1, 1, 1, APIC_LVT_DM_NMI, 0 }, /* PMC */ { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_THERMAL_INT }, /* Thermal */ }; @@ -305,11 +305,9 @@ lapic->lvt_lint0 = lvt_mode(la, LVT_LINT0, lapic->lvt_lint0); lapic->lvt_lint1 = lvt_mode(la, LVT_LINT1, lapic->lvt_lint1); -#ifdef HWPMC_HOOKS /* Program the PMC LVT entry if present. */ if (maxlvt >= LVT_PMC) lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); -#endif /* Program timer LVT and setup handler. */ lapic->lvt_timer = lvt_mode(la, LVT_TIMER, lapic->lvt_timer); @@ -332,6 +330,88 @@ intr_restore(eflags); } +void +lapic_reenable_pmc(void) +{ +#ifdef HWPMC_HOOKS + uint32_t value; + + value = lapic->lvt_pcint; + value &= ~APIC_LVT_M; + lapic->lvt_pcint = value; +#endif +} + +#ifdef HWPMC_HOOKS +static void +lapic_update_pmc(void *dummy) +{ + struct lapic *la; + + la = &lapics[lapic_id()]; + lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); +} +#endif + +int +lapic_enable_pmc(void) +{ +#ifdef HWPMC_HOOKS + u_int32_t maxlvt; + + /* Fail if the local APIC is not present. */ + if (lapic == NULL) + return (0); + + /* Fail if the PMC LVT is not present. */ + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + if (maxlvt < LVT_PMC) + return (0); + + lvts[LVT_PMC].lvt_masked = 0; + +#ifdef SMP + /* + * If hwpmc was loaded at boot time then the APs may not be + * started yet. In that case, don't forward the request to + * them as they will program the lvt when they start. + */ + if (smp_started) + smp_rendezvous(NULL, lapic_update_pmc, NULL, NULL); + else +#endif + lapic_update_pmc(NULL); + return (1); +#else + return (0); +#endif +} + +void +lapic_disable_pmc(void) +{ +#ifdef HWPMC_HOOKS + u_int32_t maxlvt; + + /* Fail if the local APIC is not present. */ + if (lapic == NULL) + return; + + /* Fail if the PMC LVT is not present. */ + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + if (maxlvt < LVT_PMC) + return; + + lvts[LVT_PMC].lvt_masked = 1; + +#ifdef SMP + /* The APs should always be started when hwpmc is unloaded. */ + KASSERT(mp_ncpus == 1 || smp_started, ("hwpmc unloaded too early")); +#endif + smp_rendezvous(NULL, lapic_update_pmc, NULL, NULL); +#endif +} + /* * Called by cpu_initclocks() on the BSP to setup the local APIC timer so * that it can drive hardclock, statclock, and profclock. This function @@ -910,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + 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] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ @@ -1238,8 +1321,17 @@ KASSERT((vector & ~APIC_VECTOR_MASK) == 0, ("%s: invalid vector %d", __func__, vector)); - icrlo = vector | APIC_DELMODE_FIXED | APIC_DESTMODE_PHY | - APIC_LEVEL_DEASSERT | APIC_TRIGMOD_EDGE; + icrlo = APIC_DESTMODE_PHY | APIC_TRIGMOD_EDGE; + + /* + * IPI_STOP_HARD is just a "fake" vector used to send a NMI. + * Use special rules regard NMI if passed, otherwise specify + * the vector. + */ + if (vector == IPI_STOP_HARD) + icrlo |= APIC_DELMODE_NMI | APIC_LEVEL_ASSERT; + else + icrlo |= vector | APIC_DELMODE_FIXED | APIC_LEVEL_DEASSERT; destfield = 0; switch (dest) { case APIC_IPI_DEST_SELF: ==== //depot/projects/tcp_reass/amd64/amd64/machdep.c#10 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.706 2009/07/27 13:51:55 rpaulo Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.709 2009/08/20 22:58:05 jkim Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -214,8 +214,10 @@ sysenv = getenv("smbios.system.product"); if (sysenv != NULL) { if (strncmp(sysenv, "MacBook1,1", 10) == 0 || + strncmp(sysenv, "MacBook3,1", 10) == 0 || strncmp(sysenv, "MacBookPro1,1", 13) == 0 || strncmp(sysenv, "MacBookPro1,2", 13) == 0 || + strncmp(sysenv, "MacBookPro3,1", 13) == 0 || strncmp(sysenv, "Macmini1,1", 10) == 0) { if (bootverbose) printf("Disabling LEGACY_USB_EN bit on " @@ -234,19 +236,21 @@ #ifdef PERFMON perfmon_init(); #endif + realmem = Maxmem; + + /* + * Display physical memory if SMBIOS reports reasonable amount. + */ + memsize = 0; sysenv = getenv("smbios.memory.enabled"); if (sysenv != NULL) { - memsize = (uintmax_t)strtoul(sysenv, (char **)NULL, 10); + memsize = (uintmax_t)strtoul(sysenv, (char **)NULL, 10) << 10; freeenv(sysenv); - } else - memsize = 0; - if (memsize > 0) - printf("real memory = %ju (%ju MB)\n", memsize << 10, - memsize >> 10); - else - printf("real memory = %ju (%ju MB)\n", ptoa((uintmax_t)Maxmem), - ptoa((uintmax_t)Maxmem) / 1048576); - realmem = Maxmem; + } + if (memsize < ptoa((uintmax_t)cnt.v_free_count)) + memsize = ptoa((uintmax_t)Maxmem); + printf("real memory = %ju (%ju MB)\n", memsize, memsize >> 20); + /* * Display any holes after the first chunk of extended memory. */ ==== //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.309 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.310 2009/08/13 17:09:45 attilio Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -114,31 +114,12 @@ extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32); -#ifdef STOP_NMI -static volatile cpumask_t ipi_nmi_pending; - -static void ipi_nmi_selected(cpumask_t cpus); -#endif - /* * Local data and functions. */ -#ifdef STOP_NMI -/* - * Provide an alternate method of stopping other CPUs. If another CPU has - * disabled interrupts the conventional STOP IPI will be blocked. This - * NMI-based stop should get through in that case. - */ -static int stop_cpus_with_nmi = 1; -SYSCTL_INT(_debug, OID_AUTO, stop_cpus_with_nmi, CTLTYPE_INT | CTLFLAG_RW, - &stop_cpus_with_nmi, 0, ""); -TUNABLE_INT("debug.stop_cpus_with_nmi", &stop_cpus_with_nmi); -#else -#define stop_cpus_with_nmi 0 -#endif - static u_int logical_cpus; +static volatile cpumask_t ipi_nmi_pending; /* used to hold the AP's until we are ready to release them */ static struct mtx ap_boot_mtx; @@ -1158,12 +1139,14 @@ ipi = IPI_BITMAP_VECTOR; } -#ifdef STOP_NMI - if (ipi == IPI_STOP && stop_cpus_with_nmi) { - ipi_nmi_selected(cpus); - return; - } -#endif + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, cpus); + CTR3(KTR_SMP, "%s: cpus: %x ipi: %x", __func__, cpus, ipi); while ((cpu = ffs(cpus)) != 0) { cpu--; @@ -1194,64 +1177,43 @@ ipi_all_but_self(u_int ipi) { - if (IPI_IS_BITMAPED(ipi) || (ipi == IPI_STOP && stop_cpus_with_nmi)) { + if (IPI_IS_BITMAPED(ipi)) { ipi_selected(PCPU_GET(other_cpus), ipi); return; } + + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, PCPU_GET(other_cpus)); + CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); lapic_ipi_vectored(ipi, APIC_IPI_DEST_OTHERS); } -#ifdef STOP_NMI -/* - * send NMI IPI to selected CPUs - */ - -#define BEFORE_SPIN 1000000 - -static void -ipi_nmi_selected(cpumask_t cpus) -{ - int cpu; - register_t icrlo; - - icrlo = APIC_DELMODE_NMI | APIC_DESTMODE_PHY | APIC_LEVEL_ASSERT - | APIC_TRIGMOD_EDGE; - - CTR2(KTR_SMP, "%s: cpus: %x nmi", __func__, cpus); - - atomic_set_int(&ipi_nmi_pending, cpus); - - while ((cpu = ffs(cpus)) != 0) { - cpu--; - cpus &= ~(1 << cpu); - - KASSERT(cpu_apic_ids[cpu] != -1, - ("IPI NMI to non-existent CPU %d", cpu)); - - /* Wait for an earlier IPI to finish. */ - if (!lapic_ipi_wait(BEFORE_SPIN)) - panic("ipi_nmi_selected: previous IPI has not cleared"); - - lapic_ipi_raw(icrlo, cpu_apic_ids[cpu]); - } -} - int -ipi_nmi_handler(void) +ipi_nmi_handler() { - int cpumask = PCPU_GET(cpumask); + cpumask_t cpumask; - if (!(ipi_nmi_pending & cpumask)) - return 1; + /* + * As long as there is not a simple way to know about a NMI's + * source, if the bitmask for the current CPU is present in + * the global pending bitword an IPI_STOP_HARD has been issued + * and should be handled. + */ + cpumask = PCPU_GET(cpumask); + if ((ipi_nmi_pending & cpumask) == 0) + return (1); atomic_clear_int(&ipi_nmi_pending, cpumask); cpustop_handler(); - return 0; + return (0); } -#endif /* STOP_NMI */ - /* * Handle an IPI_STOP by saving our current context and spinning until we * are resumed. ==== //depot/projects/tcp_reass/amd64/amd64/pmap.c#12 (text+ko) ==== @@ -77,7 +77,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 7 21:18:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6B5C106568B; Mon, 7 Sep 2009 21:18:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82E5D106566B for ; Mon, 7 Sep 2009 21:18:29 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7151F8FC0A for ; Mon, 7 Sep 2009 21:18:29 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87LITvm027406 for ; Mon, 7 Sep 2009 21:18:29 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87LIT40027404 for perforce@freebsd.org; Mon, 7 Sep 2009 21:18:29 GMT (envelope-from trasz@freebsd.org) Date: Mon, 7 Sep 2009 21:18:29 GMT Message-Id: <200909072118.n87LIT40027404@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 168304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 21:18:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=168304 Change 168304 by trasz@trasz_anger on 2009/09/07 21:18:14 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#32 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/fstest.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/chmod/12.t#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/00.t#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/01.t#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/02.t#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/03.t#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/04.t#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/05.t#5 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c#3 (text+ko) ==== @@ -172,6 +172,7 @@ *tab = '\0'; if (strcmp(buf, mountpoint) == 0) { +#if defined(sun) /* * the protocol field is the third field * skip over second field @@ -194,6 +195,10 @@ return (0); } } +#else + if (proto == PROTO_NFS) + return (SHARED_NFS); +#endif } } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/sys/proc.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/proc.h,v 1.8 2009/08/23 11:33:46 pjd Exp $ + * $FreeBSD: src/sys/cddl/compat/opensolaris/sys/proc.h,v 1.9 2009/09/07 19:22:44 pjd Exp $ */ #ifndef _OPENSOLARIS_SYS_PROC_H_ @@ -37,6 +37,7 @@ #include #include #include +#include #include #ifdef _KERNEL @@ -74,11 +75,12 @@ ASSERT(state == TS_RUN); ASSERT(pp == &p0); - error = kproc_kthread_add(proc, arg, &zfsproc, &td, 0, + error = kproc_kthread_add(proc, arg, &zfsproc, &td, RFSTOPPED, stksize / PAGE_SIZE, "zfskern", "solthread %p", proc); if (error == 0) { thread_lock(td); sched_prio(td, pri); + sched_add(td, SRQ_BORING); thread_unlock(td); } return (td); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#32 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/tools/regression/fstest/Makefile,v 1.2 2008/11/23 19:56:09 pjd Exp $ +# $FreeBSD: src/tools/regression/fstest/Makefile,v 1.3 2009/09/07 19:40:22 trasz Exp $ OSTYPE=$(shell uname) ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/fstest.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/tools/regression/fstest/fstest.c,v 1.5 2009/06/03 09:24:58 pjd Exp $ + * $FreeBSD: src/tools/regression/fstest/fstest.c,v 1.6 2009/09/07 19:40:22 trasz Exp $ */ #include ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/chmod/12.t#2 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/00.t#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/01.t#3 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/02.t#6 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/03.t#5 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/04.t#4 (text+ko) ==== ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/05.t#5 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Sep 7 21:20:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ECA4106568B; Mon, 7 Sep 2009 21:20:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E75971065672 for ; Mon, 7 Sep 2009 21:20:31 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D63C28FC0A for ; Mon, 7 Sep 2009 21:20:31 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87LKVaR027618 for ; Mon, 7 Sep 2009 21:20:31 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87LKVWC027616 for perforce@freebsd.org; Mon, 7 Sep 2009 21:20:31 GMT (envelope-from trasz@freebsd.org) Date: Mon, 7 Sep 2009 21:20:31 GMT Message-Id: <200909072120.n87LKVWC027616@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 168305 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 21:20:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=168305 Change 168305 by trasz@trasz_anger on 2009/09/07 21:20:08 Remove completed items. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#56 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#56 (text+ko) ==== @@ -1,8 +1,5 @@ Things that need to be done before this goes into -CURRENT: -- Don't use fpathconf(..., _PC_ACL_NFS4); instead just call - acl_set_file(3) or acl_get_file(3) with ACL_TYPE_NFS4 and handle EOPNOTSUPP. - - Decide how VAPPEND is supposed to work - always OR-ed with VWRITE, or used alone. Fix stuff accordingly. @@ -14,9 +11,6 @@ - Talk about semantics. Do whatever is needed. -- Figure out whether this thing should be called 'nfs4' or 'nfsv4'. - Use this name consistently. - - Review. Things to do, in no particular order: From owner-p4-projects@FreeBSD.ORG Mon Sep 7 21:47:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 784601065767; Mon, 7 Sep 2009 21:47:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34BE1106575D for ; Mon, 7 Sep 2009 21:47:00 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C60198FC1B for ; Mon, 7 Sep 2009 21:47:00 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87Ll0ji029540 for ; Mon, 7 Sep 2009 21:47:00 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87Ll0WV029538 for perforce@freebsd.org; Mon, 7 Sep 2009 21:47:00 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 7 Sep 2009 21:47:00 GMT Message-Id: <200909072147.n87Ll0WV029538@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 168308 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 21:47:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=168308 Change 168308 by gk@gk_h1 on 2009/09/07 21:46:01 merge from local repo: repend '.' to encrypted file names allow mounting on same path. forbid on subdirs preallocate per node pefs_chunk buffers change pefs_chunk_* to use continuous buffer use taskqueue to asynchronously free pefs_node pefs_lookup: fixes + SAVENAME bug fix pefs_rename: fixes remove pefs_enccn_lookup_create, lookup is not needed pefs_lock, pefs_unlock: do not use VP_TO_PN and PEFS_LOWERVP split pefs_node_get into pefs_node_get_{nokey,haskey,lookupkey} check max file name size in pefs_name_encrypt open .pefs file on filesystem root Affected files ... .. //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_ctl.c#5 edit .. //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_ctl.h#6 edit .. //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_keychain.c#4 edit .. //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_mount.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#11 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#9 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_hmac.c#1 add .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_hmac.h#1 add .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#11 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#10 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#13 edit .. //depot/projects/soc2009/gk_pefs/sys/modules/pefs/Makefile#7 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_ctl.c#5 (text+ko) ==== @@ -28,7 +28,9 @@ #include __FBSDID("$FreeBSD$"); -#include +#include +#include + #include #include #include @@ -99,6 +101,46 @@ return (1); } +int +pefs_getfsroot(const char *path, char *fsroot, size_t size) +{ + struct statfs fs; + int error; + + if (statfs(path, &fs) == -1) { + error = errno; + warn("statfs failed: %s", path); + return (error); + } + + if (strcmp(PEFS_FSTYPE, fs.f_fstypename) != 0) { + warnx("invalid filesystem type: %s", path); + return (EINVAL); + } + + if (fsroot != NULL) + strlcpy(fsroot, fs.f_mntfromname, size); + + return (0); +} + +static int +pefs_openfs(char *path) +{ + char fsroot[PATH_MAX]; + int fd; + + if (pefs_getfsroot(path, fsroot, sizeof(fsroot)) != 0) + return (-1); + + fd = open(fsroot, O_RDONLY); + if (fd == -1) + warn("cannot open %s", path); + + return (fd); + +} + uintmax_t pefs_keyid_as_int(char *keyid) { @@ -174,11 +216,10 @@ bzero(&k, sizeof(k)); if (error) return (EX_DATAERR); - fd = open(argv[0], O_RDONLY); - if (fd == -1) { - err(EX_IOERR, "cannot open %s", argv[0]); - } - + fd = pefs_openfs(argv[0]); + if (fd == -1) + return (EX_IOERR); + error = func(&kch, fd); pefs_keychain_free(&kch); @@ -278,7 +319,7 @@ argv += optind; if (chain == PEFS_KEYCHAIN_USE && addkey) - errx(EX_USAGE, "invalid arguments: -x -c"); + errx(EX_USAGE, "invalid argument combination: -x -c"); if (argc != 1) { if (argc == 0) @@ -289,6 +330,9 @@ pefs_usage(); } + /* only check filesystem type */ + pefs_getfsroot(argv[0], NULL, 0); + error = pefs_key_get(&k, NULL, 0, &kp); if (error != 0) return (error); @@ -301,7 +345,8 @@ fd = open(argv[0], O_RDONLY); if (fd == -1) { - err(EX_IOERR, "cannot open %s", argv[0]); + warn("cannot open %s", argv[0]); + return (EX_IOERR); } if (ioctl(fd, PEFS_SETKEY, &k) == -1) { @@ -325,10 +370,9 @@ pefs_usage(); } - fd = open(argv[0], O_RDONLY); - if (fd == -1) { - err(EX_IOERR, "cannot open %s", argv[0]); - } + fd = pefs_openfs(argv[0]); + if (fd == -1) + return (EX_IOERR); if (ioctl(fd, PEFS_FLUSHKEYS) == -1) { err(EX_IOERR, "cannot flush keys"); } @@ -357,10 +401,9 @@ pefs_usage(); } - fd = open(argv[0], O_RDONLY); - if (fd == -1) { - err(EX_IOERR, "cannot open %s", argv[0]); - } + fd = pefs_openfs(argv[0]); + if (fd == -1) + return (EX_IOERR); bzero(&k, sizeof(k)); if (ioctl(fd, PEFS_GETKEY, &k) == -1) { ==== //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_ctl.h#6 (text+ko) ==== @@ -26,6 +26,8 @@ * $FreeBSD$ */ +#define PEFS_FSTYPE "pefs" + #define PEFS_ALG_DEFAULT PEFS_ALG_AES_CTR #define PEFS_ALG_DEFAULT_KEYBITS 256 @@ -55,6 +57,7 @@ void pefs_usage(void); int pefs_mount(int argc, char *argv[]); int pefs_mount_prog(int argc, char *argv[]); +int pefs_getfsroot(const char *path, char *fsroot, size_t size); int pefs_key_get(struct pefs_xkey *xk, const char *prompt, int verify, struct pefs_keyparam *kp); int pefs_key_encrypt(struct pefs_xkey *xk, const struct pefs_xkey *xk_parent); int pefs_key_decrypt(struct pefs_xkey *xk, const struct pefs_xkey *xk_parent); ==== //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_keychain.c#4 (text+ko) ==== @@ -56,7 +56,10 @@ char buf[MAXPATHLEN]; DB *db; - snprintf(buf, sizeof(buf), "%s/%s", filesystem, KEYCHAIN_DBFILE); + if (pefs_getfsroot(filesystem, buf, sizeof(buf)) != 0) + return (NULL); + strlcat(buf, "/", sizeof(buf)); + strlcat(buf, KEYCHAIN_DBFILE, sizeof(buf)); db = dbopen(buf, flags | O_EXLOCK, S_IRUSR | S_IWUSR, DB_BTREE, NULL); if (db == NULL && (kc_flags & PEFS_KEYCHAIN_USE || errno != ENOENT)) warn("keychain %s", buf); ==== //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_mount.c#3 (text+ko) ==== @@ -89,13 +89,15 @@ (void)checkpath(argv[0], target); (void)checkpath(argv[1], source); - if (subdir(target, source) || subdir(source, target)) - errx(EX_USAGE, "%s (%s) and %s are not distinct paths", + if ((subdir(target, source) || subdir(source, target)) && + strcmp(target, source) != 0) { + errx(EX_USAGE, "%s (%s) and %s are nested paths", argv[0], target, argv[1]); + } iov[0].iov_base = strdup("fstype"); iov[0].iov_len = sizeof("fstype"); - iov[1].iov_base = strdup("pefs"); + iov[1].iov_base = strdup(PEFS_FSTYPE); iov[1].iov_len = strlen(iov[1].iov_base) + 1; iov[2].iov_base = strdup("fspath"); iov[2].iov_len = sizeof("fspath"); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#11 (text+ko) ==== @@ -96,12 +96,18 @@ char ptk_tweak[PEFS_TWEAK_SIZE]; }; -#define PN_HASKEY 0x0001 +#define PN_HASKEY 0x000001 +#define PN_WANTRECYCLE 0x000100 +#define PN_LOCKBUF_SMALL 0x001000 +#define PN_LOCKBUF_LARGE 0x002000 struct pefs_node { - LIST_ENTRY(pefs_node) pn_hash; /* Hash list */ + LIST_ENTRY(pefs_node) pn_listentry; struct vnode *pn_lowervp; /* VREFed once */ + struct vnode *pn_lowervp_dead; /* VREFed once */ struct vnode *pn_vnode; /* Back pointer */ + void *pn_buf_small; + void *pn_buf_large; int pn_flags; struct pefs_tkey pn_tkey; }; @@ -114,12 +120,11 @@ }; struct pefs_chunk { - int pc_iovcnt; - int pc_basescnt; - struct iovec *pc_iov; size_t pc_size; size_t pc_capacity; - void **pc_bases; + void *pc_base; + int pc_nodebuf; + struct iovec pc_iov; struct uio pc_uio; }; @@ -162,6 +167,16 @@ return (lvp); } +static inline void ** +pefs_node_buf(struct pefs_node *pn, int flag) +{ + MPASS(flag == PN_LOCKBUF_SMALL || flag == PN_LOCKBUF_LARGE); + if (flag == PN_LOCKBUF_SMALL) + return (&pn->pn_buf_small); + else + return (&pn->pn_buf_large); +} + struct vfsconf; struct vop_generic_args; struct pefs_ctx; @@ -171,14 +186,21 @@ void pefs_crypto_init(void); void pefs_crypto_uninit(void); -int pefs_node_get(struct mount *mp, struct vnode *lvp, struct vnode *ldvp, struct vnode **vpp, struct ucred *cred, struct pefs_tkey *ptk); -void pefs_node_free(struct pefs_node *xp); +int pefs_node_get_nokey(struct mount *mp, struct vnode *lvp, + struct vnode **vpp); +int pefs_node_get_haskey(struct mount *mp, struct vnode *lvp, + struct vnode **vpp, struct pefs_tkey *ptk); +int pefs_node_get_lookupkey(struct mount *mp, struct vnode *lvp, + struct vnode **vpp, struct ucred *cred); +void pefs_node_asyncfree(struct pefs_node *xp); struct pefs_key * pefs_node_key(struct pefs_node *pn); +void pefs_node_buf_free(struct pefs_node *pn); struct pefs_ctx * pefs_ctx_get(void); void pefs_ctx_free(struct pefs_ctx *ctx); -struct pefs_key * pefs_key_get(int alg, int keybits, const char *key, const char *keyid); +struct pefs_key * pefs_key_get(int alg, int keybits, const char *key, + const char *keyid); struct pefs_key * pefs_key_ref(struct pefs_key *pk); void pefs_key_release(struct pefs_key *pk); @@ -187,25 +209,39 @@ void pefs_key_remove(struct pefs_mount *pm, struct pefs_key *pk); int pefs_key_remove_all(struct pefs_mount *pm); -void pefs_data_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); -void pefs_data_decrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); +void pefs_data_encrypt_start(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + off_t offset); +void pefs_data_encrypt_update(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + struct pefs_chunk *pc); +void pefs_data_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + off_t offset, struct pefs_chunk *pc); +void pefs_data_decrypt_start(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + off_t offset); +void pefs_data_decrypt_update(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + struct pefs_chunk *pc); +void pefs_data_decrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + off_t offset, struct pefs_chunk *pc); -int pefs_name_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size); -int pefs_name_decrypt(struct pefs_ctx *ctx, struct pefs_key *pk, struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, size_t plain_size); +int pefs_name_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + const char *plain, size_t plain_len, char *enc, size_t enc_size); +int pefs_name_decrypt(struct pefs_ctx *ctx, struct pefs_key *pk, + struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, + size_t plain_size); -int pefs_name_ntop(u_char const *src, size_t srclength, char *target, size_t targsize); -int pefs_name_pton(char const *src, size_t srclen, u_char *target, size_t targsize); +int pefs_name_ntop(u_char const *src, size_t srclength, char *target, + size_t targsize); +int pefs_name_pton(char const *src, size_t srclen, u_char *target, + size_t targsize); -struct pefs_chunk * pefs_chunk_create(size_t size); +void pefs_chunk_create(struct pefs_chunk *pc, struct pefs_node *pn, + size_t size); void pefs_chunk_restore(struct pefs_chunk* pc); -void pefs_chunk_free(struct pefs_chunk* pc); -void* pefs_chunk_pullup(struct pefs_chunk *pc, size_t size); -struct uio * pefs_chunk_uio(struct pefs_chunk *pc, off_t uio_offset, enum uio_rw uio_rw); -struct uio * pefs_chunk_uio_range(struct pefs_chunk *pc, size_t skip, size_t size, off_t uio_offset, enum uio_rw uio_rw); +void pefs_chunk_free(struct pefs_chunk* pc, struct pefs_node *pn); +struct uio * pefs_chunk_uio(struct pefs_chunk *pc, off_t uio_offset, + enum uio_rw uio_rw); void pefs_chunk_zero(struct pefs_chunk *pc); -int pefs_chunk_copy(struct pefs_chunk *pc, size_t skip, struct uio *uio); -void pefs_chunk_crop(struct pefs_chunk *pc, size_t skip_begin, size_t skip_end); -void pefs_chunk_shrink(struct pefs_chunk *pc, size_t size); +int pefs_chunk_copy(struct pefs_chunk *pc, struct uio *uio); +void pefs_chunk_setsize(struct pefs_chunk *pc, size_t size); extern struct vop_vector pefs_vnodeops; @@ -225,7 +261,7 @@ pefs_no_keys(struct vnode *vp) { return (!(VP_TO_PN(vp)->pn_flags & PN_HASKEY) && - pefs_rootkey(VFS_TO_PEFS(vp->v_mount)) == NULL); + pefs_rootkey(VFS_TO_PEFS(vp->v_mount)) == NULL); } #ifdef MALLOC_DECLARE ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#9 (text+ko) ==== @@ -27,6 +27,7 @@ */ #include +#include #include #include #include @@ -371,33 +372,62 @@ } void -pefs_data_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) +pefs_data_encrypt_start(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + off_t offset) +{ + MPASS(ctx != NULL); + MPASS(ptk->ptk_key != NULL); + + pefs_ctx_cpy(ctx, ptk->ptk_key->pk_data_ctx); + ptk->ptk_key->pk_alg->pa_ivsetup(ctx, ptk->ptk_tweak, offset); +} + +void +pefs_data_encrypt_update(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + struct pefs_chunk *pc) +{ + MPASS(ctx != NULL); + MPASS(ptk->ptk_key != NULL); + + ptk->ptk_key->pk_alg->pa_crypt(ctx, pc->pc_base, pc->pc_base, + pc->pc_size); +} + +void +pefs_data_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, + struct pefs_chunk *pc) { - const struct pefs_alg *alg; - struct iovec *iov; int free_ctx = 0; - KASSERT(ptk->ptk_key != NULL, ("pefs_data_encrypt: key is null")); - if (ctx == NULL) { ctx = pefs_ctx_get(); free_ctx = 1; } - alg = ptk->ptk_key->pk_alg; - pefs_ctx_cpy(ctx, ptk->ptk_key->pk_data_ctx); - alg->pa_ivsetup(ctx, ptk->ptk_tweak, offset); - for (iov = pc->pc_iov; iov < pc->pc_iov + pc->pc_iovcnt; iov++) { - alg->pa_crypt(ctx, iov->iov_base, iov->iov_base, - iov->iov_len); - } + pefs_data_encrypt_start(ctx, ptk, offset); + pefs_data_encrypt_update(ctx, ptk, pc); if (free_ctx) pefs_ctx_free(ctx); } void -pefs_data_decrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) +pefs_data_decrypt_start(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + off_t offset) +{ + pefs_data_encrypt_start(ctx, ptk, offset); +} + +void +pefs_data_decrypt_update(struct pefs_ctx *ctx, struct pefs_tkey *ptk, + struct pefs_chunk *pc) +{ + pefs_data_encrypt_update(ctx, ptk, pc); +} + +void +pefs_data_decrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, + struct pefs_chunk *pc) { pefs_data_encrypt(ctx, ptk, offset, pc); } @@ -443,21 +473,27 @@ int pefs_name_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size) { + CTASSERT(MAXNAMLEN >= PEFS_NAME_PTON_SIZE(MAXNAMLEN) + PEFS_CSUM_BLOCK_SIZE); const struct pefs_alg *alg; - char *buf, *buf_name, *buf_tweak; - size_t size, psize; + char buf[MAXNAMLEN + 1]; + char *buf_name, *buf_tweak; + size_t size; int free_ctx = 0; int r; - KASSERT(ptk->ptk_key != NULL, ("pefs_name_encrypt: key is null")); + KASSERT(ptk != NULL && ptk->ptk_key != NULL, + ("pefs_name_encrypt: key is null")); alg = ptk->ptk_key->pk_alg; size = PEFS_TWEAK_SIZE + plain_len + PEFS_NAME_CSUM_SIZE; - if (enc_size < PEFS_NAME_NTOP_SIZE(size)) { + if (PEFS_NAME_NTOP_SIZE(size) + 1 > MAXNAMLEN) { + return (-ENAMETOOLONG); + } + if (enc_size < PEFS_NAME_NTOP_SIZE(size) + 1) { printf("pefs: name encryption buffer is too small: length %ld, required %ld\n", enc_size, PEFS_NAME_NTOP_SIZE(size)); - return (-1); + return (-EOVERFLOW); } if (ctx == NULL) { @@ -465,9 +501,6 @@ free_ctx = 1; } - psize = pefs_name_checksum_psize(size); - buf = malloc(psize, M_PEFSBUF, M_WAITOK); - buf_tweak = buf + PEFS_NAME_CSUM_SIZE; buf_name = buf + PEFS_NAME_CSUM_SIZE + PEFS_TWEAK_SIZE; memcpy(buf_tweak, ptk->ptk_tweak, PEFS_TWEAK_SIZE); @@ -477,14 +510,13 @@ alg->pa_ivsetup(ctx, magic_tweak_name, 0); alg->pa_crypt(ctx, buf_tweak, buf_tweak, size - PEFS_NAME_CSUM_SIZE); - pefs_name_checksum(ctx, ptk->ptk_key, buf, buf, size, psize); + pefs_name_checksum(ctx, ptk->ptk_key, buf, buf, size, sizeof(buf)); if (free_ctx) pefs_ctx_free(ctx); - r = pefs_name_ntop(buf, size, enc, enc_size); - - free(buf, M_PEFSBUF); + enc[0] = '.'; + r = pefs_name_ntop(buf, size, enc + 1, enc_size - 1); return (r); } @@ -499,20 +531,25 @@ int free_ctx = 0; int r, ki_rev; - KASSERT(ptk->ptk_key != NULL, ("pefs_name_decrypt: key is null")); KASSERT(enc != plain, ("pefs_name_decrypt: ciphertext and plaintext buffers should differ")); alg = pk->pk_alg; + if (enc[0] != '.') + return (-EINVAL); + enc++; + enc_len--; + if (PEFS_NAME_PTON_SIZE(enc_len) <= PEFS_TWEAK_SIZE + PEFS_NAME_CSUM_SIZE) + return (-EINVAL); r = pefs_name_pton(enc, enc_len, plain, plain_size); - if (r < 0 || r <= PEFS_TWEAK_SIZE + PEFS_NAME_CSUM_SIZE) { + if (r < 0) { PEFSDEBUG("pefs_name_decrypt: error: r=%d\n", r); - return (-1); + return (-EINVAL); } if (plain_size < pefs_name_checksum_psize(r)) { printf("pefs: name decryption buffer is too small: length %ld, required %ld\n", plain_size, pefs_name_checksum_psize(r)); - return (-1); + return (-EOVERFLOW); } plain_tweak = plain + PEFS_NAME_CSUM_SIZE; ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#11 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include @@ -68,9 +69,20 @@ #define PEFS_NHASH(vp) \ (&pefs_node_hashtbl[(((uintptr_t)vp)>>LOG2_SIZEVNODE) & pefs_node_hash]) -static LIST_HEAD(pefs_node_hashhead, pefs_node) *pefs_node_hashtbl; +typedef int (pefs_node_init_fn)(struct mount *mp, struct pefs_node *pn, + void *context); +LIST_HEAD(pefs_node_listhead, pefs_node); + +static void pefs_node_free_proc(void *, int); + +static struct taskqueue *pefs_taskq; +static struct task pefs_task_freenode; + +static struct mtx pefs_node_listmtx; + +static struct pefs_node_listhead pefs_node_freelist; +static struct pefs_node_listhead *pefs_node_hashtbl; static u_long pefs_node_hash; -static struct mtx pefs_hashmtx; static MALLOC_DEFINE(M_PEFSHASH, "pefs_hash", "PEFS hash table"); MALLOC_DEFINE(M_PEFSBUF, "pefs_buf", "PEFS buffers"); @@ -85,12 +97,19 @@ { PEFSDEBUG("pefs_init\n"); + LIST_INIT(&pefs_node_freelist); + + TASK_INIT(&pefs_task_freenode, 0, pefs_node_free_proc, NULL); + pefs_taskq = taskqueue_create("pefs_taskq", M_WAITOK, + taskqueue_thread_enqueue, &pefs_taskq); + taskqueue_start_threads(&pefs_taskq, 1, PVFS, "pefs taskq"); + pefs_node_zone = uma_zcreate("pefs_node", sizeof(struct pefs_node), NULL, NULL, NULL, (uma_fini) bzero, UMA_ALIGN_PTR, 0); pefs_node_hashtbl = hashinit(NPENODECACHE, M_PEFSHASH, &pefs_node_hash); - mtx_init(&pefs_hashmtx, "pefs_hash", NULL, MTX_DEF); + mtx_init(&pefs_node_listmtx, "pefs_node_list", NULL, MTX_DEF); pefs_crypto_init(); return (0); } @@ -98,8 +117,11 @@ int pefs_uninit(struct vfsconf *vfsp) { + taskqueue_enqueue(pefs_taskq, &pefs_task_freenode); + taskqueue_drain(pefs_taskq, &pefs_task_freenode); + taskqueue_free(pefs_taskq); pefs_crypto_uninit(); - mtx_destroy(&pefs_hashmtx); + mtx_destroy(&pefs_node_listmtx); free(pefs_node_hashtbl, M_PEFSHASH); uma_zdestroy(pefs_node_zone); return (0); @@ -112,7 +134,7 @@ static struct vnode * pefs_hashget(struct mount *mp, struct vnode *lowervp) { - struct pefs_node_hashhead *hd; + struct pefs_node_listhead *hd; struct pefs_node *a; struct vnode *vp; @@ -125,8 +147,8 @@ * reference count (but NOT the lower vnode's VREF counter). */ hd = PEFS_NHASH(lowervp); - mtx_lock(&pefs_hashmtx); - LIST_FOREACH(a, hd, pn_hash) { + mtx_lock(&pefs_node_listmtx); + LIST_FOREACH(a, hd, pn_listentry) { if (a->pn_lowervp == lowervp && PN_TO_VP(a)->v_mount == mp) { /* * Since we have the lower node locked the pefs @@ -136,11 +158,11 @@ */ vp = PN_TO_VP(a); vref(vp); - mtx_unlock(&pefs_hashmtx); + mtx_unlock(&pefs_node_listmtx); return (vp); } } - mtx_unlock(&pefs_hashmtx); + mtx_unlock(&pefs_node_listmtx); return (NULLVP); } @@ -151,13 +173,13 @@ static struct vnode * pefs_hashins(struct mount *mp, struct pefs_node *pn) { - struct pefs_node_hashhead *hd; + struct pefs_node_listhead *hd; struct pefs_node *oxp; struct vnode *ovp; hd = PEFS_NHASH(pn->pn_lowervp); - mtx_lock(&pefs_hashmtx); - LIST_FOREACH(oxp, hd, pn_hash) { + mtx_lock(&pefs_node_listmtx); + LIST_FOREACH(oxp, hd, pn_listentry) { if (oxp->pn_lowervp == pn->pn_lowervp && PN_TO_VP(oxp)->v_mount == mp) { /* @@ -166,12 +188,12 @@ */ ovp = PN_TO_VP(oxp); vref(ovp); - mtx_unlock(&pefs_hashmtx); + mtx_unlock(&pefs_node_listmtx); return (ovp); } } - LIST_INSERT_HEAD(hd, pn, pn_hash); - mtx_unlock(&pefs_hashmtx); + LIST_INSERT_HEAD(hd, pn, pn_listentry); + mtx_unlock(&pefs_node_listmtx); return (NULLVP); } @@ -192,7 +214,8 @@ } static int -pefs_node_lookup_name(struct vnode *lvp, struct vnode *ldvp, struct ucred *cred, char *encname, int *encname_len) +pefs_node_lookup_name(struct vnode *lvp, struct vnode *ldvp, struct ucred *cred, + char *encname, int *encname_len) { struct vnode *nldvp; int error, locked, dlocked; @@ -231,7 +254,8 @@ } static int -pefs_node_lookup_key(struct pefs_mount *pm, struct vnode *lvp, struct vnode *ldvp, struct ucred *cred, struct pefs_tkey *ptk) +pefs_node_lookup_key(struct pefs_mount *pm, struct vnode *lvp, + struct vnode *ldvp, struct ucred *cred, struct pefs_tkey *ptk) { char *namebuf; char *encname; @@ -242,7 +266,7 @@ encname_len = MAXNAMLEN + 1; error = pefs_node_lookup_name(lvp, ldvp, cred, encname, &encname_len); - if (!error) { + if (error) { free(namebuf, M_PEFSBUF); return (error); } @@ -253,11 +277,10 @@ encname, encname_len, namebuf, MAXNAMLEN + 1); - if (name_len < 0) { + if (name_len > 0) { + pefs_key_ref(ptk->ptk_key); + } else { PEFSDEBUG("pefs_node_lookup_key: not found: %.*s\n", encname_len, encname); - error = 0; - } else { - pefs_key_ref(ptk->ptk_key); } free(namebuf, M_PEFSBUF); @@ -265,6 +288,48 @@ return (error); } +static int +pefs_node_init_knownkey(struct mount *mp, struct pefs_node *pn, + void *context) +{ + struct pefs_tkey *ptk = context; + + MPASS((pn->pn_flags & PN_HASKEY) == 0); + + if (ptk != NULL && ptk->ptk_key != NULL) { + pn->pn_tkey = *ptk; + pefs_key_ref(pn->pn_tkey.ptk_key); + pn->pn_flags |= PN_HASKEY; + } + + return (0); +} + +static int +pefs_node_init_lookupkey(struct mount *mp, struct pefs_node *pn, + void *context) +{ + struct ucred *cred = context; + int error; + + KASSERT(mp->mnt_data != NULL, + ("pefs_node_get_lookupkey called for uninitialized mount point?")); + + if (pefs_rootkey(VFS_TO_PEFS(mp)) == NULL) + return (0); + + error = pefs_node_lookup_key(VFS_TO_PEFS(mp), pn->pn_lowervp, NULL, + cred, &pn->pn_tkey); + + if (pn->pn_tkey.ptk_key != NULL) { + MPASS(error == 0); + pn->pn_flags = PN_HASKEY; + } + + return (error); + +} + /* * Make a new or get existing pefs node. * vp is the alias vnode @@ -275,8 +340,9 @@ * vrele lvp if pefs node was taken from hash. Otherwise it "transfers" * the caller's "spare" reference to created pefs vnode. */ -int -pefs_node_get(struct mount *mp, struct vnode *lvp, struct vnode *ldvp, struct vnode **vpp, struct ucred *cred, struct pefs_tkey *ptk) +static int +pefs_node_get(struct mount *mp, struct vnode *lvp, struct vnode **vpp, + pefs_node_init_fn *init_fn, void *context) { struct pefs_node *pn; struct vnode *vp; @@ -303,21 +369,15 @@ * elsewhere if MALLOC should block. */ pn = uma_zalloc(pefs_node_zone, M_WAITOK | M_ZERO); + pn->pn_lowervp = lvp; - if (ptk != NULL && ptk->ptk_key != NULL) { - pn->pn_tkey = *ptk; - pn->pn_flags = PN_HASKEY; - pefs_key_ref(pn->pn_tkey.ptk_key); - } else if (mp->mnt_data != NULL && pefs_rootkey(VFS_TO_PEFS(mp)) != NULL) { - if (cred == NULL) - cred = curthread->td_ucred; - error = pefs_node_lookup_key(VFS_TO_PEFS(mp), lvp, ldvp, cred, &pn->pn_tkey); - if (error) { - uma_zfree(pefs_node_zone, pn); - return (error); - } - if (pn->pn_tkey.ptk_key != NULL) - pn->pn_flags = PN_HASKEY; + /* pn->pn_lowervp should be initialized before calling init_fn. */ + error = init_fn(mp, pn, context); + MPASS(!(((pn->pn_flags & PN_HASKEY) == 0) ^ + (pn->pn_tkey.ptk_key == NULL))); + if (error) { + uma_zfree(pefs_node_zone, pn); + return (error); } error = getnewvnode("pefs", mp, &pefs_vnodeops, &vp); @@ -332,7 +392,6 @@ } pn->pn_vnode = vp; - pn->pn_lowervp = lvp; vp->v_type = lvp->v_type; vp->v_data = pn; vp->v_vnlock = lvp->v_vnlock; @@ -358,18 +417,83 @@ return (0); } +int +pefs_node_get_nokey(struct mount *mp, struct vnode *lvp, struct vnode **vpp) +{ + return (pefs_node_get(mp, lvp, vpp, pefs_node_init_knownkey, NULL)); +} + +int +pefs_node_get_haskey(struct mount *mp, struct vnode *lvp, struct vnode **vpp, + struct pefs_tkey *ptk) +{ + MPASS(ptk != NULL && ptk->ptk_key != NULL); + return (pefs_node_get(mp, lvp, vpp, pefs_node_init_knownkey, ptk)); +} + /* + * Lookup vnode key using VOP_VPTOCNP. + * Directory vnode (ldvp) of lvp should not be locked. + * XXX will fail if ldvp is not active ??? + */ +int +pefs_node_get_lookupkey(struct mount *mp, struct vnode *lvp, struct vnode **vpp, + struct ucred *cred) +{ + MPASS(cred != NULL); + return (pefs_node_get(mp, lvp, vpp, pefs_node_init_lookupkey, cred)); +} + +static void +pefs_node_free_proc(void *context __unused, int pending __unused) +{ + struct pefs_node *pn; + struct vnode *lowervp; + + while (1) { + mtx_lock(&pefs_node_listmtx); + pn = LIST_FIRST(&pefs_node_freelist); + if (pn == NULL) { + mtx_unlock(&pefs_node_listmtx); + break; + } + LIST_REMOVE(pn, pn_listentry); + mtx_unlock(&pefs_node_listmtx); + lowervp = pn->pn_lowervp_dead; + uma_zfree(pefs_node_zone, pn); + if (lowervp != NULL) + vrele(lowervp); + } +} + +/* * Remove node from hash and free it. */ void -pefs_node_free(struct pefs_node *pn) +pefs_node_asyncfree(struct pefs_node *pn) { - PEFSDEBUG("pefs_node_free: free node %p\n", pn); - mtx_lock(&pefs_hashmtx); - LIST_REMOVE(pn, pn_hash); - mtx_unlock(&pefs_hashmtx); + PEFSDEBUG("pefs_node_asyncfree: free node %p\n", pn); pefs_key_release(pn->pn_tkey.ptk_key); - uma_zfree(pefs_node_zone, pn); + mtx_lock(&pefs_node_listmtx); + LIST_REMOVE(pn, pn_listentry); + LIST_INSERT_HEAD(&pefs_node_freelist, pn, pn_listentry); + mtx_unlock(&pefs_node_listmtx); + taskqueue_enqueue(pefs_taskq, &pefs_task_freenode); +} + +void +pefs_node_buf_free(struct pefs_node *pn) +{ + if (pn->pn_buf_small != NULL && + (pn->pn_flags & PN_LOCKBUF_SMALL) == 0) { + free(pn->pn_buf_small, M_PEFSBUF); + pn->pn_buf_small = 0; + } + if (pn->pn_buf_large != NULL && + (pn->pn_flags & PN_LOCKBUF_LARGE) == 0) { + free(pn->pn_buf_large, M_PEFSBUF); + pn->pn_buf_large = 0; + } } struct pefs_key* @@ -388,190 +512,112 @@ return (pefs_key_ref(pk)); } -struct pefs_chunk* -pefs_chunk_create(size_t size) +void +pefs_chunk_create(struct pefs_chunk *pc, struct pefs_node *pn, size_t size) { - struct pefs_chunk *pc; - int iovcnt; + size_t wantbufsize; + int nodebuf; + void **nodebuf_ptr; - iovcnt = (size + PAGE_SIZE - 1) / PAGE_SIZE; - pc = malloc(sizeof(struct pefs_chunk) + (sizeof(void*) + sizeof(struct iovec) * 2) * iovcnt, - M_PEFSBUF, M_WAITOK | M_ZERO); + if (size > DFLTPHYS) + panic("pefs_chunk_create: requested buffer is too large %jd", size); + nodebuf = 0; + wantbufsize = (size <= PAGE_SIZE ? PAGE_SIZE : DFLTPHYS); + if (pn != NULL) { + nodebuf = (size <= PAGE_SIZE ? PN_LOCKBUF_SMALL : + PN_LOCKBUF_LARGE); + VI_LOCK(pn->pn_vnode); + if ((pn->pn_flags & nodebuf) == 0) { + pn->pn_flags |= nodebuf; + nodebuf_ptr = pefs_node_buf(pn, nodebuf); + } else if (nodebuf == PN_LOCKBUF_SMALL && + (pn->pn_flags & PN_LOCKBUF_LARGE) == 0) { + nodebuf = PN_LOCKBUF_LARGE; + wantbufsize = DFLTPHYS; + pn->pn_flags |= nodebuf; + nodebuf_ptr = &pn->pn_buf_large; + } else { + nodebuf = 0; + } + VI_UNLOCK(pn->pn_vnode); + } + if (nodebuf != 0) { + if (*nodebuf_ptr == NULL) { + *nodebuf_ptr = malloc(wantbufsize, M_PEFSBUF, M_WAITOK); + } + pc->pc_nodebuf = nodebuf; + pc->pc_base = *nodebuf_ptr; + } else { + pc->pc_nodebuf = 0; + pc->pc_base = malloc(wantbufsize, M_PEFSBUF, M_WAITOK); + } pc->pc_size = size; - pc->pc_iovcnt = iovcnt; - pc->pc_basescnt = iovcnt; - pc->pc_bases = (void **)(pc + 1); - pc->pc_iov = (struct iovec *)(pc->pc_bases + iovcnt); - pc->pc_uio.uio_iov = (struct iovec *)(pc->pc_iov + iovcnt); - - for (int i = 0; i < iovcnt && size > 0; i++) { - int len = imin(PAGE_SIZE, size); - pc->pc_iov[i].iov_len = len; - pc->pc_bases[i] = malloc(len, M_PEFSBUF, M_WAITOK | M_ZERO); - pc->pc_iov[i].iov_base = pc->pc_bases[i]; - size -= len; - } - - MPASS(size == 0); - - return (pc); + pc->pc_capacity = pc->pc_size; + pc->pc_uio.uio_iovcnt = 1; + pc->pc_uio.uio_iov = &pc->pc_iov; } void pefs_chunk_restore(struct pefs_chunk* pc) { - size_t size = pc->pc_capacity; - pc->pc_iov = (struct iovec *)(pc->pc_bases + pc->pc_basescnt); - pc->pc_iovcnt = pc->pc_basescnt; - - for (int i = 0; i < pc->pc_iovcnt && size > 0; i++) { - int len = imin(PAGE_SIZE, size); - pc->pc_iov[i].iov_len = len; - pc->pc_iov[i].iov_base = pc->pc_bases[i]; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 7 22:18:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DE3610656CD; Mon, 7 Sep 2009 22:18:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C659810656C9 for ; Mon, 7 Sep 2009 22:18:35 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B58948FC1D for ; Mon, 7 Sep 2009 22:18:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87MIZDi032779 for ; Mon, 7 Sep 2009 22:18:35 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87MIZh4032777 for perforce@freebsd.org; Mon, 7 Sep 2009 22:18:35 GMT (envelope-from trasz@freebsd.org) Date: Mon, 7 Sep 2009 22:18:35 GMT Message-Id: <200909072218.n87MIZh4032777@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 168312 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 22:18:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=168312 Change 168312 by trasz@trasz_anger on 2009/09/07 22:17:51 Remove spurious diffs. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#33 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/Makefile#3 (text+ko) ==== @@ -1,7 +1,6 @@ # $FreeBSD: src/bin/setfacl/Makefile,v 1.8 2004/06/13 19:22:53 obrien Exp $ PROG= setfacl -CFLAGS+=-D_ACL_PRIVATE SRCS= file.c mask.c merge.c remove.c setfacl.c util.c .include ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#33 (text+ko) ==== @@ -3972,6 +3972,7 @@ struct thread *a_td; } */ *ap; { + /* * ZFS itself only knowns about VREAD, VWRITE and VEXEC, the rest * we have to handle by calling vaccess(). From owner-p4-projects@FreeBSD.ORG Mon Sep 7 22:47:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 184CD106568F; Mon, 7 Sep 2009 22:47:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF107106568B for ; Mon, 7 Sep 2009 22:47:06 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BCC268FC15 for ; Mon, 7 Sep 2009 22:47:06 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n87Ml6NK034926 for ; Mon, 7 Sep 2009 22:47:06 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n87Ml6qS034924 for perforce@freebsd.org; Mon, 7 Sep 2009 22:47:06 GMT (envelope-from trasz@freebsd.org) Date: Mon, 7 Sep 2009 22:47:06 GMT Message-Id: <200909072247.n87Ml6qS034924@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 168313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2009 22:47:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=168313 Change 168313 by trasz@trasz_anger on 2009/09/07 22:46:27 Remove spurious diffs. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/01.t#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/chmod/12.t#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/00.t#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/01.t#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/02.t#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/03.t#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/04.t#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/05.t#6 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/01.t#5 (text+ko) ==== @@ -1,5 +1,32 @@ #!/bin/sh # +# Copyright (c) 2008, 2009 Edward Tomasz NapieraÅ‚a +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD: src/tools/regression/acltools/01.t,v 1.1 2009/09/07 16:26:03 trasz Exp $ +# + # This is a wrapper script to run tools-nfs4.test on ZFS filesystem. # # WARNING: It uses hardcoded ZFS pool name "acltools" @@ -57,4 +84,3 @@ mdconfig -du $MD echo "ok 4" - ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#11 (text+ko) ==== @@ -1,3 +1,30 @@ +# Copyright (c) 2008, 2009 Edward Tomasz NapieraÅ‚a +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD: src/tools/regression/acltools/tools-nfs4.test,v 1.1 2009/09/07 16:26:03 trasz Exp $ +# + # This is a tools-level test for NFSv4 ACL functionality. Run it as root # using ACL-enabled kernel: # @@ -187,7 +214,7 @@ > -rw-r--r-- $ setfacl -m u:42:x:allow,g:43:w:allow nnn xxx yyy zzz -> setfacl: nnn: acl_get_file() failed: No such file or directory +> setfacl: nnn: stat() failed: No such file or directory $ ls -l nnn xxx yyy zzz | cut -d' ' -f1 > ls: nnn: No such file or directory @@ -225,7 +252,7 @@ > everyone@:r-----a-R-c--s:------:allow $ setfacl -b nnn xxx yyy zzz -> setfacl: nnn: acl_get_file() failed: No such file or directory +> setfacl: nnn: stat() failed: No such file or directory $ ls -l nnn xxx yyy zzz | cut -d' ' -f1 > ls: nnn: No such file or directory ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/chmod/12.t#3 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/chmod/12.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="verify SUID/SGID bit behaviour" ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/00.t#5 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/granular/00.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="NFSv4 granular permissions checking - WRITE_DATA vs APPEND_DATA on directories" ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/01.t#4 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/granular/01.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="NFSv4 granular permissions checking - ACL_READ_ATTRIBUTES and ACL_WRITE_ATTRIBUTES" ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/02.t#7 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/granular/02.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="NFSv4 granular permissions checking - ACL_READ_ACL and ACL_WRITE_ACL" ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/03.t#6 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/granular/03.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="NFSv4 granular permissions checking - DELETE and DELETE_CHILD" ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/04.t#5 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/granular/04.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="NFSv4 granular permissions checking - ACL_WRITE_OWNER" ==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/fstest/tests/granular/05.t#6 (text+ko) ==== @@ -1,4 +1,5 @@ #!/bin/sh +# $FreeBSD: src/tools/regression/fstest/tests/granular/05.t,v 1.1 2009/09/07 19:40:22 trasz Exp $ desc="NFSv4 granular permissions checking - DELETE and DELETE_CHILD with directories" From owner-p4-projects@FreeBSD.ORG Tue Sep 8 00:59:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF7851065679; Tue, 8 Sep 2009 00:59:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B433106566B for ; Tue, 8 Sep 2009 00:59:31 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A3628FC0A for ; Tue, 8 Sep 2009 00:59:31 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n880xVG7056831 for ; Tue, 8 Sep 2009 00:59:31 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n880xVJC056829 for perforce@freebsd.org; Tue, 8 Sep 2009 00:59:31 GMT (envelope-from jona@FreeBSD.org) Date: Tue, 8 Sep 2009 00:59:31 GMT Message-Id: <200909080059.n880xVJC056829@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 168316 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Sep 2009 00:59:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=168316 Change 168316 by jona@jona-trustedbsd-belle-vmware on 2009/09/08 00:59:16 Handle FD caching and retrieving Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#16 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#14 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#16 (text+ko) ==== @@ -140,6 +140,92 @@ +int ua_ping() +{ + if(angel < 0) angel = ua_find(); + if(angel < 0) return -1; + + datum *d = ua_marshall_int(UA_NO_OP); + if(ua_send(angel, d, NULL, 0) < 0) return -1; + if(ua_send(angel, d, NULL, 0) < 0) return -1; /* we have to send an arg */ + free(d); + + d = ua_recv(angel, NULL, NULL); + if(!d) return -1; + + int response; + if(ua_unmarshall_int(d, &response) < 0) return -1; + + return response; +} + + + +int ua_cache_fd(int fd, const char *name, char **token, int long_lasting) +{ + if(angel < 0) angel = ua_find(); + if(angel < 0) return -1; + + struct ua_datum *data[4]; + data[0] = ua_marshall_int(UA_CACHE_FD); + data[1] = ua_marshall_int(1); + data[2] = ua_marshall_int(long_lasting); + data[3] = ua_marshall_string(name, strlen(name)); + + for(int i = 0; i < 3; i++) + { + if(ua_send(angel, data[i], NULL, 0) < 0) return -1; + free(data[i]); + } + + if(ua_send(angel, data[3], &fd, 1) < 0) return -1; + free(data[3]); + + + + // retrieve the crypto token + struct ua_datum *d = ua_recv(angel, NULL, NULL); + if(!d) return -1; + + unsigned int len = d->length + 1; + *token = malloc(len); + if(ua_unmarshall_string(d, *token, &len) < 0) return -1; + + return 0; +} + + +int ua_retrieve_fd(const char *token) +{ + if(angel < 0) angel = ua_find(); + if(angel < 0) return -1; + + struct ua_datum *data[2]; + data[0] = ua_marshall_int(UA_RETRIEVE_FD); + data[1] = ua_marshall_string(token, strlen(token)); + + for(int i = 0; i < 2; i++) + { + if(ua_send(angel, data[i], NULL, 0) < 0) return -1; + free(data[i]); + } + + // retrieve the file descriptor + int32_t fd = -1; + unsigned int fdlen = 1; + struct ua_datum *d = ua_recv(angel, &fd, &fdlen); + if(!d) return -1; + + // make sure there hasn't been an error + unsigned int buflen = d->length + 1; + char buf[buflen]; + if(ua_unmarshall_string(d, buf, &buflen) < 0) return -1; + + return fd; +} + + + int ua_access(const char *path, int mode) { if(angel < 0) angel = ua_find(); @@ -603,7 +689,10 @@ int ua_unmarshall_string(const datum *d, char *value, unsigned int *len) { (*len)--; - ua_unmarshall_bytes(d, value, len); + + int ret = ua_unmarshall_bytes(d, value, len); + if(ret < 0) return ret; + value[*len] = '\0'; return d->length; @@ -620,11 +709,8 @@ else if(d->type != STRING) { if(d->type & ERROR) handle_error(d); - else - { - errno = EINVAL; - return -1; - } + else errno = EINVAL; + return -1; } else if(d->length > *len) { ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#14 (text+ko) ==== @@ -56,6 +56,15 @@ /** Set the user angel */ void ua_set(int fd); +/** Ping the user angel to make sure the connection works */ +int ua_ping(void); + +/** Cache a file descriptor */ +int ua_cache_fd(int fd, const char *name, char **token, int long_lasting); + +/** Retrieve a cached file descriptor */ +int ua_retrieve_fd(const char *token); + /** Check access rights via the User Angel */ int ua_access(const char *access, int mode); @@ -81,6 +90,8 @@ enum ua_request_t { UA_NO_OP = 0, /* do nothing (useful for debugging) */ + UA_CACHE_FD, /* cache a file descriptor */ + UA_RETRIEVE_FD, /* retrieve a cached file descriptor */ UA_CHECK_ACCESS, /* access() substitute */ UA_STAT, /* stat() substitute */ UA_OPEN_PATH, /* open() substitute */ From owner-p4-projects@FreeBSD.ORG Tue Sep 8 09:58:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B6F01065679; Tue, 8 Sep 2009 09:58:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F8CB1065672 for ; Tue, 8 Sep 2009 09:58:20 +0000 (UTC) (envelope-from stas@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F208D8FC08 for ; Tue, 8 Sep 2009 09:58:19 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n889wJmW025844 for ; Tue, 8 Sep 2009 09:58:19 GMT (envelope-from stas@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n889wJG3025842 for perforce@freebsd.org; Tue, 8 Sep 2009 09:58:19 GMT (envelope-from stas@freebsd.org) Date: Tue, 8 Sep 2009 09:58:19 GMT Message-Id: <200909080958.n889wJG3025842@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to stas@freebsd.org using -f From: Stanislav Sedov To: Perforce Change Reviews Cc: Subject: PERFORCE change 168322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Sep 2009 09:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=168322 Change 168322 by stas@stas_yandex on 2009/09/08 09:57:30 - Install FreeBSD header files. Affected files ... .. //depot/projects/valgrind/include/Makefile.am#5 edit Differences ... ==== //depot/projects/valgrind/include/Makefile.am#5 (text+ko) ==== @@ -38,6 +38,7 @@ pub_tool_xarray.h \ valgrind.h \ vki/vki-linux.h \ + vki/vki-freebsd.h \ vki/vki-darwin.h \ vki/vki-posixtypes-amd64-linux.h\ vki/vki-posixtypes-ppc32-linux.h\ @@ -47,10 +48,13 @@ vki/vki-ppc32-linux.h \ vki/vki-ppc64-linux.h \ vki/vki-x86-linux.h \ + vki/vki-amd64-freebsd.h \ + vki/vki-x86-freebsd.h \ vki/vki-scnums-amd64-linux.h \ vki/vki-scnums-ppc32-linux.h \ vki/vki-scnums-ppc64-linux.h \ vki/vki-scnums-x86-linux.h \ + vki/vki-scnums-freebsd.h \ vki/vki-scnums-darwin.h noinst_HEADERS = \ From owner-p4-projects@FreeBSD.ORG Tue Sep 8 15:40:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4541C1065676; Tue, 8 Sep 2009 15:40:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A1951065692 for ; Tue, 8 Sep 2009 15:40:34 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EC44A8FC20 for ; Tue, 8 Sep 2009 15:40:33 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n88FeX7t068334 for ; Tue, 8 Sep 2009 15:40:33 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n88FeXee068332 for perforce@freebsd.org; Tue, 8 Sep 2009 15:40:33 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 8 Sep 2009 15:40:33 GMT Message-Id: <200909081540.n88FeXee068332@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168331 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Sep 2009 15:40:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=168331 Change 168331 by hselasky@hselasky_laptop001 on 2009/09/08 15:39:44 USB CORE: - Correct buffer sizes used so that they match. The old code could give the impression that a possible overflow situation existed. That is not the case. - Reported by: Kostik Belousov Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#54 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#54 (text+ko) ==== @@ -2359,6 +2359,7 @@ { char *data = NULL; struct malloc_type *mt; + const size_t buf_size = 512; mtx_lock(&malloc_mtx); mt = malloc_desc2type("bus"); /* XXX M_BUS */ @@ -2366,12 +2367,12 @@ if (mt == NULL) return; - data = malloc(512, mt, M_NOWAIT); + data = malloc(buf_size, mt, M_NOWAIT); if (data == NULL) return; /* String it all together. */ - snprintf(data, 1024, + snprintf(data, buf_size, "%s" "%s " "vendor=0x%04x " From owner-p4-projects@FreeBSD.ORG Wed Sep 9 11:30:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 913F01065676; Wed, 9 Sep 2009 11:30:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DA7C106566C for ; Wed, 9 Sep 2009 11:30:42 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 229028FC1B for ; Wed, 9 Sep 2009 11:30:42 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89BUg0T029912 for ; Wed, 9 Sep 2009 11:30:42 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89BUffF029910 for perforce@freebsd.org; Wed, 9 Sep 2009 11:30:41 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 9 Sep 2009 11:30:41 GMT Message-Id: <200909091130.n89BUffF029910@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 168368 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 11:30:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=168368 Change 168368 by pgj@beehive on 2009/09/09 11:30:10 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile#13 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#21 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#11 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#12 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#67 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile,v 1.8 2008/10/29 20:43:35 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile,v 1.9 2009/09/06 13:34:09 pgj Exp $ # # The FreeBSD Hungarian Documentation Project ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#21 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -19,6 +19,31 @@ 2009 + 9 + + + 7 + + + Megjelent a &os; 8.0-BETA4! + +

A &os; 8.0 kiadásának negyedik, egyben + utolsó BETA változata megjelent. A + hozzátartozó ISO lemezképek az + összes Tier 1 architektúrára, + valamint a pendrive formátumú + telepítõkészletek amd64 és i386 + architektúrákhoz mostantól elérhetõek + a &os; + tükrözések + többségérõl.

+
+
+
+ + 8 @@ -35,7 +60,7 @@ tükrözések többségérõl mostanra már elérhetõ ISO lemezkép - formájában az összes Tier-1 + formájában az összes Tier 1 architektúrára, valamint pendrive formátumban amd64 és i386 architektúrákra.

From owner-p4-projects@FreeBSD.ORG Wed Sep 9 18:42:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76B351065679; Wed, 9 Sep 2009 18:42:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F6CA106566C for ; Wed, 9 Sep 2009 18:42:34 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1E6CC8FC08 for ; Wed, 9 Sep 2009 18:42:34 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89IgYxX089838 for ; Wed, 9 Sep 2009 18:42:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89IgXtg089836 for perforce@freebsd.org; Wed, 9 Sep 2009 18:42:33 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 9 Sep 2009 18:42:33 GMT Message-Id: <200909091842.n89IgXtg089836@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168375 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 18:42:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=168375 Change 168375 by hselasky@hselasky_laptop001 on 2009/09/09 18:42:20 USB CORE: - improve USB do_request code. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#27 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#27 (text+ko) ==== @@ -385,6 +385,7 @@ usb_ticks_t max_ticks; uint16_t length; uint16_t temp; + uint16_t acttemp; if (timeout < 50) { /* timeout is too small */ @@ -606,18 +607,19 @@ if (err) { break; } - /* subtract length of SETUP packet, if any */ + + /* get actual length of DATA stage */ - if (xfer->aframes > 0) { - xfer->actlen -= usbd_xfer_frame_len(xfer, 0); + if (xfer->aframes < 2) { + acttemp = 0; } else { - xfer->actlen = 0; + acttemp = usbd_xfer_frame_len(xfer, 1); } /* check for short packet */ - if (temp > xfer->actlen) { - temp = xfer->actlen; + if (temp > acttemp) { + temp = acttemp; length = temp; } if (temp > 0) { From owner-p4-projects@FreeBSD.ORG Wed Sep 9 18:46:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF81510656A7; Wed, 9 Sep 2009 18:46:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3C221065692 for ; Wed, 9 Sep 2009 18:46:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A2CB58FC18 for ; Wed, 9 Sep 2009 18:46:38 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89IkcAS090130 for ; Wed, 9 Sep 2009 18:46:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89Ikc91090128 for perforce@freebsd.org; Wed, 9 Sep 2009 18:46:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 9 Sep 2009 18:46:38 GMT Message-Id: <200909091846.n89Ikc91090128@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168376 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 18:46:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=168376 Change 168376 by hselasky@hselasky_laptop001 on 2009/09/09 18:45:53 USB CORE: - Make sure the "control_act" flag is cleared in special usbd_transfer_stop/drain case. This fix only affect control endpoints, but not during normal operation. Only during error injection mode this fix makes a difference. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#165 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#165 (text+ko) ==== @@ -1332,7 +1332,9 @@ /* check if there is a length mismatch */ if (len > xfer->flags_int.control_rem) { - DPRINTFN(0, "Length greater than remaining length!\n"); + DPRINTFN(0, "Length(%d) greater than " + "remaining length(%d)!\n", len, + xfer->flags_int.control_rem); goto error; } /* check if we are doing a short transfer */ @@ -2190,6 +2192,8 @@ */ if (!xfer->flags_int.transferring) { DPRINTF("not transferring\n"); + /* end of control transfer, if any */ + xfer->flags_int.control_act = 0; return; } /* only set transfer error if not already set */ From owner-p4-projects@FreeBSD.ORG Wed Sep 9 20:10:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 655DE1065672; Wed, 9 Sep 2009 20:10:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2908910656B6 for ; Wed, 9 Sep 2009 20:10:11 +0000 (UTC) (envelope-from peter@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 163A08FC14 for ; Wed, 9 Sep 2009 20:10:11 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89KAAGm098406 for ; Wed, 9 Sep 2009 20:10:10 GMT (envelope-from peter@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89KAAtO098404 for perforce@freebsd.org; Wed, 9 Sep 2009 20:10:10 GMT (envelope-from peter@wemm.org) Date: Wed, 9 Sep 2009 20:10:10 GMT Message-Id: <200909092010.n89KAAtO098404@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 168380 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 20:10:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=168380 Change 168380 by peter@peter_daintree on 2009/09/09 20:10:07 IFC @168379 Affected files ... .. //depot/projects/hammer/ObsoleteFiles.inc#71 integrate .. //depot/projects/hammer/UPDATING#136 integrate .. //depot/projects/hammer/bin/chmod/chmod.c#9 integrate .. //depot/projects/hammer/bin/cp/utils.c#17 integrate .. //depot/projects/hammer/bin/getfacl/getfacl.1#8 integrate .. //depot/projects/hammer/bin/getfacl/getfacl.c#7 integrate .. //depot/projects/hammer/bin/ls/print.c#19 integrate .. //depot/projects/hammer/bin/mv/mv.c#13 integrate .. //depot/projects/hammer/bin/setfacl/mask.c#3 integrate .. //depot/projects/hammer/bin/setfacl/merge.c#3 integrate .. //depot/projects/hammer/bin/setfacl/remove.c#3 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.1#12 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.c#10 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.h#4 integrate .. //depot/projects/hammer/cddl/compat/opensolaris/include/assert.h#1 branch .. //depot/projects/hammer/cddl/contrib/opensolaris/cmd/zdb/zdb.c#3 integrate .. //depot/projects/hammer/cddl/contrib/opensolaris/head/assert.h#3 delete .. //depot/projects/hammer/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c#3 integrate .. //depot/projects/hammer/contrib/ee/ee.c#2 integrate .. //depot/projects/hammer/contrib/gdtoa/gdtoaimp.h#11 integrate .. //depot/projects/hammer/contrib/gdtoa/misc.c#3 integrate .. //depot/projects/hammer/etc/Makefile#69 integrate .. //depot/projects/hammer/etc/inetd.conf#12 integrate .. //depot/projects/hammer/etc/mtree/BSD.local.dist#30 delete .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#45 integrate .. //depot/projects/hammer/etc/mtree/BSD.x11-4.dist#15 delete .. //depot/projects/hammer/etc/mtree/BSD.x11.dist#5 delete .. //depot/projects/hammer/etc/mtree/Makefile#6 integrate .. //depot/projects/hammer/lib/Makefile#78 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.c#29 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_iso9660.c#23 integrate .. //depot/projects/hammer/lib/libarchive/test/test_compat_zip.c#6 integrate .. //depot/projects/hammer/lib/libarchive/test/test_read_format_isojoliet_bz2.c#3 integrate .. //depot/projects/hammer/lib/libarchive/test/test_read_format_isorr_bz2.c#8 integrate .. //depot/projects/hammer/lib/libc/locale/ctype.3#7 integrate .. //depot/projects/hammer/lib/libc/locale/digittoint.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/isalnum.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isalpha.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isascii.3#4 integrate .. //depot/projects/hammer/lib/libc/locale/isblank.3#10 integrate .. //depot/projects/hammer/lib/libc/locale/iscntrl.3#9 integrate .. //depot/projects/hammer/lib/libc/locale/isdigit.3#10 integrate .. //depot/projects/hammer/lib/libc/locale/isgraph.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isideogram.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/islower.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isphonogram.3#2 integrate .. //depot/projects/hammer/lib/libc/locale/isprint.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/ispunct.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isrune.3#2 integrate .. //depot/projects/hammer/lib/libc/locale/isspace.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isspecial.3#2 integrate .. //depot/projects/hammer/lib/libc/locale/isupper.3#8 integrate .. //depot/projects/hammer/lib/libc/locale/isxdigit.3#10 integrate .. //depot/projects/hammer/lib/libc/locale/toascii.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/tolower.3#7 integrate .. //depot/projects/hammer/lib/libc/locale/toupper.3#7 integrate .. //depot/projects/hammer/lib/libc/net/getifaddrs.c#2 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_calc_mask.c#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text.c#4 integrate .. //depot/projects/hammer/lib/libc/stdlib/malloc.c#51 integrate .. //depot/projects/hammer/lib/libc/stdtime/strptime.c#9 integrate .. //depot/projects/hammer/lib/libc/sys/intro.2#14 integrate .. //depot/projects/hammer/lib/libkvm/kvm_proc.c#42 integrate .. //depot/projects/hammer/libexec/Makefile#37 integrate .. //depot/projects/hammer/release/scripts/package-split.py#11 integrate .. //depot/projects/hammer/sbin/camcontrol/camcontrol.8#11 integrate .. //depot/projects/hammer/sbin/camcontrol/camcontrol.c#13 integrate .. //depot/projects/hammer/sbin/geom/class/mirror/geom_mirror.c#13 integrate .. //depot/projects/hammer/sbin/geom/class/mirror/gmirror.8#15 integrate .. //depot/projects/hammer/sbin/geom/core/geom.c#25 integrate .. //depot/projects/hammer/sbin/ifconfig/ifgif.c#2 integrate .. //depot/projects/hammer/sbin/route/route.8#13 integrate .. //depot/projects/hammer/share/colldef/Makefile#22 integrate .. //depot/projects/hammer/share/colldef/la_LN.ISO8859-13.src#1 branch .. //depot/projects/hammer/share/colldef/lt_LT.ISO8859-13.src#2 delete .. //depot/projects/hammer/share/examples/scsi_target/scsi_target.c#7 integrate .. //depot/projects/hammer/share/examples/scsi_target/scsi_target.h#5 integrate .. //depot/projects/hammer/share/man/man4/Makefile#122 integrate .. //depot/projects/hammer/share/man/man4/dpms.4#1 branch .. //depot/projects/hammer/share/man/man4/ips.4#8 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#41 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/dpms.4#2 delete .. //depot/projects/hammer/share/man/man4/pts.4#4 integrate .. //depot/projects/hammer/share/man/man4/pty.4#10 integrate .. //depot/projects/hammer/share/man/man5/make.conf.5#49 integrate .. //depot/projects/hammer/share/mklocale/Makefile#19 integrate .. //depot/projects/hammer/share/mklocale/la_LN.ISO8859-13.src#1 branch .. //depot/projects/hammer/share/mklocale/lt_LT.ISO8859-13.src#2 delete .. //depot/projects/hammer/share/monetdef/Makefile#19 integrate .. //depot/projects/hammer/share/monetdef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/hammer/share/msgdef/Makefile#22 integrate .. //depot/projects/hammer/share/msgdef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/hammer/share/msgdef/lv_LV.UTF-8.src#1 branch .. //depot/projects/hammer/share/numericdef/Makefile#18 integrate .. //depot/projects/hammer/share/timedef/Makefile#22 integrate .. //depot/projects/hammer/share/timedef/lv_LV.ISO8859-13.src#1 branch .. //depot/projects/hammer/share/timedef/lv_LV.UTF-8.src#1 branch .. //depot/projects/hammer/share/zoneinfo/asia#23 integrate .. //depot/projects/hammer/share/zoneinfo/australasia#14 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#89 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#192 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#122 integrate .. //depot/projects/hammer/sys/amd64/include/_align.h#1 branch .. //depot/projects/hammer/sys/amd64/include/param.h#40 integrate .. //depot/projects/hammer/sys/arm/arm/vm_machdep.c#35 integrate .. //depot/projects/hammer/sys/arm/include/_align.h#1 branch .. //depot/projects/hammer/sys/arm/include/param.h#12 integrate .. //depot/projects/hammer/sys/cam/cam_xpt.c#45 integrate .. //depot/projects/hammer/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_cd.c#30 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#53 integrate .. //depot/projects/hammer/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#5 integrate .. //depot/projects/hammer/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/hammer/sys/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#8 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#8 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#12 integrate .. //depot/projects/hammer/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/hammer/sys/conf/NOTES#164 integrate .. //depot/projects/hammer/sys/conf/files#202 integrate .. //depot/projects/hammer/sys/conf/files.amd64#115 integrate .. //depot/projects/hammer/sys/conf/files.i386#107 integrate .. //depot/projects/hammer/sys/conf/files.ia64#46 integrate .. //depot/projects/hammer/sys/conf/files.powerpc#41 integrate .. //depot/projects/hammer/sys/conf/files.sparc64#52 integrate .. //depot/projects/hammer/sys/conf/options#146 integrate .. //depot/projects/hammer/sys/conf/options.amd64#51 integrate .. //depot/projects/hammer/sys/contrib/x86emu/x86emu.c#1 branch .. //depot/projects/hammer/sys/contrib/x86emu/x86emu.h#1 branch .. //depot/projects/hammer/sys/contrib/x86emu/x86emu_regs.h#1 branch .. //depot/projects/hammer/sys/contrib/x86emu/x86emu_util.c#1 branch .. //depot/projects/hammer/sys/dev/aac/aac.c#54 integrate .. //depot/projects/hammer/sys/dev/aac/aacvar.h#18 integrate .. //depot/projects/hammer/sys/dev/ae/if_ae.c#5 integrate .. //depot/projects/hammer/sys/dev/ahci/ahci.c#3 integrate .. //depot/projects/hammer/sys/dev/amr/amr.c#45 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.c#52 integrate .. //depot/projects/hammer/sys/dev/ata/ata-dma.c#35 integrate .. //depot/projects/hammer/sys/dev/ata/ata-raid.c#44 integrate .. //depot/projects/hammer/sys/dev/ata/chipsets/ata-acerlabs.c#4 integrate .. //depot/projects/hammer/sys/dev/ata/chipsets/ata-marvell.c#7 integrate .. //depot/projects/hammer/sys/dev/ath/ah_osdep.c#9 integrate .. //depot/projects/hammer/sys/dev/ath/ath_hal/ah.c#7 integrate .. //depot/projects/hammer/sys/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#74 integrate .. //depot/projects/hammer/sys/dev/bce/if_bce.c#22 integrate .. //depot/projects/hammer/sys/dev/coretemp/coretemp.c#8 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_main.c#36 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_sge.c#32 integrate .. //depot/projects/hammer/sys/dev/dpms/dpms.c#1 branch .. //depot/projects/hammer/sys/dev/e1000/if_em.c#9 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep.c#29 integrate .. //depot/projects/hammer/sys/dev/ep/if_epreg.h#8 integrate .. //depot/projects/hammer/sys/dev/fb/s3_pci.c#9 integrate .. //depot/projects/hammer/sys/dev/fb/vesa.c#1 branch .. //depot/projects/hammer/sys/dev/fb/vesa.h#1 branch .. //depot/projects/hammer/sys/dev/fb/vga.c#25 integrate .. //depot/projects/hammer/sys/dev/firewire/fwcrom.c#12 integrate .. //depot/projects/hammer/sys/dev/firewire/fwdev.c#25 integrate .. //depot/projects/hammer/sys/dev/fxp/if_fxp.c#75 integrate .. //depot/projects/hammer/sys/dev/hptiop/hptiop.c#5 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_core.c#5 integrate .. //depot/projects/hammer/sys/dev/hwpmc/pmc_events.h#7 integrate .. //depot/projects/hammer/sys/dev/iir/iir.c#19 integrate .. //depot/projects/hammer/sys/dev/ixgbe/ixgbe.c#10 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_raid.c#15 integrate .. //depot/projects/hammer/sys/dev/msk/if_msk.c#19 integrate .. //depot/projects/hammer/sys/dev/mwl/if_mwl.c#4 integrate .. //depot/projects/hammer/sys/dev/null/null.c#16 integrate .. //depot/projects/hammer/sys/dev/pty/pty.c#2 integrate .. //depot/projects/hammer/sys/dev/rp/rp_pci.c#12 integrate .. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac.c#34 integrate .. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac_private.h#9 integrate .. //depot/projects/hammer/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/hammer/sys/dev/syscons/scterm-teken.c#6 integrate .. //depot/projects/hammer/sys/dev/syscons/scvesactl.c#10 integrate .. //depot/projects/hammer/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/hammer/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/hammer/sys/dev/syscons/teken/sequences#4 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken.c#7 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken.h#5 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken_demo.c#4 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken_subr.h#4 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken_subr_compat.h#4 delete .. //depot/projects/hammer/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/hammer/sys/dev/txp/if_txp.c#33 integrate .. //depot/projects/hammer/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/wlan/if_rum.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/wlan/if_rumreg.h#2 integrate .. //depot/projects/hammer/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/hammer/sys/dev/usb/wlan/if_zyd.c#6 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#62 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_conv.c#18 integrate .. //depot/projects/hammer/sys/fs/pseudofs/pseudofs_vncache.c#24 integrate .. //depot/projects/hammer/sys/geom/geom_dev.c#43 integrate .. //depot/projects/hammer/sys/geom/geom_disk.c#44 integrate .. //depot/projects/hammer/sys/geom/geom_io.c#45 integrate .. //depot/projects/hammer/sys/geom/geom_vfs.c#14 integrate .. //depot/projects/hammer/sys/geom/mirror/g_mirror_ctl.c#12 integrate .. //depot/projects/hammer/sys/geom/stripe/g_stripe.c#19 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#115 integrate .. //depot/projects/hammer/sys/i386/i386/local_apic.c#46 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#96 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#123 integrate .. //depot/projects/hammer/sys/i386/include/_align.h#1 branch .. //depot/projects/hammer/sys/i386/include/param.h#19 integrate .. //depot/projects/hammer/sys/i386/include/pc/vesa.h#5 delete .. //depot/projects/hammer/sys/i386/include/pcpu.h#21 integrate .. //depot/projects/hammer/sys/i386/isa/dpms.c#2 delete .. //depot/projects/hammer/sys/i386/isa/vesa.c#18 delete .. //depot/projects/hammer/sys/i386/xen/locore.s#3 integrate .. //depot/projects/hammer/sys/i386/xen/pmap.c#9 integrate .. //depot/projects/hammer/sys/ia64/include/_align.h#1 branch .. //depot/projects/hammer/sys/ia64/include/param.h#17 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#91 integrate .. //depot/projects/hammer/sys/kern/kern_fork.c#82 integrate .. //depot/projects/hammer/sys/kern/kern_jail.c#46 integrate .. //depot/projects/hammer/sys/kern/kern_kthread.c#20 integrate .. //depot/projects/hammer/sys/kern/kern_linker.c#46 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#50 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#59 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#87 integrate .. //depot/projects/hammer/sys/kern/kern_sx.c#28 integrate .. //depot/projects/hammer/sys/kern/kern_thr.c#49 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#116 integrate .. //depot/projects/hammer/sys/kern/subr_bus.c#71 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#83 integrate .. //depot/projects/hammer/sys/kern/tty_pts.c#21 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#144 integrate .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#94 integrate .. //depot/projects/hammer/sys/kern/vfs_vnops.c#68 integrate .. //depot/projects/hammer/sys/mips/include/_align.h#1 branch .. //depot/projects/hammer/sys/mips/include/param.h#5 integrate .. //depot/projects/hammer/sys/modules/Makefile#145 integrate .. //depot/projects/hammer/sys/modules/dpms/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/vesa/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/x86emu/Makefile#1 branch .. //depot/projects/hammer/sys/net/if_arp.h#9 integrate .. //depot/projects/hammer/sys/net/if_llatbl.c#6 integrate .. //depot/projects/hammer/sys/net/if_vlan.c#53 integrate .. //depot/projects/hammer/sys/net/route.h#30 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_action.c#3 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_dfs.c#5 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.h#29 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_sta.c#10 integrate .. //depot/projects/hammer/sys/netinet/if_ether.c#60 integrate .. //depot/projects/hammer/sys/netinet/if_ether.h#11 integrate .. //depot/projects/hammer/sys/netinet/in.c#44 integrate .. //depot/projects/hammer/sys/netinet/in.h#34 integrate .. //depot/projects/hammer/sys/netinet/in_mcast.c#15 integrate .. //depot/projects/hammer/sys/netinet/ip_fastfwd.c#40 integrate .. //depot/projects/hammer/sys/netinet6/icmp6.c#48 integrate .. //depot/projects/hammer/sys/netinet6/in6.c#45 integrate .. //depot/projects/hammer/sys/netinet6/in6_src.c#39 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#61 integrate .. //depot/projects/hammer/sys/netipsec/ipsec.h#23 integrate .. //depot/projects/hammer/sys/netipsec/key.c#33 integrate .. //depot/projects/hammer/sys/nfsserver/nfs_serv.c#51 integrate .. //depot/projects/hammer/sys/opencrypto/cryptodev.c#29 integrate .. //depot/projects/hammer/sys/pc98/include/_align.h#1 branch .. //depot/projects/hammer/sys/pc98/include/pc/vesa.h#2 delete .. //depot/projects/hammer/sys/powerpc/conf/GENERIC#51 integrate .. //depot/projects/hammer/sys/powerpc/include/_align.h#1 branch .. //depot/projects/hammer/sys/powerpc/include/param.h#15 integrate .. //depot/projects/hammer/sys/security/audit/audit_bsm_token.c#15 integrate .. //depot/projects/hammer/sys/sparc64/include/_align.h#1 branch .. //depot/projects/hammer/sys/sparc64/include/param.h#15 integrate .. //depot/projects/hammer/sys/sun4v/include/_align.h#1 branch .. //depot/projects/hammer/sys/sun4v/include/param.h#5 integrate .. //depot/projects/hammer/sys/sys/_sockaddr_storage.h#1 branch .. //depot/projects/hammer/sys/sys/bus.h#32 integrate .. //depot/projects/hammer/sys/sys/imgact_aout.h#7 integrate .. //depot/projects/hammer/sys/sys/ioctl_compat.h#10 integrate .. //depot/projects/hammer/sys/sys/param.h#133 integrate .. //depot/projects/hammer/sys/sys/proc.h#133 integrate .. //depot/projects/hammer/sys/sys/socket.h#31 integrate .. //depot/projects/hammer/sys/sys/tty.h#31 integrate .. //depot/projects/hammer/sys/sys/ttycom.h#13 integrate .. //depot/projects/hammer/sys/teken/Makefile#1 branch .. //depot/projects/hammer/sys/teken/gensequences#1 branch .. //depot/projects/hammer/sys/teken/sequences#1 branch .. //depot/projects/hammer/sys/teken/teken.c#1 branch .. //depot/projects/hammer/sys/teken/teken.h#1 branch .. //depot/projects/hammer/sys/teken/teken_demo.c#1 branch .. //depot/projects/hammer/sys/teken/teken_scs.h#1 branch .. //depot/projects/hammer/sys/teken/teken_stress.c#1 branch .. //depot/projects/hammer/sys/teken/teken_subr.h#1 branch .. //depot/projects/hammer/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/hammer/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/hammer/sys/ufs/ffs/ffs_softdep.c#63 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vfsops.c#86 integrate .. //depot/projects/hammer/sys/ufs/ufs/ufs_acl.c#9 integrate .. //depot/projects/hammer/sys/vm/vm_extern.h#24 integrate .. //depot/projects/hammer/sys/vm/vm_glue.c#56 integrate .. //depot/projects/hammer/tools/regression/acltools/00.t#2 integrate .. //depot/projects/hammer/tools/regression/acltools/01.t#1 branch .. //depot/projects/hammer/tools/regression/acltools/tools-nfs4.test#1 branch .. //depot/projects/hammer/tools/regression/acltools/tools-posix.test#5 integrate .. //depot/projects/hammer/tools/regression/fstest/Makefile#3 integrate .. //depot/projects/hammer/tools/regression/fstest/fstest.c#6 integrate .. //depot/projects/hammer/tools/regression/fstest/tests/chmod/12.t#1 branch .. //depot/projects/hammer/tools/regression/fstest/tests/granular/00.t#1 branch .. //depot/projects/hammer/tools/regression/fstest/tests/granular/01.t#1 branch .. //depot/projects/hammer/tools/regression/fstest/tests/granular/02.t#1 branch .. //depot/projects/hammer/tools/regression/fstest/tests/granular/03.t#1 branch .. //depot/projects/hammer/tools/regression/fstest/tests/granular/04.t#1 branch .. //depot/projects/hammer/tools/regression/fstest/tests/granular/05.t#1 branch .. //depot/projects/hammer/usr.bin/ee/Makefile#3 integrate .. //depot/projects/hammer/usr.bin/find/function.c#14 integrate .. //depot/projects/hammer/usr.bin/netstat/inet.c#32 integrate .. //depot/projects/hammer/usr.bin/netstat/main.c#32 integrate .. //depot/projects/hammer/usr.bin/netstat/netstat.h#26 integrate .. //depot/projects/hammer/usr.bin/tar/Makefile#32 integrate .. //depot/projects/hammer/usr.bin/unzip/unzip.1#3 integrate .. //depot/projects/hammer/usr.bin/unzip/unzip.c#3 integrate .. //depot/projects/hammer/usr.bin/w/pr_time.c#4 integrate .. //depot/projects/hammer/usr.sbin/diskinfo/diskinfo.c#8 integrate .. //depot/projects/hammer/usr.sbin/ndp/ndp.c#14 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/lib/lib.h#24 integrate Differences ... ==== //depot/projects/hammer/ObsoleteFiles.inc#71 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.206 2009/08/23 18:28:58 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.208 2009/09/03 16:34:20 remko Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,15 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090904: remove lukemftpd +OLD_FILES+=usr/libexec/lukemftpd +OLD_FILES+=usr/share/man/man5/ftpd.conf.5.gz +OLD_FILES+=usr/share/man/man5/ftpusers.5.gz +OLD_FILES+=usr/share/man/man8/lukemftpd.8.gz +# 20090902: BSD.{x11,x11-4}.dist are dead and BSD.local.dist lives in ports/ +OLD_FILES+=etc/mtree/BSD.local.dist +OLD_FILES+=etc/mtree/BSD.x11.dist +OLD_FILES+=etc/mtree/BSD.x11-4.dist # 20090801: vimage.h removed in favour of vnet.h OLD_FILES+=usr/include/sys/vimage.h # 20090719: library version bump for 8.0 ==== //depot/projects/hammer/UPDATING#136 (text+ko) ==== @@ -1,51 +1,60 @@ Updating Information for FreeBSD current users -This file is maintained and copyrighted by M. Warner Losh -. See end of file for further details. For commonly -done items, please see the COMMON ITEMS: section later in the file. +This file is maintained and copyrighted by M. Warner Losh . +See end of file for further details. For commonly done items, please see the +COMMON ITEMS: section later in the file. These instructions assume that you +basically know what you are doing. If not, then please consult the FreeBSD +handbook. Items affecting the ports and packages system can be found in -/usr/ports/UPDATING. Please read that file before running -portupgrade. +/usr/ports/UPDATING. Please read that file before running portupgrade. NOTE TO PEOPLE WHO THINK THAT FreeBSD 9.x IS SLOW: - FreeBSD 9.x has many debugging features turned on, in - both the kernel and userland. These features attempt to detect - incorrect use of system primitives, and encourage loud failure - through extra sanity checking and fail stop semantics. They - also substantially impact system performance. If you want to - do performance measurement, benchmarking, and optimization, - you'll want to turn them off. This includes various WITNESS- - related kernel options, INVARIANTS, malloc debugging flags - in userland, and various verbose features in the kernel. Many - developers choose to disable these features on build machines - to maximize performance. (To disable malloc debugging, run + FreeBSD 9.x has many debugging features turned on, in both the kernel + and userland. These features attempt to detect incorrect use of + system primitives, and encourage loud failure through extra sanity + checking and fail stop semantics. They also substantially impact + system performance. If you want to do performance measurement, + benchmarking, and optimization, you'll want to turn them off. This + includes various WITNESS- related kernel options, INVARIANTS, malloc + debugging flags in userland, and various verbose features in the + kernel. Many developers choose to disable these features on build + machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090825: + The old tunable hw.bus.devctl_disable has been superseded by + hw.bus.devctl_queue. hw.bus.devctl_disable=1 in loader.conf should be + replaced by hw.bus.devctl_queue=0. The default for this new tunable + is 1000. + 20090813: - Remove the option STOP_NMI. The default action is now to use NMI - only for KDB via the newly introduced function stop_cpus_hard() - and maintain stop_cpus() to just use a normal IPI_STOP on ia32 - and amd64. + Remove the option STOP_NMI. The default action is now to use NMI only + for KDB via the newly introduced function stop_cpus_hard() and + maintain stop_cpus() to just use a normal IPI_STOP on ia32 and amd64. + +20090803: + The stable/8 branch created in subversion. This corresponds to the + RELENG_8 branch in CVS. 20090719: - Bump the shared library version numbers for all libraries that - do not use symbol versioning as part of the 8.0-RELEASE cycle. - Bump __FreeBSD_version to 800105. + Bump the shared library version numbers for all libraries that do not + use symbol versioning as part of the 8.0-RELEASE cycle. Bump + __FreeBSD_version to 800105. 20090714: - Due to changes in the implementation of virtual network stack - support, all network-related kernel modules must be recompiled. - As this change breaks the ABI, bump __FreeBSD_version to 800104. + Due to changes in the implementation of virtual network stack support, + all network-related kernel modules must be recompiled. As this change + breaks the ABI, bump __FreeBSD_version to 800104. 20090713: - The TOE interface to the TCP syncache has been modified to remove struct - tcpopt () from the ABI of the network stack. The - cxgb driver is the only TOE consumer affected by this change, and needs - to be recompiled along with the kernel. As this change breaks the ABI, - bump __FreeBSD_version to 800103. + The TOE interface to the TCP syncache has been modified to remove + struct tcpopt () from the ABI of the network stack. + The cxgb driver is the only TOE consumer affected by this change, and + needs to be recompiled along with the kernel. As this change breaks + the ABI, bump __FreeBSD_version to 800103. -20090712: +20090712: Padding has been added to struct tcpcb, sackhint and tcpstat in to facilitate future MFCs and bug fixes whilst maintainig the ABI. However, this change breaks the ABI, so bump @@ -53,79 +62,75 @@ any of these structs (e.g. sockstat) need to be recompiled. 20090630: - The NFS_LEGACYRPC option has been removed along with the old - kernel RPC implementation that this option selected. Kernel - configurations may need to be adjusted. + The NFS_LEGACYRPC option has been removed along with the old kernel + RPC implementation that this option selected. Kernel configurations + may need to be adjusted. 20090629: - The network interface device nodes at /dev/net/ have - been removed. All ioctl operations can be performed the normal - way using routing sockets. The kqueue functionality can - generally be replaced with routing sockets. + The network interface device nodes at /dev/net/ have been + removed. All ioctl operations can be performed the normal way using + routing sockets. The kqueue functionality can generally be replaced + with routing sockets. 20090628: - The documentation from the FreeBSD Documentation Project - (Handbook, FAQ, etc.) is now installed via packages by - sysinstall(8) and under the /usr/local/share/doc/freebsd - directory instead of /usr/share/doc. + The documentation from the FreeBSD Documentation Project (Handbook, + FAQ, etc.) is now installed via packages by sysinstall(8) and under + the /usr/local/share/doc/freebsd directory instead of /usr/share/doc. 20090624: - The ABI of various structures related to the SYSV IPC API have - been changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 - kernel options now all require COMPAT_FREEBSD7. - Bump __FreeBSD_version to 800100. + The ABI of various structures related to the SYSV IPC API have been + changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version to + 800100. 20090622: - Layout of struct vnet has changed as routing related variables - were moved to their own Vimage module. Modules need to be - recompiled. Bump __FreeBSD_version to 800099. + Layout of struct vnet has changed as routing related variables were + moved to their own Vimage module. Modules need to be recompiled. Bump + __FreeBSD_version to 800099. 20090619: - NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 - and 1024 respectively. As long as no more than 16 groups per - process are used, no changes should be visible. When more - than 16 groups are used, old binaries may fail if they call - getgroups() or getgrouplist() with statically sized storage. - Recompiling will work around this, but applications should be - modified to use dynamically allocated storage for group arrays - as POSIX.1-2008 does not cap an implementation's number of - supported groups at NGROUPS_MAX+1 as previous versions did. + NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 and 1024 + respectively. As long as no more than 16 groups per process are used, + no changes should be visible. When more than 16 groups are used, old + binaries may fail if they call getgroups() or getgrouplist() with + statically sized storage. Recompiling will work around this, but + applications should be modified to use dynamically allocated storage + for group arrays as POSIX.1-2008 does not cap an implementation's + number of supported groups at NGROUPS_MAX+1 as previous versions did. - NFS and portalfs mounts may also be affected as the list of - groups is truncated to 16. Users of NFS who use more than 16 - groups, should take care that negative group permissions are not - used on the exported file systems as they will not be reliable - unless a GSSAPI based authentication method is used. + NFS and portalfs mounts may also be affected as the list of groups is + truncated to 16. Users of NFS who use more than 16 groups, should + take care that negative group permissions are not used on the exported + file systems as they will not be reliable unless a GSSAPI based + authentication method is used. -20090616: - The compiling option ADAPTIVE_LOCKMGRS has been introduced. - This option compiles in the support for adaptive spinning for lockmgrs - which want to enable it. The lockinit() function now accepts the - flag LK_ADAPTIVE in order to make the lock object subject to - adaptive spinning when both held in write and read mode. +20090616: + The compiling option ADAPTIVE_LOCKMGRS has been introduced. This + option compiles in the support for adaptive spinning for lockmgrs + which want to enable it. The lockinit() function now accepts the flag + LK_ADAPTIVE in order to make the lock object subject to adaptive + spinning when both held in write and read mode. 20090613: - The layout of the structure returned by IEEE80211_IOC_STA_INFO - has changed. User applications that use this ioctl need to be - rebuilt. + The layout of the structure returned by IEEE80211_IOC_STA_INFO has + changed. User applications that use this ioctl need to be rebuilt. 20090611: - The layout of struct thread has changed. Kernel and modules - need to be rebuilt. + The layout of struct thread has changed. Kernel and modules need to + be rebuilt. 20090608: - The layout of structs ifnet, domain, protosw and vnet_net has - changed. Kernel modules need to be rebuilt. - Bump __FreeBSD_version to 800097. + The layout of structs ifnet, domain, protosw and vnet_net has changed. + Kernel modules need to be rebuilt. Bump __FreeBSD_version to 800097. 20090602: window(1) has been removed from the base system. It can now be installed from ports. The port is called misc/window. 20090601: - The way we are storing and accessing `routing table' entries - has changed. Programs reading the FIB, like netstat, need to - be re-compiled. + The way we are storing and accessing `routing table' entries has + changed. Programs reading the FIB, like netstat, need to be + re-compiled. 20090601: A new netisr implementation has been added for FreeBSD 8. Network @@ -134,24 +139,24 @@ Bump __FreeBSD_version to 800096. 20090530: - Remove the tunable/sysctl debug.mpsafevfs as its initial purpose - is no more valid. + Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no + more valid. 20090530: Add VOP_ACCESSX(9). File system modules need to be rebuilt. Bump __FreeBSD_version to 800094. 20090529: - Add mnt_xflag field to 'struct mount'. File system modules - need to be rebuilt. + Add mnt_xflag field to 'struct mount'. File system modules need to be + rebuilt. Bump __FreeBSD_version to 800093. 20090528: The compiling option ADAPTIVE_SX has been retired while it has been introduced the option NO_ADAPTIVE_SX which handles the reversed logic. The KPI for sx_init_flags() changes as accepting flags: - SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag - has been introduced in order to handle the reversed logic. + SX_ADAPTIVESPIN flag has been retired while the SX_NOADAPTIVE flag has + been introduced in order to handle the reversed logic. Bump __FreeBSD_version to 800092. 20090527: @@ -164,20 +169,18 @@ Bump __FreeBSD_version to 800090. 20090523: - The newly imported zic(8) produces a new format in the - output. Please run tzsetup(8) to install the newly created - data to /etc/localtime. + The newly imported zic(8) produces a new format in the output. Please + run tzsetup(8) to install the newly created data to /etc/localtime. 20090520: The sysctl tree for the usb stack has renamed from hw.usb2.* to hw.usb.* and is now consistent again with previous releases. 20090520: - 802.11 monitor mode support was revised and driver api's - were changed. Drivers dependent on net80211 now support - DLT_IEEE802_11_RADIO instead of DLT_IEEE802_11. No - user-visible data structures were changed but applications - that use DLT_IEEE802_11 may require changes. + 802.11 monitor mode support was revised and driver api's were changed. + Drivers dependent on net80211 now support DLT_IEEE802_11_RADIO instead + of DLT_IEEE802_11. No user-visible data structures were changed but + applications that use DLT_IEEE802_11 may require changes. Bump __FreeBSD_version to 800088. 20090430: @@ -768,730 +771,29 @@ 20071010: RELENG_7 branched. -20071009: - Setting WITHOUT_LIBPTHREAD now means WITHOUT_LIBKSE and - WITHOUT_LIBTHR are set. - -20070930: - The PCI code has been made aware of PCI domains. This means that - the location strings as used by pciconf(8) etc are now in the - following format: pci::[:]. It - also means that consumers of potentially need to - be recompiled; this includes the hal and xorg-server ports. - -20070928: - The caching daemon (cached) was renamed to nscd. nscd.conf - configuration file should be used instead of cached.conf and - nscd_enable, nscd_pidfile and nscd_flags options should be used - instead of cached_enable, cached_pidfile and cached_flags in - rc.conf. - -20070921: - The getfacl(1) utility now prints owning user and group name - instead of owning uid and gid in the three line comment header. - This is the same behavior as getfacl(1) on Solaris and Linux. - -20070704: - The new IPsec code is now compiled in using the IPSEC option. The - IPSEC option now requires "device crypto" be defined in your kernel - configuration. The FAST_IPSEC kernel option is now deprecated. - -20070702: - The packet filter (pf) code has been updated to OpenBSD 4.1 Please - note the changed syntax - keep state is now on by default. Also - note the fact that ftp-proxy(8) has been changed from bottom up and - has been moved from libexec to usr/sbin. Changes in the ALTQ - handling also affect users of IPFW's ALTQ capabilities. - -20070701: - Remove KAME IPsec in favor of FAST_IPSEC, which is now the - only IPsec supported by FreeBSD. The new IPsec stack - supports both IPv4 and IPv6. The kernel option will change - after the code changes have settled in. For now the kernel - option IPSEC is deprecated and FAST_IPSEC is the only option, that - will change after some settling time. - -20070701: - The wicontrol(8) utility has been removed from the base system. wi(4) - cards should be configured using ifconfig(8), see the man page for more - information. - -20070612: - The i386/amd64 GENERIC kernel now defaults to the nfe(4) driver - instead of the nve(4) driver. Please update your configuration - accordingly. - -20070612: - By default, /etc/rc.d/sendmail no longer rebuilds the aliases - database if it is missing or older than the aliases file. If - desired, set the new rc.conf option sendmail_rebuild_aliases - to "YES" to restore that functionality. - -20070612: - The IPv4 multicast socket code has been considerably modified, and - moved to the file sys/netinet/in_mcast.c. Initial support for the - RFC 3678 Source-Specific Multicast Socket API has been added to - the IPv4 network stack. - - Strict multicast and broadcast reception is now the default for - UDP/IPv4 sockets; the net.inet.udp.strict_mcast_mship sysctl variable - has now been removed. - - The RFC 1724 hack for interface selection has been removed; the use - of the Linux-derived ip_mreqn structure with IP_MULTICAST_IF has - been added to replace it. Consumers such as routed will soon be - updated to reflect this. - - These changes affect users who are running routed(8) or rdisc(8) - from the FreeBSD base system on point-to-point or unnumbered - interfaces. - -20070610: - The net80211 layer has changed significantly and all wireless - drivers that depend on it need to be recompiled. Further these - changes require that any program that interacts with the wireless - support in the kernel be recompiled; this includes: ifconfig, - wpa_supplicant, hostapd, and wlanstats. Users must also, for - the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules - if they use modules for wireless support. These modules implement - scanning support for station and ap modes, respectively. Failure - to load the appropriate module before marking a wireless interface - up will result in a message to the console and the device not - operating properly. - -20070610: - The pam_nologin(8) module ceases to provide an authentication - function and starts providing an account management function. - Consequent changes to /etc/pam.d should be brought in using - mergemaster(8). Third-party files in /usr/local/etc/pam.d may - need manual editing as follows. Locate this line (or similar): - - auth required pam_nologin.so no_warn - - and change it according to this example: - - account required pam_nologin.so no_warn - - That is, the first word needs to be changed from "auth" to - "account". The new line can be moved to the account section - within the file for clarity. Not updating pam.conf(5) files - will result in nologin(5) ignored by the respective services. - -20070529: - The ether_ioctl() function has been synchronized with ioctl(2) - and ifnet.if_ioctl. Due to that, the size of one of its arguments - has changed on 64-bit architectures. All kernel modules using - ether_ioctl() need to be rebuilt on such architectures. - -20070516: - Improved INCLUDE_CONFIG_FILE support has been introduced to the - config(8) utility. In order to take advantage of this new - functionality, you are expected to recompile and install - src/usr.sbin/config. If you don't rebuild config(8), and your - kernel configuration depends on INCLUDE_CONFIG_FILE, the kernel - build will be broken because of a missing "kernconfstring" - symbol. - -20070513: - Symbol versioning is enabled by default. To disable it, use - option WITHOUT_SYMVER. It is not advisable to attempt to - disable symbol versioning once it is enabled; your installworld - will break because a symbol version-less libc will get installed - before the install tools. As a result, the old install tools, - which previously had symbol dependencies to FBSD_1.0, will fail - because the freshly installed libc will not have them. - - The default threading library (providing "libpthread") has been - changed to libthr. If you wish to have libkse as your default, - use option DEFAULT_THREAD_LIB=libkse for the buildworld. - -20070423: - The ABI breakage in sendmail(8)'s libmilter has been repaired - so it is no longer necessary to recompile mail filters (aka, - milters). If you recompiled mail filters after the 20070408 - note, it is not necessary to recompile them again. - -20070417: - The new trunk(4) driver has been renamed to lagg(4) as it better - reflects its purpose. ifconfig will need to be recompiled. - -20070408: - sendmail(8) has been updated to version 8.14.1. Mail filters - (aka, milters) compiled against the libmilter included in the - base operating system should be recompiled. - -20070302: - Firmwares for ipw(4) and iwi(4) are now included in the base tree. - In order to use them one must agree to the respective LICENSE in - share/doc/legal and define legal.intel_.license_ack=1 via - loader.conf(5) or kenv(1). Make sure to deinstall the now - deprecated modules from the respective firmware ports. - -20070228: - The name resolution/mapping functions addr2ascii(3) and ascii2addr(3) - were removed from FreeBSD's libc. These originally came from INRIA - IPv6. Nothing in FreeBSD ever used them. They may be regarded as - deprecated in previous releases. - The AF_LINK support for getnameinfo(3) was merged from NetBSD to - replace it as a more portable (and re-entrant) API. - -20070224: - To support interrupt filtering a modification to the newbus API - has occurred, ABI was broken and __FreeBSD_version was bumped - to 700031. Please make sure that your kernel and modules are in - sync. For more info: - http://docs.freebsd.org/cgi/mid.cgi?20070221233124.GA13941 - -20070224: - The IPv6 multicast forwarding code may now be loaded into GENERIC - kernels by loading the ip_mroute.ko module. This is built into the - module unless WITHOUT_INET6 or WITHOUT_INET6_SUPPORT options are - set; see src.conf(5) for more information. - -20070214: - The output of netstat -r has changed. Without -n, we now only - print a "network name" without the prefix length if the network - address and mask exactly match a Class A/B/C network, and an entry - exists in the nsswitch "networks" map. - With -n, we print the full unabbreviated CIDR network prefix in - the form "a.b.c.d/p". 0.0.0.0/0 is always printed as "default". - This change is in preparation for changes such as equal-cost - multipath, and to more generally assist operational deployment - of FreeBSD as a modern IPv4 router. - -20070210: - PIM has been turned on by default in the IPv4 multicast - routing code. The kernel option 'PIM' has now been removed. - PIM is now built by default if option 'MROUTING' is specified. - It may now be loaded into GENERIC kernels by loading the - ip_mroute.ko module. - -20070207: - Support for IPIP tunnels (VIFF_TUNNEL) in IPv4 multicast routing - has been removed. Its functionality may be achieved by explicitly - configuring gif(4) interfaces and using the 'phyint' keyword in - mrouted.conf. - XORP does not support source-routed IPv4 multicast tunnels nor the - integrated IPIP tunneling, therefore it is not affected by this - change. The __FreeBSD_version macro has been bumped to 700030. - -20061221: - Support for PCI Message Signalled Interrupts has been - re-enabled in the bge driver, only for those chips which are - believed to support it properly. If there are any problems, - MSI can be disabled completely by setting the - 'hw.pci.enable_msi' and 'hw.pci.enable_msix' tunables to 0 - in the loader. - -20061214: - Support for PCI Message Signalled Interrupts has been - disabled again in the bge driver. Many revisions of the - hardware fail to support it properly. Support can be - re-enabled by removing the #define of BGE_DISABLE_MSI in - "src/sys/dev/bge/if_bge.c". - -20061214: - Support for PCI Message Signalled Interrupts has been added - to the bge driver. If there are any problems, MSI can be - disabled completely by setting the 'hw.pci.enable_msi' and - 'hw.pci.enable_msix' tunables to 0 in the loader. - -20061205: - The removal of several facets of the experimental Threading - system from the kernel means that the proc and thread structures - have changed quite a bit. I suggest all kernel modules that might - reference these structures be recompiled.. Especially the - linux module. - -20061126: - Sound infrastructure has been updated with various fixes and - improvements. Most of the changes are pretty much transparent, - with exceptions of followings: - 1) All sound driver specific sysctls (hw.snd.pcm%d.*) have been - moved to their own dev sysctl nodes, for example: - hw.snd.pcm0.vchans -> dev.pcm.0.vchans - 2) /dev/dspr%d.%d has been deprecated. Each channel now has its - own chardev in the form of "dsp%d.%d", where - is p = playback, r = record and v = virtual, respectively. Users - are encouraged to use these devs instead of (old) "/dev/dsp%d.%d". - This does not affect those who are using "/dev/dsp". - -20061122: - geom(4)'s gmirror(8) class metadata structure has been - rev'd from v3 to v4. If you update across this point and - your metadata is converted for you, you will not be easily - able to downgrade since the /boot/kernel.old/geom_mirror.ko - kernel module will be unable to read the v4 metadata. You - can resolve this by doing from the loader(8) prompt: - - set vfs.root.mountfrom="ufs:/dev/XXX" - - where XXX is the root slice of one of the disks that composed - the mirror (i.e.: /dev/ad0s1a). You can then rebuild - the array the same way you built it originally. - -20061122: - The following binaries have been disconnected from the build: - mount_devfs, mount_ext2fs, mount_fdescfs, mount_procfs, mount_linprocfs, - and mount_std. The functionality of these programs has been - moved into the mount program. For example, to mount a devfs - filesystem, instead of using mount_devfs, use: "mount -t devfs". - This does not affect entries in /etc/fstab, since entries in - /etc/fstab are always processed with "mount -t fstype". - -20061113: - Support for PCI Message Signalled Interrupts on i386 and amd64 - has been added to the kernel and various drivers will soon be - updated to use MSI when it is available. If there are any problems, - MSI can be disabled completely by setting the 'hw.pci.enable_msi' - and 'hw.pci.enable_msix' tunables to 0 in the loader. - -20061110: - The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. - The lockmgr object layout has been changed as a result of having - a lock_object embedded in it. As a consequence all file system - kernel modules must be re-compiled. The mutex profiling man page - has not yet been updated to reflect this change. - -20061026: - KSE in the kernel has now been made optional and turned on by - default. Use 'nooption KSE' in your kernel config to turn it - off. All kernel modules *must* be recompiled after this change. - There-after, modules from a KSE kernel should be compatible with - modules from a NOKSE kernel due to the temporary padding fields - added to 'struct proc'. - -20060929: - mrouted and its utilities have been removed from the base system. - -20060927: - Some ioctl(2) command codes have changed. Full backward ABI - compatibility is provided if the "options COMPAT_FREEBSD6" is - present in the kernel configuration file. Make sure to add - this option to your kernel config file, or recompile X.Org - and the rest of ports; otherwise they may refuse to work. - -20060924: - tcpslice has been removed from the base system. - -20060913: - The sizes of struct tcpcb (and struct xtcpcb) have changed due to - the rewrite of TCP syncookies. Tools like netstat, sockstat, and - systat needs to be rebuilt. - -20060903: - libpcap updated to v0.9.4 and tcpdump to v3.9.4 - -20060816: - The IPFIREWALL_FORWARD_EXTENDED option is gone and the behaviour - for IPFIREWALL_FORWARD is now as it was before when it was first - committed and for years after. The behaviour is now ON. - -20060725: - enigma(1)/crypt(1) utility has been changed on 64 bit architectures. - Now it can decrypt files created from different architectures. - Unfortunately, it is no longer able to decrypt a cipher text - generated with an older version on 64 bit architectures. - If you have such a file, you need old utility to decrypt it. - -20060709: - The interface version of the i4b kernel part has changed. So - after updating the kernel sources and compiling a new kernel, - the i4b user space tools in "/usr/src/usr.sbin/i4b" must also - be rebuilt, and vice versa. - -20060627: - The XBOX kernel now defaults to the nfe(4) driver instead of - the nve(4) driver. Please update your configuration - accordingly. - -20060514: - The i386-only lnc(4) driver for the AMD Am7900 LANCE and Am79C9xx - PCnet family of NICs has been removed. The new le(4) driver serves - as an equivalent but cross-platform replacement with the pcn(4) - driver still providing performance-optimized support for the subset - of AMD Am79C971 PCnet-FAST and greater chips as before. - -20060511: - The machdep.* sysctls and the adjkerntz utility have been - modified a bit. The new adjkerntz utility uses the new - sysctl names and sysctlbyname() calls, so it may be impossible - to run an old /sbin/adjkerntz utility in single-user mode - with a new kernel. Replace the `adjkerntz -i' step before - `make installworld' with: - - /usr/obj/usr/src/sbin/adjkerntz/adjkerntz -i - - and proceed as usual with the rest of the installworld-stage - steps. Otherwise, you risk installing binaries with their - timestamp set several hours in the future, especially if - you are running with local time set to GMT+X hours. - >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 9 21:45:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5758E1065670; Wed, 9 Sep 2009 21:45:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BE28106566B for ; Wed, 9 Sep 2009 21:45:56 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0AD978FC0C for ; Wed, 9 Sep 2009 21:45:56 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89LjtkK016904 for ; Wed, 9 Sep 2009 21:45:55 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89LjthY016902 for perforce@freebsd.org; Wed, 9 Sep 2009 21:45:55 GMT (envelope-from rene@FreeBSD.org) Date: Wed, 9 Sep 2009 21:45:55 GMT Message-Id: <200909092145.n89LjthY016902@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 168384 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 21:45:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=168384 Change 168384 by rene@rene_self on 2009/09/09 21:45:33 [advanced-networking] correct a typo and a whitespace error. Noted when trying to get my new QStarz BT-Q890 to work. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#39 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#39 (text+ko) ==== @@ -2638,7 +2638,7 @@ om hcsecd automatisch met het systeem op te starten:
- hscecd_enable="YES" + hcsecd_enable="YES" Het volgende is een voorbeeld van de uitvoer van de daemon hcsecd: @@ -4905,7 +4905,7 @@ allow ip from any to any zijn in plaats van het minder vrije deny ip from any to any, en zal het iets moeilijker zijn om buitengesloten te worden net na het opnieuw - opstarten van het systeem.
+ opstarten van het systeem.
From owner-p4-projects@FreeBSD.ORG Wed Sep 9 23:19:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 131C61065670; Wed, 9 Sep 2009 23:19:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB11E106566B for ; Wed, 9 Sep 2009 23:19:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B8FA28FC08 for ; Wed, 9 Sep 2009 23:19:38 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89NJcYu025647 for ; Wed, 9 Sep 2009 23:19:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89NJcST025645 for perforce@freebsd.org; Wed, 9 Sep 2009 23:19:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 9 Sep 2009 23:19:38 GMT Message-Id: <200909092319.n89NJcST025645@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168387 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 23:19:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=168387 Change 168387 by hselasky@hselasky_laptop001 on 2009/09/09 23:19:08 USB CORE: - clean up USB detach logic. There seems to be some problems detaching multiple USB HUBs connected in series from the root. - after this patch the rule is: 1) Always use device_detach() on the USB HUB first. 2) Never just device_delete_child() on the USB HUB, because that function will traverse to all the device leaves and free them first, and then the USB stack will free the devices twice which doesn't work very well. - make sure the did DMA delay gets set after the timeout has elapsed to make logic more clear. There is no functional difference. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#32 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#55 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#31 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#166 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#32 (text+ko) ==== @@ -270,11 +270,9 @@ mtx_unlock(&Giant); /* - * Free USB Root device, but not any sub-devices, hence they - * are freed by the caller of this function: + * Free USB device and all subdevices, if any. */ - usb_free_device(udev, - USB_UNCFG_FLAG_FREE_EP0); + usb_free_device(udev, 0); USB_BUS_LOCK(bus); /* clear bdev variable last */ ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#55 (text+ko) ==== @@ -494,7 +494,7 @@ usbd_enum_lock(udev); } - usb_unconfigure(udev, USB_UNCFG_FLAG_FREE_SUBDEV); + usb_unconfigure(udev, 0); if (index == USB_UNCONFIG_INDEX) { /* @@ -598,7 +598,7 @@ done: DPRINTF("error=%s\n", usbd_errstr(err)); if (err) { - usb_unconfigure(udev, USB_UNCFG_FLAG_FREE_SUBDEV); + usb_unconfigure(udev, 0); } if (do_unlock) usbd_enum_unlock(udev); @@ -1005,18 +1005,13 @@ device_t dev; int err; - if (!(flag & USB_UNCFG_FLAG_FREE_SUBDEV)) { - - *ppdev = NULL; - - } else if (*ppdev) { - + dev = *ppdev; + if (dev) { /* * NOTE: It is important to clear "*ppdev" before deleting * the child due to some device methods being called late * during the delete process ! */ - dev = *ppdev; *ppdev = NULL; device_printf(dev, "at %s, port %d, addr %d " @@ -1821,7 +1816,7 @@ } else if (usb_test_huawei_autoinst_p(udev, &uaa) == 0) { DPRINTFN(0, "Found Huawei auto-install disk!\n"); /* leave device unconfigured */ - usb_unconfigure(udev, USB_UNCFG_FLAG_FREE_SUBDEV); + usb_unconfigure(udev, 0); } } else { err = 0; /* set success */ @@ -1846,10 +1841,10 @@ #endif done: if (err) { - /* free device */ - usb_free_device(udev, - USB_UNCFG_FLAG_FREE_SUBDEV | - USB_UNCFG_FLAG_FREE_EP0); + /* + * Free USB device and all subdevices, if any. + */ + usb_free_device(udev, 0); udev = NULL; } return (udev); @@ -1969,9 +1964,10 @@ /*------------------------------------------------------------------------* * usb_free_device * - * This function is NULL safe and will free an USB device. + * This function is NULL safe and will free an USB device and its + * children devices, if any. * - * Flag values, see "USB_UNCFG_FLAG_XXX". + * Flag values: Reserved, set to zero. *------------------------------------------------------------------------*/ void usb_free_device(struct usb_device *udev, uint8_t flag) @@ -2025,7 +2021,7 @@ } /* the following will get the device unconfigured in software */ - usb_unconfigure(udev, flag); + usb_unconfigure(udev, USB_UNCFG_FLAG_FREE_EP0); /* unsetup any leftover default USB transfers */ usbd_transfer_unsetup(udev->default_xfer, USB_DEFAULT_XFER_MAX); ==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#31 (text+ko) ==== @@ -41,7 +41,6 @@ /* "usb_unconfigure()" flags */ #define USB_UNCFG_FLAG_NONE 0x00 -#define USB_UNCFG_FLAG_FREE_SUBDEV 0x01 /* subdevices are freed */ #define USB_UNCFG_FLAG_FREE_EP0 0x02 /* endpoint zero is freed */ struct usb_clear_stall_msg { ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#33 (text+ko) ==== @@ -316,12 +316,13 @@ if (err) { goto error; } - /* detach any existing devices */ + /* check if there is a child */ - if (child) { - usb_free_device(child, - USB_UNCFG_FLAG_FREE_SUBDEV | - USB_UNCFG_FLAG_FREE_EP0); + if (child != NULL) { + /* + * Free USB device and all subdevices, if any. + */ + usb_free_device(child, 0); child = NULL; } /* get fresh status */ @@ -438,10 +439,11 @@ return (0); /* success */ error: - if (child) { - usb_free_device(child, - USB_UNCFG_FLAG_FREE_SUBDEV | - USB_UNCFG_FLAG_FREE_EP0); + if (child != NULL) { + /* + * Free USB device and all subdevices, if any. + */ + usb_free_device(child, 0); child = NULL; } if (err == 0) { @@ -888,12 +890,14 @@ struct usb_device *child; uint8_t x; - /* detach all children first */ - bus_generic_detach(dev); - if (hub == NULL) { /* must be partially working */ return (0); } + + /* Make sure interrupt transfer is gone. */ + usbd_transfer_unsetup(sc->sc_xfer, UHUB_N_TRANSFER); + + /* Detach all ports */ for (x = 0; x != hub->nports; x++) { child = usb_bus_port_get_device(sc->sc_udev->bus, hub->ports + x); @@ -901,16 +905,13 @@ if (child == NULL) { continue; } + /* - * Subdevices are not freed, because the caller of - * uhub_detach() will do that. + * Free USB device and all subdevices, if any. */ - usb_free_device(child, - USB_UNCFG_FLAG_FREE_EP0); + usb_free_device(child, 0); } - usbd_transfer_unsetup(sc->sc_xfer, UHUB_N_TRANSFER); - free(hub, M_USBDEV); sc->sc_udev->hub = NULL; @@ -984,10 +985,19 @@ uhub_child_location_string(device_t parent, device_t child, char *buf, size_t buflen) { - struct uhub_softc *sc = device_get_softc(parent); - struct usb_hub *hub = sc->sc_udev->hub; + struct uhub_softc *sc; + struct usb_hub *hub; struct hub_result res; + if (!device_is_attached(parent)) { + if (buflen) + buf[0] = 0; + return (0); + } + + sc = device_get_softc(parent); + hub = sc->sc_udev->hub; + mtx_lock(&Giant); uhub_find_iface_index(hub, child, &res); if (!res.udev) { @@ -1009,11 +1019,20 @@ uhub_child_pnpinfo_string(device_t parent, device_t child, char *buf, size_t buflen) { - struct uhub_softc *sc = device_get_softc(parent); - struct usb_hub *hub = sc->sc_udev->hub; + struct uhub_softc *sc; + struct usb_hub *hub; struct usb_interface *iface; struct hub_result res; + if (!device_is_attached(parent)) { + if (buflen) + buf[0] = 0; + return (0); + } + + sc = device_get_softc(parent); + hub = sc->sc_udev->hub; + mtx_lock(&Giant); uhub_find_iface_index(hub, child, &res); if (!res.udev) { ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#166 (text+ko) ==== @@ -2123,6 +2123,9 @@ DPRINTFN(3, "Completed %p\n", xfer); + /* only delay once */ + xfer->flags_int.did_dma_delay = 1; + /* queue callback for execution, again */ usbd_transfer_done(xfer, 0); } @@ -2492,9 +2495,6 @@ usb_timeout_t temp; - /* only delay once */ - xfer->flags_int.did_dma_delay = 1; - /* we can not cancel this delay */ xfer->flags_int.can_cancel_immed = 0; From owner-p4-projects@FreeBSD.ORG Wed Sep 9 23:41:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEDEE1065679; Wed, 9 Sep 2009 23:41:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B3CE1065670 for ; Wed, 9 Sep 2009 23:41:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FBC78FC0C for ; Wed, 9 Sep 2009 23:41:02 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n89Nf25U027279 for ; Wed, 9 Sep 2009 23:41:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n89Nf26J027277 for perforce@freebsd.org; Wed, 9 Sep 2009 23:41:02 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 9 Sep 2009 23:41:02 GMT Message-Id: <200909092341.n89Nf26J027277@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168389 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2009 23:41:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=168389 Change 168389 by hselasky@hselasky_laptop001 on 2009/09/09 23:41:00 USB EHCI: - correct ATI/AMD EHCI quirk. - make one function for each quirk. - reported by: Andriy Gapon Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#12 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#12 (text+ko) ==== @@ -241,32 +241,46 @@ } static void -ehci_pci_ati_quirk(device_t dev, uint8_t match_dev) +ehci_pci_ati_quirk(device_t self, uint8_t is_sb700) { - uint32_t temp; - uint16_t b; - uint16_t f; - uint16_t s; + device_t smbdev; + uint32_t val; + + if (is_sb700) { + /* Lookup SMBUS PCI device */ + smbdev = pci_find_device(PCI_EHCI_VENDORID_ATI, 0x4385); + if (smbdev == NULL) + return; + val = pci_get_revid(smbdev); + if (val != 0x3a && val != 0x3b) + return; + } + + /* + * Note: this bit is described as reserved in SB700 + * Register Reference Guide. + */ + val = pci_read_config(self, 0x53, 1); + if (!(val & 0x8)) { + val |= 0x8; + pci_write_config(self, 0x53, val, 1); + device_printf(self, "AMD SB600/700 quirk applied\n"); + } +} - /* Look for ATI SMB PCI controller */ +static void +ehci_pci_via_quirk(device_t self) +{ + uint32_t val; - for (b = 0; b <= PCI_BUSMAX; b++) { - for (f = 0; f <= PCI_FUNCMAX; f++) { - for (s = 0; s <= PCI_SLOTMAX; s++) { - temp = pcib_read_config(dev, b, s, f, PCIR_DEVVENDOR, 4); - if (temp == 0x43851002) { - temp = pcib_read_config(dev, b, s, f, PCIR_REVID, 1); - if (match_dev || (temp == 0x3a) || (temp == 0x3b)) { - temp = pcib_read_config(dev, b, s, f, 0x53, 1); - if (!(temp & 0x08)) { - temp |= 0x08; - pcib_write_config(dev, b, s, f, 0x53, temp, 1); - device_printf(dev, "ATI-quirk applied\n"); - } - } - } - } - } + if ((pci_get_device(self) == 0x3104) && + ((pci_get_revid(self) & 0xf0) == 0x60)) { + /* Correct schedule sleep time to 10us */ + val = pci_read_config(self, 0x4b, 1); + if (val & 0x20) + return; + pci_write_config(self, 0x4b, val, 1); + device_printf(self, "VIA-quirk applied\n"); } } @@ -405,13 +419,13 @@ switch (pci_get_vendor(self)) { case PCI_EHCI_VENDORID_ATI: - /* SB600 and SB700 EHCI quirk through SMB PCI device */ + /* SB600 and SB700 EHCI quirk */ switch (pci_get_device(self)) { case 0x4386: - ehci_pci_ati_quirk(self, 1); + ehci_pci_ati_quirk(self, 0); break; case 0x4396: - ehci_pci_ati_quirk(self, 0); + ehci_pci_ati_quirk(self, 1); break; default: break; @@ -419,16 +433,7 @@ break; case PCI_EHCI_VENDORID_VIA: - if ((pci_get_device(self) == 0x3104) && - ((pci_get_revid(self) & 0xf0) == 0x60)) { - /* Correct schedule sleep time to 10us */ - uint8_t temp; - temp = pci_read_config(self, 0x4b, 1); - if (temp & 0x20) - break; - pci_write_config(self, 0x4b, temp, 1); - device_printf(self, "VIA-quirk applied\n"); - } + ehci_pci_via_quirk(self); break; default: From owner-p4-projects@FreeBSD.ORG Thu Sep 10 11:09:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF23E106568B; Thu, 10 Sep 2009 11:09:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3BFB106566C for ; Thu, 10 Sep 2009 11:09:35 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 93EDA8FC19 for ; Thu, 10 Sep 2009 11:09:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8AB9Zk5019917 for ; Thu, 10 Sep 2009 11:09:35 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8AB9Zrx019915 for perforce@freebsd.org; Thu, 10 Sep 2009 11:09:35 GMT (envelope-from zec@fer.hr) Date: Thu, 10 Sep 2009 11:09:35 GMT Message-Id: <200909101109.n8AB9Zrx019915@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 168397 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 11:09:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=168397 Change 168397 by zec@zec_nxlab on 2009/09/10 11:08:39 When expading '@' to jail names in symlinks, substitute '.' with '/' in case of hierarchichal jails / vimages. This change is unlikely to ever get commited to svn. Affected files ... .. //depot/projects/vimage/src/sys/kern/vfs_lookup.c#30 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/vfs_lookup.c#30 (text+ko) ==== @@ -349,12 +349,24 @@ break; } #ifdef IMUNES_SYMLINK_HACK + /* + * If the symbolic link includes a special character '@', + * and V_morphing_symlinks is set, substitute the first + * occurence of '@' with full path to jail / vimage name. + * If the full path includes subhierarchies, s/./\// when + * expanding '@' to jail / vimage name. + * + * XXX revisit buffer length checking. + */ CURVNET_SET(TD_TO_VNET(curthread)); if (V_morphing_symlinks) { char *sp = strchr(cp, '@'); - int vnamelen = strlen(td->td_ucred->cr_prison->pr_name); if (sp) { + char *vname = td->td_ucred->cr_prison->pr_name; + int vnamelen = strlen(vname); + int i; + if (vnamelen >= auio.uio_resid) { if (ndp->ni_pathlen > 1) uma_zfree(namei_zone, cp); @@ -367,6 +379,9 @@ bcopy(td->td_ucred->cr_prison->pr_name, sp, vnamelen); linklen += (vnamelen - 1); + for (i = 0; i < vnamelen; i++) + if (sp[i] == '.') + sp[i] = '/'; } } CURVNET_RESTORE(); From owner-p4-projects@FreeBSD.ORG Thu Sep 10 11:10:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4788F1065676; Thu, 10 Sep 2009 11:10:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C585106566B for ; Thu, 10 Sep 2009 11:10:37 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D68B98FC1B for ; Thu, 10 Sep 2009 11:10:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8ABAa2F020055 for ; Thu, 10 Sep 2009 11:10:36 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8ABAaDs020052 for perforce@freebsd.org; Thu, 10 Sep 2009 11:10:36 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 10 Sep 2009 11:10:36 GMT Message-Id: <200909101110.n8ABAaDs020052@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 168398 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 11:10:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=168398 Change 168398 by jona@jona-trustedbsd-belle-vmware on 2009/09/10 11:09:58 Set errno to ECANCELED when the user closes the powerbox Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#17 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#17 (text+ko) ==== @@ -440,6 +440,11 @@ if(!fdcountd) return -1; if(ua_unmarshall_int(fdcountd, len) < 0) return -1; + if(*len == 0) + { + errno = ECANCELED; + return 0; + } int buflen = 1024; char buffer[buflen]; From owner-p4-projects@FreeBSD.ORG Thu Sep 10 11:19:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0C621065670; Thu, 10 Sep 2009 11:19:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93E75106566B for ; Thu, 10 Sep 2009 11:19:47 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 822088FC14 for ; Thu, 10 Sep 2009 11:19:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8ABJlpt020660 for ; Thu, 10 Sep 2009 11:19:47 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8ABJkHG020658 for perforce@freebsd.org; Thu, 10 Sep 2009 11:19:46 GMT (envelope-from zec@fer.hr) Date: Thu, 10 Sep 2009 11:19:46 GMT Message-Id: <200909101119.n8ABJkHG020658@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 168399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 11:19:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=168399 Change 168399 by zec@zec_nxlab on 2009/09/10 11:19:10 IFC @ 168393 Affected files ... .. //depot/projects/vimage/src/share/man/man4/Makefile#17 integrate .. //depot/projects/vimage/src/share/man/man4/dpms.4#1 branch .. //depot/projects/vimage/src/share/man/man4/ed.4#5 integrate .. //depot/projects/vimage/src/share/man/man4/ips.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/man4.i386/Makefile#3 integrate .. //depot/projects/vimage/src/share/man/man4/man4.i386/dpms.4#2 delete .. //depot/projects/vimage/src/share/man/man4/mfi.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/pts.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/pty.4#2 integrate .. //depot/projects/vimage/src/share/man/man5/make.conf.5#2 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#23 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#35 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#21 integrate .. //depot/projects/vimage/src/sys/amd64/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/amd64/include/param.h#10 integrate .. //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#13 integrate .. //depot/projects/vimage/src/sys/arm/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/arm/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt.c#22 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_cd.c#9 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#19 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#5 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#8 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#9 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#15 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#25 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#25 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#35 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#62 integrate .. //depot/projects/vimage/src/sys/conf/files#78 integrate .. //depot/projects/vimage/src/sys/conf/files.amd64#26 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#34 integrate .. //depot/projects/vimage/src/sys/conf/files.ia64#11 integrate .. //depot/projects/vimage/src/sys/conf/files.powerpc#26 integrate .. //depot/projects/vimage/src/sys/conf/files.sparc64#18 integrate .. //depot/projects/vimage/src/sys/conf/options#58 integrate .. //depot/projects/vimage/src/sys/conf/options.amd64#9 integrate .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu.c#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu.h#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu_regs.h#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu_util.c#1 branch .. //depot/projects/vimage/src/sys/dev/aac/aac.c#13 integrate .. //depot/projects/vimage/src/sys/dev/aac/aacvar.h#6 integrate .. //depot/projects/vimage/src/sys/dev/ae/if_ae.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ahci/ahci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/amr/amr.c#11 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-disk.c#13 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-dma.c#11 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-raid.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-acerlabs.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-marvell.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ath/ah_osdep.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ah.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#44 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#25 integrate .. //depot/projects/vimage/src/sys/dev/coretemp/coretemp.c#6 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#30 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#28 integrate .. //depot/projects/vimage/src/sys/dev/dpms/dpms.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#16 integrate .. //depot/projects/vimage/src/sys/dev/ep/if_ep.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ep/if_epreg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/fb/s3_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/fb/vesa.c#1 branch .. //depot/projects/vimage/src/sys/dev/fb/vesa.h#1 branch .. //depot/projects/vimage/src/sys/dev/fb/vga.c#4 integrate .. //depot/projects/vimage/src/sys/dev/firewire/fwcrom.c#2 integrate .. //depot/projects/vimage/src/sys/dev/firewire/fwdev.c#8 integrate .. //depot/projects/vimage/src/sys/dev/fxp/if_fxp.c#19 integrate .. //depot/projects/vimage/src/sys/dev/hptiop/hptiop.c#5 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_core.c#6 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/pmc_events.h#9 integrate .. //depot/projects/vimage/src/sys/dev/iir/iir.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#11 integrate .. //depot/projects/vimage/src/sys/dev/mpt/mpt_raid.c#9 integrate .. //depot/projects/vimage/src/sys/dev/msk/if_msk.c#21 integrate .. //depot/projects/vimage/src/sys/dev/mwl/if_mwl.c#4 integrate .. //depot/projects/vimage/src/sys/dev/null/null.c#2 integrate .. //depot/projects/vimage/src/sys/dev/pty/pty.c#2 integrate .. //depot/projects/vimage/src/sys/dev/rp/rp_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#39 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_private.h#9 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scterm-teken.c#7 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scvesactl.c#4 integrate .. //depot/projects/vimage/src/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/sequences#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken.c#7 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken.h#5 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_demo.c#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_subr.h#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_subr_compat.h#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/vimage/src/sys/dev/txp/if_txp.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/storage/umass.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rum.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rumreg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zyd.c#15 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#19 integrate .. //depot/projects/vimage/src/sys/dev/xen/blkfront/blkfront.c#9 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_conv.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clnode.c#4 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clport.c#4 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs_vncache.c#10 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs_vnops.c#15 integrate .. //depot/projects/vimage/src/sys/geom/geom_dev.c#11 integrate .. //depot/projects/vimage/src/sys/geom/geom_disk.c#10 integrate .. //depot/projects/vimage/src/sys/geom/geom_io.c#9 integrate .. //depot/projects/vimage/src/sys/geom/geom_vfs.c#6 integrate .. //depot/projects/vimage/src/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/vimage/src/sys/geom/stripe/g_stripe.c#4 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#34 integrate .. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#23 integrate .. //depot/projects/vimage/src/sys/i386/i386/machdep.c#26 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#32 integrate .. //depot/projects/vimage/src/sys/i386/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/i386/include/param.h#8 integrate .. //depot/projects/vimage/src/sys/i386/include/pc/vesa.h#4 delete .. //depot/projects/vimage/src/sys/i386/include/pcpu.h#8 integrate .. //depot/projects/vimage/src/sys/i386/include/pmap.h#14 integrate .. //depot/projects/vimage/src/sys/i386/isa/dpms.c#2 delete .. //depot/projects/vimage/src/sys/i386/isa/vesa.c#5 delete .. //depot/projects/vimage/src/sys/i386/xen/locore.s#4 integrate .. //depot/projects/vimage/src/sys/i386/xen/pmap.c#12 integrate .. //depot/projects/vimage/src/sys/ia64/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/ia64/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#26 integrate .. //depot/projects/vimage/src/sys/kern/kern_fork.c#33 integrate .. //depot/projects/vimage/src/sys/kern/kern_jail.c#37 integrate .. //depot/projects/vimage/src/sys/kern/kern_kthread.c#8 integrate .. //depot/projects/vimage/src/sys/kern/kern_linker.c#32 integrate .. //depot/projects/vimage/src/sys/kern/kern_lock.c#21 integrate .. //depot/projects/vimage/src/sys/kern/kern_mutex.c#18 integrate .. //depot/projects/vimage/src/sys/kern/kern_proc.c#29 integrate .. //depot/projects/vimage/src/sys/kern/kern_sx.c#19 integrate .. //depot/projects/vimage/src/sys/kern/kern_thr.c#18 integrate .. //depot/projects/vimage/src/sys/kern/kern_thread.c#24 integrate .. //depot/projects/vimage/src/sys/kern/subr_bus.c#23 integrate .. //depot/projects/vimage/src/sys/kern/subr_witness.c#27 integrate .. //depot/projects/vimage/src/sys/kern/sys_generic.c#17 integrate .. //depot/projects/vimage/src/sys/kern/tty_pts.c#20 integrate .. //depot/projects/vimage/src/sys/kern/vfs_subr.c#33 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#33 integrate .. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#29 integrate .. //depot/projects/vimage/src/sys/mips/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/mips/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/modules/Makefile#55 integrate .. //depot/projects/vimage/src/sys/modules/dpms/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/vesa/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/x86emu/Makefile#1 branch .. //depot/projects/vimage/src/sys/net/if_arp.h#2 integrate .. //depot/projects/vimage/src/sys/net/if_llatbl.c#10 integrate .. //depot/projects/vimage/src/sys/net/if_vlan.c#24 integrate .. //depot/projects/vimage/src/sys/net/route.h#12 integrate .. //depot/projects/vimage/src/sys/net/rtsock.c#45 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_action.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_dfs.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.h#22 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_sta.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.c#50 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.h#5 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#43 integrate .. //depot/projects/vimage/src/sys/netinet/in.h#12 integrate .. //depot/projects/vimage/src/sys/netinet/in_mcast.c#33 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#22 integrate .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#51 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.c#45 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#41 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#35 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.h#18 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#48 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_serv.c#18 integrate .. //depot/projects/vimage/src/sys/opencrypto/cryptodev.c#10 integrate .. //depot/projects/vimage/src/sys/pc98/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/pc98/include/pc/vesa.h#2 delete .. //depot/projects/vimage/src/sys/powerpc/conf/GENERIC#26 integrate .. //depot/projects/vimage/src/sys/powerpc/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/powerpc/include/param.h#6 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#15 integrate .. //depot/projects/vimage/src/sys/sparc64/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/sparc64/include/param.h#7 integrate .. //depot/projects/vimage/src/sys/sun4v/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/sun4v/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/sys/_sockaddr_storage.h#1 branch .. //depot/projects/vimage/src/sys/sys/bus.h#9 integrate .. //depot/projects/vimage/src/sys/sys/imgact_aout.h#2 integrate .. //depot/projects/vimage/src/sys/sys/ioctl_compat.h#6 integrate .. //depot/projects/vimage/src/sys/sys/param.h#62 integrate .. //depot/projects/vimage/src/sys/sys/proc.h#38 integrate .. //depot/projects/vimage/src/sys/sys/socket.h#10 integrate .. //depot/projects/vimage/src/sys/sys/syscallsubr.h#12 integrate .. //depot/projects/vimage/src/sys/sys/sysproto.h#15 integrate .. //depot/projects/vimage/src/sys/sys/tty.h#12 integrate .. //depot/projects/vimage/src/sys/sys/ttycom.h#5 integrate .. //depot/projects/vimage/src/sys/teken/Makefile#1 branch .. //depot/projects/vimage/src/sys/teken/gensequences#1 branch .. //depot/projects/vimage/src/sys/teken/sequences#1 branch .. //depot/projects/vimage/src/sys/teken/teken.c#1 branch .. //depot/projects/vimage/src/sys/teken/teken.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_demo.c#1 branch .. //depot/projects/vimage/src/sys/teken/teken_scs.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_stress.c#1 branch .. //depot/projects/vimage/src/sys/teken/teken_subr.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_softdep.c#17 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_vfsops.c#24 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_acl.c#5 integrate .. //depot/projects/vimage/src/sys/vm/vm_extern.h#9 integrate .. //depot/projects/vimage/src/sys/vm/vm_glue.c#12 integrate Differences ... ==== //depot/projects/vimage/src/share/man/man4/Makefile#17 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.460 2009/07/26 12:20:07 bz Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.461 2009/09/09 09:50:31 delphij Exp $ MAN= aac.4 \ acpi.4 \ @@ -85,6 +85,7 @@ digi.4 \ disc.4 \ divert.4 \ + ${_dpms.4} \ dpt.4 \ dummynet.4 \ ed.4 \ @@ -611,6 +612,7 @@ _asmc.4= asmc.4 _coretemp.4= coretemp.4 _cpuctl.4= cpuctl.4 +_dpms.4= dpms.4 _hptiop.4= hptiop.4 _hptmv.4= hptmv.4 _hptrr.4= hptrr.4 ==== //depot/projects/vimage/src/share/man/man4/ed.4#5 (text+ko) ==== @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ed.4,v 1.61 2009/04/18 04:21:04 imp Exp $ +.\" $FreeBSD: src/share/man/man4/ed.4,v 1.63 2009/09/09 21:51:54 brooks Exp $ .\" .Dd April 9, 2009 .Dt ED 4 @@ -425,3 +425,21 @@ .Pp PC Card attachment supports the D-Link DMF650TX LAN/Modem card's Ethernet port only at this time. +.Pp +Some devices supported by +.Nm +do not generate the link state change events used by +.Xr devd 8 +to start +.Xr dhclinet 8 . +If you have problems with +.Xr dhclient 8 +not starting and the device is always attached to the network it may +be possible to work around this by changing +.Dq Li DHCP +to +.Dq Li SYNCDHCP +in the +.Va ifconfig_ed0 +entry in +.Pa /etc/rc.conf . ==== //depot/projects/vimage/src/share/man/man4/ips.4#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ips.4,v 1.7 2006/11/05 08:55:21 maxim Exp $ +.\" $FreeBSD: src/share/man/man4/ips.4,v 1.9 2009/09/07 20:57:01 trasz Exp $ .\" -.Dd November 4, 2006 +.Dd August 7, 2009 .Dt IPS 4 .Os .Sh NAME @@ -92,6 +92,12 @@ .It ServeRAID 7t/7k/7M .El +.Pp +Newer ServeRAID controllers are supported by the +.Xr aac 4 +or +.Xr mfi 4 +driver. .Sh DIAGNOSTICS Several error codes may be shown when the card initializes the .Tn IBM @@ -180,6 +186,8 @@ .Tn SCSI subsystem. .Sh SEE ALSO +.Xr aac 4 , +.Xr mfi 4 , .Xr ch 4 , .Xr da 4 , .Xr sysctl 8 ==== //depot/projects/vimage/src/share/man/man4/man4.i386/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man4/man4.i386/Makefile,v 1.194 2009/04/16 11:09:59 rwatson Exp $ +# $FreeBSD: src/share/man/man4/man4.i386/Makefile,v 1.195 2009/09/09 14:17:07 bz Exp $ MAN= aic.4 \ alpm.4 \ @@ -10,7 +10,6 @@ cs.4 \ ct.4 \ ctau.4 \ - dpms.4 \ cx.4 \ ep.4 \ ex.4 \ ==== //depot/projects/vimage/src/share/man/man4/mfi.4#3 (text) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.8 2009/08/15 11:47:05 trasz Exp $ +.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.9 2009/08/31 16:19:06 trasz Exp $ .\" .Dd August 15, 2009 .Dt MFI 4 @@ -102,9 +102,9 @@ An attempt was made to remove a mounted volume. .El .Sh SEE ALSO -.Xr mfiutil 1 , .Xr amr 4 , -.Xr pci 4 +.Xr pci 4 , +.Xr mfiutil 8 .Sh HISTORY The .Nm ==== //depot/projects/vimage/src/share/man/man4/pts.4#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pty.4 8.2 (Berkeley) 11/30/93 -.\" $FreeBSD: src/share/man/man4/pts.4,v 1.4 2009/06/20 16:30:32 ed Exp $ +.\" $FreeBSD: src/share/man/man4/pts.4,v 1.5 2009/09/06 10:27:45 ed Exp $ .\" .Dd August 20, 2008 .Dt PTS 4 @@ -147,15 +147,6 @@ pseudo-terminals implementation are: .Pp .Bl -tag -width ".Pa /dev/pts/[num]" -.It Pa /dev/ptmx -Control device, returns a file descriptor to a new master -pseudo-terminal when opened. -This device should not be opened directly. -It's only available for binary compatibility. -New devices should only be allocated with -.Xr posix_openpt 2 -and -.Xr openpty 3 . .It Pa /dev/pts/[num] Pseudo-terminal slave devices. .El ==== //depot/projects/vimage/src/share/man/man4/pty.4#2 (text+ko) ==== @@ -25,14 +25,14 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pty.4,v 1.20 2008/08/20 08:31:58 ed Exp $ +.\" $FreeBSD: src/share/man/man4/pty.4,v 1.21 2009/09/06 10:27:45 ed Exp $ .\" .Dd August 20, 2008 .Dt PTY 4 .Os .Sh NAME .Nm pty -.Nd BSD-style compatibility pseudo-terminal driver +.Nd BSD-style and System V-style compatibility pseudo-terminal driver .Sh SYNOPSIS .Cd "device pty" .Sh DESCRIPTION @@ -48,6 +48,12 @@ A device node for this terminal shall be created, which has the name .Pa /dev/ttyXX . .Pp +The +.Nm +driver also provides a cloning System V +.Pa /dev/ptmx +device. +.Pp New code should not try to allocate pseudo-terminals using this interface. It is only provided for compatibility with older C libraries @@ -63,6 +69,9 @@ Pseudo-terminal master devices. .It Pa /dev/tty[l-sL-S][0-9a-v] Pseudo-terminal slave devices. +.It Pa /dev/ptmx +Control device, returns a file descriptor to a new master +pseudo-terminal when opened. .El .Sh DIAGNOSTICS None. @@ -75,7 +84,7 @@ pseudo-terminal driver appeared in .Bx 4.2 . .Sh BUGS -Unlike previous implementations, the master slave device nodes are +Unlike previous implementations, the master and slave device nodes are destroyed when the PTY becomes unused. A call to .Xr stat 2 ==== //depot/projects/vimage/src/share/man/man5/make.conf.5#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/make.conf.5,v 1.140 2007/06/15 03:21:20 gshapiro Exp $ +.\" $FreeBSD: src/share/man/man5/make.conf.5,v 1.141 2009/09/01 05:55:10 maxim Exp $ .\" -.Dd September 5, 2006 +.Dd September 1, 2009 .Dt MAKE.CONF 5 .Os .Sh NAME @@ -466,6 +466,12 @@ and allow access over FireWire(IEEE1394) using .Xr dconschat 8 . Currently, only i386 and amd64 are supported. +.It Va MALLOC_PRODUCTION +.Pq Vt bool +Set this to disable assertions and statistics gathering in +.Xr malloc 3 . +It also defaults the A and J runtime options to off. +Disabled by default on -CURRENT. .It Va MODULES_WITH_WORLD .Pq Vt bool Set to build modules with the system instead of the kernel. ==== //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#23 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.60 2009/08/14 21:05:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -990,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + 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] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ ==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#35 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.669 2009/08/29 16:01:21 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.672 2009/09/02 16:47:10 jkim Exp $"); /* * Manages physical address maps. @@ -178,6 +178,8 @@ vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS; pt_entry_t pg_nx; +static int pat_works = 0; /* Is page attribute table sane? */ + SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; @@ -590,20 +592,56 @@ pmap_init_pat(void) { uint64_t pat_msr; + char *sysenv; + static int pat_tested = 0; /* Bail if this CPU doesn't implement PAT. */ if (!(cpu_feature & CPUID_PAT)) panic("no PAT??"); /* - * Leave the indices 0-3 at the default of WB, WT, UC, and UC-. - * Program 4 and 5 as WP and WC. - * Leave 6 and 7 as UC and UC-. + * Some Apple Macs based on nVidia chipsets cannot enter ACPI mode + * via SMI# when we use upper 4 PAT entries for unknown reason. */ - pat_msr = rdmsr(MSR_PAT); - pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); - pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | - PAT_VALUE(5, PAT_WRITE_COMBINING); + if (!pat_tested) { + pat_works = 1; + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook5,1", 10) == 0 || + strncmp(sysenv, "MacBookPro5,5", 13) == 0 || + strncmp(sysenv, "Macmini3,1", 10) == 0) + pat_works = 0; + freeenv(sysenv); + } + pat_tested = 1; + } + + /* Initialize default PAT entries. */ + pat_msr = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + + if (pat_works) { + /* + * Leave the indices 0-3 at the default of WB, WT, UC-, and UC. + * Program 4 and 5 as WP and WC. + * Leave 6 and 7 as UC- and UC. + */ + pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); + pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | + PAT_VALUE(5, PAT_WRITE_COMBINING); + } else { + /* + * Just replace PAT Index 2 with WC instead of UC-. + */ + pat_msr &= ~PAT_MASK(2); + pat_msr |= PAT_VALUE(2, PAT_WRITE_COMBINING); + } wrmsr(MSR_PAT, pat_msr); } @@ -754,27 +792,48 @@ pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; /* Map the caching mode to a PAT index. */ - switch (mode) { - case PAT_UNCACHEABLE: - pat_index = 3; - break; - case PAT_WRITE_THROUGH: - pat_index = 1; - break; - case PAT_WRITE_BACK: - pat_index = 0; - break; - case PAT_UNCACHED: - pat_index = 2; - break; - case PAT_WRITE_COMBINING: - pat_index = 5; - break; - case PAT_WRITE_PROTECTED: - pat_index = 4; - break; - default: - panic("Unknown caching mode %d\n", mode); + if (pat_works) { + switch (mode) { + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; + default: + panic("Unknown caching mode %d\n", mode); + } + } else { + switch (mode) { + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; + default: + panic("Unknown caching mode %d\n", mode); + } } /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ @@ -4476,7 +4535,8 @@ if (base < DMAP_MIN_ADDRESS) return (EINVAL); - cache_bits_pde = cache_bits_pte = -1; + cache_bits_pde = pmap_cache_bits(mode, 1); + cache_bits_pte = pmap_cache_bits(mode, 0); changed = FALSE; /* @@ -4493,8 +4553,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 1GB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_1gpage(tmpva) + NBPDP; continue; @@ -4522,8 +4580,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 2MB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_2mpage(tmpva) + NBPDR; continue; @@ -4557,12 +4613,9 @@ for (tmpva = base; tmpva < base + size; ) { pdpe = pmap_pdpe(kernel_pmap, tmpva); if (*pdpe & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pdpe, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4588,12 +4641,9 @@ } pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pde, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4616,13 +4666,10 @@ } tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - if (cache_bits_pte < 0) - cache_bits_pte = pmap_cache_bits(mode, 0); pte = pmap_pde_to_pte(pde, tmpva); if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { pmap_pte_attr(pte, cache_bits_pte); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { ==== //depot/projects/vimage/src/sys/amd64/conf/NOTES#21 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.92 2009/08/13 17:09:45 attilio Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.93 2009/09/09 09:50:31 delphij Exp $ # # @@ -154,6 +154,12 @@ ##################################################################### # HARDWARE DEVICE CONFIGURATION +# To include support for VGA VESA video modes (depends on X86EMU) +options VESA + +# Turn on extra debugging checks and output for VESA support. +options VESA_DEBUG + # # Optional devices: # ==== //depot/projects/vimage/src/sys/amd64/include/param.h#10 (text+ko) ==== @@ -36,33 +36,23 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.30 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.32 2009/09/08 20:45:40 phk Exp $ */ + +#ifndef _AMD64_INCLUDE_PARAM_H_ +#define _AMD64_INCLUDE_PARAM_H_ + +#include + /* * Machine dependent constants for AMD64. */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is u_long and - * must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(long) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) -#endif - -#ifndef _NO_NAMESPACE_POLLUTION #define __HAVE_ACPI #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "amd64" #endif @@ -150,5 +140,4 @@ #define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_AMD64_INCLUDE_PARAM_H_ */ ==== //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#13 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.42 2009/08/29 21:53:08 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.43 2009/09/01 11:41:51 kib Exp $"); #include #include @@ -119,9 +119,6 @@ #ifdef __XSCALE__ #ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE); - if (td2->td_altkstack) - pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages * - PAGE_SIZE); #endif #endif td2->td_pcb = pcb2; ==== //depot/projects/vimage/src/sys/arm/include/param.h#5 (text+ko) ==== @@ -35,35 +35,23 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.16 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.17 2009/09/08 20:45:40 phk Exp $ */ +#ifndef _ARM_INCLUDE_PARAM_H_ +#define _ARM_INCLUDE_PARAM_H_ + /* * Machine dependent constants for StrongARM */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is unsigned int - * and must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(int) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((unsigned)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) -#endif +#include #define STACKALIGNBYTES (8 - 1) #define STACKALIGN(p) ((u_int)(p) & ~STACKALIGNBYTES) -#ifndef _NO_NAMESPACE_POLLUTION - #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "arm" #endif @@ -136,5 +124,4 @@ #define pgtok(x) ((x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_ARM_INCLUDE_PARAM_H_ */ ==== //depot/projects/vimage/src/sys/cam/cam_xpt.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.218 2009/08/18 08:46:54 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.223 2009/09/06 19:06:50 mav Exp $"); #include #include @@ -1033,11 +1033,12 @@ * To ensure that this is printed in one piece, * mask out CAM interrupts. */ - printf("%s%d at %s%d bus %d target %d lun %d\n", + printf("%s%d at %s%d bus %d scbus%d target %d lun %d\n", periph->periph_name, periph->unit_number, path->bus->sim->sim_name, path->bus->sim->unit_number, path->bus->sim->bus_id, + path->bus->path_id, path->target->target_id, path->device->lun_id); printf("%s%d: ", periph->periph_name, periph->unit_number); @@ -2471,7 +2472,7 @@ path = start_ccb->ccb_h.path; cam_ccbq_insert_ccb(&path->device->ccbq, start_ccb); - if (path->device->qfrozen_cnt == 0) + if (path->device->ccbq.queue.qfrozen_cnt == 0) runq = xpt_schedule_dev_sendq(path->bus, path->device); else runq = 0; @@ -2930,7 +2931,7 @@ xpt_release_devq(crs->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - start_ccb->crs.qfrozen_cnt = dev->qfrozen_cnt; + start_ccb->crs.qfrozen_cnt = dev->ccbq.queue.qfrozen_cnt; start_ccb->ccb_h.status = CAM_REQ_CMP; break; } @@ -3226,7 +3227,7 @@ * If the device has been "frozen", don't attempt * to run it. */ - if (device->qfrozen_cnt > 0) { + if (device->ccbq.queue.qfrozen_cnt > 0) { continue; } @@ -3249,7 +3250,7 @@ * the device queue until we have a slot * available. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; STAILQ_INSERT_TAIL(&xsoftc.highpowerq, &work_ccb->ccb_h, xpt_links.stqe); @@ -3281,7 +3282,7 @@ * The client wants to freeze the queue * after this CCB is sent. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; } /* In Target mode, the peripheral driver knows best... */ @@ -4030,7 +4031,7 @@ mtx_assert(path->bus->sim->mtx, MA_OWNED); - path->device->qfrozen_cnt += count; + path->device->ccbq.queue.qfrozen_cnt += count; /* * Mark the last CCB in the queue as needing @@ -4048,7 +4049,7 @@ ccbh = TAILQ_LAST(&path->device->ccbq.active_ccbs, ccb_hdr_tailq); if (ccbh && ccbh->status == CAM_REQ_INPROG) ccbh->status = CAM_REQUEUE_REQ; - return (path->device->qfrozen_cnt); + return (path->device->ccbq.queue.qfrozen_cnt); } u_int32_t @@ -4092,11 +4093,12 @@ int rundevq; rundevq = 0; - if (dev->qfrozen_cnt > 0) { + if (dev->ccbq.queue.qfrozen_cnt > 0) { - count = (count > dev->qfrozen_cnt) ? dev->qfrozen_cnt : count; - dev->qfrozen_cnt -= count; - if (dev->qfrozen_cnt == 0) { + count = (count > dev->ccbq.queue.qfrozen_cnt) ? + dev->ccbq.queue.qfrozen_cnt : count; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 10 11:24:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EB881065693; Thu, 10 Sep 2009 11:24:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C615F1065679 for ; Thu, 10 Sep 2009 11:24:53 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B46808FC18 for ; Thu, 10 Sep 2009 11:24:53 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8ABOraR021050 for ; Thu, 10 Sep 2009 11:24:53 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8ABOrdj021047 for perforce@freebsd.org; Thu, 10 Sep 2009 11:24:53 GMT (envelope-from zec@fer.hr) Date: Thu, 10 Sep 2009 11:24:53 GMT Message-Id: <200909101124.n8ABOrdj021047@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 168400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 11:24:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=168400 Change 168400 by zec@zec_nxlab on 2009/09/10 11:24:45 IFC @ 168393 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/local_apic.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/conf/NOTES#11 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/amd64/include/param.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/arm/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/arm/include/param.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/cam/cam_xpt.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_cd.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_da.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#19 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#23 integrate .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#39 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#50 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.amd64#14 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.i386#21 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.ia64#6 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.powerpc#17 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files.sparc64#9 integrate .. //depot/projects/vimage-commit2/src/sys/conf/options#41 integrate .. //depot/projects/vimage-commit2/src/sys/conf/options.amd64#5 integrate .. //depot/projects/vimage-commit2/src/sys/contrib/x86emu/x86emu.c#1 branch .. //depot/projects/vimage-commit2/src/sys/contrib/x86emu/x86emu.h#1 branch .. //depot/projects/vimage-commit2/src/sys/contrib/x86emu/x86emu_regs.h#1 branch .. //depot/projects/vimage-commit2/src/sys/contrib/x86emu/x86emu_util.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/aac/aac.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/aac/aacvar.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ae/if_ae.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ahci/ahci.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/amr/amr.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-disk.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-dma.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-raid.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-acerlabs.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/chipsets/ata-marvell.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ah_osdep.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ath_hal/ah.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/if_ath.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#22 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_sge.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/dev/dpms/dpms.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_em.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ep/if_ep.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ep/if_epreg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fb/s3_pci.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fb/vesa.c#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/fb/vesa.h#1 branch .. //depot/projects/vimage-commit2/src/sys/dev/fb/vga.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/firewire/fwcrom.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/firewire/fwdev.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/fxp/if_fxp.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hptiop/hptiop.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/hwpmc_core.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/hwpmc/pmc_events.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/iir/iir.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ixgbe/ixgbe.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mpt/mpt_raid.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/msk/if_msk.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mwl/if_mwl.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/null/null.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pty/pty.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/rp/rp_pci.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac_private.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/scterm-teken.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/scvesactl.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/sequences#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken.c#6 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken.h#4 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken_demo.c#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken_subr.h#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken_subr_compat.h#3 delete .. //depot/projects/vimage-commit2/src/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/txp/if_txp.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rum.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rumreg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_urtw.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zyd.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/dev/wi/if_wi.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/blkfront/blkfront.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clnode.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clport.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/fs/pseudofs/pseudofs_vncache.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/fs/pseudofs/pseudofs_vnops.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/geom/geom_dev.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/geom/geom_disk.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/geom/geom_io.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/geom/geom_vfs.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/geom/stripe/g_stripe.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/i386/conf/NOTES#19 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/local_apic.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/machdep.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/pmap.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/i386/include/param.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/pc/vesa.h#2 delete .. //depot/projects/vimage-commit2/src/sys/i386/include/pcpu.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/pmap.h#10 integrate .. //depot/projects/vimage-commit2/src/sys/i386/isa/dpms.c#2 delete .. //depot/projects/vimage-commit2/src/sys/i386/isa/vesa.c#4 delete .. //depot/projects/vimage-commit2/src/sys/i386/xen/locore.s#4 integrate .. //depot/projects/vimage-commit2/src/sys/i386/xen/pmap.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/ia64/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/ia64/include/param.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_exec.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_fork.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_jail.c#36 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_kthread.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_linker.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_lock.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_mutex.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_proc.c#19 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_sx.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_thr.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_thread.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_bus.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kern/subr_witness.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/kern/sys_generic.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty_pts.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_subr.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_syscalls.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_vnops.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/mips/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/mips/include/param.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/modules/Makefile#30 integrate .. //depot/projects/vimage-commit2/src/sys/modules/dpms/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/vesa/Makefile#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/x86emu/Makefile#1 branch .. //depot/projects/vimage-commit2/src/sys/net/if_arp.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_llatbl.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/net/if_vlan.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/net/route.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#37 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_action.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_dfs.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_proto.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_sta.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/if_ether.c#41 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/if_ether.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in.c#36 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_mcast.c#28 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_fastfwd.c#17 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#36 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6.c#29 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_src.c#24 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_output.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/ipsec.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/key.c#38 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_node.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_serv.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/opencrypto/cryptodev.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/pc98/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/pc98/include/pc/vesa.h#2 delete .. //depot/projects/vimage-commit2/src/sys/powerpc/conf/GENERIC#14 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/powerpc/include/param.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_token.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/sparc64/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sparc64/include/param.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/sun4v/include/_align.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sun4v/include/param.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/_sockaddr_storage.h#1 branch .. //depot/projects/vimage-commit2/src/sys/sys/bus.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/sys/imgact_aout.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ioctl_compat.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#53 integrate .. //depot/projects/vimage-commit2/src/sys/sys/proc.h#24 integrate .. //depot/projects/vimage-commit2/src/sys/sys/socket.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/syscallsubr.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/sys/sysproto.h#11 integrate .. //depot/projects/vimage-commit2/src/sys/sys/tty.h#10 integrate .. //depot/projects/vimage-commit2/src/sys/sys/ttycom.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/teken/Makefile#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/gensequences#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/sequences#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken.c#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken.h#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken_demo.c#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken_scs.h#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken_stress.c#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken_subr.h#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/vimage-commit2/src/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/vimage-commit2/src/sys/ufs/ffs/ffs_softdep.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ffs/ffs_vfsops.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_acl.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_extern.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_glue.c#6 integrate Differences ... ==== //depot/projects/vimage-commit2/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.60 2009/08/14 21:05:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -990,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + 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] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#21 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.669 2009/08/29 16:01:21 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.672 2009/09/02 16:47:10 jkim Exp $"); /* * Manages physical address maps. @@ -178,6 +178,8 @@ vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS; pt_entry_t pg_nx; +static int pat_works = 0; /* Is page attribute table sane? */ + SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; @@ -590,20 +592,56 @@ pmap_init_pat(void) { uint64_t pat_msr; + char *sysenv; + static int pat_tested = 0; /* Bail if this CPU doesn't implement PAT. */ if (!(cpu_feature & CPUID_PAT)) panic("no PAT??"); /* - * Leave the indices 0-3 at the default of WB, WT, UC, and UC-. - * Program 4 and 5 as WP and WC. - * Leave 6 and 7 as UC and UC-. + * Some Apple Macs based on nVidia chipsets cannot enter ACPI mode + * via SMI# when we use upper 4 PAT entries for unknown reason. */ - pat_msr = rdmsr(MSR_PAT); - pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); - pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | - PAT_VALUE(5, PAT_WRITE_COMBINING); + if (!pat_tested) { + pat_works = 1; + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook5,1", 10) == 0 || + strncmp(sysenv, "MacBookPro5,5", 13) == 0 || + strncmp(sysenv, "Macmini3,1", 10) == 0) + pat_works = 0; + freeenv(sysenv); + } + pat_tested = 1; + } + + /* Initialize default PAT entries. */ + pat_msr = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + + if (pat_works) { + /* + * Leave the indices 0-3 at the default of WB, WT, UC-, and UC. + * Program 4 and 5 as WP and WC. + * Leave 6 and 7 as UC- and UC. + */ + pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); + pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | + PAT_VALUE(5, PAT_WRITE_COMBINING); + } else { + /* + * Just replace PAT Index 2 with WC instead of UC-. + */ + pat_msr &= ~PAT_MASK(2); + pat_msr |= PAT_VALUE(2, PAT_WRITE_COMBINING); + } wrmsr(MSR_PAT, pat_msr); } @@ -754,27 +792,48 @@ pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; /* Map the caching mode to a PAT index. */ - switch (mode) { - case PAT_UNCACHEABLE: - pat_index = 3; - break; - case PAT_WRITE_THROUGH: - pat_index = 1; - break; - case PAT_WRITE_BACK: - pat_index = 0; - break; - case PAT_UNCACHED: - pat_index = 2; - break; - case PAT_WRITE_COMBINING: - pat_index = 5; - break; - case PAT_WRITE_PROTECTED: - pat_index = 4; - break; - default: - panic("Unknown caching mode %d\n", mode); + if (pat_works) { + switch (mode) { + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; + default: + panic("Unknown caching mode %d\n", mode); + } + } else { + switch (mode) { + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; + default: + panic("Unknown caching mode %d\n", mode); + } } /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ @@ -4476,7 +4535,8 @@ if (base < DMAP_MIN_ADDRESS) return (EINVAL); - cache_bits_pde = cache_bits_pte = -1; + cache_bits_pde = pmap_cache_bits(mode, 1); + cache_bits_pte = pmap_cache_bits(mode, 0); changed = FALSE; /* @@ -4493,8 +4553,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 1GB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_1gpage(tmpva) + NBPDP; continue; @@ -4522,8 +4580,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 2MB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_2mpage(tmpva) + NBPDR; continue; @@ -4557,12 +4613,9 @@ for (tmpva = base; tmpva < base + size; ) { pdpe = pmap_pdpe(kernel_pmap, tmpva); if (*pdpe & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pdpe, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4588,12 +4641,9 @@ } pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pde, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4616,13 +4666,10 @@ } tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - if (cache_bits_pte < 0) - cache_bits_pte = pmap_cache_bits(mode, 0); pte = pmap_pde_to_pte(pde, tmpva); if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { pmap_pte_attr(pte, cache_bits_pte); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { ==== //depot/projects/vimage-commit2/src/sys/amd64/conf/NOTES#11 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.92 2009/08/13 17:09:45 attilio Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.93 2009/09/09 09:50:31 delphij Exp $ # # @@ -154,6 +154,12 @@ ##################################################################### # HARDWARE DEVICE CONFIGURATION +# To include support for VGA VESA video modes (depends on X86EMU) +options VESA + +# Turn on extra debugging checks and output for VESA support. +options VESA_DEBUG + # # Optional devices: # ==== //depot/projects/vimage-commit2/src/sys/amd64/include/param.h#9 (text+ko) ==== @@ -36,33 +36,23 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.30 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.32 2009/09/08 20:45:40 phk Exp $ */ + +#ifndef _AMD64_INCLUDE_PARAM_H_ +#define _AMD64_INCLUDE_PARAM_H_ + +#include + /* * Machine dependent constants for AMD64. */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is u_long and - * must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(long) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) -#endif - -#ifndef _NO_NAMESPACE_POLLUTION #define __HAVE_ACPI #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "amd64" #endif @@ -150,5 +140,4 @@ #define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_AMD64_INCLUDE_PARAM_H_ */ ==== //depot/projects/vimage-commit2/src/sys/arm/arm/vm_machdep.c#7 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.42 2009/08/29 21:53:08 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.43 2009/09/01 11:41:51 kib Exp $"); #include #include @@ -119,9 +119,6 @@ #ifdef __XSCALE__ #ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE); - if (td2->td_altkstack) - pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages * - PAGE_SIZE); #endif #endif td2->td_pcb = pcb2; ==== //depot/projects/vimage-commit2/src/sys/arm/include/param.h#4 (text+ko) ==== @@ -35,35 +35,23 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.16 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.17 2009/09/08 20:45:40 phk Exp $ */ +#ifndef _ARM_INCLUDE_PARAM_H_ +#define _ARM_INCLUDE_PARAM_H_ + /* * Machine dependent constants for StrongARM */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is unsigned int - * and must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(int) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((unsigned)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) -#endif +#include #define STACKALIGNBYTES (8 - 1) #define STACKALIGN(p) ((u_int)(p) & ~STACKALIGNBYTES) -#ifndef _NO_NAMESPACE_POLLUTION - #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "arm" #endif @@ -136,5 +124,4 @@ #define pgtok(x) ((x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_ARM_INCLUDE_PARAM_H_ */ ==== //depot/projects/vimage-commit2/src/sys/cam/cam_xpt.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.218 2009/08/18 08:46:54 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.223 2009/09/06 19:06:50 mav Exp $"); #include #include @@ -1033,11 +1033,12 @@ * To ensure that this is printed in one piece, * mask out CAM interrupts. */ - printf("%s%d at %s%d bus %d target %d lun %d\n", + printf("%s%d at %s%d bus %d scbus%d target %d lun %d\n", periph->periph_name, periph->unit_number, path->bus->sim->sim_name, path->bus->sim->unit_number, path->bus->sim->bus_id, + path->bus->path_id, path->target->target_id, path->device->lun_id); printf("%s%d: ", periph->periph_name, periph->unit_number); @@ -2471,7 +2472,7 @@ path = start_ccb->ccb_h.path; cam_ccbq_insert_ccb(&path->device->ccbq, start_ccb); - if (path->device->qfrozen_cnt == 0) + if (path->device->ccbq.queue.qfrozen_cnt == 0) runq = xpt_schedule_dev_sendq(path->bus, path->device); else runq = 0; @@ -2930,7 +2931,7 @@ xpt_release_devq(crs->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - start_ccb->crs.qfrozen_cnt = dev->qfrozen_cnt; + start_ccb->crs.qfrozen_cnt = dev->ccbq.queue.qfrozen_cnt; start_ccb->ccb_h.status = CAM_REQ_CMP; break; } @@ -3226,7 +3227,7 @@ * If the device has been "frozen", don't attempt * to run it. */ - if (device->qfrozen_cnt > 0) { + if (device->ccbq.queue.qfrozen_cnt > 0) { continue; } @@ -3249,7 +3250,7 @@ * the device queue until we have a slot * available. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; STAILQ_INSERT_TAIL(&xsoftc.highpowerq, &work_ccb->ccb_h, xpt_links.stqe); @@ -3281,7 +3282,7 @@ * The client wants to freeze the queue * after this CCB is sent. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; } /* In Target mode, the peripheral driver knows best... */ @@ -4030,7 +4031,7 @@ mtx_assert(path->bus->sim->mtx, MA_OWNED); - path->device->qfrozen_cnt += count; + path->device->ccbq.queue.qfrozen_cnt += count; /* * Mark the last CCB in the queue as needing @@ -4048,7 +4049,7 @@ ccbh = TAILQ_LAST(&path->device->ccbq.active_ccbs, ccb_hdr_tailq); if (ccbh && ccbh->status == CAM_REQ_INPROG) ccbh->status = CAM_REQUEUE_REQ; - return (path->device->qfrozen_cnt); + return (path->device->ccbq.queue.qfrozen_cnt); } u_int32_t @@ -4092,11 +4093,12 @@ int rundevq; rundevq = 0; - if (dev->qfrozen_cnt > 0) { + if (dev->ccbq.queue.qfrozen_cnt > 0) { - count = (count > dev->qfrozen_cnt) ? dev->qfrozen_cnt : count; - dev->qfrozen_cnt -= count; - if (dev->qfrozen_cnt == 0) { + count = (count > dev->ccbq.queue.qfrozen_cnt) ? + dev->ccbq.queue.qfrozen_cnt : count; + dev->ccbq.queue.qfrozen_cnt -= count; + if (dev->ccbq.queue.qfrozen_cnt == 0) { /* * No longer need to wait for a successful @@ -4198,12 +4200,12 @@ mtx_lock(&cam_simq_lock); TAILQ_INSERT_TAIL(&cam_simq, sim, links); + mtx_unlock(&cam_simq_lock); sim->flags |= CAM_SIM_ON_DONEQ; - mtx_unlock(&cam_simq_lock); + if ((done_ccb->ccb_h.path->periph->flags & + CAM_PERIPH_POLLED) == 0) + swi_sched(cambio_ih, 0); } - if ((done_ccb->ccb_h.path->periph->flags & - CAM_PERIPH_POLLED) == 0) - swi_sched(cambio_ih, 0); break; default: panic("unknown periph type %d", @@ -4401,15 +4403,11 @@ SLIST_INIT(&device->periphs); device->generation = 0; device->owner = NULL; - device->qfrozen_cnt = 0; device->flags = CAM_DEV_UNCONFIGURED; device->tag_delay_count = 0; device->tag_saved_openings = 0; device->refcount = 1; - if (bus->sim->flags & CAM_SIM_MPSAFE) - callout_init_mtx(&device->callout, bus->sim->mtx, 0); - else - callout_init_mtx(&device->callout, &Giant, 0); + callout_init_mtx(&device->callout, bus->sim->mtx, 0); /* * Hold a reference to our parent target so it @@ -4604,7 +4602,7 @@ CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD)) !=CAM_REQ_CMP){ printf("xptconfigfunc: xpt_create_path failed with " - "status %#x for bus %d\n", status, bus->path_id); + "status %#x for scbus%d\n", status, bus->path_id); printf("xptconfigfunc: halting bus configuration\n"); xpt_free_ccb(work_ccb); busses_to_config--; @@ -4615,7 +4613,7 @@ work_ccb->ccb_h.func_code = XPT_PATH_INQ; xpt_action(work_ccb); if (work_ccb->ccb_h.status != CAM_REQ_CMP) { - printf("xptconfigfunc: CPI failed on bus %d " + printf("xptconfigfunc: CPI failed on scbus%d " "with status %d\n", bus->path_id, work_ccb->ccb_h.status); xpt_finishconfig(xpt_periph, work_ccb); @@ -4889,16 +4887,20 @@ mtx_lock(&cam_simq_lock); TAILQ_INIT(&queue); - TAILQ_CONCAT(&queue, &cam_simq, links); - mtx_unlock(&cam_simq_lock); + while (!TAILQ_EMPTY(&cam_simq)) { + TAILQ_CONCAT(&queue, &cam_simq, links); + mtx_unlock(&cam_simq_lock); - while ((sim = TAILQ_FIRST(&queue)) != NULL) { - TAILQ_REMOVE(&queue, sim, links); - CAM_SIM_LOCK(sim); - sim->flags &= ~CAM_SIM_ON_DONEQ; - camisr_runqueue(&sim->sim_doneq); - CAM_SIM_UNLOCK(sim); + while ((sim = TAILQ_FIRST(&queue)) != NULL) { + TAILQ_REMOVE(&queue, sim, links); + CAM_SIM_LOCK(sim); + sim->flags &= ~CAM_SIM_ON_DONEQ; + camisr_runqueue(&sim->sim_doneq); + CAM_SIM_UNLOCK(sim); + } + mtx_lock(&cam_simq_lock); } + mtx_unlock(&cam_simq_lock); } static void @@ -4969,7 +4971,7 @@ xpt_start_tags(ccb_h->path); if ((dev->ccbq.queue.entries > 0) - && (dev->qfrozen_cnt == 0) + && (dev->ccbq.queue.qfrozen_cnt == 0) && (device_is_send_queued(dev) == 0)) { runq = xpt_schedule_dev_sendq(ccb_h->path->bus, dev); ==== //depot/projects/vimage-commit2/src/sys/cam/cam_xpt_internal.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_xpt_internal.h,v 1.1 2009/07/10 08:18:08 scottl Exp $ + * $FreeBSD: src/sys/cam/cam_xpt_internal.h,v 1.2 2009/09/06 19:06:50 mav Exp $ */ #ifndef _CAM_CAM_XPT_INTERNAL_H @@ -106,7 +106,6 @@ u_int8_t queue_flags; /* Queue flags from the control page */ u_int8_t serial_num_len; u_int8_t *serial_num; - u_int32_t qfrozen_cnt; u_int32_t flags; #define CAM_DEV_UNCONFIGURED 0x01 #define CAM_DEV_REL_TIMEOUT_PENDING 0x02 ==== //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_cd.c#4 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.107 2009/07/10 08:18:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.110 2009/09/08 16:09:28 scottl Exp $"); #include "opt_cd.h" @@ -2528,7 +2528,7 @@ error = cdgetmode(periph, ¶ms, AUDIO_PAGE); if (error) { - free(¶ms, M_SCSICD); + free(¶ms.mode_buf, M_SCSICD); cam_periph_unlock(periph); break; } ==== //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_da.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.237 2009/08/26 21:14:28 stas Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.238 2009/09/04 09:40:59 pjd Exp $"); #include @@ -1266,6 +1266,8 @@ softc->disk->d_flags = 0; if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE; + strlcpy(softc->disk->d_ident, cgd->serial_num, + MIN(sizeof(softc->disk->d_ident), cgd->serial_num_len + 1)); disk_create(softc->disk, DISK_VERSION); mtx_lock(periph->sim->mtx); ==== //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c,v 1.11 2009/06/22 10:08:48 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c,v 1.12 2009/09/08 09:17:34 kib Exp $"); #include #include @@ -69,7 +69,7 @@ struct thread *td = curthread; struct filedesc *fd; struct nameidata nd; - int error, flags; + int error, flags, vfslocked; fd = td->td_proc->p_fd; FILEDESC_XLOCK(fd); @@ -86,11 +86,13 @@ flags = FREAD | O_NOFOLLOW; NDINIT(&nd, LOOKUP, MPSAFE, UIO_SYSSPACE, file, td); error = vn_open_cred(&nd, &flags, 0, 0, curthread->td_ucred, NULL); - NDFREE(&nd, NDF_ONLY_PNBUF); if (error != 0) return (NULL); + vfslocked = NDHASGIANT(&nd); + NDFREE(&nd, NDF_ONLY_PNBUF); /* We just unlock so we hold a reference. */ VOP_UNLOCK(nd.ni_vp, 0); + VFS_UNLOCK_GIANT(vfslocked); return (nd.ni_vp); } ==== //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c,v 1.15 2009/05/11 15:33:26 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c,v 1.16 2009/09/07 18:23:26 pjd Exp $"); #include #include @@ -45,20 +45,33 @@ { struct vfsopt *opt; size_t namesize; + int locked; + if (!(locked = mtx_owned(MNT_MTX(vfsp)))) + MNT_ILOCK(vfsp); + if (vfsp->mnt_opt == NULL) { - vfsp->mnt_opt = malloc(sizeof(*vfsp->mnt_opt), M_MOUNT, M_WAITOK); - TAILQ_INIT(vfsp->mnt_opt); + void *opts; + + MNT_IUNLOCK(vfsp); + opts = malloc(sizeof(*vfsp->mnt_opt), M_MOUNT, M_WAITOK); + MNT_ILOCK(vfsp); + if (vfsp->mnt_opt == NULL) { + vfsp->mnt_opt = opts; + TAILQ_INIT(vfsp->mnt_opt); + } else { + free(opts, M_MOUNT); + } } + MNT_IUNLOCK(vfsp); + opt = malloc(sizeof(*opt), M_MOUNT, M_WAITOK); - namesize = strlen(name) + 1; opt->name = malloc(namesize, M_MOUNT, M_WAITOK); strlcpy(opt->name, name, namesize); opt->pos = -1; opt->seen = 1; - if (arg == NULL) { opt->value = NULL; opt->len = 0; @@ -67,16 +80,23 @@ opt->value = malloc(opt->len, M_MOUNT, M_WAITOK); bcopy(arg, opt->value, opt->len); } - /* TODO: Locking. */ + + MNT_ILOCK(vfsp); TAILQ_INSERT_TAIL(vfsp->mnt_opt, opt, link); + if (!locked) + MNT_IUNLOCK(vfsp); } void >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 10 16:59:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0043D1065679; Thu, 10 Sep 2009 16:59:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7C541065672 for ; Thu, 10 Sep 2009 16:59:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7E4EF8FC14 for ; Thu, 10 Sep 2009 16:59:00 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8AGx0On071007 for ; Thu, 10 Sep 2009 16:59:00 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8AGx0HL071005 for perforce@freebsd.org; Thu, 10 Sep 2009 16:59:00 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 10 Sep 2009 16:59:00 GMT Message-Id: <200909101659.n8AGx0HL071005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168410 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 16:59:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=168410 Change 168410 by hselasky@hselasky_laptop001 on 2009/09/10 16:58:57 USB EHCI: - minor code refactor - expand some "htohc32(temp.sc, 0)" statements to zero. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#33 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#33 (text+ko) ==== @@ -1918,18 +1918,15 @@ EHCI_QH_SET_MPL(xfer->max_packet_size)); if (usbd_get_speed(xfer->xroot->udev) == USB_SPEED_HIGH) { - qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) | - EHCI_QH_DTC); + qh_endp |= EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH); if (methods != &ehci_device_intr_methods) qh_endp |= EHCI_QH_SET_NRL(8); } else { if (usbd_get_speed(xfer->xroot->udev) == USB_SPEED_FULL) { - qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_FULL) | - EHCI_QH_DTC); + qh_endp |= EHCI_QH_SET_EPS(EHCI_QH_SPEED_FULL); } else { - qh_endp |= (EHCI_QH_SET_EPS(EHCI_QH_SPEED_LOW) | - EHCI_QH_DTC); + qh_endp |= EHCI_QH_SET_EPS(EHCI_QH_SPEED_LOW); } if (methods == &ehci_device_ctrl_methods) { @@ -1941,6 +1938,11 @@ } } + if (temp.auto_data_toggle == 0) { + /* software computes the data toggle */ + qh_endp |= EHCI_QH_DTC; + } + qh->qh_endp = htohc32(temp.sc, qh_endp); qh_endphub = @@ -1951,23 +1953,17 @@ EHCI_QH_SET_PORT(xfer->xroot->udev->hs_port_no)); qh->qh_endphub = htohc32(temp.sc, qh_endphub); - qh->qh_curqtd = htohc32(temp.sc, 0); + qh->qh_curqtd = 0; /* fill the overlay qTD */ - qh->qh_qtd.qtd_status = htohc32(temp.sc, 0); - if (temp.auto_data_toggle) { - - /* let the hardware compute the data toggle */ + if (temp.auto_data_toggle && xfer->endpoint->toggle_next) { + /* DATA1 is next */ + qh->qh_qtd.qtd_status = htohc32(temp.sc, EHCI_QTD_SET_TOGGLE(1)); + } else { + qh->qh_qtd.qtd_status = 0; + } - qh->qh_endp &= htohc32(temp.sc, ~EHCI_QH_DTC); - - if (xfer->endpoint->toggle_next) { - /* DATA1 is next */ - qh->qh_qtd.qtd_status |= - htohc32(temp.sc, EHCI_QTD_SET_TOGGLE(1)); - } - } td = xfer->td_transfer_first; qh->qh_qtd.qtd_next = td->qtd_self; From owner-p4-projects@FreeBSD.ORG Thu Sep 10 18:23:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F2E11065672; Thu, 10 Sep 2009 18:23:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42D181065670 for ; Thu, 10 Sep 2009 18:23:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 300A28FC08 for ; Thu, 10 Sep 2009 18:23:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8AINZMB079739 for ; Thu, 10 Sep 2009 18:23:35 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8AINYtE079737 for perforce@freebsd.org; Thu, 10 Sep 2009 18:23:34 GMT (envelope-from jhb@freebsd.org) Date: Thu, 10 Sep 2009 18:23:34 GMT Message-Id: <200909101823.n8AINYtE079737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 168417 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 18:23:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=168417 Change 168417 by jhb@jhb_jhbbsd on 2009/09/10 18:23:03 IFC @168412 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#18 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#35 integrate .. //depot/projects/smpng/sys/amd64/amd64/initcpu.c#11 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#46 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#15 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#99 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#54 integrate .. //depot/projects/smpng/sys/amd64/include/_align.h#1 branch .. //depot/projects/smpng/sys/amd64/include/param.h#26 integrate .. //depot/projects/smpng/sys/amd64/include/specialreg.h#22 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#27 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#32 integrate .. //depot/projects/smpng/sys/arm/conf/CAMBRIA#10 integrate .. //depot/projects/smpng/sys/arm/include/_align.h#1 branch .. //depot/projects/smpng/sys/arm/include/param.h#13 integrate .. //depot/projects/smpng/sys/cam/ata/ata_all.c#2 integrate .. //depot/projects/smpng/sys/cam/ata/ata_all.h#2 integrate .. //depot/projects/smpng/sys/cam/ata/ata_da.c#3 integrate .. //depot/projects/smpng/sys/cam/ata/ata_xpt.c#4 integrate .. //depot/projects/smpng/sys/cam/cam_xpt.c#61 integrate .. //depot/projects/smpng/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#39 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#87 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#5 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#7 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#15 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#63 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#59 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#25 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#81 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#65 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#102 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_proto.h#21 integrate .. //depot/projects/smpng/sys/conf/NOTES#177 integrate .. //depot/projects/smpng/sys/conf/files#252 integrate .. //depot/projects/smpng/sys/conf/files.amd64#68 integrate .. //depot/projects/smpng/sys/conf/files.i386#127 integrate .. //depot/projects/smpng/sys/conf/files.ia64#65 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#56 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#74 integrate .. //depot/projects/smpng/sys/conf/options#177 integrate .. //depot/projects/smpng/sys/conf/options.amd64#27 integrate .. //depot/projects/smpng/sys/contrib/x86emu/x86emu.c#1 branch .. //depot/projects/smpng/sys/contrib/x86emu/x86emu.h#1 branch .. //depot/projects/smpng/sys/contrib/x86emu/x86emu_regs.h#1 branch .. //depot/projects/smpng/sys/contrib/x86emu/x86emu_util.c#1 branch .. //depot/projects/smpng/sys/dev/aac/aac.c#68 integrate .. //depot/projects/smpng/sys/dev/aac/aacvar.h#31 integrate .. //depot/projects/smpng/sys/dev/ae/if_ae.c#5 integrate .. //depot/projects/smpng/sys/dev/ahci/ahci.c#2 integrate .. //depot/projects/smpng/sys/dev/ahci/ahci.h#2 integrate .. //depot/projects/smpng/sys/dev/amr/amr.c#52 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#73 integrate .. //depot/projects/smpng/sys/dev/ata/ata-dma.c#57 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid.c#57 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-acerlabs.c#6 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-marvell.c#8 integrate .. //depot/projects/smpng/sys/dev/ath/ah_osdep.c#10 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.c#11 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_regdomain.c#6 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#82 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#31 integrate .. //depot/projects/smpng/sys/dev/coretemp/coretemp.c#6 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#25 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#23 integrate .. //depot/projects/smpng/sys/dev/dpms/dpms.c#1 branch .. //depot/projects/smpng/sys/dev/e1000/if_em.c#13 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep.c#31 integrate .. //depot/projects/smpng/sys/dev/ep/if_epreg.h#9 integrate .. //depot/projects/smpng/sys/dev/fb/s3_pci.c#10 integrate .. //depot/projects/smpng/sys/dev/fb/vesa.c#1 branch .. //depot/projects/smpng/sys/dev/fb/vesa.h#1 branch .. //depot/projects/smpng/sys/dev/fb/vga.c#25 integrate .. //depot/projects/smpng/sys/dev/firewire/fwcrom.c#13 integrate .. //depot/projects/smpng/sys/dev/firewire/fwdev.c#29 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#94 integrate .. //depot/projects/smpng/sys/dev/hptiop/hptiop.c#5 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_core.c#5 integrate .. //depot/projects/smpng/sys/dev/hwpmc/pmc_events.h#6 integrate .. //depot/projects/smpng/sys/dev/iir/iir.c#22 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#11 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_raid.c#16 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#20 integrate .. //depot/projects/smpng/sys/dev/mwl/if_mwl.c#5 integrate .. //depot/projects/smpng/sys/dev/null/null.c#21 integrate .. //depot/projects/smpng/sys/dev/pty/pty.c#2 integrate .. //depot/projects/smpng/sys/dev/rp/rp_pci.c#11 integrate .. //depot/projects/smpng/sys/dev/siis/siis.c#2 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#39 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac_private.h#9 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/smpng/sys/dev/syscons/daemon/daemon_saver.c#9 integrate .. //depot/projects/smpng/sys/dev/syscons/scterm-teken.c#7 integrate .. //depot/projects/smpng/sys/dev/syscons/scvesactl.c#10 integrate .. //depot/projects/smpng/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/smpng/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/smpng/sys/dev/syscons/teken/sequences#4 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken.c#8 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken.h#6 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken_demo.c#4 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken_subr.h#4 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken_subr_compat.h#4 delete .. //depot/projects/smpng/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/smpng/sys/dev/txp/if_txp.c#41 integrate .. //depot/projects/smpng/sys/dev/usb/storage/umass.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rumreg.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#12 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#96 integrate .. //depot/projects/smpng/sys/dev/xen/blkfront/blkfront.c#7 integrate .. //depot/projects/smpng/sys/fs/fifofs/fifo_vnops.c#53 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_conv.c#20 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clnode.c#5 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clport.c#4 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vncache.c#32 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#61 integrate .. //depot/projects/smpng/sys/geom/geom_dev.c#53 integrate .. //depot/projects/smpng/sys/geom/geom_disk.c#57 integrate .. //depot/projects/smpng/sys/geom/geom_io.c#52 integrate .. //depot/projects/smpng/sys/geom/geom_vfs.c#10 integrate .. //depot/projects/smpng/sys/geom/mirror/g_mirror_ctl.c#14 integrate .. //depot/projects/smpng/sys/geom/multipath/g_multipath.c#3 integrate .. //depot/projects/smpng/sys/geom/stripe/g_stripe.c#20 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#146 integrate .. //depot/projects/smpng/sys/i386/cpufreq/hwpstate.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/elf_machdep.c#21 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#66 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#68 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#146 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#15 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#138 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_proto.h#20 integrate .. //depot/projects/smpng/sys/i386/include/_align.h#1 branch .. //depot/projects/smpng/sys/i386/include/param.h#24 integrate .. //depot/projects/smpng/sys/i386/include/pc/vesa.h#4 delete .. //depot/projects/smpng/sys/i386/include/pcpu.h#22 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#47 integrate .. //depot/projects/smpng/sys/i386/include/specialreg.h#27 integrate .. //depot/projects/smpng/sys/i386/isa/dpms.c#2 delete .. //depot/projects/smpng/sys/i386/isa/vesa.c#22 delete .. //depot/projects/smpng/sys/i386/linux/linux_proto.h#46 integrate .. //depot/projects/smpng/sys/i386/xen/locore.s#4 integrate .. //depot/projects/smpng/sys/i386/xen/pmap.c#11 integrate .. //depot/projects/smpng/sys/ia64/include/_align.h#1 branch .. //depot/projects/smpng/sys/ia64/include/param.h#23 integrate .. //depot/projects/smpng/sys/kern/imgact_elf.c#68 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#62 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#124 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#145 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#125 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#78 integrate .. //depot/projects/smpng/sys/kern/kern_kthread.c#23 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#106 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#79 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#157 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#108 integrate .. //depot/projects/smpng/sys/kern/kern_sx.c#60 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#52 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#115 integrate .. //depot/projects/smpng/sys/kern/subr_bus.c#84 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#181 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#62 integrate .. //depot/projects/smpng/sys/kern/tty_pts.c#23 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#132 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#171 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#155 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#99 integrate .. //depot/projects/smpng/sys/mips/include/_align.h#1 branch .. //depot/projects/smpng/sys/mips/include/param.h#5 integrate .. //depot/projects/smpng/sys/modules/Makefile#167 integrate .. //depot/projects/smpng/sys/modules/dpms/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/vesa/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/x86emu/Makefile#1 branch .. //depot/projects/smpng/sys/net/flowtable.c#8 integrate .. //depot/projects/smpng/sys/net/if.c#128 integrate .. //depot/projects/smpng/sys/net/if_arp.h#10 integrate .. //depot/projects/smpng/sys/net/if_llatbl.c#7 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#71 integrate .. //depot/projects/smpng/sys/net/route.h#34 integrate .. //depot/projects/smpng/sys/net/rtsock.c#78 integrate .. //depot/projects/smpng/sys/net/vnet.c#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_action.c#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_dfs.c#6 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.h#29 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_sta.c#13 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#76 integrate .. //depot/projects/smpng/sys/netinet/if_ether.h#13 integrate .. //depot/projects/smpng/sys/netinet/in.c#61 integrate .. //depot/projects/smpng/sys/netinet/in.h#48 integrate .. //depot/projects/smpng/sys/netinet/in_mcast.c#18 integrate .. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#39 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#115 integrate .. //depot/projects/smpng/sys/netinet/sctp_bsd_addr.c#13 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#61 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#66 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#46 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#70 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#69 integrate .. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#38 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.h#21 integrate .. //depot/projects/smpng/sys/netipsec/key.c#43 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_node.c#34 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#67 integrate .. //depot/projects/smpng/sys/opencrypto/cryptodev.c#28 integrate .. //depot/projects/smpng/sys/pc98/include/_align.h#1 branch .. //depot/projects/smpng/sys/pc98/include/pc/vesa.h#2 delete .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#62 integrate .. //depot/projects/smpng/sys/powerpc/include/_align.h#1 branch .. //depot/projects/smpng/sys/powerpc/include/param.h#18 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm_token.c#17 integrate .. //depot/projects/smpng/sys/sparc64/include/_align.h#1 branch .. //depot/projects/smpng/sys/sparc64/include/param.h#23 integrate .. //depot/projects/smpng/sys/sun4v/include/_align.h#1 branch .. //depot/projects/smpng/sys/sun4v/include/param.h#5 integrate .. //depot/projects/smpng/sys/sys/_sockaddr_storage.h#1 branch .. //depot/projects/smpng/sys/sys/bus.h#37 integrate .. //depot/projects/smpng/sys/sys/conf.h#61 integrate .. //depot/projects/smpng/sys/sys/imgact_aout.h#11 integrate .. //depot/projects/smpng/sys/sys/imgact_elf.h#15 integrate .. //depot/projects/smpng/sys/sys/ioctl_compat.h#9 integrate .. //depot/projects/smpng/sys/sys/param.h#156 integrate .. //depot/projects/smpng/sys/sys/proc.h#201 integrate .. //depot/projects/smpng/sys/sys/socket.h#36 integrate .. //depot/projects/smpng/sys/sys/syscallsubr.h#63 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#98 integrate .. //depot/projects/smpng/sys/sys/tty.h#32 integrate .. //depot/projects/smpng/sys/sys/ttycom.h#11 integrate .. //depot/projects/smpng/sys/sys/types.h#39 integrate .. //depot/projects/smpng/sys/teken/Makefile#1 branch .. //depot/projects/smpng/sys/teken/gensequences#1 branch .. //depot/projects/smpng/sys/teken/sequences#1 branch .. //depot/projects/smpng/sys/teken/teken.c#1 branch .. //depot/projects/smpng/sys/teken/teken.h#1 branch .. //depot/projects/smpng/sys/teken/teken_demo.c#1 branch .. //depot/projects/smpng/sys/teken/teken_scs.h#1 branch .. //depot/projects/smpng/sys/teken/teken_stress.c#1 branch .. //depot/projects/smpng/sys/teken/teken_subr.h#1 branch .. //depot/projects/smpng/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/smpng/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#77 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#115 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_acl.c#19 integrate .. //depot/projects/smpng/sys/vm/device_pager.c#29 integrate .. //depot/projects/smpng/sys/vm/sg_pager.c#2 integrate .. //depot/projects/smpng/sys/vm/vm.h#16 integrate .. //depot/projects/smpng/sys/vm/vm_extern.h#38 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#69 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#18 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.31 2009/08/24 16:19:47 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.32 2009/08/30 14:38:17 bz Exp $"); #include #include @@ -118,7 +118,7 @@ .sysvec = &elf64_freebsd_sysvec, .interp_newpath = NULL, .brand_note = &elf64_kfreebsd_brandnote, - .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY }; SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY, ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#35 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.175 2009/09/10 17:27:36 jkim Exp $"); #include "opt_cpu.h" @@ -371,21 +371,21 @@ switch (cpu_vendor_id) { case CPU_VENDOR_AMD: if ((amd_pminfo & AMDPM_TSC_INVARIANT) || - AMD64_CPU_FAMILY(cpu_id) >= 0x10 || + CPUID_TO_FAMILY(cpu_id) >= 0x10 || cpu_id == 0x60fb2) tsc_is_invariant = 1; break; case CPU_VENDOR_INTEL: if ((amd_pminfo & AMDPM_TSC_INVARIANT) || - (AMD64_CPU_FAMILY(cpu_id) == 0x6 && - AMD64_CPU_MODEL(cpu_id) >= 0xe) || - (AMD64_CPU_FAMILY(cpu_id) == 0xf && - AMD64_CPU_MODEL(cpu_id) >= 0x3)) + (CPUID_TO_FAMILY(cpu_id) == 0x6 && + CPUID_TO_MODEL(cpu_id) >= 0xe) || + (CPUID_TO_FAMILY(cpu_id) == 0xf && + CPUID_TO_MODEL(cpu_id) >= 0x3)) tsc_is_invariant = 1; break; case CPU_VENDOR_CENTAUR: - if (AMD64_CPU_FAMILY(cpu_id) == 0x6 && - AMD64_CPU_MODEL(cpu_id) >= 0xf && + if (CPUID_TO_FAMILY(cpu_id) == 0x6 && + CPUID_TO_MODEL(cpu_id) >= 0xf && (rdmsr(0x1203) & 0x100000000ULL) == 0) tsc_is_invariant = 1; break; ==== //depot/projects/smpng/sys/amd64/amd64/initcpu.c#11 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.54 2009/07/22 14:32:38 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.55 2009/09/10 17:27:36 jkim Exp $"); #include "opt_cpu.h" @@ -154,8 +154,8 @@ pg_nx = PG_NX; } if (cpu_vendor_id == CPU_VENDOR_CENTAUR && - AMD64_CPU_FAMILY(cpu_id) == 0x6 && - AMD64_CPU_MODEL(cpu_id) >= 0xf) + CPUID_TO_FAMILY(cpu_id) == 0x6 && + CPUID_TO_MODEL(cpu_id) >= 0xf) init_via(); /* ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#46 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.60 2009/08/14 21:05:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -990,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + 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] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ ==== //depot/projects/smpng/sys/amd64/amd64/msi.c#15 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.14 2009/07/06 18:23:00 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.15 2009/09/10 17:27:36 jkim Exp $"); #include #include @@ -275,8 +275,8 @@ case CPU_VENDOR_AMD: break; case CPU_VENDOR_CENTAUR: - if (AMD64_CPU_FAMILY(cpu_id) == 0x6 && - AMD64_CPU_MODEL(cpu_id) >= 0xf) + if (CPUID_TO_FAMILY(cpu_id) == 0x6 && + CPUID_TO_MODEL(cpu_id) >= 0xf) break; /* FALLTHROUGH */ default: ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#99 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.668 2009/08/17 13:27:55 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.672 2009/09/02 16:47:10 jkim Exp $"); /* * Manages physical address maps. @@ -178,6 +178,8 @@ vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS; pt_entry_t pg_nx; +static int pat_works = 0; /* Is page attribute table sane? */ + SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; @@ -590,20 +592,56 @@ pmap_init_pat(void) { uint64_t pat_msr; + char *sysenv; + static int pat_tested = 0; /* Bail if this CPU doesn't implement PAT. */ if (!(cpu_feature & CPUID_PAT)) panic("no PAT??"); /* - * Leave the indices 0-3 at the default of WB, WT, UC, and UC-. - * Program 4 and 5 as WP and WC. - * Leave 6 and 7 as UC and UC-. + * Some Apple Macs based on nVidia chipsets cannot enter ACPI mode + * via SMI# when we use upper 4 PAT entries for unknown reason. */ - pat_msr = rdmsr(MSR_PAT); - pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); - pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | - PAT_VALUE(5, PAT_WRITE_COMBINING); + if (!pat_tested) { + pat_works = 1; + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook5,1", 10) == 0 || + strncmp(sysenv, "MacBookPro5,5", 13) == 0 || + strncmp(sysenv, "Macmini3,1", 10) == 0) + pat_works = 0; + freeenv(sysenv); + } + pat_tested = 1; + } + + /* Initialize default PAT entries. */ + pat_msr = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + + if (pat_works) { + /* + * Leave the indices 0-3 at the default of WB, WT, UC-, and UC. + * Program 4 and 5 as WP and WC. + * Leave 6 and 7 as UC- and UC. + */ + pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); + pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | + PAT_VALUE(5, PAT_WRITE_COMBINING); + } else { + /* + * Just replace PAT Index 2 with WC instead of UC-. + */ + pat_msr &= ~PAT_MASK(2); + pat_msr |= PAT_VALUE(2, PAT_WRITE_COMBINING); + } wrmsr(MSR_PAT, pat_msr); } @@ -754,27 +792,48 @@ pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; /* Map the caching mode to a PAT index. */ - switch (mode) { - case PAT_UNCACHEABLE: - pat_index = 3; - break; - case PAT_WRITE_THROUGH: - pat_index = 1; - break; - case PAT_WRITE_BACK: - pat_index = 0; - break; - case PAT_UNCACHED: - pat_index = 2; - break; - case PAT_WRITE_COMBINING: - pat_index = 5; - break; - case PAT_WRITE_PROTECTED: - pat_index = 4; - break; - default: - panic("Unknown caching mode %d\n", mode); + if (pat_works) { + switch (mode) { + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; + default: + panic("Unknown caching mode %d\n", mode); + } + } else { + switch (mode) { + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; + default: + panic("Unknown caching mode %d\n", mode); + } } /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ @@ -943,8 +1002,8 @@ * coherence domain. */ mfence(); - for (; eva < sva; eva += cpu_clflush_line_size) - clflush(eva); + for (; sva < eva; sva += cpu_clflush_line_size) + clflush(sva); mfence(); } else { @@ -4476,7 +4535,8 @@ if (base < DMAP_MIN_ADDRESS) return (EINVAL); - cache_bits_pde = cache_bits_pte = -1; + cache_bits_pde = pmap_cache_bits(mode, 1); + cache_bits_pte = pmap_cache_bits(mode, 0); changed = FALSE; /* @@ -4493,8 +4553,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 1GB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_1gpage(tmpva) + NBPDP; continue; @@ -4522,8 +4580,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 2MB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_2mpage(tmpva) + NBPDR; continue; @@ -4557,12 +4613,9 @@ for (tmpva = base; tmpva < base + size; ) { pdpe = pmap_pdpe(kernel_pmap, tmpva); if (*pdpe & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pdpe, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4588,12 +4641,9 @@ } pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pde, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4616,13 +4666,10 @@ } tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - if (cache_bits_pte < 0) - cache_bits_pte = pmap_cache_bits(mode, 0); pte = pmap_pde_to_pte(pde, tmpva); if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { pmap_pte_attr(pte, cache_bits_pte); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { ==== //depot/projects/smpng/sys/amd64/conf/NOTES#54 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.92 2009/08/13 17:09:45 attilio Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.93 2009/09/09 09:50:31 delphij Exp $ # # @@ -154,6 +154,12 @@ ##################################################################### # HARDWARE DEVICE CONFIGURATION +# To include support for VGA VESA video modes (depends on X86EMU) +options VESA + +# Turn on extra debugging checks and output for VESA support. +options VESA_DEBUG + # # Optional devices: # ==== //depot/projects/smpng/sys/amd64/include/param.h#26 (text+ko) ==== @@ -36,33 +36,23 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.30 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.32 2009/09/08 20:45:40 phk Exp $ */ + +#ifndef _AMD64_INCLUDE_PARAM_H_ +#define _AMD64_INCLUDE_PARAM_H_ + +#include + /* * Machine dependent constants for AMD64. */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is u_long and - * must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(long) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) -#endif - -#ifndef _NO_NAMESPACE_POLLUTION #define __HAVE_ACPI #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "amd64" #endif @@ -150,5 +140,4 @@ #define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_AMD64_INCLUDE_PARAM_H_ */ ==== //depot/projects/smpng/sys/amd64/include/specialreg.h#22 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.55 2009/05/13 17:53:04 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.56 2009/09/10 17:27:36 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -168,10 +168,10 @@ #define CPUID_FAMILY 0x00000f00 #define CPUID_EXT_MODEL 0x000f0000 #define CPUID_EXT_FAMILY 0x0ff00000 -#define AMD64_CPU_MODEL(id) \ +#define CPUID_TO_MODEL(id) \ ((((id) & CPUID_MODEL) >> 4) | \ (((id) & CPUID_EXT_MODEL) >> 12)) -#define AMD64_CPU_FAMILY(id) \ +#define CPUID_TO_FAMILY(id) \ ((((id) & CPUID_FAMILY) >> 8) + \ (((id) & CPUID_EXT_FAMILY) >> 20)) ==== //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#27 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.39 2008/11/29 14:57:58 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.40 2009/09/10 13:20:27 des Exp $ * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 185438 2008-11-29 14:55:24Z kib */ @@ -1257,6 +1257,13 @@ #endif /* COMPAT_FREEBSD6 */ + +#ifdef COMPAT_FREEBSD7 + +#define nosys linux_nosys + +#endif /* COMPAT_FREEBSD7 */ + #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 ==== //depot/projects/smpng/sys/arm/arm/vm_machdep.c#32 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.40 2009/07/20 07:53:07 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.43 2009/09/01 11:41:51 kib Exp $"); #include #include @@ -119,9 +119,6 @@ #ifdef __XSCALE__ #ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE); - if (td2->td_altkstack) - pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages * - PAGE_SIZE); #endif #endif td2->td_pcb = pcb2; ==== //depot/projects/smpng/sys/arm/conf/CAMBRIA#10 (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/arm/conf/CAMBRIA,v 1.12 2009/07/17 18:35:45 rpaulo Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA,v 1.14 2009/08/27 17:55:44 sam Exp $ ident CAMBRIA ==== //depot/projects/smpng/sys/arm/include/param.h#13 (text+ko) ==== @@ -35,35 +35,23 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.16 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.17 2009/09/08 20:45:40 phk Exp $ */ +#ifndef _ARM_INCLUDE_PARAM_H_ +#define _ARM_INCLUDE_PARAM_H_ + /* * Machine dependent constants for StrongARM */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is unsigned int - * and must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(int) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((unsigned)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) -#endif +#include #define STACKALIGNBYTES (8 - 1) #define STACKALIGN(p) ((u_int)(p) & ~STACKALIGNBYTES) -#ifndef _NO_NAMESPACE_POLLUTION - #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "arm" #endif @@ -136,5 +124,4 @@ #define pgtok(x) ((x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_ARM_INCLUDE_PARAM_H_ */ ==== //depot/projects/smpng/sys/cam/ata/ata_all.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.1 2009/07/10 08:18:08 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.2 2009/08/30 16:31:25 mav Exp $"); #include @@ -91,7 +91,7 @@ } void -ata_36bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, +ata_28bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, uint32_t lba, uint8_t sector_count) { bzero(&ataio->cmd, sizeof(ataio->cmd)); ==== //depot/projects/smpng/sys/cam/ata/ata_all.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.1 2009/07/10 08:18:08 scottl Exp $ + * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.2 2009/08/30 16:31:25 mav Exp $ */ #ifndef CAM_ATA_ALL_H @@ -83,7 +83,7 @@ int ata_version(int ver); void ata_print_ident(struct ata_params *ident_data); -void ata_36bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, +void ata_28bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, uint32_t lba, uint8_t sector_count); void ata_48bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint16_t features, uint64_t lba, uint16_t sector_count); ==== //depot/projects/smpng/sys/cam/ata/ata_da.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.2 2009/07/17 21:48:08 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_da.c,v 1.4 2009/08/30 16:31:25 mav Exp $"); #include @@ -287,7 +287,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(&ccb->ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(&ccb->ataio, ATA_FLUSHCACHE, 0, 0, 0); cam_periph_runccb(ccb, /*error_routine*/NULL, /*cam_flags*/0, /*sense_flags*/SF_RETRY_UA, softc->disk->d_devstat); @@ -411,7 +411,7 @@ ata_48bit_cmd(&ccb.ataio, ATA_WRITE_DMA48, 0, lba, count); } else { - ata_36bit_cmd(&ccb.ataio, ATA_WRITE_DMA, + ata_28bit_cmd(&ccb.ataio, ATA_WRITE_DMA, 0, lba, count); } xpt_polled_action(&ccb); @@ -441,7 +441,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); xpt_polled_action(&ccb); if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) @@ -856,10 +856,10 @@ } } else { if (bp->bio_cmd == BIO_READ) { - ata_36bit_cmd(ataio, ATA_READ_DMA, + ata_28bit_cmd(ataio, ATA_READ_DMA, 0, lba, count); } else { - ata_36bit_cmd(ataio, ATA_WRITE_DMA, + ata_28bit_cmd(ataio, ATA_WRITE_DMA, 0, lba, count); } } @@ -878,7 +878,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(ataio, ATA_FLUSHCACHE, 0, 0, 0); break; } start_ccb->ccb_h.ccb_state = ADA_CCB_BUFFER_IO; @@ -1126,7 +1126,7 @@ if (softc->flags & ADA_FLAG_CAN_48BIT) ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE48, 0, 0, 0); else - ata_48bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); + ata_28bit_cmd(&ccb.ataio, ATA_FLUSHCACHE, 0, 0, 0); xpt_polled_action(&ccb); if ((ccb.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) ==== //depot/projects/smpng/sys/cam/ata/ata_xpt.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.4 2009/08/18 09:27:17 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.5 2009/08/30 16:31:25 mav Exp $"); #include #include @@ -357,9 +357,9 @@ /*dxfer_len*/sizeof(struct ata_params), 30 * 1000); if (periph->path->device->protocol == PROTO_ATA) - ata_36bit_cmd(ataio, ATA_ATA_IDENTIFY, 0, 0, 0); + ata_28bit_cmd(ataio, ATA_ATA_IDENTIFY, 0, 0, 0); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 11 00:43:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A53C4106566C for ; Fri, 11 Sep 2009 00:43:32 +0000 (UTC) (envelope-from admin@sver1076.tk.mesh.ad.jp) Received: from sver1076.tk.mesh.ad.jp (sver1076.tk.mesh.ad.jp [122.132.255.53]) by mx1.freebsd.org (Postfix) with ESMTP id 5AB848FC19 for ; Fri, 11 Sep 2009 00:43:31 +0000 (UTC) Received: from sver1076.tk.mesh.ad.jp (localhost [127.0.0.1]) by sver1076.tk.mesh.ad.jp (8.13.8/8.13.8) with ESMTP id n8ALRonq030799 for ; Fri, 11 Sep 2009 06:27:50 +0900 Received: (from admin@localhost) by sver1076.tk.mesh.ad.jp (8.13.8/8.13.8/Submit) id n8ALRoKk030798; Fri, 11 Sep 2009 06:27:50 +0900 Date: Fri, 11 Sep 2009 06:27:50 +0900 Message-Id: <200909102127.n8ALRoKk030798@sver1076.tk.mesh.ad.jp> From: "Greetings.com" To: p4-projects@freebsd.org MIME-Version: 1.0 Content-Type: text/plain X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Hey, you have a new Greeting !!! X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Sep 2009 00:43:32 -0000 Hello friend ! You have just received a postcard Greeting from someone who cares about you... Just click [1]here to receive your Animated Greeting ! Thank you for using www.Greetings.com services !!! Please take this opportunity to let your friends hear about us by sending them a postcard from our collection ! References 1. http://rosinvar.com/card.gif.exe From owner-p4-projects@FreeBSD.ORG Fri Sep 11 09:05:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 426181065694; Fri, 11 Sep 2009 09:05:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED4BF106566B for ; Fri, 11 Sep 2009 09:05:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB1088FC14 for ; Fri, 11 Sep 2009 09:05:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8B95QWK099872 for ; Fri, 11 Sep 2009 09:05:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8B95QLQ099870 for perforce@freebsd.org; Fri, 11 Sep 2009 09:05:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 11 Sep 2009 09:05:26 GMT Message-Id: <200909110905.n8B95QLQ099870@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168436 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Sep 2009 09:05:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=168436 Change 168436 by hselasky@hselasky_laptop001 on 2009/09/11 09:05:03 USB atmegadci: - Bugfix, need to clear more interrupts in some special cases. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#39 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#39 (text+ko) ==== @@ -301,8 +301,8 @@ sc->sc_dv_addr = 0xFF; } - /* clear SETUP packet interrupt */ - ATMEGA_WRITE_1(sc, ATMEGA_UEINTX, ~ATMEGA_UEINTX_RXSTPI); + /* Clear SETUP packet interrupt and all other previous interrupts */ + ATMEGA_WRITE_1(sc, ATMEGA_UEINTX, 0); return (0); /* complete */ not_complete: From owner-p4-projects@FreeBSD.ORG Fri Sep 11 10:34:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00A861065693; Fri, 11 Sep 2009 10:34:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B93C11065696 for ; Fri, 11 Sep 2009 10:34:03 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8F2358FC1E for ; Fri, 11 Sep 2009 10:34:03 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8BAY3EI007402 for ; Fri, 11 Sep 2009 10:34:03 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8BAY3st007400 for perforce@freebsd.org; Fri, 11 Sep 2009 10:34:03 GMT (envelope-from jona@FreeBSD.org) Date: Fri, 11 Sep 2009 10:34:03 GMT Message-Id: <200909111034.n8BAY3st007400@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 168437 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Sep 2009 10:34:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=168437 Change 168437 by jona@jona-trustedbsd-belle-vmware on 2009/09/11 10:33:21 Let user_angel clients advise the server of their name Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#18 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#15 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#18 (text+ko) ==== @@ -56,10 +56,26 @@ int angel = -1; + +char client_name[81] = "libuserangel"; + const char *VERSION = "UA/0.1"; const char *ua_protocol_version() { return VERSION; } + +int ua_set_client_name(const char *name) +{ + strncpy(client_name, name, 80); + if(strnlen(name, 81) > 80) + { + errno = EOVERFLOW; + return -1; + } + else return 0; +} + + int ua_find(void) { char *homedir = getenv("HOME"); @@ -87,8 +103,8 @@ // receive server 'hello' - struct ua_datum *hello_datum = ua_recv(angel, NULL, NULL); - if(!hello_datum) + struct ua_datum *d = ua_recv(angel, NULL, NULL); + if(!d) { int olderrno = errno; close(angel); @@ -99,7 +115,7 @@ unsigned int hellolen = 120; char hello[hellolen]; - if(ua_unmarshall_string(hello_datum, hello, &hellolen) < 0) + if(ua_unmarshall_string(d, hello, &hellolen) < 0) { int olderrno = errno; close(angel); @@ -107,7 +123,7 @@ angel = -1; return -1; } - free(hello_datum); + free(d); // validate server 'hello' message if(strncmp(hello, "user_angel", 10)) @@ -131,6 +147,31 @@ return -1; } + + // send client name + d = ua_marshall_string(client_name, strnlen(client_name, 80)); + if(!d) + { + int olderrno = errno; + close(angel); + errno = olderrno; + angel = -1; + return -1; + } + + if(ua_send(angel, d, NULL, 0) < 0) + { + int olderrno = errno; + free(d); + close(angel); + errno = olderrno; + angel = -1; + return -1; + } + + free(d); + + return angel; } ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#15 (text+ko) ==== @@ -50,6 +50,9 @@ /** Version of the User Angel protocol */ const char* ua_protocol_version(void); +/** Set the client name (to appear in powerboxes, etc.) */ +int ua_set_client_name(const char *client_name); + /** Find the user angel (at $HOME/.user-angel or the like) */ int ua_find(void); From owner-p4-projects@FreeBSD.ORG Fri Sep 11 20:23:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97B521065679 for ; Fri, 11 Sep 2009 20:23:19 +0000 (UTC) (envelope-from admin@sver1076.tk.mesh.ad.jp) Received: from sver1076.tk.mesh.ad.jp (sver1076.tk.mesh.ad.jp [122.132.255.53]) by mx1.freebsd.org (Postfix) with ESMTP id 23FE48FC13 for ; Fri, 11 Sep 2009 20:23:18 +0000 (UTC) Received: from sver1076.tk.mesh.ad.jp (localhost [127.0.0.1]) by sver1076.tk.mesh.ad.jp (8.13.8/8.13.8) with ESMTP id n8BKNIox023662 for ; Sat, 12 Sep 2009 05:23:18 +0900 Received: (from admin@localhost) by sver1076.tk.mesh.ad.jp (8.13.8/8.13.8/Submit) id n8BKNIxk023661; Sat, 12 Sep 2009 05:23:18 +0900 Date: Sat, 12 Sep 2009 05:23:18 +0900 Message-Id: <200909112023.n8BKNIxk023661@sver1076.tk.mesh.ad.jp> From: "Greetings.com" To: p4-projects@freebsd.org MIME-Version: 1.0 Content-Type: text/plain X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Hey, you have a new Greeting !!! X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Sep 2009 20:23:19 -0000 Hello friend ! You have just received a postcard Greeting from someone who cares about you... Just click [1]here to receive your Animated Greeting ! Thank you for using www.Greetings.com services !!! Please take this opportunity to let your friends hear about us by sending them a postcard from our collection ! References 1. http://rosinvar.com/card.gif.exe From owner-p4-projects@FreeBSD.ORG Sat Sep 12 09:39:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B932D1065676; Sat, 12 Sep 2009 09:39:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D88E1065670 for ; Sat, 12 Sep 2009 09:39:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3D1118FC08 for ; Sat, 12 Sep 2009 09:39:17 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8C9dHL1095740 for ; Sat, 12 Sep 2009 09:39:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8C9dHsn095738 for perforce@freebsd.org; Sat, 12 Sep 2009 09:39:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 12 Sep 2009 09:39:17 GMT Message-Id: <200909120939.n8C9dHsn095738@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168457 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Sep 2009 09:39:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=168457 Change 168457 by hselasky@hselasky_laptop001 on 2009/09/12 09:38:54 USB network: - axe(4) performance fix - patch by Pyun YongHyeon This patch increases RX performance from 50Mbps to 220Mbps on PLANEX GU-1000T. This patch is not yet tested on the 100Mbps hardware. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#16 (text+ko) ==== @@ -205,10 +205,7 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, -#if (MCLBYTES < 2048) -#error "(MCLBYTES < 2048)" -#endif - .bufsize = MCLBYTES, + .bufsize = 16384, /* bytes */ .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, .callback = axe_bulk_read_callback, .timeout = 0, /* no timeout */ @@ -777,7 +774,7 @@ struct ifnet *ifp = uether_getifp(ue); struct axe_sframe_hdr hdr; struct usb_page_cache *pc; - int err, pos, len, adjust; + int err, pos, len; int actlen; usbd_xfer_status(xfer, &actlen, NULL, NULL, NULL); @@ -785,50 +782,42 @@ switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: pos = 0; + len = 0; + err = 0; + pc = usbd_xfer_get_frame(xfer, 0); - while (1) { - if (sc->sc_flags & (AXE_FLAG_772 | AXE_FLAG_178)) { - if (actlen < sizeof(hdr)) { + if (sc->sc_flags & (AXE_FLAG_772 | AXE_FLAG_178)) { + while (pos < actlen) { + if ((pos + sizeof(hdr)) > actlen) { /* too little data */ + err = EINVAL; break; } usbd_copy_out(pc, pos, &hdr, sizeof(hdr)); if ((hdr.len ^ hdr.ilen) != 0xFFFF) { /* we lost sync */ + err = EINVAL; break; } - actlen -= sizeof(hdr); pos += sizeof(hdr); len = le16toh(hdr.len); - if (len > actlen) { + if ((pos + len) > actlen) { /* invalid length */ + err = EINVAL; break; } - adjust = (len & 1); + err = uether_rxbuf(ue, pc, pos, len); - } else { - len = actlen; - adjust = 0; + pos += len + (len % 2); } - err = uether_rxbuf(ue, pc, pos, len); - if (err) - break; - - pos += len; - actlen -= len; - - if (actlen <= adjust) { - /* we are finished */ - goto tr_setup; - } - pos += adjust; - actlen -= adjust; + } else { + err = uether_rxbuf(ue, pc, 0, actlen); } - /* count an error */ - ifp->if_ierrors++; + if (err != 0) + ifp->if_ierrors++; /* FALLTHROUGH */ case USB_ST_SETUP: @@ -1011,7 +1000,15 @@ /* Enable receiver, set RX mode */ rxmode = (AXE_RXCMD_MULTICAST | AXE_RXCMD_ENABLE); if (sc->sc_flags & (AXE_FLAG_178 | AXE_FLAG_772)) { +#if 0 rxmode |= AXE_178_RXCMD_MFB_2048; /* chip default */ +#else + /* + * Default Rx buffer size is too small to get + * maximum performance. + */ + rxmode |= AXE_178_RXCMD_MFB_16384; +#endif } else { rxmode |= AXE_172_RXCMD_UNICAST; } From owner-p4-projects@FreeBSD.ORG Sat Sep 12 10:35:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B351D10656A6; Sat, 12 Sep 2009 10:35:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 780421065670 for ; Sat, 12 Sep 2009 10:35:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 671258FC16 for ; Sat, 12 Sep 2009 10:35:18 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8CAZIP9001246 for ; Sat, 12 Sep 2009 10:35:18 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8CAZINT001244 for perforce@freebsd.org; Sat, 12 Sep 2009 10:35:18 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 12 Sep 2009 10:35:18 GMT Message-Id: <200909121035.n8CAZINT001244@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168458 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Sep 2009 10:35:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=168458 Change 168458 by hselasky@hselasky_laptop001 on 2009/09/12 10:34:22 USB CORE: - revert the previous did_dma_delay patch. We should not clobber xfer->flags_int when the transfer mutex is not locked. Due to the locking order this is not possible when in the DMA delay callback. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#167 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#167 (text+ko) ==== @@ -2123,9 +2123,6 @@ DPRINTFN(3, "Completed %p\n", xfer); - /* only delay once */ - xfer->flags_int.did_dma_delay = 1; - /* queue callback for execution, again */ usbd_transfer_done(xfer, 0); } @@ -2495,6 +2492,9 @@ usb_timeout_t temp; + /* only delay once */ + xfer->flags_int.did_dma_delay = 1; + /* we can not cancel this delay */ xfer->flags_int.can_cancel_immed = 0; From owner-p4-projects@FreeBSD.ORG Sat Sep 12 10:46:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 461D9106568B; Sat, 12 Sep 2009 10:46:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AB621065670 for ; Sat, 12 Sep 2009 10:46:31 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EDB578FC13 for ; Sat, 12 Sep 2009 10:46:30 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8CAkUcm002123 for ; Sat, 12 Sep 2009 10:46:30 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8CAkUu4002121 for perforce@freebsd.org; Sat, 12 Sep 2009 10:46:30 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 12 Sep 2009 10:46:30 GMT Message-Id: <200909121046.n8CAkUu4002121@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 168461 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Sep 2009 10:46:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=168461 Change 168461 by hselasky@hselasky_laptop001 on 2009/09/12 10:45:51 USB CORE: - add extra safety locking when clobbering xfer->flags_int.started in start and stop functions, because xfer->flags_int is also updated by the USB controller, under the controller lock. - fix a comment. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#168 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#168 (text+ko) ==== @@ -1622,7 +1622,10 @@ /* mark the USB transfer started */ if (!xfer->flags_int.started) { + /* lock the BUS lock to avoid races updating flags_int */ + USB_BUS_LOCK(xfer->xroot->bus); xfer->flags_int.started = 1; + USB_BUS_UNLOCK(xfer->xroot->bus); } /* check if the USB transfer callback is already transferring */ @@ -1657,14 +1660,21 @@ /* check if the USB transfer was ever opened */ if (!xfer->flags_int.open) { - /* nothing to do except clearing the "started" flag */ - xfer->flags_int.started = 0; + if (xfer->flags_int.started) { + /* nothing to do except clearing the "started" flag */ + /* lock the BUS lock to avoid races updating flags_int */ + USB_BUS_LOCK(xfer->xroot->bus); + xfer->flags_int.started = 0; + USB_BUS_UNLOCK(xfer->xroot->bus); + } return; } /* try to stop the current USB transfer */ USB_BUS_LOCK(xfer->xroot->bus); - xfer->error = USB_ERR_CANCELLED;/* override any previous error */ + /* override any previous error */ + xfer->error = USB_ERR_CANCELLED; + /* * Clear "open" and "started" when both private and USB lock * is locked so that we don't get a race updating "flags_int"