PERFORCE change 142155 for review

John Birrell jb at FreeBSD.org
Fri May 23 20:32:12 UTC 2008


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

Change 142155 by jb at freebsd3 on 2008/05/23 20:31:47

	IFC

Affected files ...

.. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml#10 integrate
.. //depot/projects/dtrace/src/sbin/restore/dirs.c#8 integrate
.. //depot/projects/dtrace/src/sys/fs/devfs/devfs_vnops.c#20 integrate
.. //depot/projects/dtrace/src/sys/ia64/ia64/interrupt.c#12 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_conf.c#13 integrate
.. //depot/projects/dtrace/src/sys/kern/sys_pipe.c#13 integrate
.. //depot/projects/dtrace/src/sys/kern/tty.c#14 integrate
.. //depot/projects/dtrace/src/sys/kern/tty_cons.c#15 integrate
.. //depot/projects/dtrace/src/sys/kern/tty_subr.c#5 integrate
.. //depot/projects/dtrace/src/sys/powerpc/aim/mmu_oea.c#5 integrate
.. //depot/projects/dtrace/src/sys/sys/clist.h#4 integrate
.. //depot/projects/dtrace/src/sys/sys/cons.h#6 integrate
.. //depot/projects/dtrace/src/sys/sys/pipe.h#4 integrate
.. //depot/projects/dtrace/src/sys/sys/tty.h#5 integrate
.. //depot/projects/dtrace/src/usr.sbin/sade/termcap.c#6 integrate
.. //depot/projects/dtrace/src/usr.sbin/sysinstall/termcap.c#5 integrate
.. //depot/projects/dtrace/www/en/news/news.sgml#7 integrate
.. //depot/projects/dtrace/www/en/platforms/alpha.sgml#5 integrate
.. //depot/projects/dtrace/www/share/sgml/commercial.consult.xml#12 integrate
.. //depot/projects/dtrace/www/share/sgml/commercial.isp.xml#12 integrate

Differences ...

==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml#10 (text+ko) ====

@@ -1,6 +1,6 @@
 <!--
      The FreeBSD Documentation Project
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml,v 1.70 2007/06/27 11:49:40 chinsan Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml,v 1.71 2008/05/23 13:36:58 remko Exp $
 -->
 
 <chapter id="mac">
@@ -1080,10 +1080,7 @@
     <itemizedlist>
       <listitem>
 	<para><literal>security.mac.portacl.enabled</literal> will
-	  enable/disable the policy completely.<footnote><para>Due to
-	  a bug the <literal>security.mac.portacl.enabled</literal>
-	  <command>sysctl</command> variable will not work on
-	  &os;&nbsp;5.2.1 or previous releases.</para></footnote></para>
+	  enable/disable the policy completely.</para>
       </listitem>
 
       <listitem>

==== //depot/projects/dtrace/src/sbin/restore/dirs.c#8 (text+ko) ====

@@ -37,7 +37,7 @@
 static char sccsid[] = "@(#)dirs.c	8.7 (Berkeley) 5/1/95";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/restore/dirs.c,v 1.34 2008/04/14 20:15:53 mckusick Exp $";
+  "$FreeBSD: src/sbin/restore/dirs.c,v 1.35 2008/05/23 19:17:08 mckusick Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -139,7 +139,7 @@
 	vprintf(stdout, "Extract directories from tape\n");
 	if ((tmpdir = getenv("TMPDIR")) == NULL || tmpdir[0] == '\0')
 		tmpdir = _PATH_TMP;
