Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jun 2003 18:23:04 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 33676 for review
Message-ID:  <200306260123.h5Q1N43l027348@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=33676

Change 33676 by peter@peter_hammer on 2003/06/25 18:22:37

	IFC @33675

Affected files ...

.. //depot/projects/hammer/include/paths.h#5 integrate
.. //depot/projects/hammer/include/rune.h#3 integrate
.. //depot/projects/hammer/lib/libc/locale/setlocale.c#4 integrate
.. //depot/projects/hammer/lib/libc/locale/setlocale.h#2 integrate
.. //depot/projects/hammer/lib/libc/locale/setrunelocale.c#4 integrate
.. //depot/projects/hammer/lib/libc/locale/table.c#2 integrate
.. //depot/projects/hammer/lib/libc/stdlib/alloca.3#3 integrate
.. //depot/projects/hammer/sys/amd64/amd64/pmap.c#20 integrate
.. //depot/projects/hammer/sys/dev/ips/ips.c#3 integrate
.. //depot/projects/hammer/sys/dev/ips/ips.h#2 integrate
.. //depot/projects/hammer/sys/dev/ips/ips_commands.c#3 integrate
.. //depot/projects/hammer/sys/dev/ips/ips_pci.c#2 integrate
.. //depot/projects/hammer/sys/dev/sym/sym_hipd.c#7 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs#12 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs.h#12 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs_data.h#12 integrate
.. //depot/projects/hammer/sys/kern/kern_tc.c#8 integrate
.. //depot/projects/hammer/usr.bin/locale/Makefile#3 integrate
.. //depot/projects/hammer/usr.bin/locale/locale.c#3 integrate

Differences ...

==== //depot/projects/hammer/include/paths.h#5 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)paths.h	8.1 (Berkeley) 6/2/93
- * $FreeBSD: src/include/paths.h,v 1.20 2003/06/20 22:50:33 phk Exp $
+ * $FreeBSD: src/include/paths.h,v 1.21 2003/06/25 22:28:33 phantom Exp $
  */
 
 #ifndef _PATHS_H_
@@ -62,6 +62,7 @@
 #define	_PATH_IFCONFIG	"/sbin/ifconfig"
 #define	_PATH_KMEM	"/dev/kmem"
 #define	_PATH_LIBMAP_CONF	"/etc/libmap.conf"
+#define	_PATH_LOCALE	"/usr/share/locale"
 #define	_PATH_LOGIN	"/usr/bin/login"
 #define	_PATH_MAILDIR	"/var/mail"
 #define	_PATH_MAN	"/usr/share/man"

==== //depot/projects/hammer/include/rune.h#3 (text+ko) ====

@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)rune.h	8.1 (Berkeley) 6/27/93
- * $FreeBSD: src/include/rune.h,v 1.3 2002/09/06 04:22:54 mike Exp $
+ * $FreeBSD: src/include/rune.h,v 1.4 2003/06/25 22:28:33 phantom Exp $
  */
 
 #ifndef	_RUNE_H_
@@ -48,8 +48,6 @@
 typedef	__rune_t	rune_t;
 #endif
 
-#define	_PATH_LOCALE	"/usr/share/locale"
-
 #define _INVALID_RUNE   _CurrentRuneLocale->invalid_rune
 
 #define __sgetrune      _CurrentRuneLocale->sgetrune

==== //depot/projects/hammer/lib/libc/locale/setlocale.c#4 (text+ko) ====

@@ -39,14 +39,14 @@
 static char sccsid[] = "@(#)setlocale.c	8.1 (Berkeley) 7/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/setlocale.c,v 1.43 2003/05/01 19:03:13 nectar Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/setlocale.c,v 1.46 2003/06/25 22:42:33 phantom Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
-#include <rune.h>
+#include <paths.h>	/* for _PATH_LOCALE */
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -85,6 +85,11 @@
 };
 
 /*
+ * Path to locale storage directory
+ */
+char	*_PathLocale;
+
+/*
  * The locales we are going to try and load
  */
 static char new_categories[_LC_LAST][ENCODING_LEN + 1];
@@ -257,6 +262,7 @@
 	char *new = new_categories[category];
 	char *old = current_categories[category];
 	int (*func)(const char *);
+	int saved_errno;
 
 	if ((new[0] == '.' &&
 	     (new[1] == '\0' || (new[1] == '.' && new[2] == '\0'))) ||
@@ -265,27 +271,11 @@
 		return (NULL);
 	}
 
