From owner-p4-projects@FreeBSD.ORG Fri May 23 20:32:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 369F010656A9; Fri, 23 May 2008 20:32:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBF9B106568D for ; Fri, 23 May 2008 20:32:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C585A8FC29 for ; Fri, 23 May 2008 20:32:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m4NKWBL2032211 for ; Fri, 23 May 2008 20:32:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m4NKWBqC032209 for perforce@freebsd.org; Fri, 23 May 2008 20:32:11 GMT (envelope-from jb@freebsd.org) Date: Fri, 23 May 2008 20:32:11 GMT Message-Id: <200805232032.m4NKWBqC032209@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 142155 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 May 2008 20:32:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=142155 Change 142155 by jb@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 @@ @@ -1080,10 +1080,7 @@ security.mac.portacl.enabled will - enable/disable the policy completely.Due to - a bug the security.mac.portacl.enabled - sysctl variable will not work on - &os; 5.2.1 or previous releases. + enable/disable the policy completely. ==== //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 @@ -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 -__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 #include @@ -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 -__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 -__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 #include +#include #include #include #include @@ -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 -__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 #include +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 -__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 #include @@ -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 -__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 + +/* + * 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 #include #include #include #include #include -/* - * 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 @@ - + ]> @@ -53,22 +53,17 @@ A site dedicated to delivering BSD-related articles and tutorials from a user's perspective.

- +
  • -

    BSDPortal.org: - 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.

    -
  • - -
  • DaemonNews + Monthly articles and daily discussion about all things BSD.

  • ==== //depot/projects/dtrace/www/en/platforms/alpha.sgml#5 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -10,9 +10,13 @@ &header;

    This page contains information about porting FreeBSD to HP/Compaq Alpha - systems.

    + systems. Discussion of the Alpha port takes place on the freebsd-alpha + mailing list.

    + +

    Status

    -

    Note: As of FreeBSD 7.0, support for the Alpha platform will be +

    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.

    -

    FreeBSD/alpha Specific Links

    +

    FreeBSD/alpha mailing list

    - +

    To subscribe to this list, send an email to + or visit the mailman interface.

    Other Links of Interest

    ==== //depot/projects/dtrace/www/share/sgml/commercial.consult.xml#12 (text+ko) ==== @@ -1,12 +1,12 @@ - + - $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 $ @@ -1832,6 +1832,20 @@ + + Open Sourcery + http://www.opensourcery.co.uk + + Open Sourcery is a UK based company providing support and consultancy + for Free and Open Source Software. We have experience with a wide variety of + Open Source software. You can find out more and contact us at our + website. + + + Oxalide http://www.oxalide.com/ ==== //depot/projects/dtrace/www/share/sgml/commercial.isp.xml#12 (text+ko) ==== @@ -1,12 +1,12 @@ - + - $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 $ @@ -167,6 +167,18 @@ + + iWeb Technologies Inc. + http://iweb.com/dedicated/server-deal/ + + 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. + + + gradwell dot com Ltd http://www.gradwell.com/