PERFORCE change 38202 for review

Marcel Moolenaar marcel at FreeBSD.org
Wed Sep 17 15:50:25 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=38202

Change 38202 by marcel at marcel_nfs on 2003/09/17 15:42:29

	IFC @38201

Affected files ...

.. //depot/projects/ia64/contrib/sendmail/src/parseaddr.c#11 integrate
.. //depot/projects/ia64/crypto/openssh/deattack.c#3 integrate
.. //depot/projects/ia64/crypto/openssh/misc.c#5 integrate
.. //depot/projects/ia64/crypto/openssh/session.c#17 integrate
.. //depot/projects/ia64/crypto/openssh/ssh-agent.c#8 integrate
.. //depot/projects/ia64/crypto/openssh/version.h#12 integrate
.. //depot/projects/ia64/sbin/ifconfig/ifieee80211.c#5 integrate
.. //depot/projects/ia64/sys/crypto/rijndael/rijndael-api-fst.c#5 integrate
.. //depot/projects/ia64/sys/dev/acpica/acpi_pci.c#6 integrate
.. //depot/projects/ia64/sys/dev/pci/pci.c#34 integrate
.. //depot/projects/ia64/sys/dev/pci/pci_private.h#9 integrate
.. //depot/projects/ia64/sys/dev/sio/sio.c#52 integrate
.. //depot/projects/ia64/sys/i386/acpica/acpi_machdep.c#13 integrate
.. //depot/projects/ia64/sys/isa/fd.c#22 integrate
.. //depot/projects/ia64/sys/net/bridge.c#21 integrate
.. //depot/projects/ia64/sys/netinet/ip_fw2.c#27 integrate
.. //depot/projects/ia64/sys/netinet/raw_ip.c#28 integrate
.. //depot/projects/ia64/sys/sys/param.h#42 integrate
.. //depot/projects/ia64/sys/vm/vm_object.c#67 integrate
.. //depot/projects/ia64/sys/vm/vm_pageout.c#46 integrate
.. //depot/projects/ia64/usr.bin/window/main.c#3 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/dmenu.c#3 integrate

Differences ...

==== //depot/projects/ia64/contrib/sendmail/src/parseaddr.c#11 (text+ko) ====

@@ -700,7 +700,11 @@
 						addr[MAXNAME] = '\0';
 	returnnull:
 					if (delimptr != NULL)
+					{
+						if (p > addr)
+							p--;
 						*delimptr = p;
+					}
 					CurEnv->e_to = saveto;
 					return NULL;
 				}

==== //depot/projects/ia64/crypto/openssh/deattack.c#3 (text+ko) ====

@@ -100,12 +100,12 @@
 
 	if (h == NULL) {
 		debug("Installing crc compensation attack detector.");
+		h = (u_int16_t *) xmalloc(l * HASH_ENTRYSIZE);
 		n = l;
-		h = (u_int16_t *) xmalloc(n * HASH_ENTRYSIZE);
 	} else {
 		if (l > n) {
+			h = (u_int16_t *) xrealloc(h, l * HASH_ENTRYSIZE);
 			n = l;
-			h = (u_int16_t *) xrealloc(h, n * HASH_ENTRYSIZE);
 		}
 	}
 

==== //depot/projects/ia64/crypto/openssh/misc.c#5 (text+ko) ====

@@ -308,18 +308,21 @@
 {
 	va_list ap;
 	char buf[1024];
+	int nalloc;
 
 	va_start(ap, fmt);
 	vsnprintf(buf, sizeof(buf), fmt, ap);
 	va_end(ap);
 
+	nalloc = args->nalloc;
 	if (args->list == NULL) {
-		args->nalloc = 32;
+		nalloc = 32;
 		args->num = 0;
-	} else if (args->num+2 >= args->nalloc)
-		args->nalloc *= 2;
+	} else if (args->num+2 >= nalloc)
+		nalloc *= 2;
 
-	args->list = xrealloc(args->list, args->nalloc * sizeof(char *));
+	args->list = xrealloc(args->list, nalloc * sizeof(char *));
+	args->nalloc = nalloc;
 	args->list[args->num++] = xstrdup(buf);
 	args->list[args->num] = NULL;
 }

==== //depot/projects/ia64/crypto/openssh/session.c#17 (text+ko) ====

@@ -34,7 +34,7 @@
 
 #include "includes.h"
 RCSID("$OpenBSD: session.c,v 1.154 2003/03/05 22:33:43 markus Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/session.c,v 1.40 2003/04/23 17:10:53 des Exp $");