-	(void) sprintf(dirfile, "%s/rstdir%d", tmpdir, dumpdate);
+	(void) sprintf(dirfile, "%s/rstdir%ld", tmpdir, dumpdate);
 	if (command != 'r' && command != 'R') {
 		(void *) strcat(dirfile, "-XXXXXX");
 		fd = mkstemp(dirfile);
@@ -152,7 +152,7 @@
 		done(1);
 	}
 	if (genmode != 0) {
-		(void) sprintf(modefile, "%s/rstmode%d", tmpdir, dumpdate);
+		(void) sprintf(modefile, "%s/rstmode%ld", tmpdir, dumpdate);
 		if (command != 'r' && command != 'R') {
 			(void *) strcat(modefile, "-XXXXXX");
 			fd = mkstemp(modefile);
@@ -566,7 +566,7 @@
 	if ((tmpdir = getenv("TMPDIR")) == NULL || tmpdir[0] == '\0')
 		tmpdir = _PATH_TMP;
 	if (command == 'r' || command == 'R')
-		(void) sprintf(modefile, "%s/rstmode%d", tmpdir, dumpdate);
+		(void) sprintf(modefile, "%s/rstmode%ld", tmpdir, dumpdate);
 	if (modefile[0] == '#') {
 		panic("modefile not defined\n");
 		fprintf(stderr, "directory mode, owner, and times not set\n");

==== //depot/projects/dtrace/src/sys/fs/devfs/devfs_vnops.c#20 (text+ko) ====

@@ -31,7 +31,7 @@
  *	@(#)kernfs_vnops.c	8.15 (Berkeley) 5/21/95
  * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43
  *
- * $FreeBSD: src/sys/fs/devfs/devfs_vnops.c,v 1.158 2008/05/21 09:31:44 kib Exp $
+ * $FreeBSD: src/sys/fs/devfs/devfs_vnops.c,v 1.159 2008/05/23 16:36:39 kib Exp $
  */
 
 /*
@@ -280,7 +280,6 @@
 		sx_xunlock(&dmp->dm_lock);
 		return (ENOENT);
 	}
- loop:
 	DEVFS_DE_HOLD(de);
 	DEVFS_DMP_HOLD(dmp);
 	mtx_lock(&devfs_de_interlock);
@@ -296,8 +295,10 @@
 				vput(vp);
 			return (ENOENT);
 		}
-		else if (error)
-			goto loop;
+		else if (error) {
+			sx_xunlock(&dmp->dm_lock);
+			return (error);
+		}
 		sx_xunlock(&dmp->dm_lock);
 		*vpp = vp;
 		return (0);

==== //depot/projects/dtrace/src/sys/ia64/ia64/interrupt.c#12 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.68 2008/04/15 05:02:42 marcel Exp $ */
+/* $FreeBSD: src/sys/ia64/ia64/interrupt.c,v 1.69 2008/05/23 19:53:50 marcel Exp $ */
 /* $NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $ */
 
 /*-
@@ -138,10 +138,10 @@
 	u_int vector;
 	int count;
 	uint8_t inta;
+
 	ia64_set_fpsr(IA64_FPSR_DEFAULT);
 
 	td = curthread;
-	atomic_add_int(&td->td_intr_nesting_level, 1);
 
 	vector = tf->tf_special.ifa;
 
@@ -195,7 +195,7 @@
 				adjust_ticks++;
 			count++;
 		}
-		ia64_set_itm(itc + ia64_clock_reload - adj);
+		ia64_set_itm(ia64_get_itc() + ia64_clock_reload - adj);
 		if (count > 0) {
 			adjust_lost += count - 1;
 			if (delta > (ia64_clock_reload >> 3)) {
@@ -229,7 +229,9 @@
 	} else if (vector == ipi_vector[IPI_RENDEZVOUS]) {
 		rdvs[PCPU_GET(cpuid)]++;
 		CTR1(KTR_SMP, "IPI_RENDEZVOUS, cpuid=%d", PCPU_GET(cpuid));
+		enable_intr();
 		smp_rendezvous_action();
+		disable_intr();
 	} else if (vector == ipi_vector[IPI_STOP]) {
 		cpumask_t mybit = PCPU_GET(cpumask);
 
@@ -244,11 +246,17 @@
 		mp_ipi_test++;
 	} else if (vector == ipi_vector[IPI_PREEMPT]) {
 		CTR1(KTR_SMP, "IPI_PREEMPT, cpuid=%d", PCPU_GET(cpuid));
+		__asm __volatile("mov cr.eoi = r0;; srlz.d");
+		enable_intr();
 		sched_preempt(curthread);
+		disable_intr();
+		goto stray;
 #endif
 	} else {
 		ints[PCPU_GET(cpuid)]++;
+		atomic_add_int(&td->td_intr_nesting_level, 1);
 		ia64_dispatch_intr(tf, vector);
+		atomic_subtract_int(&td->td_intr_nesting_level, 1);
 	}
 
 	__asm __volatile("mov cr.eoi = r0;; srlz.d");
@@ -257,8 +265,6 @@
 		goto next;
 
 stray:
-	atomic_subtract_int(&td->td_intr_nesting_level, 1);
-
 	if (TRAPF_USERMODE(tf)) {
 		enable_intr();
 		userret(td, tf);

==== //depot/projects/dtrace/src/sys/kern/kern_conf.c#13 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_conf.c,v 1.213 2008/05/21 09:31:44 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_conf.c,v 1.214 2008/05/23 16:38:38 kib Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -225,6 +225,8 @@
 
 	mtx_assert(&devmtx, MA_NOTOWNED);
 	dev_lock();
+	KASSERT(dev->si_threadcount > 0,
+	    ("%s threadcount is wrong", dev->si_name));
 	dev->si_threadcount--;
 	dev_unlock();
 }

==== //depot/projects/dtrace/src/sys/kern/sys_pipe.c#13 (text+ko) ====

@@ -89,7 +89,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/sys_pipe.c,v 1.196 2008/01/07 20:05:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/sys_pipe.c,v 1.198 2008/05/23 11:14:03 kib Exp $");
 
 #include "opt_mac.h"
 
@@ -265,8 +265,8 @@
 	 * one at a time.  When both are free'd, then the whole pair
 	 * is released.
 	 */
-	rpipe->pipe_present = 1;
-	wpipe->pipe_present = 1;
+	rpipe->pipe_present = PIPE_ACTIVE;
+	wpipe->pipe_present = PIPE_ACTIVE;
 
 	/*
 	 * Eventually, the MAC Framework may initialize the label
@@ -975,7 +975,8 @@
 	/*
 	 * detect loss of pipe read side, issue SIGPIPE if lost.
 	 */
-	if ((!wpipe->pipe_present) || (wpipe->pipe_state & PIPE_EOF)) {
+	if (wpipe->pipe_present != PIPE_ACTIVE ||
+	    (wpipe->pipe_state & PIPE_EOF)) {
 		pipeunlock(wpipe);
 		PIPE_UNLOCK(rpipe);
 		return (EPIPE);
@@ -1346,13 +1347,14 @@
 			revents |= events & (POLLIN | POLLRDNORM);
 
 	if (events & (POLLOUT | POLLWRNORM))
-		if (!wpipe->pipe_present || (wpipe->pipe_state & PIPE_EOF) ||
+		if (wpipe->pipe_present != PIPE_ACTIVE ||
+		    (wpipe->pipe_state & PIPE_EOF) ||
 		    (((wpipe->pipe_state & PIPE_DIRECTW) == 0) &&
 		     (wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt) >= PIPE_BUF))
 			revents |= events & (POLLOUT | POLLWRNORM);
 
 	if ((rpipe->pipe_state & PIPE_EOF) ||
-	    (!wpipe->pipe_present) ||
+	    wpipe->pipe_present != PIPE_ACTIVE ||
 	    (wpipe->pipe_state & PIPE_EOF))
 		revents |= POLLHUP;
 
@@ -1493,7 +1495,7 @@
 	 * Disconnect from peer, if any.
 	 */
 	ppipe = cpipe->pipe_peer;
-	if (ppipe->pipe_present != 0) {
+	if (ppipe->pipe_present == PIPE_ACTIVE) {
 		pipeselwakeup(ppipe);
 
 		ppipe->pipe_state |= PIPE_EOF;
@@ -1510,16 +1512,23 @@
 	PIPE_UNLOCK(cpipe);
 	pipe_free_kmem(cpipe);
 	PIPE_LOCK(cpipe);
-	cpipe->pipe_present = 0;
+	cpipe->pipe_present = PIPE_CLOSING;
 	pipeunlock(cpipe);
+
+	/*
+	 * knlist_clear() may sleep dropping the PIPE_MTX. Set the
+	 * PIPE_FINALIZED, that allows other end to free the
+	 * pipe_pair, only after the knotes are completely dismantled.
+	 */
 	knlist_clear(&cpipe->pipe_sel.si_note, 1);
+	cpipe->pipe_present = PIPE_FINALIZED;
 	knlist_destroy(&cpipe->pipe_sel.si_note);
 
 	/*
 	 * If both endpoints are now closed, release the memory for the
 	 * pipe pair.  If not, unlock.
 	 */
-	if (ppipe->pipe_present == 0) {
+	if (ppipe->pipe_present == PIPE_FINALIZED) {
 		PIPE_UNLOCK(cpipe);
 #ifdef MAC
 		mac_pipe_destroy(pp);
@@ -1543,7 +1552,7 @@
 		break;
 	case EVFILT_WRITE:
 		kn->kn_fop = &pipe_wfiltops;
-		if (!cpipe->pipe_peer->pipe_present) {
+		if (cpipe->pipe_peer->pipe_present != PIPE_ACTIVE) {
 			/* other end of pipe has been closed */
 			PIPE_UNLOCK(cpipe);
 			return (EPIPE);
@@ -1566,13 +1575,8 @@
 	struct pipe *cpipe = (struct pipe *)kn->kn_fp->f_data;
 
 	PIPE_LOCK(cpipe);
-	if (kn->kn_filter == EVFILT_WRITE) {
-		if (!cpipe->pipe_peer->pipe_present) {
-			PIPE_UNLOCK(cpipe);
-			return;
-		}
+	if (kn->kn_filter == EVFILT_WRITE)
 		cpipe = cpipe->pipe_peer;
-	}
 	knlist_remove(&cpipe->pipe_sel.si_note, kn, 1);
 	PIPE_UNLOCK(cpipe);
 }
@@ -1591,7 +1595,8 @@
 		kn->kn_data = rpipe->pipe_map.cnt;
 
 	if ((rpipe->pipe_state & PIPE_EOF) ||
-	    (!wpipe->pipe_present) || (wpipe->pipe_state & PIPE_EOF)) {
+	    wpipe->pipe_present != PIPE_ACTIVE ||
+	    (wpipe->pipe_state & PIPE_EOF)) {
 		kn->kn_flags |= EV_EOF;
 		PIPE_UNLOCK(rpipe);
 		return (1);
@@ -1609,7 +1614,8 @@
 	struct pipe *wpipe = rpipe->pipe_peer;
 
 	PIPE_LOCK(rpipe);
-	if ((!wpipe->pipe_present) || (wpipe->pipe_state & PIPE_EOF)) {
+	if (wpipe->pipe_present != PIPE_ACTIVE ||
+	    (wpipe->pipe_state & PIPE_EOF)) {
 		kn->kn_data = 0;
 		kn->kn_flags |= EV_EOF;
 		PIPE_UNLOCK(rpipe);

==== //depot/projects/dtrace/src/sys/kern/tty.c#14 (text+ko) ====

@@ -71,13 +71,14 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.276 2008/04/15 08:33:32 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.280 2008/05/23 16:47:55 kib Exp $");
 
 #include "opt_compat.h"
 #include "opt_tty.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
+#include <sys/cons.h>
 #include <sys/filio.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
@@ -269,11 +270,12 @@
 	struct cdevsw *csw;
 
 	csw = dev_refthread(dev);
-	KASSERT(csw != NULL, ("No cdevsw in ttycode (%s)", devtoname(dev)));
+	if (csw == NULL)
+		return (NULL);
 	KASSERT(csw->d_flags & D_TTY,
 	    ("non D_TTY (%s) in tty code", devtoname(dev)));
+	tp = dev->si_tty;
 	dev_relthread(dev);
-	tp = dev->si_tty;
 	KASSERT(tp != NULL,
 	    ("no tty pointer on (%s) in tty code", devtoname(dev)));
 	return (tp);
@@ -1324,7 +1326,7 @@
 	int s;
 
 	tp = tty_gettp(dev);
-	if (tp->t_state & TS_GONE)
+	if (tp == NULL || (tp->t_state & TS_GONE))
 		return (ENODEV);
 
 	switch (kn->kn_filter) {
@@ -3055,9 +3057,10 @@
 	ttygone(tp);
 	unit = tp->t_devunit;
 	dev = tp->t_mdev;
+	dev->si_tty = NULL;
 	tp->t_dev = NULL;
+	destroy_dev(dev);
 	ttyrel(tp);
-	destroy_dev(dev);
 	free_unr(tty_unit, unit);
 }
 
@@ -3074,6 +3077,8 @@
 	if (tp != NULL)
 		ttyref(tp);
 	while (tp != NULL) {
+		if (tp->t_state & TS_GONE)
+			goto nexttp;
 		bzero(&xt, sizeof xt);
 		xt.xt_size = sizeof xt;
 #define XT_COPY(field) xt.xt_##field = tp->t_##field
@@ -3122,7 +3127,7 @@
 			return (error);
 		}
 		mtx_lock(&tty_list_mutex);
-		tp2 = TAILQ_NEXT(tp, t_list);
+nexttp:		tp2 = TAILQ_NEXT(tp, t_list);
 		if (tp2 != NULL)
 			ttyref(tp2);
 		mtx_unlock(&tty_list_mutex);
@@ -3180,7 +3185,7 @@
 				return (EBUSY);
 			error =	tsleep(&tp->t_actout,
 				       TTIPRI | PCATCH, "ttybi", 0);
-			if (error != 0 || (tp->t_flags & TS_GONE))
+			if (error != 0 || (tp->t_state & TS_GONE))
 				goto out;
 			goto open_top;
 		}
@@ -3254,7 +3259,7 @@
 
 	tp = tty_gettp(dev);
 
-	if (tp->t_state & TS_GONE)
+	if (tp == NULL || (tp->t_state & TS_GONE))
 		return (ENODEV);
 	return (ttyld_read(tp, uio, flag));
 }
@@ -3266,7 +3271,7 @@
 
 	tp = tty_gettp(dev);
 
-	if (tp->t_state & TS_GONE)
+	if (tp == NULL || (tp->t_state & TS_GONE))
 		return (ENODEV);
 	return (ttyld_write(tp, uio, flag));
 }

==== //depot/projects/dtrace/src/sys/kern/tty_cons.c#15 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/tty_cons.c,v 1.143 2008/03/26 20:09:20 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/tty_cons.c,v 1.144 2008/05/23 16:06:34 ed Exp $");
 
 #include "opt_ddb.h"
 
@@ -66,6 +66,8 @@
 #include <machine/cpu.h>
 #include <machine/clock.h>
 
+static MALLOC_DEFINE(M_TTYCONS, "tty console", "tty console handling");
+
 static	d_open_t	cnopen;
 static	d_close_t	cnclose;
 static	d_read_t	cnread;
@@ -673,7 +675,7 @@
 	KASSERT(tp != NULL, ("constty_set: NULL tp"));
 	if (consbuf == NULL) {
 		size = consmsgbuf_size;
-		consbuf = malloc(size, M_TTYS, M_WAITOK);
+		consbuf = malloc(size, M_TTYCONS, M_WAITOK);
 		msgbuf_init(&consmsgbuf, consbuf, size);
 		callout_init(&conscallout, 0);
 	}
@@ -695,7 +697,7 @@
 	callout_stop(&conscallout);
 	while ((c = msgbuf_getchar(&consmsgbuf)) != -1)
 		cnputc(c);
-	free(consbuf, M_TTYS);
+	free(consbuf, M_TTYCONS);
 	consbuf = NULL;
 }
 

==== //depot/projects/dtrace/src/sys/kern/tty_subr.c#5 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/tty_subr.c,v 1.44 2008/03/16 10:58:05 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/tty_subr.c,v 1.45 2008/05/23 16:06:34 ed Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -42,6 +42,8 @@
 static void clist_init(void *);
 SYSINIT(clist, SI_SUB_CLIST, SI_ORDER_FIRST, clist_init, NULL);
 
+static MALLOC_DEFINE(M_CLIST, "clist", "clist queue blocks");
+
 static struct cblock *cfreelist = 0;
 int cfreecount = 0;
 static int cslushcount;
@@ -133,11 +135,11 @@
 	struct cblock *cbp;
 
 	for (i = 0; i < number; ++i) {
-		cbp = malloc(sizeof *cbp, M_TTYS, M_NOWAIT);
+		cbp = malloc(sizeof *cbp, M_CLIST, M_NOWAIT);
 		if (cbp == NULL) {
 			printf(
 "cblock_alloc_cblocks: M_NOWAIT malloc failed, trying M_WAITOK\n");
-			cbp = malloc(sizeof *cbp, M_TTYS, M_WAITOK);
+			cbp = malloc(sizeof *cbp, M_CLIST, M_WAITOK);
 		}
 		/*
 		 * Freed cblocks have zero quotes and garbage elsewhere.
@@ -192,7 +194,7 @@
 	int i;
 
 	for (i = 0; i < number; ++i)
-		free(cblock_alloc(), M_TTYS);
+		free(cblock_alloc(), M_CLIST);
 	ctotcount -= number;
 }
 

==== //depot/projects/dtrace/src/sys/powerpc/aim/mmu_oea.c#5 (text+ko) ====

@@ -91,7 +91,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/aim/mmu_oea.c,v 1.121 2008/04/28 03:04:41 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/aim/mmu_oea.c,v 1.122 2008/05/23 19:16:24 marcel Exp $");
 
 /*
  * Manages physical address maps.
@@ -655,6 +655,10 @@
 
 	trcp[0] = 0x1006;
 	trcp[1] = sdr;
+
+	tlbia();
+
+	trcp[0] = 0x1007;
 }
 
 void
@@ -895,7 +899,6 @@
 	kernel_pmap->pm_active = ~0;
 
 	pmap_cpu_bootstrap(trace, 0);
-	tlbia();
 
 	pmap_bootstrapped++;
 

==== //depot/projects/dtrace/src/sys/sys/clist.h#4 (text+ko) ====

@@ -27,12 +27,27 @@
  * SUCH DAMAGE.
  *
  *	@(#)clist.h	8.1 (Berkeley) 6/4/93
- * $FreeBSD: src/sys/sys/clist.h,v 1.11 2004/04/07 04:19:49 imp Exp $
+ * $FreeBSD: src/sys/sys/clist.h,v 1.13 2008/05/23 18:34:33 ed Exp $
  */
 
 #ifndef _SYS_CLIST_H_
 #define _SYS_CLIST_H_
 
+#include <sys/param.h>
+
+/*
+ * Clists are character lists, which is a variable length linked list
+ * of cblocks, with a count of the number of characters in the list.
+ */
+struct clist {
+	int	c_cc;		/* Number of characters in the clist. */
+	int	c_cbcount;	/* Number of cblocks. */
+	int	c_cbmax;	/* Max # cblocks allowed for this clist. */
+	int	c_cbreserved;	/* # cblocks reserved for this clist. */
+	char	*c_cf;		/* Pointer to the first cblock. */
+	char	*c_cl;		/* Pointer to the last cblock. */
+};
+
 struct cblock {
 	struct cblock *c_next;			/* next cblock in queue */
 	unsigned char c_quote[CBQSIZE];		/* quoted characters */
@@ -40,8 +55,18 @@
 };
 
 #ifdef _KERNEL
-extern	struct cblock *cfree;
 extern	int cfreecount;
+
+int	 b_to_q(char *cp, int cc, struct clist *q);
+void	 catq(struct clist *from, struct clist *to);
+void	 clist_alloc_cblocks(struct clist *q, int ccmax, int ccres);
+void	 clist_free_cblocks(struct clist *q);
+int	 getc(struct clist *q);
+void	 ndflush(struct clist *q, int cc);
+char	*nextc(struct clist *q, char *cp, int *c);
+int	 putc(int c, struct clist *q);
+int	 q_to_b(struct clist *q, char *cp, int cc);
+int	 unputc(struct clist *q);
 #endif
 
 #endif

==== //depot/projects/dtrace/src/sys/sys/cons.h#6 (text+ko) ====

@@ -32,13 +32,15 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)cons.h	7.2 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/sys/cons.h,v 1.40 2006/11/01 04:54:51 jb Exp $
+ * $FreeBSD: src/sys/sys/cons.h,v 1.41 2008/05/23 16:06:35 ed Exp $
  */
 
 #ifndef _MACHINE_CONS_H_
 #define	_MACHINE_CONS_H_
 
 struct consdev;
+struct tty;
+
 typedef	void	cn_probe_t(struct consdev *);
 typedef	void	cn_init_t(struct consdev *);
 typedef	void	cn_term_t(struct consdev *);
@@ -80,6 +82,9 @@
 
 #ifdef _KERNEL
 
+extern	struct msgbuf consmsgbuf; /* Message buffer for constty. */
+extern	struct tty *constty;	/* Temporary virtual console. */
+
 #define CONS_DRIVER(name, probe, init, term, getc, checkc, putc, dbctl)	\
 	static struct consdev name##_consdev = {			\
 		probe, init, term, getc, checkc, putc			\
@@ -108,6 +113,8 @@
 void	cnputc(int);
 void	cnputs(char *);
 int	cnunavailable(void);
+void	constty_set(struct tty *tp);
+void	constty_clear(void);
 
 #endif /* _KERNEL */
 

==== //depot/projects/dtrace/src/sys/sys/pipe.h#4 (text+ko) ====

@@ -18,7 +18,7 @@
  * 5. Modifications may be freely made to this file if the above conditions
  *    are met.
  *
- * $FreeBSD: src/sys/sys/pipe.h,v 1.29 2005/01/07 02:29:23 imp Exp $
+ * $FreeBSD: src/sys/sys/pipe.h,v 1.30 2008/05/23 11:14:03 kib Exp $
  */
 
 #ifndef _SYS_PIPE_H_
@@ -115,6 +115,13 @@
 };
 
 /*
+ * Values for the pipe_present.
+ */
+#define PIPE_ACTIVE		1
+#define	PIPE_CLOSING		2
+#define	PIPE_FINALIZED		3
+
+/*
  * Container structure to hold the two pipe endpoints, mutex, and label
  * pointer.
  */

==== //depot/projects/dtrace/src/sys/sys/tty.h#5 (text+ko) ====

@@ -40,31 +40,19 @@
  * SUCH DAMAGE.
  *
  *	@(#)tty.h	8.6 (Berkeley) 1/21/94
- * $FreeBSD: src/sys/sys/tty.h,v 1.102 2007/12/16 06:12:53 jeff Exp $
+ * $FreeBSD: src/sys/sys/tty.h,v 1.103 2008/05/23 16:06:35 ed Exp $
  */
 
 #ifndef _SYS_TTY_H_
 #define	_SYS_TTY_H_
 
+#include <sys/clist.h>
 #include <sys/termios.h>
 #include <sys/queue.h>
 #include <sys/selinfo.h>
 #include <sys/_lock.h>
 #include <sys/_mutex.h>
 
-/*
- * Clists are character lists, which is a variable length linked list
- * of cblocks, with a count of the number of characters in the list.
- */
-struct clist {
-	int	c_cc;		/* Number of characters in the clist. */
-	int	c_cbcount;	/* Number of cblocks. */
-	int	c_cbmax;	/* Max # cblocks allowed for this clist. */
-	int	c_cbreserved;	/* # cblocks reserved for this clist. */
-	char	*c_cf;		/* Pointer to the first cblock. */
-	char	*c_cl;		/* Pointer to the last cblock. */
-};
-
 struct tty;
 struct pps_state;
 struct cdev;
@@ -313,25 +301,12 @@
 #define	ISINIT(dev)	(minor(dev) & MINOR_INIT)
 #define	ISLOCK(dev)	(minor(dev) & MINOR_LOCK)
 
-extern	struct msgbuf consmsgbuf; /* Message buffer for constty. */
-extern	struct tty *constty;	/* Temporary virtual console. */
 extern long tk_cancc;
 extern long tk_nin;
 extern long tk_nout;
 extern long tk_rawcc;
 
-int	 b_to_q(char *cp, int cc, struct clist *q);
-void	 catq(struct clist *from, struct clist *to);
-void	 clist_alloc_cblocks(struct clist *q, int ccmax, int ccres);
-void	 clist_free_cblocks(struct clist *q);
-void	 constty_set(struct tty *tp);
-void	 constty_clear(void);
-int	 getc(struct clist *q);
-void	 ndflush(struct clist *q, int cc);
-char	*nextc(struct clist *q, char *cp, int *c);
 void	 nottystop(struct tty *tp, int rw);
-int	 putc(int c, struct clist *q);
-int	 q_to_b(struct clist *q, char *cp, int cc);
 void	 termioschars(struct termios *t);
 int	 tputchar(int c, struct tty *tp);
 int	 ttcompat(struct tty *tp, u_long com, caddr_t data, int flag);
@@ -367,7 +342,6 @@
 int	 ttyrel(struct tty *tp);
 int	 ttysleep(struct tty *tp, void *chan, int pri, char *wmesg, int timo);
 int	 ttywait(struct tty *tp);
-int	 unputc(struct clist *q);
 
 static __inline int
 tt_open(struct tty *t, struct cdev *c)

==== //depot/projects/dtrace/src/usr.sbin/sade/termcap.c#6 (text+ko) ====

@@ -10,7 +10,7 @@
  * software, nor does the author assume any responsibility for damages
  * incurred with its use.
  *
- * $FreeBSD: src/usr.sbin/sade/termcap.c,v 1.36 2008/05/11 07:13:08 obrien Exp $
+ * $FreeBSD: src/usr.sbin/sade/termcap.c,v 1.37 2008/05/23 14:24:33 ed Exp $
  */
 
 #include "sade.h"
@@ -39,7 +39,7 @@
 {
     char           *term;
     int		   stat;
-    struct ttysize ts;
+    struct winsize ws;
 
     term = getenv("TERM");
     stat = ioctl(STDERR_FILENO, GIO_COLOR, &ColorDisplay);
@@ -95,10 +95,10 @@
 	}
 #endif
     }
-    if (ioctl(0, TIOCGSIZE, &ts) == -1) {
+    if (ioctl(0, TIOCGWINSZ, &ws) == -1) {
 	msgDebug("Unable to get terminal size - errno %d\n", errno);
-	ts.ts_lines = 0;
+	ws.ws_row = 0;
     }
-    StatusLine = ts.ts_lines ? ts.ts_lines - 1: (OnVTY ? VTY_STATUS_LINE : TTY_STATUS_LINE);
+    StatusLine = ws.ws_row ? ws.ws_row - 1: (OnVTY ? VTY_STATUS_LINE : TTY_STATUS_LINE);
     return 0;
 }

==== //depot/projects/dtrace/src/usr.sbin/sysinstall/termcap.c#5 (text+ko) ====

@@ -10,7 +10,7 @@
  * software, nor does the author assume any responsibility for damages
  * incurred with its use.
  *
- * $FreeBSD: src/usr.sbin/sysinstall/termcap.c,v 1.31 2007/03/06 09:32:41 kevlo Exp $
+ * $FreeBSD: src/usr.sbin/sysinstall/termcap.c,v 1.32 2008/05/23 14:24:33 ed Exp $
  */
 
 #include "sysinstall.h"
@@ -75,7 +75,7 @@
 {
     char           *term;
     int		   stat;
-    struct ttysize ts;
+    struct winsize ws;
 
     term = getenv("TERM");
     stat = ioctl(STDERR_FILENO, GIO_COLOR, &ColorDisplay);
@@ -141,10 +141,10 @@
 	}
 #endif
     }
-    if (ioctl(0, TIOCGSIZE, &ts) == -1) {
+    if (ioctl(0, TIOCGWINSZ, &ws) == -1) {
 	msgDebug("Unable to get terminal size - errno %d\n", errno);
-	ts.ts_lines = 0;
+	ws.ws_row = 0;
     }
-    StatusLine = ts.ts_lines ? ts.ts_lines - 1: (OnVTY ? VTY_STATUS_LINE : TTY_STATUS_LINE);
+    StatusLine = ws.ws_row ? ws.ws_row - 1: (OnVTY ? VTY_STATUS_LINE : TTY_STATUS_LINE);
     return 0;
 }

==== //depot/projects/dtrace/www/en/news/news.sgml#7 (text+ko) ====

@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
 <!ENTITY base CDATA "..">
-<!ENTITY date "$FreeBSD: www/en/news/news.sgml,v 1.48 2007/02/06 12:45:46 gabor Exp $">
+<!ENTITY date "$FreeBSD: www/en/news/news.sgml,v 1.49 2008/05/23 12:40:53 jkois Exp $">
 <!ENTITY title "FreeBSD News">
 <!ENTITY % navinclude.about "INCLUDE">
 ]>
@@ -53,22 +53,17 @@
           A site dedicated to delivering BSD-related articles and
           tutorials from a user's perspective.</p>
       </li>
-
+<!--
       <li>
 	<p><b><a href="http://www.bsdnews.org/">BSDnews.org</a></b>:
 	  An online magazine dedicated to all BSDs.</p>
       </li>
-
+-->
       <li>
-	<p><b><a href="http://bsdportal.org/">BSDPortal.org</a></b>:
-	  This site collects the most important news from other
-	  BSD-related sites, providing a good summary about the
-	  progress of all the BSD operating systems.</p>
-      </li>
-
-      <li>
 	<p><b><a href="http://www.daemonnews.org/">DaemonNews</a></b>
+<!--
 	  (<b><a href="http://www.bsdnews.com/">BSDnews.com</a></b>):
+-->
 	  Monthly articles and daily discussion about all things BSD.</p>
       </li>
 

==== //depot/projects/dtrace/www/en/platforms/alpha.sgml#5 (text+ko) ====

@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
 <!ENTITY base CDATA "..">
-<!ENTITY date "$FreeBSD: www/en/platforms/alpha.sgml,v 1.6 2006/08/19 21:20:40 hrs Exp $">
+<!ENTITY date "$FreeBSD: www/en/platforms/alpha.sgml,v 1.7 2008/05/23 18:22:15 jkois Exp $">
 <!ENTITY title "FreeBSD/alpha Project">
 <!ENTITY email 'freebsd-alpha'>
 <!ENTITY % navinclude.developers "INCLUDE">
@@ -10,9 +10,13 @@
   &header;
 
   <p>This page contains information about porting FreeBSD to HP/Compaq Alpha
-    systems.</p>
+    systems.  Discussion of the Alpha port takes place on the <a
+    href="http://lists.freebsd.org/mailman/listinfo/freebsd-alpha">freebsd-alpha</a>
+    mailing list.</p>
+
+  <h3>Status</h3>
 
-  <p><b>Note</b>: As of FreeBSD 7.0, support for the Alpha platform will be
+  <p>As of FreeBSD 7.0, support for the Alpha platform has been
     removed.  The development of new Alpha systems has been discontinued by
     the hardware vendor; this combined with the widespread deployment of
     more mainstream 64-bit platforms, such as the AMD64 and Intel EM64T
@@ -20,12 +24,12 @@
     community interest.  FreeBSD/alpha support will continue in maintenance
     mode for future FreeBSD 6.x releases.</p>
 
-  <h3>FreeBSD/alpha Specific Links</h3>
+  <h3><a name="list">FreeBSD/alpha mailing list</a></h3>
 
-  <ul>
-    <li><a href="mailto:freebsd-alpha at FreeBSD.org">FreeBSD/alpha mailing
-      list</a></li>
-  </ul>
+  <p>To subscribe to this list, send an email to <tt class="EMAIL">&#60;<a
+    href="mailto:freebsd-alpha-subscribe at FreeBSD.org">freebsd-alpha-subscribe at FreeBSD.org</a>&#62;</tt>
+    or visit the <a
+    href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-alpha">mailman interface</a>.</p>
 
   <h3>Other Links of Interest</h3>
 

==== //depot/projects/dtrace/www/share/sgml/commercial.consult.xml#12 (text+ko) ====

@@ -1,12 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE entries PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Commercial Gallery//EN"
                          "http://www.FreeBSD.org/XML/www/share/sgml/gallery.dtd">
-<!-- $FreeBSD: www/share/sgml/commercial.consult.xml,v 1.46 2007/12/20 21:55:49 gabor Exp $ -->
+<!-- $FreeBSD: www/share/sgml/commercial.consult.xml,v 1.47 2008/05/23 14:25:44 jkois Exp $ -->
 
 <entries>
   <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
     <cvs:keyword name="freebsd">
-      $FreeBSD: www/share/sgml/commercial.consult.xml,v 1.46 2007/12/20 21:55:49 gabor Exp $
+      $FreeBSD: www/share/sgml/commercial.consult.xml,v 1.47 2008/05/23 14:25:44 jkois Exp $
     </cvs:keyword>
   </cvs:keywords>
 
@@ -1832,6 +1832,20 @@
     </description>
   </entry>
 
+  <entry id="OpenSourcery" category="europe">
+    <name>Open Sourcery</name>
+    <url>http://www.opensourcery.co.uk</url>
+    <description>
+      Open Sourcery is a UK based company providing support and consultancy
+      for Free and Open Source Software.  We have <a
+      href="http://www.opensourcery.co.uk/open-sourcery/our-experience/"
+      title="Open Source support">experience</a> with a wide variety of
+      Open Source software.  You can find out more and contact us at our
+      <a href="http://www.opensourcery.co.uk"
+      title="Open Source support">website</a>.
+    </description>
+  </entry>
+
   <entry id="Oxalide" category="europe">
     <name>Oxalide</name>
     <url>http://www.oxalide.com/</url>

==== //depot/projects/dtrace/www/share/sgml/commercial.isp.xml#12 (text+ko) ====

@@ -1,12 +1,12 @@
 <?xml version="1.0"?>
 <!DOCTYPE entries PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Commercial Gallery//EN"
                             "http://www.FreeBSD.org/XML/www/share/sgml/gallery.dtd">
-<!-- $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.30 2008/04/14 19:16:59 jkois Exp $ -->
+<!-- $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.31 2008/05/23 13:54:49 jkois Exp $ -->
 
 <entries>
   <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
     <cvs:keyword name="freebsd">
-      $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.30 2008/04/14 19:16:59 jkois Exp $
+      $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.31 2008/05/23 13:54:49 jkois Exp $
     </cvs:keyword>
   </cvs:keywords>
 
@@ -167,6 +167,18 @@
     </description>
   </entry>
 
+  <entry id="iweb">
+    <name>iWeb Technologies Inc.</name>
+    <url>http://iweb.com/dedicated/server-deal/</url>
+    <description>
+      iWeb has been providing reliable and scalable Internet hosting
+      infrastructure solutions with its shared web hosting, dedicated
+      servers, managed hosting and colocation services for over a
+      decade.  Power your valuable online web presence with an iWeb
+      Dedicated Server running FreeBSD.
+    </description>
+  </entry>
+
   <entry id="gradwell">
     <name>gradwell dot com Ltd</name>
     <url>http://www.gradwell.com/</url>


More information about the p4-projects mailing list