From owner-p4-projects@FreeBSD.ORG Tue Oct 19 00:29:09 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83EEB16A4CE; Tue, 19 Oct 2004 00:29:09 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C04216A4CE for ; Tue, 19 Oct 2004 00:29:09 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2433D43D41 for ; Tue, 19 Oct 2004 00:29:09 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i9J0T9Rh019021 for ; Tue, 19 Oct 2004 00:29:09 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i9J0T8RK019018 for perforce@freebsd.org; Tue, 19 Oct 2004 00:29:08 GMT (envelope-from peter@freebsd.org) Date: Tue, 19 Oct 2004 00:29:08 GMT Message-Id: <200410190029.i9J0T8RK019018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 63342 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2004 00:29:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=63342 Change 63342 by peter@peter_daintree on 2004/10/19 00:28:19 IFC @63337 Affected files ... .. //depot/projects/hammer/UPDATING#63 integrate .. //depot/projects/hammer/gnu/usr.bin/rcs/rcsfreeze/Makefile#2 integrate .. //depot/projects/hammer/lib/libmagic/Makefile#2 integrate .. //depot/projects/hammer/share/man/man4/sio.4#7 integrate .. //depot/projects/hammer/sys/alpha/alpha/promcons.c#12 integrate .. //depot/projects/hammer/sys/alpha/tlsb/zs_tlsb.c#13 integrate .. //depot/projects/hammer/sys/dev/dcons/dcons_os.c#3 integrate .. //depot/projects/hammer/sys/dev/digi/digi.c#19 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#21 integrate .. //depot/projects/hammer/sys/dev/nmdm/nmdm.c#16 integrate .. //depot/projects/hammer/sys/dev/ofw/ofw_console.c#17 integrate .. //depot/projects/hammer/sys/dev/syscons/syscons.c#26 integrate .. //depot/projects/hammer/sys/dev/syscons/sysmouse.c#10 integrate .. //depot/projects/hammer/sys/dev/zs/zs.c#16 integrate .. //depot/projects/hammer/sys/i386/isa/pcvt/pcvt_drv.c#12 integrate .. //depot/projects/hammer/sys/ia64/ia64/ssc.c#9 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#33 integrate .. //depot/projects/hammer/sys/kern/tty.c#31 integrate .. //depot/projects/hammer/sys/kern/tty_pty.c#23 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#40 integrate .. //depot/projects/hammer/sys/kern/uipc_usrreq.c#25 integrate .. //depot/projects/hammer/sys/modules/netgraph/device/Makefile#2 integrate .. //depot/projects/hammer/sys/net/raw_cb.c#7 integrate .. //depot/projects/hammer/sys/net/raw_usrreq.c#10 integrate .. //depot/projects/hammer/sys/netatalk/ddp_pcb.c#5 integrate .. //depot/projects/hammer/sys/netatm/atm_socket.c#8 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#13 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#11 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#11 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 integrate .. //depot/projects/hammer/sys/netgraph/ng_device.c#9 integrate .. //depot/projects/hammer/sys/netgraph/ng_device.h#4 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#30 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#30 integrate .. //depot/projects/hammer/sys/netinet6/in6_pcb.c#18 integrate .. //depot/projects/hammer/sys/netipx/ipx_pcb.c#5 integrate .. //depot/projects/hammer/sys/netipx/ipx_usrreq.c#6 integrate .. //depot/projects/hammer/sys/netnatm/natm.c#13 integrate .. //depot/projects/hammer/sys/pci/if_de.c#20 integrate .. //depot/projects/hammer/sys/sys/socketvar.h#23 integrate .. //depot/projects/hammer/sys/sys/tty.h#19 integrate .. //depot/projects/hammer/usr.sbin/rpc.yppasswdd/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/ypserv/Makefile#3 integrate Differences ... ==== //depot/projects/hammer/UPDATING#63 (text+ko) ==== @@ -23,6 +23,14 @@ developers choose to disable these features on build machines to maximize performance. +20041018: + A major sweep over the tty drivers to elimnate approx 3100 + lines of copy&pasted code have been performed. As a part of + this change some tty devices have changed names: + sio devices are now named: {tty,cua}d%d[.init,.lock] + ucom devices are now named: {tty,cua}U%d[.init,.lock] + For other drivers see the commit logs. + 20041007: The FreeBSD keyword is no longer a requirement for a valid rc.d script. The rc(8) and rc.shutdown(8) scripts no longer check @@ -1943,4 +1951,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.374 2004/10/17 14:59:18 obrien Exp $ +$FreeBSD: src/UPDATING,v 1.375 2004/10/18 21:24:21 phk Exp $ ==== //depot/projects/hammer/gnu/usr.bin/rcs/rcsfreeze/Makefile#2 (text+ko) ==== @@ -1,10 +1,7 @@ -# $FreeBSD: src/gnu/usr.bin/rcs/rcsfreeze/Makefile,v 1.8 2002/07/29 09:40:09 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/rcs/rcsfreeze/Makefile,v 1.9 2004/10/18 21:44:17 ru Exp $ +SCRIPTS= rcsfreeze.sh MAN= rcsfreeze.1 -afterinstall: - ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ - ${.CURDIR}/rcsfreeze.sh ${DESTDIR}${BINDIR}/rcsfreeze - .include "../../Makefile.inc" .include ==== //depot/projects/hammer/lib/libmagic/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libmagic/Makefile,v 1.3 2004/08/09 11:05:09 obrien Exp $ +# $FreeBSD: src/lib/libmagic/Makefile,v 1.4 2004/10/18 22:18:23 ru Exp $ # Copyright (c) David E. O'Brien, 2000-2004 CONTRDIR= ${.CURDIR}/../../contrib/file @@ -45,8 +45,8 @@ ${CC} -DHAVE_CONFIG_H -DCOMPILE_ONLY \ -I${.CURDIR} -I${CONTRDIR} -o ${.TARGET} ${.ALLSRC} -FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3 }' \ - ${.CURDIR}/config.h | uniq +FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \ + ${.CURDIR}/config.h CLEANFILES+= ${MAN} .for mp in ${MAN} ${mp}: ${mp:C/[0-9]/man/} ==== //depot/projects/hammer/share/man/man4/sio.4#7 (text+ko) ==== @@ -34,9 +34,9 @@ .\" .\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91 .\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp -.\" $FreeBSD: src/share/man/man4/sio.4,v 1.53 2004/07/03 18:29:20 ru Exp $ +.\" $FreeBSD: src/share/man/man4/sio.4,v 1.54 2004/10/18 21:31:05 obrien Exp $ .\" -.Dd July 10, 2002 +.Dd October 17, 2004 .Dt SIO 4 .Os .Sh NAME @@ -342,22 +342,22 @@ to avoid certain security holes, but this needs to be done by getty if the callin port is used for anything else. .Sh FILES -.Bl -tag -width /dev/ttyid? -compact +.Bl -tag -width /dev/ttyd?.init -compact .It Pa /dev/ttyd? for callin ports -.It Pa /dev/ttyid? -.It Pa /dev/ttyld? +.It Pa /dev/ttyd?.init +.It Pa /dev/ttyd?.lock corresponding callin initial-state and lock-state devices .Pp -.It Pa /dev/cuaa? +.It Pa /dev/cuad? for callout ports -.It Pa /dev/cuaia? -.It Pa /dev/cuala? +.It Pa /dev/cuad?.init +.It Pa /dev/cuad?.lock corresponding callout initial-state and lock-state devices .El .Pp -.Bl -tag -width /etc/rc.serial -compact -.It Pa /etc/rc.serial +.Bl -tag -width /etc/rc.d/serial -compact +.It Pa /etc/rc.d/serial examples of setting the initial-state and lock-state devices .El .Pp ==== //depot/projects/hammer/sys/alpha/alpha/promcons.c#12 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.41 2004/09/17 11:02:53 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.42 2004/10/18 21:51:24 phk Exp $"); #include #include @@ -107,12 +107,7 @@ tp->t_dev = dev; if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG|CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsmode(tp, 0); ttsetwater(tp); setuptimeout = 1; ==== //depot/projects/hammer/sys/alpha/tlsb/zs_tlsb.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.48 2004/09/17 11:04:57 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.49 2004/10/18 21:51:24 phk Exp $"); #include #include @@ -283,12 +283,7 @@ tp = dev->si_tty; if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG|CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsolemode(tp, 0); ttsetwater(tp); setuptimeout = 1; } else if ((tp->t_state & TS_XCLUDE) && suser(td)) { ==== //depot/projects/hammer/sys/dev/dcons/dcons_os.c#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/dev/dcons/dcons_os.c,v 1.2 2004/10/14 00:21:32 simokawa Exp $ + * $FreeBSD: src/sys/dev/dcons/dcons_os.c,v 1.3 2004/10/18 21:51:25 phk Exp $ */ #include @@ -294,12 +294,7 @@ s = spltty(); if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG|CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsolemode(tp, 0); ttsetwater(tp); } else if ((tp->t_state & TS_XCLUDE) && suser(td)) { splx(s); ==== //depot/projects/hammer/sys/dev/digi/digi.c#19 (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/dev/digi/digi.c,v 1.56 2004/10/06 20:01:49 phk Exp $ + * $FreeBSD: src/sys/dev/digi/digi.c,v 1.57 2004/10/18 21:51:25 phk Exp $ */ /*- @@ -85,9 +85,6 @@ fepcmd(port, cmd, (op2 << 8) | op1, ncmds) #define fepcmd_w fepcmd - -static speed_t digidefaultrate = TTYDEF_SPEED; - struct con_bios { struct con_bios *next; u_char *bios; @@ -589,19 +586,7 @@ bc->edelay = 100; - /* - * We don't use all the flags from since - * they are only relevant for logins. It's important to have - * echo off initially so that the line doesn't start blathering - * before the echo flag can be turned off. - */ - tp->t_init_in.c_iflag = 0; - tp->t_init_in.c_oflag = 0; - tp->t_init_in.c_cflag = TTYDEF_CFLAG; - tp->t_init_in.c_lflag = 0; - termioschars(&tp->t_init_in); - tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = digidefaultrate; - tp->t_init_out = tp->t_init_in; + ttyinitmode(tp, 0, 0); port->send_ring = 1; /* Default action on signal RI */ ttycreate(tp, NULL, 0, MINOR_CALLOUT, "D%r%r", sc->res.unit, i); } ==== //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#21 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.70 2004/10/08 16:14:42 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.71 2004/10/18 21:33:56 le Exp $"); #include "opt_bdg.h" @@ -1291,8 +1291,10 @@ break; } - if (pcnt == 0) + if (pcnt == 0) { + NDIS_UNLOCK(sc); return; + } if (sc->ndis_txpending == 0) ifp->if_flags |= IFF_OACTIVE; ==== //depot/projects/hammer/sys/dev/nmdm/nmdm.c#16 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.30 2004/07/15 20:47:37 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.31 2004/10/18 21:51:25 phk Exp $"); /* * Pseudo-nulmodem driver @@ -247,13 +247,7 @@ tp2 = sp->other->nm_tty; if ((tp->t_state & TS_ISOPEN) == 0) { - ttychars(tp); /* Set up default chars */ - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_lflag = 0; - tp->t_cflag = TTYDEF_CFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyinitmode(tp, 0, 0); ttsetwater(tp); /* XXX ? */ } else if (tp->t_state & TS_XCLUDE && suser(td)) { return (EBUSY); ==== //depot/projects/hammer/sys/dev/ofw/ofw_console.c#17 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.29 2004/10/12 21:23:33 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.30 2004/10/18 21:51:25 phk Exp $"); #include "opt_comconsole.h" #include "opt_ofw.h" @@ -138,12 +138,7 @@ if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG | CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsolemode(tp, 0); ttsetwater(tp); setuptimeout = 1; ==== //depot/projects/hammer/sys/dev/syscons/syscons.c#26 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.430 2004/10/14 08:58:28 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.431 2004/10/18 21:51:25 phk Exp $"); #include "opt_syscons.h" #include "opt_splash.h" @@ -145,6 +145,7 @@ static int debugger; /* prototypes */ +static struct tty *sc_alloc_tty(struct cdev *dev); static int scvidprobe(int unit, int flags, int cons); static int sckbdprobe(int unit, int flags, int cons); static void scmeminit(void *arg); @@ -288,10 +289,23 @@ return names[i].name[(adp->va_flags & V_ADP_COLOR) ? 0 : 1]; } +static struct tty * +sc_alloc_tty(struct cdev *dev) +{ + struct tty *tp; + + tp = dev->si_tty = ttyalloc(); + ttyinitmode(tp, 1, 0); + tp->t_oproc = scstart; + tp->t_param = scparam; + tp->t_stop = nottystop; + tp->t_dev = dev; + return (tp); +} + int sc_attach_unit(int unit, int flags) { - struct tty *tp; sc_softc_t *sc; scr_stat *scp; #ifdef SC_PIXEL_MODE @@ -383,14 +397,9 @@ for (vc = 0; vc < sc->vtys; vc++) { if (sc->dev[vc] == NULL) { - dev = make_dev(&sc_cdevsw, vc + unit * MAXCONS, + sc->dev[vc] = make_dev(&sc_cdevsw, vc + unit * MAXCONS, UID_ROOT, GID_WHEEL, 0600, "ttyv%r", vc + unit * MAXCONS); - sc->dev[vc] = dev; - tp = sc->dev[vc]->si_tty = ttyalloc(); - tp->t_oproc = scstart; - tp->t_param = scparam; - tp->t_stop = nottystop; - tp->t_dev = sc->dev[vc]; + sc_alloc_tty(sc->dev[vc]); if (vc == 0 && sc->dev == main_devs) SC_STAT(sc->dev[0]) = &main_console; } @@ -403,12 +412,8 @@ dev = make_dev(&sc_cdevsw, SC_CONSOLECTL, UID_ROOT, GID_WHEEL, 0600, "consolectl"); - tp = dev->si_tty = sc_console_tty = ttyalloc(); - ttyconsolemode(tp, 0); - tp->t_oproc = scstart; - tp->t_param = scparam; - tp->t_stop = nottystop; - tp->t_dev = dev; + sc_console_tty = sc_alloc_tty(dev); + ttyconsolemode(sc_console_tty, 0); SC_STAT(dev) = sc_console; return 0; @@ -2581,7 +2586,6 @@ static void scinit(int unit, int flags) { - struct tty *tp; /* * When syscons is being initialized as the kernel console, malloc() @@ -2692,11 +2696,7 @@ sc->dev = malloc(sizeof(struct cdev *)*sc->vtys, M_DEVBUF, M_WAITOK|M_ZERO); sc->dev[0] = make_dev(&sc_cdevsw, unit * MAXCONS, UID_ROOT, GID_WHEEL, 0600, "ttyv%r", unit * MAXCONS); - tp = sc->dev[0]->si_tty = ttyalloc(); - tp->t_oproc = scstart; - tp->t_param = scparam; - tp->t_stop = nottystop; - tp->t_dev = sc->dev[0]; + sc_alloc_tty(sc->dev[0]); scp = alloc_scp(sc, sc->first_vty); SC_STAT(sc->dev[0]) = scp; } ==== //depot/projects/hammer/sys/dev/syscons/sysmouse.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/syscons/sysmouse.c,v 1.25 2004/10/14 08:58:28 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/syscons/sysmouse.c,v 1.26 2004/10/18 21:51:26 phk Exp $"); #include "opt_syscons.h" @@ -80,12 +80,7 @@ tp = dev->si_tty; if (!(tp->t_state & TS_ISOPEN)) { - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyinitmode(tp, 0, 0); smparam(tp, &tp->t_termios); ttyld_modem(tp, 1); } else if (tp->t_state & TS_XCLUDE && suser(td)) { ==== //depot/projects/hammer/sys/dev/zs/zs.c#16 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/zs/zs.c,v 1.28 2004/09/18 16:43:15 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/zs/zs.c,v 1.29 2004/10/18 21:51:26 phk Exp $"); /*- * Copyright (c) 2003 Jake Burkholder. * All rights reserved. @@ -276,12 +276,8 @@ tp->t_modem = zsttymodem; tp->t_break = zsttybreak; tp->t_stop = zsttystop; - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_lflag = TTYDEF_LFLAG; + ttyinitmode(tp, 0, 0); tp->t_cflag = CREAD | CLOCAL | CS8; - tp->t_ospeed = TTYDEF_SPEED; - tp->t_ispeed = TTYDEF_SPEED; if (zstty_console(dev, mode, sizeof(mode))) { ttychars(tp); @@ -472,19 +468,10 @@ sc->sc_preg[1] |= ZSWR1_RIE | ZSWR1_SIE; sc->sc_iput = sc->sc_iget = sc->sc_ibuf; - /* - * Initialize the termios status to the defaults. Add in the - * sticky bits from TIOCSFLAGS. - */ - t.c_ispeed = 0; - t.c_ospeed = tp->t_ospeed; - t.c_cflag = TTYDEF_CFLAG; + ttyconsolemode(t, 0); /* Make sure zstty_param() will do something. */ tp->t_ospeed = 0; (void)zstty_param(sc, tp, &t); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_lflag = TTYDEF_LFLAG; ttychars(tp); ttsetwater(tp); ==== //depot/projects/hammer/sys/i386/isa/pcvt/pcvt_drv.c#12 (text+ko) ==== @@ -50,7 +50,7 @@ * * Last Edit-Date: [Sat Jul 15 15:06:06 2000] * - * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_drv.c,v 1.89 2004/07/15 20:47:40 phk Exp $ + * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_drv.c,v 1.90 2004/10/18 21:51:26 phk Exp $ * *---------------------------------------------------------------------------*/ @@ -297,12 +297,7 @@ if ((tp->t_state & TS_ISOPEN) == 0) { - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyinitmode(tp, 1, 0); pcvt_param(tp, &tp->t_termios); ttyld_modem(tp, 1); /* fake connection */ winsz = 1; /* set winsize later */ ==== //depot/projects/hammer/sys/ia64/ia64/ssc.c#9 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/ssc.c,v 1.23 2004/07/15 20:47:40 phk Exp $ + * $FreeBSD: src/sys/ia64/ia64/ssc.c,v 1.24 2004/10/18 21:51:26 phk Exp $ */ #include #include @@ -148,12 +148,7 @@ tp->t_dev = dev; if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG|CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsolemode(tp, 0); ttsetwater(tp); setuptimeout = 1; ==== //depot/projects/hammer/sys/kern/kern_descrip.c#33 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.245 2004/10/04 06:45:48 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.246 2004/10/18 22:19:42 rwatson Exp $"); #include "opt_compat.h" @@ -2063,6 +2063,7 @@ { NET_ASSERT_GIANT(); + ACCEPT_LOCK(); SOCK_LOCK(so); sorele(so); } ==== //depot/projects/hammer/sys/kern/tty.c#31 (text+ko) ==== @@ -71,7 +71,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.238 2004/10/15 09:03:07 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.239 2004/10/18 21:51:26 phk Exp $"); #include "opt_compat.h" #include "opt_tty.h" @@ -2845,11 +2845,7 @@ tp->t_timeout = -1; tp->t_dtr_wait = 3 * hz; - tp->t_init_in.c_iflag = TTYDEF_IFLAG; - tp->t_init_in.c_oflag = TTYDEF_OFLAG; - tp->t_init_in.c_cflag = TTYDEF_CFLAG; - tp->t_init_in.c_lflag = TTYDEF_LFLAG; - tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = TTYDEF_SPEED; + ttyinitmode(tp, 0, 0); bcopy(ttydefchars, tp->t_init_in.c_cc, sizeof tp->t_init_in.c_cc); /* Make callout the same as callin */ @@ -3365,23 +3361,44 @@ } /* + * Initialize a tty to sane modes. + */ +void +ttyinitmode(struct tty *tp, int echo, int speed) +{ + + if (speed == 0) + speed = TTYDEF_SPEED; + tp->t_init_in.c_iflag = TTYDEF_IFLAG; + tp->t_init_in.c_oflag = TTYDEF_OFLAG; + tp->t_init_in.c_cflag = TTYDEF_CFLAG; + if (echo) + tp->t_init_in.c_lflag = TTYDEF_LFLAG_ECHO; + else + tp->t_init_in.c_lflag = TTYDEF_LFLAG; + + tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = speed; + termioschars(&tp->t_init_in); + tp->t_init_out = tp->t_init_in; + tp->t_termios = tp->t_init_in; +} + +/* * Use more "normal" termios paramters for consoles. */ void ttyconsolemode(struct tty *tp, int speed) { - tp->t_init_in.c_iflag = TTYDEF_IFLAG; - tp->t_init_in.c_oflag = TTYDEF_OFLAG; - tp->t_init_in.c_cflag = TTYDEF_CFLAG | CLOCAL; - tp->t_init_in.c_lflag = TTYDEF_LFLAG_ECHO; - tp->t_lock_out.c_cflag = tp->t_lock_in.c_cflag = CLOCAL; if (speed == 0) speed = TTYDEF_SPEED; + ttyinitmode(tp, 1, speed); + tp->t_init_in.c_cflag |= CLOCAL; + tp->t_lock_out.c_cflag = tp->t_lock_in.c_cflag = CLOCAL; tp->t_lock_out.c_ispeed = tp->t_lock_out.c_ospeed = - tp->t_lock_in.c_ispeed = tp->t_lock_in.c_ospeed = - tp->t_init_in.c_ispeed = tp->t_init_in.c_ospeed = speed; + tp->t_lock_in.c_ispeed = tp->t_lock_in.c_ospeed = speed; tp->t_init_out = tp->t_init_in; + tp->t_termios = tp->t_init_in; } /* ==== //depot/projects/hammer/sys/kern/tty_pty.c#23 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/tty_pty.c,v 1.132 2004/10/15 09:03:07 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty_pty.c,v 1.133 2004/10/18 21:51:26 phk Exp $"); /* * Pseudo-teletype Driver @@ -175,12 +175,7 @@ pt = dev->si_drv1; tp = dev->si_tty; if ((tp->t_state & TS_ISOPEN) == 0) { - ttychars(tp); /* Set up default chars */ - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_lflag = TTYDEF_LFLAG_ECHO; - tp->t_cflag = TTYDEF_CFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyinitmode(tp, 1, 0); } else if (tp->t_state & TS_XCLUDE && suser(td)) return (EBUSY); else if (pt->pt_prison != td->td_ucred->cr_prison) ==== //depot/projects/hammer/sys/kern/uipc_socket.c#40 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.213 2004/10/11 08:11:26 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.214 2004/10/18 22:19:42 rwatson Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -227,6 +227,7 @@ SOCK_UNLOCK(so); error = (*prp->pr_usrreqs->pru_attach)(so, proto, td); if (error) { + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_state |= SS_NOFDREF; sorele(so); @@ -333,9 +334,8 @@ { struct socket *head; - SOCK_UNLOCK(so); - ACCEPT_LOCK(); - SOCK_LOCK(so); + ACCEPT_LOCK_ASSERT(); + SOCK_LOCK_ASSERT(so); if (so->so_pcb != NULL || (so->so_state & SS_NOFDREF) == 0 || so->so_count != 0) { @@ -467,6 +467,7 @@ error = error2; } discard: + ACCEPT_LOCK(); SOCK_LOCK(so); KASSERT((so->so_state & SS_NOFDREF) == 0, ("soclose: NOFDREF")); so->so_state |= SS_NOFDREF; ==== //depot/projects/hammer/sys/kern/uipc_usrreq.c#25 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.140 2004/08/25 21:24:36 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.141 2004/10/18 22:19:42 rwatson Exp $"); #include "opt_mac.h" @@ -140,6 +140,7 @@ unp_drop(unp, ECONNABORTED); unp_detach(unp); UNP_UNLOCK_ASSERT(); + ACCEPT_LOCK(); SOCK_LOCK(so); sotryfree(so); return (0); ==== //depot/projects/hammer/sys/modules/netgraph/device/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/sys/modules/netgraph/device/Makefile,v 1.1 2002/06/18 21:32:33 julian Exp $ +# $FreeBSD: src/sys/modules/netgraph/device/Makefile,v 1.2 2004/10/18 20:13:57 glebius Exp $ KMOD= ng_device SRCS= ng_device.c -SRCS+= device_if.h +SRCS+= device_if.h vnode_if.h .include ==== //depot/projects/hammer/sys/net/raw_cb.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)raw_cb.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/raw_cb.c,v 1.29 2004/06/15 04:13:59 rwatson Exp $ + * $FreeBSD: src/sys/net/raw_cb.c,v 1.30 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -98,6 +98,7 @@ { struct socket *so = rp->rcb_socket; + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = 0; sotryfree(so); ==== //depot/projects/hammer/sys/net/raw_usrreq.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)raw_usrreq.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.34 2004/06/15 04:13:59 rwatson Exp $ + * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.35 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -147,6 +147,7 @@ return EINVAL; raw_disconnect(rp); soisdisconnected(so); + ACCEPT_LOCK(); SOCK_LOCK(so); sotryfree(so); return 0; ==== //depot/projects/hammer/sys/netatalk/ddp_pcb.c#5 (text+ko) ==== @@ -3,7 +3,7 @@ * Copyright (c) 1990,1994 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. * - * $FreeBSD: src/sys/netatalk/ddp_pcb.c,v 1.44 2004/07/12 18:39:59 rwatson Exp $ + * $FreeBSD: src/sys/netatalk/ddp_pcb.c,v 1.45 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -282,6 +282,7 @@ DDP_LOCK_ASSERT(ddp); soisdisconnected(so); + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); ==== //depot/projects/hammer/sys/netatm/atm_socket.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netatm/atm_socket.c,v 1.20 2004/06/12 20:47:29 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netatm/atm_socket.c,v 1.21 2004/10/18 22:19:42 rwatson Exp $"); #include #include @@ -173,6 +173,7 @@ /* * Break links and free control blocks */ + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); ==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#13 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: ng_btsocket_hci_raw.c,v 1.14 2003/09/14 23:29:06 max Exp $ - * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c,v 1.15 2004/06/12 20:47:30 rwatson Exp $ + * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c,v 1.16 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -1417,6 +1417,7 @@ bzero(pcb, sizeof(*pcb)); FREE(pcb, M_NETGRAPH_BTSOCKET_HCI_RAW); + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); ==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: ng_btsocket_l2cap.c,v 1.16 2003/09/14 23:29:06 max Exp $ - * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c,v 1.13 2004/06/12 20:47:30 rwatson Exp $ + * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c,v 1.14 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -1804,6 +1804,7 @@ FREE(pcb, M_NETGRAPH_BTSOCKET_L2CAP); soisdisconnected(so); + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); @@ -2347,6 +2348,7 @@ FREE(pcb, M_NETGRAPH_BTSOCKET_L2CAP); soisdisconnected(so); + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); ==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: ng_btsocket_l2cap_raw.c,v 1.12 2003/09/14 23:29:06 max Exp $ - * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c,v 1.12 2004/06/12 20:47:30 rwatson Exp $ + * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c,v 1.13 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -1129,6 +1129,7 @@ bzero(pcb, sizeof(*pcb)); FREE(pcb, M_NETGRAPH_BTSOCKET_L2CAP_RAW); + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); ==== //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: ng_btsocket_rfcomm.c,v 1.28 2003/09/14 23:29:06 max Exp $ - * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c,v 1.12 2004/06/18 05:09:42 rwatson Exp $ + * $FreeBSD: src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c,v 1.13 2004/10/18 22:19:42 rwatson Exp $ */ #include @@ -724,6 +724,7 @@ FREE(pcb, M_NETGRAPH_BTSOCKET_RFCOMM); soisdisconnected(so); + ACCEPT_LOCK(); SOCK_LOCK(so); so->so_pcb = NULL; sotryfree(so); ==== //depot/projects/hammer/sys/netgraph/ng_device.c#9 (text+ko) ==== @@ -23,13 +23,19 @@ * * Netgraph "device" node * - * This node presents a /dev/ngd%d device that interfaces to an other + * This node presents a /dev/ngd%d device that interfaces to an other * netgraph node. * - * $FreeBSD: src/sys/netgraph/ng_device.c,v 1.11 2004/07/20 13:16:17 glebius Exp $ + * $FreeBSD: src/sys/netgraph/ng_device.c,v 1.12 2004/10/18 20:13:57 glebius Exp $ * */ +#if 0 +#define AAA printf("ng_device: %s\n", __func__ ); +#else +#define AAA +#endif + #include #include #include @@ -38,407 +44,328 @@ #include #include #include +#include #include #include +#include + +#include +#include +#include +#include +#include #include #include #include -/* turn this on for verbose messages */ -#define NGD_DEBUG - #define ERROUT(x) do { error = (x); goto done; } while (0) /* Netgraph methods */ -static ng_constructor_t ng_device_cons; +static ng_constructor_t ng_device_constructor; static ng_rcvmsg_t ng_device_rcvmsg; +static ng_shutdown_t ng_device_shutdown; static ng_newhook_t ng_device_newhook; -static ng_connect_t ng_device_connect; static ng_rcvdata_t ng_device_rcvdata; static ng_disconnect_t ng_device_disconnect; >>> TRUNCATED FOR MAIL (1000 lines) <<<