-	if (_PathLocale == NULL) {
-		char *p = getenv("PATH_LOCALE");
-
-		if (p != NULL
-#ifndef __NETBSD_SYSCALLS
-			&& !issetugid()
-#endif
-			) {
-			if (strlen(p) + 1/*"/"*/ + ENCODING_LEN +
-			    1/*"/"*/ + CATEGORY_LEN >= PATH_MAX) {
-				errno = ENAMETOOLONG;
-				return (NULL);
-			}
-			_PathLocale = strdup(p);
-			if (_PathLocale == NULL) {
-				errno = ENOMEM;
-				return (NULL);
-			}
-		} else
-			_PathLocale = _PATH_LOCALE;
-	}
+	saved_errno = errno;
+	errno = __detect_path_locale();
+	if (errno != 0)
+		return (NULL);
+	errno = saved_errno;
 
 	switch (category) {
 	case LC_CTYPE:
@@ -322,3 +312,29 @@
 	return (NULL);
 }
 
+/*
+ * Detect locale storage location and store its value to _PathLocale variable
+ */
+int
+__detect_path_locale(void)
+{
+	if (_PathLocale == NULL) {
+		char *p = getenv("PATH_LOCALE");
+
+		if (p != NULL
+#ifndef __NETBSD_SYSCALLS
+			&& !issetugid()
+#endif
+			) {
+			if (strlen(p) + 1/*"/"*/ + ENCODING_LEN +
+			    1/*"/"*/ + CATEGORY_LEN >= PATH_MAX)
+				return (ENAMETOOLONG);
+			_PathLocale = strdup(p);
+			if (_PathLocale == NULL)
+				return (errno == 0 ? ENOMEM : errno);
+		} else
+			_PathLocale = _PATH_LOCALE;
+	}
+	return (0);
+}
+

==== //depot/projects/hammer/lib/libc/locale/setlocale.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libc/locale/setlocale.h,v 1.4 2001/12/20 18:28:52 phantom Exp $
+ * $FreeBSD: src/lib/libc/locale/setlocale.h,v 1.5 2003/06/25 22:42:33 phantom Exp $
  */
 
 #ifndef _SETLOCALE_H_
@@ -34,4 +34,6 @@
 
 extern char *_PathLocale;
 
+int	__detect_path_locale(void);
+
 #endif /* !_SETLOCALE_H_ */

==== //depot/projects/hammer/lib/libc/locale/setrunelocale.c#4 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/setrunelocale.c,v 1.27 2003/06/01 15:30:56 ache Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/setrunelocale.c,v 1.28 2003/06/25 22:42:33 phantom Exp $");
 
 #include <rune.h>
 #include <errno.h>
@@ -95,23 +95,10 @@
 	/*
 	 * Slurp the locale file into the cache.
 	 */
-	if (_PathLocale == NULL) {
-		char *p = getenv("PATH_LOCALE");
+	ret = __detect_path_locale();
+	if (ret != 0)
+		return (ret);
 
-		if (p != NULL
-#ifndef __NETBSD_SYSCALLS
-			&& !issetugid()
-#endif
-			) {
-			if (strlen(p) + 1/*"/"*/ + ENCODING_LEN +
-			    1/*"/"*/ + CATEGORY_LEN >= PATH_MAX)
-				return (ENAMETOOLONG);
-			_PathLocale = strdup(p);
-			if (_PathLocale == NULL)
-				return (errno == 0 ? ENOMEM : errno);
-		} else
-			_PathLocale = _PATH_LOCALE;
-	}
 	/* Range checking not needed, encoding length already checked above */
 	(void) strcpy(name, _PathLocale);
 	(void) strcat(name, "/");

==== //depot/projects/hammer/lib/libc/locale/table.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)table.c	8.1 (Berkeley) 6/27/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/table.c,v 1.16 2002/03/22 21:52:18 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/table.c,v 1.17 2003/06/25 22:34:13 phantom Exp $");
 
 #include <ctype.h>
 #include <rune.h>
@@ -255,4 +255,3 @@
 
 int __mb_cur_max = 1;
 
-char	*_PathLocale;

==== //depot/projects/hammer/lib/libc/stdlib/alloca.3#3 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)alloca.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.9 2003/06/25 19:18:44 obrien Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.10 2003/06/25 21:31:43 obrien Exp $
 .\"
 .Dd June 4, 1993
 .Dt ALLOCA 3
@@ -66,12 +66,6 @@
 .Xr getpagesize 3 ,
 .Xr malloc 3 ,
 .Xr realloc 3
-.Sh BUGS
-The
-.Fn alloca
-function
-is machine and compiler dependent;
-its use is discouraged.
 .Sh HISTORY
 The
 .Fn alloca
@@ -81,3 +75,9 @@
 .\" The function appeared in 32v, pwb and pwb.2 and in 3bsd 4bsd
 .\" The first man page (or link to a man page that I can find at the
 .\" moment is 4.3...
+.Sh BUGS
+The
+.Fn alloca
+function
+is machine and compiler dependent;
+its use is discouraged.

==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#20 (text+ko) ====