+RCSID("$FreeBSD: src/crypto/openssh/session.c,v 1.41 2003/09/17 14:36:14 nectar Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -863,8 +863,9 @@
 child_set_env(char ***envp, u_int *envsizep, const char *name,
 	const char *value)
 {
+	char **env;
+	u_int envsize;
 	u_int i, namelen;
-	char **env;
 
 	/*
 	 * Find the slot where the value should be stored.  If the variable
@@ -881,12 +882,13 @@
 		xfree(env[i]);
 	} else {
 		/* New variable.  Expand if necessary. */
-		if (i >= (*envsizep) - 1) {
-			if (*envsizep >= 1000)
-				fatal("child_set_env: too many env vars,"
-				    " skipping: %.100s", name);
-			(*envsizep) += 50;
-			env = (*envp) = xrealloc(env, (*envsizep) * sizeof(char *));
+		envsize = *envsizep;
+		if (i >= envsize - 1) {
+			if (envsize >= 1000)
+				fatal("child_set_env: too many env vars");
+			envsize += 50;
+			env = (*envp) = xrealloc(env, envsize * sizeof(char *));
+			*envsizep = envsize;
 		}
 		/* Need to set the NULL pointer at end of array beyond the new slot. */
 		env[i + 1] = NULL;

==== //depot/projects/ia64/crypto/openssh/ssh-agent.c#8 (text+ko) ====

@@ -36,7 +36,7 @@
 #include "includes.h"
 #include "openbsd-compat/sys-queue.h"
 RCSID("$OpenBSD: ssh-agent.c,v 1.108 2003/03/13 11:44:50 markus Exp $");
-RCSID("$FreeBSD: src/crypto/openssh/ssh-agent.c,v 1.18 2003/04/23 17:10:53 des Exp $");
+RCSID("$FreeBSD: src/crypto/openssh/ssh-agent.c,v 1.19 2003/09/17 14:36:14 nectar Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/md5.h>
@@ -768,7 +768,7 @@
 static void
 new_socket(sock_type type, int fd)
 {
-	u_int i, old_alloc;
+	u_int i, old_alloc, new_alloc;
 
 	if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0)
 		error("fcntl O_NONBLOCK: %s", strerror(errno));
@@ -779,25 +779,26 @@
 	for (i = 0; i < sockets_alloc; i++)
 		if (sockets[i].type == AUTH_UNUSED) {
 			sockets[i].fd = fd;
-			sockets[i].type = type;
 			buffer_init(&sockets[i].input);
 			buffer_init(&sockets[i].output);
 			buffer_init(&sockets[i].request);
+			sockets[i].type = type;
 			return;
 		}
 	old_alloc = sockets_alloc;
-	sockets_alloc += 10;
+	new_alloc = sockets_alloc + 10;
 	if (sockets)
-		sockets = xrealloc(sockets, sockets_alloc * sizeof(sockets[0]));
+		sockets = xrealloc(sockets, new_alloc * sizeof(sockets[0]));
 	else
-		sockets = xmalloc(sockets_alloc * sizeof(sockets[0]));
-	for (i = old_alloc; i < sockets_alloc; i++)
+		sockets = xmalloc(new_alloc * sizeof(sockets[0]));
+	for (i = old_alloc; i < new_alloc; i++)
 		sockets[i].type = AUTH_UNUSED;
-	sockets[old_alloc].type = type;
+	sockets_alloc = new_alloc;
 	sockets[old_alloc].fd = fd;
 	buffer_init(&sockets[old_alloc].input);
 	buffer_init(&sockets[old_alloc].output);
 	buffer_init(&sockets[old_alloc].request);
+	sockets[old_alloc].type = type;
 }
 
 static int

==== //depot/projects/ia64/crypto/openssh/version.h#12 (text+ko) ====

@@ -1,11 +1,11 @@
 /* $OpenBSD: version.h,v 1.37 2003/04/01 10:56:46 markus Exp $ */
-/* $FreeBSD: src/crypto/openssh/version.h,v 1.21 2003/09/16 14:31:46 nectar Exp $ */
+/* $FreeBSD: src/crypto/openssh/version.h,v 1.22 2003/09/17 14:36:14 nectar Exp $ */
 
 #ifndef SSH_VERSION
 
 #define SSH_VERSION             (ssh_version_get())
 #define SSH_VERSION_BASE        "OpenSSH_3.6.1p1"
-#define SSH_VERSION_ADDENDUM    "FreeBSD-20030916"
+#define SSH_VERSION_ADDENDUM    "FreeBSD-20030917"
 
 const char *ssh_version_get(void);
 void ssh_version_set_addendum(const char *add);

==== //depot/projects/ia64/sbin/ifconfig/ifieee80211.c#5 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.6 2003/06/28 06:23:40 sam Exp $
+ * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.7 2003/09/17 19:27:43 sam Exp $
  */
 
 /*-
@@ -76,6 +76,7 @@
 #include <net/if_types.h>
 #include <net/route.h>
 #include <net80211/ieee80211.h>
+#include <net80211/ieee80211_crypto.h>
 #include <net80211/ieee80211_ioctl.h>
 
 #include <ctype.h>
@@ -229,7 +230,7 @@
 {
 	int		key = 0;
 	int		len;
-	u_int8_t	data[14];
+	u_int8_t	data[IEEE80211_KEYBUF_SIZE];
 
 	if (isdigit(val[0]) && val[1] == ':') {
 		key = atoi(val)-1;
@@ -253,7 +254,7 @@
 {
 	int		txkey;
 	int		i, len;
-	u_int8_t	data[14];
+	u_int8_t	data[IEEE80211_KEYBUF_SIZE];
 
 	set80211(s, IEEE80211_IOC_WEP, IEEE80211_WEP_ON, 0, NULL);
 
@@ -427,10 +428,12 @@
 				warn("WEP support, but can get keys!");
 				goto end;
 			}
-			if (ireq.i_len == 0 || ireq.i_len > 13)
+			if (ireq.i_len == 0 ||
+			    ireq.i_len > IEEE80211_KEYBUF_SIZE)
 				continue;
 			printf("%cwepkey %d:%s", spacer, i+1,
-			    ireq.i_len <= 5 ? "64-bit" : "128-bit");
+			    ireq.i_len <= 5 ? "40-bit" :
+			    ireq.i_len <= 13 ? "104-bit" : "128-bit");
 			if (spacer == '\t')
 				spacer = ' ';
 		}

==== //depot/projects/ia64/sys/crypto/rijndael/rijndael-api-fst.c#5 (text+ko) ====

@@ -16,7 +16,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/crypto/rijndael/rijndael-api-fst.c,v 1.5 2003/06/10 21:43:49 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/crypto/rijndael/rijndael-api-fst.c,v 1.6 2003/09/17 08:51:43 ume Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -225,7 +225,7 @@
 			outBuffer += 16;
 		}
 		padLen = 16 - (inputOctets - 16*numBlocks);
-		if (padLen > 0 && padLen <= 16)
+		if (padLen <= 0 || padLen > 16)
 			return BAD_CIPHER_STATE;
 		bcopy(input, block, 16 - padLen);
 		for (cp = block + 16 - padLen; cp < block + 16; cp++)

==== //depot/projects/ia64/sys/dev/acpica/acpi_pci.c#6 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.5 2003/08/24 17:48:01 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.6 2003/09/17 08:32:44 iwasaki Exp $");
 
 #include "opt_bus.h"
 
@@ -79,7 +79,7 @@
 	DEVMETHOD(device_attach,	acpi_pci_attach),
 	DEVMETHOD(device_shutdown,	bus_generic_shutdown),
 	DEVMETHOD(device_suspend,	bus_generic_suspend),
-	DEVMETHOD(device_resume,	bus_generic_resume),
+	DEVMETHOD(device_resume,	pci_resume),
 
 	/* Bus interface */
 	DEVMETHOD(bus_print_child,	pci_print_child),

==== //depot/projects/ia64/sys/dev/pci/pci.c#34 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/pci/pci.c,v 1.232 2003/09/14 19:30:00 scottl Exp $
+ * $FreeBSD: src/sys/dev/pci/pci.c,v 1.233 2003/09/17 08:32:44 iwasaki Exp $
  *
  */
 
@@ -89,7 +89,7 @@
 	DEVMETHOD(device_attach,	pci_attach),
 	DEVMETHOD(device_shutdown,	bus_generic_shutdown),
 	DEVMETHOD(device_suspend,	bus_generic_suspend),
-	DEVMETHOD(device_resume,	bus_generic_resume),
+	DEVMETHOD(device_resume,	pci_resume),
 
 	/* Bus interface */
 	DEVMETHOD(bus_print_child,	pci_print_child),
@@ -1509,3 +1509,35 @@
 
 	return (0);
 }
+
+int
+pci_resume(device_t dev)
+{
+	int			numdevs;
+	int			i;
+	device_t		*children;
+	device_t		child;
+	struct pci_devinfo	*dinfo;
+	pcicfgregs		*cfg;
+
+	device_get_children(dev, &children, &numdevs);
+
+	for (i = 0; i < numdevs; i++) {
+		child = children[i];
+
+		dinfo = device_get_ivars(child);
+		cfg = &dinfo->cfg;
+		if (cfg->intpin > 0 && PCI_INTERRUPT_VALID(cfg->intline)) {
+			cfg->intline = PCI_ASSIGN_INTERRUPT(dev, child);
+			if (PCI_INTERRUPT_VALID(cfg->intline)) {
+				pci_write_config(child, PCIR_INTLINE,
+				    cfg->intline, 1);
+			}
+		}
+	}
+
+	free(children, M_TEMP);
+
+	return (bus_generic_resume(dev));
+}
+

==== //depot/projects/ia64/sys/dev/pci/pci_private.h#9 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.10 2003/08/22 03:11:53 imp Exp $
+ * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.11 2003/09/17 08:32:44 iwasaki Exp $
  *
  */
 
@@ -73,4 +73,5 @@
 int		pci_child_pnpinfo_str_method(device_t cbdev, device_t child,
 		    char *buf, size_t buflen);
 int		pci_assign_interrupt_method(device_t dev, device_t child);
+int		pci_resume(device_t dev);
 #endif /* _PCI_PRIVATE_H_ */

==== //depot/projects/ia64/sys/dev/sio/sio.c#52 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sio/sio.c,v 1.405 2003/09/15 13:49:18 bde Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sio/sio.c,v 1.408 2003/09/17 17:26:00 bde Exp $");
 
 #include "opt_comconsole.h"
 #include "opt_compat.h"
@@ -113,21 +113,20 @@
 #define	COM_ISMULTIPORT(flags)	(0)
 #endif /* COM_MULTIPORT */
 
+#define	COM_C_IIR_TXRDYBUG	0x80000
 #define	COM_CONSOLE(flags)	((flags) & 0x10)
+#define	COM_DEBUGGER(flags)	((flags) & 0x80)
+#define	COM_FIFOSIZE(flags)	(((flags) & 0xff000000) >> 24)
 #define	COM_FORCECONSOLE(flags)	((flags) & 0x20)
+#define	COM_IIR_TXRDYBUG(flags)	((flags) & COM_C_IIR_TXRDYBUG)
 #define	COM_LLCONSOLE(flags)	((flags) & 0x40)
-#define	COM_DEBUGGER(flags)	((flags) & 0x80)
 #define	COM_LOSESOUTINTS(flags)	((flags) & 0x08)
-#define	COM_NOFIFO(flags)		((flags) & 0x02)
+#define	COM_NOFIFO(flags)	((flags) & 0x02)
+#define	COM_NOPROBE(flags)	((flags) & 0x40000)
+#define	COM_NOSCR(flags)	((flags) & 0x100000)
 #define	COM_PPSCTS(flags)	((flags) & 0x10000)
-#define COM_ST16650A(flags)	((flags) & 0x20000)
-#define COM_C_NOPROBE		(0x40000)
-#define COM_NOPROBE(flags)	((flags) & COM_C_NOPROBE)
-#define COM_C_IIR_TXRDYBUG	(0x80000)
-#define COM_IIR_TXRDYBUG(flags)	((flags) & COM_C_IIR_TXRDYBUG)
-#define COM_NOSCR(flags)	((flags) & 0x100000)
+#define	COM_ST16650A(flags)	((flags) & 0x20000)
 #define	COM_TI16754(flags)	((flags) & 0x200000)
-#define	COM_FIFOSIZE(flags)	(((flags) & 0xff000000) >> 24)
 
 #define	sio_getreg(com, off) \
 	(bus_space_read_1((com)->bst, (com)->bsh, (off)))
@@ -196,7 +195,6 @@
 	u_char	extra_state;	/* more flag bits, separate for order trick */
 	u_char	fifo_image;	/* copy of value written to FIFO */
 	bool_t	hasfifo;	/* nonzero for 16550 UARTs */
-	bool_t	st16650a;	/* Is a Startech 16650A or RTS/CTS compat */
 	bool_t	loses_outints;	/* nonzero if device loses output interrupts */
 	u_char	mcr_image;	/* copy of value written to MCR */
 #ifdef COM_MULTIPORT
@@ -206,6 +204,7 @@
 	bool_t  gone;		/* hardware disappeared */
 	bool_t	poll;		/* nonzero if polling is required */
 	bool_t	poll_output;	/* nonzero if polling for output is required */
+	bool_t	st16650a;	/* nonzero if Startech 16650A compatible */
 	int	unit;		/* unit	number */
 	int	dtr_wait;	/* time to hold DTR down on close (* 1/hz) */
 	u_int	tx_fifo_size;
@@ -450,7 +449,7 @@
 		device_printf(dev, "NULL com in siounload\n");
 		return (0);
 	}
-	com->gone = 1;
+	com->gone = TRUE;
 	for (i = 0 ; i < 6; i++)
 		destroy_dev(com->devs[i]);
 	if (com->irqres) {
@@ -1023,7 +1022,6 @@
 	}
 	sio_setreg(com, com_fifo, FIFO_ENABLE | FIFO_RX_HIGH);
 	DELAY(100);
-	com->st16650a = 0;
 	switch (inb(com->int_id_port) & IIR_FIFO_MASK) {
 	case FIFO_RX_LOW:
 		printf(" 16450");
@@ -1037,40 +1035,40 @@
 	case FIFO_RX_HIGH:
 		if (COM_NOFIFO(flags)) {
 			printf(" 16550A fifo disabled");
-		} else {
-			com->hasfifo = TRUE;
-			if (COM_ST16650A(flags)) {
-				com->st16650a = 1;
-				com->tx_fifo_size = 32;
-				printf(" ST16650A");
-			} else if (COM_TI16754(flags)) {
-				com->tx_fifo_size = 64;
-				printf(" TI16754");
-			} else {
-				com->tx_fifo_size = COM_FIFOSIZE(flags);
-				printf(" 16550A");
-			}
+			break;
+		}
+		com->hasfifo = TRUE;
+		if (COM_ST16650A(flags)) {
+			printf(" ST16650A");
+			com->st16650a = TRUE;
+			com->tx_fifo_size = 32;
+			break;
+		}
+		if (COM_TI16754(flags)) {
+			printf(" TI16754");
+			com->tx_fifo_size = 64;
+			break;
 		}
+		printf(" 16550A");
 #ifdef COM_ESP
 		for (espp = likely_esp_ports; *espp != 0; espp++)
 			if (espattach(com, *espp)) {
 				com->tx_fifo_size = 1024;
 				break;
 			}
+		if (com->esp != NULL)
+			break;
 #endif
-		if (!com->st16650a && !COM_TI16754(flags)) {
-			if (!com->tx_fifo_size)
-				com->tx_fifo_size = 16;
-			else
-				printf(" lookalike with %d bytes FIFO",
-				    com->tx_fifo_size);
-		}
-
+		com->tx_fifo_size = COM_FIFOSIZE(flags);
+		if (com->tx_fifo_size == 0)
+			com->tx_fifo_size = 16;
+		else
+			printf(" lookalike with %u bytes FIFO",
+			       com->tx_fifo_size);
 		break;
 	}
-	
 #ifdef COM_ESP
-	if (com->esp) {
+	if (com->esp != NULL) {
 		/*
 		 * Set 16550 compatibility mode.
 		 * We don't use the ESP_MODE_SCALE bit to increase the
@@ -2205,6 +2203,7 @@
 	u_int		divisor;
 	u_char		dlbh;
 	u_char		dlbl;
+	u_char		efr_flowbits;
 	int		s;
 	int		unit;
 
@@ -2309,18 +2308,13 @@
 			sio_setreg(com, com_dlbh, dlbh);
 	}
 
-	sio_setreg(com, com_cfcr, com->cfcr_image = cfcr);
-
 	if (!(tp->t_state & TS_TTSTOP))
 		com->state |= CS_TTGO;
+	efr_flowbits = 0;
 
 	if (cflag & CRTS_IFLOW) {
-		if (com->st16650a) {
-			sio_setreg(com, com_cfcr, 0xbf);
-			sio_setreg(com, com_fifo,
-				   sio_getreg(com, com_fifo) | 0x40);
-		}
 		com->state |= CS_RTS_IFLOW;
+		efr_flowbits |= EFR_AUTORTS;
 		/*
 		 * If CS_RTS_IFLOW just changed from off to on, the change
 		 * needs to be propagated to MCR_RTS.  This isn't urgent,
@@ -2334,14 +2328,8 @@
 		 * on here, since comstart() won't do it later.
 		 */
 		outb(com->modem_ctl_port, com->mcr_image |= MCR_RTS);
-		if (com->st16650a) {
-			sio_setreg(com, com_cfcr, 0xbf);
-			sio_setreg(com, com_fifo,
-				   sio_getreg(com, com_fifo) & ~0x40);
-		}
 	}
 
-
 	/*
 	 * Set up state to handle output flow control.
 	 * XXX - worth handling MDMBUF (DCD) flow control at the lowest level?
@@ -2351,22 +2339,18 @@
 	com->state &= ~CS_CTS_OFLOW;
 	if (cflag & CCTS_OFLOW) {
 		com->state |= CS_CTS_OFLOW;
+		efr_flowbits |= EFR_AUTOCTS;
 		if (!(com->last_modem_status & MSR_CTS))
 			com->state &= ~CS_ODEVREADY;
-		if (com->st16650a) {
-			sio_setreg(com, com_cfcr, 0xbf);
-			sio_setreg(com, com_fifo,
-				   sio_getreg(com, com_fifo) | 0x80);
-		}
-	} else {
-		if (com->st16650a) {
-			sio_setreg(com, com_cfcr, 0xbf);
-			sio_setreg(com, com_fifo,
-				   sio_getreg(com, com_fifo) & ~0x80);
-		}
 	}
 
-	sio_setreg(com, com_cfcr, com->cfcr_image);
+	if (com->st16650a) {
+		sio_setreg(com, com_lcr, LCR_EFR_ENABLE);
+		sio_setreg(com, com_efr,
+			   (sio_getreg(com, com_efr)
+			    & ~(EFR_AUTOCTS | EFR_AUTORTS)) | efr_flowbits);
+	}
+	sio_setreg(com, com_cfcr, com->cfcr_image = cfcr);
 
 	/* XXX shouldn't call functions while intrs are disabled. */
 	disc_optim(tp, t, com);
@@ -3173,7 +3157,6 @@
 	return (c);
 }
 
-
 static int
 siocngetc(struct consdev *cd)
 {

==== //depot/projects/ia64/sys/i386/acpica/acpi_machdep.c#13 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/acpica/acpi_machdep.c,v 1.12 2003/09/10 05:29:30 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/acpica/acpi_machdep.c,v 1.13 2003/09/17 08:47:39 iwasaki Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -98,6 +98,15 @@
 	if (battp->state & ACPI_BATT_STAT_CHARGING)
 		state = 3;		/* charging */
 
+	/* If still unknown, determine it based on the battery capacity. */
+	if (state == 0xff) {
+		if (battp->cap >= 50) {
+			state = 0;	/* high */
+		} else {
+			state = 1;	/* low */
+		}
+	}
+
 	return (state);
 }
 

==== //depot/projects/ia64/sys/isa/fd.c#22 (text+ko) ====

@@ -53,7 +53,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/isa/fd.c,v 1.258 2003/09/11 19:27:24 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/isa/fd.c,v 1.260 2003/09/17 07:40:00 phk Exp $");
 
 #include "opt_fdc.h"
 #include "card.h"
@@ -404,10 +404,10 @@
 static int fd_in(struct fdc_data *, int *);
 static int out_fdc(struct fdc_data *, int);
 /*
- * The open function is named Fdopen() to avoid confusion with fdopen()
+ * The open function is named fdopen() to avoid confusion with fdopen()
  * in fd(4).  The difference is now only meaningful for debuggers.
  */
-static	d_open_t	Fdopen;
+static	d_open_t	fdopen;
 static	d_close_t	fdclose;
 static	d_strategy_t	fdstrategy;
 static void fdstart(struct fdc_data *);
@@ -483,7 +483,7 @@
 
 #define CDEV_MAJOR 9
 static struct cdevsw fd_cdevsw = {
-	.d_open =	Fdopen,
+	.d_open =	fdopen,
 	.d_close =	fdclose,
 	.d_read =	physread,
 	.d_write =	physwrite,
@@ -1171,6 +1171,7 @@
 						UID_ROOT, GID_OPERATOR, 0640,
 						name);
 				fd->clonedevs[i] = *dev;
+				fd->clonedevs[i]->si_drv1 = fd;
 				return;
 			}
 	}
