From owner-p4-projects@FreeBSD.ORG Sun Jul 12 07:55:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C7CF1065674; Sun, 12 Jul 2009 07:55:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AAFE106566C for ; Sun, 12 Jul 2009 07:55:25 +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 28F9F8FC19 for ; Sun, 12 Jul 2009 07:55:25 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6C7tPW1052871 for ; Sun, 12 Jul 2009 07:55:25 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6C7tPRs052869 for perforce@freebsd.org; Sun, 12 Jul 2009 07:55:25 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 12 Jul 2009 07:55:25 GMT Message-Id: <200907120755.n6C7tPRs052869@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 165950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 12 Jul 2009 07:55:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165950 Change 165950 by pgj@beehive on 2009/07/12 07:54:50 IFC Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#14 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#39 integrate Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#14 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -863,7 +863,7 @@ mûszaki jellegû dokumentációk írásához Ennek rövid története a + url="http://www.oasis-open.org/docbook/intro.shtml#d0e41"> címen olvasható., illetve 1998 óta a ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#33 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -6283,21 +6283,67 @@ internetre. A többi gép ezen az átjárón keresztül éri el az internetet. + + + + + rendszerbetöltõ + beállítása + + + A rendszerbetöltõ + beállítása + + A &man.natd.8; mûködéséhez + szükséges címfordítási + támogatást a GENERIC + típusú rendszermagok nem tartalmazzák, + viszont a /boot/loader.conf megfelelõ + paraméterezésével a rendszer + betöltése közben ezt hozzá tudjuk + adni: + + ipfw_load="YES" +ipdivert_load="YES" + + Valamint a net.inet.ip.fw.default_to_accept + változót állítsuk az 1 értékre. + net.inet.ip.fw.default_to_accept="1" + + + Ez utóbbi beállítást + leginkább a tûzfal és a + címfordítást végzõ + átjáró + próbálgatásakor érdemes + alkalmazni. Ilyenkor ugyanis az &man.ipfw.8; + alapértelmezett módon az allow ip from + any to any (minden forgalom engedélyezett) + szabályt követi, és nem pedig a + kevésbé barátságos deny + ip from any to any (minden forgalom tiltott) + szabályt. A rendszer + újraindításakor így valamivel + nehezebb lesz kizárnunk magunkat a szabályok + megadása során. + - rendszermag beállítása - Beállítás + A rendszermag beállítása - A rendszermag beállításait - tartalmazó állományban a - következõ beállításokat kell + Amikor viszont nincs lehetõségünk modulok + használatára, vagy szeretnénk minden + igényelt funkciót beépíteni a + rendszermagba, akkor a rendszermag + beállításait tartalmazó + állományban a következõket kell megadnunk: options IPFIREWALL @@ -6308,10 +6354,17 @@ options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE + + + + A rendszerindítás + beállítása - A következõnek kell az - /etc/rc.conf állományban - lennie: + A tûzfal és a hálózati + címfordítás + beindításához a következõknek + kell az /etc/rc.conf + állományban lennie: gateway_enable="YES" firewall_enable="YES" From owner-p4-projects@FreeBSD.ORG Sun Jul 12 16:07:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF1C11065670; Sun, 12 Jul 2009 16:07:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F56A106566B for ; Sun, 12 Jul 2009 16:07:24 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5315A8FC23 for ; Sun, 12 Jul 2009 16:07:24 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6CG7Oct017800 for ; Sun, 12 Jul 2009 16:07:24 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6CG7NDo017798 for perforce@freebsd.org; Sun, 12 Jul 2009 16:07:23 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 12 Jul 2009 16:07:23 GMT Message-Id: <200907121607.n6CG7NDo017798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 12 Jul 2009 16:07:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=165967 Change 165967 by syl@syl_atuin on 2009/07/12 16:06:47 Import a skeleton driver for the usb device contained by the samsung s3c24xx. Thanks to wim vandeputte (hackabe1.org) to sponsoring me with a gta02 freerunner. Add one entry in usbdevs for my USB steeny++ Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#1 add .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci_gta02.c#1 add .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdevs#7 edit .. //depot/projects/soc2009/syl_usb/src/sys/modules/Makefile#7 edit .. //depot/projects/soc2009/syl_usb/src/sys/modules/usb/Makefile#4 edit .. //depot/projects/soc2009/syl_usb/src/sys/modules/usb/s3c24xxdci/Makefile#1 add Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdevs#7 (text+ko) ==== @@ -607,6 +607,7 @@ vendor SOHOWARE 0x15e8 SOHOware vendor UMAX 0x1606 UMAX Data Systems vendor INSIDEOUT 0x1608 Inside Out Networks +vendor PJRC 0x160c PJRC vendor GOODWAY 0x1631 Good Way Technology vendor ENTREGA 0x1645 Entrega vendor ACTIONTEC 0x1668 Actiontec Electronics @@ -1976,6 +1977,9 @@ /* P.I. Engineering products */ product PIENGINEERING PS2USB 0x020b PS2 to Mac USB Adapter +/* PJRC */ +product PJRC TEENSY++ 0x478 TEENSY++ USB Device + /* Planex Communications products */ product PLANEX GW_US11H 0x14ea GW-US11H WLAN product PLANEX2 GW_US11S 0x3220 GW-US11S WLAN ==== //depot/projects/soc2009/syl_usb/src/sys/modules/Makefile#7 (text+ko) ==== ==== //depot/projects/soc2009/syl_usb/src/sys/modules/usb/Makefile#4 (text+ko) ==== @@ -26,7 +26,7 @@ # SUBDIR = usb -SUBDIR += ehci musb ohci uhci uss820dci ${_at91dci} ${_atmegadci} +SUBDIR += ehci musb ohci uhci uss820dci ${_at91dci} ${_atmegadci} ${_s3c24xxdci} SUBDIR += rum uath upgt ural zyd ${_urtw} SUBDIR += uhid ukbd ums udbp ufm SUBDIR += ucom u3g uark ubsa ubser uchcom ucycom ufoma uftdi ugensa uipaq ulpt \ @@ -42,6 +42,7 @@ .if ${MACHINE_ARCH} == "arm" _at91dci= at91dci _atmegadci= atmegadci +_s3c24xxdci= s3c24xxdci .endif .if ${MACHINE_ARCH} == "i386" From owner-p4-projects@FreeBSD.ORG Sun Jul 12 17:34:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A0851065678; Sun, 12 Jul 2009 17:34: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 1695A1065675 for ; Sun, 12 Jul 2009 17:34:01 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE8CA8FC12 for ; Sun, 12 Jul 2009 17:34:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6CHXxci035302 for ; Sun, 12 Jul 2009 17:33:59 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6CHXxfr035300 for perforce@freebsd.org; Sun, 12 Jul 2009 17:33:59 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 12 Jul 2009 17:33:59 GMT Message-Id: <200907121733.n6CHXxfr035300@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 12 Jul 2009 17:34:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165975 Change 165975 by syl@syl_atuin on 2009/07/12 17:33:51 Add regs definitions. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 12 20:35:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1314A1065672; Sun, 12 Jul 2009 20: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 C74CF106566B for ; Sun, 12 Jul 2009 20:35:17 +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 AC60C8FC0A for ; Sun, 12 Jul 2009 20:35:17 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6CKZHAG051239 for ; Sun, 12 Jul 2009 20:35:17 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6CKZHbh051237 for perforce@freebsd.org; Sun, 12 Jul 2009 20:35:17 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 12 Jul 2009 20:35:17 GMT Message-Id: <200907122035.n6CKZHbh051237@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 165977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 12 Jul 2009 20:35:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=165977 Change 165977 by rene@rene_self on 2009/07/12 20:35:00 MFen handbook/advanced-networking 1.423 -> 1.424 (plus local fixes) Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#35 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#35 (text+ko) ==== @@ -4,7 +4,7 @@ $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.14 2009/05/22 13:20:28 rene Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml - %SRCID% 1.423 + %SRCID% 1.424 --> @@ -4875,23 +4875,68 @@ gateway-machine. + + + bootloader + + configuratie + + + Bootloader-configuratie + + De mogelijkheden van de kernel voor network address translation met + &man.natd.8; staan niet aan in GENERIC, maar ze + kunnen worden voorgeladen tijdens het opstarten door enkele opties aan + /boot/loader.conf toe te voegen: + + ipfw_load="YES" +ipdivert_load="YES" + + Ook moet de tunable + net.inet.ip.fw.default_to_accept op + 1 worden gezet: + + net.inet.ip.fw.default_to_accept="1" + + + Het is een goed idee om deze optie aan te zetten tijdens de + eerste pogingen om een firewall en NAT gateway te installeren. Op + deze manier zal het standaardbeleid van &man.ipfw.8; + 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. + + + + Kernelconfiguratie + kernel instellingen - Configuratie + Wanneer modules geen optie zijn of wanneer het gewenst is om alle + benodigde mogelijkheden in de draaiende kernel te bouwen, dienen de + volgende opties in het kernelinstellingenbestand aanwezig te + zijn: - De volgende opties dienen in het kernelinstellingenbestand - aanwezig te zijn: - options IPFIREWALL options IPDIVERT - De volgende opties kunnen naar eigen inzicht worden - toegevoegd: + De volgende opties kunnen ook van pas komen: + + options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPFIREWALL_VERBOSE + + + + Systeeminstellingen voor het opstarten + + Om de firewall en NAT tijdens het opstarten aan te zetten, moet + het volgende in /etc/rc.conf staan: gateway_enable="YES" firewall_enable="YES" From owner-p4-projects@FreeBSD.ORG Mon Jul 13 06:43:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A03C91065673; Mon, 13 Jul 2009 06:43:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60806106566B for ; Mon, 13 Jul 2009 06:43:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4E7E68FC0C for ; Mon, 13 Jul 2009 06:43:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D6hMMf040737 for ; Mon, 13 Jul 2009 06:43:22 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D6hMG8040735 for perforce@freebsd.org; Mon, 13 Jul 2009 06:43:22 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 13 Jul 2009 06:43:22 GMT Message-Id: <200907130643.n6D6hMG8040735@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 165985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 06:43:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=165985 Change 165985 by hselasky@hselasky_laptop001 on 2009/07/13 06:42:54 USB CORE: - fix offset bug in newly introduced code. Reported by: Patrick Lamaizie Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#32 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_dev.c#32 (text+ko) ==== @@ -1395,7 +1395,7 @@ m->cur_data_len = io_len; } else { io_len = m->max_data_len - m->cur_data_len; - pdata = m->cur_data_ptr + io_len; + pdata = m->cur_data_ptr + m->cur_data_len; if (io_len > uio->uio_resid) io_len = uio->uio_resid; m->cur_data_len += io_len; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 08:35:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBD721065675; Mon, 13 Jul 2009 08:35:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ABBD11065673 for ; Mon, 13 Jul 2009 08:35:25 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7FFA68FC15 for ; Mon, 13 Jul 2009 08:35:25 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D8ZPEQ052000 for ; Mon, 13 Jul 2009 08:35:25 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D8ZPCA051997 for perforce@freebsd.org; Mon, 13 Jul 2009 08:35:25 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 08:35:25 GMT Message-Id: <200907130835.n6D8ZPCA051997@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165987 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 08:35:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165987 Change 165987 by syl@syl_pablo on 2009/07/13 08:34:25 Fix S3C24_DCI_MAXP register address. Add missing registers definition. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#2 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#2 (text+ko) ==== @@ -39,7 +39,7 @@ #define S3C24_DCI_EP0_CSR 0x44 /* EP0 status */ #define S3C24_DCI_IN_CSR1 0x44 /* In ep0 control status */ #define S3C24_DCI_IN_CSR2 0x48 /* In ep0 control status */ -#define S3C24_DCI_MAXP 0x4c /* Ep max packet */ +#define S3C24_DCI_MAXP 0x40 /* Ep max packet */ #define S3C24_DCI_OUT_CSR1 0x50 /* Out ep control status */ #define S3C24_DCI_OUT_CSR2 0x54 /* Out ep control status */ #define S3C24_DCI_OUT_FIFO_CNT1 0x58 /* Ep out write count */ @@ -79,7 +79,6 @@ #define S3C24_DCI_FUNCTION_ADDR(x) (x & 0xfffffff) /* S3C24_DCI_PWR */ -#define S3C24_DCI_ISO_UPDATE (1<<7) #define S3C24_DCI_USB_RESET (1<<3) #define S3C24_DCI_MCU_RESUME (1<<2) #define S3C24_DCI_SUSPEND_MODE (1<<1) @@ -110,7 +109,7 @@ /* S3C24_DCI_USB_INT_EN */ #define S3C24_DCI_INT_RESET_EN (1<<2) -#define S3C24_DCI_INT_SUSPEND_EN (1<<0) +#define S3C24_DCI_INT_SUSPD_EN (1<<0) /* S3C24_DCI_MAXP */ @@ -119,6 +118,55 @@ #define S3C24_DCI_MAXP32 (1<<2) #define S3C24_DCI_MAXP64 (1<<3) +/* S3C24_DCI_EP0_CSR */ + +#define S3C24_DCI_EP0_SERVICED_SETUP_END (1<<7) +#define S3C24_DCI_EP0_SERVICED_OUT_PKT_RDY (1<<6) +#define S3C24_DCI_EP0_SEND_STALL (1<<5) +#define S3C24_DCI_EP0_SETUP_END (1<<4) +#define S3C24_DCI_EP0_DATA_END (1<<3) +#define S3C24_DCI_EP0_SENT_STALL (1<<2) +#define S3C24_DCI_EP0_IN_PKT_RDY (1<<1) +#define S3C24_DCI_EP0_OUT_PKT_RDY (1<<0) + +/* S3C24_DCI_IN_CSR1 */ + +#define S3C24_DCI_IN_CLR_DATA_TOGGLE (1<<6) +#define S3C24_DCI_IN_SENT_STALL (1<<5) +#define S3C24_DCI_IN_SEND_STALL (1<<4) +#define S3C24_DCI_IN_FIFO_FLUSH (1<<3) +#define S3C24_DCI_IN_PKT_RDY (1<<0) + +/* S3C24_DCI_IN_CSR2 */ + +#define S3C24_DCI_IN_AUTOSET (1<<7) +#define S3C24_DCI_IN_ISO (1<<6) +#define S3C24_DCI_IN_MODE_IN (1<<5) +#define S3C24_DCI_IN_DMA_INT_EN (1<<4) + +/* S3C24_DCI_OUT_CSR1 */ + +#define S3C24_DCI_OUT_CLR_DATA_TOGGLE (1<<7) +#define S3C24_DCI_OUT_SENT_STALL (1<<6) +#define S3C24_DCI_OUT_SEND_STALL (1<<5) +#define S3C24_DCI_OUT_FIFO_FLUSH (1<<4) +#define S3C24_DCI_OUT_PKT_RDY (1<<0) + +/* S3C24_DCI_OUT_CSR2 */ + +#define S3C24_DCI_OUT_AUTO_CLR (1<<7) +#define S3C24_DCI_OUT_ISO (1<<6) +#define S3C24_DCI_OUT_DMA_INT_MASK (1<<5) + +/* S3C24_DCI_EPn_DMA_CON */ + +#define S3C24_DCI_RUN_OB (1<<7) +#define S3C24_DCI_STATE(x) (x&0x0fff0000) +#define S3C24_DCI_DEMAND_MODE (1<<3) +#define S3C24_DCI_OUT_RUN_OB (1<<2) +#define S3C24_DCI_IN_DMA_RUN (1<<1) +#define S3C24_DCI_DMA_MODE_EN (1<<0) + struct s3c24dci_softc { struct usb_bus sc_bus; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 08:58:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 784DE1065676; Mon, 13 Jul 2009 08:58:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34BB9106564A for ; Mon, 13 Jul 2009 08:58:51 +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 161FC8FC28 for ; Mon, 13 Jul 2009 08:58:51 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D8wpad063646 for ; Mon, 13 Jul 2009 08:58:51 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D8wpsR063644 for perforce@freebsd.org; Mon, 13 Jul 2009 08:58:51 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 13 Jul 2009 08:58:51 GMT Message-Id: <200907130858.n6D8wpsR063644@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 165988 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 08:58:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=165988 Change 165988 by gk@gk_h1 on 2009/07/13 08:58:22 revert import of XTS-AES Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/opencrypto/cryptodev.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/opencrypto/cryptodev.h#3 edit .. //depot/projects/soc2009/gk_pefs/sys/opencrypto/cryptosoft.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/opencrypto/xform.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/opencrypto/xform.h#3 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sys/opencrypto/cryptodev.c#3 (text+ko) ==== @@ -215,9 +215,6 @@ case CRYPTO_CAMELLIA_CBC: txform = &enc_xform_camellia; break; - case CRYPTO_AES_XTS: - txform = &enc_xform_aes_xts; - break; default: return (EINVAL); } ==== //depot/projects/soc2009/gk_pefs/sys/opencrypto/cryptodev.h#3 (text+ko) ==== @@ -123,8 +123,7 @@ #define CRYPTO_SHA2_384_HMAC 19 #define CRYPTO_SHA2_512_HMAC 20 #define CRYPTO_CAMELLIA_CBC 21 -#define CRYPTO_AES_XTS 22 -#define CRYPTO_ALGORITHM_MAX 22 /* Keep updated - see below */ +#define CRYPTO_ALGORITHM_MAX 21 /* Keep updated - see below */ /* Algorithm flags */ #define CRYPTO_ALG_FLAG_SUPPORTED 0x01 /* Algorithm is supported */ ==== //depot/projects/soc2009/gk_pefs/sys/opencrypto/cryptosoft.c#3 (text+ko) ==== @@ -61,8 +61,7 @@ static int swcr_encdec(struct cryptodesc *, struct swcr_data *, caddr_t, int); static int swcr_authcompute(struct cryptodesc *, struct swcr_data *, caddr_t, int); static int swcr_compdec(struct cryptodesc *, struct swcr_data *, caddr_t, int); -static int swcr_freesession(device_t, u_int64_t); -/* $OpenBSD: cryptosoft.c,v 1.51 2008/06/09 16:07:00 djm Exp $ */ +static int swcr_freesession(device_t dev, u_int64_t tid); /* * Apply a symmetric encryption/decryption algorithm. @@ -74,11 +73,10 @@ unsigned char iv[EALG_MAX_BLOCK_LEN], blk[EALG_MAX_BLOCK_LEN], *idat; unsigned char *ivp, piv[EALG_MAX_BLOCK_LEN]; struct enc_xform *exf; - int i, k, j, blks, ivlen; + int i, k, j, blks; exf = sw->sw_exf; blks = exf->blocksize; - ivlen = exf->ivsize; /* Check for non-padded data */ if (crd->crd_len % blks) @@ -88,21 +86,21 @@ if (crd->crd_flags & CRD_F_ENCRYPT) { /* IV explicitly provided ? */ if (crd->crd_flags & CRD_F_IV_EXPLICIT) - bcopy(crd->crd_iv, iv, ivlen); + bcopy(crd->crd_iv, iv, blks); else - arc4rand(iv, ivlen, 0); + arc4rand(iv, blks, 0); /* Do we need to write the IV */ if (!(crd->crd_flags & CRD_F_IV_PRESENT)) - crypto_copyback(flags, buf, crd->crd_inject, ivlen, iv); + crypto_copyback(flags, buf, crd->crd_inject, blks, iv); } else { /* Decryption */ /* IV explicitly provided ? */ if (crd->crd_flags & CRD_F_IV_EXPLICIT) - bcopy(crd->crd_iv, iv, ivlen); + bcopy(crd->crd_iv, iv, blks); else { /* Get IV off buf */ - crypto_copydata(flags, buf, crd->crd_inject, ivlen, iv); + crypto_copydata(flags, buf, crd->crd_inject, blks, iv); } } @@ -118,13 +116,6 @@ } ivp = iv; - /* - * xforms that provide a reinit method perform all IV - * handling themselves. - */ - if (exf->reinit) - exf->reinit(sw->sw_kschedule, iv); - if (flags & CRYPTO_F_IMBUF) { struct mbuf *m = (struct mbuf *) buf; @@ -144,15 +135,7 @@ m_copydata(m, k, blks, blk); /* Actual encryption/decryption */ - if (exf->reinit) { - if (crd->crd_flags & CRD_F_ENCRYPT) { - exf->encrypt(sw->sw_kschedule, - blk); - } else { - exf->decrypt(sw->sw_kschedule, - blk); - } - } else if (crd->crd_flags & CRD_F_ENCRYPT) { + if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block */ for (j = 0; j < blks; j++) blk[j] ^= ivp[j]; @@ -222,15 +205,7 @@ idat = mtod(m, unsigned char *) + k; while (m->m_len >= k + blks && i > 0) { - if (exf->reinit) { - if (crd->crd_flags & CRD_F_ENCRYPT) { - exf->encrypt(sw->sw_kschedule, - idat); - } else { - exf->decrypt(sw->sw_kschedule, - idat); - } - } else if (crd->crd_flags & CRD_F_ENCRYPT) { + if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block/IV */ for (j = 0; j < blks; j++) idat[j] ^= ivp[j]; @@ -286,15 +261,7 @@ cuio_copydata(uio, k, blks, blk); /* Actual encryption/decryption */ - if (exf->reinit) { - if (crd->crd_flags & CRD_F_ENCRYPT) { - exf->encrypt(sw->sw_kschedule, - blk); - } else { - exf->decrypt(sw->sw_kschedule, - blk); - } - } else if (crd->crd_flags & CRD_F_ENCRYPT) { + if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block */ for (j = 0; j < blks; j++) blk[j] ^= ivp[j]; @@ -352,15 +319,7 @@ idat = (char *)iov->iov_base + k; while (iov->iov_len >= k + blks && i > 0) { - if (exf->reinit) { - if (crd->crd_flags & CRD_F_ENCRYPT) { - exf->encrypt(sw->sw_kschedule, - idat); - } else { - exf->decrypt(sw->sw_kschedule, - idat); - } - } else if (crd->crd_flags & CRD_F_ENCRYPT) { + if (crd->crd_flags & CRD_F_ENCRYPT) { /* XOR with previous block/IV */ for (j = 0; j < blks; j++) idat[j] ^= ivp[j]; ==== //depot/projects/soc2009/gk_pefs/sys/opencrypto/xform.c#3 (text+ko) ==== @@ -1,9 +1,8 @@ /* $OpenBSD: xform.c,v 1.16 2001/08/28 12:20:43 ben Exp $ */ /*- * The authors of this code are John Ioannidis (ji@tla.org), - * Angelos D. Keromytis (kermit@csd.uch.gr), - * Niels Provos (provos@physnet.uni-hamburg.de) and - * Damien Miller (djm@mindrot.org). + * Angelos D. Keromytis (kermit@csd.uch.gr) and + * Niels Provos (provos@physnet.uni-hamburg.de). * * This code was written by John Ioannidis for BSD/OS in Athens, Greece, * in November 1995. @@ -16,15 +15,11 @@ * * Additional features in 1999 by Angelos D. Keromytis. * - * AES XTS implementation in 2008 by Damien Miller - * * Copyright (C) 1995, 1996, 1997, 1998, 1999 by John Ioannidis, * Angelos D. Keromytis and Niels Provos. * * Copyright (C) 2001, Angelos D. Keromytis. * - * Copyright (C) 2008, Damien Miller - * * Permission to use, copy, and modify this software with or without fee * is hereby granted, provided that this entire notice is included in * all copies of any software which is or includes a copy or @@ -81,7 +76,6 @@ static int skipjack_setkey(u_int8_t **, u_int8_t *, int); static int rijndael128_setkey(u_int8_t **, u_int8_t *, int); static int cml_setkey(u_int8_t **, u_int8_t *, int); -static int aes_xts_setkey(u_int8_t **, u_int8_t *, int); static void des1_encrypt(caddr_t, u_int8_t *); static void des3_encrypt(caddr_t, u_int8_t *); static void blf_encrypt(caddr_t, u_int8_t *); @@ -89,7 +83,6 @@ static void skipjack_encrypt(caddr_t, u_int8_t *); static void rijndael128_encrypt(caddr_t, u_int8_t *); static void cml_encrypt(caddr_t, u_int8_t *); -static void aes_xts_encrypt(caddr_t, u_int8_t *); static void des1_decrypt(caddr_t, u_int8_t *); static void des3_decrypt(caddr_t, u_int8_t *); static void blf_decrypt(caddr_t, u_int8_t *); @@ -97,7 +90,6 @@ static void skipjack_decrypt(caddr_t, u_int8_t *); static void rijndael128_decrypt(caddr_t, u_int8_t *); static void cml_decrypt(caddr_t, u_int8_t *); -static void aes_xts_decrypt(caddr_t, u_int8_t *); static void des1_zerokey(u_int8_t **); static void des3_zerokey(u_int8_t **); static void blf_zerokey(u_int8_t **); @@ -105,10 +97,7 @@ static void skipjack_zerokey(u_int8_t **); static void rijndael128_zerokey(u_int8_t **); static void cml_zerokey(u_int8_t **); -static void aes_xts_zerokey(u_int8_t **); -static void aes_xts_reinit(caddr_t, u_int8_t *); - static void null_init(void *); static int null_update(void *, u_int8_t *, u_int16_t); static void null_final(u_int8_t *, void *); @@ -126,25 +115,20 @@ MALLOC_DEFINE(M_XDATA, "xform", "xform data buffers"); -/* Helper */ -struct aes_xts_ctx; -void aes_xts_crypt(struct aes_xts_ctx *, u_int8_t *, u_int); - /* Encryption instances */ struct enc_xform enc_xform_null = { CRYPTO_NULL_CBC, "NULL", /* NB: blocksize of 4 is to generate a properly aligned ESP header */ - NULL_BLOCK_LEN, 0, 0, 256, /* 2048 bits, max key */ + NULL_BLOCK_LEN, 0, 256, /* 2048 bits, max key */ null_encrypt, null_decrypt, null_setkey, null_zerokey, - NULL }; struct enc_xform enc_xform_des = { CRYPTO_DES_CBC, "DES", - DES_BLOCK_LEN, DES_BLOCK_LEN, 8, 8, + DES_BLOCK_LEN, 8, 8, des1_encrypt, des1_decrypt, des1_setkey, @@ -153,83 +137,67 @@ struct enc_xform enc_xform_3des = { CRYPTO_3DES_CBC, "3DES", - DES3_BLOCK_LEN, DES3_BLOCK_LEN, 24, 24, + DES3_BLOCK_LEN, 24, 24, des3_encrypt, des3_decrypt, des3_setkey, - des3_zerokey, - NULL + des3_zerokey }; struct enc_xform enc_xform_blf = { CRYPTO_BLF_CBC, "Blowfish", - BLOWFISH_BLOCK_LEN, BLOWFISH_BLOCK_LEN, 5, 56 /* 448 bits, max key */, + BLOWFISH_BLOCK_LEN, 5, 56 /* 448 bits, max key */, blf_encrypt, blf_decrypt, blf_setkey, - blf_zerokey, - NULL + blf_zerokey }; struct enc_xform enc_xform_cast5 = { CRYPTO_CAST_CBC, "CAST-128", - CAST128_BLOCK_LEN, CAST128_BLOCK_LEN, 5, 16, + CAST128_BLOCK_LEN, 5, 16, cast5_encrypt, cast5_decrypt, cast5_setkey, - cast5_zerokey, - NULL + cast5_zerokey }; struct enc_xform enc_xform_skipjack = { CRYPTO_SKIPJACK_CBC, "Skipjack", - SKIPJACK_BLOCK_LEN, SKIPJACK_BLOCK_LEN, 10, 10, + SKIPJACK_BLOCK_LEN, 10, 10, skipjack_encrypt, skipjack_decrypt, skipjack_setkey, - skipjack_zerokey, - NULL + skipjack_zerokey }; struct enc_xform enc_xform_rijndael128 = { CRYPTO_RIJNDAEL128_CBC, "Rijndael-128/AES", - RIJNDAEL128_BLOCK_LEN, RIJNDAEL128_BLOCK_LEN, 8, 32, + RIJNDAEL128_BLOCK_LEN, 8, 32, rijndael128_encrypt, rijndael128_decrypt, rijndael128_setkey, rijndael128_zerokey, - NULL }; struct enc_xform enc_xform_arc4 = { CRYPTO_ARC4, "ARC4", - 1, 1, 1, 32, + 1, 1, 32, NULL, NULL, NULL, NULL, - NULL }; struct enc_xform enc_xform_camellia = { CRYPTO_CAMELLIA_CBC, "Camellia", - CAMELLIA_BLOCK_LEN, CAMELLIA_BLOCK_LEN, 8, 32, + CAMELLIA_BLOCK_LEN, 8, 32, cml_encrypt, cml_decrypt, cml_setkey, cml_zerokey, }; -struct enc_xform enc_xform_aes_xts = { - CRYPTO_AES_XTS, "AES-XTS", - 16, 8, 32, 64, - aes_xts_encrypt, - aes_xts_decrypt, - aes_xts_setkey, - aes_xts_zerokey, - aes_xts_reinit -}; - /* Authentication instances */ struct auth_hash auth_hash_null = { CRYPTO_NULL_HMAC, "NULL-HMAC", @@ -618,106 +586,6 @@ *sched = NULL; } -#define AES_XTS_BLOCKSIZE 16 -#define AES_XTS_IVSIZE 8 -#define AES_XTS_ALPHA 0x87 /* GF(2^128) generator polynomial */ - -struct aes_xts_ctx { - rijndael_ctx key1; - rijndael_ctx key2; - u_int8_t tweak[AES_XTS_BLOCKSIZE]; -}; - -void -aes_xts_reinit(caddr_t key, u_int8_t *iv) -{ - struct aes_xts_ctx *ctx = (struct aes_xts_ctx *)key; - u_int64_t blocknum; - u_int i; - - /* - * Prepare tweak as E_k2(IV). IV is specified as LE representation - * of a 64-bit block number which we allow to be passed in directly. - */ - bcopy(iv, &blocknum, AES_XTS_IVSIZE); - for (i = 0; i < AES_XTS_IVSIZE; i++) { - ctx->tweak[i] = blocknum & 0xff; - blocknum >>= 8; - } - /* Last 64 bits of IV are always zero */ - bzero(ctx->tweak + AES_XTS_IVSIZE, AES_XTS_IVSIZE); - - rijndael_encrypt(&ctx->key2, ctx->tweak, ctx->tweak); -} - -void -aes_xts_crypt(struct aes_xts_ctx *ctx, u_int8_t *data, u_int do_encrypt) -{ - u_int8_t block[AES_XTS_BLOCKSIZE]; - u_int i, carry_in, carry_out; - - for (i = 0; i < AES_XTS_BLOCKSIZE; i++) - block[i] = data[i] ^ ctx->tweak[i]; - - if (do_encrypt) - rijndael_encrypt(&ctx->key1, block, data); - else - rijndael_decrypt(&ctx->key1, block, data); - - for (i = 0; i < AES_XTS_BLOCKSIZE; i++) - data[i] ^= ctx->tweak[i]; - - /* Exponentiate tweak */ - carry_in = 0; - for (i = 0; i < AES_XTS_BLOCKSIZE; i++) { - carry_out = ctx->tweak[i] & 0x80; - ctx->tweak[i] = (ctx->tweak[i] << 1) | (carry_in ? 1 : 0); - carry_in = carry_out; - } - if (carry_in) - ctx->tweak[0] ^= AES_XTS_ALPHA; - bzero(block, sizeof(block)); -} - -void -aes_xts_encrypt(caddr_t key, u_int8_t *data) -{ - aes_xts_crypt((struct aes_xts_ctx *)key, data, 1); -} - -void -aes_xts_decrypt(caddr_t key, u_int8_t *data) -{ - aes_xts_crypt((struct aes_xts_ctx *)key, data, 0); -} - -int -aes_xts_setkey(u_int8_t **sched, u_int8_t *key, int len) -{ - struct aes_xts_ctx *ctx; - - if (len != 32 && len != 64) - return -1; - - *sched = malloc(sizeof(struct aes_xts_ctx), M_CRYPTO_DATA, - M_WAITOK | M_ZERO); - ctx = (struct aes_xts_ctx *)*sched; - - rijndael_set_key(&ctx->key1, key, len * 4); - rijndael_set_key(&ctx->key2, key + (len / 2), len * 4); - - return 0; -} - -void -aes_xts_zerokey(u_int8_t **sched) -{ - bzero(*sched, sizeof(struct aes_xts_ctx)); - free(*sched, M_CRYPTO_DATA); - *sched = NULL; -} - - /* * And now for auth. */ ==== //depot/projects/soc2009/gk_pefs/sys/opencrypto/xform.h#3 (text+ko) ==== @@ -48,13 +48,12 @@ struct enc_xform { int type; char *name; - u_int16_t blocksize, ivsize; + u_int16_t blocksize; u_int16_t minkey, maxkey; void (*encrypt) (caddr_t, u_int8_t *); void (*decrypt) (caddr_t, u_int8_t *); int (*setkey) (u_int8_t **, u_int8_t *, int len); void (*zerokey) (u_int8_t **); - void (*reinit) (caddr_t, u_int8_t *); }; struct comp_algo { @@ -81,7 +80,6 @@ extern struct enc_xform enc_xform_cast5; extern struct enc_xform enc_xform_skipjack; extern struct enc_xform enc_xform_rijndael128; -extern struct enc_xform enc_xform_aes_xts; extern struct enc_xform enc_xform_arc4; extern struct enc_xform enc_xform_camellia; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 09:04:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 488F21065679; Mon, 13 Jul 2009 09:04:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0821F1065674 for ; Mon, 13 Jul 2009 09:04:58 +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 D106F8FC1D for ; Mon, 13 Jul 2009 09:04:57 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D94vEx065012 for ; Mon, 13 Jul 2009 09:04:57 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D94vgO065010 for perforce@freebsd.org; Mon, 13 Jul 2009 09:04:57 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 13 Jul 2009 09:04:57 GMT Message-Id: <200907130904.n6D94vgO065010@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 165989 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 09:04:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=165989 Change 165989 by gk@gk_h1 on 2009/07/13 09:04:28 Import public domain implementation of Salsa20 stream block cipher by Daniel Bernstein. Imported version additionally supports encryption at arbitrary offset in stream and preserves offset between consequent calls to encryption function. Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/crypto/salsa20/salsa20.c#1 add .. //depot/projects/soc2009/gk_pefs/sys/crypto/salsa20/salsa20.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 13 09:18:12 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B33091065673; Mon, 13 Jul 2009 09:18:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72B8B1065670 for ; Mon, 13 Jul 2009 09:18:12 +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 602198FC14 for ; Mon, 13 Jul 2009 09:18:12 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D9ICYb065979 for ; Mon, 13 Jul 2009 09:18:12 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D9ICup065977 for perforce@freebsd.org; Mon, 13 Jul 2009 09:18:12 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 13 Jul 2009 09:18:12 GMT Message-Id: <200907130918.n6D9ICup065977@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 165990 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 09:18:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=165990 Change 165990 by gk@gk_h1 on 2009/07/13 09:18:07 Use salsa20 for encryption Remove all cipher block alignment handling bloat Implement key generation function (using salsa20) Use uma zones for cryptographically sensitive info (to bzero memory before free) Add key reference counting and locking Support nodes without key Add transparent mode. Emulate read-only filesystem if no keys specified Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#6 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#3 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#6 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#5 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#6 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#6 (text+ko) ==== @@ -37,24 +37,28 @@ * $FreeBSD$ */ +#include +#include +#include #include #include #ifdef _KERNEL -#define PEFS_BLOCK 16 -#define PEFS_TWEAK_SIZE 16 -#define PEFS_KEY_SIZE 64 +#define PEFS_TWEAK_SIZE 8 +#define PEFS_KEY_BITS 256 +#define PEFS_KEY_SIZE (PEFS_KEY_BITS / 8) #define PEFS_NAME_CSUM_SIZE 2 #define PEFS_NAME_NTOP_SIZE(a) (((a) * 4 + 2)/3) #define PEFS_NAME_PTON_SIZE(a) (((a) * 3)/4) -SLIST_HEAD(pefs_key_head, pefs_key); +LIST_HEAD(pefs_key_head, pefs_key); struct pefs_key { - SLIST_ENTRY(pefs_key) pk_entry; volatile u_int pk_refcnt; + LIST_ENTRY(pefs_key) pk_entry; + struct mtx *pk_entry_lock; char pk_name[PEFS_KEY_SIZE]; char pk_data[PEFS_KEY_SIZE]; }; @@ -64,16 +68,20 @@ char ptk_tweak[PEFS_TWEAK_SIZE]; }; +#define PN_HASKEY 0x0001 + struct pefs_node { LIST_ENTRY(pefs_node) pn_hash; /* Hash list */ struct vnode *pn_lowervp; /* VREFed once */ struct vnode *pn_vnode; /* Back pointer */ + int pn_flags; struct pefs_tkey pn_tkey; }; struct pefs_mount { struct mount *pm_vfs; struct vnode *pm_rootvp; /* Reference to root pefs_node */ + struct mtx pm_keys_lock; struct pefs_key_head pm_keys; }; @@ -128,21 +136,30 @@ struct vfsconf; struct vop_generic_args; +struct pefs_ctx; int pefs_init(struct vfsconf *vfsp); int pefs_uninit(struct vfsconf *vfsp); -int pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp, struct pefs_tkey *ptk); +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_lookup_name(struct vnode *lvp, struct vnode *ldvp, struct ucred *cred, char *encname, int *encname_len); struct pefs_key* pefs_node_key(struct pefs_node *pn); -struct pefs_tkey* pefs_node_tkey(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(char *passwd, int passwd_len); +struct pefs_key* pefs_key_ref(struct pefs_key *pk); +void pefs_key_release(struct pefs_key *pk); -void pefs_data_encrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); -void pefs_data_encrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size); -void pefs_data_decrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); -void pefs_data_decrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size); +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); -int pefs_name_encrypt(struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size); -int pefs_name_decrypt(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); @@ -150,6 +167,7 @@ struct pefs_chunk* pefs_chunk_create(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_get(struct pefs_chunk *pc, size_t *size, long *_state); @@ -160,6 +178,25 @@ extern struct vop_vector pefs_vnodeops; +static inline struct pefs_key* +pefs_rootkey(struct pefs_mount *pm) +{ + struct pefs_key *pk; + + mtx_lock(&pm->pm_keys_lock); + pk = LIST_FIRST(&pm->pm_keys); + mtx_unlock(&pm->pm_keys_lock); + + return (pk); +} + +static inline int +pefs_no_keys(struct vnode *vp) +{ + return (!(VP_TO_PN(vp)->pn_flags & PN_HASKEY) && + pefs_rootkey(VFS_TO_PEFS(vp->v_mount)) == NULL); +} + #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_PEFSBUF); #endif ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#3 (text+ko) ==== @@ -29,96 +29,167 @@ #include #include #include +#include #include +#include #include -#include +#include + +#include #include -#if 0 +static const char magic_tweak_name[PEFS_TWEAK_SIZE] = { + 0x5c, 0x83, 0xcb, 0x96, 0x2f, 0xaf, 0x3b, 0xb5, +}; + +#define MAGIC_KEYGEN_ITERATIONS 32 + +static const uint8_t magic_key_keygen[PEFS_KEY_SIZE] = { + 0xd2, 0x68, 0x7d, 0x52, 0xb7, 0xc1, 0xe0, 0xc7, + 0x26, 0xf1, 0x53, 0xaf, 0xa1, 0x46, 0x7a, 0xc9, + 0x3a, 0x37, 0xc6, 0xf6, 0x7d, 0xd3, 0xbe, 0xed, + 0xf4, 0x52, 0x24, 0x9e, 0x6c, 0x85, 0xd9, 0x5c, +}; + +static const uint8_t magic_tweak_keygen[PEFS_TWEAK_SIZE] = { + 0xc8, 0x27, 0xa3, 0x7e, 0xcf, 0x86, 0x3d, 0x0d, +}; + +struct pefs_ctx { + salsa20_ctx pctx_salsa; +}; + +static uma_zone_t pefs_ctx_zone; +static uma_zone_t pefs_key_zone; + +void +pefs_crypto_init(void) +{ + pefs_ctx_zone = uma_zcreate("pefs_ctx", sizeof(struct pefs_ctx), + NULL, NULL, NULL, (uma_fini) bzero, + UMA_ALIGN_PTR, 0); + pefs_key_zone = uma_zcreate("pefs_key", sizeof(struct pefs_key), + NULL, NULL, NULL, (uma_fini) bzero, + UMA_ALIGN_PTR, 0); +} + +void +pefs_crypto_uninit(void) +{ + uma_zdestroy(pefs_ctx_zone); + uma_zdestroy(pefs_key_zone); +} + +struct pefs_ctx * +pefs_ctx_get(void) +{ + return uma_zalloc(pefs_ctx_zone, M_WAITOK); +} + +void +pefs_ctx_free(struct pefs_ctx *ctx) +{ + uma_zfree(pefs_ctx_zone, ctx); +} + static void -pefs_xor(void *mem, size_t size) +pefs_key_generate(struct pefs_ctx *ctx, uint8_t *key) { - char *b = (char *)mem; - char *e = b + size; + uint8_t tweak[PEFS_TWEAK_SIZE]; + int i, j; + + memcpy(tweak, magic_tweak_keygen, PEFS_TWEAK_SIZE); + + salsa20_keysetup(&ctx->pctx_salsa, magic_key_keygen, PEFS_KEY_BITS); + salsa20_ivsetup(&ctx->pctx_salsa, tweak, 0); + salsa20_crypt(&ctx->pctx_salsa, key, key, PEFS_KEY_SIZE); - for (; b < e; b++) { - *b ^= 0xAA; + for (i = 1; i < MAGIC_KEYGEN_ITERATIONS; i++) { + for (j = 0; j < PEFS_TWEAK_SIZE; j++) + tweak[j]++; + salsa20_keysetup(&ctx->pctx_salsa, key, PEFS_KEY_BITS); + salsa20_ivsetup(&ctx->pctx_salsa, tweak, i * 64); + salsa20_crypt(&ctx->pctx_salsa, key, key, PEFS_KEY_SIZE); } } -static void -pefs_xor_chunk(struct pefs_chunk *pc) +struct pefs_key * +pefs_key_get(char *passwd, int passwd_len) +{ + struct pefs_ctx *ctx; + struct pefs_key *pk; + int i; + + pk = uma_zalloc(pefs_key_zone, M_WAITOK | M_ZERO); + refcount_init(&pk->pk_refcnt, 1); + + if (passwd_len > PEFS_KEY_SIZE) + passwd_len = PEFS_KEY_SIZE; + memcpy(pk->pk_name, passwd, passwd_len); + for (i = passwd_len; i < PEFS_KEY_SIZE; i++) + pk->pk_name[i] = passwd[i % passwd_len]; + + ctx = pefs_ctx_get(); + pefs_key_generate(ctx, pk->pk_name); + memcpy(pk->pk_data, pk->pk_name, PEFS_KEY_SIZE); + pefs_key_generate(ctx, pk->pk_data); + pefs_ctx_free(ctx); + + return (pk); +} + +struct pefs_key * +pefs_key_ref(struct pefs_key *pk) { - long arg = 0; - char *mem; - size_t size; + refcount_acquire(&pk->pk_refcnt); + return (pk); +} - while (1) { - mem = pefs_chunk_get(pc, &size, &arg); - if (mem == NULL) - break; - pefs_xor(mem, size); - } +void +pefs_key_release(struct pefs_key *pk) +{ + if (pk == NULL) + return; + if (refcount_release(&pk->pk_refcnt)) + uma_zfree(pefs_key_zone, pk); } -#endif void -pefs_data_encrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) +pefs_data_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) { long arg = 0; char *mem; size_t size; + int free_ctx = 0; if (ptk->ptk_key == NULL) { PEFSDEBUG("!!! %s: NULL ptk_key\n", __func__); return; } - if (offset % PEFS_BLOCK != 0) { - PEFSDEBUG("!!! %s: invalid offset %jd\n", __func__, offset); - return; + if (ctx == NULL) { + ctx = pefs_ctx_get(); + free_ctx = 1; } - // FIXME - struct rc4_state rc4state; - rc4_init(&rc4state, ptk->ptk_key->pk_data, PEFS_KEY_SIZE); + salsa20_keysetup(&ctx->pctx_salsa, ptk->ptk_key->pk_data, PEFS_KEY_BITS); + salsa20_ivsetup(&ctx->pctx_salsa, ptk->ptk_tweak, offset); while (1) { mem = pefs_chunk_get(pc, &size, &arg); if (mem == NULL) break; - rc4_crypt(&rc4state, mem, mem, size); + salsa20_crypt(&ctx->pctx_salsa, mem, mem, size); } -} -void -pefs_data_encrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size) -{ - if (ptk->ptk_key == NULL) { - PEFSDEBUG("!!! %s: NULL ptk_key\n", __func__); - return; - } - if (offset % PEFS_BLOCK != 0) { - PEFSDEBUG("!!! %s: invalid offset %jd\n", __func__, offset); - return; - } - - // FIXME - struct rc4_state rc4state; - rc4_init(&rc4state, ptk->ptk_key->pk_data, PEFS_KEY_SIZE); - rc4_crypt(&rc4state, mem, mem, size); + if (free_ctx) + pefs_ctx_free(ctx); } void -pefs_data_decrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) +pefs_data_decrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) { - pefs_data_encrypt(ptk, offset, pc); -} - -void -pefs_data_decrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size) -{ - pefs_data_encrypt_buf(ptk, offset, mem, size); + pefs_data_encrypt(ctx, ptk, offset, pc); } /* @@ -135,9 +206,15 @@ count -= 2; } + /* Fold 32-bit sum to 16 bits */ + while (sum >> 16) + sum = (sum & 0xffff) + (sum >> 16); + /* Add left-over byte, if any */ - if (count > 0) + if (count > 0) { sum += * (unsigned char *) buf; + sum <<= 8; + } /* Fold 32-bit sum to 16 bits */ while (sum >> 16) @@ -147,13 +224,15 @@ } int -pefs_name_encrypt(struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size) +pefs_name_encrypt(struct pefs_ctx *ctx, struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size) { char *buf; size_t size; u_short csum; + int free_ctx = 0; int r; + if (ptk == NULL || ptk->ptk_key == NULL) { PEFSDEBUG("!!!! %s: NULL key\n", __func__); return (-1); @@ -174,10 +253,17 @@ csum = pefs_name_checksum(buf, size); memcpy(buf + size - PEFS_NAME_CSUM_SIZE, &csum, PEFS_NAME_CSUM_SIZE); - // FIXME - struct rc4_state rc4state; - rc4_init(&rc4state, ptk->ptk_key->pk_name, PEFS_KEY_SIZE); - rc4_crypt(&rc4state, buf, buf, size); + if (ctx == NULL) { + ctx = pefs_ctx_get(); + free_ctx = 1; + } + + salsa20_keysetup(&ctx->pctx_salsa, ptk->ptk_key->pk_name, PEFS_KEY_BITS); + salsa20_ivsetup(&ctx->pctx_salsa, magic_tweak_name, 0); + salsa20_crypt(&ctx->pctx_salsa, buf, buf, size); + + if (free_ctx) + pefs_ctx_free(ctx); r = pefs_name_ntop(buf, size, enc, enc_size); @@ -189,9 +275,10 @@ } int -pefs_name_decrypt(struct pefs_key *pk, struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, size_t plain_size) +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) { u_short csum; + int free_ctx = 0; int r; if (pk == NULL) { @@ -205,10 +292,17 @@ return (-1); } - // FIXME - struct rc4_state rc4state; - rc4_init(&rc4state, pk->pk_name, PEFS_KEY_SIZE); - rc4_crypt(&rc4state, plain, plain, r); + if (ctx == NULL) { + ctx = pefs_ctx_get(); + free_ctx = 1; + } + + salsa20_keysetup(&ctx->pctx_salsa, pk->pk_name, PEFS_KEY_BITS); + salsa20_ivsetup(&ctx->pctx_salsa, magic_tweak_name, 0); + salsa20_crypt(&ctx->pctx_salsa, plain, plain, r); + + if (free_ctx) + pefs_ctx_free(ctx); csum = pefs_name_checksum(plain, r); if (csum != 0) { @@ -227,7 +321,8 @@ if (r < plain_size) plain[r] = '\0'; - printf("pefs_name_decrypt: %d; %.*s => %.*s\n", r, enc_len, enc, r < 0 ? 0 : r, plain); + PEFSDEBUG("pefs_name_decrypt: %d; %.*s => %.*s\n", r, enc_len, enc, r < 0 ? 0 : r, plain); return r; } + ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#6 (text+ko) ==== @@ -41,9 +41,12 @@ #include #include #include -#include #include #include +#include +#include +#include +#include #include #include #include @@ -66,32 +69,38 @@ static LIST_HEAD(pefs_node_hashhead, pefs_node) *pefs_node_hashtbl; static u_long pefs_node_hash; -struct mtx pefs_hashmtx; +static struct mtx pefs_hashmtx; static MALLOC_DEFINE(M_PEFSHASH, "pefs_hash", "PEFS hash table"); -static MALLOC_DEFINE(M_PEFSNODE, "pefs_node", "PEFS vnode private part"); MALLOC_DEFINE(M_PEFSBUF, "pefs_buf", "PEFS buffers"); +static uma_zone_t pefs_node_zone; + /* * Initialise cache headers */ int pefs_init(struct vfsconf *vfsp) { + PEFSDEBUG("pefs_init\n"); - PEFSDEBUG("pefs_init\n"); /* printed during system boot */ + 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, "pehs", NULL, MTX_DEF); + mtx_init(&pefs_hashmtx, "pefs_hash", NULL, MTX_DEF); + pefs_crypto_init(); return (0); } int -pefs_uninit(vfsp) - struct vfsconf *vfsp; +pefs_uninit(struct vfsconf *vfsp) { - + pefs_crypto_uninit(); mtx_destroy(&pefs_hashmtx); free(pefs_node_hashtbl, M_PEFSHASH); + uma_zdestroy(pefs_node_zone); return (0); } @@ -166,36 +175,119 @@ } static void -pefs_insmntque_dtr(struct vnode *vp, void *xp) +pefs_insmntque_dtr(struct vnode *vp, void *_pn) { + struct pefs_node *pn = _pn; + + PEFSDEBUG("pefs_insmntque_dtr: free node %p\n", pn); vp->v_data = NULL; vp->v_vnlock = &vp->v_lock; - free(xp, M_PEFSNODE); + pefs_key_release(pn->pn_tkey.ptk_key); + uma_zfree(pefs_node_zone, pn); vp->v_op = &dead_vnodeops; (void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); vgone(vp); vput(vp); } +int +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; + int buflen = *encname_len; + + PEFSDEBUG("%s: lvp=%p, ldvp=%p, cred=%p\n", __func__, lvp, ldvp, cred); + ASSERT_VOP_LOCKED(lvp, "pefs_node_lookup_name"); + locked = VOP_ISLOCKED(lvp); + if (ldvp) { + dlocked = VOP_ISLOCKED(ldvp); + if (dlocked) + VOP_UNLOCK(ldvp, 0); + } else { + dlocked = 0; + } + + vref(lvp); + VOP_UNLOCK(lvp, 0); + nldvp = lvp; + error = vn_vptocnp(&nldvp, cred, encname, encname_len); + PEFSDEBUG("%s: vn_vptocnp(dvp) result %d; nldvp=%p; ldvp=%p, len=%d\n", __func__, error, nldvp, ldvp, *encname_len); + if (!error) + vdrop(nldvp); + vrele(lvp); + vn_lock(lvp, locked | LK_RETRY); + if (ldvp && dlocked) + vn_lock(ldvp, dlocked | LK_RETRY); + if (error) + return (ENOENT); + + memcpy(encname, encname + *encname_len, buflen - *encname_len); + *encname_len = buflen - *encname_len; + if (*encname_len < buflen) + encname[*encname_len] = '\0'; + PEFSDEBUG("%s: len=%d %s\n", __func__, *encname_len, encname); + + return 0; +} + +static int +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; + int error, encname_len, name_len; + + namebuf = malloc((MAXNAMLEN + 1)*2, M_PEFSBUF, M_WAITOK | M_ZERO); + encname = namebuf + MAXNAMLEN + 1; + encname_len = MAXNAMLEN + 1; + + error = pefs_node_lookup_name(lvp, ldvp, cred, encname, &encname_len); + if (!error) { + free(namebuf, M_PEFSBUF); + return (error); + } + + PEFSDEBUG("%s: encname_len=%d; encname=%s\n", __func__, encname_len, + encname); + + name_len = pefs_name_decrypt(NULL, pefs_rootkey(pm), ptk, + encname, encname_len, + namebuf, MAXNAMLEN + 1); + + if (name_len < 0) { + PEFSDEBUG("%s: not found: %.*s\n", __func__, encname_len, encname); + error = 0; + } else { + pefs_key_ref(ptk->ptk_key); + } + + free(namebuf, M_PEFSBUF); + + return (error); +} + /* * Make a new or get existing pefs node. - * Vp is the alias vnode, lowervp is the lower vnode. + * vp is the alias vnode + * lvp is the lower vnode + * ldvp is the lower directory vnode, used if no key specified * - * The lowervp assumed to be locked and having "spare" reference. This routine - * vrele lowervp if pefs node was taken from hash. Otherwise it "transfers" + * The lvp assumed to be locked and having "spare" reference. This routine + * 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 *lowervp, struct vnode **vpp, struct pefs_tkey *ptk) +pefs_node_get(struct mount *mp, struct vnode *lvp, struct vnode *ldvp, struct vnode **vpp, struct ucred *cred, struct pefs_tkey *ptk) { struct pefs_node *xp; struct vnode *vp; int error; /* Lookup the hash firstly */ - *vpp = pefs_hashget(mp, lowervp); + *vpp = pefs_hashget(mp, lvp); if (*vpp != NULL) { - vrele(lowervp); + vrele(lvp); return (0); } @@ -203,7 +295,7 @@ * We do not serialize vnode creation, instead we will check for * duplicates later, when adding new vnode to hash. * - * Note that duplicate can only appear in hash if the lowervp is + * Note that duplicate can only appear in hash if the lvp is * locked LK_SHARED. */ @@ -212,26 +304,39 @@ * might cause a bogus v_data pointer to get dereferenced * elsewhere if MALLOC should block. */ - xp = malloc(sizeof(struct pefs_node), - M_PEFSNODE, M_WAITOK | M_ZERO); + xp = uma_zalloc(pefs_node_zone, M_WAITOK | M_ZERO); + + if (ptk != NULL && ptk->ptk_key != NULL) { + xp->pn_tkey = *ptk; + xp->pn_flags = PN_HASKEY; + pefs_key_ref(xp->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, &xp->pn_tkey); + if (error) { + uma_zfree(pefs_node_zone, xp); + return (error); + } + if (xp->pn_tkey.ptk_key != NULL) + xp->pn_flags = PN_HASKEY; + } error = getnewvnode("pefs", mp, &pefs_vnodeops, &vp); if (error) { - free(xp, M_PEFSNODE); + pefs_key_release(xp->pn_tkey.ptk_key); + uma_zfree(pefs_node_zone, xp); return (error); } - if (ptk != NULL) - xp->pn_tkey = *ptk; + if (xp->pn_tkey.ptk_key == NULL) + PEFSDEBUG("%s: creating node without key: %p: %p->%p\n", __func__, xp, vp, lvp); - if (!ptk) - PEFSDEBUG("%s: creating node without key: %p: %p->%p\n", __func__, xp, vp, lowervp); - xp->pn_vnode = vp; - xp->pn_lowervp = lowervp; - vp->v_type = lowervp->v_type; + xp->pn_lowervp = lvp; + vp->v_type = lvp->v_type; vp->v_data = xp; - vp->v_vnlock = lowervp->v_vnlock; + vp->v_vnlock = lvp->v_vnlock; if (vp->v_vnlock == NULL) panic("pefs_node_get: Passed a NULL vnlock.\n"); error = insmntque1(vp, mp, pefs_insmntque_dtr, xp); @@ -243,7 +348,7 @@ */ *vpp = pefs_hashins(mp, xp); if (*vpp != NULL) { - vrele(lowervp); + vrele(lvp); vp->v_vnlock = &vp->v_lock; xp->pn_lowervp = NULL; vrele(vp); @@ -260,33 +365,28 @@ void pefs_node_free(struct pefs_node *xp) { - + PEFSDEBUG("pefs_node_free: free node %p\n", xp); mtx_lock(&pefs_hashmtx); LIST_REMOVE(xp, pn_hash); mtx_unlock(&pefs_hashmtx); - free(xp, M_PEFSNODE); + pefs_key_release(xp->pn_tkey.ptk_key); + uma_zfree(pefs_node_zone, xp); } struct pefs_key* pefs_node_key(struct pefs_node *pn) { - if (pn->pn_tkey.ptk_key == NULL) { - PEFSDEBUG("!!!!! %s: key is not set: pn=%p\n", __func__, pn); - // FIXME !!!!! - pn->pn_tkey.ptk_key = SLIST_FIRST(&VFS_TO_PEFS(pn->pn_vnode->v_mount)->pm_keys); - } - return (pn->pn_tkey.ptk_key); + struct pefs_key *pk; -} - -struct pefs_tkey* -pefs_node_tkey(struct pefs_node *pn) -{ - if (pn->pn_tkey.ptk_key == NULL) { - pefs_node_key(pn); + if (pn->pn_flags & PN_HASKEY) { + MPASS(pn->pn_tkey.ptk_key != NULL); + pk = pn->pn_tkey.ptk_key; + } else { + MPASS(pn->pn_tkey.ptk_key == NULL); + pk = pefs_rootkey(VFS_TO_PEFS(pn->pn_vnode->v_mount)); } - return (&pn->pn_tkey); - + MPASS(pk != NULL); + return (pefs_key_ref(pk)); } struct pefs_chunk* @@ -296,7 +396,6 @@ int iovcnt; iovcnt = (size + PAGE_SIZE - 1) / PAGE_SIZE; - PEFSDEBUG("%s: length=%u; iovcnt=%d\n", __func__, size, iovcnt); pc = malloc(sizeof(struct pefs_chunk) + (sizeof(void*) + sizeof(struct iovec) * 2) * iovcnt, M_PEFSBUF, M_WAITOK | M_ZERO); @@ -314,8 +413,8 @@ pc->pc_iov[i].iov_base = pc->pc_bases[i]; size -= len; } - if (size != 0) - panic("pefs_chunk initialization error\n"); + + MPASS(size == 0); return (pc); } @@ -335,6 +434,19 @@ } } +void* +pefs_chunk_pullup(struct pefs_chunk *pc, size_t size) +{ + if (size > PAGE_SIZE) + panic("pefs_chunk_pullup: size > PAGE_SIZE"); + if (pc->pc_iovcnt == 0) + panic("pefs_chunk_pullup: chunk is empty"); + if (size > pc->pc_size || size > pc->pc_iov[0].iov_len) + panic("pefs_chunk_pullup: size is too large: %u, available %u", + size, min(pc->pc_size, pc->pc_iov[0].iov_len)); + return (pc->pc_iov[0].iov_base); +} + void pefs_chunk_free(struct pefs_chunk* pc) { @@ -375,8 +487,6 @@ pc->pc_uio.uio_iov[i].iov_len = min(size, pc->pc_iov[skip_iov + i].iov_len - skip); size -= pc->pc_uio.uio_iov[i].iov_len; skip = 0; - printf("%s: creating iov: i=%d; len=%d; base=%p\n", __func__, i, - pc->pc_uio.uio_iov[i].iov_len, pc->pc_uio.uio_iov[i].iov_base); } pc->pc_uio.uio_iovcnt = i; @@ -389,7 +499,7 @@ void *mem; if (!size || !state || *state < 0) - panic("invalid args"); + panic("pefs_chunk_get: invalid args"); if (*state >= pc->pc_iovcnt) { *size = 0; return (NULL); @@ -443,9 +553,6 @@ if (skip_begin + skip_end == 0) return; - PEFSDEBUG("%s: skip_begin=%d; skip_end=%d; size=%d\n", __func__, - skip_begin, skip_end, pc->pc_size); - for (int i = 0; i < pc->pc_iovcnt && skip_begin; i++) { struct iovec *iov = &pc->pc_iov[i]; @@ -504,9 +611,9 @@ * with a funny vop vector. */ if (vp->v_op != pefs_vnodeop_p) { - printf ("pefs_checkvp: on non-null-node\n"); + printf("pefs_checkvp: on non-null-node\n"); while (pefs_checkvp_barrier) /*WAIT*/ ; - panic("pefs_checkvp"); + panic("pefs_checkvp: on non-null-node"); }; #endif if (a->pefs_lowervp == NULLVP) { ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#5 (text+ko) ==== @@ -67,9 +67,6 @@ int isvnunlocked = 0, len; struct nameidata nd, *ndp = &nd; - // FIXME - struct pefs_key *pk; - PEFSDEBUG("pefs_mount(mp = %p)\n", (void *)mp); if (mp->mnt_flag & MNT_ROOTFS) @@ -132,17 +129,19 @@ return (EDEADLK); } - // FIXME - pk = malloc(sizeof(struct pefs_key), M_PEFSBUF, M_WAITOK | M_ZERO); - memset(pk->pk_data, 0xaa, PEFS_KEY_SIZE); - memset(pk->pk_name, 0xbb, PEFS_KEY_SIZE); + xmp = (struct pefs_mount *) malloc(sizeof(struct pefs_mount), + M_PEFSMNT, M_WAITOK | M_ZERO); /* XXX */ - xmp = (struct pefs_mount *) malloc(sizeof(struct pefs_mount), - M_PEFSMNT, M_WAITOK); /* XXX */ + mtx_init(&xmp->pm_keys_lock, "pefs_mount lock", NULL, MTX_DEF); + LIST_INIT(&xmp->pm_keys); - SLIST_INIT(&xmp->pm_keys); +#if 0 // FIXME - SLIST_INSERT_HEAD(&xmp->pm_keys, pk, pk_entry); + struct pefs_key *pk; + pk = pefs_key_get("a", 1); + pk->pk_entry_lock = &xmp->pm_keys_lock; + LIST_INSERT_HEAD(&xmp->pm_keys, pk, pk_entry); +#endif /* * Save reference to underlying FS @@ -153,7 +152,7 @@ * Save reference. Each mount also holds * a reference on the root vnode. */ - error = pefs_node_get(mp, lowerrootvp, &vp, NULL); + error = pefs_node_get(mp, lowerrootvp, NULL, &vp, NULL, NULL); /* * Make sure the node alias worked */ @@ -220,8 +219,16 @@ */ pm = VFS_TO_PEFS(mp); mp->mnt_data = 0; - //FIXME - free(SLIST_FIRST(&pm->pm_keys), M_PEFSMNT); + mtx_lock(&pm->pm_keys_lock); + while (!LIST_EMPTY(&pm->pm_keys)) { + struct pefs_key *pk = LIST_FIRST(&pm->pm_keys); + + LIST_REMOVE(pk, pk_entry); + pk->pk_entry_lock = NULL; + pefs_key_release(pk); + } + mtx_unlock(&pm->pm_keys_lock); + mtx_destroy(&pm->pm_keys_lock); free(pm, M_PEFSMNT); return 0; } @@ -302,7 +309,7 @@ if (error) return (error); - return (pefs_node_get(mp, *vpp, vpp, NULL)); + return (pefs_node_get(mp, *vpp, NULL, vpp, NULL, NULL)); } static int @@ -314,7 +321,7 @@ if (error) return (error); - error = pefs_node_get(mp, *vpp, vpp, NULL); + error = pefs_node_get(mp, *vpp, NULL, vpp, NULL, NULL); printf("pefs_fhtovp: error=%d; vp=%p; v_object=%p\n", error, !error ? *vpp : NULL, !error ? (*vpp)->v_object : NULL); if (error) @@ -346,4 +353,4 @@ }; VFS_SET(pefs_vfsops, pefs, VFCF_LOOPBACK); -MODULE_DEPEND(pefs, rc4, 1, 1, 1); +MODULE_DEPEND(pefs, salsa20, 1, 1, 1); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#6 (text+ko) ==== @@ -65,16 +65,6 @@ SYSCTL_INT(_debug, OID_AUTO, pefs_bug_bypass, CTLFLAG_RW, &pefs_bug_bypass, 0, ""); -const static struct { - size_t namelen; - const char *name; -} _pefs_name_skip_list[] = { - { 4, ".zfs" }, - { 5, ".snap" }, - { 10, "lost+found" }, - { 0, NULL }, -}; - struct pefs_enccn { struct componentname pec_cn; void *pec_buf; @@ -86,12 +76,6 @@ { if (name[0] == '.' && (namelen == 1 || (namelen == 2 && name[1] == '.'))) return (1); - for (int i = 0; _pefs_name_skip_list[i].namelen && - _pefs_name_skip_list[i].namelen <= namelen; i++) { - if (namelen == _pefs_name_skip_list[i].namelen && - memcmp(_pefs_name_skip_list[i].name, name, namelen) == 0) - return (1); - } return (0); } @@ -135,7 +119,7 @@ pec->pec_tkey.ptk_key = pk; PEFSDEBUG("%s: pk=%p\n", __func__, pk); pec->pec_buf = uma_zalloc(namei_zone, M_WAITOK); - r = pefs_name_encrypt(&pec->pec_tkey, + r = pefs_name_encrypt(NULL, &pec->pec_tkey, cnp->cn_nameptr, cnp->cn_namelen, pec->pec_buf, MAXPATHLEN); if (r <= 0) { uma_zfree(namei_zone, pec->pec_buf); @@ -165,26 +149,30 @@ static struct dirent* pefs_enccn_lookup_dirent(struct pefs_key *pk, struct pefs_tkey *ptk, void *mem, size_t sz, char *name, int namelen, char *buf, size_t buf_sz) { + struct pefs_ctx *ctx; struct dirent *de; int d_namelen; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 13 09:19:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E77B91065673; Mon, 13 Jul 2009 09:19: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 A6C21106564A for ; Mon, 13 Jul 2009 09:19:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 950EA8FC0A for ; Mon, 13 Jul 2009 09:19:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D9JDxf066040 for ; Mon, 13 Jul 2009 09:19:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D9JD8X066038 for perforce@freebsd.org; Mon, 13 Jul 2009 09:19:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 13 Jul 2009 09:19:13 GMT Message-Id: <200907130919.n6D9JD8X066038@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 165991 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 09:19:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165991 Change 165991 by hselasky@hselasky_laptop001 on 2009/07/13 09:18:29 LibUSB: - add more documentation to manual page Affected files ... .. //depot/projects/usb/src/lib/libusb/libusb20.3#3 edit Differences ... ==== //depot/projects/usb/src/lib/libusb/libusb20.3#3 (text+ko) ==== @@ -310,8 +310,13 @@ .Pp . .Fn libusb20_tr_get_max_total_length -function will return the maximum value for the length sum of all -USB frames associated with an USB transfer. +function will return the maximum value for the data length sum of all USB +frames associated with an USB transfer. +In case of control transfers the value returned does not include the +length of the SETUP packet, 8 bytes, which is part of frame zero. +The returned value of this function is always aligned to the maximum +packet size, wMaxPacketSize, of the endpoint which the USB transfer is +bound to. . .Pp . From owner-p4-projects@FreeBSD.ORG Mon Jul 13 09:20:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29B6E1065674; Mon, 13 Jul 2009 09:20:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE15D1065672 for ; Mon, 13 Jul 2009 09:20:14 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC7E58FC14 for ; Mon, 13 Jul 2009 09:20:14 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6D9KEaf066176 for ; Mon, 13 Jul 2009 09:20:14 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6D9KErs066174 for perforce@freebsd.org; Mon, 13 Jul 2009 09:20:14 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 09:20:14 GMT Message-Id: <200907130920.n6D9KErs066174@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165992 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 09:20:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165992 Change 165992 by syl@syl_pablo on 2009/07/13 09:19:45 Implement get_hw_ep_profile. Implement ep_init. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#2 edit .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#3 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#2 (text+ko) ==== @@ -72,6 +72,208 @@ "s3c24xxdci debug level"); #endif +/* + * Here is a list of what the chip supports. + */ + +static const struct usb_hw_ep_profile +s3c24dci_ep_profile[S3C24XX_DCI_EP_MAX] = { + [0] = { + .max_in_frame_size = 8, + .max_out_frame_size = 8, + .is_simplex = 1, + .support_control = 1, + }, + [1] = { + .max_in_frame_size = 64, + .max_out_frame_size = 64, + .is_simplex = 1, + .support_multi_buffer = 1, + .support_bulk = 1, + .support_interrupt = 1, + .support_isochronous = 1 , + .support_in = 1, + .support_out = 1 , + }, + [2] = { + .max_in_frame_size = 64, + .max_out_frame_size = 64, + .is_simplex = 1, + .support_multi_buffer = 1, + .support_bulk = 1, + .support_interrupt = 1, + .support_isochronous = 1 , + .support_in = 1, + .support_out = 1 , + }, + [3] = { + .max_in_frame_size = 64, + .max_out_frame_size = 64, + .is_simplex = 1, + .support_multi_buffer = 1, + .support_bulk = 1, + .support_interrupt = 1, + .support_isochronous = 1 , + .support_in = 1, + .support_out = 1 , + }, + [4] = { + .max_in_frame_size = 64, + .max_out_frame_size = 64, + .is_simplex = 1, + .support_multi_buffer = 1, + .support_bulk = 1, + .support_interrupt = 1, + .support_isochronous = 1 , + .support_in = 1, + .support_out = 1 , + }, +}; + +/* + * s3c24xxdci ctrl support + */ + +static void +s3c24dci_device_ctrl_open(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_ctrl_close(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_ctrl_start(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_ctrl_enter(struct usb_xfer *xfer) +{ + return ; +} + +struct usb_pipe_methods s3c24dci_device_ctrl_methods = { + .open = s3c24dci_device_ctrl_open, + .close = s3c24dci_device_ctrl_close, + .enter = s3c24dci_device_ctrl_enter, + .start = s3c24dci_device_ctrl_start, +}; + +/* + * s3c24xxdci bulk support + */ + +static void +s3c24dci_device_bulk_open(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_bulk_close(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_bulk_start(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_bulk_enter(struct usb_xfer *xfer) +{ + return ; +} + +struct usb_pipe_methods s3c24dci_device_bulk_methods = { + .open = s3c24dci_device_bulk_open, + .close = s3c24dci_device_bulk_close, + .enter = s3c24dci_device_bulk_enter, + .start = s3c24dci_device_bulk_start, +}; + +/* + * s3c24xxdci interrupt support + */ + +static void +s3c24dci_device_intr_open(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_intr_close(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_intr_start(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_intr_enter(struct usb_xfer *xfer) +{ + return ; +} + +struct usb_pipe_methods s3c24dci_device_bulk_methods = { + .open = s3c24dci_device_intr_open, + .close = s3c24dci_device_intr_close, + .enter = s3c24dci_device_intr_enter, + .start = s3c24dci_device_intr_start, +}; + +/* + * s3c24xxdci isochronous support + */ + +static void +s3c24dci_device_isoc_fs_open(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_isoc_fs_close(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_isoc_fs_start(struct usb_xfer *xfer) +{ + return ; +} + +static void +s3c24dci_device_isoc_fs_enter(struct usb_xfer *xfer) +{ + return ; +} + +struct usb_pipe_methods s3c24dci_device_bulk_methods = { + .open = s3c24dci_device_isoc_fs_open, + .close = s3c24dci_device_isoc_fs_close, + .enter = s3c24dci_device_isoc_fs_enter, + .start = s3c24dci_device_isoc_fs_start, +}; + +/* + * USB FN interface + */ + usb_error_t s3c24dci_init(struct s3c24dci_softc *sc) { return 0; @@ -99,7 +301,10 @@ s3c24dci_get_hw_ep_profile(struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) { - return ; + if (ep_addr < S3C24XX_DCI_EP_MAX) + *ppf = (s3c24dci_ep_profile + ep_addr); + else + *ppf = NULL; } static usb_error_t @@ -133,16 +338,26 @@ if (udev->device_index != sc->sc_rt_addr) { if (udev->flags.usb_mode != USB_MODE_DEVICE) { + /* not supported */ return ; } if (udev->speed != USB_SPEED_FULL) { + /* not supported */ return ; } switch (edesc->bmAttributes & UE_XFERTYPE) { case UE_CONTROL: + ep->methods = &s3c24dci_device_ctrl_methods; + break ; case UE_INTERRUPT: + ep->methods = &s3c24dci_device_intr_methods; + break ; case UE_ISOCHRONOUS: + ep->methods = &s3c24dci_device_isoc_fs_methods; + break ; case UE_BULK: + ep->methods = &s3c24dci_device_bulk_methods; + break ; default: break; } ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#3 (text+ko) ==== @@ -167,6 +167,8 @@ #define S3C24_DCI_IN_DMA_RUN (1<<1) #define S3C24_DCI_DMA_MODE_EN (1<<0) +#define S3C24XX_DCI_EP_MAX 5 + struct s3c24dci_softc { struct usb_bus sc_bus; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 10:58:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2900C1065673; Mon, 13 Jul 2009 10:58: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 DD1D7106564A for ; Mon, 13 Jul 2009 10:58:01 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CB16B8FC08 for ; Mon, 13 Jul 2009 10:58:01 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DAw1Vb074092 for ; Mon, 13 Jul 2009 10:58:01 GMT (envelope-from tatsianka@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DAw1JA074090 for perforce@freebsd.org; Mon, 13 Jul 2009 10:58:01 GMT (envelope-from tatsianka@FreeBSD.org) Date: Mon, 13 Jul 2009 10:58:01 GMT Message-Id: <200907131058.n6DAw1JA074090@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tatsianka@FreeBSD.org using -f From: Tatsiana Severyna To: Perforce Change Reviews Cc: Subject: PERFORCE change 165996 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 10:58:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165996 Change 165996 by tatsianka@tatsianka_zonder on 2009/07/13 10:57:50 Fix knlist_init Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#7 edit .. //depot/projects/soc2009/tatsianka_puffs/putter/putter.c#5 edit Differences ... ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#7 (text+ko) ==== @@ -149,7 +149,7 @@ /* insert cookie on list, take off of interlock list */ mtx_init(&pnode->pn_mtx, "puffs pn_mtx", NULL, MTX_DEF); - knlist_init(&pnode->pn_sel.si_note, NULL, NULL, NULL, NULL); + knlist_init(&pnode->pn_sel.si_note, NULL, NULL, NULL, NULL, NULL); plist = puffs_cookie2hashlist(pmp, ck); mtx_lock(&pmp->pmp_lock); LIST_INSERT_HEAD(plist, pnode, pn_hashent); ==== //depot/projects/soc2009/tatsianka_puffs/putter/putter.c#5 (text+ko) ==== @@ -444,7 +444,7 @@ pi->pi_pid = pid; pi->pi_idx = dev2unit(dev); pi->pi_private = PUTTER_EMBRYO; - knlist_init(&pi->pi_sel.si_note, &pi_mtx, NULL, NULL, NULL); + knlist_init_mtx(&pi->pi_sel.si_note, &pi_mtx); mtx_unlock(&pi_mtx); TAILQ_INSERT_TAIL(&putter_ilist, pi, pi_entries); From owner-p4-projects@FreeBSD.ORG Mon Jul 13 13:12:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DA6A1065673; Mon, 13 Jul 2009 13:12: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 07C84106566C for ; Mon, 13 Jul 2009 13:12:29 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E9E628FC13 for ; Mon, 13 Jul 2009 13:12:28 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DDCSGu097083 for ; Mon, 13 Jul 2009 13:12:28 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DDCSRK097081 for perforce@freebsd.org; Mon, 13 Jul 2009 13:12:28 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 13:12:28 GMT Message-Id: <200907131312.n6DDCSRK097081@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166001 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 13:12:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=166001 Change 166001 by syl@syl_pablo on 2009/07/13 13:11:35 Implement clear_stall. Update get_hw_ep_profile because this ip does not support isochronous transfers. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#3 edit .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#4 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#3 (text+ko) ==== @@ -73,6 +73,12 @@ #endif /* + * This driver dont support DMA for the mement. DMA seems to not be + * implemented on s3c2xxx cpus. + */ + + +/* * Here is a list of what the chip supports. */ @@ -91,7 +97,6 @@ .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, - .support_isochronous = 1 , .support_in = 1, .support_out = 1 , }, @@ -102,7 +107,6 @@ .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, - .support_isochronous = 1 , .support_in = 1, .support_out = 1 , }, @@ -113,7 +117,6 @@ .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, - .support_isochronous = 1 , .support_in = 1, .support_out = 1 , }, @@ -124,7 +127,6 @@ .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, - .support_isochronous = 1 , .support_in = 1, .support_out = 1 , }, @@ -284,9 +286,96 @@ return ; } +static void +s3c24dci_clear_stall_sub(struct s3c24dci_softc *sc, uint8_t ep_no, + uint8_t ep_type, uint8_t ep_dir) +{ + const struct usb_hw_ep_profile *pf; + uint32_t csr1; + uint32_t csr2; + uint32_t ittmp; + + if (ep_type == UE_CONTROL) { + /* clearing stall is not needed */ + } + + /* disable ep */ + + ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN); + ittmp &= ~(1<flags.usb_mode != USB_MODE_DEVICE) { + /* not supported */ + return ; + } + /* get softc */ + sc = S3C24_DCI_BUS2SC(udev->bus); + + /* get endpoint descriptors */ + ed = ep->edesc; + + s3c24dci_clear_stall_sub(sc, + (ed->bEndpointAddress & UE_ADDR), + (ed->bmAttributes & UE_XFERTYPE), + (ed->bEndpointAddress & (UE_DIR_IN | UE_DIR_OUT))); return ; } ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#4 (text+ko) ==== @@ -169,6 +169,12 @@ #define S3C24XX_DCI_EP_MAX 5 +#define S3C24XX_DCI_READ_4(sc, reg) \ + bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg) + +#define S3C24XX_DCI_WRITE_4(sc, reg, (sc)->sc_io_hdl, reg, data) \ + bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) + struct s3c24dci_softc { struct usb_bus sc_bus; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 13:29:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5FF7410658D1; Mon, 13 Jul 2009 13:29:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0881510658CE for ; Mon, 13 Jul 2009 13:29:50 +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 D748B8FC18 for ; Mon, 13 Jul 2009 13:29:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DDTnJw098233 for ; Mon, 13 Jul 2009 13:29:49 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DDTlJ7098227 for perforce@freebsd.org; Mon, 13 Jul 2009 13:29:47 GMT (envelope-from jhb@freebsd.org) Date: Mon, 13 Jul 2009 13:29:47 GMT Message-Id: <200907131329.n6DDTlJ7098227@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 166002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 13:29:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=166002 Change 166002 by jhb@jhb_jhbbsd on 2009/07/13 13:29:07 IFC @165999 Affected files ... .. //depot/projects/multipass/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/multipass/sys/amd64/amd64/exception.S#3 integrate .. //depot/projects/multipass/sys/amd64/amd64/genassym.c#3 integrate .. //depot/projects/multipass/sys/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/multipass/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/multipass/sys/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/multipass/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/multipass/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/multipass/sys/amd64/amd64/msi.c#4 integrate .. //depot/projects/multipass/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/multipass/sys/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/multipass/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/multipass/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/multipass/sys/amd64/ia32/ia32_exception.S#3 integrate .. //depot/projects/multipass/sys/amd64/ia32/ia32_reg.c#3 integrate .. //depot/projects/multipass/sys/amd64/ia32/ia32_signal.c#3 integrate .. //depot/projects/multipass/sys/amd64/include/intr_machdep.h#3 integrate .. //depot/projects/multipass/sys/amd64/include/param.h#4 integrate .. //depot/projects/multipass/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/multipass/sys/amd64/include/pmap.h#4 integrate .. //depot/projects/multipass/sys/amd64/include/vm.h#1 branch .. //depot/projects/multipass/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/multipass/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/multipass/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/multipass/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/multipass/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/multipass/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/multipass/sys/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/multipass/sys/arm/include/param.h#3 integrate .. //depot/projects/multipass/sys/arm/include/pmap.h#4 integrate .. //depot/projects/multipass/sys/arm/include/vm.h#1 branch .. //depot/projects/multipass/sys/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/multipass/sys/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/multipass/sys/arm/mv/mv_machdep.c#4 integrate .. //depot/projects/multipass/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/multipass/sys/arm/mv/orion/orion.c#4 integrate .. //depot/projects/multipass/sys/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/multipass/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/multipass/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/multipass/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/multipass/sys/cam/ata/ata_all.c#1 branch .. //depot/projects/multipass/sys/cam/ata/ata_all.h#1 branch .. //depot/projects/multipass/sys/cam/ata/ata_da.c#1 branch .. //depot/projects/multipass/sys/cam/ata/ata_xpt.c#1 branch .. //depot/projects/multipass/sys/cam/cam.c#3 integrate .. //depot/projects/multipass/sys/cam/cam.h#2 integrate .. //depot/projects/multipass/sys/cam/cam_ccb.h#2 integrate .. //depot/projects/multipass/sys/cam/cam_periph.c#5 integrate .. //depot/projects/multipass/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/multipass/sys/cam/cam_xpt.h#2 integrate .. //depot/projects/multipass/sys/cam/cam_xpt_internal.h#1 branch .. //depot/projects/multipass/sys/cam/cam_xpt_periph.h#2 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_all.c#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_cd.c#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_ch.c#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_pass.c#4 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_pt.c#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_sa.c#4 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_ses.c#4 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_sg.c#4 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/multipass/sys/cam/scsi/scsi_xpt.c#1 branch .. //depot/projects/multipass/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c#2 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/multipass/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/multipass/sys/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/multipass/sys/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/multipass/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/multipass/sys/compat/ndis/subr_usbd.c#5 integrate .. //depot/projects/multipass/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/multipass/sys/compat/svr4/svr4_stat.c#5 integrate .. //depot/projects/multipass/sys/conf/NOTES#7 integrate .. //depot/projects/multipass/sys/conf/files#7 integrate .. //depot/projects/multipass/sys/conf/newvers.sh#3 integrate .. //depot/projects/multipass/sys/conf/options#7 integrate .. //depot/projects/multipass/sys/contrib/dev/acpica/compiler/aslcompile.c#3 integrate .. //depot/projects/multipass/sys/contrib/dev/acpica/compiler/aslutils.c#3 integrate .. //depot/projects/multipass/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/multipass/sys/dev/aac/aac_disk.c#2 integrate .. //depot/projects/multipass/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/multipass/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/multipass/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/multipass/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/multipass/sys/dev/advansys/advlib.h#2 integrate .. //depot/projects/multipass/sys/dev/ae/if_ae.c#3 integrate .. //depot/projects/multipass/sys/dev/age/if_age.c#4 integrate .. //depot/projects/multipass/sys/dev/ahci/ahci.c#1 branch .. //depot/projects/multipass/sys/dev/ahci/ahci.h#1 branch .. //depot/projects/multipass/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate .. //depot/projects/multipass/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate .. //depot/projects/multipass/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/multipass/sys/dev/ale/if_ale.c#3 integrate .. //depot/projects/multipass/sys/dev/amd/amd.h#2 integrate .. //depot/projects/multipass/sys/dev/asmc/asmc.c#4 integrate .. //depot/projects/multipass/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/multipass/sys/dev/ata/atapi-cam.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/atapi-cd.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-acerlabs.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-ahci.c#5 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-intel.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-jmicron.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-marvell.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-nvidia.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-promise.c#5 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-serverworks.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-siliconimage.c#4 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-sis.c#3 integrate .. //depot/projects/multipass/sys/dev/ata/chipsets/ata-via.c#3 integrate .. //depot/projects/multipass/sys/dev/ath/ah_osdep.c#4 integrate .. //depot/projects/multipass/sys/dev/ath/ah_osdep.h#4 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/multipass/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 integrate .. //depot/projects/multipass/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/multipass/sys/dev/ath/if_athvar.h#4 integrate .. //depot/projects/multipass/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/multipass/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/multipass/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/multipass/sys/dev/bm/if_bm.c#3 integrate .. //depot/projects/multipass/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/multipass/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/multipass/sys/dev/ciss/ciss.c#5 integrate .. //depot/projects/multipass/sys/dev/ciss/cissvar.h#2 integrate .. //depot/projects/multipass/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/multipass/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_adapter.h#5 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/multipass/sys/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/multipass/sys/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/multipass/sys/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/multipass/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#5 integrate .. //depot/projects/multipass/sys/dev/dc/if_dc.c#4 integrate .. //depot/projects/multipass/sys/dev/de/if_de.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/drm_irq.c#4 integrate .. //depot/projects/multipass/sys/dev/drm/drm_pciids.h#3 integrate .. //depot/projects/multipass/sys/dev/drm/i915_dma.c#4 integrate .. //depot/projects/multipass/sys/dev/drm/i915_drv.h#4 integrate .. //depot/projects/multipass/sys/dev/drm/i915_irq.c#4 integrate .. //depot/projects/multipass/sys/dev/drm/r600_cp.c#2 integrate .. //depot/projects/multipass/sys/dev/drm/radeon_cp.c#3 integrate .. //depot/projects/multipass/sys/dev/drm/radeon_drv.h#3 integrate .. //depot/projects/multipass/sys/dev/drm/radeon_irq.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_82540.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_82541.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_82542.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_82571.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_82575.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_82575.h#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_api.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_defines.h#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_hw.h#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_ich8lan.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_ich8lan.h#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_mac.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_osdep.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_phy.c#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_phy.h#3 integrate .. //depot/projects/multipass/sys/dev/e1000/e1000_regs.h#3 integrate .. //depot/projects/multipass/sys/dev/e1000/if_em.c#5 integrate .. //depot/projects/multipass/sys/dev/e1000/if_em.h#4 integrate .. //depot/projects/multipass/sys/dev/e1000/if_igb.c#5 integrate .. //depot/projects/multipass/sys/dev/e1000/if_igb.h#3 integrate .. //depot/projects/multipass/sys/dev/ed/if_ed.c#4 integrate .. //depot/projects/multipass/sys/dev/et/if_et.c#2 integrate .. //depot/projects/multipass/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/multipass/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/multipass/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/multipass/sys/dev/fxp/if_fxp.c#6 integrate .. //depot/projects/multipass/sys/dev/gem/if_gem.c#3 integrate .. //depot/projects/multipass/sys/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/multipass/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/multipass/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/multipass/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/multipass/sys/dev/hwpmc/hwpmc_logging.c#3 integrate .. //depot/projects/multipass/sys/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/multipass/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/multipass/sys/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/multipass/sys/dev/ipw/if_ipw.c#5 integrate .. //depot/projects/multipass/sys/dev/iscsi/initiator/isc_soc.c#3 integrate .. //depot/projects/multipass/sys/dev/isp/isp_freebsd.h#2 integrate .. //depot/projects/multipass/sys/dev/iwi/if_iwi.c#5 integrate .. //depot/projects/multipass/sys/dev/iwn/if_iwn.c#5 integrate .. //depot/projects/multipass/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe.c#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_82598.c#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_api.c#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_api.h#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_common.c#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_osdep.h#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_phy.c#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_phy.h#3 integrate .. //depot/projects/multipass/sys/dev/ixgbe/ixgbe_type.h#3 integrate .. //depot/projects/multipass/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/multipass/sys/dev/le/lance.c#2 integrate .. //depot/projects/multipass/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/multipass/sys/dev/malo/if_malo.c#4 integrate .. //depot/projects/multipass/sys/dev/mfi/mfi.c#5 integrate .. //depot/projects/multipass/sys/dev/mfi/mfivar.h#2 integrate .. //depot/projects/multipass/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/multipass/sys/dev/mlx/mlx.c#3 integrate .. //depot/projects/multipass/sys/dev/mlx/mlxvar.h#2 integrate .. //depot/projects/multipass/sys/dev/mpt/mpt.h#3 integrate .. //depot/projects/multipass/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/multipass/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/multipass/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/multipass/sys/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/multipass/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/multipass/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/multipass/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/multipass/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/multipass/sys/dev/mxge/if_mxge.c#6 integrate .. //depot/projects/multipass/sys/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/multipass/sys/dev/my/if_my.c#3 integrate .. //depot/projects/multipass/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/multipass/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/multipass/sys/dev/nve/if_nve.c#4 integrate .. //depot/projects/multipass/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/multipass/sys/dev/pcn/if_pcn.c#3 integrate .. //depot/projects/multipass/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/multipass/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/multipass/sys/dev/ral/rt2661.c#4 integrate .. //depot/projects/multipass/sys/dev/re/if_re.c#5 integrate .. //depot/projects/multipass/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/multipass/sys/dev/sis/if_sis.c#4 integrate .. //depot/projects/multipass/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/multipass/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/multipass/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/multipass/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/multipass/sys/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/multipass/sys/dev/sound/pcm/feeder_rate.c#4 integrate .. //depot/projects/multipass/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/multipass/sys/dev/speaker/spkr.c#3 integrate .. //depot/projects/multipass/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/multipass/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/multipass/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/multipass/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/multipass/sys/dev/trm/trm.h#2 integrate .. //depot/projects/multipass/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/multipass/sys/dev/tx/if_tx.c#3 integrate .. //depot/projects/multipass/sys/dev/txp/if_txp.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/controller/at91dci.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/controller/atmegadci.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/controller/avr32dci.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/controller/musb_otg.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/controller/uss820dci.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_aue.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_axe.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_cdce.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_cue.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_kue.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_rue.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/net/if_udav.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/serial/usb_serial.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/storage/umass.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/storage/ustorage_fs.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/usb_busdma.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_controller.h#5 integrate .. //depot/projects/multipass/sys/dev/usb/usb_device.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/usb_handle_request.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/usb_if.m#4 integrate .. //depot/projects/multipass/sys/dev/usb/usb_transfer.c#5 integrate .. //depot/projects/multipass/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/multipass/sys/dev/usb/usbdi.h#4 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/multipass/sys/dev/usb/wlan/if_zyd.c#6 integrate .. //depot/projects/multipass/sys/dev/vge/if_vge.c#5 integrate .. //depot/projects/multipass/sys/dev/vr/if_vr.c#4 integrate .. //depot/projects/multipass/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/multipass/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/multipass/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/multipass/sys/dev/wpi/if_wpi.c#5 integrate .. //depot/projects/multipass/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/multipass/sys/dev/xl/if_xl.c#5 integrate .. //depot/projects/multipass/sys/fs/cd9660/cd9660_lookup.c#4 integrate .. //depot/projects/multipass/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/multipass/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/multipass/sys/fs/fifofs/fifo_vnops.c#4 integrate .. //depot/projects/multipass/sys/fs/nfs/nfs_commonkrpc.c#3 integrate .. //depot/projects/multipass/sys/fs/nfs/nfs_var.h#2 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clrpcops.c#2 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clstate.c#5 integrate .. //depot/projects/multipass/sys/fs/nfsclient/nfs_clvnops.c#5 integrate .. //depot/projects/multipass/sys/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/multipass/sys/geom/geom.h#4 integrate .. //depot/projects/multipass/sys/geom/geom_dev.c#3 integrate .. //depot/projects/multipass/sys/geom/geom_io.c#3 integrate .. //depot/projects/multipass/sys/geom/geom_subr.c#4 integrate .. //depot/projects/multipass/sys/geom/geom_vfs.c#3 integrate .. //depot/projects/multipass/sys/geom/journal/g_journal.c#4 integrate .. //depot/projects/multipass/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/multipass/sys/geom/part/g_part.c#4 integrate .. //depot/projects/multipass/sys/geom/part/g_part_if.m#4 integrate .. //depot/projects/multipass/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/multipass/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/multipass/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#2 integrate .. //depot/projects/multipass/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/multipass/sys/gnu/fs/xfs/xfs_vnodeops.c#2 integrate .. //depot/projects/multipass/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/multipass/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/multipass/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/multipass/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/multipass/sys/i386/i386/local_apic.c#5 integrate .. //depot/projects/multipass/sys/i386/i386/msi.c#4 integrate .. //depot/projects/multipass/sys/i386/i386/pmap.c#7 integrate .. //depot/projects/multipass/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/multipass/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/multipass/sys/i386/ibcs2/ibcs2_misc.c#5 integrate .. //depot/projects/multipass/sys/i386/include/intr_machdep.h#3 integrate .. //depot/projects/multipass/sys/i386/include/param.h#3 integrate .. //depot/projects/multipass/sys/i386/include/pmap.h#4 integrate .. //depot/projects/multipass/sys/i386/include/vm.h#1 branch .. //depot/projects/multipass/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/multipass/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/multipass/sys/i386/xen/pmap.c#5 integrate .. //depot/projects/multipass/sys/ia64/conf/GENERIC#4 integrate .. //depot/projects/multipass/sys/ia64/ia64/pmap.c#4 integrate .. //depot/projects/multipass/sys/ia64/include/param.h#3 integrate .. //depot/projects/multipass/sys/ia64/include/pmap.h#2 integrate .. //depot/projects/multipass/sys/ia64/include/vm.h#1 branch .. //depot/projects/multipass/sys/kern/init_sysent.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/multipass/sys/kern/kern_event.c#3 integrate .. //depot/projects/multipass/sys/kern/kern_exec.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_exit.c#6 integrate .. //depot/projects/multipass/sys/kern/kern_fork.c#6 integrate .. //depot/projects/multipass/sys/kern/kern_intr.c#3 integrate .. //depot/projects/multipass/sys/kern/kern_jail.c#7 integrate .. //depot/projects/multipass/sys/kern/kern_linker.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_lockf.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_mbuf.c#5 integrate .. //depot/projects/multipass/sys/kern/kern_prot.c#6 integrate .. //depot/projects/multipass/sys/kern/kern_sig.c#4 integrate .. //depot/projects/multipass/sys/kern/kern_switch.c#2 integrate .. //depot/projects/multipass/sys/kern/kern_thr.c#3 integrate .. //depot/projects/multipass/sys/kern/subr_param.c#3 integrate .. //depot/projects/multipass/sys/kern/subr_pcpu.c#5 integrate .. //depot/projects/multipass/sys/kern/sys_generic.c#4 integrate .. //depot/projects/multipass/sys/kern/sys_pipe.c#6 integrate .. //depot/projects/multipass/sys/kern/sys_process.c#4 integrate .. //depot/projects/multipass/sys/kern/sys_socket.c#4 integrate .. //depot/projects/multipass/sys/kern/syscalls.c#4 integrate .. //depot/projects/multipass/sys/kern/syscalls.master#4 integrate .. //depot/projects/multipass/sys/kern/systrace_args.c#4 integrate .. //depot/projects/multipass/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/multipass/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/multipass/sys/kern/sysv_sem.c#5 integrate .. //depot/projects/multipass/sys/kern/sysv_shm.c#6 integrate .. //depot/projects/multipass/sys/kern/tty.c#6 integrate .. //depot/projects/multipass/sys/kern/tty_pts.c#6 integrate .. //depot/projects/multipass/sys/kern/uipc_socket.c#6 integrate .. //depot/projects/multipass/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/multipass/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/multipass/sys/kern/vfs_export.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_extattr.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_lookup.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/multipass/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/multipass/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/multipass/sys/kern/vfs_vnops.c#7 integrate .. //depot/projects/multipass/sys/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/multipass/sys/mips/include/param.h#3 integrate .. //depot/projects/multipass/sys/mips/include/pmap.h#4 integrate .. //depot/projects/multipass/sys/mips/include/vm.h#1 branch .. //depot/projects/multipass/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/multipass/sys/mips/mips/busdma_machdep.c#3 integrate .. //depot/projects/multipass/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/multipass/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/multipass/sys/modules/Makefile#7 integrate .. //depot/projects/multipass/sys/modules/ahci/Makefile#1 branch .. //depot/projects/multipass/sys/modules/cam/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/geom/geom_label/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/igb/Makefile#2 integrate .. //depot/projects/multipass/sys/modules/ixgbe/Makefile#3 integrate .. //depot/projects/multipass/sys/modules/nfsclient/Makefile#5 integrate .. //depot/projects/multipass/sys/modules/nfsserver/Makefile#4 integrate .. //depot/projects/multipass/sys/modules/wlan/Makefile#6 integrate .. //depot/projects/multipass/sys/net/if.c#7 integrate .. //depot/projects/multipass/sys/net/if_epair.c#1 branch .. //depot/projects/multipass/sys/net/if_media.h#3 integrate .. //depot/projects/multipass/sys/net/if_spppsubr.c#5 integrate .. //depot/projects/multipass/sys/net/if_stf.c#6 integrate .. //depot/projects/multipass/sys/net/if_tap.c#4 integrate .. //depot/projects/multipass/sys/net/if_tun.c#6 integrate .. //depot/projects/multipass/sys/net/if_var.h#7 integrate .. //depot/projects/multipass/sys/net/netisr.c#5 integrate .. //depot/projects/multipass/sys/net/route.c#6 integrate .. //depot/projects/multipass/sys/net/vnet.h#6 integrate .. //depot/projects/multipass/sys/net80211/_ieee80211.h#4 integrate .. //depot/projects/multipass/sys/net80211/ieee80211.c#7 integrate .. //depot/projects/multipass/sys/net80211/ieee80211.h#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_action.c#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_action.h#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_adhoc.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ageq.c#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_ageq.h#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_ddb.c#7 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_freebsd.h#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_hostap.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ht.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ht.h#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_hwmp.c#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_input.c#4 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ioctl.c#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_ioctl.h#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_mesh.c#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_mesh.h#1 branch .. //depot/projects/multipass/sys/net80211/ieee80211_node.c#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_node.h#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_output.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_proto.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_proto.h#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_scan.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_scan.h#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_scan_sta.c#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_sta.c#6 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/multipass/sys/net80211/ieee80211_wds.c#6 integrate .. //depot/projects/multipass/sys/netatalk/aarp.c#4 integrate .. //depot/projects/multipass/sys/netatalk/at_control.c#4 integrate .. //depot/projects/multipass/sys/netatalk/at_var.h#3 integrate .. //depot/projects/multipass/sys/netatalk/ddp_input.c#4 integrate .. //depot/projects/multipass/sys/netatalk/ddp_output.c#4 integrate .. //depot/projects/multipass/sys/netatalk/ddp_pcb.c#3 integrate .. //depot/projects/multipass/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/multipass/sys/netgraph/ng_eiface.c#5 integrate .. //depot/projects/multipass/sys/netgraph/ng_ether.c#6 integrate .. //depot/projects/multipass/sys/netgraph/ng_iface.c#5 integrate .. //depot/projects/multipass/sys/netgraph/ng_ksocket.c#3 integrate .. //depot/projects/multipass/sys/netinet/if_ether.c#7 integrate .. //depot/projects/multipass/sys/netinet/in.c#7 integrate .. //depot/projects/multipass/sys/netinet/in_gif.c#4 integrate .. //depot/projects/multipass/sys/netinet/in_mcast.c#6 integrate .. //depot/projects/multipass/sys/netinet/in_pcb.c#6 integrate .. //depot/projects/multipass/sys/netinet/in_var.h#5 integrate .. //depot/projects/multipass/sys/netinet/ip_carp.c#5 integrate .. //depot/projects/multipass/sys/netinet/ip_divert.c#6 integrate .. //depot/projects/multipass/sys/netinet/ip_dummynet.h#5 integrate .. //depot/projects/multipass/sys/netinet/ip_icmp.c#6 integrate .. //depot/projects/multipass/sys/netinet/ip_input.c#6 integrate .. //depot/projects/multipass/sys/netinet/ipfw/ip_dummynet.c#4 integrate .. //depot/projects/multipass/sys/netinet/ipfw/ip_fw2.c#4 integrate .. //depot/projects/multipass/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/multipass/sys/netinet/raw_ip.c#7 integrate .. //depot/projects/multipass/sys/netinet/tcp_offload.h#2 integrate .. //depot/projects/multipass/sys/netinet/tcp_sack.c#3 integrate .. //depot/projects/multipass/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/multipass/sys/netinet/tcp_syncache.h#5 integrate .. //depot/projects/multipass/sys/netinet/tcp_var.h#6 integrate .. //depot/projects/multipass/sys/netinet6/in6.c#7 integrate .. //depot/projects/multipass/sys/netinet6/in6_ifattach.c#7 integrate .. //depot/projects/multipass/sys/netinet6/in6_pcb.c#6 integrate .. //depot/projects/multipass/sys/netinet6/in6_src.c#4 integrate .. //depot/projects/multipass/sys/netinet6/in6_var.h#5 integrate .. //depot/projects/multipass/sys/netinet6/ip6_input.c#7 integrate .. //depot/projects/multipass/sys/netinet6/nd6.c#7 integrate .. //depot/projects/multipass/sys/netinet6/nd6_rtr.c#7 integrate .. //depot/projects/multipass/sys/netinet6/vinet6.h#5 integrate .. //depot/projects/multipass/sys/netipsec/key.c#6 integrate .. //depot/projects/multipass/sys/netipx/ipx.c#3 integrate .. //depot/projects/multipass/sys/netipx/ipx_if.h#3 integrate .. //depot/projects/multipass/sys/netipx/ipx_input.c#4 integrate .. //depot/projects/multipass/sys/netipx/ipx_outputfl.c#4 integrate .. //depot/projects/multipass/sys/netipx/ipx_pcb.c#3 integrate .. //depot/projects/multipass/sys/nfs/nfs_common.c#3 integrate .. //depot/projects/multipass/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/multipass/sys/nfs/rpcv2.h#2 delete .. //depot/projects/multipass/sys/nfsclient/bootp_subr.c#6 integrate .. //depot/projects/multipass/sys/nfsclient/krpc_subr.c#3 integrate .. //depot/projects/multipass/sys/nfsclient/nfs.h#5 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_diskless.c#6 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_krpc.c#5 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_lock.c#3 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_nfsiod.c#3 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_socket.c#4 delete .. //depot/projects/multipass/sys/nfsclient/nfs_subs.c#4 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/multipass/sys/nfsclient/nfs_vnops.c#6 integrate .. //depot/projects/multipass/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/multipass/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/multipass/sys/nfsserver/nfs.h#4 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_fha.c#3 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_serv.c#4 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_srvcache.c#2 delete .. //depot/projects/multipass/sys/nfsserver/nfs_srvkrpc.c#5 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_srvsock.c#4 delete .. //depot/projects/multipass/sys/nfsserver/nfs_srvsubs.c#5 integrate .. //depot/projects/multipass/sys/nfsserver/nfs_syscalls.c#4 delete .. //depot/projects/multipass/sys/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/multipass/sys/pc98/conf/GENERIC#5 integrate .. //depot/projects/multipass/sys/pc98/include/vm.h#1 branch .. //depot/projects/multipass/sys/pci/if_rl.c#4 integrate .. //depot/projects/multipass/sys/powerpc/aim/mmu_oea64.c#4 integrate .. //depot/projects/multipass/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/multipass/sys/powerpc/conf/MPC85XX#6 integrate .. //depot/projects/multipass/sys/powerpc/include/param.h#4 integrate .. //depot/projects/multipass/sys/powerpc/include/pmap.h#4 integrate .. //depot/projects/multipass/sys/powerpc/include/vm.h#1 branch .. //depot/projects/multipass/sys/powerpc/powerpc/mp_machdep.c#5 integrate .. //depot/projects/multipass/sys/rpc/clnt_dg.c#3 integrate .. //depot/projects/multipass/sys/rpc/clnt_rc.c#4 integrate .. //depot/projects/multipass/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/multipass/sys/security/audit/audit.c#4 integrate .. //depot/projects/multipass/sys/security/audit/audit.h#3 integrate .. //depot/projects/multipass/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/multipass/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/multipass/sys/security/audit/audit_private.h#4 integrate .. //depot/projects/multipass/sys/security/audit/audit_syscalls.c#5 integrate .. //depot/projects/multipass/sys/sparc64/conf/GENERIC#6 integrate .. //depot/projects/multipass/sys/sparc64/include/param.h#3 integrate .. //depot/projects/multipass/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/multipass/sys/sparc64/include/vm.h#1 branch .. //depot/projects/multipass/sys/sparc64/sparc64/machdep.c#5 integrate .. //depot/projects/multipass/sys/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/multipass/sys/sun4v/conf/GENERIC#4 integrate .. //depot/projects/multipass/sys/sun4v/include/param.h#3 integrate .. //depot/projects/multipass/sys/sun4v/include/pmap.h#2 integrate .. //depot/projects/multipass/sys/sun4v/include/vm.h#1 branch .. //depot/projects/multipass/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/multipass/sys/sys/acl.h#4 integrate .. //depot/projects/multipass/sys/sys/ata.h#2 integrate .. //depot/projects/multipass/sys/sys/conf.h#4 integrate .. //depot/projects/multipass/sys/sys/cpuctl.h#2 integrate .. //depot/projects/multipass/sys/sys/disk.h#3 integrate .. //depot/projects/multipass/sys/sys/event.h#3 integrate .. //depot/projects/multipass/sys/sys/filio.h#2 integrate .. //depot/projects/multipass/sys/sys/ipc.h#2 integrate .. //depot/projects/multipass/sys/sys/mount.h#6 integrate .. //depot/projects/multipass/sys/sys/msg.h#2 integrate .. //depot/projects/multipass/sys/sys/namei.h#3 integrate .. //depot/projects/multipass/sys/sys/param.h#6 integrate .. //depot/projects/multipass/sys/sys/priv.h#6 integrate .. //depot/projects/multipass/sys/sys/sched.h#4 integrate .. //depot/projects/multipass/sys/sys/sem.h#3 integrate .. //depot/projects/multipass/sys/sys/shm.h#3 integrate .. //depot/projects/multipass/sys/sys/socketvar.h#5 integrate .. //depot/projects/multipass/sys/sys/syscall.h#4 integrate .. //depot/projects/multipass/sys/sys/syscall.mk#4 integrate .. //depot/projects/multipass/sys/sys/syscallsubr.h#5 integrate .. //depot/projects/multipass/sys/sys/sysctl.h#5 integrate .. //depot/projects/multipass/sys/sys/sysproto.h#4 integrate .. //depot/projects/multipass/sys/sys/uio.h#3 integrate .. //depot/projects/multipass/sys/sys/unistd.h#3 integrate .. //depot/projects/multipass/sys/sys/vnode.h#5 integrate .. //depot/projects/multipass/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/multipass/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/multipass/sys/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/multipass/sys/ufs/ufs/ufs_dirhash.c#5 integrate .. //depot/projects/multipass/sys/ufs/ufs/ufs_vnops.c#6 integrate .. //depot/projects/multipass/sys/vm/device_pager.c#3 integrate .. //depot/projects/multipass/sys/vm/pmap.h#2 integrate .. //depot/projects/multipass/sys/vm/vm.h#3 integrate .. //depot/projects/multipass/sys/vm/vm_contig.c#5 integrate .. //depot/projects/multipass/sys/vm/vm_extern.h#4 integrate .. //depot/projects/multipass/sys/vm/vm_fault.c#5 integrate .. //depot/projects/multipass/sys/vm/vm_kern.c#3 integrate .. //depot/projects/multipass/sys/vm/vm_map.c#6 integrate .. //depot/projects/multipass/sys/vm/vm_map.h#3 integrate .. //depot/projects/multipass/sys/vm/vm_mmap.c#4 integrate .. //depot/projects/multipass/sys/vm/vm_object.c#6 integrate .. //depot/projects/multipass/sys/vm/vm_object.h#4 integrate .. //depot/projects/multipass/sys/vm/vm_page.c#6 integrate .. //depot/projects/multipass/sys/vm/vm_pageout.c#4 integrate .. //depot/projects/multipass/sys/vm/vm_pager.c#3 integrate .. //depot/projects/multipass/sys/vm/vm_pager.h#3 integrate .. //depot/projects/multipass/sys/vm/vm_phys.c#3 integrate .. //depot/projects/multipass/sys/vm/vm_phys.h#2 integrate .. //depot/projects/multipass/sys/vm/vnode_pager.c#5 integrate Differences ... ==== //depot/projects/multipass/sys/amd64/amd64/cpu_switch.S#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.168 2009/04/01 13:09:26 kib Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.169 2009/07/09 09:34:11 kib Exp $ */ #include @@ -97,6 +97,7 @@ ENTRY(cpu_switch) /* Switch to new thread. First, save context. */ movq TD_PCB(%rdi),%r8 + movb $1,PCB_FULL_IRET(%r8) movq (%rsp),%rax /* Hardware registers */ movq %r15,PCB_R15(%r8) ==== //depot/projects/multipass/sys/amd64/amd64/exception.S#3 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.138 2009/04/01 13:09:26 kib Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.140 2009/07/10 10:29:16 kib Exp $ */ #include "opt_atpic.h" @@ -162,19 +162,20 @@ .globl alltraps .type alltraps,@function alltraps: + movq %rdi,TF_RDI(%rsp) testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz alltraps_testi /* already running with kernel GS.base */ swapgs + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) alltraps_testi: testl $PSL_I,TF_RFLAGS(%rsp) - jz alltraps_pushregs + jz alltraps_pushregs_no_rdi sti -alltraps_pushregs: - movq %rdi,TF_RDI(%rsp) alltraps_pushregs_no_rdi: movq %rsi,TF_RSI(%rsp) movq %rdx,TF_RDX(%rsp) @@ -233,14 +234,17 @@ .globl alltraps_noen .type alltraps_noen,@function alltraps_noen: + movq %rdi,TF_RDI(%rsp) testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) 1: movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) - jmp alltraps_pushregs + jmp alltraps_pushregs_no_rdi IDTVEC(dblfault) subq $TF_ERR,%rsp @@ -278,12 +282,13 @@ IDTVEC(page) subq $TF_ERR,%rsp movl $T_PAGEFLT,TF_TRAPNO(%rsp) + movq %rdi,TF_RDI(%rsp) /* free up a GP register */ testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs -1: - movq %rdi,TF_RDI(%rsp) /* free up a GP register */ - movq %cr2,%rdi /* preserve %cr2 before .. */ + movq PCPU(CURPCB),%rdi + movb $0,PCB_FULL_IRET(%rdi) +1: movq %cr2,%rdi /* preserve %cr2 before .. */ movq %rdi,TF_ADDR(%rsp) /* enabling interrupts. */ movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) @@ -311,7 +316,9 @@ testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 2f /* already running with kernel GS.base */ 1: swapgs -2: movw %fs,TF_FS(%rsp) +2: movq PCPU(CURPCB),%rdi + movb $1,PCB_FULL_IRET(%rdi) /* always full iret from GPF */ + movw %fs,TF_FS(%rsp) movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) @@ -341,6 +348,8 @@ movw %gs,TF_GS(%rsp) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) + movq PCPU(CURPCB),%r11 + movb $0,PCB_FULL_IRET(%r11) sti movq $KUDSEL,TF_SS(%rsp) movq $KUCSEL,TF_CS(%rsp) @@ -644,7 +653,8 @@ */ testb $SEL_RPL_MASK,TF_CS(%rsp) jz ld_regs - + cmpb $0,PCB_FULL_IRET(%r8) + je ld_regs testl $TF_HASSEGS,TF_FLAGS(%rsp) je set_segs @@ -756,38 +766,38 @@ .globl ds_load_fault ds_load_fault: movl $T_PROTFLT,TF_TRAPNO(%rsp) - movzwl TF_DS(%rsp),%edx - movl %edx,TF_ERR(%rsp) + movq %rsp, %rdi + call trap movw $KUDSEL,TF_DS(%rsp) - jmp calltrap + jmp doreti ALIGN_TEXT .globl es_load_fault es_load_fault: movl $T_PROTFLT,TF_TRAPNO(%rsp) - movzwl TF_ES(%rsp),%edx - movl %edx,TF_ERR(%rsp) + movq %rsp, %rdi + call trap movw $KUDSEL,TF_ES(%rsp) - jmp calltrap + jmp doreti ALIGN_TEXT .globl fs_load_fault fs_load_fault: movl $T_PROTFLT,TF_TRAPNO(%rsp) - movzwl TF_FS(%rsp),%edx - movl %edx,TF_ERR(%rsp) + movq %rsp, %rdi + call trap movw $KUF32SEL,TF_FS(%rsp) - jmp calltrap + jmp doreti ALIGN_TEXT .globl gs_load_fault gs_load_fault: popfq movl $T_PROTFLT,TF_TRAPNO(%rsp) - movzwl TF_GS(%rsp),%edx - movl %edx,TF_ERR(%rsp) + movq %rsp, %rdi + call trap movw $KUG32SEL,TF_GS(%rsp) - jmp calltrap + jmp doreti #ifdef HWPMC_HOOKS ENTRY(end_exceptions) #endif ==== //depot/projects/multipass/sys/amd64/amd64/genassym.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.177 2009/07/09 09:34:11 kib Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include @@ -142,6 +141,7 @@ ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp)); +ASSYM(PCB_FULL_IRET, offsetof(struct pcb, pcb_full_iret)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_GS32BIT, PCB_GS32BIT); ==== //depot/projects/multipass/sys/amd64/amd64/identcpu.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/multipass/sys/amd64/amd64/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.42 2008/12/02 14:19:53 ganbold Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -73,14 +72,12 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct sx intr_table_lock; +static struct mtx intr_table_lock; static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; - -static void intr_assign_next_cpu(struct intsrc *isrc); #endif static int intr_assign_cpu(void *arg, u_char cpu); @@ -114,14 +111,14 @@ { int error; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (error); } @@ -145,16 +142,16 @@ vector); if (error) return (error); - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_handlers = 0; - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (0); } @@ -166,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -178,18 +175,14 @@ error = intr_event_add_handler(isrc->is_event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); intrcnt_updatename(isrc); isrc->is_handlers++; if (isrc->is_handlers == 1) { -#ifdef SMP - if (assign_cpu) - intr_assign_next_cpu(isrc); -#endif isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -203,14 +196,14 @@ isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -284,12 +277,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } void @@ -297,19 +290,20 @@ { struct pic *pic; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } static int intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -317,11 +311,12 @@ */ if (assign_cpu && cpu != NOCPU) { isrc = arg; - sx_xlock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); - sx_xunlock(&intr_table_lock); - } - return (0); + mtx_lock(&intr_table_lock); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + mtx_unlock(&intr_table_lock); + } else + error = 0; + return (error); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 13 13:39:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8AA151065674; Mon, 13 Jul 2009 13:39:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4924B1065673 for ; Mon, 13 Jul 2009 13:39:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3755C8FC08 for ; Mon, 13 Jul 2009 13:39:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DDcxpm098959 for ; Mon, 13 Jul 2009 13:38:59 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DDcx42098957 for perforce@freebsd.org; Mon, 13 Jul 2009 13:38:59 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 13:38:59 GMT Message-Id: <200907131338.n6DDcx42098957@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166004 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 13:39:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=166004 Change 166004 by syl@syl_pablo on 2009/07/13 13:38:32 Add forgotten clear stall send. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#4 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#4 (text+ko) ==== @@ -294,6 +294,7 @@ uint32_t csr1; uint32_t csr2; uint32_t ittmp; + uint32_t stalltmp; if (ep_type == UE_CONTROL) { /* clearing stall is not needed */ @@ -308,6 +309,21 @@ /* get endpoint profile */ s3c24dci_get_hw_ep_profile(NULL, &pf, ep_no); + /* Clear SEND_STALL */ + if (ep_dir & UE_DIR_IN) { + S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); + stallcmp = S3C24XX_DCI_READ_4(S3C24_DCI_IN_CSR1); + stallcmp &= ~(S3C24_DCI_IN_SEND_STALL); + S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); + S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1 , stallcmp); + } else { + S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); + stallcmp = S3C24XX_DCI_READ_4(S3C24_DCI_OUT_CSR1); + stallcmp &= ~(S3C24_DCI_OUT_SEND_STALL); + S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); + S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1 , stallcmp); + } + /* * Need to update for clear rx flags for single buffer * or eventual ping pong @@ -383,6 +399,7 @@ s3c24dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, struct usb_endpoint *ep, uint8_t *did_stall) { + return ; } From owner-p4-projects@FreeBSD.ORG Mon Jul 13 13:52:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 094C31065677; Mon, 13 Jul 2009 13:52:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA0131065670 for ; Mon, 13 Jul 2009 13:52:14 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9CF278FC17 for ; Mon, 13 Jul 2009 13:52:14 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DDqEgU099952 for ; Mon, 13 Jul 2009 13:52:14 GMT (envelope-from pvaibhav@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DDqEOn099950 for perforce@freebsd.org; Mon, 13 Jul 2009 13:52:14 GMT (envelope-from pvaibhav@FreeBSD.org) Date: Mon, 13 Jul 2009 13:52:14 GMT Message-Id: <200907131352.n6DDqEOn099950@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pvaibhav@FreeBSD.org using -f From: Prashant Vaibhav To: Perforce Change Reviews Cc: Subject: PERFORCE change 166005 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 13:52:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=166005 Change 166005 by pvaibhav@pvaibhav_matrix on 2009/07/13 13:51:24 Modified Milestones heavily to reflect what has been done so far, and what the plan is for the near future. Needs review by mentors. Affected files ... .. //depot/projects/soc2009/calloutapi/Milestones#2 edit Differences ... ==== //depot/projects/soc2009/calloutapi/Milestones#2 (text+ko) ==== @@ -18,29 +18,41 @@ 23 May [[ GSoC 2009 coding phase begins ]] -25 May - 31 May Implement callout list data structure (binary heap) -01 Jun - 07 Jun Add functions for user apps to arm/cancel/etc. callout - timers (user-facing changes should be completed) -08 Jun - 14 Jun Implement hardware timer interface for the PIT (init, - deinit, arm, conversion functions etc.) -15 Jun - 20 Jun Modify softclock to expire next-in-line timer. By this - time a prototype implementation should be working. -21 Jun - 28 Jun (vacation) - tentative -29 Jun - 05 Jul Continue softclock() modification, make PIT robust. At - this stage, the prototype implementation should be on - par with current scheme, in terms of functionality -06 Jul - 12 Jul Start work with HPET abstraction / deadline mode +25 May - 31 May Start to implement binary heap in userspace program +01 Jun - 07 Jun +08 Jun - 14 Jun +15 Jun - 20 Jun Finish binary heap implementation, convert to C macros +21 Jun - 28 Jun Replace callout "wheel" with the binary heap, modify + callout_* functions to use the minheap as backend +29 Jun - 05 Jul Modify softclock() to expire next-in-queue callout(s) + Modify hardclock() to schedule softclock() only when + a callout is immediately pending. + + >> First deliverable: the prototype implementation is + on par with current scheme, in terms of functionality + +06 Jul - 12 Jul Start work with implementing the new callout API, where + needed, replace existing function bodies to act as + wrappers to the 'new' API (a la timeout()). 13 Jul [[ Midterm evaluations due ]] -13 Jul - 19 Jul Finish off implementation of deadline mode (and get rid - of PIT's limited range), add TSC support also -20 Jul - 26 Jul Implement automatic choice of best timer (between PIT - and HPET, depending on availability), fail-safe mode -27 Jul - 03 Aug Overall code review, bug squash & polish, devise the - benchmarking plan -04 Aug - 10 Aug Continue with code review and benchmarking, start to - write API documentation, man pages +13 Jul - 19 Jul Finish new callout API and modify some existing parts + of the kernel as test case ('if_iwi' and sleepqueue). + + >> Second deliverable: New callout API works, porting + existing code can begin. + +20 Jul - 26 Jul Modify lapic access functions and implement wrapper + around the timer interface, add functions for getting + frequency, current tick count etc. +27 Jul - 03 Aug Implement programming the timer (currently lapic only) + to fire interrupt at a deadline (ie. expiry time of the + next-in-queue callout). +04 Aug - 10 Aug Test deadline mode, if no issues found, move to HPET + If issues found, work on resolving + + >> Third deliverable: prototype dynamic-HZ kernel 10 Aug [[ Suggested pencils down date ]] From owner-p4-projects@FreeBSD.ORG Mon Jul 13 14:04:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 824251065673; Mon, 13 Jul 2009 14:04:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 425651065670 for ; Mon, 13 Jul 2009 14:04:28 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 160618FC19 for ; Mon, 13 Jul 2009 14:04:28 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DE4RCH001905 for ; Mon, 13 Jul 2009 14:04:27 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DE4R94001903 for perforce@freebsd.org; Mon, 13 Jul 2009 14:04:27 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 14:04:27 GMT Message-Id: <200907131404.n6DE4R94001903@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166006 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 14:04:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=166006 Change 166006 by syl@syl_pablo on 2009/07/13 14:03:42 Implement set_stall. Implement device_done needed by set_stall. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#5 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#5 (text+ko) ==== @@ -72,6 +72,8 @@ "s3c24xxdci debug level"); #endif +static void s3c24dci_device_done(struct usb_xfer *, usb_error_t); + /* * This driver dont support DMA for the mement. DMA seems to not be * implemented on s3c2xxx cpus. @@ -133,6 +135,35 @@ }; /* + * Transfer stuff. + */ + +static void s3c24dci_device_done(struct usb_xfer *, usb_error_t) +{ + struct s3c24dci_softc *sc = S3C24_DCI_BUS2SC(xfer->xroot->bus); + uint32_t ittmp; + uint8_t ep_no; + + USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); + + DPRINTF(2, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpointnom & UE_ADDR); + + if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { + ep_no = (xfer->endpointno & UE_ADDR); + + /* disable endpoint interrupt */ + ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN); + ittmp &= ~(1<bus, MA_OWNED); + + DPRINTF(5, "endpoint=%p\n", ep); + + if (xfer) { + /* cancel any ongoing transfers */ + s3c24dci_device_done(xfer, USB_ERR_STALLED); + } + + /* set STALL */ + S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, (ep->ed->bEndpointAddress & UE_ADDR)); + if (ep->ed->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT) == UE_DIR_IN) { + csr = S3C24XX_DCI_READ_4(S3C24_DCI_IN_CSR1); + csr |= S3C24_DCI_IN_SEND_STALL; + S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1, csr); + } else { + csr = S3C24XX_DCI_READ_4(S3C24_DCI_OUT_CSR1); + csr |= S3C24_DCI_OUT_SEND_STALL; + S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1, csr); + } return ; } From owner-p4-projects@FreeBSD.ORG Mon Jul 13 14:09:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16A9F1065670; Mon, 13 Jul 2009 14:09: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 CA978106564A for ; Mon, 13 Jul 2009 14:09:33 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B901D8FC17 for ; Mon, 13 Jul 2009 14:09:33 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DE9XK9002339 for ; Mon, 13 Jul 2009 14:09:33 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DE9Xik002337 for perforce@freebsd.org; Mon, 13 Jul 2009 14:09:33 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 14:09:33 GMT Message-Id: <200907131409.n6DE9Xik002337@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166007 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 14:09:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=166007 Change 166007 by syl@syl_pablo on 2009/07/13 14:09:03 remove isochronous code. This Ip does not support isochronous. Call s3c24dci_device_done in s3c24dci_device_xxx_close. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#6 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#6 (text+ko) ==== @@ -176,6 +176,7 @@ static void s3c24dci_device_ctrl_close(struct usb_xfer *xfer) { + s3c24dci_device_done(xfer, USB_ERR_CANCELLED); return ; } @@ -211,6 +212,7 @@ static void s3c24dci_device_bulk_close(struct usb_xfer *xfer) { + s3c24dci_device_done(xfer, USB_ERR_CANCELLED); return ; } @@ -246,6 +248,7 @@ static void s3c24dci_device_intr_close(struct usb_xfer *xfer) { + s3c24dci_device_done(xfer, USB_ERR_CANCELLED); return ; } @@ -269,41 +272,6 @@ }; /* - * s3c24xxdci isochronous support - */ - -static void -s3c24dci_device_isoc_fs_open(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_isoc_fs_close(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_isoc_fs_start(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_isoc_fs_enter(struct usb_xfer *xfer) -{ - return ; -} - -struct usb_pipe_methods s3c24dci_device_bulk_methods = { - .open = s3c24dci_device_isoc_fs_open, - .close = s3c24dci_device_isoc_fs_close, - .enter = s3c24dci_device_isoc_fs_enter, - .start = s3c24dci_device_isoc_fs_start, -}; - -/* * USB FN interface */ @@ -511,9 +479,6 @@ case UE_INTERRUPT: ep->methods = &s3c24dci_device_intr_methods; break ; - case UE_ISOCHRONOUS: - ep->methods = &s3c24dci_device_isoc_fs_methods; - break ; case UE_BULK: ep->methods = &s3c24dci_device_bulk_methods; break ; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 15:12:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BB29106566C; Mon, 13 Jul 2009 15:12:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCEEF1065679 for ; Mon, 13 Jul 2009 15:12:43 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A02028FC1E for ; Mon, 13 Jul 2009 15:12:43 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DFChWk008113 for ; Mon, 13 Jul 2009 15:12:43 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DFChfr008111 for perforce@freebsd.org; Mon, 13 Jul 2009 15:12:43 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 15:12:43 GMT Message-Id: <200907131512.n6DFChfr008111@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166011 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 15:12:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=166011 Change 166011 by syl@syl_pablo on 2009/07/13 15:11:43 Implement xfer_setup. Add s3c24dci_tc in s3c24xxdci.h. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#7 edit .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#5 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#7 (text+ko) ==== @@ -96,7 +96,6 @@ .max_in_frame_size = 64, .max_out_frame_size = 64, .is_simplex = 1, - .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, .support_in = 1, @@ -106,7 +105,6 @@ .max_in_frame_size = 64, .max_out_frame_size = 64, .is_simplex = 1, - .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, .support_in = 1, @@ -116,7 +114,6 @@ .max_in_frame_size = 64, .max_out_frame_size = 64, .is_simplex = 1, - .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, .support_in = 1, @@ -126,7 +123,6 @@ .max_in_frame_size = 64, .max_out_frame_size = 64, .is_simplex = 1, - .support_multi_buffer = 1, .support_bulk = 1, .support_interrupt = 1, .support_in = 1, @@ -444,7 +440,80 @@ static void s3c24dci_xfer_setup(struct usb_setup_params *parm) { - return ; + const struct usb_hw_ep_profile *pf; + struct s3c24dci_softc *sc; + struct usb_xfer *xfer; + void *last_obj; + uint32_t ntd; + uint32_t n; + uint8_t ep_no; + + sc = S3C24_DCI_BUS2SC(parm->udev->bus); + xfer = parm->curr_xfer; + + /* + * NOTE: This driver does not use any of the parameters that + * are computed from the following values. Just set some + * reasonable dummies: + */ + parm->hc_max_packet_size = 0x500; + parm->hc_max_packet_count = 1; + parm->hc_max_frame_size = 0x500; + + usbd_transfer_setup_sub(parm); + + if (parm->methods == &s3c24dci_device_ctrl_methods) { + ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */ + + 1 /* SYNC 2 */; + } else if (parm->methods == &s3c24dci_device_bulk_methods) { + ntd = xfer->nframes + 1 /* SYNC */; + } else if (parm->methods == &s3c24dci_device_intr_methods) { + ntd = xfer->nframes + 1 /* SYNC */; + } else { + ntd = 0; + } + + /* + * check if "usbd_transfer_setup_sub" set an error + */ + if (parm->err) { + return ; + } + + if (ntd) { + ep_no = xfer->endpointno & UE_ADDR; + s3c24dci_get_hw_ep_profile(parm->udev, &pf, ep_no); + + if (pf == NULL) { + parm->err = USB_ERR_INVAL; + return ; + } + } else { + ep_no = 0; + pf = NULL; + } + + parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1)); + + for (n = 0 ; n != ntd ; n++) { + struct s3c24dci_td *td; + + if (parm->buf) { + td = USB_ADD_BYTES(parm->buf, parm->size[0]); + + /* init TD */ + td->io_tag = sc->sc_io_tag; + td->io_hdl = sc->sc_io_hdl; + td->max_packet_size = xfer->max_packet_size; + td->ep_no = ep_no; + td->obj_next = last_obj; + + last_obj = td; + } + parm->size[0] += sizeof(*td); + } + + xfer->td_start[0] = last_obj; } static void ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#5 (text+ko) ==== @@ -175,6 +175,26 @@ #define S3C24XX_DCI_WRITE_4(sc, reg, (sc)->sc_io_hdl, reg, data) \ bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) +struct s3cdci_td; + +typedef uint8_t (s3c24dci_cmd_t)(struct s3c24dci_td *td); + +struct uint8_t s3c24dci_td { + bus_space_tag_t io_tag; + bus_space_handle_t io_hdl; + struct s3c24dci_td *obj_next; + s3c24dci_cmd_t *func; + struct usb_page_cache *pc; + uint32_t offset; + uint32_t remainder; + uint16_t max_packet_size; + uint8_t ep_no; + uint8_t error:1; + uint8_t alt_next:1; + uint8_t short_pkt:1; + uint8_t did_stall:1; +}; + struct s3c24dci_softc { struct usb_bus sc_bus; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 15:28:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEE871065673; Mon, 13 Jul 2009 15:28:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D0F7106564A for ; Mon, 13 Jul 2009 15:28:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 61C238FC14 for ; Mon, 13 Jul 2009 15:28:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DFS0Xf009175 for ; Mon, 13 Jul 2009 15:28:00 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DFS0ur009173 for perforce@freebsd.org; Mon, 13 Jul 2009 15:28:00 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 15:28:00 GMT Message-Id: <200907131528.n6DFS0ur009173@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166012 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 15:28:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=166012 Change 166012 by syl@syl_pablo on 2009/07/13 15:27:42 factorise ctrl/bulk/intr code. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#8 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#8 (text+ko) ==== @@ -160,111 +160,49 @@ } /* - * s3c24xxdci ctrl support + * s3c24xxdci ctrl/bulk/intr support */ static void -s3c24dci_device_ctrl_open(struct usb_xfer *xfer) +s3c24dci_device_dummy(struct usb_xfer *xfer) { return ; } static void -s3c24dci_device_ctrl_close(struct usb_xfer *xfer) +s3c24dci_device_xxx_start(struct usb_xfer *xfer) { - s3c24dci_device_done(xfer, USB_ERR_CANCELLED); + s3c24dci_setup_standard_chain(xfer); + s3c24dci_start_standard_chain(xfer); return ; } static void -s3c24dci_device_ctrl_start(struct usb_xfer *xfer) +s3c24dci_device_xxx_close(struct usb_xfer *xfer) { + s3c24dci_device_done(xfer, USB_ERR_CANCELLED); return ; } -static void -s3c24dci_device_ctrl_enter(struct usb_xfer *xfer) -{ - return ; -} - struct usb_pipe_methods s3c24dci_device_ctrl_methods = { - .open = s3c24dci_device_ctrl_open, - .close = s3c24dci_device_ctrl_close, - .enter = s3c24dci_device_ctrl_enter, - .start = s3c24dci_device_ctrl_start, + .open = s3c24dci_device_dummy, + .enter = s3c24dci_device_dummy, + .close = s3c24dci_device_xxx_close, + .start = s3c24dci_device_xxx_start, }; -/* - * s3c24xxdci bulk support - */ - -static void -s3c24dci_device_bulk_open(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_bulk_close(struct usb_xfer *xfer) -{ - s3c24dci_device_done(xfer, USB_ERR_CANCELLED); - return ; -} - -static void -s3c24dci_device_bulk_start(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_bulk_enter(struct usb_xfer *xfer) -{ - return ; -} - struct usb_pipe_methods s3c24dci_device_bulk_methods = { - .open = s3c24dci_device_bulk_open, - .close = s3c24dci_device_bulk_close, - .enter = s3c24dci_device_bulk_enter, - .start = s3c24dci_device_bulk_start, + .open = s3c24dci_device_dummy, + .enter = s3c24dci_device_dummy, + .close = s3c24dci_device_xxx_close, + .start = s3c24dci_device_xxx_start, }; -/* - * s3c24xxdci interrupt support - */ - -static void -s3c24dci_device_intr_open(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_intr_close(struct usb_xfer *xfer) -{ - s3c24dci_device_done(xfer, USB_ERR_CANCELLED); - return ; -} - -static void -s3c24dci_device_intr_start(struct usb_xfer *xfer) -{ - return ; -} - -static void -s3c24dci_device_intr_enter(struct usb_xfer *xfer) -{ - return ; -} - struct usb_pipe_methods s3c24dci_device_bulk_methods = { - .open = s3c24dci_device_intr_open, - .close = s3c24dci_device_intr_close, - .enter = s3c24dci_device_intr_enter, - .start = s3c24dci_device_intr_start, + .open = s3c24dci_device_dummy, + .enter = s3c24dci_device_dummy, + .close = s3c24dci_device_xxx_close, + .start = s3c24dci_device_xxx_start, }; /* From owner-p4-projects@FreeBSD.ORG Mon Jul 13 16:05:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D90341065674; Mon, 13 Jul 2009 16:05:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 974C0106564A for ; Mon, 13 Jul 2009 16:05:41 +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 83D348FC16 for ; Mon, 13 Jul 2009 16:05:41 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DG5fHp012923 for ; Mon, 13 Jul 2009 16:05:41 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DG5fXP012921 for perforce@freebsd.org; Mon, 13 Jul 2009 16:05:41 GMT (envelope-from trasz@freebsd.org) Date: Mon, 13 Jul 2009 16:05:41 GMT Message-Id: <200907131605.n6DG5fXP012921@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 166013 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 16:05:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=166013 Change 166013 by trasz@trasz_victim on 2009/07/13 16:05:40 Add basic resource limit enforcement. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#29 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#29 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -154,6 +155,8 @@ static void hrl_rule_remove_limits(struct hrl_rule *rule); static void hrl_rule_add_limits(struct hrl_rule *rule); +static void hrl_compute_available(struct proc *p, int64_t (*availablep)[], + struct hrl_rule *(*rulesp)[]); MALLOC_DEFINE(M_HRL, "hrl", "Hierarchical Resource Limits"); @@ -200,7 +203,7 @@ int i; /* - * XXX: Free these two some other way. + * XXX: Free these three some other way. */ hrl_allocated_proc(p, HRL_RESOURCE_FILESIZE, 0); hrl_allocated_proc(p, HRL_RESOURCE_COREDUMPSIZE, 0); @@ -296,6 +299,8 @@ int i, j; struct ucred *cred; struct prison *pr; + int64_t available[HRL_RESOURCE_MAX]; + struct hrl_rule *rules[HRL_RESOURCE_MAX]; KASSERT(amount > 0, ("hrl_alloc_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); @@ -305,6 +310,21 @@ #endif mtx_lock(&hrl_lock); + /* + * XXX: Check maxfilesperproc. + */ + /* + * XXX: Do this just before we start running on a CPU, not all the time. + */ + hrl_compute_available(p, &available, &rules); + /* + * Return fake error code; the caller should change it into proper + * one for the situation - EFSIZ, ENOMEM, EMFILE etc. + */ + if (available[resource] < 0 && rules[resource]->hr_action == HRL_ACTION_DENY) { + mtx_unlock(&hrl_lock); + return (EDOOFUS); + } p->p_usage.hu_resources[resource] += amount; cred = p->p_ucred; cred->cr_ruidinfo->ui_usage.hu_resources[resource] += amount; @@ -335,14 +355,6 @@ #endif mtx_unlock(&hrl_lock); - /* - * XXX: When denying, return proper errno - EFSIZ, ENOMEM, EMFILE etc. - */ - - /* - * Check maxfilesperproc. - */ - return (0); } @@ -360,6 +372,8 @@ int64_t diff; struct ucred *cred; struct prison *pr; + int64_t available[HRL_RESOURCE_MAX]; + struct hrl_rule *rules[HRL_RESOURCE_MAX]; KASSERT(amount >= 0, ("hrl_allocated_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); @@ -370,6 +384,20 @@ mtx_lock(&hrl_lock); diff = amount - p->p_usage.hu_resources[resource]; + if (diff > 0) { + /* + * XXX: Do this just before we start running on a CPU, not all the time. + */ + hrl_compute_available(p, &available, &rules); + /* + * Return fake error code; the caller should change it into proper + * one for the situation - EFSIZ, ENOMEM, EMFILE etc. + */ + if (available[resource] < 0 && rules[resource]->hr_action == HRL_ACTION_DENY) { + mtx_unlock(&hrl_lock); + return (EDOOFUS); + } + } p->p_usage.hu_resources[resource] = amount; cred = p->p_ucred; cred->cr_ruidinfo->ui_usage.hu_resources[resource] += diff; @@ -985,22 +1013,88 @@ return (error); } +/* + * XXX: We should sort the rules somewhat, so that 'log' rules are enforced + * before 'deny', if both are for the same subject, resource and amount. + */ +static void +_hrl_compute_available(struct hrl_limits_head *limits_head, + struct hrl_usage *usage, int64_t (*availablep)[], + struct hrl_rule *(*rulesp)[]) +{ + int resource; + int64_t available; + struct hrl_limit *limit; + + mtx_assert(&hrl_lock, MA_OWNED); + + LIST_FOREACH(limit, limits_head, hl_next) { + resource = limit->hl_rule->hr_resource; + available = limit->hl_rule->hr_amount - + usage->hu_resources[resource]; + /* Skip limits that have been already exceeded. */ + if (available < 0) + continue; + if (available < (*availablep)[resource]) { + (*availablep)[resource] = available; + (*rulesp)[resource] = limit->hl_rule; + } + } +} + +/* + * Go through all the rules applicable to the process, fill first array + * with amount of resource left before hitting next limit, and the second + * with pointers to the limit to be hit. + */ +static void +hrl_compute_available(struct proc *p, int64_t (*availablep)[], + struct hrl_rule *(*rulesp)[]) +{ + int i; + struct ucred *cred; + struct uidinfo *ui, *rui; + struct prison *pr; + + mtx_assert(&hrl_lock, MA_OWNED); + + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + (*availablep)[i] = INT_MAX; /* XXX: It's int64_t, not int. */ + (*rulesp)[i] = NULL; + } + + cred = p->p_ucred; + ui = cred->cr_uidinfo; + rui = cred->cr_ruidinfo; + pr = cred->cr_prison; + _hrl_compute_available(&p->p_limits, &p->p_usage, availablep, rulesp); + _hrl_compute_available(&ui->ui_limits, &ui->ui_usage, availablep, rulesp); + _hrl_compute_available(&rui->ui_limits, &rui->ui_usage, availablep, + rulesp); + if (hrl_group_accounting) { + /* + * XXX: Groups. + */ + } + _hrl_compute_available(&pr->pr_limits, &pr->pr_usage, availablep, + rulesp); +} + static int hrl_get_rules_pid(struct thread *td, char *inputstr, struct sbuf **outputsbuf) { - int error = 0, copied = 0; + int error = 0, copied = 0, i; id_t pid; struct proc *p; - struct ucred *cred; struct hrl_rule *buf; - struct hrl_limit *limit; - struct prison *pr; + int64_t available[HRL_RESOURCE_MAX]; + struct hrl_rule *rules[HRL_RESOURCE_MAX]; error = str2id(inputstr, &pid); if (error) return (error); - buf = malloc(HRL_MAX_RULES * sizeof(struct hrl_rule), M_HRL, M_WAITOK); + buf = malloc(HRL_RESOURCE_MAX * sizeof(struct hrl_rule), M_HRL, M_WAITOK); if ((p = pfind(pid)) == NULL) { if ((p = zpfind(pid)) == NULL) { @@ -1009,72 +1103,19 @@ } } - cred = p->p_ucred; - pr = cred->cr_prison; + mtx_lock(&hrl_lock); + hrl_compute_available(p, &available, &rules); /* * Copy the limits to the temporary buffer. We cannot * copy it directly to the userland because of the mutex. */ - mtx_lock(&hrl_lock); - LIST_FOREACH(limit, &p->p_limits, hl_next) { - if (copied >= HRL_MAX_RULES) { - /* - * XXX: Hey, what to do now? - */ - error = EDOOFUS; - break; - } - - *(buf + copied) = *(limit->hl_rule); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + *(buf + copied) = *(rules[i]); copied++; } - LIST_FOREACH(limit, &cred->cr_uidinfo->ui_limits, hl_next) { - if (copied >= HRL_MAX_RULES) { - /* - * XXX: Hey, what to do now? - */ - error = EDOOFUS; - break; - } - - *(buf + copied) = *(limit->hl_rule); - copied++; - } - if (cred->cr_uidinfo != cred->cr_ruidinfo) { - LIST_FOREACH(limit, &cred->cr_ruidinfo->ui_limits, hl_next) { - if (copied >= HRL_MAX_RULES) { - /* - * XXX: Hey, what to do now? - */ - error = EDOOFUS; - break; - } - - *(buf + copied) = *(limit->hl_rule); - copied++; - } - } - - /* - * XXX: Groups. - */ + mtx_unlock(&hrl_lock); - for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) { - LIST_FOREACH(limit, &pr->pr_limits, hl_next) { - if (copied >= HRL_MAX_RULES) { - /* - * XXX: Hey, what to do now? - */ - error = EDOOFUS; - break; - } - - *(buf + copied) = *(limit->hl_rule); - copied++; - } - } - mtx_unlock(&hrl_lock); PROC_UNLOCK(p); if (error) goto out; From owner-p4-projects@FreeBSD.ORG Mon Jul 13 17:03:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0DFF1065670; Mon, 13 Jul 2009 17:03: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 8E476106566B for ; Mon, 13 Jul 2009 17:03:45 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7988F8FC08 for ; Mon, 13 Jul 2009 17:03:45 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DH3jLd028207 for ; Mon, 13 Jul 2009 17:03:45 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DH3irK028205 for perforce@freebsd.org; Mon, 13 Jul 2009 17:03:44 GMT (envelope-from gabor@freebsd.org) Date: Mon, 13 Jul 2009 17:03:44 GMT Message-Id: <200907131703.n6DH3irK028205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 166014 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 17:03:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=166014 Change 166014 by gabor@gabor_aspire on 2009/07/13 17:02:59 MFHg: - Added encodings: MacArabic, MacDevanagari, MacFarsi, MacGujarati, MacGurmukhi, MacKeyboard, MacSymbol - Improved encodings: GB2312 - Add a script to covert the unicode.org conversion table format to the Citrus format - Clean up the alias files for a unified style, based on alphabetic order - Some little nits Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#5 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MuleLao-1.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/NEXTSTEP.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/PT154.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ASCII#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ISO-8859-1#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RISCOS-LATIN1.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RK1048.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JIS.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JISX0213.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.IRREVERSIBLE.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TDS565.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TIS-620.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ASCII#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ISO-8859-1#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TranslitFail1.ISO-8859-1#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet.UTF-8#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/VISCII.TXT#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful.bat#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless.bat#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-subst#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit.bat#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translitfailure#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/gengb18030z.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/genutf8.c#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/uniq-u.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/Makefile#5 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_iconv.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtol.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtoul.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_aliasname_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtol.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtoul.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_template.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_file.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb_file.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_fix_grouping.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_file.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_namespace.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_file.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_region.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_template.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_types.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.3#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/netbsdism.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.c#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_file.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_local.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/MAC.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/ARMSCII.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/charset.pivot.BIG5.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/mapper.dir.BIG5.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/charset.pivot.CNS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/mapper.dir.CNS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/CP.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/charset.pivot.CP.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/mapper.dir.CP.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/EBCDIC.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/charset.pivot.GB.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/mapper.dir.GB.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/GEORGIAN.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/ISO-8859.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/ISO646.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/charset.pivot.JIS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/mapper.dir.JIS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/charset.pivot.KAZAKH.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/mapper.dir.KAZAKH.src#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/KOI8.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/charset.pivot.KOI.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/mapper.dir.KOI.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/charset.pivot.KS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/mapper.dir.KS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/charset.pivot.MISC.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/mapper.dir.MISC.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.inc#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/charset.pivot.TCVN.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/mapper.dir.TCVN.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/charset.pivot.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/mapper.dir.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII-7.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.variable#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50220.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50221.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50222.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP51932.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP932.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP936.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942C.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943C.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP949.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP950.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DECHanyu.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-CN.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JIS-2004.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP-MS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-KR.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-TW.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB12345.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB18030.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GBK.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN-EXT.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-1.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2004.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-KR.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/KZ1048.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/PTCP154.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7-switched.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ATARIST.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/C99.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/CTEXT.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HP-ROMAN8.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ8.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JAVA.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JOHAB.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/MULELAO-1.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/NEXTSTEP.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/RISCOS-LATIN1.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS-2004.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/TDS565.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ZW.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.inc#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/TCVN5712-1.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VIQR.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VISCII.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/iconv.dir#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.1#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/ldef.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/lex.l#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/yacc.y#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/ldef.h#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/lex.l#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/yacc.y#3 edit Differences ... ==== //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#5 (text+ko) ==== @@ -46,21 +46,21 @@ -$(srcdir)/check-stateful $(srcdir) UTF-32LE -$(srcdir)/check-stateful $(srcdir) UTF-7 # /* 8-bit encodings */ - -$(srcdir)/check-stateless $(srcdir) ISO-8859-1 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-2 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-3 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-4 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-5 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-6 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-7 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-8 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-9 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-10 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-11 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-13 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-14 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-15 - -$(srcdir)/check-stateless $(srcdir) ISO-8859-16 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-1 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-2 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-3 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-4 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-5 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-6 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-7 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-8 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-9 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-10 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-11 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-13 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-14 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-15 +# -$(srcdir)/check-stateless $(srcdir) ISO-8859-16 # -$(srcdir)/check-stateless $(srcdir) KOI8-R # -$(srcdir)/check-stateless $(srcdir) KOI8-U # -$(srcdir)/check-stateless $(srcdir) KOI8-RU @@ -122,6 +122,7 @@ -$(srcdir)/check-stateful $(srcdir) ISO-2022-JP -$(srcdir)/check-stateful $(srcdir) ISO-2022-JP-2 -$(srcdir)/check-stateful $(srcdir) ISO-2022-JP-1 + -$(srcdir)/check-stateless $(srcdir) GB2312 -$(srcdir)/check-stateless $(srcdir) EUC-CN -$(srcdir)/check-stateless $(srcdir) GBK -$(srcdir)/check-stateless $(srcdir) CP936 ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MuleLao-1.TXT#3 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/NEXTSTEP.TXT#3 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 13 17:11:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15E371065676; Mon, 13 Jul 2009 17:11:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6DC91065674 for ; Mon, 13 Jul 2009 17:11:54 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B41088FC26 for ; Mon, 13 Jul 2009 17:11:54 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DHBsdR028864 for ; Mon, 13 Jul 2009 17:11:54 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DHBsdL028862 for perforce@freebsd.org; Mon, 13 Jul 2009 17:11:54 GMT (envelope-from gabor@freebsd.org) Date: Mon, 13 Jul 2009 17:11:54 GMT Message-Id: <200907131711.n6DHBsdL028862@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 166015 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 17:11:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=166015 Change 166015 by gabor@gabor_aspire on 2009/07/13 17:11:13 MFHg: - Add files which didn't slip in in the last commit Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0208.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/KAZAKH.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/KAZAKH.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ISO-IR-165.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JISX0201-KANA.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/MISC.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/MISC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/TCVN.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/TCVN.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/tools/tools/iconv/tablegen.sh#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 13 17:21:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C3AE1065674; Mon, 13 Jul 2009 17:21:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCADA106566B for ; Mon, 13 Jul 2009 17:21:04 +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 B94B78FC0C for ; Mon, 13 Jul 2009 17:21:04 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DHL4xJ029521 for ; Mon, 13 Jul 2009 17:21:04 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DHL4jg029519 for perforce@freebsd.org; Mon, 13 Jul 2009 17:21:04 GMT (envelope-from trasz@freebsd.org) Date: Mon, 13 Jul 2009 17:21:04 GMT Message-Id: <200907131721.n6DHL4jg029519@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 166016 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 17:21:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=166016 Change 166016 by trasz@trasz_victim on 2009/07/13 17:20:20 Add support for actions. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#30 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#30 (text+ko) ==== @@ -157,6 +157,7 @@ static void hrl_rule_add_limits(struct hrl_rule *rule); static void hrl_compute_available(struct proc *p, int64_t (*availablep)[], struct hrl_rule *(*rulesp)[]); +static struct sbuf *hrl_rules_to_sbuf(struct hrl_rule *usage, int nrules); MALLOC_DEFINE(M_HRL, "hrl", "Hierarchical Resource Limits"); @@ -289,18 +290,93 @@ mtx_unlock(&hrl_lock); } +static void +hrl_deferred_psignal(struct proc *p, int signum) +{ + + PROC_LOCK(p); + psignal(p, signum); + PROC_UNLOCK(p); +} + /* + * Check whether the proc 'p' can allocate 'amount' of 'resource' in addition + * to what it has allocated now. Returns fake error code if the allocation + * should fail. + */ +static int +hrl_enforce_proc(struct proc *p, int resource, uint64_t amount) +{ + int64_t available[HRL_RESOURCE_MAX]; + struct hrl_rule *rules[HRL_RESOURCE_MAX]; + struct sbuf *sb; + + /* + * XXX: Check maxfilesperproc. + */ + /* + * XXX: Do this just before we start running on a CPU, not all the time. + */ + hrl_compute_available(p, &available, &rules); + + if (available[resource] >= amount) + return (0); + + switch (rules[resource]->hr_action) { + case HRL_ACTION_DENY: + /* + * Return fake error code; the caller should change it + * into proper one for the situation - EFSIZ, ENOMEM etc. + */ + return (EDOOFUS); + case HRL_ACTION_DELAY: + /* + * XXX: Think whether we actually can and want to do this. + */ + printf("hrl_enforce_proc: XXX, \"delay\" unimplemented.\n"); + return (0); + case HRL_ACTION_LOG: + sb = hrl_rules_to_sbuf(rules[resource], 1); + sbuf_finish(sb); + printf("resource limit \"%s\" exceeded by process %d (%s), " + "uid %d\n", sbuf_data(sb), p->p_pid, p->p_comm, + p->p_ucred->cr_uid); + sbuf_delete(sb); + return (0); + case HRL_ACTION_SIGHUP: + hrl_deferred_psignal(p, SIGHUP); + return (0); + case HRL_ACTION_SIGINT: + hrl_deferred_psignal(p, SIGINT); + return (0); + case HRL_ACTION_SIGKILL: + hrl_deferred_psignal(p, SIGKILL); + return (0); + case HRL_ACTION_SIGSEGV: + hrl_deferred_psignal(p, SIGSEGV); + return (0); + case HRL_ACTION_SIGXCPU: + hrl_deferred_psignal(p, SIGXCPU); + return (0); + case HRL_ACTION_SIGXFSZ: + hrl_deferred_psignal(p, SIGXFSZ); + return (0); + default: + panic("hrl_enforce_proc: unknown action %d", + rules[resource]->hr_action); + } +} + +/* * Increase allocation of 'resource' by 'amount' for process 'p'. * Return 0 if it's below limits, or errno, if it's not. */ int hrl_alloc_proc(struct proc *p, int resource, uint64_t amount) { - int i, j; + int i, j, error; struct ucred *cred; struct prison *pr; - int64_t available[HRL_RESOURCE_MAX]; - struct hrl_rule *rules[HRL_RESOURCE_MAX]; KASSERT(amount > 0, ("hrl_alloc_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); @@ -310,20 +386,10 @@ #endif mtx_lock(&hrl_lock); - /* - * XXX: Check maxfilesperproc. - */ - /* - * XXX: Do this just before we start running on a CPU, not all the time. - */ - hrl_compute_available(p, &available, &rules); - /* - * Return fake error code; the caller should change it into proper - * one for the situation - EFSIZ, ENOMEM, EMFILE etc. - */ - if (available[resource] < 0 && rules[resource]->hr_action == HRL_ACTION_DENY) { + error = hrl_enforce_proc(p, resource, amount); + if (error) { mtx_unlock(&hrl_lock); - return (EDOOFUS); + return (error); } p->p_usage.hu_resources[resource] += amount; cred = p->p_ucred; @@ -368,12 +434,10 @@ int hrl_allocated_proc(struct proc *p, int resource, uint64_t amount) { - int i, j; + int i, j, error; int64_t diff; struct ucred *cred; struct prison *pr; - int64_t available[HRL_RESOURCE_MAX]; - struct hrl_rule *rules[HRL_RESOURCE_MAX]; KASSERT(amount >= 0, ("hrl_allocated_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); @@ -385,17 +449,10 @@ mtx_lock(&hrl_lock); diff = amount - p->p_usage.hu_resources[resource]; if (diff > 0) { - /* - * XXX: Do this just before we start running on a CPU, not all the time. - */ - hrl_compute_available(p, &available, &rules); - /* - * Return fake error code; the caller should change it into proper - * one for the situation - EFSIZ, ENOMEM, EMFILE etc. - */ - if (available[resource] < 0 && rules[resource]->hr_action == HRL_ACTION_DENY) { + error = hrl_enforce_proc(p, resource, diff); + if (error) { mtx_unlock(&hrl_lock); - return (EDOOFUS); + return (error); } } p->p_usage.hu_resources[resource] = amount; @@ -1111,6 +1168,8 @@ * copy it directly to the userland because of the mutex. */ for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (rules[i] == NULL) + continue; *(buf + copied) = *(rules[i]); copied++; } From owner-p4-projects@FreeBSD.ORG Mon Jul 13 17:43:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C168B10656EA; Mon, 13 Jul 2009 17:43:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B09A01065676 for ; Mon, 13 Jul 2009 17:43:29 +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 936B88FC12 for ; Mon, 13 Jul 2009 17:43:29 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DHhTDm031218 for ; Mon, 13 Jul 2009 17:43:29 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DHhTqQ031216 for perforce@freebsd.org; Mon, 13 Jul 2009 17:43:29 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 13 Jul 2009 17:43:29 GMT Message-Id: <200907131743.n6DHhTqQ031216@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 166020 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 17:43:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=166020 Change 166020 by pgj@petymeg-current on 2009/07/13 17:43:17 Add enum tcp_state, so applications can access the tcp state of a connection directly in a relatively type-safe way. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#41 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#24 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#23 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#25 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#41 (text+ko) ==== @@ -77,6 +77,11 @@ static const char *const inp_symbol[] = { "_tcbinfo", "_udbinfo", "_divcbinfo", "_ripcbinfo" }; +static const enum tcp_state tcp_states[] = + { tcps_Closed, tcps_Listen, tcps_SynSent, tcps_SynReceived, + tcps_Established, tcps_CloseWait, tcps_FinWait1, tcps_Closing, + tcps_LastAck, tcps_FinWait2, tcps_TimeWait }; + static void extract_xunpcb_data(struct xunpcb *, struct socket_type *); static void extract_unpcb_data(struct unpcb_data *, struct socket_type *); static void extract_inet_data(struct tcpcb *, struct inpcb *, @@ -705,6 +710,7 @@ stp->st_addrcnt += 1; } stp->st_tcpstate[0] = '\0'; + stp->st_tcps = tcps_Invalid; } void @@ -745,6 +751,7 @@ stp->st_addrcnt += 1; } stp->st_tcpstate[0] = '\0'; + stp->st_tcps = tcps_Invalid; } void @@ -779,15 +786,18 @@ stp->st_flags = 0; stp->st_addrcnt = 0; if (tp != NULL) { - if (tp->t_state < 0 || tp->t_state >= TCP_NSTATES) + if (tp->t_state < 0 || tp->t_state >= TCP_NSTATES) { sprintf(stp->st_tcpstate, "%d", tp->t_state); - else { + stp->st_tcps = tcps_Invalid; + } else { sprintf(stp->st_tcpstate, "%s", tcpstates[tp->t_state]); + stp->st_tcps = tcp_states[tp->t_state]; #if defined(TF_NEEDSYN) && defined(TF_NEEDFIN) /* T/TCP `hidden state' */ if (tp->t_flags & (TF_NEEDSYN|TF_NEEDFIN)) { stp->st_tcpstate[0] = '*'; stp->st_tcpstate[1] = '\0'; + stp->st_tcps = tcps_Hidden; } #endif /* defined(TF_NEEDSYN) && defined(TF_NEEDFIN) */ } @@ -795,6 +805,7 @@ } else { /* Has no TCP state. */ stp->st_tcpstate[0] = '\0'; + stp->st_tcps = tcps_Invalid; } #ifdef INET6 if ((inp->inp_vflag & INP_IPV6) != 0) @@ -863,15 +874,19 @@ stp->st_rcv.sbt_mbmax = idp->id_rcv_mbmax; stp->st_pcb = idp->id_pcb; if (idp->id_protocol == IPPROTO_TCP) { - if (idp->id_state >= TCP_NSTATES) + if (idp->id_state >= TCP_NSTATES) { sprintf(stp->st_tcpstate, "%d", idp->id_state); - else { + stp->st_tcps = tcps_Invalid; + } else { sprintf(stp->st_tcpstate, "%s", tcpstates[idp->id_state]); + stp->st_tcps = tcp_states[idp->id_state]; #if defined(TF_NEEDSYN) && defined(TF_NEEDFIN) /* T/TCP `hidden state` */ - if (idp->id_flags & (TF_NEEDSYN | TF_NEEDFIN)) + if (idp->id_flags & (TF_NEEDSYN | TF_NEEDFIN)) { strcpy(stp->st_tcpstate, "*"); + stp->st_tcps = tcps_Hidden; + } #endif /* defined(TF_NEEDSYN) && defined(TF_NEEDFIN) */ } stp->st_flags |= SOCKTYPE_TCP; ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#24 (text+ko) ==== @@ -50,6 +50,24 @@ #define NETSTAT_SOCKET_KVM 0x01 /* Use KVM. */ #define NETSTAT_SOCKET_ALL 0x02 /* Return all connections. */ +/* Enum for TCP states: */ +enum tcp_state { + tcps_Closed, + tcps_Listen, + tcps_SynSent, + tcps_SynReceived, + tcps_Established, + tcps_CloseWait, + tcps_FinWait1, + tcps_FinWait2, + tcps_Closing, + tcps_LastAck, + tcps_TimeWait, + tcps_Hidden, + tcps_Invalid, + tcps_MAX, +}; + struct socket_type; struct socket_type_list; struct socket_type_iterator; @@ -100,6 +118,7 @@ u_int64_t netstat_st_get_refs(const struct socket_type *stp); u_int64_t netstat_st_get_reflink(const struct socket_type *stp); const char *netstat_st_get_tcpstate(const struct socket_type *stp); +enum tcp_state netstat_st_get_tcps(const struct socket_type *stp); /* Addresses: */ int netstat_st_get_addrcnt(const struct socket_type *stp); struct addr_type *netstat_st_get_address(const struct socket_type *stp, ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#23 (text+ko) ==== @@ -109,6 +109,7 @@ u_int64_t st_conn; /* control block of connected socket */ u_int64_t st_refs; /* referencing socket linked list */ u_int64_t st_reflink; /* link in references list */ + enum tcp_state st_tcps; char st_tcpstate[16]; /* list of types */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#25 (text+ko) ==== @@ -444,6 +444,12 @@ return (stp->st_tcpstate); } +enum tcp_state +netstat_st_get_tcps(const struct socket_type *stp) +{ + return (stp->st_tcps); +} + int netstat_st_get_addrcnt(const struct socket_type *stp) { From owner-p4-projects@FreeBSD.ORG Mon Jul 13 18:45:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D96D0106567B; Mon, 13 Jul 2009 18:45: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 95C1E1065686 for ; Mon, 13 Jul 2009 18:45:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 829068FC0C for ; Mon, 13 Jul 2009 18:45:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DIjdBs036910 for ; Mon, 13 Jul 2009 18:45:39 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DIjdtU036908 for perforce@freebsd.org; Mon, 13 Jul 2009 18:45:39 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 18:45:39 GMT Message-Id: <200907131845.n6DIjdtU036908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166029 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 18:45:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=166029 Change 166029 by syl@syl_atuin on 2009/07/13 18:45:02 Fix compilation issues. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#9 edit .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#6 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#9 (text+ko) ==== @@ -134,7 +134,8 @@ * Transfer stuff. */ -static void s3c24dci_device_done(struct usb_xfer *, usb_error_t) +static void +s3c24dci_device_done(struct usb_xfer *xfer, usb_error_t error) { struct s3c24dci_softc *sc = S3C24_DCI_BUS2SC(xfer->xroot->bus); uint32_t ittmp; @@ -142,23 +143,35 @@ USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - DPRINTF(2, "xfer=%p, endpoint=%p, error=%d\n", - xfer, xfer->endpointnom & UE_ADDR); + DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpoint, error); if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { ep_no = (xfer->endpointno & UE_ADDR); /* disable endpoint interrupt */ - ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN); + ittmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_EP_INT_EN); ittmp &= ~(1<flags.usb_mode != USB_MODE_DEVICE) { @@ -336,7 +359,7 @@ USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); - DPRINTF(5, "endpoint=%p\n", ep); + DPRINTFN(5, "endpoint=%p\n", ep); if (xfer) { /* cancel any ongoing transfers */ @@ -344,30 +367,21 @@ } /* set STALL */ - S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, (ep->ed->bEndpointAddress & UE_ADDR)); - if (ep->ed->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT) == UE_DIR_IN) { - csr = S3C24XX_DCI_READ_4(S3C24_DCI_IN_CSR1); + sc = S3C24_DCI_BUS2SC(udev->bus); + S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, (ep->edesc->bEndpointAddress & UE_ADDR)); + if ((ep->edesc->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT)) == UE_DIR_IN) { + csr = S3C24XX_DCI_READ_4(sc, S3C24_DCI_IN_CSR1); csr |= S3C24_DCI_IN_SEND_STALL; - S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1, csr); + S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_IN_CSR1, csr); } else { - csr = S3C24XX_DCI_READ_4(S3C24_DCI_OUT_CSR1); + csr = S3C24XX_DCI_READ_4(sc, S3C24_DCI_OUT_CSR1); csr |= S3C24_DCI_OUT_SEND_STALL; - S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1, csr); + S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR1, csr); } return ; } -static void -s3c24dci_get_hw_ep_profile(struct usb_device *udev, - const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) -{ - if (ep_addr < S3C24XX_DCI_EP_MAX) - *ppf = (s3c24dci_ep_profile + ep_addr); - else - *ppf = NULL; -} - static usb_error_t s3c24dci_roothub_exec(struct usb_device *udev, struct usb_device_request *req, const void **pptr, uint16_t *plength) @@ -418,6 +432,8 @@ return ; } + last_obj = NULL; + if (ntd) { ep_no = xfer->endpointno & UE_ADDR; s3c24dci_get_hw_ep_profile(parm->udev, &pf, ep_no); ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#6 (text+ko) ==== @@ -172,14 +172,14 @@ #define S3C24XX_DCI_READ_4(sc, reg) \ bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg) -#define S3C24XX_DCI_WRITE_4(sc, reg, (sc)->sc_io_hdl, reg, data) \ - bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) +#define S3C24XX_DCI_WRITE_4(sc, reg, data) \ + bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) -struct s3cdci_td; +struct s3c24dci_td; -typedef uint8_t (s3c24dci_cmd_t)(struct s3c24dci_td *td); +typedef uint8_t (*s3c24dci_cmd_t)(struct s3c24dci_td *td); -struct uint8_t s3c24dci_td { +struct s3c24dci_td { bus_space_tag_t io_tag; bus_space_handle_t io_hdl; struct s3c24dci_td *obj_next; @@ -199,6 +199,9 @@ struct usb_bus sc_bus; struct usb_device *sc_devices[2]; + bus_space_tag_t sc_io_tag; + bus_space_handle_t sc_io_hdl; + uint8_t sc_rt_addr; /* root HUB address */ uint8_t sc_dv_addr; /* device address */ uint8_t sc_conf; /* root HUB config */ From owner-p4-projects@FreeBSD.ORG Mon Jul 13 19:13:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A17A81065673; Mon, 13 Jul 2009 19:13: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 60FE61065670 for ; Mon, 13 Jul 2009 19:13:11 +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 4CF018FC08 for ; Mon, 13 Jul 2009 19:13:11 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DJDAaj039860 for ; Mon, 13 Jul 2009 19:13:10 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DJD9Vf039858 for perforce@freebsd.org; Mon, 13 Jul 2009 19:13:09 GMT (envelope-from trasz@freebsd.org) Date: Mon, 13 Jul 2009 19:13:09 GMT Message-Id: <200907131913.n6DJD9Vf039858@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 166033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 13 Jul 2009 19:13:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=166033 Change 166033 by trasz@trasz_victim on 2009/07/13 19:12:52 IFC. Affected files ... .. //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#8 integrate .. //depot/projects/soc2009/trasz_limits/UPDATING#8 integrate .. //depot/projects/soc2009/trasz_limits/contrib/amd/amd/get_args.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/netcat/nc.1#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/ntp/scripts/mkver.in#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/sendmail/cf/sh/makeinfo.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/Fixes#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/Imakefile#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/Makefile.ADMIN#2 delete .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/Makefile.in#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/README#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/RELEASE-PROCEDURE#2 delete .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/complete.tcsh#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/config.guess#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/config.h.in#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/config.rpath#1 branch .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/config.sub#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/config_f.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/configure#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/configure.in#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.chared.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.decls.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.inputl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.screen.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.term.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ed.xmap.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/glob.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/host.defs#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/ma.setp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/patchlevel.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.char.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.char.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.decls.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.dir.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.dol.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.exec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.exp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.file.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.func.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.glob.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.lex.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.proc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.proc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.sem.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.set.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/snames.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.bind.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.const.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.decls.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.func.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.os.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.sig.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tc.str.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tcsh.man#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tw.color.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tw.comp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tw.parse.c#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/ntp.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/ftok.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/msgctl.3#3 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/msgget.3#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/msgrcv.3#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/msgsnd.3#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/stdio/fread.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdio/fwrite.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/msgctl.2#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/msgget.2#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/msgrcv.2#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/msgsnd.2#1 branch .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifieee80211.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifmedia.c#3 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/Makefile#7 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/aac.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ath.4#4 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ieee80211.4#2 delete .. //depot/projects/soc2009/trasz_limits/share/man/man4/mwl.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/net80211.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/pcm.4#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/ral.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/wlan.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/Makefile#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/conf/GENERIC#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/pmap.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_xpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/dev/acpica/compiler/aslcompile.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/dev/acpica/compiler/aslutils.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/aac/aac_disk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-marvell.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_athvar.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hptrr/hptrr_config.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwl.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/usb/uaudio.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs_commonkrpc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clvnops.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/pmap.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/xen/pmap.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_mbuf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_media.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/route.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_action.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ddb.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_freebsd.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_hwmp.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_input.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ioctl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ioctl.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_mesh.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_mesh.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_node.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_node.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_output.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_proto.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_proto.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_scan.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_scan.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_var.h#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_offload.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_sack.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_syncache.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/nfs_common.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/conf/GENERIC#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/mmu_oea64.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/pmap.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/conf/GENERIC#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/pmap.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/conf/GENERIC#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/vm.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/param.h#9 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/device_pager.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_contig.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_extern.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_map.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_object.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_object.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_page.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_phys.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_phys.h#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/4/pipepoll.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/4/pipeselect.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/7/pipepoll.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/7/pipeselect.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/Readme#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/l/pipepoll.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/l/pipeselect.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/m/pipepoll.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/m/pipeselect.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/n/pipepoll.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/n/pipeselect.out#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/pipepoll.c#1 branch .. //depot/projects/soc2009/trasz_limits/tools/regression/poll/pipeselect.c#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/nanobsd/gateworks/G2348#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/tools/nanobsd/gateworks/G2358#3 integrate .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/config#2 integrate .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/common#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/config.mesh#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/setup.simple#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/topology.line#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/topology.ring#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/topology.star#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/scripts/mesh/topology.tree#1 branch .. //depot/projects/soc2009/trasz_limits/tools/tools/net80211/wlanstats/wlanstats.c#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/hostapd/hostapd.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/hostapd/hostapd.conf.5#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/hostapd_cli/hostapd_cli.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/wpa_cli/wpa_cli.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.8#2 integrate .. //depot/projects/soc2009/trasz_limits/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.199 2009/07/01 07:37:21 dfr Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.200 2009/07/13 12:53:43 trasz 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. # +# 20090709: msgctl.3 msgget.3 msgrcv.3 msgsnd.3 manual pages moved +OLD_FILES+=usr/share/man/man3/msgctl.3.gz +OLD_FILES+=usr/share/man/man3/msgget.3.gz +OLD_FILES+=usr/share/man/man3/msgrcv.3.gz +OLD_FILES+=usr/share/man/man3/msgsnd.3.gz # 20090630: old kernel RPC implementation removal OLD_FILES+=usr/include/nfs/rpcv2.h # 20090624: update usbdi(9) ==== //depot/projects/soc2009/trasz_limits/UPDATING#8 (text+ko) ==== @@ -22,6 +22,20 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +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. + +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 + __FreeBSD_version to 800102. User space tools that rely on the size of + 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 @@ -1641,4 +1655,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.627 2009/07/01 18:12:50 dfr Exp $ +$FreeBSD: src/UPDATING,v 1.629 2009/07/13 11:51:02 lstewart Exp $ ==== //depot/projects/soc2009/trasz_limits/contrib/amd/amd/get_args.c#2 (text+ko) ==== @@ -96,8 +96,8 @@ xsnprintf(tmpbuf, sizeof(tmpbuf), "Configured by %s@%s on date %s.\n", USER_NAME, HOST_NAME, CONFIG_DATE); strlcat(vers, tmpbuf, len); - xsnprintf(tmpbuf, sizeof(tmpbuf), "Built by %s@%s on date %s.\n", - BUILD_USER, BUILD_HOST, BUILD_DATE); + xsnprintf(tmpbuf, sizeof(tmpbuf), "Built by %s@%s.\n", + BUILD_USER, BUILD_HOST); strlcat(vers, tmpbuf, len); xsnprintf(tmpbuf, sizeof(tmpbuf), "cpu=%s (%s-endian), arch=%s, karch=%s.\n", cpu, endian, gopt.arch, gopt.karch); ==== //depot/projects/soc2009/trasz_limits/contrib/netcat/nc.1#3 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/contrib/netcat/nc.1,v 1.13 2009/05/29 07:18:31 delphij Exp $ +.\" $FreeBSD: src/contrib/netcat/nc.1,v 1.14 2009/07/11 17:35:55 cperciva Exp $ .\" -.Dd $Mdocdate: May 6 2008 $ +.Dd May 6 2008 .Dt NC 1 .Os .Sh NAME ==== //depot/projects/soc2009/trasz_limits/contrib/ntp/scripts/mkver.in#2 (text+ko) ==== @@ -17,8 +17,6 @@ *) ConfStr="${ConfStr}-?" ;; esac -ConfStr="$ConfStr `LC_TIME=C TZ= date`" - if [ ! -f .version ]; then echo 0 > .version fi ==== //depot/projects/soc2009/trasz_limits/contrib/sendmail/cf/sh/makeinfo.sh#2 (text+ko) ==== @@ -13,7 +13,7 @@ # # $Id: makeinfo.sh,v 8.14 1999/02/07 07:26:25 gshapiro Exp $ # -# $FreeBSD: src/contrib/sendmail/cf/sh/makeinfo.sh,v 1.7 2002/06/11 21:16:35 gshapiro Exp $ +# $FreeBSD: src/contrib/sendmail/cf/sh/makeinfo.sh,v 1.8 2009/07/11 22:30:37 cperciva Exp $ # usewhoami=0 @@ -54,7 +54,7 @@ else host=`uname -n` fi -echo '#####' built by $user@$host on `LC_ALL=C LC_TIME=C date` +echo '#####' built by $user@$host echo '#####' in `pwd` | sed 's/\/tmp_mnt//' echo '#####' using $1 as configuration include directory | sed 's/\/tmp_mnt//' echo "define(\`__HOST__', $host)dnl" ==== //depot/projects/soc2009/trasz_limits/contrib/tcsh/Fixes#2 (text+ko) ==== @@ -1,3 +1,74 @@ + 21. V6.17.00 - 20090710 + 20. Fix dataroot autoconf issue. + 19. Fix directory stuff for unit tests. + 18. Fix small bug in history in loops. + 17. Provide newer config.{guess,sub} + 16. Fix gcc 4 warnings. + 15. Fix memory trashing bug introduced in 10. + 14. V6.16.01 - 20090624 + 13. add missing sigemptyset in goodbye() + 12. add rlimit swapsize from FreeBSD. + 11. restore behavior where a[n-] never prints an error. + 10. always save the whole command, not just the first 80 chars of it. + 9. fix short2str/short2qstr length adjustment in wide chars + (Vitezslav Crhonek) + 8. set histfile=/tmp/history.temp; set savehist=(100 merge); + alias precmd history -S. After that justpr is not restored and commands + don't execute. (Andriy Gapon) + 7. Fix "as" $ modifier from corrupting memory. + set t=demfonsftraftionf; echo $t:as/f// + 6. Make $% work with environment variable (Ron Johnston) + 5. Dragonfly script support (Matthias Schmidt, m65) + 4. Add autoexpand=onlyhistory (Don Estabrook, m66) + 3. Add history in loops (Laurence Darby, m48) + 2. Add missing colorls "rs" variable (Shlomi Fish, m70) + 1. Fix pts detection issue (Ruslan Ermilov) + + 33. V6.16.00 - 20080930 + 32. longjmp clobbered variable fixes. + 31. __GNX__ addition + 30. Windows fork fixes + 28. V6.15.02 - 20080830 + 27. Fix an eval free'ing botch (Per Hedeland) + 26. /bin/echo "`" coredumped because stderror() calls longjmp corrupting + the stack (Mark Davies). We should vet the code for all stderror() + calls that cleanup local stack variables. + 25. foo > ${undef} caused coredumps because of vfork() child corrupting + the state of the parent stack. + 24. $x[A-B] did not complain for A out of range. (Cai Xianchao) + 23. rename setp -> tcsh_setp to avoid conflict with mach (Javier Vasquez) + 22. Fix degree handling by defining __XPG4_CHAR_CLASS__ for solaris + (Mike Sullivan) + 21. Change 'od' to 'od -c' in tests so that they work on big endian machines. + (Martin Kraemer) + 20. Add environment variable COMMAND_LINE to be available in completions + (Marcin Konarski) + 19. V6.15.01 - 20070928 + 18. Evaluate expressions in the proper order (Li Zefan), controlled by + compat_expr. + 17. Don't need to flush() if we are silent. Prevents recursive error issue. + (joshua stein) + 16. Don't execute the jobcmd if the output is not a tty (Charles Ross) + 15. Quote the history in the examples (Johann 'Myrkraverk' Oskarsson) + 14. Mismatch clarification patch (Per Hedeland) + 13. Fix 'repeat n cmd &' abort() (Mike Sullivan) + 12. Fix octal parsing (Li Zefan) + 11. Fix pty detection for autologout setting (Kris Kennaway, Giorgos Keramidas) + 10. kill `foo` got stuck because sigchld was disabled too soon (Mark Peek) + 9. Avoid null pointer dereference in proc cwd (Kurt Miller) + 8. eval "foreach a b c" exits (Anthony Menasse) + 7. Quoting was broken in substitutions (Joe Wells) + 6. QNX patches via pkgsrc + 5. cd - twice from a directory that contained a glob pattern, + expands the glob twice (Mark Santcroos) + 4. MidnightBsd support (Lucas Holt) + 3. Fix history substitution core-dump with no history entries + 2. Merge two character tables that are the same (Martin Kraemer) + 1. On ancient 7 bit locales, punctuation characters are used to + denote special characters such as umlaut, adiaresis, etc. + These characters return true for isalpha/isalnum. Ignore them + because they break parsing (Martin Kraemer) + 74. V6.15.00 - 20070303 73. fix extension eating windows code (christos) 72. fix loop in %R history expansion (christos) ==== //depot/projects/soc2009/trasz_limits/contrib/tcsh/Imakefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ XCOMM -XCOMM $tcsh: Imakefile,v 1.85 2006/03/02 18:46:44 christos Exp $ +XCOMM $tcsh: Imakefile,v 1.86 2007/03/19 23:25:02 christos Exp $ XCOMM XCOMM Imakefile for tcsh 6.12 XCOMM Marc Horowitz, MIT SIPB @@ -211,6 +211,10 @@ # define ConfigH bsd4.4 # endif /* FreeBsdArchitecture */ +# ifdef MidnightBSDArchitecture +# define ConfigH bsd4.4 +# endif /* MidnightBsdArchitecture */ + # ifdef i386SVR4Architecture # define ConfigH sysv4 # ifdef DELL ==== //depot/projects/soc2009/trasz_limits/contrib/tcsh/Makefile.in#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $tcsh: Makefile.in,v 3.36 2006/08/24 20:56:31 christos Exp $ +# $tcsh: Makefile.in,v 3.40 2009/06/24 22:09:05 christos Exp $ # Makefile.in 4.3 6/11/83 # # C Shell with process control; VM/UNIX VAX Makefile @@ -248,7 +248,7 @@ # The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which # on the suns does not know how to make dynamically linked binaries. CC = @CC@ # This is set by autoconf. -#CC= gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Werror -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wsign-compare -Wcast-qual -Wreturn-type -Wswitch -Wshadow -Wwrite-strings +#CC= gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Werror -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wsign-compare -Wcast-qual -Wreturn-type -Wswitch -Wshadow -Wwrite-strings -Wextra #CC= gcc -Wall -pipe -B/bin/ # -ansi -pedantic #CC= gcc -m486 -pipe -Wall # Generate code for Intel 486 (linux) #CC= shlicc # BSDI2.1 w/ shared libraries @@ -278,7 +278,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ -mandir=@mandir@ +mandir=@datarootdir@/man MANSECT=1 DESTBIN=${DESTDIR}${bindir} DESTMAN=${DESTDIR}${mandir}/man${MANSECT} @@ -463,7 +463,7 @@ echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \ } >$(srcdir)/tests/package.m4 -$(srcdir)/tests/testsuite: tests/package.m4 tests/testsuite.at $(TESTFILES) +$(srcdir)/tests/testsuite: $(srcdir)/tests/package.m4 $(srcdir}/tests/testsuite.at $(TESTFILES) autom4te --language=autotest -I $(srcdir)/tests \ $(srcdir)/tests/testsuite.at -o $@.tmp mv $@.tmp $@ @@ -531,11 +531,16 @@ cp ${srcdir}/WishList ${srcdir}/Y2K ${DESTDIR}${prefix}/share/doc/tcsh perl ${srcdir}/tcsh.man2html ${srcdir}/tcsh.man cp -rp tcsh.html ${DESTDIR}${prefix}/share/doc/tcsh + -mkdir -p ${DESTDIR}/etc/defaults/etc/profile.d -mkdir -p ${DESTDIR}/etc/profile.d -mkdir -p ${DESTDIR}/etc/postinstall - cp -p ${srcdir}/cygwin/etc/csh.* ${DESTDIR}/etc - cp -p ${srcdir}/cygwin/etc/profile.d/*.tcsh ${DESTDIR}/etc/profile.d - cp -p ${srcdir}/cygwin/etc/postinstall/tcsh.sh ${DESTDIR}/etc/postinstall + -mkdir -p ${DESTDIR}/etc/preremove + cp -p ${srcdir}/cygwin/csh.cshrc ${DESTDIR}/etc/defaults/etc + cp -p ${srcdir}/cygwin/csh.login ${DESTDIR}/etc/defaults/etc + cp -p ${srcdir}/cygwin/bindkey.tcsh ${DESTDIR}/etc/defaults/etc/profile.d + cp -p ${srcdir}/complete.tcsh ${DESTDIR}/etc/defaults/etc/profile.d + cp -p ${srcdir}/cygwin/postinstall.sh ${DESTDIR}/etc/postinstall/tcsh.sh + cp -p ${srcdir}/cygwin/preremove.sh ${DESTDIR}/etc/preremove/tcsh.sh # Amiga Unix #install.man: tcsh.man ==== //depot/projects/soc2009/trasz_limits/contrib/tcsh/README#2 (text+ko) ==== @@ -1,4 +1,4 @@ -This is tcsh version 6.15. Tcsh is a version of the Berkeley +This is tcsh version 6.17.00. Tcsh is a version of the Berkeley C-Shell, with the addition of: a command line editor, command and file name completion, listing, etc. and a bunch of small additions to the shell itself. ==== //depot/projects/soc2009/trasz_limits/contrib/tcsh/complete.tcsh#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $tcsh: complete.tcsh,v 1.47 2006/03/02 18:46:44 christos Exp $ +# $tcsh: complete.tcsh,v 1.51 2007/10/01 21:51:59 christos Exp $ # example file using the new completion code # # Debian GNU/Linux @@ -38,18 +38,18 @@ if ($?_complete) then set noglob if ( ! $?hosts ) set hosts - foreach f ($HOME/.hosts /usr/local/etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv) - if ( -r $f ) then - set hosts = ($hosts `grep -v "+" $f | grep -E -v "^#" | tr -s " " " " | cut -f 1`) + foreach f ("$HOME/.hosts" /usr/local/etc/csh.hosts "$HOME/.rhosts" /etc/hosts.equiv) + if ( -r "$f" ) then + set hosts = ($hosts `grep -v "+" "$f" | grep -E -v "^#" | tr -s " " " " | cut -f 1`) endif end - if ( -r $HOME/.netrc ) then - set f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null + if ( -r "$HOME/.netrc" ) then + set f=`awk '/machine/ { print $2 }' < "$HOME/.netrc"` >& /dev/null set hosts=($hosts $f) endif - if ( -r $HOME/.ssh/known_hosts ) then - set f=`cat $HOME/.ssh/known_hosts | cut -f 1 -d \ ` >& /dev/null - set f=`cat $HOME/.ssh/known_hosts | cut -f 1 -d \ | sed -e 's/,/ /g'` >& /dev/null + if ( -r "$HOME/.ssh/known_hosts" ) then + set f=`cat "$HOME/.ssh/known_hosts" | cut -f 1 -d \ ` >& /dev/null + set f=`cat "$HOME/.ssh/known_hosts" | cut -f 1 -d \ | sed -e 's/,/ /g'` >& /dev/null set hosts=($hosts $f) endif unset f @@ -224,7 +224,7 @@ # these should be merged with the MH completion hacks below - jgotts complete {refile,sprev,snext,scan,pick,rmm,inc,folder,show} \ - c@+@F:$HOME/Mail/@ + "c@+@F:$HOME/Mail/@" # these and interrupt handling from Jaap Vermeulen complete {rexec,rxexec,rxterm,rmterm} \ @@ -286,7 +286,7 @@ complete setenv 'p/1/e/' 'c/*:/f/' # these and method of setting hosts from Kimmo Suominen - if ( -f $HOME/.mh_profile && -x "`which folders`" ) then + if ( -f "$HOME/.mh_profile" && -x "`which folders`" ) then if ( ! $?FOLDERS ) setenv FOLDERS "`folders -fast -recurse`" if ( ! $?MHA ) setenv MHA "`ali | sed -e '/^ /d' -e 's/:.*//'`" @@ -505,6 +505,19 @@ logout rdiff release remove rtag status tag unedit \ update watch watchers)/' 'n/-a/(edit unedit commit \ all none)/' 'n/watch/(on off add remove)/' + complete svn 'C@file:///@`'"${HOME}/etc/tcsh/complete.d/svn"'`@@' \ + 'n@ls@(file:/// svn+ssh:// svn://)@@' \ + 'n@help@(add blame cat checkout \ + cleanup commit copy delete export help \ + import info list ls lock log merge mkdir \ + move propdel propedit propget proplist \ + propset resolved revert status switch unlock \ + update)@' 'p@1@(add blame cat checkout \ + cleanup commit copy delete export help \ + import info list ls lock log merge mkdir \ + move propdel propedit propget proplist \ + propset resolved revert status switch unlock \ + update)@' complete cxx 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' complete detex 'p/*/f:*.tex/' complete edquota 'n/*/u/' @@ -591,14 +604,14 @@ flush-logs flush-status flush-tables flush-privileges \ kill password ping processlist reload refresh \ shutdown status variables version)/' - complete mutt c@-f=@F:${HOME}/Mail/@ \ + complete mutt "c@-f=@F:${HOME}/Mail/@" \ n/-a/f/ \ n/-F/f/ n/-H/f/ \ n/-s/x:''/ \ n/-e/x:''/ \ - n@-b@'`cat ${HOME}/.muttrc-alias | awk '"'"'{print $2 }'"'"\`@ \ - n@-c@'`cat ${HOME}/.muttrc-alias | awk '"'"'{print $2 }'"'"\`@ \ - n@*@'`cat ${HOME}/.muttrc-alias | awk '"'"'{print $2 }'"'"\`@ + n@-b@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ \ + n@-c@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ \ + n@*@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ complete ndc 'n/*/(status dumpdb reload stats trace notrace \ querylog start stop restart )/' if ($?traditional_complete) then @@ -711,14 +724,15 @@ complete unsetenv n/*/e/ set _maildir = /var/mail - if (-r $HOME/.mailrc) then + if (-r "$HOME/.mailrc") then complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ - c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:''/ \ + "c@+@F:$HOME/Mail@" C@[./\$~]@f@ n/-s/x:''/ \ n@-u@T:$_maildir@ n/-f/f/ \ - n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " " " | cut -f 2`'@ + n@*@'`sed -n s/alias//p "$HOME/.mailrc" | \ + tr -s " " " " | cut -f 2`'@ else complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ - c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:''/ \ + "c@+@F:$HOME/Mail@" C@[./\$~]@f@ n/-s/x:''/ \ n@-u@T:$_maildir@ n/-f/f/ n/*/u/ endif unset _maildir @@ -1029,23 +1043,41 @@ N/{-C,--directory}/'`\ls $:-1`'/ \ n/-[0-7]/"(l m h)"/ - # Linux filesystems - complete mount c/-/"(a f F h l n o r s t U v V w)"/ n/-[hV]/n/ \ - n/-o/x:''/ n/-t/x:''/ \ - n/-L/x:'