@@ -39,7 +39,7 @@
  * SUCH DAMAGE.
  *
  *	from:	@(#)pmap.c	7.7 (Berkeley)	5/12/91
- * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.416 2003/06/23 06:10:52 alc Exp $
+ * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.417 2003/06/26 01:04:31 peter Exp $
  */
 /*-
  * Copyright (c) 2003 Networks Associates Technology, Inc.
@@ -492,7 +492,7 @@
 	va = virtual_avail;
 	pte = vtopte(va);
 
-        /*
+	/*
 	 * CMAP1 is only used for the memory test.
 	 */
 	SYSMAP(caddr_t, CMAP1, CADDR1, 1)
@@ -2900,7 +2900,7 @@
 	pt_entry_t *pte;
 
 	/* If we gave a direct map region in pmap_mapdev, do nothing */
-        if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS)
+	if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS)
 		return;
 	base = va & PG_FRAME;
 	offset = va & PAGE_MASK;

==== //depot/projects/hammer/sys/dev/ips/ips.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ips/ips.c,v 1.1 2003/05/11 06:36:49 scottl Exp $
+ * $FreeBSD: src/sys/dev/ips/ips.c,v 1.2 2003/06/26 00:03:58 scottl Exp $
  */
 
 
@@ -322,6 +322,7 @@
 /* check card and initialize it */
 int ips_adapter_init(ips_softc_t *sc)
 {
+        int i;
         DEVICE_PRINTF(1,sc->dev, "initializing\n");
         if (bus_dma_tag_create(	/* parent    */	sc->adapter_dmatag,
 				/* alignemnt */	1,
@@ -359,13 +360,18 @@
            can handle */
 	sc->max_cmds = 1;
 	ips_cmdqueue_init(sc);
+	callout_handle_init(&sc->timer);
 
 	if(sc->ips_adapter_reinit(sc, 0))
 		goto error;
 
 	mtx_init(&sc->cmd_mtx, "ips command mutex", NULL, MTX_DEF);
-	if(ips_get_adapter_info(sc) || ips_get_drive_info(sc)){
-		device_printf(sc->dev, "failed to get configuration data from device\n");
+	if ((i = ips_get_adapter_info(sc)) != 0) {
+		device_printf(sc->dev, "failed to get adapter configuration data from device (%d)\n", i);
+		goto error;
+	}
+ 	if ((i = ips_get_drive_info(sc)) != 0) {
+		device_printf(sc->dev, "failed to get drive configuration data from device (%d)\n", i);
 		goto error;
 	}
 	ips_update_nvram(sc); /* no error check as failure doesn't matter */

==== //depot/projects/hammer/sys/dev/ips/ips.h#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ips/ips.h,v 1.1 2003/05/11 06:36:49 scottl Exp $
+ * $FreeBSD: src/sys/dev/ips/ips.h,v 1.2 2003/06/26 00:03:59 scottl Exp $
  */
 
 
@@ -343,7 +343,8 @@
 typedef struct ips_softc{
         struct resource *       iores;
         struct resource *       irqres;
-	int			state;
+        int                     configured;
+        int                     state;
         int                     iotype;
         int                     rid;
         int                     irqrid;

==== //depot/projects/hammer/sys/dev/ips/ips_commands.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ips/ips_commands.c,v 1.1 2003/05/11 06:36:49 scottl Exp $
+ * $FreeBSD: src/sys/dev/ips/ips_commands.c,v 1.2 2003/06/26 00:03:59 scottl Exp $
  */
 
 
@@ -266,7 +266,7 @@
 {
 	int error = 0;
 	ips_cmd_status_t *status;
-	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT);
+	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT|M_ZERO);
 	if(!status)
 		return ENOMEM;
 	if(ips_get_free_cmd(sc, ips_send_adapter_info_cmd, status, 
@@ -275,7 +275,7 @@
 		free(status, M_DEVBUF);
 		return ENXIO;
 	}
-	if(COMMAND_ERROR(status)){
+	if (COMMAND_ERROR(status)){
 		error = ENXIO;
 	}
 	free(status, M_DEVBUF);
@@ -372,7 +372,7 @@
 {
 	int error = 0;
 	ips_cmd_status_t *status;
-	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT);
+	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT|M_ZERO);
 	if(!status)
 		return ENOMEM;
 	if(ips_get_free_cmd(sc, ips_send_drive_info_cmd, status, 
@@ -415,7 +415,7 @@
 int ips_flush_cache(ips_softc_t *sc)
 {
 	ips_cmd_status_t *status;
-	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT);
+	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT|M_ZERO);
 	if(!status)
 		return ENOMEM;
 	device_printf(sc->dev, "flushing cache\n");
@@ -534,7 +534,7 @@
 int ips_update_nvram(ips_softc_t *sc)
 {
 	ips_cmd_status_t *status;
-	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT);
+	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT|M_ZERO);
 	if(!status)
 		return ENOMEM;
 	if(ips_get_free_cmd(sc, ips_read_nvram, status, IPS_NOWAIT_FLAG)){
@@ -602,7 +602,7 @@
 int ips_clear_adapter(ips_softc_t *sc)
 {
 	ips_cmd_status_t *status;
-	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT);
+	status = malloc(sizeof(ips_cmd_status_t), M_DEVBUF, M_NOWAIT|M_ZERO);
 	if(!status)
 		return ENOMEM;
 	device_printf(sc->dev, "syncing config\n");

==== //depot/projects/hammer/sys/dev/ips/ips_pci.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ips/ips_pci.c,v 1.1 2003/05/11 06:36:49 scottl Exp $
+ * $FreeBSD: src/sys/dev/ips/ips_pci.c,v 1.2 2003/06/26 00:03:59 scottl Exp $
  */
 
 
@@ -50,8 +50,17 @@
 static int ips_pci_attach(device_t dev)
 {
         u_int32_t command;
+        int tval;
         ips_softc_t *sc;
 
+
+	tval = 0;
+	if (resource_int_value(device_get_name(dev), device_get_unit(dev),
+	    "disable", &tval) == 0 && tval) {
+		device_printf(dev, "device is disabled\n");
+		/* but return 0 so the !$)$)*!$*) unit isn't reused */
+		return (0);
+	}
         DEVICE_PRINTF(1, dev, "in attach.\n");
         sc = (ips_softc_t *)device_get_softc(dev);
         if(!sc){
@@ -125,6 +134,7 @@
         }
 	if(ips_adapter_init(sc))
 		goto error;
+        sc->configured = 1;
         return 0;
 error:
 	ips_pci_free(sc);
@@ -141,6 +151,7 @@
                bus_release_resource(sc->dev, SYS_RES_IRQ, sc->irqrid, sc->irqres);
         if(sc->iores)
                 bus_release_resource(sc->dev, sc->iotype, sc->rid, sc->iores);
+	sc->configured = 0;
 	return 0;
 }
 
@@ -149,18 +160,23 @@
         ips_softc_t *sc;
         DEVICE_PRINTF(1, dev, "detaching ServeRaid\n");
         sc = (ips_softc_t *) device_get_softc(dev);
-	ips_flush_cache(sc);
-	if(ips_adapter_free(sc))
-		return EBUSY;
-        ips_pci_free(sc);
-	mtx_destroy(&sc->cmd_mtx);
+	if (sc->configured) {
+		sc->configured = 0;
+		ips_flush_cache(sc);
+		if(ips_adapter_free(sc))
+			return EBUSY;
+		ips_pci_free(sc);
+		mtx_destroy(&sc->cmd_mtx);
+	}
 	return 0;
 }
 
 static int ips_pci_shutdown(device_t dev)
 {
 	ips_softc_t *sc = (ips_softc_t *) device_get_softc(dev);
-	ips_flush_cache(sc);
+	if (sc->configured) {
+		ips_flush_cache(sc);
+	}
 	return 0;
 }
 

==== //depot/projects/hammer/sys/dev/sym/sym_hipd.c#7 (text+ko) ====

@@ -55,7 +55,7 @@
  * SUCH DAMAGE.
  */
 
-/* $FreeBSD: src/sys/dev/sym/sym_hipd.c,v 1.41 2003/06/14 22:17:41 njl Exp $ */
+/* $FreeBSD: src/sys/dev/sym/sym_hipd.c,v 1.42 2003/06/26 01:10:24 peter Exp $ */
 
 #define SYM_DRIVER_NAME	"sym-1.6.5-20000902"
 

==== //depot/projects/hammer/sys/dev/usb/usbdevs#12 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.126 2003/06/13 11:20:26 joe Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.127 2003/06/25 22:50:57 joe Exp $
 
 /*
  * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -267,6 +267,7 @@
 vendor COREGA		0x07aa	Corega
 vendor FREECOM		0x07ab	Freecom
 vendor MICROTECH	0x07af	Microtech
+vendor GENERALINSTMNTS	0x07b2	General Instruments (Motorola)
 vendor OLYMPUS		0x07b4	Olympus
 vendor ABOCOM		0x07b8	AboCom Systems
 vendor KEISOKUGIKEN	0x07c1	Keisokugiken
@@ -494,9 +495,11 @@
 product BTC BTC7932		0x6782	Keyboard with mouse port
 
 /* Canon, Inc. products */
-product CANON N656U		0x2206	CANOSCAN N656U
+product CANON N656U		0x2206	CanoScan N656U
+product CANON N1240U		0x220e	CanoScan N1240U
 product CANON S10		0x3041	PowerShot S10
 product CANON S100		0x3045	PowerShot S100
+product CANON S200		0x3065	PowerShot S200
 
 /* CATC products */
 product CATC NETMATE		0x000a	Netmate ethernet adapter
@@ -607,8 +610,8 @@
 product EPSON 1600		0x0107	Expression 1600 scanner
 product EPSON 1640		0x010a	Perfection 1640SU scanner
 product EPSON 1240		0x010b	Perfection 1240U / 1240Photo scanner
+product EPSON 640U		0x010c	Perfection 640U scanner
 product EPSON 1250		0x010f	Perfection 1250U / 1250Photo scanner
-product EPSON 640U		0x010c	Perfection 640U scanner
 product EPSON 1650		0x0110	Perfection 1650 scanner
 product EPSON GT9700F		0x0112	GT-9700F scanner
 product EPSON 1260		0x011d	Perfection 1260 scanner
@@ -645,6 +648,9 @@
 /* Fujitsu protducts */
 product	FUJITSU	AH_F401U	0x105b	AH-F401U Air H device
 
+/* General Instruments (Motorola) products */
+product GENERALINSTMNTS SB5100	0x5100	SURFboard SB5100 Cable modem
+
 /* Genesys Logic products */
 product	GENESYS GL650		0x0604	GL650 Hub
 product	GENESYS GL641USB	0x0700	GL641USB CompactFlash Card Reader
@@ -815,6 +821,7 @@
 product LOGITECH WMJOY		0xc281	WingMan Force joystick 
 product LOGITECH RK53		0xc501	Cordless mouse
 product LOGITECH RB6		0xc503	Cordless keyboard
+product LOGITECH MX700		0xc506	Cordless optical mouse
 product LOGITECH QUICKCAMPRO2	0xd001	QuickCam Pro
 
 /* Lucent products */
@@ -848,8 +855,9 @@
 product MICROSOFT NATURALKBD	0x000b	Natural Keyboard Elite
 product MICROSOFT DDS80		0x0014	Digital Sound System 80
 product MICROSOFT SIDEWINDER	0x001a	Sidewinder Precision Racing Wheel
+product MICROSOFT INETPRO	0x001c	Internet Keyboard Pro
 product MICROSOFT INTELLIEYE	0x0025	IntelliEye mouse
-product MICROSOFT INETPRO	0x002b	Internet Keyboard Pro
+product MICROSOFT INETPRO2	0x002b	Internet Keyboard Pro
 
 /* Microtech products */
 product MICROTECH SCSIDB25	0x0004	USB-SCSI-DB25
@@ -1039,6 +1047,7 @@
 product SHUTTLE EUSCSI_B	0x000b	eUSCSI Bridge
 product SHUTTLE EUSCSI_C	0x000c	eUSCSI Bridge
 product SHUTTLE CDRW		0x0101	CD-RW Device
+product SHUTTLE EUSBORCA	0x0325	eUSB ORCA Quad Reader
 
 /* Siemens products */
 product SIEMENS SPEEDSTREAM	0x1001	SpeedStream USB
@@ -1156,6 +1165,7 @@
 product WACOM CT0405U		0x0000	CT-0405-U Tablet
 product WACOM GRAPHIRE		0x0010	Graphire
 product WACOM INTUOSA5		0x0021	Intuos A5
+product WACOM GD0912U		0x0022	Intuos 9x12 Graphics Tablet
  
 /* Xirlink products */
 product XIRLINK PCCAM		0x8080	IBM PC Camera

==== //depot/projects/hammer/sys/dev/usb/usbdevs.h#12 (text+ko) ====

@@ -1,10 +1,10 @@
-/*	$FreeBSD: src/sys/dev/usb/usbdevs.h,v 1.135 2003/06/13 11:24:45 joe Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/usbdevs.h,v 1.136 2003/06/25 22:53:46 joe Exp $	*/
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	FreeBSD: src/sys/dev/usb/usbdevs,v 1.126 2003/06/13 11:20:26 joe Exp 
+ *	FreeBSD: src/sys/dev/usb/usbdevs,v 1.127 2003/06/25 22:50:57 joe Exp 
  */
 
 /*
@@ -274,6 +274,7 @@
 #define	USB_VENDOR_COREGA	0x07aa		/* Corega */
 #define	USB_VENDOR_FREECOM	0x07ab		/* Freecom */
 #define	USB_VENDOR_MICROTECH	0x07af		/* Microtech */
+#define	USB_VENDOR_GENERALINSTMNTS	0x07b2		/* General Instruments (Motorola) */
 #define	USB_VENDOR_OLYMPUS	0x07b4		/* Olympus */
 #define	USB_VENDOR_ABOCOM	0x07b8		/* AboCom Systems */
 #define	USB_VENDOR_KEISOKUGIKEN	0x07c1		/* Keisokugiken */
@@ -501,9 +502,11 @@
 #define	USB_PRODUCT_BTC_BTC7932	0x6782		/* Keyboard with mouse port */
 
 /* Canon, Inc. products */
-#define	USB_PRODUCT_CANON_N656U	0x2206		/* CANOSCAN N656U */
+#define	USB_PRODUCT_CANON_N656U	0x2206		/* CanoScan N656U */
+#define	USB_PRODUCT_CANON_N1240U	0x220e		/* CanoScan N1240U */
 #define	USB_PRODUCT_CANON_S10	0x3041		/* PowerShot S10 */
 #define	USB_PRODUCT_CANON_S100	0x3045		/* PowerShot S100 */
+#define	USB_PRODUCT_CANON_S200	0x3065		/* PowerShot S200 */
 
 /* CATC products */
 #define	USB_PRODUCT_CATC_NETMATE	0x000a		/* Netmate ethernet adapter */
@@ -614,8 +617,8 @@
 #define	USB_PRODUCT_EPSON_1600	0x0107		/* Expression 1600 scanner */
 #define	USB_PRODUCT_EPSON_1640	0x010a		/* Perfection 1640SU scanner */
 #define	USB_PRODUCT_EPSON_1240	0x010b		/* Perfection 1240U / 1240Photo scanner */
+#define	USB_PRODUCT_EPSON_640U	0x010c		/* Perfection 640U scanner */
 #define	USB_PRODUCT_EPSON_1250	0x010f		/* Perfection 1250U / 1250Photo scanner */
-#define	USB_PRODUCT_EPSON_640U	0x010c		/* Perfection 640U scanner */
 #define	USB_PRODUCT_EPSON_1650	0x0110		/* Perfection 1650 scanner */
 #define	USB_PRODUCT_EPSON_GT9700F	0x0112		/* GT-9700F scanner */
 #define	USB_PRODUCT_EPSON_1260	0x011d		/* Perfection 1260 scanner */
@@ -652,6 +655,9 @@
 /* Fujitsu protducts */
 #define	USB_PRODUCT_FUJITSU_AH_F401U	0x105b		/* AH-F401U Air H device */
 
+/* General Instruments (Motorola) products */
+#define	USB_PRODUCT_GENERALINSTMNTS_SB5100	0x5100		/* SURFboard SB5100 Cable modem */
+
 /* Genesys Logic products */
 #define	USB_PRODUCT_GENESYS_GL650	0x0604		/* GL650 Hub */
 #define	USB_PRODUCT_GENESYS_GL641USB	0x0700		/* GL641USB CompactFlash Card Reader */
@@ -822,6 +828,7 @@
 #define	USB_PRODUCT_LOGITECH_WMJOY	0xc281		/* WingMan Force joystick */
 #define	USB_PRODUCT_LOGITECH_RK53	0xc501		/* Cordless mouse */
 #define	USB_PRODUCT_LOGITECH_RB6	0xc503		/* Cordless keyboard */
+#define	USB_PRODUCT_LOGITECH_MX700	0xc506		/* Cordless optical mouse */
 #define	USB_PRODUCT_LOGITECH_QUICKCAMPRO2	0xd001		/* QuickCam Pro */
 
 /* Lucent products */
@@ -855,8 +862,9 @@
 #define	USB_PRODUCT_MICROSOFT_NATURALKBD	0x000b		/* Natural Keyboard Elite */
 #define	USB_PRODUCT_MICROSOFT_DDS80	0x0014		/* Digital Sound System 80 */
 #define	USB_PRODUCT_MICROSOFT_SIDEWINDER	0x001a		/* Sidewinder Precision Racing Wheel */
+#define	USB_PRODUCT_MICROSOFT_INETPRO	0x001c		/* Internet Keyboard Pro */
 #define	USB_PRODUCT_MICROSOFT_INTELLIEYE	0x0025		/* IntelliEye mouse */
-#define	USB_PRODUCT_MICROSOFT_INETPRO	0x002b		/* Internet Keyboard Pro */
+#define	USB_PRODUCT_MICROSOFT_INETPRO2	0x002b		/* Internet Keyboard Pro */
 
 /* Microtech products */
 #define	USB_PRODUCT_MICROTECH_SCSIDB25	0x0004		/* USB-SCSI-DB25 */
@@ -1046,6 +1054,7 @@
 #define	USB_PRODUCT_SHUTTLE_EUSCSI_B	0x000b		/* eUSCSI Bridge */
 #define	USB_PRODUCT_SHUTTLE_EUSCSI_C	0x000c		/* eUSCSI Bridge */
 #define	USB_PRODUCT_SHUTTLE_CDRW	0x0101		/* CD-RW Device */
+#define	USB_PRODUCT_SHUTTLE_EUSBORCA	0x0325		/* eUSB ORCA Quad Reader */
 
 /* Siemens products */
 #define	USB_PRODUCT_SIEMENS_SPEEDSTREAM	0x1001		/* SpeedStream USB */
@@ -1163,6 +1172,7 @@
 #define	USB_PRODUCT_WACOM_CT0405U	0x0000		/* CT-0405-U Tablet */
 #define	USB_PRODUCT_WACOM_GRAPHIRE	0x0010		/* Graphire */
 #define	USB_PRODUCT_WACOM_INTUOSA5	0x0021		/* Intuos A5 */
+#define	USB_PRODUCT_WACOM_GD0912U	0x0022		/* Intuos 9x12 Graphics Tablet */
  
 /* Xirlink products */
 #define	USB_PRODUCT_XIRLINK_PCCAM	0x8080		/* IBM PC Camera */

==== //depot/projects/hammer/sys/dev/usb/usbdevs_data.h#12 (text+ko) ====

@@ -1,10 +1,10 @@
-/*	$FreeBSD: src/sys/dev/usb/usbdevs_data.h,v 1.135 2003/06/13 11:24:45 joe Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/usbdevs_data.h,v 1.136 2003/06/25 22:53:46 joe Exp $	*/
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	FreeBSD: src/sys/dev/usb/usbdevs,v 1.126 2003/06/13 11:20:26 joe Exp 
+ *	FreeBSD: src/sys/dev/usb/usbdevs,v 1.127 2003/06/25 22:50:57 joe Exp 
  */
 
 /*
@@ -511,7 +511,13 @@
 	    USB_VENDOR_CANON, USB_PRODUCT_CANON_N656U,
 	    0,
 	    "Canon",
-	    "CANOSCAN N656U",
+	    "CanoScan N656U",
+	},
+	{
+	    USB_VENDOR_CANON, USB_PRODUCT_CANON_N1240U,
+	    0,
+	    "Canon",
+	    "CanoScan N1240U",
 	},
 	{
 	    USB_VENDOR_CANON, USB_PRODUCT_CANON_S10,
@@ -526,6 +532,12 @@
 	    "PowerShot S100",
 	},
 	{
+	    USB_VENDOR_CANON, USB_PRODUCT_CANON_S200,
+	    0,
+	    "Canon",
+	    "PowerShot S200",
+	},
+	{
 	    USB_VENDOR_CATC, USB_PRODUCT_CATC_NETMATE,
 	    0,
 	    "Computer Access Technology",
@@ -916,16 +928,16 @@
 	    "Perfection 1240U / 1240Photo scanner",
 	},
 	{
-	    USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1250,
+	    USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U,
 	    0,
 	    "Seiko Epson",
-	    "Perfection 1250U / 1250Photo scanner",
+	    "Perfection 640U scanner",
 	},
 	{
-	    USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U,
+	    USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1250,
 	    0,
 	    "Seiko Epson",
-	    "Perfection 640U scanner",
+	    "Perfection 1250U / 1250Photo scanner",
 	},
 	{
 	    USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1650,
@@ -1018,6 +1030,12 @@
 	    "AH-F401U Air H device",
 	},
 	{
+	    USB_VENDOR_GENERALINSTMNTS, USB_PRODUCT_GENERALINSTMNTS_SB5100,
+	    0,
+	    "General Instruments (Motorola)",
+	    "SURFboard SB5100 Cable modem",
+	},
+	{
 	    USB_VENDOR_GENESYS, USB_PRODUCT_GENESYS_GL650,
 	    0,
 	    "Genesys Logic",
@@ -1696,6 +1714,12 @@
 	    "Cordless keyboard",
 	},
 	{
+	    USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_MX700,
+	    0,
+	    "Logitech",
+	    "Cordless optical mouse",
+	},
+	{
 	    USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMPRO2,
 	    0,
 	    "Logitech",
@@ -1810,13 +1834,19 @@
 	    "Sidewinder Precision Racing Wheel",
 	},
 	{
+	    USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INETPRO,
+	    0,
+	    "Microsoft",
+	    "Internet Keyboard Pro",
+	},
+	{
 	    USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INTELLIEYE,
 	    0,
 	    "Microsoft",
 	    "IntelliEye mouse",
 	},
 	{
-	    USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INETPRO,
+	    USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INETPRO2,
 	    0,
 	    "Microsoft",
 	    "Internet Keyboard Pro",
@@ -2500,6 +2530,12 @@
 	    "CD-RW Device",
 	},
 	{
+	    USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_EUSBORCA,
+	    0,
+	    "Shuttle Technology",
+	    "eUSB ORCA Quad Reader",
+	},
+	{
 	    USB_VENDOR_SIEMENS, USB_PRODUCT_SIEMENS_SPEEDSTREAM,
 	    0,
 	    "Siemens",
@@ -2872,6 +2908,12 @@
 	    "Intuos A5",
 	},
 	{
+	    USB_VENDOR_WACOM, USB_PRODUCT_WACOM_GD0912U,
+	    0,
+	    "WACOM",
+	    "Intuos 9x12 Graphics Tablet",
+	},
+	{
 	    USB_VENDOR_XIRLINK, USB_PRODUCT_XIRLINK_PCCAM,
 	    0,
 	    "Xirlink",
@@ -4108,6 +4150,12 @@
 	    NULL,
 	},
 	{
+	    USB_VENDOR_GENERALINSTMNTS, 0,
+	    USB_KNOWNDEV_NOPROD,
+	    "General Instruments (Motorola)",
+	    NULL,
+	},
+	{
 	    USB_VENDOR_OLYMPUS, 0,
 	    USB_KNOWNDEV_NOPROD,
 	    "Olympus",

==== //depot/projects/hammer/sys/kern/kern_tc.c#8 (text+ko) ====

@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_tc.c,v 1.150 2003/06/23 20:14:08 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_tc.c,v 1.151 2003/06/25 21:23:51 imp Exp $");
 
 #include "opt_ntp.h"
 
@@ -21,6 +21,14 @@
 #include <sys/timex.h>
 
 /*
+ * a large step happens on boot.  This constant detects such 
+ * a steps.  It is relatively small so that ntp_update_second gets called
+ * enough in the typical 'missed a couple of seconds' case, but doesn't
+ * loop forever when the time step is large.
+ */
+#define LARGE_STEP	200
+
+/*
  * Implement a dummy timecounter which we can use until we get a real one
  * in the air.  This allows the console and other early stuff to use
  * time services.
@@ -344,6 +352,7 @@
 	u_int64_t scale;
 	u_int delta, ncount, ogen;
 	int i;
+	time_t t;
 
 	/*
 	 * Make the next timehands a copy of the current one, but do not
@@ -381,13 +390,28 @@
 	if (tho->th_counter->tc_poll_pps)
 		tho->th_counter->tc_poll_pps(tho->th_counter);
 
+ 	/*
+	 * Compute the UTC time, before any leapsecond adjustments, are
+	 * made.
+	 */
+	bt = th->th_offset;
+	bintime_add(&bt, &boottimebin);
+
 	/*
 	 * Deal with NTP second processing.  The for loop normally only
 	 * iterates once, but in extreme situations it might keep NTP sane
-	 * if timeouts are not run for several seconds.
+	 * if timeouts are not run for several seconds.  At boot, the
+	 * time step can be large when the TOD hardware has been read, so
+	 * on really large steps, we call ntp_update_second only once.
 	 */
-	for (i = th->th_offset.sec - tho->th_offset.sec; i > 0; i--)
-		ntp_update_second(&th->th_adjustment, &th->th_offset.sec);
+	for (i = bt.sec - tho->th_microtime.tv_sec; i > 0; i--) {
+		t = bt.sec;
+		ntp_update_second(&th->th_adjustment, &bt.sec);
+		if (bt.sec != t)
+			boottimebin.sec += bt.sec - t;
+		if (i > LARGE_STEP)
+			break;
+	}
 
 	/* Now is a good time to change timecounters. */
 	if (th->th_counter != timecounter) {
@@ -423,9 +447,6 @@
 	scale /= th->th_counter->tc_frequency;
 	th->th_scale = scale * 2;
 
-	/* Update the UTC timestamps used for the get*() functions. */
-	bt = th->th_offset;
-	bintime_add(&bt, &boottimebin);
 	bintime2timeval(&bt, &th->th_microtime);
 	bintime2timespec(&bt, &th->th_nanotime);
 

==== //depot/projects/hammer/usr.bin/locale/Makefile#3 (text+ko) ====

@@ -1,6 +1,7 @@
-# $FreeBSD: src/usr.bin/locale/Makefile,v 1.3 2003/06/22 08:24:53 phantom Exp $
+# $FreeBSD: src/usr.bin/locale/Makefile,v 1.4 2003/06/25 23:05:11 phantom Exp $
 
 PROG = locale
+CFLAGS += -I${.CURDIR}/../../lib/libc/locale
 WARNS ?= 1
 
 .include <bsd.prog.mk>

==== //depot/projects/hammer/usr.bin/locale/locale.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/usr.bin/locale/locale.c,v 1.5 2003/06/22 08:34:27 phantom Exp $
+ * $FreeBSD: src/usr.bin/locale/locale.c,v 1.7 2003/06/25 23:05:11 phantom Exp $
  */
 
 /*
@@ -40,12 +40,12 @@
 #include <err.h>
 #include <locale.h>
 #include <langinfo.h>
-#include <rune.h>		/* for _PATH_LOCALE */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stringlist.h>
 #include <unistd.h>
+#include "setlocale.h"
 
 /* Local prototypes */
 void	init_locales_list(void);
@@ -320,7 +320,6 @@
 {
 	DIR *dirp;
 	struct dirent *dp;
-	const char *dirname;
 
 	/* why call this function twice ? */
 	if (locales != NULL)
@@ -332,14 +331,13 @@
 		err(1, "could not allocate memory");
 
 	/* get actual locales directory name */
-	dirname = getenv("PATH_LOCALE");
-	if (dirname == NULL)
-		dirname = _PATH_LOCALE;
+	if (__detect_path_locale() != 0)
+		err(1, "unable to find locales storage");
 
 	/* open locales directory */
-	dirp = opendir(dirname);
+	dirp = opendir(_PathLocale);
 	if (dirp == NULL)
-		err(1, "could not open directory '%s'", dirname);
+		err(1, "could not open directory '%s'", _PathLocale);
 
 	/* scan directory and store its contents except "." and ".." */
 	while ((dp = readdir(dirp)) != NULL) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306260123.h5Q1N43l027348>