@@ -1336,6 +1337,7 @@
 #endif
 	fd->masterdev = make_dev(&fd_cdevsw, fd->fdu << 6,
 				 UID_ROOT, GID_OPERATOR, 0640, "fd%d", fd->fdu);
+	fd->masterdev->si_drv1 = fd;
 #ifdef GONE_IN_5
 	{
 	int i;
@@ -1560,15 +1562,15 @@
  * auxiliary functions).
  */
 static int
-Fdopen(dev_t dev, int flags, int mode, struct thread *td)
+fdopen(dev_t dev, int flags, int mode, struct thread *td)
 {
- 	fdu_t fdu = FDUNIT(minor(dev));
 	int type = FDTYPE(minor(dev));
 	fd_p	fd;
 	fdc_p	fdc;
  	int rv, unitattn, dflags;
 
-	if ((fd = devclass_get_softc(fd_devclass, fdu)) == 0)
+	fd = dev->si_drv1;
+	if (fd == NULL)
 		return (ENXIO);
 	fdc = fd->fdc;
 	if ((fdc == NULL) || (fd->type == FDT_NONE))
@@ -1664,10 +1666,9 @@
 static int
 fdclose(dev_t dev, int flags, int mode, struct thread *td)
 {
- 	fdu_t fdu = FDUNIT(minor(dev));
 	struct fd_data *fd;
 
-	fd = devclass_get_softc(fd_devclass, fdu);
+	fd = dev->si_drv1;
 	fd->flags &= ~(FD_OPEN | FD_NONBLOCK);
 	fd->options &= ~(FDOPT_NORETRY | FDOPT_NOERRLOG | FDOPT_NOERROR);
 
@@ -1685,8 +1686,8 @@
 	size_t	fdblk;
 
  	fdu = FDUNIT(minor(bp->bio_dev));
-	fd = devclass_get_softc(fd_devclass, fdu);
-	if (fd == 0)
+	fd = bp->bio_dev->si_drv1;
+	if (fd == NULL)
 		panic("fdstrategy: buf for nonexistent device (%#lx, %#lx)",
 		      (u_long)major(bp->bio_dev), (u_long)minor(bp->bio_dev));
 	fdc = fd->fdc;
@@ -1883,7 +1884,7 @@
 	int i, n, oopts, rv;
 
  	fdu = FDUNIT(minor(dev));
-	fd = devclass_get_softc(fd_devclass, fdu);
+	fd = dev->si_drv1;
 
 	switch (fd->type) {
 	default:
@@ -2010,7 +2011,7 @@
  		return (0);
 	}
 	fdu = FDUNIT(minor(bp->bio_dev));
-	fd = devclass_get_softc(fd_devclass, fdu);
+	fd = bp->bio_dev->si_drv1;
 	fdblk = 128 << fd->ft->secsize;
 	if (fdc->fd && (fd != fdc->fd))
 		device_printf(fd->dev, "confused fd pointers\n");
@@ -2513,7 +2514,7 @@
 
 	/* XXX shouldn't this be cached somewhere?  */
 	fdu = FDUNIT(minor(bp->bio_dev));
-	fd = devclass_get_softc(fd_devclass, fdu);
+	fd = bp->bio_dev->si_drv1;
 	if (fd->options & FDOPT_NORETRY)
 		goto fail;
 
@@ -2584,7 +2585,7 @@
 	int error;
 
  	fdu = FDUNIT(minor(dev));
-	fd = devclass_get_softc(fd_devclass, fdu);
+	fd = dev->si_drv1;
 	fdblk = 128 << fd->ft->secsize;
 	finfo = (struct fd_formb *)data;
 	idfield = (struct fdc_readid *)data;
@@ -2636,7 +2637,7 @@
 
  	fdu = FDUNIT(minor(dev));
 	type = FDTYPE(minor(dev));
- 	fd = devclass_get_softc(fd_devclass, fdu);
+ 	fd = dev->si_drv1;
 
 	/*
 	 * First, handle everything that could be done with

==== //depot/projects/ia64/sys/net/bridge.c#21 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/net/bridge.c,v 1.68 2003/09/17 00:50:33 sam Exp $
+ * $FreeBSD: src/sys/net/bridge.c,v 1.69 2003/09/17 18:14:49 sam Exp $
  */
 
 /*
@@ -852,7 +852,7 @@
 	eh->ether_shost, ".",
 	eh->ether_dhost, ".",
 	ntohs(eh->ether_type),
-	(dst <= BDG_FORWARD) ? bdg_dst_names[(int)dst] :
+	(dst <= BDG_FORWARD) ? bdg_dst_names[(uintptr_t)dst] :
 		dst->if_name,
 	(dst <= BDG_FORWARD) ? 0 : dst->if_unit));
 

==== //depot/projects/ia64/sys/netinet/ip_fw2.c#27 (text+ko) ====

@@ -22,7 +22,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.38 2003/09/17 00:56:50 sam Exp $
+ * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.39 2003/09/17 22:06:47 sam Exp $
  */
 
 #define        DEB(x)
@@ -111,7 +111,8 @@
 	struct mtx	mtx;		/* lock guarding rule list */
 };
 #define	IPFW_LOCK_INIT(_chain) \
-	mtx_init(&(_chain)->mtx, "IPFW static rules", NULL, MTX_DEF)
+	mtx_init(&(_chain)->mtx, "IPFW static rules", NULL, \
+		MTX_DEF | MTX_RECURSE)
 #define	IPFW_LOCK_DESTROY(_chain)	mtx_destroy(&(_chain)->mtx)
 #define	IPFW_LOCK(_chain)	mtx_lock(&(_chain)->mtx)
 #define	IPFW_UNLOCK(_chain)	mtx_unlock(&(_chain)->mtx)

==== //depot/projects/ia64/sys/netinet/raw_ip.c#28 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)raw_ip.c	8.7 (Berkeley) 5/15/95
- * $FreeBSD: src/sys/netinet/raw_ip.c,v 1.117 2003/09/01 04:27:34 sam Exp $
+ * $FreeBSD: src/sys/netinet/raw_ip.c,v 1.118 2003/09/17 21:13:16 sam Exp $
  */
 
 #include "opt_inet6.h"
@@ -709,10 +709,8 @@
 	for (inp = LIST_FIRST(ripcbinfo.listhead), i = 0; inp && i < n;
 	     inp = LIST_NEXT(inp, inp_list)) {
 		INP_LOCK(inp);
-		if (inp->inp_gencnt <= gencnt) {
-			if (cr_canseesocket(req->td->td_ucred,
-			    inp->inp_socket))
-				continue;
+		if (inp->inp_gencnt <= gencnt &&
+		    cr_canseesocket(req->td->td_ucred, inp->inp_socket) == 0) {
 			/* XXX held references? */
 			inp_list[i++] = inp;
 		}

==== //depot/projects/ia64/sys/sys/param.h#42 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)param.h	8.3 (Berkeley) 4/4/95
- * $FreeBSD: src/sys/sys/param.h,v 1.166 2003/09/08 11:54:59 tjr Exp $
+ * $FreeBSD: src/sys/sys/param.h,v 1.167 2003/09/17 20:37:02 jhb Exp $
  */
 
 #ifndef _SYS_PARAM_H_
@@ -57,7 +57,7 @@
  * scheme is:  <major><two digit minor><0 if release branch, otherwise 1>xx
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 501106	/* Master, propagated to newvers */
+#define __FreeBSD_version 501107	/* Master, propagated to newvers */
 
 #ifndef NULL
 #define	NULL	0

==== //depot/projects/ia64/sys/vm/vm_object.c#67 (text+ko) ====

@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_object.c,v 1.305 2003/09/15 05:58:27 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_object.c,v 1.306 2003/09/17 07:00:14 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1093,8 +1093,6 @@
 	vm_object_t source;
 	vm_object_t result;
 
-	GIANT_REQUIRED;
-
 	source = *object;
 
 	/*

==== //depot/projects/ia64/sys/vm/vm_pageout.c#46 (text+ko) ====

@@ -71,7 +71,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_pageout.c,v 1.242 2003/08/31 00:00:46 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_pageout.c,v 1.243 2003/09/17 06:55:42 alc Exp $");
 
 #include "opt_vm.h"
 #include <sys/param.h>
@@ -926,13 +926,14 @@
 			 */
 			if (object->type == OBJT_VNODE) {
 				vp = object->handle;
-
 				mp = NULL;
 				if (vp->v_type == VREG)
 					vn_start_write(vp, &mp, V_NOWAIT);
 				vm_page_unlock_queues();
+				VI_LOCK(vp);
 				VM_OBJECT_UNLOCK(object);
-				if (vget(vp, LK_EXCLUSIVE|LK_TIMELOCK, curthread)) {
+				if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK |
+				    LK_TIMELOCK, curthread)) {
 					VM_OBJECT_LOCK(object);
 					vm_page_lock_queues();
 					++pageout_lock_miss;

==== //depot/projects/ia64/usr.bin/window/main.c#3 (text+ko) ====

@@ -43,7 +43,7 @@
 #ifndef lint
 static char sccsid[] = "@(#)main.c	8.2 (Berkeley) 4/2/94";
 static char rcsid[] =
-  "$FreeBSD: src/usr.bin/window/main.c,v 1.7 2001/05/17 09:38:48 obrien Exp $";
+  "$FreeBSD: src/usr.bin/window/main.c,v 1.8 2003/09/17 03:58:52 marcel Exp $";
 #endif /* not lint */
 
 #include "defs.h"
@@ -55,10 +55,8 @@
 #include "char.h"
 #include "local.h"
 
-void *usage(void);
+#define next(a) (*++*(a) ? *(a) : (*++(a) ? *(a) : (char *)(uintptr_t)usage()))
 
-#define next(a) (*++*(a) ? *(a) : (*++(a) ? *(a) : (char *)usage()))
-
 /*ARGSUSED*/
 main(argc, argv)
 char **argv;
@@ -201,10 +199,9 @@
 	return 0;
 }
 
-void *
 usage()
 {
 	(void) fprintf(stderr, "usage: window [-e escape-char] [-c command] [-t] [-f] [-d]\n");
 	exit(1);
-	return NULL;			/* for lint */
+	return 0;			/* for lint */
 }

==== //depot/projects/ia64/usr.sbin/sysinstall/dmenu.c#3 (text+ko) ====

@@ -4,7 +4,7 @@
  * This is probably the last attempt in the `sysinstall' line, the next
  * generation being slated for what's essentially a complete rewrite.
  *
- * $FreeBSD: src/usr.sbin/sysinstall/dmenu.c,v 1.44 2000/03/08 14:20:26 jkh Exp $
+ * $FreeBSD: src/usr.sbin/sysinstall/dmenu.c,v 1.45 2003/09/17 03:45:30 marcel Exp $
  *
  * Copyright (c) 1995
  *	Jordan Hubbard.  All rights reserved.
@@ -287,16 +287,19 @@
 	dialog_clear_norefresh();
 	/* Pop up that dialog! */
 	if (menu->type & DMENU_NORMAL_TYPE)
-	    rval = dialog_menu((u_char *)menu->title, (u_char *)menu->prompt, -1, -1,
-			       menu_height(menu, n), -n, items, (char *)(uintptr_t)buttons, choice, scroll);
+	    rval = dialog_menu((u_char *)menu->title, (u_char *)menu->prompt,
+		-1, -1, menu_height(menu, n), -n, items,
+		(char *)(uintptr_t)buttons, choice, scroll);
 
 	else if (menu->type & DMENU_RADIO_TYPE)
-	    rval = dialog_radiolist((u_char *)menu->title, (u_char *)menu->prompt, -1, -1,
-				    menu_height(menu, n), -n, items, (char *)(uintptr_t)buttons);
+	    rval = dialog_radiolist((u_char *)menu->title,
+		(u_char *)menu->prompt, -1, -1, menu_height(menu, n), -n,
+		items, (char *)(uintptr_t)buttons);
 
 	else if (menu->type & DMENU_CHECKLIST_TYPE)
-	    rval = dialog_checklist((u_char *)menu->title, (u_char *)menu->prompt, -1, -1,
-				    menu_height(menu, n), -n, items, (char *)(uintptr_t)buttons);
+	    rval = dialog_checklist((u_char *)menu->title,
+		(u_char *)menu->prompt, -1, -1, menu_height(menu, n), -n,
+		items, (char *)(uintptr_t)buttons);
 	else
 	    msgFatal("Menu: `%s' is of an unknown type\n", menu->title);
 	if (exited) {


More information about the p4-projects mailing list