From owner-p4-projects@FreeBSD.ORG Sun Jul 27 06:32:46 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDC5C37B404; Sun, 27 Jul 2003 06:32:45 -0700 (PDT) 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 6C05637B401 for ; Sun, 27 Jul 2003 06:32:45 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 093A143FA3 for ; Sun, 27 Jul 2003 06:32:45 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6RDWi0U092210 for ; Sun, 27 Jul 2003 06:32:44 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6RDWi7T092207 for perforce@freebsd.org; Sun, 27 Jul 2003 06:32:44 -0700 (PDT) Date: Sun, 27 Jul 2003 06:32:44 -0700 (PDT) Message-Id: <200307271332.h6RDWi7T092207@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35081 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: Sun, 27 Jul 2003 13:32:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=35081 Change 35081 by rwatson@rwatson_tislabs on 2003/07/27 06:31:46 Manually integrate comment changes to MAC kernel configuration from GENERIC. Affected files ... .. //depot/projects/trustedbsd/mac/sys/i386/conf/MAC#46 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/i386/conf/MAC#46 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.384 2003/05/18 20:39:15 ru Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.386 2003/06/08 02:03:01 jmallett Exp $ machine i386 cpu I486_CPU @@ -44,7 +44,7 @@ options UFS_DIRHASH #Improve performance on big directories options MD_ROOT #MD is a potential root device options NFSCLIENT #Network Filesystem Client -options NFS_ROOT #NFS usable as root device, requires NFSCLIENT +options NFS_ROOT #NFS usable as /, requires NFSCLIENT options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options PROCFS #Process filesystem (requires PSEUDOFS) @@ -120,7 +120,7 @@ device mly # Mylex AcceleRAID/eXtremeRAID # SCSI peripherals -device scbus # SCSI bus (required) +device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) From owner-p4-projects@FreeBSD.ORG Sun Jul 27 07:06:31 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF8D037B404; Sun, 27 Jul 2003 07:06:30 -0700 (PDT) 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 70DD937B401 for ; Sun, 27 Jul 2003 07:06:30 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0DD4D43F93 for ; Sun, 27 Jul 2003 07:06:30 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6RE6T0U094834 for ; Sun, 27 Jul 2003 07:06:29 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6RE6TrZ094829 for perforce@freebsd.org; Sun, 27 Jul 2003 07:06:29 -0700 (PDT) Date: Sun, 27 Jul 2003 07:06:29 -0700 (PDT) Message-Id: <200307271406.h6RE6TrZ094829@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35086 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: Sun, 27 Jul 2003 14:06:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=35086 Change 35086 by rwatson@rwatson_tislabs on 2003/07/27 07:06:15 Manually integrate MACALL kernel configuration from MAC. Affected files ... .. //depot/projects/trustedbsd/mac/sys/i386/conf/MACALL#3 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/i386/conf/MACALL#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.384 2003/05/18 20:39:15 ru Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.386 2003/06/08 02:03:01 jmallett Exp $ machine i386 cpu I486_CPU @@ -56,7 +56,7 @@ options UFS_DIRHASH #Improve performance on big directories options MD_ROOT #MD is a potential root device options NFSCLIENT #Network Filesystem Client -options NFS_ROOT #NFS usable as root device, requires NFSCLIENT +options NFS_ROOT #NFS usable as /, requires NFSCLIENT options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options PROCFS #Process filesystem (requires PSEUDOFS) @@ -132,7 +132,7 @@ device mly # Mylex AcceleRAID/eXtremeRAID # SCSI peripherals -device scbus # SCSI bus (required) +device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) From owner-p4-projects@FreeBSD.ORG Sun Jul 27 07:32:06 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24D0E37B405; Sun, 27 Jul 2003 07:32:06 -0700 (PDT) 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 D220737B404 for ; Sun, 27 Jul 2003 07:32:05 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52B9943F85 for ; Sun, 27 Jul 2003 07:32:05 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6REW40U095834 for ; Sun, 27 Jul 2003 07:32:04 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6REW3aD095831 for perforce@freebsd.org; Sun, 27 Jul 2003 07:32:03 -0700 (PDT) Date: Sun, 27 Jul 2003 07:32:03 -0700 (PDT) Message-Id: <200307271432.h6REW3aD095831@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35088 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: Sun, 27 Jul 2003 14:32:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=35088 Change 35088 by rwatson@rwatson_tislabs on 2003/07/27 07:31:34 For the kern.file sysctl, don't reveal file descriptor information for processes the requesting thread isn't permitted to see. This relates to PR 54211 submitted by Pawel Jakub Dawidek, but is a subset solution in a slightly different form. Per the comment, some information about the total number of file descriptors is revealed, but this is a product of the way in which the size is calculated. Once we merge struct file label/access control support, there will also need to be a canseefile() check here. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_descrip.c#45 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_descrip.c#45 (text+ko) ==== @@ -2305,6 +2305,14 @@ struct proc *p; int error, n; + /* + * XXXMAC + * Note: because the number of file descriptors is calculated + * in different ways for sizing vs returning the data, + * there is information leakage from the first loop. However, + * it is of a similar order of magnitude to the leakage from + * global system statistics such as kern.openfiles. + */ sysctl_wire_old_buffer(req, 0); if (req->oldptr == NULL) { n = 16; /* A slight overestimate. */ @@ -2327,6 +2335,10 @@ sx_slock(&allproc_lock); LIST_FOREACH(p, &allproc, p_list) { PROC_LOCK(p); + if (p_cansee(req->td, p) != 0) { + PROC_UNLOCK(p); + continue; + } xf.xf_pid = p->p_pid; xf.xf_uid = p->p_ucred->cr_uid; PROC_UNLOCK(p); From owner-p4-projects@FreeBSD.ORG Sun Jul 27 07:49:30 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 46A2537B405; Sun, 27 Jul 2003 07:49:30 -0700 (PDT) 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 074A937B404 for ; Sun, 27 Jul 2003 07:49:30 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D34243F85 for ; Sun, 27 Jul 2003 07:49:29 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6REnT0U096542 for ; Sun, 27 Jul 2003 07:49:29 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6REnS4R096524 for perforce@freebsd.org; Sun, 27 Jul 2003 07:49:28 -0700 (PDT) Date: Sun, 27 Jul 2003 07:49:28 -0700 (PDT) Message-Id: <200307271449.h6REnS4R096524@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35091 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: Sun, 27 Jul 2003 14:49:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=35091 Change 35091 by rwatson@rwatson_tislabs on 2003/07/27 07:49:06 Add a list of the current outstanding changes in the MAC sys/ tree to review/merge, so that it's centrally available. Affected files ... .. //depot/projects/trustedbsd/mac/MERGE#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 27 19:18:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2053737B404; Sun, 27 Jul 2003 19:18:37 -0700 (PDT) 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 96FA137B401 for ; Sun, 27 Jul 2003 19:18:36 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1870E43F75 for ; Sun, 27 Jul 2003 19:18:36 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6S2IZ0U050128 for ; Sun, 27 Jul 2003 19:18:35 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6S2IZBP050125 for perforce@freebsd.org; Sun, 27 Jul 2003 19:18:35 -0700 (PDT) Date: Sun, 27 Jul 2003 19:18:35 -0700 (PDT) Message-Id: <200307280218.h6S2IZBP050125@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35114 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: Mon, 28 Jul 2003 02:18:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=35114 Change 35114 by marcel@marcel_nfs on 2003/07/27 19:17:34 o Make sure UART is the console before we compare resources. This avoid false positives. o Set sc_leaving until we're completely attached. This allows spurous interrupts to be short-circuited. o UART_IPEND is expected to return 0 when sc_leaving is set. By still calling UART_IPEND, hardware drivers can do whatever is required to avoid a lockup by clearing the interrupt source. o Improve the ns8250 driver WRT interrupts. Affected files ... .. //depot/projects/uart/dev/uart/uart_core.c#11 edit .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#11 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_core.c#11 (text+ko) ==== @@ -241,9 +241,6 @@ struct uart_softc *sc = arg; int ipend; - if (sc->sc_leaving) - return; - ipend = UART_IPEND(sc); if (ipend & UART_IPEND_OVERRUN) uart_intr_overrun(sc); @@ -255,6 +252,7 @@ uart_intr_sigchg(sc); if (ipend & UART_IPEND_TXIDLE) uart_intr_txidle(sc); + if (sc->sc_ttypend != 0) swi_sched(sc->sc_softih, 0); } @@ -310,7 +308,8 @@ sc->sc_bas.regshft = regshft; sc->sc_bas.rclk = (rclk == 0) ? sc->sc_class->uc_rclk : rclk; - if (uart_cpu_eqres(&sc->sc_bas, &uart_console.bas)) { + if (uart_console.consdev != NULL && + uart_cpu_eqres(&sc->sc_bas, &uart_console.bas)) { sc->sc_console = 1; /* XXX check if ops matches class. */ } @@ -346,6 +345,13 @@ device_set_softc(dev, sc); /* + * Protect ourselves against interrupts while we're not completely + * finished attaching and initializing. We don't expect interrupts + * until after UART_ATTACH() though. + */ + sc->sc_leaving = 1; + + /* * Re-allocate. We expect that the softc contains the information * collected by uart_bus_probe() intact. */ @@ -441,6 +447,7 @@ swi_add(&tty_ithd, uart_driver_name, uart_tty_intr, sc, SWI_TTY, INTR_TYPE_TTY, &sc->sc_softih); + sc->sc_leaving = 0; return (0); fail: ==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#11 (text+ko) ==== @@ -370,14 +370,18 @@ ns8250->lcr = uart_getreg(bas, REG_LCR); ns8250->fcr = FCR_ENABLE | FCR_RX_MEDL; uart_setreg(bas, REG_FCR, ns8250->fcr); - uart_setreg(bas, REG_IER, - IER_ERXRDY | IER_ETXRDY | IER_ERLS | IER_EMSC); uart_barrier(bas); + ns8250_flush(bas, UART_FLUSH_RECEIVER|UART_FLUSH_TRANSMITTER); if (ns8250->mcr & MCR_DTR) ns8250->signals |= UART_SIG_DTR; if (ns8250->mcr & MCR_RTS) ns8250->signals |= UART_SIG_RTS; ns8250_bus_getsig(sc); + + uart_setreg(bas, REG_IER, + IER_ERXRDY | IER_ETXRDY | IER_ERLS | IER_EMSC); + uart_barrier(bas); + return (0); } @@ -433,14 +437,16 @@ ipend |= UART_IPEND_BREAK; if (lsr & LSR_RXRDY) ipend |= UART_IPEND_RXREADY; - if (lsr & LSR_TEMT) + if (lsr & LSR_TEMT) { + (void)uart_getreg(bas, REG_IIR); ipend |= UART_IPEND_TXIDLE; + } sig = ns8250_bus_getsig(sc); if (sig & UART_SIGMASK_DELTA) { ns8250->signals = sig; /* restore delta bits. */ ipend |= UART_IPEND_SIGCHG; } - return (ipend); + return ((sc->sc_leaving) ? 0 : ipend); } static int From owner-p4-projects@FreeBSD.ORG Sun Jul 27 23:11:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9460437B404; Sun, 27 Jul 2003 23:11:20 -0700 (PDT) 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 20AD037B401 for ; Sun, 27 Jul 2003 23:11:20 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A5FAD43F93 for ; Sun, 27 Jul 2003 23:11:19 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6S6BJ0U067636 for ; Sun, 27 Jul 2003 23:11:19 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6S6BJd5067633 for perforce@freebsd.org; Sun, 27 Jul 2003 23:11:19 -0700 (PDT) Date: Sun, 27 Jul 2003 23:11:19 -0700 (PDT) Message-Id: <200307280611.h6S6BJd5067633@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35119 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: Mon, 28 Jul 2003 06:11:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=35119 Change 35119 by marcel@marcel_nfs on 2003/07/27 23:11:17 o Simplify the TX buffer. We always send in chucks the size of the TX FIFO. o Add a txbusy flag that's set when the transmitter is actually transmitting. o Improve UART_IPEND for the ns8250. Affected files ... .. //depot/projects/uart/dev/uart/uart_bus.h#11 edit .. //depot/projects/uart/dev/uart/uart_core.c#12 edit .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#12 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_bus.h#11 (text+ko) ==== @@ -100,6 +100,7 @@ int sc_hasfifo:1; /* This UART has FIFOs. */ int sc_leaving:1; /* This UART is going away. */ int sc_polled:1; /* This UART has no interrupts. */ + int sc_txbusy:1; /* This UART is transmitting. */ /* Receiver data. */ uint16_t *sc_rxbuf; @@ -110,10 +111,8 @@ /* Transmitter data. */ uint8_t *sc_txbuf; - int sc_txbufsz; - int sc_txput; - int sc_txget; - int sc_txfifosz; /* Size of TX FIFO. */ + int sc_txdatasz; + int sc_txfifosz; /* Size of TX FIFO and buffer. */ dev_t sc_si; void *sc_softih; @@ -176,46 +175,4 @@ return (0); } -/* - * Transmit buffer operations. - */ -static __inline int -uart_tx_empty(struct uart_softc *sc) -{ - return ((sc->sc_txget == sc->sc_txput) ? 1 : 0); -} - -static __inline int -uart_tx_full(struct uart_softc *sc) -{ - return ((sc->sc_txput + 1 < sc->sc_txbufsz) - ? (sc->sc_txput + 1 == sc->sc_txget) : (sc->sc_txget == 0)); -} - -static __inline int -uart_tx_get(struct uart_softc *sc) -{ - int ptr, c; - - ptr = sc->sc_txget; - if (ptr == sc->sc_txput) - return (-1); - c = sc->sc_txbuf[ptr++]; - sc->sc_txget = (ptr < sc->sc_txbufsz) ? ptr : 0; - return (c); -} - -static __inline int -uart_tx_put(struct uart_softc *sc, int c) -{ - int ptr; - - ptr = (sc->sc_txput + 1 < sc->sc_txbufsz) ? sc->sc_txput + 1 : 0; - if (ptr == sc->sc_txget) - return (ENOSPC); - sc->sc_txbuf[sc->sc_txput] = c; - sc->sc_txput = ptr; - return (0); -} - #endif /* _DEV_UART_BUS_H_ */ ==== //depot/projects/uart/dev/uart/uart_core.c#12 (text+ko) ==== @@ -75,7 +75,6 @@ uart_tty_oproc(struct tty *tp) { struct uart_softc *sc; - int c; sc = tp->t_dev->si_drv1; if (sc == NULL || sc->sc_leaving) @@ -92,12 +91,12 @@ return; } - while (!uart_tx_full(sc) && tp->t_outq.c_cc > 0) { - c = getc(&tp->t_outq); - uart_tx_put(sc, c); + if (tp->t_outq.c_cc > 0 && !sc->sc_txbusy) { + sc->sc_txdatasz = q_to_b(&tp->t_outq, sc->sc_txbuf, + sc->sc_txfifosz); + tp->t_state |= TS_BUSY; + UART_TRANSMIT(sc); } - tp->t_state |= TS_BUSY; - UART_TRANSMIT(sc); ttwwakeup(tp); } @@ -229,10 +228,10 @@ static void uart_intr_txidle(struct uart_softc *sc) { - if (sc->sc_txget != sc->sc_txput) - UART_TRANSMIT(sc); - else + if (sc->sc_txbusy) { + sc->sc_txbusy = 0; atomic_set_32(&sc->sc_ttypend, UART_IPEND_TXIDLE); + } } static void @@ -389,8 +388,7 @@ sc->sc_rxbufsz = IBUFSIZ; sc->sc_rxbuf = malloc(sc->sc_rxbufsz * sizeof(*sc->sc_rxbuf), M_UART, M_WAITOK); - sc->sc_txbufsz = OBUFSIZ; - sc->sc_txbuf = malloc(sc->sc_txbufsz * sizeof(*sc->sc_txbuf), + sc->sc_txbuf = malloc(sc->sc_txfifosz * sizeof(*sc->sc_txbuf), M_UART, M_WAITOK); error = UART_ATTACH(sc); ==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#12 (text+ko) ==== @@ -423,29 +423,31 @@ static int ns8250_bus_ipend(struct uart_softc *sc) { - struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc; struct uart_bas *bas; - int ipend, sig; - uint8_t lsr; + int ipend; + uint8_t iir, lsr; bas = &sc->sc_bas; + iir = uart_getreg(bas, REG_IIR); + if (iir & IIR_NOPEND) + return (0); + ipend = 0; - lsr = uart_getreg(bas, REG_LSR); - if (lsr & LSR_OE) - ipend |= UART_IPEND_OVERRUN; - if (lsr & LSR_BI) - ipend |= UART_IPEND_BREAK; - if (lsr & LSR_RXRDY) - ipend |= UART_IPEND_RXREADY; - if (lsr & LSR_TEMT) { - (void)uart_getreg(bas, REG_IIR); - ipend |= UART_IPEND_TXIDLE; + if (iir & IIR_RXRDY) { + lsr = uart_getreg(bas, REG_LSR); + if (lsr & LSR_OE) + ipend |= UART_IPEND_OVERRUN; + if (lsr & LSR_BI) + ipend |= UART_IPEND_BREAK; + if (lsr & LSR_RXRDY) + ipend |= UART_IPEND_RXREADY; + } else { + if (iir & IIR_TXRDY) + ipend |= UART_IPEND_TXIDLE; + else + ipend |= UART_IPEND_SIGCHG; } - sig = ns8250_bus_getsig(sc); - if (sig & UART_SIGMASK_DELTA) { - ns8250->signals = sig; /* restore delta bits. */ - ipend |= UART_IPEND_SIGCHG; - } + return ((sc->sc_leaving) ? 0 : ipend); } @@ -626,15 +628,16 @@ ns8250_bus_transmit(struct uart_softc *sc) { struct uart_bas *bas; - int xc; + int i; bas = &sc->sc_bas; - while (!uart_tx_empty(sc)) { - if ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0) - break; - xc = uart_tx_get(sc); - uart_setreg(bas, REG_DATA, xc); + + for (i = 0; i < sc->sc_txdatasz; i++) { + while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0) + ; + uart_setreg(bas, REG_DATA, sc->sc_txbuf[i]); uart_barrier(bas); } + sc->sc_txbusy = 1; return (0); } From owner-p4-projects@FreeBSD.ORG Mon Jul 28 09:14:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D351037B404; Mon, 28 Jul 2003 09:14:36 -0700 (PDT) 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 64B4537B401 for ; Mon, 28 Jul 2003 09:14:36 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91DAD43FCB for ; Mon, 28 Jul 2003 09:14:35 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6SGEZ0U016378 for ; Mon, 28 Jul 2003 09:14:35 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6SGEYNZ016375 for perforce@freebsd.org; Mon, 28 Jul 2003 09:14:34 -0700 (PDT) Date: Mon, 28 Jul 2003 09:14:34 -0700 (PDT) Message-Id: <200307281614.h6SGEYNZ016375@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35131 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: Mon, 28 Jul 2003 16:14:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=35131 Change 35131 by rwatson@rwatson_tislabs on 2003/07/28 09:13:43 p_cansee() in kern.file merged. Affected files ... .. //depot/projects/trustedbsd/mac/MERGE#2 edit Differences ... ==== //depot/projects/trustedbsd/mac/MERGE#2 (text+ko) ==== @@ -3,8 +3,6 @@ devfs changes to pass complete paths of objects into MAC Framework for label initialization. - p_cansee() in kern.file handling. - mac_check_vnode_deletextattr() mac_check_vnode_listextattr() From owner-p4-projects@FreeBSD.ORG Mon Jul 28 11:47:48 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DB2337B404; Mon, 28 Jul 2003 11:47:47 -0700 (PDT) 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 D882337B401 for ; Mon, 28 Jul 2003 11:47:46 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9016343FAF for ; Mon, 28 Jul 2003 11:47:45 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6SIlj0U025776 for ; Mon, 28 Jul 2003 11:47:45 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6SIlglv025773 for perforce@freebsd.org; Mon, 28 Jul 2003 11:47:42 -0700 (PDT) Date: Mon, 28 Jul 2003 11:47:42 -0700 (PDT) Message-Id: <200307281847.h6SIlglv025773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 35135 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: Mon, 28 Jul 2003 18:47:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=35135 Change 35135 by sam@sam_ebb on 2003/07/28 11:47:24 IFC Affected files ... .. //depot/projects/netperf/sys/alpha/alpha/busdma_machdep.c#2 integrate .. //depot/projects/netperf/sys/alpha/alpha/machdep.c#2 integrate .. //depot/projects/netperf/sys/alpha/alpha/mp_machdep.c#2 integrate .. //depot/projects/netperf/sys/alpha/alpha/pmap.c#2 integrate .. //depot/projects/netperf/sys/alpha/alpha/support.s#2 integrate .. //depot/projects/netperf/sys/alpha/alpha/vm_machdep.c#2 integrate .. //depot/projects/netperf/sys/alpha/include/alpha_cpu.h#2 integrate .. //depot/projects/netperf/sys/alpha/include/bus.h#2 integrate .. //depot/projects/netperf/sys/alpha/include/ucontext.h#2 integrate .. //depot/projects/netperf/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/netperf/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/amd64-gdbstub.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/atomic.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/autoconf.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/critical.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/db_disasm.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/db_interface.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/elf_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/in_cksum.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/initcpu.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/mem.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/tsc.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_genassym.c#2 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_misc.c#2 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/netperf/sys/amd64/include/bus_dma.h#2 integrate .. //depot/projects/netperf/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/netperf/sys/amd64/isa/intr_machdep.c#2 integrate .. //depot/projects/netperf/sys/amd64/isa/isa.c#2 integrate .. //depot/projects/netperf/sys/amd64/isa/isa_dma.c#2 integrate .. //depot/projects/netperf/sys/amd64/isa/ithread.c#2 integrate .. //depot/projects/netperf/sys/amd64/isa/npx.c#2 integrate .. //depot/projects/netperf/sys/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/netperf/sys/amd64/pci/pci_cfgreg.c#2 integrate .. //depot/projects/netperf/sys/cam/cam_ccb.h#2 integrate .. //depot/projects/netperf/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/netperf/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/netperf/sys/coda/coda_fbsd.c#2 integrate .. //depot/projects/netperf/sys/coda/coda_vnops.c#2 integrate .. //depot/projects/netperf/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/netperf/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/netperf/sys/conf/kmod.mk#2 integrate .. //depot/projects/netperf/sys/conf/newvers.sh#2 integrate .. //depot/projects/netperf/sys/contrib/dev/acpica/dbcmds.c#2 integrate .. //depot/projects/netperf/sys/contrib/dev/ath/ah.h#2 edit .. //depot/projects/netperf/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#2 edit .. //depot/projects/netperf/sys/contrib/dev/ath/version.h#2 edit .. //depot/projects/netperf/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/netperf/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath.c#2 edit .. //depot/projects/netperf/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/netperf/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/netperf/sys/dev/buslogic/bt.c#2 integrate .. //depot/projects/netperf/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/netperf/sys/dev/firewire/fwohcireg.h#2 integrate .. //depot/projects/netperf/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/netperf/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/netperf/sys/dev/md/md.c#2 integrate .. //depot/projects/netperf/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/netperf/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/netperf/sys/dev/pccard/pccarddevs.h#2 integrate .. //depot/projects/netperf/sys/dev/raidframe/rf_freebsdkintf.c#2 integrate .. //depot/projects/netperf/sys/dev/rp/rp.c#2 integrate .. //depot/projects/netperf/sys/dev/usb/umass.c#2 integrate .. //depot/projects/netperf/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/netperf/sys/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/netperf/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/netperf/sys/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/netperf/sys/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/netperf/sys/fs/nwfs/nwfs_io.c#2 integrate .. //depot/projects/netperf/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/netperf/sys/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/netperf/sys/fs/smbfs/smbfs_vnops.c#2 integrate .. //depot/projects/netperf/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/netperf/sys/fs/unionfs/union_subr.c#2 integrate .. //depot/projects/netperf/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/netperf/sys/gnu/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/mpapic.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/netperf/sys/i386/ibcs2/imgact_coff.c#2 integrate .. //depot/projects/netperf/sys/i386/include/apic.h#2 integrate .. //depot/projects/netperf/sys/i386/include/asm.h#2 integrate .. //depot/projects/netperf/sys/i386/include/bus_dma.h#2 integrate .. //depot/projects/netperf/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/netperf/sys/i386/isa/pcvt/pcvt_hdr.h#2 integrate .. //depot/projects/netperf/sys/i4b/capi/iavc/iavc.h#2 integrate .. //depot/projects/netperf/sys/i4b/capi/iavc/iavc_lli.c#2 integrate .. //depot/projects/netperf/sys/ia64/conf/SKI#2 integrate .. //depot/projects/netperf/sys/ia64/ia64/busdma_machdep.c#2 integrate .. //depot/projects/netperf/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/netperf/sys/ia64/ia64/mem.c#2 integrate .. //depot/projects/netperf/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/netperf/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/netperf/sys/ia64/include/_regset.h#2 integrate .. //depot/projects/netperf/sys/ia64/include/acpica_machdep.h#2 integrate .. //depot/projects/netperf/sys/ia64/include/bus.h#2 integrate .. //depot/projects/netperf/sys/ia64/include/cpu.h#2 integrate .. //depot/projects/netperf/sys/ia64/include/setjmp.h#2 integrate .. //depot/projects/netperf/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_acct.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_alq.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_exec.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_linker.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_sig.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/netperf/sys/kern/link_elf.c#2 integrate .. //depot/projects/netperf/sys/kern/subr_mbuf.c#3 integrate .. //depot/projects/netperf/sys/kern/tty_cons.c#2 integrate .. //depot/projects/netperf/sys/kern/uipc_socket2.c#2 integrate .. //depot/projects/netperf/sys/kern/uipc_syscalls.c#2 edit .. //depot/projects/netperf/sys/kern/vfs_export.c#3 integrate .. //depot/projects/netperf/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/netperf/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/netperf/sys/kern/vnode_if.src#2 integrate .. //depot/projects/netperf/sys/libkern/scanc.c#2 integrate .. //depot/projects/netperf/sys/net/if_spppsubr.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_cm.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_device.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_if.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_ioctl.h#2 integrate .. //depot/projects/netperf/sys/netatm/atm_proto.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_socket.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_subr.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_input.c#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_output.c#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_usrreq.c#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_vcm.c#2 integrate .. //depot/projects/netperf/sys/netatm/spans/spans_cls.c#2 integrate .. //depot/projects/netperf/sys/netatm/spans/spans_proto.c#2 integrate .. //depot/projects/netperf/sys/netatm/spans/spans_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/uni/sscf_uni.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/sscf_uni_lower.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/sscf_uni_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/uni/sscop_pdu.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/sscop_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/uni/uniarp.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/uniarp_cache.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/uniarp_input.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/uniarp_vcm.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/uniip_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_decode.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_msg.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_proto.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_subr.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_var.h#2 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_vc_state.c#2 integrate .. //depot/projects/netperf/sys/netinet/ip_dummynet.c#2 edit .. //depot/projects/netperf/sys/netinet6/ip6_fw.c#2 integrate .. //depot/projects/netperf/sys/netncp/ncp_ncp.c#2 integrate .. //depot/projects/netperf/sys/netsmb/smb_conn.h#2 integrate .. //depot/projects/netperf/sys/netsmb/smb_usr.c#2 integrate .. //depot/projects/netperf/sys/nfsclient/nfs_lock.c#2 integrate .. //depot/projects/netperf/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/netperf/sys/pci/if_dc.c#2 integrate .. //depot/projects/netperf/sys/pci/if_rl.c#2 integrate .. //depot/projects/netperf/sys/pci/if_sis.c#2 integrate .. //depot/projects/netperf/sys/pci/if_xl.c#2 integrate .. //depot/projects/netperf/sys/pci/ncr.c#2 integrate .. //depot/projects/netperf/sys/powerpc/include/bus.h#2 integrate .. //depot/projects/netperf/sys/powerpc/powerpc/busdma_machdep.c#2 integrate .. //depot/projects/netperf/sys/powerpc/powerpc/pmap.c#2 integrate .. //depot/projects/netperf/sys/sparc64/include/bus.h#2 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/bus_machdep.c#2 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/iommu.c#2 integrate .. //depot/projects/netperf/sys/sys/cdefs.h#2 integrate .. //depot/projects/netperf/sys/sys/vnode.h#2 integrate .. //depot/projects/netperf/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/netperf/sys/ufs/ufs/ufs_extattr.c#2 integrate .. //depot/projects/netperf/sys/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/netperf/sys/vm/swap_pager.c#2 integrate .. //depot/projects/netperf/sys/vm/uma_core.c#2 integrate .. //depot/projects/netperf/sys/vm/vm_contig.c#2 integrate .. //depot/projects/netperf/sys/vm/vm_kern.c#2 integrate .. //depot/projects/netperf/sys/vm/vm_object.c#2 integrate Differences ... ==== //depot/projects/netperf/sys/alpha/alpha/busdma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.42 2003/07/01 21:20:51 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.43 2003/07/27 13:52:09 mux Exp $"); #include #include @@ -413,24 +413,29 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = &nobounce_dmamap; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa(Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -894,13 +899,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/netperf/sys/alpha/alpha/machdep.c#2 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.205 2003/07/15 00:11:03 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.208 2003/07/27 23:45:47 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -548,6 +548,9 @@ alpha_pal_wrmces(alpha_pal_rdmces() & ~(ALPHA_MCES_DSC|ALPHA_MCES_DPC)); + /* Clear userland thread pointer */ + alpha_pal_wrunique(0); + /* * Find out what hardware we're on, and do basic initialization. */ @@ -2024,8 +2027,11 @@ * When the thread is the current thread, the user stack pointer * is not in the PCB; it must be read from the PAL. */ - if (td == curthread) + if (td == curthread) { mcp->mc_regs[FRAME_SP] = alpha_pal_rdusp(); + mcp->mc_thrptr = alpha_pal_rdunique(); + } else + mcp->mc_thrptr = 0; mcp->mc_format = _MC_REV0_TRAPFRAME; PROC_LOCK(curthread->td_proc); @@ -2047,6 +2053,12 @@ else if ((ret = set_fpcontext(td, mcp)) != 0) return (ret); + /* + * NOTE: We only need to restore mc_thrptr when the ucontext format + * is _MC_REV0_TRAPFRAME. Only get_mcontext() above creates such + * contexts and that's also the only place where we save the thread + * pointer in the context. + */ if (mcp->mc_format == _MC_REV0_SIGFRAME) { set_regs(td, (struct reg *)&mcp->mc_regs); val = (mcp->mc_regs[R_PS] | ALPHA_PSL_USERSET) & @@ -2056,10 +2068,12 @@ td->td_frame->tf_regs[FRAME_FLAGS] = 0; if (td == curthread) alpha_pal_wrusp(mcp->mc_regs[R_SP]); - } else { - if (td == curthread) + if (td == curthread) { alpha_pal_wrusp(mcp->mc_regs[FRAME_SP]); + alpha_pal_wrunique(mcp->mc_thrptr); + } + /* * The context is a trapframe, so just copy it over the * threads frame. @@ -2361,9 +2375,3 @@ pcpu->pc_idlepcb.apcb_ptbr = thread0.td_pcb->pcb_hw.apcb_ptbr; pcpu->pc_current_asngen = 1; } - -intptr_t -casuptr(intptr_t *p, intptr_t old, intptr_t new) -{ - return (-1); -} ==== //depot/projects/netperf/sys/alpha/alpha/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.44 2003/07/03 14:33:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.45 2003/07/27 23:45:48 marcel Exp $"); #include #include @@ -137,6 +137,9 @@ */ alpha_pal_wrval((u_int64_t) pcpup); + /* Clear userland thread pointer. */ + alpha_pal_wrunique(0); + /* * Point interrupt/exception vectors to our own. */ ==== //depot/projects/netperf/sys/alpha/alpha/pmap.c#2 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.130 2003/07/06 20:32:42 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.131 2003/07/25 18:58:39 alc Exp $"); #include #include @@ -2130,7 +2130,7 @@ mpte = NULL; for (i = 0; i < PAGEORDER_SIZE; i++) { - vm_object_t lobject; + vm_object_t backing_object, lobject; pt_entry_t *pte; addr = addra + pmap_prefault_pageorder[i]; @@ -2150,15 +2150,18 @@ pindex = ((addr - entry->start) + entry->offset) >> PAGE_SHIFT; lobject = object; - for (m = vm_page_lookup(lobject, pindex); - (!m && (lobject->type == OBJT_DEFAULT) && (lobject->backing_object)); - lobject = lobject->backing_object) { + VM_OBJECT_LOCK(lobject); + while ((m = vm_page_lookup(lobject, pindex)) == NULL && + lobject->type == OBJT_DEFAULT && + (backing_object = lobject->backing_object) != NULL) { if (lobject->backing_object_offset & PAGE_MASK) break; - pindex += (lobject->backing_object_offset >> PAGE_SHIFT); - m = vm_page_lookup(lobject->backing_object, pindex); + pindex += lobject->backing_object_offset >> PAGE_SHIFT; + VM_OBJECT_LOCK(backing_object); + VM_OBJECT_UNLOCK(lobject); + lobject = backing_object; } - + VM_OBJECT_UNLOCK(lobject); /* * give-up when a page is not in memory */ ==== //depot/projects/netperf/sys/alpha/alpha/support.s#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/alpha/support.s,v 1.14 2003/06/29 17:14:42 marcel Exp $ + * $FreeBSD: src/sys/alpha/alpha/support.s,v 1.15 2003/07/24 07:49:45 marcel Exp $ */ /* @@ -59,7 +59,35 @@ .text /**************************************************************************/ - + +/* + * intptr_t + * casuptr(intptr_t *p, intptr_t old, intptr_t new) + */ + LEAF(casuptr, 3) + LDGP(pv) + + ldiq t0, VM_MAXUSER_ADDRESS /* verify address validity */ + cmpult a0, t0, t1 + beq t1, fusufault + + lda t0, fusufault /* trap faults */ + ldq t2, PC_CURTHREAD(pcpup) + ldq t2, TD_PCB(t2) + + stq t0, PCB_ONFAULT(t2) +1: + ldq_l v0, 0(a0) /* try to load the old value */ + cmpeq v0, a1, t0 /* compare */ + beq t0, 2f /* exit if not equal */ + mov a2, t0 /* setup value to write */ + stq_c t0, 0(a0) /* write if address still locked */ + beq t0, 1b /* if it failed, spin */ +2: + stq zero, PCB_ONFAULT(t2) /* clean up */ + RET + END(casuptr) + /* * fu{byte,word} : fetch a byte (word) from user memory */ ==== //depot/projects/netperf/sys/alpha/alpha/vm_machdep.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.88 2003/06/15 00:54:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.89 2003/07/27 23:45:48 marcel Exp $"); #include #include @@ -145,6 +145,7 @@ */ bcopy(td1->td_pcb, td2->td_pcb, sizeof(struct pcb)); td2->td_pcb->pcb_hw.apcb_usp = alpha_pal_rdusp(); + td2->td_pcb->pcb_hw.apcb_unique = 0; td2->td_pcb->pcb_hw.apcb_flags &= ~ALPHA_PCB_FLAGS_FEN; /* ==== //depot/projects/netperf/sys/alpha/include/alpha_cpu.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/alpha_cpu.h,v 1.9 2002/10/25 20:22:12 jhb Exp $ */ +/* $FreeBSD: src/sys/alpha/include/alpha_cpu.h,v 1.10 2003/07/24 07:41:08 marcel Exp $ */ /* From: NetBSD: alpha_cpu.h,v 1.15 1997/09/20 19:02:34 mjacob Exp */ /* @@ -459,6 +459,23 @@ } static __inline void +alpha_pal_wrunique(u_int64_t tp) +{ + register u_int64_t a0 __asm__("$16") = tp; + __asm__ __volatile__("call_pal 0x9f # PAL_wrunique" + : "+r" (a0) : : "$1", "$22", "$23", "$24", "$25"); +} + +static __inline u_int64_t +alpha_pal_rdunique(void) +{ + register u_int64_t v0 __asm__("$0"); + __asm__ __volatile__("call_pal 0x9e # PAL_rdunique" + : "=r" (v0) : : "$1", "$22", "$23", "$24", "$25"); + return (v0); +} + +static __inline void alpha_pal_tbi(u_int64_t op, u_int64_t va) { register u_int64_t a0 __asm__("$16") = op; ==== //depot/projects/netperf/sys/alpha/include/bus.h#2 (text+ko) ==== @@ -67,7 +67,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/alpha/include/bus.h,v 1.22 2003/07/01 15:51:50 scottl Exp $ */ +/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.23 2003/07/27 13:52:09 mux Exp $ */ #ifndef _ALPHA_BUS_H_ #define _ALPHA_BUS_H_ @@ -470,6 +470,7 @@ #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ #define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ #define BUS_DMA_COHERENT 0x04 /* hint: map memory in a coherent way */ +#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ #define BUS_DMA_ISA 0x10 /* map memory for ISA dma */ #define BUS_DMA_BUS2 0x20 /* placeholders for bus functions... */ #define BUS_DMA_BUS3 0x40 ==== //depot/projects/netperf/sys/alpha/include/ucontext.h#2 (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/alpha/include/ucontext.h,v 1.6 2002/11/16 06:35:51 deischen Exp $ + * $FreeBSD: src/sys/alpha/include/ucontext.h,v 1.7 2003/07/24 07:34:31 marcel Exp $ */ #ifndef _MACHINE_UCONTEXT_H_ @@ -50,7 +50,8 @@ #define _MC_REV0_SIGFRAME 1 /* context is a signal frame */ #define _MC_REV0_TRAPFRAME 2 /* context is a trap frame */ long mc_format; - long mc_spare[6]; + long mc_thrptr; /* Thread pointer */ + long mc_spare[5]; } mcontext_t; #if defined(_KERNEL) && defined(COMPAT_FREEBSD4) ==== //depot/projects/netperf/sys/amd64/acpica/OsdEnvironment.c#2 (text+ko) ==== @@ -23,10 +23,11 @@ * LIABILITY, OR TORT (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/amd64/acpica/OsdEnvironment.c,v 1.9 2003/05/31 06:47:05 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/acpica/OsdEnvironment.c,v 1.10 2003/07/25 21:10:18 obrien Exp $"); + /* * 6.1 : Environmental support */ ==== //depot/projects/netperf/sys/amd64/acpica/acpi_machdep.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (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/amd64/acpica/acpi_machdep.c,v 1.9 2003/05/01 01:05:21 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.10 2003/07/25 21:10:19 obrien Exp $"); + #include #include ==== //depot/projects/netperf/sys/amd64/acpica/acpi_wakeup.c#2 (text+ko) ==== @@ -23,9 +23,11 @@ * LIABILITY, OR TORT (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/amd64/acpica/acpi_wakeup.c,v 1.19 2003/05/01 01:05:21 peter Exp $ */ + +#include +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.20 2003/07/25 21:10:19 obrien Exp $"); + #include #include ==== //depot/projects/netperf/sys/amd64/amd64/amd64-gdbstub.c#2 (text+ko) ==== @@ -92,7 +92,8 @@ * ****************************************************************************/ -/* $FreeBSD: src/sys/amd64/amd64/amd64-gdbstub.c,v 1.24 2003/05/31 22:00:57 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64-gdbstub.c,v 1.25 2003/07/25 21:15:44 obrien Exp $"); #include #include ==== //depot/projects/netperf/sys/amd64/amd64/atomic.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (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/amd64/amd64/atomic.c,v 1.4 2000/09/06 11:21:14 phk Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/atomic.c,v 1.5 2003/07/25 21:15:44 obrien Exp $"); + /* This file creates publically callable functions to perform various * simple arithmetic on memory which is atomic in the presence of * interrupts and multiple processors. ==== //depot/projects/netperf/sys/amd64/amd64/autoconf.c#2 (text+ko) ==== @@ -33,10 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.173 2003/05/01 01:05:21 peter Exp $ + * @(#)autoconf.c 7.1 (Berkeley) 5/9/91 */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); + /* * Setup the system to run on the current machine. * ==== //depot/projects/netperf/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.49 2003/07/01 19:16:48 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.50 2003/07/27 13:52:08 mux Exp $"); #include #include @@ -390,25 +390,30 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -809,13 +814,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/netperf/sys/amd64/amd64/critical.c#2 (text+ko) ==== @@ -1,10 +1,11 @@ /*- * Copyright (c) 2001 Matthew Dillon. This code is distributed under * the BSD copyright, /usr/src/COPYRIGHT. - * - * $FreeBSD: src/sys/amd64/amd64/critical.c,v 1.9 2003/05/01 01:05:21 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/critical.c,v 1.10 2003/07/25 21:15:44 obrien Exp $"); + #include #include #include ==== //depot/projects/netperf/sys/amd64/amd64/db_disasm.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. - * - * $FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.26 2002/03/23 14:27:06 bde Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.27 2003/07/25 21:15:44 obrien Exp $"); + /* * Instruction disassembler. */ ==== //depot/projects/netperf/sys/amd64/amd64/db_interface.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. - * - * $FreeBSD: src/sys/amd64/amd64/db_interface.c,v 1.73 2003/05/30 01:01:07 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_interface.c,v 1.74 2003/07/25 21:15:44 obrien Exp $"); + /* * Interface to new debugger. */ ==== //depot/projects/netperf/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. - * - * $FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.57 2003/05/31 22:02:11 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.58 2003/07/25 21:15:44 obrien Exp $"); + #include #include #include ==== //depot/projects/netperf/sys/amd64/amd64/dump_machdep.c#2 (text+ko) ==== @@ -31,10 +31,11 @@ * LIABILITY, OR TORT (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/amd64/amd64/dump_machdep.c,v 1.8 2003/05/01 01:05:21 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.9 2003/07/25 21:15:44 obrien Exp $"); + #include #include #include ==== //depot/projects/netperf/sys/amd64/amd64/elf_machdep.c#2 (text+ko) ==== @@ -21,10 +21,11 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (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/amd64/amd64/elf_machdep.c,v 1.15 2003/05/11 22:40:24 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.16 2003/07/25 21:15:44 obrien Exp $"); + #include #include #include ==== //depot/projects/netperf/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,10 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.147 2003/05/23 05:04:53 peter Exp $ + * @(#)genassym.c 5.11 (Berkeley) 5/10/91 */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.148 2003/07/25 21:15:44 obrien Exp $"); + #include "opt_compat.h" #include "opt_kstack_pages.h" ==== //depot/projects/netperf/sys/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -38,9 +38,11 @@ * SUCH DAMAGE. * * from: Id: machdep.c,v 1.193 1996/06/18 01:22:04 bde Exp - * $FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.125 2003/05/27 21:59:56 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.126 2003/07/25 21:15:44 obrien Exp $"); + #include "opt_cpu.h" #include ==== //depot/projects/netperf/sys/amd64/amd64/in_cksum.c#2 (text+ko) ==== @@ -1,4 +1,3 @@ -/* $FreeBSD: src/sys/amd64/amd64/in_cksum.c,v 1.3 2001/10/05 18:58:22 dfr Exp $ */ /* $NetBSD: in_cksum.c,v 1.7 1997/09/02 13:18:15 thorpej Exp $ */ /* @@ -39,6 +38,7 @@ */ #include /* RCS ID & Copyright macro defns */ +__FBSDID("$FreeBSD: src/sys/amd64/amd64/in_cksum.c,v 1.4 2003/07/25 21:15:44 obrien Exp $"); #include #include ==== //depot/projects/netperf/sys/amd64/amd64/initcpu.c#2 (text+ko) ==== @@ -25,10 +25,11 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (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/amd64/amd64/initcpu.c,v 1.45 2003/05/01 01:05:21 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.46 2003/07/25 21:15:44 obrien Exp $"); + #include "opt_cpu.h" #include ==== //depot/projects/netperf/sys/amd64/amd64/legacy.c#2 (text+ko) ==== @@ -25,10 +25,11 @@ * OR TORT (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/amd64/amd64/legacy.c,v 1.50 2003/05/01 01:05:21 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.51 2003/07/25 21:15:44 obrien Exp $"); + /* * This code implements a system driver for legacy systems that do not * support ACPI or when ACPI support is not present in the kernel. ==== //depot/projects/netperf/sys/amd64/amd64/machdep.c#2 (text+ko) ==== @@ -34,10 +34,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.584 2003/07/15 00:11:03 davidxu Exp $ + * @(#)machdep.c 7.4 (Berkeley) 6/3/91 */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.587 2003/07/25 21:15:44 obrien Exp $"); + #include "opt_atalk.h" #include "opt_compat.h" #include "opt_cpu.h" @@ -307,14 +309,17 @@ { struct proc *p; struct thread *td; + struct trapframe *regs; td = curthread; p = td->td_proc; + regs = td->td_frame; PROC_LOCK_ASSERT(p, MA_OWNED); bzero(si, sizeof(*si)); si->si_signo = sig; si->si_code = code; + si->si_addr = (void *)regs->tf_addr; /* XXXKSE fill other fields */ } @@ -1170,7 +1175,7 @@ setidt(0, &IDTVEC(div), SDT_SYSIGT, SEL_KPL, 0); setidt(1, &IDTVEC(dbg), SDT_SYSIGT, SEL_KPL, 0); setidt(2, &IDTVEC(nmi), SDT_SYSIGT, SEL_KPL, 0); - setidt(3, &IDTVEC(bpt), SDT_SYSIGT, SEL_KPL, 0); + setidt(3, &IDTVEC(bpt), SDT_SYSIGT, SEL_UPL, 0); setidt(4, &IDTVEC(ofl), SDT_SYSIGT, SEL_KPL, 0); setidt(5, &IDTVEC(bnd), SDT_SYSIGT, SEL_KPL, 0); setidt(6, &IDTVEC(ill), SDT_SYSIGT, SEL_KPL, 0); ==== //depot/projects/netperf/sys/amd64/amd64/mem.c#2 (text+ko) ==== @@ -36,11 +36,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: Utah $Hdr: mem.c 1.13 89/10/08$ - * from: @(#)mem.c 7.2 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/amd64/mem.c,v 1.109 2003/06/22 12:59:43 simokawa Exp $ + * Utah $Hdr: mem.c 1.13 89/10/08$ + * @(#)mem.c 7.2 (Berkeley) 5/9/91 */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.110 2003/07/25 21:15:44 obrien Exp $"); + /* * Memory special file */ ==== //depot/projects/netperf/sys/amd64/amd64/nexus.c#2 (text+ko) ==== @@ -25,10 +25,11 @@ * OR TORT (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/amd64/amd64/nexus.c,v 1.53 2003/05/31 21:58:55 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.54 2003/07/25 21:15:44 obrien Exp $"); + /* * This code implements a `root nexus' for Intel Architecture * machines. The function of the root nexus is to serve as an ==== //depot/projects/netperf/sys/amd64/amd64/pmap.c#2 (text+ko) ==== @@ -38,8 +38,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.423 2003/07/09 22:59:45 peter Exp $ + * @(#)pmap.c 7.7 (Berkeley) 5/12/91 */ /*- * Copyright (c) 2003 Networks Associates Technology, Inc. @@ -73,6 +72,9 @@ * SUCH DAMAGE. */ +#include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 28 20:45:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3F5437B404; Mon, 28 Jul 2003 20:45:39 -0700 (PDT) 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 78BF137B401 for ; Mon, 28 Jul 2003 20:45:39 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18DD743FBF for ; Mon, 28 Jul 2003 20:45:39 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6T3jc0U064655 for ; Mon, 28 Jul 2003 20:45:38 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6T3jchY064652 for perforce@freebsd.org; Mon, 28 Jul 2003 20:45:38 -0700 (PDT) Date: Mon, 28 Jul 2003 20:45:38 -0700 (PDT) Message-Id: <200307290345.h6T3jchY064652@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35149 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, 29 Jul 2003 03:45:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=35149 Change 35149 by rwatson@rwatson_tislabs on 2003/07/28 20:45:15 Synchronize license to FreeBSD version of license. Affected files ... .. //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac_exec.c#5 edit Differences ... ==== //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac_exec.c#5 (text+ko) ==== @@ -15,9 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. The names of the authors may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE From owner-p4-projects@FreeBSD.ORG Mon Jul 28 20:48:44 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23E6737B404; Mon, 28 Jul 2003 20:48:44 -0700 (PDT) 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 CF26637B401 for ; Mon, 28 Jul 2003 20:48:43 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6FD1143FAF for ; Mon, 28 Jul 2003 20:48:43 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6T3mh0U070083 for ; Mon, 28 Jul 2003 20:48:43 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6T3mg4K070080 for perforce@freebsd.org; Mon, 28 Jul 2003 20:48:42 -0700 (PDT) Date: Mon, 28 Jul 2003 20:48:42 -0700 (PDT) Message-Id: <200307290348.h6T3mg4K070080@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35150 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, 29 Jul 2003 03:48:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=35150 Change 35150 by rwatson@rwatson_tislabs on 2003/07/28 20:47:44 Additional features to look at merging. Affected files ... .. //depot/projects/trustedbsd/mac/MERGE#3 edit Differences ... ==== //depot/projects/trustedbsd/mac/MERGE#3 (text+ko) ==== @@ -36,3 +36,22 @@ Biba/MLS sequential compartment set support. FFS resilience improvements for EA support + + mac_prepare changes to support arbitrary objects, /etc/mac.conf changes + + bsd_add_rule in libugidfw + + tty labeling + + setfsmac in /sbin + + fsck_ffs ea support + + direct exec of rc + + security as a directory in /etc + + acl.9 expansions + + + From owner-p4-projects@FreeBSD.ORG Tue Jul 29 00:05:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8550137B404; Tue, 29 Jul 2003 00:05:46 -0700 (PDT) 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 1534137B401 for ; Tue, 29 Jul 2003 00:05:46 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 864E743F75 for ; Tue, 29 Jul 2003 00:05:45 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6T75j0U084891 for ; Tue, 29 Jul 2003 00:05:45 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6T75i1V084888 for perforce@freebsd.org; Tue, 29 Jul 2003 00:05:44 -0700 (PDT) Date: Tue, 29 Jul 2003 00:05:44 -0700 (PDT) Message-Id: <200307290705.h6T75i1V084888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35156 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, 29 Jul 2003 07:05:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=35156 Change 35156 by marcel@marcel_nfs on 2003/07/29 00:05:31 o Add method param for setting the line characteristics. o Implement t_param. o Revisit t_oproc and t_stop. Affected files ... .. //depot/projects/uart/dev/uart/uart_core.c#13 edit .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#13 edit .. //depot/projects/uart/dev/uart/uart_dev_sab82532.c#7 edit .. //depot/projects/uart/dev/uart/uart_dev_z8530.c#3 edit .. //depot/projects/uart/dev/uart/uart_if.m#7 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_core.c#13 (text+ko) ==== @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -79,18 +80,6 @@ sc = tp->t_dev->si_drv1; if (sc == NULL || sc->sc_leaving) return; - - if (tp->t_state & TS_TBLOCK) { - /* XXX clear RTS */ - } else { - /* XXX set RTS */ - } - - if (tp->t_state & (TS_TIMEOUT | TS_TTSTOP)) { - ttwwakeup(tp); - return; - } - if (tp->t_outq.c_cc > 0 && !sc->sc_txbusy) { sc->sc_txdatasz = q_to_b(&tp->t_outq, sc->sc_txbuf, sc->sc_txfifosz); @@ -103,6 +92,34 @@ static int uart_tty_param(struct tty *tp, struct termios *t) { + struct uart_softc *sc; + int databits, parity, stopbits; + + sc = tp->t_dev->si_drv1; + if (sc == NULL || sc->sc_leaving) + return (ENODEV); + if (t->c_ispeed != t->c_ospeed && t->c_ospeed != 0) + return (EINVAL); + if (t->c_ospeed == 0) { + UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DRTS); + return (0); + } + switch (t->c_cflag & CSIZE) { + case CS5: databits = 5; break; + case CS6: databits = 6; break; + case CS7: databits = 7; break; + default: databits = 8; break; + } + stopbits = (t->c_cflag & CSTOPB) ? 2 : 1; + if (t->c_cflag & PARENB) + parity = (t->c_cflag & PARODD) ? UART_PARITY_ODD + : UART_PARITY_EVEN; + else + parity = UART_PARITY_NONE; + UART_PARAM(sc, t->c_ospeed, databits, stopbits, parity); + UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DTR); + if ((t->c_cflag & CRTS_IFLOW) == 0) + UART_SETSIG(sc, UART_SIG_DRTS | UART_SIG_RTS); return (0); } @@ -114,6 +131,17 @@ sc = tp->t_dev->si_drv1; if (sc == NULL || sc->sc_leaving) return; + if (rw & FWRITE) { + if (sc->sc_txbusy) { + sc->sc_txbusy = 0; + UART_FLUSH(sc, UART_FLUSH_TRANSMITTER); + } + tp->t_state &= ~TS_BUSY; + } + if (rw & FREAD) { + UART_FLUSH(sc, UART_FLUSH_RECEIVER); + sc->sc_rxget = sc->sc_rxput = 0; + } } void ==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#13 (text+ko) ==== @@ -146,6 +146,43 @@ uart_barrier(bas); } +static int +ns8250_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, + int parity) +{ + int divisor; + uint8_t lcr; + + lcr = 0; + if (databits >= 8) + lcr |= LCR_8BITS; + else if (databits == 7) + lcr |= LCR_7BITS; + else if (databits == 6) + lcr |= LCR_6BITS; + else + lcr |= LCR_5BITS; + if (stopbits > 1) + lcr |= LCR_STOPB; + lcr |= parity << 3; + + /* Set baudrate. */ + if (baudrate > 0) { + uart_setreg(bas, REG_LCR, lcr | LCR_DLAB); + uart_barrier(bas); + divisor = ns8250_divisor(bas->rclk, baudrate); + if (divisor == 0) + return (EINVAL); + uart_setdreg(bas, REG_DL, divisor); + uart_barrier(bas); + } + + /* Set LCR and clear DLAB. */ + uart_setreg(bas, REG_LCR, lcr); + uart_barrier(bas); + return (0); +} + /* * Low-level UART interface. */ @@ -201,35 +238,10 @@ ns8250_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, int parity) { - int divisor; - u_char iir, lcr; + uint8_t iir; - lcr = 0; - if (databits >= 8) - lcr |= LCR_8BITS; - else if (databits == 7) - lcr |= LCR_7BITS; - else if (databits == 6) - lcr |= LCR_6BITS; - else - lcr |= LCR_5BITS; - if (stopbits > 1) - lcr |= LCR_STOPB; - lcr |= parity << 3; + ns8250_param(bas, baudrate, databits, stopbits, parity); - /* Set baudrate. */ - if (baudrate != 0UL) { - uart_setreg(bas, REG_LCR, lcr | LCR_DLAB); - uart_barrier(bas); - divisor = ns8250_divisor(bas->rclk, baudrate); - uart_setdreg(bas, REG_DL, divisor); - uart_barrier(bas); - } - - /* Set LCR and clear DLAB. */ - uart_setreg(bas, REG_LCR, lcr); - uart_barrier(bas); - /* Disable all interrupt sources. */ uart_setreg(bas, REG_IER, 0); uart_barrier(bas); @@ -325,6 +337,7 @@ static int ns8250_bus_flush(struct uart_softc *, int); static int ns8250_bus_getsig(struct uart_softc *); static int ns8250_bus_ipend(struct uart_softc *); +static int ns8250_bus_param(struct uart_softc *, int, int, int, int); static int ns8250_bus_probe(struct uart_softc *); static int ns8250_bus_receive(struct uart_softc *); static int ns8250_bus_setsig(struct uart_softc *, int); @@ -336,6 +349,7 @@ KOBJMETHOD(uart_flush, ns8250_bus_flush), KOBJMETHOD(uart_getsig, ns8250_bus_getsig), KOBJMETHOD(uart_ipend, ns8250_bus_ipend), + KOBJMETHOD(uart_param, ns8250_bus_param), KOBJMETHOD(uart_probe, ns8250_bus_probe), KOBJMETHOD(uart_receive, ns8250_bus_receive), KOBJMETHOD(uart_setsig, ns8250_bus_setsig), @@ -452,6 +466,16 @@ } static int +ns8250_bus_param(struct uart_softc *sc, int baudrate, int databits, + int stopbits, int parity) +{ + struct uart_bas *bas; + + bas = &sc->sc_bas; + return (ns8250_param(bas, baudrate, databits, stopbits, parity)); +} + +static int ns8250_bus_probe(struct uart_softc *sc) { struct uart_bas *bas; ==== //depot/projects/uart/dev/uart/uart_dev_sab82532.c#7 (text+ko) ==== @@ -120,6 +120,7 @@ static int sab82532_bus_flush(struct uart_softc *, int); static int sab82532_bus_getsig(struct uart_softc *); static int sab82532_bus_ipend(struct uart_softc *); +static int sab82532_bus_param(struct uart_softc *, int, int, int, int); static int sab82532_bus_probe(struct uart_softc *); static int sab82532_bus_receive(struct uart_softc *); static int sab82532_bus_setsig(struct uart_softc *, int); @@ -131,6 +132,7 @@ KOBJMETHOD(uart_flush, sab82532_bus_flush), KOBJMETHOD(uart_getsig, sab82532_bus_getsig), KOBJMETHOD(uart_ipend, sab82532_bus_ipend), + KOBJMETHOD(uart_param, sab82532_bus_param), KOBJMETHOD(uart_probe, sab82532_bus_probe), KOBJMETHOD(uart_receive, sab82532_bus_receive), KOBJMETHOD(uart_setsig, sab82532_bus_setsig), @@ -198,6 +200,14 @@ } static int +sab82532_bus_param(struct uart_softc *sc, int baudrate, int databits, + int stopbits, int parity) +{ + + return (0); +} + +static int sab82532_bus_probe(struct uart_softc *sc) { char buf[80]; ==== //depot/projects/uart/dev/uart/uart_dev_z8530.c#3 (text+ko) ==== @@ -108,6 +108,7 @@ static int z8530_bus_flush(struct uart_softc *, int); static int z8530_bus_getsig(struct uart_softc *); static int z8530_bus_ipend(struct uart_softc *); +static int z8530_bus_param(struct uart_softc *, int, int, int, int); static int z8530_bus_probe(struct uart_softc *); static int z8530_bus_receive(struct uart_softc *); static int z8530_bus_setsig(struct uart_softc *, int); @@ -119,6 +120,7 @@ KOBJMETHOD(uart_flush, z8530_bus_flush), KOBJMETHOD(uart_getsig, z8530_bus_getsig), KOBJMETHOD(uart_ipend, z8530_bus_ipend), + KOBJMETHOD(uart_param, z8530_bus_param), KOBJMETHOD(uart_probe, z8530_bus_probe), KOBJMETHOD(uart_receive, z8530_bus_receive), KOBJMETHOD(uart_setsig, z8530_bus_setsig), @@ -170,6 +172,14 @@ } static int +z8530_bus_param(struct uart_softc *sc, int baudrate, int databits, + int stopbits, int parity) +{ + + return (0); +} + +static int z8530_bus_probe(struct uart_softc *sc) { ==== //depot/projects/uart/dev/uart/uart_if.m#7 (text+ko) ==== @@ -50,7 +50,7 @@ # XXX needs explanation. METHOD int flush { struct uart_softc *this; - int what; + int what; }; # getsig() - get line and modem signals. @@ -77,6 +77,16 @@ struct uart_softc *this; } +# param() +# XXX needs explanation. +METHOD int param { + struct uart_softc *this; + int baudrate; + int databits; + int stopbits; + int parity; +}; + # probe() # XXX needs explanation. METHOD int probe { @@ -97,7 +107,7 @@ # DTE delta bits set of those DTE signals that did change by this method. METHOD int setsig { struct uart_softc *this; - int sig; + int sig; }; # transmit() - move data from the transmit buffer to the transmit FIFO. From owner-p4-projects@FreeBSD.ORG Tue Jul 29 01:27:27 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE93737B404; Tue, 29 Jul 2003 01:27:26 -0700 (PDT) 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 5F5FF37B401 for ; Tue, 29 Jul 2003 01:27:26 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E2E3E43F3F for ; Tue, 29 Jul 2003 01:27:25 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6T8RP0U094473 for ; Tue, 29 Jul 2003 01:27:25 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6T8RPlG094470 for perforce@freebsd.org; Tue, 29 Jul 2003 01:27:25 -0700 (PDT) Date: Tue, 29 Jul 2003 01:27:25 -0700 (PDT) Message-Id: <200307290827.h6T8RPlG094470@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35159 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, 29 Jul 2003 08:27:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=35159 Change 35159 by marcel@marcel_nfs on 2003/07/29 01:27:00 Implement ioctl(). Add UART_SIG_DBREAK and UART_SIG_BREAK to allow setting and clearing line breaks with setsig(). Affected files ... .. //depot/projects/uart/dev/uart/uart_bus.h#12 edit .. //depot/projects/uart/dev/uart/uart_core.c#14 edit .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#14 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_bus.h#12 (text+ko) ==== @@ -57,12 +57,14 @@ #define UART_SIG_CTS 0x0008 #define UART_SIG_DCD 0x0010 #define UART_SIG_RI 0x0020 +#define UART_SIG_BREAK 0x0040 #define UART_SIG_DDTR 0x0100 #define UART_SIG_DRTS 0x0200 #define UART_SIG_DDSR 0x0400 #define UART_SIG_DCTS 0x0800 #define UART_SIG_DDCD 0x1000 #define UART_SIG_DRI 0x2000 +#define UART_SIG_DBREAK 0x4000 #define UART_SIGMASK_DTE 0x0003 #define UART_SIGMASK_DCE 0x003c ==== //depot/projects/uart/dev/uart/uart_core.c#14 (text+ko) ==== @@ -542,12 +542,15 @@ tp->t_ispeed = tp->t_ospeed = uart_console.baudrate; } else tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; - - UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DRTS | - UART_SIG_DTR | UART_SIG_RTS); + error = uart_tty_param(tp, &tp->t_termios); + if (error) + return (error); + ttsetwater(tp); } - error = (*linesw[tp->t_line].l_open)(dev, tp); + error = ttyopen(dev, tp); + if (error == 0) + error = (*linesw[tp->t_line].l_open)(dev, tp); return (error); } @@ -573,20 +576,79 @@ { struct uart_softc *sc; struct tty *tp; - int error; + int bits, error, sig; + + sc = dev->si_drv1; + if (sc == NULL || sc->sc_leaving) + return (ENXIO); tp = dev->si_tty; error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flags, td); if (error != ENOIOCTL) return (error); - error = ttioctl(tp, cmd, data, flags); if (error != ENOIOCTL) return (error); - sc = dev->si_drv1; - if (sc == NULL || sc->sc_leaving) - return (ENXIO); - - return (ENOTTY); + switch (cmd) { + case TIOCSBRK: + UART_SETSIG(sc, UART_SIG_DBREAK | UART_SIG_BREAK); + break; + case TIOCCBRK: + UART_SETSIG(sc, UART_SIG_DBREAK); + break; + case TIOCSDTR: + UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DTR); + break; + case TIOCCDTR: + UART_SETSIG(sc, UART_SIG_DDTR); + break; + case TIOCMSET: + bits = *(int*)data; + sig = UART_SIG_DDTR | UART_SIG_DRTS; + if (bits & TIOCM_DTR) + sig |= UART_SIG_DTR; + if (bits & TIOCM_RTS) + sig |= UART_SIG_RTS; + UART_SETSIG(sc, sig); + break; + case TIOCMBIS: + bits = *(int*)data; + sig = 0; + if (bits & TIOCM_DTR) + sig |= UART_SIG_DDTR | UART_SIG_DTR; + if (bits & TIOCM_RTS) + sig |= UART_SIG_DRTS | UART_SIG_RTS; + UART_SETSIG(sc, sig); + break; + case TIOCMBIC: + bits = *(int*)data; + sig = 0; + if (bits & TIOCM_DTR) + sig |= UART_SIG_DDTR; + if (bits & TIOCM_RTS) + sig |= UART_SIG_DRTS; + UART_SETSIG(sc, sig); + break; + case TIOCMGET: + sig = UART_GETSIG(sc); + bits = 0; + if (sig & UART_SIG_DTR) + bits |= TIOCM_DTR; + if (sig & UART_SIG_RTS) + bits |= TIOCM_RTS; + if (sig & UART_SIG_DSR) + bits |= TIOCM_DSR; + if (sig & UART_SIG_CTS) + bits |= TIOCM_CTS; + if (sig & UART_SIG_DCD) + bits |= TIOCM_CD; + if (sig & (UART_SIG_DRI | UART_SIG_RI)) + bits |= TIOCM_RI; + *(int*)data = bits; + break; + default: + return (ENOTTY); + } + return (0); } ==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#14 (text+ko) ==== @@ -327,7 +327,6 @@ struct ns8250_softc { struct uart_softc base; uint8_t fcr; - uint8_t lcr; uint8_t mcr; int signals; }; @@ -381,7 +380,6 @@ bas = &sc->sc_bas; ns8250->mcr = uart_getreg(bas, REG_MCR); - ns8250->lcr = uart_getreg(bas, REG_LCR); ns8250->fcr = FCR_ENABLE | FCR_RX_MEDL; uart_setreg(bas, REG_FCR, ns8250->fcr); uart_barrier(bas); @@ -629,6 +627,7 @@ ns8250_bus_setsig(struct uart_softc *sc, int sig) { struct ns8250_softc *ns8250 = (struct ns8250_softc*)sc; + uint8_t lcr; if (sig & UART_SIG_DDTR) { SIGCHG(sig & UART_SIG_DTR, ns8250->signals, UART_SIG_DTR, @@ -645,6 +644,14 @@ ns8250->mcr |= MCR_RTS; uart_setreg(&sc->sc_bas, REG_MCR, ns8250->mcr); uart_barrier(&sc->sc_bas); + if (sig & UART_SIG_DBREAK) { + lcr = uart_getreg(&sc->sc_bas, REG_LCR); + if (sig & UART_SIG_BREAK) + lcr |= LCR_SBREAK; + else + lcr &= ~LCR_SBREAK; + uart_setreg(&sc->sc_bas, REG_LCR, lcr); + } return (0); } From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:36:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 846C237B404; Tue, 29 Jul 2003 16:36:20 -0700 (PDT) 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 1442937B401 for ; Tue, 29 Jul 2003 16:36:20 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FD7F43FA3 for ; Tue, 29 Jul 2003 16:36:18 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6TNaI0U071386 for ; Tue, 29 Jul 2003 16:36:18 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6TNaGqm071383 for perforce@freebsd.org; Tue, 29 Jul 2003 16:36:16 -0700 (PDT) Date: Tue, 29 Jul 2003 16:36:16 -0700 (PDT) Message-Id: <200307292336.h6TNaGqm071383@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35189 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, 29 Jul 2003 23:36:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=35189 Change 35189 by marcel@marcel_nfs on 2003/07/29 16:35:46 IFC @35188 Affected files ... .. //depot/projects/ia64/UPDATING#46 integrate .. //depot/projects/ia64/contrib/isc-dhcp/FREEBSD-upgrade#5 integrate .. //depot/projects/ia64/contrib/isc-dhcp/client/dhclient.8#5 integrate .. //depot/projects/ia64/contrib/isc-dhcp/client/dhclient.c#8 integrate .. //depot/projects/ia64/contrib/isc-dhcp/client/scripts/freebsd#4 integrate .. //depot/projects/ia64/contrib/isc-dhcp/common/dispatch.c#4 integrate .. //depot/projects/ia64/contrib/isc-dhcp/includes/dhcpd.h#6 integrate .. //depot/projects/ia64/contrib/smbfs/lib/smb/ctx.c#7 integrate .. //depot/projects/ia64/etc/auth.conf#3 integrate .. //depot/projects/ia64/etc/defaults/rc.conf#36 integrate .. //depot/projects/ia64/etc/mtree/BSD.local.dist#15 integrate .. //depot/projects/ia64/etc/mtree/BSD.usr.dist#23 integrate .. //depot/projects/ia64/etc/rc.d/Makefile#18 integrate .. //depot/projects/ia64/etc/rc.d/atm1#5 integrate .. //depot/projects/ia64/etc/rc.d/atm2#1 branch .. //depot/projects/ia64/etc/rc.d/atm2.sh#6 delete .. //depot/projects/ia64/etc/rc.d/atm3#1 branch .. //depot/projects/ia64/etc/rc.d/atm3.sh#3 delete .. //depot/projects/ia64/etc/rc.d/dhclient#8 integrate .. //depot/projects/ia64/etc/rc.d/ipfw#5 integrate .. //depot/projects/ia64/gnu/usr.bin/patch/backupfile.c#3 integrate .. //depot/projects/ia64/kerberos5/lib/libasn1/Makefile#9 integrate .. //depot/projects/ia64/kerberos5/lib/libhdb/Makefile#10 integrate .. //depot/projects/ia64/lib/libatm/atm_addr.c#5 integrate .. //depot/projects/ia64/lib/libatm/cache_key.c#4 integrate .. //depot/projects/ia64/lib/libatm/ioctl_subr.c#5 integrate .. //depot/projects/ia64/lib/libatm/ip_addr.c#5 integrate .. //depot/projects/ia64/lib/libatm/ip_checksum.c#4 integrate .. //depot/projects/ia64/lib/libatm/libatm.h#4 integrate .. //depot/projects/ia64/lib/libc/locale/Makefile.inc#14 integrate .. //depot/projects/ia64/lib/libc/locale/gb18030.c#1 branch .. //depot/projects/ia64/lib/libc/locale/setrunelocale.c#8 integrate .. //depot/projects/ia64/lib/libc/stdlib/malloc.c#18 integrate .. //depot/projects/ia64/lib/libc/string/Makefile.inc#8 integrate .. //depot/projects/ia64/lib/libc/string/index.3#4 integrate .. //depot/projects/ia64/lib/libc/string/rindex.3#4 delete .. //depot/projects/ia64/lib/libc/string/strchr.3#3 integrate .. //depot/projects/ia64/lib/libc/string/strrchr.3#2 delete .. //depot/projects/ia64/lib/libpthread/thread/thr_private.h#18 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_sig.c#19 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_sigwait.c#11 integrate .. //depot/projects/ia64/release/Makefile#61 integrate .. //depot/projects/ia64/release/alpha/dokern.sh#10 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/i386/proc-i386.sgml#8 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#110 integrate .. //depot/projects/ia64/release/doc/fr_FR.ISO8859-1/early-adopter/article.sgml#3 integrate .. //depot/projects/ia64/release/ia64/dokern.sh#2 delete .. //depot/projects/ia64/release/ia64/mkisoimages.sh#2 integrate .. //depot/projects/ia64/release/pc98/dokern.sh#13 integrate .. //depot/projects/ia64/sbin/atm/atm/Makefile#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm.8#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm.c#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm.h#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_eni.c#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_fore200.c#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_inet.c#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_print.c#4 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_set.c#3 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_show.c#4 integrate .. //depot/projects/ia64/sbin/atm/atm/atm_subr.c#4 integrate .. //depot/projects/ia64/sbin/dhclient/Makefile.inc#4 integrate .. //depot/projects/ia64/share/colldef/Makefile#14 integrate .. //depot/projects/ia64/share/man/man5/rc.conf.5#43 integrate .. //depot/projects/ia64/share/man/man7/Makefile#10 integrate .. //depot/projects/ia64/share/man/man7/rescue.7#2 delete .. //depot/projects/ia64/share/man/man8/Makefile#9 integrate .. //depot/projects/ia64/share/man/man8/rescue.8#1 branch .. //depot/projects/ia64/share/man/man9/bus_dma.9#6 integrate .. //depot/projects/ia64/share/mklocale/Makefile#12 integrate .. //depot/projects/ia64/share/mklocale/zh_CN.GB18030.src#1 branch .. //depot/projects/ia64/share/monetdef/Makefile#11 integrate .. //depot/projects/ia64/share/monetdef/zh_CN.GB18030.src#1 branch .. //depot/projects/ia64/share/msgdef/Makefile#11 integrate .. //depot/projects/ia64/share/msgdef/zh_CN.GB18030.src#1 branch .. //depot/projects/ia64/share/numericdef/Makefile#11 integrate .. //depot/projects/ia64/share/numericdef/zh_TW.Big5.src#2 delete .. //depot/projects/ia64/share/timedef/Makefile#11 integrate .. //depot/projects/ia64/share/timedef/zh_CN.GB18030.src#1 branch .. //depot/projects/ia64/sys/alpha/alpha/busdma_machdep.c#19 integrate .. //depot/projects/ia64/sys/alpha/alpha/machdep.c#33 integrate .. //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#12 integrate .. //depot/projects/ia64/sys/alpha/alpha/vm_machdep.c#22 integrate .. //depot/projects/ia64/sys/alpha/include/bus.h#13 integrate .. //depot/projects/ia64/sys/amd64/amd64/busdma_machdep.c#6 integrate .. //depot/projects/ia64/sys/amd64/amd64/vm_machdep.c#8 integrate .. //depot/projects/ia64/sys/amd64/include/bus_dma.h#7 integrate .. //depot/projects/ia64/sys/cam/cam_ccb.h#5 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_cd.c#18 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#47 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#27 integrate .. //depot/projects/ia64/sys/conf/NOTES#59 integrate .. //depot/projects/ia64/sys/conf/options#59 integrate .. //depot/projects/ia64/sys/contrib/dev/acpica/dbcmds.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cam.c#13 integrate .. //depot/projects/ia64/sys/dev/ed/if_ed_pccard.c#16 integrate .. //depot/projects/ia64/sys/dev/fatm/if_fatm.c#4 integrate .. //depot/projects/ia64/sys/dev/firewire/sbp.c#39 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#40 integrate .. //depot/projects/ia64/sys/dev/hatm/if_hatm.c#5 integrate .. //depot/projects/ia64/sys/dev/hatm/if_hatm_ioctl.c#3 integrate .. //depot/projects/ia64/sys/dev/hatm/if_hatm_tx.c#3 integrate .. //depot/projects/ia64/sys/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/ia64/sys/dev/hea/eni_if.c#3 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_if.c#3 integrate .. //depot/projects/ia64/sys/dev/md/md.c#31 integrate .. //depot/projects/ia64/sys/dev/patm/if_patm.c#2 integrate .. //depot/projects/ia64/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/ia64/sys/dev/patm/if_patm_tx.c#3 integrate .. //depot/projects/ia64/sys/dev/raidframe/rf_freebsdkintf.c#14 integrate .. //depot/projects/ia64/sys/dev/usb/umass.c#30 integrate .. //depot/projects/ia64/sys/dev/usb/usb_mem.c#4 integrate .. //depot/projects/ia64/sys/dev/wi/if_wi_pci.c#14 integrate .. //depot/projects/ia64/sys/geom/geom_ccd.c#4 integrate .. //depot/projects/ia64/sys/geom/geom_mbr.c#31 integrate .. //depot/projects/ia64/sys/i386/i386/busdma_machdep.c#23 integrate .. //depot/projects/ia64/sys/i386/i386/locore.s#13 integrate .. //depot/projects/ia64/sys/i386/include/bus_dma.h#9 integrate .. //depot/projects/ia64/sys/i386/isa/pcvt/pcvt_hdr.h#3 integrate .. //depot/projects/ia64/sys/ia64/ia64/busdma_machdep.c#16 integrate .. //depot/projects/ia64/sys/ia64/include/bus.h#14 integrate .. //depot/projects/ia64/sys/kern/kern_acct.c#22 integrate .. //depot/projects/ia64/sys/kern/kern_alq.c#8 integrate .. //depot/projects/ia64/sys/kern/kern_descrip.c#62 integrate .. //depot/projects/ia64/sys/kern/kern_ktrace.c#20 integrate .. //depot/projects/ia64/sys/kern/kern_linker.c#27 integrate .. //depot/projects/ia64/sys/kern/kern_sig.c#63 integrate .. //depot/projects/ia64/sys/kern/link_elf.c#20 integrate .. //depot/projects/ia64/sys/kern/subr_mbuf.c#31 integrate .. //depot/projects/ia64/sys/kern/tty_cons.c#15 integrate .. //depot/projects/ia64/sys/kern/vfs_syscalls.c#50 integrate .. //depot/projects/ia64/sys/kern/vfs_vnops.c#34 integrate .. //depot/projects/ia64/sys/kern/vnode_if.src#15 integrate .. //depot/projects/ia64/sys/modules/cam/Makefile#6 integrate .. //depot/projects/ia64/sys/net/if_atm.h#9 integrate .. //depot/projects/ia64/sys/net/if_atmsubr.c#14 integrate .. //depot/projects/ia64/sys/net/if_spppsubr.c#12 integrate .. //depot/projects/ia64/sys/netatm/atm_if.c#14 integrate .. //depot/projects/ia64/sys/netatm/atm_ioctl.h#5 integrate .. //depot/projects/ia64/sys/netatm/atm_usrreq.c#7 integrate .. //depot/projects/ia64/sys/netatm/atm_vc.h#2 integrate .. //depot/projects/ia64/sys/netatm/ipatm/ipatm_usrreq.c#6 integrate .. //depot/projects/ia64/sys/netatm/sigpvc/sigpvc_if.c#7 integrate .. //depot/projects/ia64/sys/netatm/spans/spans_arp.c#9 integrate .. //depot/projects/ia64/sys/netatm/spans/spans_if.c#7 integrate .. //depot/projects/ia64/sys/netatm/uni/uniarp.c#10 integrate .. //depot/projects/ia64/sys/netatm/uni/uniarp_cache.c#8 integrate .. //depot/projects/ia64/sys/netatm/uni/uniip_var.h#5 integrate .. //depot/projects/ia64/sys/netatm/uni/unisig_if.c#7 integrate .. //depot/projects/ia64/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/ia64/sys/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/ia64/sys/netinet6/ip6_fw.c#11 integrate .. //depot/projects/ia64/sys/netsmb/smb_conn.h#6 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_lock.c#17 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#24 integrate .. //depot/projects/ia64/sys/pci/if_dc.c#43 integrate .. //depot/projects/ia64/sys/pci/if_rl.c#38 integrate .. //depot/projects/ia64/sys/pci/if_sis.c#26 integrate .. //depot/projects/ia64/sys/pci/if_xl.c#37 integrate .. //depot/projects/ia64/sys/pci/ncr.c#11 integrate .. //depot/projects/ia64/sys/powerpc/include/bus.h#12 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/busdma_machdep.c#16 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/pmap.c#27 integrate .. //depot/projects/ia64/sys/sparc64/include/bus.h#20 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/bus_machdep.c#21 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/iommu.c#22 integrate .. //depot/projects/ia64/sys/sys/vnode.h#32 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_vnops.c#30 integrate .. //depot/projects/ia64/sys/ufs/ufs/extattr.h#4 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_extattr.c#20 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_quota.c#16 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_vnops.c#31 integrate .. //depot/projects/ia64/sys/vm/uma_core.c#45 integrate .. //depot/projects/ia64/sys/vm/vm_contig.c#17 integrate .. //depot/projects/ia64/sys/vm/vm_kern.c#25 integrate .. //depot/projects/ia64/sys/vm/vm_object.c#63 integrate .. //depot/projects/ia64/tools/tools/release/chk_dokern.sh_and_drivers.conf#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/Makefile#6 integrate .. //depot/projects/ia64/tools/tools/tinderbox/experimental.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/stanley.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/tbmaster.1#4 integrate .. //depot/projects/ia64/tools/tools/tinderbox/tbmaster.pl#17 integrate .. //depot/projects/ia64/usr.bin/last/last.1#5 integrate .. //depot/projects/ia64/usr.bin/last/last.c#8 integrate .. //depot/projects/ia64/usr.bin/mklocale/yacc.y#10 integrate .. //depot/projects/ia64/usr.sbin/acpi/acpiconf/acpiconf.8#5 integrate .. //depot/projects/ia64/usr.sbin/acpi/acpiconf/acpiconf.c#5 integrate .. //depot/projects/ia64/usr.sbin/atm/atmarpd/atmarp_log.c#2 integrate .. //depot/projects/ia64/usr.sbin/atm/atmarpd/atmarp_subr.c#3 integrate .. //depot/projects/ia64/usr.sbin/atm/atmarpd/atmarpd.c#3 integrate .. //depot/projects/ia64/usr.sbin/atm/scspd/scsp_subr.c#3 integrate .. //depot/projects/ia64/usr.sbin/edquota/edquota.8#6 integrate Differences ... ==== //depot/projects/ia64/UPDATING#46 (text+ko) ==== @@ -17,6 +17,13 @@ developers choose to disable these features on build machines to maximize performance. +20030728: + All current USB and Firewire quirks in da(4) have been deprecated + and will be removed for 5.2. If this causes failure for your + umass(4) devices, enable "options DA_OLD_QUIRKS" in your kernel + and send the output of "camcontrol inquiry da0" to scsi@freebsd.org + so the quirk can be re-enabled. + 20030722: FPU-less support has been removed from FreeBSD. Chances are you won't notice. 386+387 support should still work after this change, but @@ -1326,4 +1333,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.259 2003/07/22 11:08:41 imp Exp $ +$FreeBSD: src/UPDATING,v 1.260 2003/07/29 04:40:33 njl Exp $ ==== //depot/projects/ia64/contrib/isc-dhcp/FREEBSD-upgrade#5 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/isc-dhcp/FREEBSD-upgrade,v 1.14 2003/01/16 19:05:56 murray Exp $ +$FreeBSD: src/contrib/isc-dhcp/FREEBSD-upgrade,v 1.16 2003/07/28 08:30:11 mbr Exp $ ISC DHCP client 3.0.1rc11 originals can be found at: ftp://ftp.isc.org/isc/dhcp/ @@ -42,19 +42,26 @@ client/clparse.c r1.6 - prefer strlcpy to strcpy. client/dhclient.8 + r1.14 - interface polling r1.8 - correct a man reference and a typo. r1.6 - document -D option. - remove dhcpd from SEE ALSO section. client/dhclient.c + r1.26 - interface polling + r1.25 - correct release lease option r1.19 - connect std{in,out,err}. r1.13 - prefer strlcpy to strcpy. r1.6 - quiet by default. - document -D option. client/dhclient.conf.5 - - Remove dhcpd from SEE ALSO section. + - Remove dhcpd from SEE ALSO section. common/dhcp-options.5 r1.2 - note that hostname is only set if not already set. - - Remove dhcpd from SEE ALSO section. + - Remove dhcpd from SEE ALSO section. + common/dispatch.c + r1.2 - polling mode + includes/dhcpd.h + r1.2 - polling mode (see CVS logs for complete details) murray@FreeBSD.org ==== //depot/projects/ia64/contrib/isc-dhcp/client/dhclient.8#5 (text+ko) ==== @@ -20,7 +20,7 @@ .\" .\" Portions copyright (c) 2000 David E. O'Brien. .\" All rights reserved. -.\" $FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.13 2003/03/18 19:46:55 obrien Exp $ +.\" $FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.14 2003/07/28 08:30:11 mbr Exp $ .\" .TH dhclient 8 .SH NAME @@ -74,6 +74,10 @@ relay ] [ +.B -i +interval +] +[ .B -n ] [ @@ -190,6 +194,12 @@ flag, followed by the IP address to send. This is only useful for testing, and should not be expected to work in any consistent or useful way. .PP +On FreeBSD, dhclient can be enabled to automatically handle the +link status of the network card. Normally polling is done every +five seconds. The polling interval can be set using the +.B -i +flag, followed by the numbers of seconds. Minimum is one second. +.PP The DHCP client will normally run in the foreground until it has configured an interface, and then will revert to running in the background. To run force dhclient to always run as a foreground ==== //depot/projects/ia64/contrib/isc-dhcp/client/dhclient.c#8 (text+ko) ==== @@ -42,12 +42,19 @@ #ifndef lint static char ocopyright[] = "$Id: dhclient.c,v 1.129.2.12 2002/11/07 23:26:38 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium. All rights reserved.\n" -"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.25 2003/03/23 23:29:36 mbr Exp $\n"; +"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.27 2003/07/28 13:25:04 mbr Exp $\n"; #endif /* not lint */ #include "dhcpd.h" #include "version.h" +#ifdef __FreeBSD__ +#include +#include +#include +#include +#endif + TIME cur_time; TIME default_lease_time = 43200; /* 12 hours... */ TIME max_lease_time = 86400; /* 24 hours... */ @@ -85,6 +92,10 @@ int onetry=0; int quiet=1; int nowait=0; +int doinitcheck=0; +#ifdef ENABLE_POLLING_MODE +int polling_interval = 5; +#endif static void usage PROTO ((void)); @@ -202,6 +213,19 @@ } else if (!strcmp (argv [i], "-n")) { /* do not start up any interfaces */ interfaces_requested = 1; +#ifdef ENABLE_POLLING_MODE + } else if (!strcmp (argv [i], "-i")) { + if (++i == argc) + usage (); + polling_interval = (int)strtol(argv [i], + (char **)NULL, 10); + if (polling_interval <= 0) { + log_info ("Incorrect polling interval %d", + polling_interval); + log_info ("Using a default of 5 seconds"); + polling_interval = 5; + } +#endif } else if (!strcmp (argv [i], "-w")) { /* do not exit if there are no broadcast interfaces. */ persist = 1; @@ -233,6 +257,8 @@ log_fatal ("%s: interface name too long (max %ld)", argv [i], (long)strlen (argv [i])); strlcpy (tmp -> name, argv [i], IFNAMSIZ); + set_ieee802(tmp); + tmp->linkstatus = interface_active(tmp); if (interfaces) { interface_reference (&tmp -> next, interfaces, MDL); @@ -386,6 +412,7 @@ INTERFACE_AUTOMATIC)) != INTERFACE_REQUESTED)) continue; + set_ieee802(ip); script_init (ip -> client, "PREINIT", (struct string_list *)0); if (ip -> client -> alias) @@ -428,8 +455,13 @@ client -> state = S_INIT; /* Set up a timeout to start the initialization process. */ +#ifdef ENABLE_POLLING_MODE add_timeout (cur_time + random () % 5, + state_link, client, 0, 0); +#else + add_timeout(cur_time + random () % 5, state_reboot, client, 0, 0); +#endif } } } @@ -1353,6 +1385,9 @@ int interval; int increase = 1; + if (interface_active(client -> interface) == 0) + return; + /* Figure out how long it's been since we started transmitting. */ interval = cur_time - client -> first_sending; @@ -1458,6 +1493,9 @@ struct client_lease *loop; struct client_lease *lp; + if (interface_active(client -> interface) == 0) + return; + loop = lp = client -> active; log_info ("No DHCPOFFERS received."); @@ -2771,7 +2809,8 @@ break; } client -> state = S_INIT; - state_reboot (client); + if (interface_active(ip)) + state_reboot(client); } } } @@ -2932,8 +2971,10 @@ client -> state = S_INIT; /* Set up a timeout to start the initialization process. */ - add_timeout (cur_time + random () % 5, - state_reboot, client, 0, 0); + if (interface_active(ip)) { + add_timeout(cur_time + random () % 5, + state_reboot, client, 0, 0); + } } } return ISC_R_SUCCESS; @@ -2997,7 +3038,8 @@ break; case server_awaken: - state_reboot (client); + if (interface_active(ip)) + state_reboot(client); break; } } @@ -3134,3 +3176,152 @@ data_string_forget (&ddns_dhcid, MDL); return rcode; } + +/* Check to see if there's a wire plugged in */ +int +interface_active(struct interface_info *ip) { +#ifdef __FreeBSD__ + struct ifmediareq ifmr; + int *media_list, i; + char *ifname; + int sock; + + ifname = ip -> name; + + if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) + log_fatal("Can't create interface_active socket"); + + (void) memset(&ifmr, 0, sizeof(ifmr)); + (void) strncpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name)); + + if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) { + /* + * Interface doesn't support SIOCGIFMEDIA, presume okay + */ + close(sock); + return (1); + } + close(sock); + + if (ifmr.ifm_count == 0) { + /* + * this is unexpected (to me), but we'll just assume + * that this means interface does not support SIOCGIFMEDIA + */ + log_fatal("%s: no media types?", ifname); + return (1); + } + + if (ifmr.ifm_status & IFM_AVALID) { + if (ip->ieee802) { + if ((IFM_TYPE(ifmr.ifm_active) == IFM_IEEE80211) && + (ifmr.ifm_status & IFM_ACTIVE)) + return (1); + } else { + if (ifmr.ifm_status & IFM_ACTIVE) + return (1); + } + } + + return (0); +#else /* ifdef __FreeBSD__ */ + + return (1); +#endif /* Other OSs */ +} + +#ifdef __FreeBSD__ +set_ieee802 (struct interface_info *ip) { + + struct ieee80211req ireq; + u_int8_t data[32]; + int associated = 0; + int *media_list, i; + char *ifname; + int sock; + + ifname = ip -> name; + + if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) + log_fatal("Can't create interface_active socket"); + + (void) memset(&ireq, 0, sizeof(ireq)); + (void) strncpy(ireq.i_name, ifname, sizeof(ireq.i_name)); + ireq.i_data = &data; + ireq.i_type = IEEE80211_IOC_SSID; + ireq.i_val = -1; + /* + * If we can't get the SSID, + * this isn't an 802.11 device. + */ + if (ioctl(sock, SIOCG80211, &ireq) < 0) + ip->ieee802 = 0; + else { +#ifdef DEBUG + printf("Device %s has 802.11\n", ifname); +#endif + ip->ieee802 = 1; + } + close(sock); +} +#endif /* __FreeBSD__ */ + +#ifdef ENABLE_POLLING_MODE +/* Check the state of the NICs if we have link */ +void state_link (cpp) + void *cpp; +{ + struct interface_info *ip; + struct client_state *client; + +#ifdef DEBUG + printf("Polling interface status\n"); +#endif + for (ip = interfaces; ip; ip = ip -> next) { + if (ip->linkstatus == 0 || doinitcheck == 0) { + if (interface_active(ip)) { +#ifdef DEBUG + printf("%s: Found Link on interface\n", ip->name); +#endif + for (client = ip -> client; + client; client = client -> next) { + add_timeout(cur_time + random () % 5, + state_reboot, client, 0, 0); + } + ip->linkstatus = 1; + } else { +#ifdef DEBUG + printf("%s: No Link on interface\n", ip->name); +#endif + for (client = ip -> client; + client; client = client -> next) { + cancel_timeout(state_init, client); + cancel_timeout(send_discover, client); + cancel_timeout(send_request, client); + /* + * XXX without this, dhclient does + * not poll on a interface if there + * is no cable plugged in at startup + * time + */ + if (client -> state == S_INIT) { + add_timeout(cur_time + polling_interval, + state_link, client, 0, 0); + } + } + ip->linkstatus = 0; + } + } else { + if (interface_active(ip) == 0) { +#ifdef DEBUG + printf("%s: Lost Link on interface\n", ip->name); +#endif + ip->linkstatus = 0; + } + } + } + if (doinitcheck) + go_daemon (); + doinitcheck = 1; +} +#endif /* ifdef ENABLE_POLLING_MODE */ ==== //depot/projects/ia64/contrib/isc-dhcp/client/scripts/freebsd#4 (text+ko) ==== @@ -2,7 +2,7 @@ # # $Id: freebsd,v 1.13.2.4 2002/06/09 22:37:55 murray Exp $ # -# $FreeBSD: src/contrib/isc-dhcp/client/scripts/freebsd,v 1.21 2003/01/15 10:47:32 murray Exp $ +# $FreeBSD: src/contrib/isc-dhcp/client/scripts/freebsd,v 1.22 2003/07/28 22:25:20 mbr Exp $ if [ -x /usr/bin/logger ]; then LOGGER="/usr/bin/logger -s -p user.notice -t dhclient" @@ -13,13 +13,19 @@ make_resolv_conf() { if [ x"$new_domain_name_servers" != x ]; then if [ "x$new_domain_name" != x ]; then - echo search $new_domain_name >/etc/resolv.conf + ( echo search $new_domain_name >/etc/resolv.conf ) + exit_status=$? + else + ( rm /etc/resolv.conf ) + exit_status=$? + fi + if [ $exit_status -ne 0 ]; then + $LOGGER "WARNING: Unable to update resolv.conf: Error $exit_status" else - rm /etc/resolv.conf + for nameserver in $new_domain_name_servers; do + ( echo nameserver $nameserver >>/etc/resolv.conf ) + done fi - for nameserver in $new_domain_name_servers; do - echo nameserver $nameserver >>/etc/resolv.conf - done fi } ==== //depot/projects/ia64/contrib/isc-dhcp/common/dispatch.c#4 (text+ko) ==== @@ -43,7 +43,8 @@ #ifndef lint static char copyright[] = -"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n" +"$FreeBSD: src/contrib/isc-dhcp/common/dispatch.c,v 1.3 2003/07/28 11:49:07 mbr Exp $\n"; #endif /* not lint */ #include "dhcpd.h" @@ -51,6 +52,10 @@ struct timeout *timeouts; static struct timeout *free_timeouts; +#ifdef ENABLE_POLLING_MODE +extern int polling_interval; +#endif + void set_time (u_int32_t t) { /* Do any outstanding timeouts. */ @@ -95,11 +100,26 @@ void dispatch () { struct timeval tv, *tvp; +#ifdef ENABLE_POLLING_MODE + struct timeval *tvp_new; +#endif isc_result_t status; + TIME cur_time; + tvp = NULL; +#ifdef ENABLE_POLLING_MODE + tvp_new = NULL; +#endif /* Wait for a packet or a timeout... XXX */ do { tvp = process_outstanding_timeouts (&tv); +#ifdef ENABLE_POLLING_MODE + GET_TIME (&cur_time); + add_timeout(cur_time + polling_interval, state_link, 0, 0, 0); + tvp_new = process_outstanding_timeouts(&tv); + if (tvp != NULL && (tvp -> tv_sec > tvp_new -> tv_sec)) + tvp = tvp_new; +#endif /* ENABLE_POLLING_MODE */ status = omapi_one_dispatch (0, tvp); } while (status == ISC_R_TIMEDOUT || status == ISC_R_SUCCESS); log_fatal ("omapi_one_dispatch failed: %s -- exiting.", ==== //depot/projects/ia64/contrib/isc-dhcp/includes/dhcpd.h#6 (text+ko) ==== @@ -39,6 +39,8 @@ * ``http://www.isc.org/''. To learn more about Vixie Enterprises, * see ``http://www.vix.com''. To learn more about Nominum, Inc., see * ``http://www.nominum.com''. + * + * $FreeBSD: src/contrib/isc-dhcp/includes/dhcpd.h,v 1.3 2003/07/28 11:49:07 mbr Exp $ */ #ifndef __CYGWIN32__ @@ -778,6 +780,8 @@ unsigned remote_id_len; /* Length of Remote ID. */ char name [IFNAMSIZ]; /* Its name... */ + int linkstatus; /* Link status */ + int ieee802; /* True if media is ieee802 */ int index; /* Its index. */ int rfdesc; /* Its read file descriptor. */ int wfdesc; /* Its write file descriptor, if @@ -1853,6 +1857,9 @@ void send_decline PROTO ((void *)); void state_reboot PROTO ((void *)); +#ifdef ENABLE_POLLING_MODE +void state_link PROTO (()); +#endif void state_init PROTO ((void *)); void state_selecting PROTO ((void *)); void state_requesting PROTO ((void *)); ==== //depot/projects/ia64/contrib/smbfs/lib/smb/ctx.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $Id: ctx.c,v 1.24 2002/04/13 14:35:28 bp Exp $ - * $FreeBSD: src/contrib/smbfs/lib/smb/ctx.c,v 1.2 2003/04/12 12:11:14 tjr Exp $ + * $FreeBSD: src/contrib/smbfs/lib/smb/ctx.c,v 1.3 2003/07/27 11:41:38 tjr Exp $ */ #include #include @@ -275,7 +275,7 @@ int smb_ctx_setserver(struct smb_ctx *ctx, const char *name) { - if (strlen(name) >= SMB_MAXSRVNAMELEN) { + if (strlen(name) > SMB_MAXSRVNAMELEN) { smb_error("server name '%s' too long", 0, name); return ENAMETOOLONG; } @@ -286,7 +286,7 @@ int smb_ctx_setuser(struct smb_ctx *ctx, const char *name) { - if (strlen(name) >= SMB_MAXUSERNAMELEN) { + if (strlen(name) > SMB_MAXUSERNAMELEN) { smb_error("user name '%s' too long", 0, name); return ENAMETOOLONG; } @@ -297,7 +297,7 @@ int smb_ctx_setworkgroup(struct smb_ctx *ctx, const char *name) { - if (strlen(name) >= SMB_MAXUSERNAMELEN) { + if (strlen(name) > SMB_MAXUSERNAMELEN) { smb_error("workgroup name '%s' too long", 0, name); return ENAMETOOLONG; } @@ -310,7 +310,7 @@ { if (passwd == NULL) return EINVAL; - if (strlen(passwd) >= SMB_MAXPASSWORDLEN) { + if (strlen(passwd) > SMB_MAXPASSWORDLEN) { smb_error("password too long", 0); return ENAMETOOLONG; } @@ -325,7 +325,7 @@ int smb_ctx_setshare(struct smb_ctx *ctx, const char *share, int stype) { - if (strlen(share) >= SMB_MAXSHARENAMELEN) { + if (strlen(share) > SMB_MAXSHARENAMELEN) { smb_error("share name '%s' too long", 0, share); return ENAMETOOLONG; } ==== //depot/projects/ia64/etc/auth.conf#3 (text+ko) ==== @@ -1,10 +1,8 @@ # -# $FreeBSD: src/etc/auth.conf,v 1.5 2000/12/28 10:32:00 peter Exp $ +# $FreeBSD: src/etc/auth.conf,v 1.6 2003/07/28 02:28:51 rwatson Exp $ +# +# Configure some authentication-related defaults. This file is being +# gradually subsumed by user class and PAM configuration. # -# This file contains information on what types of authentication to use. -# It is just the beginnings of a greater scheme. # crypt_default = md5 des -# auth_list = passwd kerberos - -auth_list = passwd ==== //depot/projects/ia64/etc/defaults/rc.conf#36 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.180 2003/06/26 09:50:50 smkelly Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.182 2003/07/28 13:09:00 mbr Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -57,6 +57,7 @@ nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Additional flags to pass to dhcp client. +background_dhclient="NO" # Start dhcp client in the background. firewall_enable="NO" # Set to YES to enable firewall functionality firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall firewall_type="UNKNOWN" # Firewall type (see /etc/rc.firewall) ==== //depot/projects/ia64/etc/mtree/BSD.local.dist#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.98 2003/07/05 11:41:10 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.99 2003/07/29 08:02:26 ache Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -447,6 +447,8 @@ .. zh_CN.eucCN .. + zh_CN.GB18030 + .. zh_CN.GBK .. zh_TW.Big5 ==== //depot/projects/ia64/etc/mtree/BSD.usr.dist#23 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.276 2003/07/05 11:41:10 ache Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.277 2003/07/29 08:02:26 ache Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -509,6 +509,8 @@ .. zh_CN.eucCN .. + zh_CN.GB18030 + .. zh_CN.GBK .. zh_TW.Big5 @@ -835,6 +837,8 @@ .. zh_CN.eucCN .. + zh_CN.GB18030 + .. zh_CN.GBK .. zh_TW.Big5 ==== //depot/projects/ia64/etc/rc.d/Makefile#18 (text+ko) ==== @@ -1,10 +1,10 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.20 2003/06/29 05:15:57 mtm Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.21 2003/07/28 13:30:42 harti Exp $ .include FILES= DAEMON LOGIN NETWORKING SERVERS abi accounting addswap adjkerntz amd \ - apm apmd archdep atm1 atm2.sh atm3.sh bgfsck bootparams ccd cleanvar \ + apm apmd archdep atm1 atm2 atm3 bgfsck bootparams ccd cleanvar \ cleartmp cron devd devfs dhclient diskless dmesg dumpon fsck \ hostname inetd initdiskless initrandom ip6fw ipfilter ipfs ipfw ipmon \ ipnat ipsec ipxrouted isdnd jail \ ==== //depot/projects/ia64/etc/rc.d/atm1#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/etc/rc.d/atm1,v 1.12 2003/04/18 17:55:05 mtm Exp $ +# $FreeBSD: src/etc/rc.d/atm1,v 1.13 2003/07/28 13:30:42 harti Exp $ # # PROVIDE: atm1 @@ -46,6 +46,21 @@ # atm_start() { + if [ -n "${natm_interfaces}" ] ; then + # Load the HARP pseudo interface + kldstat -v | grep -q if_harp || kldload if_harp + + # Load all the NATM drivers that we need + for natm in ${natm_interfaces} ; do + ifconfig ${natm} up + done + fi + + # Load loadable HARP drivers + for dev in ${atm_load} ; do + kldstat -v | grep -q ${dev} || kldload ${dev} + done + # Locate all probed ATM adapters atmdev=`atm sh stat int | while read dev junk; do case ${dev} in @@ -58,6 +73,20 @@ idt[0-9] | idt[0-9][0-9]) echo "${dev} " ;; + + # NATM interfaces per pseudo driver + en[0-9] | en[0-9][0-9]) + echo "${dev} " + ;; + fatm[0-9] | fatm[0-9][0-9]) + echo "${dev} " + ;; + hatm[0-9] | hatm[0-9][0-9]) + echo "${dev} " + ;; + patm[0-9] | patm[0-9][0-9]) + echo "${dev} " + ;; *) continue ;; ==== //depot/projects/ia64/etc/rc.d/dhclient#8 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/dhclient,v 1.8 2003/07/26 18:58:46 mtm Exp $ +# $FreeBSD: src/etc/rc.d/dhclient,v 1.9 2003/07/28 08:15:52 mbr Exp $ # # PROVIDE: dhclient @@ -59,6 +59,10 @@ ifscript_up ${ifn} done + if checkyesno background_dhclient; then + rc_flags="${rc_flags} -nw" + fi + rc_flags="${rc_flags} ${_cooked_list}" return 0 } ==== //depot/projects/ia64/etc/rc.d/ipfw#5 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ipfw,v 1.4 2003/03/30 15:52:18 mtm Exp $ +# $FreeBSD: src/etc/rc.d/ipfw,v 1.5 2003/07/27 20:34:30 mbr Exp $ # # PROVIDE: ipfw @@ -9,6 +9,7 @@ # KEYWORD: FreeBSD . /etc/rc.subr +. /etc/network.subr name="ipfw" rcvar="firewall_enable" @@ -40,6 +41,16 @@ # Network Address Translation daemon # if checkyesno natd_enable; then + dhcp_list="`list_net_interfaces dhcp`" + for ifn in ${dhcp_list}; do + case ${natd_interface} in + ${ifn}) + natd_flags="$natd_flags -dynamic" + ;; + *) + ;; + esac + done if [ -n "${natd_interface}" ]; then if echo ${natd_interface} | \ grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then @@ -75,6 +86,8 @@ # Disable the firewall # ${SYSCTL_W} net.inet.ip.fw.enable=0 + killall natd; + sleep 2; } load_rc_config $name ==== //depot/projects/ia64/gnu/usr.bin/patch/backupfile.c#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/patch/backupfile.c,v 1.6 2002/04/28 01:33:45 gad Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/patch/backupfile.c,v 1.7 2003/07/29 00:31:07 jwd Exp $"); #include "config.h" #include @@ -213,7 +213,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:45:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C87F37B405; Tue, 29 Jul 2003 16:45:33 -0700 (PDT) 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 EC38137B401 for ; Tue, 29 Jul 2003 16:45:32 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D135343F85 for ; Tue, 29 Jul 2003 16:45:30 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6TNjU0U073768 for ; Tue, 29 Jul 2003 16:45:30 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6TNjTF6073758 for perforce@freebsd.org; Tue, 29 Jul 2003 16:45:29 -0700 (PDT) Date: Tue, 29 Jul 2003 16:45:29 -0700 (PDT) Message-Id: <200307292345.h6TNjTF6073758@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35190 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, 29 Jul 2003 23:45:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=35190 Change 35190 by marcel@marcel_nfs on 2003/07/29 16:45:18 IFC @35188 Affected files ... .. //depot/projects/uart/alpha/alpha/busdma_machdep.c#3 integrate .. //depot/projects/uart/alpha/alpha/machdep.c#5 integrate .. //depot/projects/uart/alpha/alpha/mp_machdep.c#4 integrate .. //depot/projects/uart/alpha/alpha/vm_machdep.c#2 integrate .. //depot/projects/uart/alpha/include/bus.h#3 integrate .. //depot/projects/uart/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/uart/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/uart/amd64/include/bus_dma.h#3 integrate .. //depot/projects/uart/cam/cam_ccb.h#2 integrate .. //depot/projects/uart/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/uart/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#4 integrate .. //depot/projects/uart/conf/NOTES#5 integrate .. //depot/projects/uart/conf/options#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dbcmds.c#3 integrate .. //depot/projects/uart/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/uart/dev/ed/if_ed_pccard.c#4 integrate .. //depot/projects/uart/dev/fatm/if_fatm.c#4 integrate .. //depot/projects/uart/dev/firewire/sbp.c#5 integrate .. //depot/projects/uart/dev/fxp/if_fxp.c#6 integrate .. //depot/projects/uart/dev/hatm/if_hatm.c#5 integrate .. //depot/projects/uart/dev/hatm/if_hatm_ioctl.c#3 integrate .. //depot/projects/uart/dev/hatm/if_hatm_tx.c#3 integrate .. //depot/projects/uart/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/uart/dev/hea/eni_if.c#2 integrate .. //depot/projects/uart/dev/hfa/fore_if.c#2 integrate .. //depot/projects/uart/dev/md/md.c#2 integrate .. //depot/projects/uart/dev/patm/if_patm.c#2 integrate .. //depot/projects/uart/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/uart/dev/patm/if_patm_tx.c#3 integrate .. //depot/projects/uart/dev/raidframe/rf_freebsdkintf.c#3 integrate .. //depot/projects/uart/dev/usb/umass.c#3 integrate .. //depot/projects/uart/dev/usb/usb_mem.c#4 integrate .. //depot/projects/uart/dev/wi/if_wi_pci.c#3 integrate .. //depot/projects/uart/geom/geom_ccd.c#2 integrate .. //depot/projects/uart/geom/geom_mbr.c#2 integrate .. //depot/projects/uart/i386/i386/busdma_machdep.c#4 integrate .. //depot/projects/uart/i386/i386/locore.s#3 integrate .. //depot/projects/uart/i386/include/bus_dma.h#3 integrate .. //depot/projects/uart/i386/isa/pcvt/pcvt_hdr.h#2 integrate .. //depot/projects/uart/ia64/ia64/busdma_machdep.c#3 integrate .. //depot/projects/uart/ia64/include/bus.h#3 integrate .. //depot/projects/uart/kern/kern_acct.c#3 integrate .. //depot/projects/uart/kern/kern_alq.c#2 integrate .. //depot/projects/uart/kern/kern_descrip.c#5 integrate .. //depot/projects/uart/kern/kern_ktrace.c#2 integrate .. //depot/projects/uart/kern/kern_linker.c#2 integrate .. //depot/projects/uart/kern/kern_sig.c#7 integrate .. //depot/projects/uart/kern/link_elf.c#2 integrate .. //depot/projects/uart/kern/subr_mbuf.c#3 integrate .. //depot/projects/uart/kern/tty_cons.c#2 integrate .. //depot/projects/uart/kern/vfs_syscalls.c#4 integrate .. //depot/projects/uart/kern/vfs_vnops.c#3 integrate .. //depot/projects/uart/kern/vnode_if.src#3 integrate .. //depot/projects/uart/modules/cam/Makefile#2 integrate .. //depot/projects/uart/net/if_atm.h#4 integrate .. //depot/projects/uart/net/if_atmsubr.c#3 integrate .. //depot/projects/uart/net/if_spppsubr.c#2 integrate .. //depot/projects/uart/netatm/atm_if.c#4 integrate .. //depot/projects/uart/netatm/atm_ioctl.h#3 integrate .. //depot/projects/uart/netatm/atm_usrreq.c#2 integrate .. //depot/projects/uart/netatm/atm_vc.h#2 integrate .. //depot/projects/uart/netatm/ipatm/ipatm_usrreq.c#3 integrate .. //depot/projects/uart/netatm/sigpvc/sigpvc_if.c#3 integrate .. //depot/projects/uart/netatm/spans/spans_arp.c#3 integrate .. //depot/projects/uart/netatm/spans/spans_if.c#3 integrate .. //depot/projects/uart/netatm/uni/uniarp.c#4 integrate .. //depot/projects/uart/netatm/uni/uniarp_cache.c#3 integrate .. //depot/projects/uart/netatm/uni/uniip_var.h#3 integrate .. //depot/projects/uart/netatm/uni/unisig_if.c#3 integrate .. //depot/projects/uart/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/uart/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/uart/netinet6/ip6_fw.c#2 integrate .. //depot/projects/uart/netsmb/smb_conn.h#2 integrate .. //depot/projects/uart/nfsclient/nfs_lock.c#2 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/uart/pci/if_dc.c#7 integrate .. //depot/projects/uart/pci/if_rl.c#7 integrate .. //depot/projects/uart/pci/if_sis.c#5 integrate .. //depot/projects/uart/pci/if_xl.c#5 integrate .. //depot/projects/uart/pci/ncr.c#2 integrate .. //depot/projects/uart/powerpc/include/bus.h#3 integrate .. //depot/projects/uart/powerpc/powerpc/busdma_machdep.c#3 integrate .. //depot/projects/uart/powerpc/powerpc/pmap.c#4 integrate .. //depot/projects/uart/sparc64/include/bus.h#4 integrate .. //depot/projects/uart/sparc64/sparc64/bus_machdep.c#5 integrate .. //depot/projects/uart/sparc64/sparc64/iommu.c#3 integrate .. //depot/projects/uart/sys/vnode.h#3 integrate .. //depot/projects/uart/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/uart/ufs/ufs/extattr.h#2 integrate .. //depot/projects/uart/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/uart/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/uart/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/uart/vm/uma_core.c#4 integrate .. //depot/projects/uart/vm/vm_contig.c#5 integrate .. //depot/projects/uart/vm/vm_kern.c#2 integrate .. //depot/projects/uart/vm/vm_object.c#3 integrate Differences ... ==== //depot/projects/uart/alpha/alpha/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.42 2003/07/01 21:20:51 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.43 2003/07/27 13:52:09 mux Exp $"); #include #include @@ -413,24 +413,29 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = &nobounce_dmamap; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa(Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -894,13 +899,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/uart/alpha/alpha/machdep.c#5 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.207 2003/07/24 07:49:44 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.208 2003/07/27 23:45:47 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -549,6 +549,9 @@ alpha_pal_wrmces(alpha_pal_rdmces() & ~(ALPHA_MCES_DSC|ALPHA_MCES_DPC)); + /* Clear userland thread pointer */ + alpha_pal_wrunique(0); + /* * Find out what hardware we're on, and do basic initialization. */ @@ -2037,7 +2040,7 @@ mcp->mc_regs[FRAME_SP] = alpha_pal_rdusp(); mcp->mc_thrptr = alpha_pal_rdunique(); } else - mcp->mc_thrptr = td->td_pcb->pcb_hw.apcb_unique; + mcp->mc_thrptr = 0; mcp->mc_format = _MC_REV0_TRAPFRAME; PROC_LOCK(curthread->td_proc); @@ -2078,8 +2081,7 @@ if (td == curthread) { alpha_pal_wrusp(mcp->mc_regs[FRAME_SP]); alpha_pal_wrunique(mcp->mc_thrptr); - } else - td->td_pcb->pcb_hw.apcb_unique = mcp->mc_thrptr; + } /* * The context is a trapframe, so just copy it over the ==== //depot/projects/uart/alpha/alpha/mp_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.44 2003/07/03 14:33:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.45 2003/07/27 23:45:48 marcel Exp $"); #include #include @@ -137,6 +137,9 @@ */ alpha_pal_wrval((u_int64_t) pcpup); + /* Clear userland thread pointer. */ + alpha_pal_wrunique(0); + /* * Point interrupt/exception vectors to our own. */ ==== //depot/projects/uart/alpha/alpha/vm_machdep.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.88 2003/06/15 00:54:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.89 2003/07/27 23:45:48 marcel Exp $"); #include #include @@ -145,6 +145,7 @@ */ bcopy(td1->td_pcb, td2->td_pcb, sizeof(struct pcb)); td2->td_pcb->pcb_hw.apcb_usp = alpha_pal_rdusp(); + td2->td_pcb->pcb_hw.apcb_unique = 0; td2->td_pcb->pcb_hw.apcb_flags &= ~ALPHA_PCB_FLAGS_FEN; /* ==== //depot/projects/uart/alpha/include/bus.h#3 (text+ko) ==== @@ -67,7 +67,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/alpha/include/bus.h,v 1.22 2003/07/01 15:51:50 scottl Exp $ */ +/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.23 2003/07/27 13:52:09 mux Exp $ */ #ifndef _ALPHA_BUS_H_ #define _ALPHA_BUS_H_ @@ -470,6 +470,7 @@ #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ #define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ #define BUS_DMA_COHERENT 0x04 /* hint: map memory in a coherent way */ +#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ #define BUS_DMA_ISA 0x10 /* map memory for ISA dma */ #define BUS_DMA_BUS2 0x20 /* placeholders for bus functions... */ #define BUS_DMA_BUS3 0x40 ==== //depot/projects/uart/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.49 2003/07/01 19:16:48 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.50 2003/07/27 13:52:08 mux Exp $"); #include #include @@ -390,25 +390,30 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -809,13 +814,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/uart/amd64/amd64/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.214 2003/07/25 21:15:45 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.215 2003/07/29 12:44:16 davidxu Exp $"); #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -260,7 +260,7 @@ pcb2->pcb_rsp = (register_t)td->td_frame - sizeof(void *); /* trampoline arg */ pcb2->pcb_rbx = (register_t)td; /* trampoline arg */ pcb2->pcb_rip = (register_t)fork_trampoline; - pcb2->pcb_rflags = td->td_frame->tf_rflags & ~PSL_I; /* ints disabled */ + pcb2->pcb_rflags = PSL_KERNEL; /* ints disabled */ /* * If we didn't copy the pcb, we'd need to do the following registers: * pcb2->pcb_savefpu: cloned above. ==== //depot/projects/uart/amd64/include/bus_dma.h#3 (text+ko) ==== @@ -67,7 +67,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/amd64/include/bus_dma.h,v 1.23 2003/07/01 15:51:51 scottl Exp $ */ +/* $FreeBSD: src/sys/amd64/include/bus_dma.h,v 1.24 2003/07/27 13:52:08 mux Exp $ */ #ifndef _AMD64_BUS_DMA_H_ #define _AMD64_BUS_DMA_H_ @@ -79,6 +79,7 @@ #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ #define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ #define BUS_DMA_COHERENT 0x04 /* hint map memory in a coherent way */ +#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ #define BUS_DMA_BUS1 0x10 /* placeholders for bus functions... */ #define BUS_DMA_BUS2 0x20 #define BUS_DMA_BUS3 0x40 ==== //depot/projects/uart/cam/cam_ccb.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.25 2003/06/14 22:17:38 njl Exp $ + * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.26 2003/07/28 06:15:58 njl Exp $ */ #ifndef _CAM_CAM_CCB_H @@ -513,7 +513,8 @@ PIM_SCANHILO = 0x80, /* Bus scans from high ID to low ID */ PIM_NOREMOVE = 0x40, /* Removeable devices not included in scan */ PIM_NOINITIATOR = 0x20, /* Initiator role not supported. */ - PIM_NOBUSRESET = 0x10 /* User has disabled initial BUS RESET */ + PIM_NOBUSRESET = 0x10, /* User has disabled initial BUS RESET */ + PIM_NO_6_BYTE = 0x08 /* Do not send 6-byte commands */ } pi_miscflag; #ifdef CAM_NEW_TRAN_CODE ==== //depot/projects/uart/cam/scsi/scsi_cd.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.79 2003/06/10 18:14:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.80 2003/07/28 06:15:58 njl Exp $"); #include "opt_cd.h" @@ -640,6 +640,7 @@ { struct cd_softc *softc; struct ccb_setasync csa; + struct ccb_pathinq cpi; struct ccb_getdev *cgd; char tmpstr[80], tmpstr2[80]; caddr_t match; @@ -688,6 +689,13 @@ else softc->quirks = CD_Q_NONE; + /* Check if the SIM does not want 6 byte commands */ + xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); + cpi.ccb_h.func_code = XPT_PATH_INQ; + xpt_action((union ccb *)&cpi); + if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE)) + softc->quirks |= CD_Q_10_BYTE_ONLY; + snprintf(tmpstr, sizeof(tmpstr), "CAM CD unit %d", periph->unit_number); snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number); sysctl_ctx_init(&softc->sysctl_ctx); ==== //depot/projects/uart/cam/scsi/scsi_da.c#3 (text+ko) ==== @@ -27,9 +27,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.146 2003/07/18 16:26:36 thomas Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.149 2003/07/29 18:08:16 njl Exp $"); #ifdef _KERNEL +#include "opt_da.h" #include "opt_hw_wdog.h" #endif /* _KERNEL */ @@ -145,6 +146,7 @@ static struct da_quirk_entry da_quirk_table[] = { +#ifdef DA_OLD_QUIRKS /* * Logitec USB/Firewire LHD-P30FU */ @@ -158,6 +160,7 @@ {T_DIRECT, SIP_MEDIA_FIXED, "LSILogic", "SYM13FW*", "*"}, /*quirks*/ DA_Q_NO_6_BYTE }, +#endif /* DA_OLD_QUIRKS */ { /* * Fujitsu M2513A MO drives. @@ -241,6 +244,7 @@ /*quirks*/ DA_Q_NO_6_BYTE }, +#ifdef DA_OLD_QUIRKS /* Below a list of quirks for USB devices supported by umass. */ { /* @@ -250,12 +254,12 @@ * not support sync cache (0x35). */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Y-E DATA", "USB-FDU", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* Another USB floppy */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MATSHITA", "FDD CF-VFDU*","*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -264,7 +268,7 @@ * Make all sony MS* products use this quirk. */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "MS*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -272,22 +276,23 @@ * of PalmOS PDA's */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "CLIE*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Intelligent Stick USB disk-on-key * PR: kern/53005 */ - {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card", "IntelligentStick*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card", + "IntelligentStick*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Sony DSC cameras (DSC-S30, DSC-S50, DSC-S70) */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -313,7 +318,7 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "eUSB Compact*", "Compact Flash*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -322,14 +327,14 @@ * spaces. The trailing wildcard character '*' is required. */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "SMSC*", "USB FDC*","*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1) */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C-*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -343,14 +348,14 @@ * Olympus digital cameras (E-100RS, E-10). */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E-*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * KingByte Pen Drives */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "NO BRAND", "PEN DRIVE", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -358,7 +363,7 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "FUJIFILMUSB-DRIVEUNIT", "USB-DRIVEUNIT", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -393,7 +398,7 @@ * Minolta Dimage E203 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MINOLTA", "DiMAGE E203", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -416,7 +421,7 @@ * PR: kern/43627 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Apacer", "HandyDrive", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -424,7 +429,7 @@ * PR: kern/43580 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "ZORAN", "COACH", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -448,7 +453,7 @@ * PR: kern/46386 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Storage Media", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -507,7 +512,7 @@ * PR: kern/50226 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -517,6 +522,7 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"}, /*quirks*/ DA_Q_NO_6_BYTE } +#endif /* DA_OLD_QUIRKS */ }; static disk_strategy_t dastrategy; @@ -1087,6 +1093,7 @@ int s; struct da_softc *softc; struct ccb_setasync csa; + struct ccb_pathinq cpi; struct ccb_getdev *cgd; char tmpstr[80], tmpstr2[80]; caddr_t match; @@ -1134,6 +1141,13 @@ else softc->quirks = DA_Q_NONE; + /* Check if the SIM does not want 6 byte commands */ + xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); + cpi.ccb_h.func_code = XPT_PATH_INQ; + xpt_action((union ccb *)&cpi); + if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE)) + softc->quirks |= DA_Q_NO_6_BYTE; + snprintf(tmpstr, sizeof(tmpstr), "CAM DA unit %d", periph->unit_number); snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number); sysctl_ctx_init(&softc->sysctl_ctx); ==== //depot/projects/uart/compat/linux/linux_misc.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.146 2003/07/26 07:32:20 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.147 2003/07/29 10:03:15 des Exp $"); #include "opt_mac.h" @@ -75,6 +75,10 @@ #include #include +#ifdef __i386__ +#include +#endif + #ifdef __alpha__ #define BSD_TO_LINUX_SIGNAL(sig) (sig) #else @@ -689,6 +693,7 @@ struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; + char *p; #ifdef DEBUG if (ldebug(newuname)) @@ -703,7 +708,32 @@ getcredhostname(td->td_ucred, utsname.nodename, LINUX_MAX_UTSNAME); strlcpy(utsname.release, osrelease, LINUX_MAX_UTSNAME); strlcpy(utsname.version, version, LINUX_MAX_UTSNAME); + for (p = utsname.version; *p != '\0'; ++p) + if (*p == '\n') { + *p = '\0'; + break; + } +#ifdef __i386__ + { + const char *class; + switch (cpu_class) { + case CPUCLASS_686: + class = "i686"; + break; + case CPUCLASS_586: + class = "i586"; + break; + case CPUCLASS_486: + class = "i486"; + break; + default: + class = "i386"; + } + strlcpy(utsname.machine, class, LINUX_MAX_UTSNAME); + } +#else strlcpy(utsname.machine, machine, LINUX_MAX_UTSNAME); +#endif strlcpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME); return (copyout(&utsname, args->buf, sizeof(utsname))); ==== //depot/projects/uart/conf/NOTES#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1164 2003/07/21 13:56:21 harti Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1165 2003/07/29 04:32:32 njl Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -962,6 +962,12 @@ options SCSI_NO_OP_STRINGS options SCSI_DELAY=8000 # Be pessimistic about Joe SCSI device +# Options for the CAM SCSI disk driver: +# DA_OLD_QUIRKS: Restore old USB and firewire quirks that have been +# deprecated. Please also email scsi@freebsd.org if you +# have a device that needs this option. +options DA_OLD_QUIRKS + # Options for the CAM CDROM driver: # CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN # CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only ==== //depot/projects/uart/conf/options#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.404 2003/07/22 11:42:45 ticso Exp $ +# $FreeBSD: src/sys/conf/options,v 1.406 2003/07/29 18:08:16 njl Exp $ # # On the handling of kernel options # @@ -258,6 +258,8 @@ CHANGER_MIN_BUSY_SECONDS opt_cd.h CHANGER_MAX_BUSY_SECONDS opt_cd.h +DA_OLD_QUIRKS opt_da.h + # Options used only in cam/scsi/scsi_sa.c. SA_IO_TIMEOUT opt_sa.h SA_SPACE_TIMEOUT opt_sa.h ==== //depot/projects/uart/contrib/dev/acpica/dbcmds.c#3 (text+ko) ==== @@ -1292,7 +1292,7 @@ BlockNumber = ACPI_STRTOUL (BlockArg, NULL, 0); - GpeEventInfo = AcpiEvGetGpeEventInfo ((void *) BlockNumber, GpeNumber); + GpeEventInfo = AcpiEvGetGpeEventInfo ((void *)(uintptr_t) BlockNumber, GpeNumber); if (!GpeEventInfo) { AcpiOsPrintf ("Invalid GPE\n"); ==== //depot/projects/uart/dev/ata/atapi-cam.c#2 (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/ata/atapi-cam.c,v 1.17 2003/06/14 22:17:39 njl Exp $ + * $FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.18 2003/07/28 06:15:58 njl Exp $ */ #include @@ -238,7 +238,7 @@ cpi->version_num = 1; cpi->hba_inquiry = 0; cpi->target_sprt = 0; - cpi->hba_misc = 0; + cpi->hba_misc = PIM_NO_6_BYTE; cpi->hba_eng_cnt = 0; bzero(cpi->vuhba_flags, sizeof(cpi->vuhba_flags)); cpi->max_target = 1; ==== //depot/projects/uart/dev/ed/if_ed_pccard.c#4 (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/dev/ed/if_ed_pccard.c,v 1.50 2003/07/26 17:52:09 imp Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.51 2003/07/28 00:07:58 imp Exp $ */ #include "opt_ed.h" @@ -173,7 +173,7 @@ { PCMCIA_CARD(SOCKET, EA_ETHER, 0), 0}, { PCMCIA_CARD(SOCKET, LP_ETHER, 0), 0}, { PCMCIA_CARD(SOCKET, LP_ETHER_CF, 0), 0}, - { PCMCIA_CARD(SOCKET, LP_ETH_10_100_CF, 0), 0}, + { PCMCIA_CARD(SOCKET, LP_ETH_10_100_CF, 0), NE2000DVF_DL10019}, { PCMCIA_CARD(SVEC, COMBOCARD, 0), 0}, { PCMCIA_CARD(SVEC, LANCARD, 0), 0}, { PCMCIA_CARD(SYNERGY21, S21810, 0), 0}, ==== //depot/projects/uart/dev/fatm/if_fatm.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * Fore PCA200E driver for NATM */ #include -__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.3 2003/07/02 13:53:41 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.4 2003/07/29 14:00:59 harti Exp $"); #include "opt_inet.h" #include "opt_natm.h" @@ -470,6 +470,8 @@ if (sc->ifatm.ifnet.if_flags & IFF_RUNNING) { sc->ifatm.ifnet.if_flags &= ~(IFF_RUNNING | IFF_OACTIVE); + ATMEV_SEND_IFSTATE_CHANGED(&sc->ifatm, + sc->utopia.carrier == UTP_CARR_OK); /* * Collect transmit mbufs, partial receive mbufs and @@ -1325,6 +1327,9 @@ /* start SUNI */ utopia_start(&sc->utopia); + ATMEV_SEND_IFSTATE_CHANGED(&sc->ifatm, + sc->utopia.carrier == UTP_CARR_OK); + DBG(sc, INIT, ("done")); } @@ -2283,15 +2288,11 @@ sc->vccs[vci].flags |= FATM_VCC_OPEN; sc->open_vccs++; -#ifdef notyet /* inform management if this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, - ATM_MSG_VCC_CHANGED, - (1 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 1); } else bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); @@ -2319,15 +2320,11 @@ error = fatm_waitvcc(sc, q); if (error == 0) { -#ifdef notyet /* inform management of this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, - ATM_MSG_VCC_CHANGED, - (0 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 0); bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); sc->open_vccs--; @@ -2358,14 +2355,11 @@ sc->vccs[vci].flags |= FATM_VCC_OPEN; sc->open_vccs++; -#ifdef notyet /* inform management if this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, ATM_MSG_VCC_CHANGED, - (1 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 1); } /* @@ -2385,14 +2379,11 @@ return; } -#ifdef notyet /* inform management of this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, ATM_MSG_VCC_CHANGED, - (0 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 0); bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); sc->open_vccs--; @@ -2656,6 +2647,7 @@ /* * Sysctl handler for card statistics + * This is disable because it destroys the PHY statistics. */ static int fatm_sysctl_stats(SYSCTL_HANDLER_ARGS) ==== //depot/projects/uart/dev/firewire/sbp.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.57 2003/07/18 14:31:16 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.58 2003/07/28 06:15:59 njl Exp $ * */ @@ -2369,7 +2369,7 @@ cpi->version_num = 1; /* XXX??? */ cpi->hba_inquiry = PI_TAG_ABLE; cpi->target_sprt = 0; - cpi->hba_misc = PIM_NOBUSRESET; + cpi->hba_misc = PIM_NOBUSRESET | PIM_NO_6_BYTE; cpi->hba_eng_cnt = 0; cpi->max_target = SBP_NUM_TARGETS - 1; cpi->max_lun = SBP_NUM_LUNS - 1; ==== //depot/projects/uart/dev/fxp/if_fxp.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.188 2003/07/22 15:50:54 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.189 2003/07/27 13:58:05 mux Exp $"); #include #include @@ -642,7 +642,7 @@ } error = bus_dmamem_alloc(sc->fxp_stag, (void **)&sc->fxp_stats, - BUS_DMA_NOWAIT, &sc->fxp_smap); + BUS_DMA_NOWAIT | BUS_DMA_ZERO, &sc->fxp_smap); if (error) goto fail; error = bus_dmamap_load(sc->fxp_stag, sc->fxp_smap, sc->fxp_stats, @@ -651,7 +651,6 @@ device_printf(dev, "could not map the stats buffer\n"); goto fail; } - bzero(sc->fxp_stats, sizeof(struct fxp_stats)); error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, FXP_TXCB_SZ, 1, @@ -662,10 +661,9 @@ } error = bus_dmamem_alloc(sc->cbl_tag, (void **)&sc->fxp_desc.cbl_list, - BUS_DMA_NOWAIT, &sc->cbl_map); + BUS_DMA_NOWAIT | BUS_DMA_ZERO, &sc->cbl_map); if (error) goto fail; - bzero(sc->fxp_desc.cbl_list, FXP_TXCB_SZ); error = bus_dmamap_load(sc->cbl_tag, sc->cbl_map, sc->fxp_desc.cbl_list, FXP_TXCB_SZ, fxp_dma_map_addr, ==== //depot/projects/uart/dev/hatm/if_hatm.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm.c,v 1.5 2003/07/17 13:43:16 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm.c,v 1.7 2003/07/29 14:07:19 harti Exp $"); #include "opt_inet.h" #include "opt_natm.h" @@ -1245,7 +1245,6 @@ } enum { - CTL_STATS, CTL_ISTATS, }; @@ -1262,10 +1261,6 @@ switch (arg2) { - case CTL_STATS: - len = sizeof(uint32_t) * 4; - break; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 30 11:34:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4BF937B404; Wed, 30 Jul 2003 11:34:00 -0700 (PDT) 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 4432E37B401 for ; Wed, 30 Jul 2003 11:34:00 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 332B843FA3 for ; Wed, 30 Jul 2003 11:33:59 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6UIXx0U062374 for ; Wed, 30 Jul 2003 11:33:59 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6UIXwNZ062371 for perforce@freebsd.org; Wed, 30 Jul 2003 11:33:58 -0700 (PDT) Date: Wed, 30 Jul 2003 11:33:58 -0700 (PDT) Message-Id: <200307301833.h6UIXwNZ062371@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 35225 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: Wed, 30 Jul 2003 18:34:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=35225 Change 35225 by sam@sam_ebb on 2003/07/30 11:33:50 IFC Affected files ... .. //depot/projects/netperf/sys/alpha/alpha/machdep.c#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/netperf/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/netperf/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/netperf/sys/conf/NOTES#2 integrate .. //depot/projects/netperf/sys/conf/options#2 integrate .. //depot/projects/netperf/sys/dev/acpica/acpi_ec.c#3 integrate .. //depot/projects/netperf/sys/dev/fatm/if_fatm.c#2 integrate .. //depot/projects/netperf/sys/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/netperf/sys/dev/hatm/if_hatm.c#2 integrate .. //depot/projects/netperf/sys/dev/hatm/if_hatm_ioctl.c#2 integrate .. //depot/projects/netperf/sys/dev/hatm/if_hatm_tx.c#2 integrate .. //depot/projects/netperf/sys/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/netperf/sys/dev/hea/eni_if.c#2 integrate .. //depot/projects/netperf/sys/dev/hfa/fore_if.c#2 integrate .. //depot/projects/netperf/sys/dev/patm/if_patm.c#2 integrate .. //depot/projects/netperf/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/netperf/sys/dev/patm/if_patm_tx.c#2 integrate .. //depot/projects/netperf/sys/dev/usb/usb_mem.c#2 integrate .. //depot/projects/netperf/sys/dev/utopia/utopia.c#2 integrate .. //depot/projects/netperf/sys/geom/geom_ccd.c#2 integrate .. //depot/projects/netperf/sys/geom/geom_mbr.c#2 integrate .. //depot/projects/netperf/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/locore.s#2 integrate .. //depot/projects/netperf/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/netperf/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/netperf/sys/kern/vfs_syscalls.c#3 integrate .. //depot/projects/netperf/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/netperf/sys/kern/vnode_if.src#3 integrate .. //depot/projects/netperf/sys/modules/cam/Makefile#2 integrate .. //depot/projects/netperf/sys/net/if_atm.h#2 integrate .. //depot/projects/netperf/sys/net/if_atmsubr.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_if.c#3 integrate .. //depot/projects/netperf/sys/netatm/atm_ioctl.h#3 integrate .. //depot/projects/netperf/sys/netatm/atm_usrreq.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_vc.h#2 integrate .. //depot/projects/netperf/sys/netatm/ipatm/ipatm_usrreq.c#3 integrate .. //depot/projects/netperf/sys/netatm/sigpvc/sigpvc_if.c#2 integrate .. //depot/projects/netperf/sys/netatm/spans/spans_arp.c#2 integrate .. //depot/projects/netperf/sys/netatm/spans/spans_if.c#2 integrate .. //depot/projects/netperf/sys/netatm/uni/uniarp.c#3 integrate .. //depot/projects/netperf/sys/netatm/uni/uniarp_cache.c#3 integrate .. //depot/projects/netperf/sys/netatm/uni/uniip_var.h#3 integrate .. //depot/projects/netperf/sys/netatm/uni/unisig_if.c#2 integrate .. //depot/projects/netperf/sys/netgraph/atm/ng_atm.c#2 integrate .. //depot/projects/netperf/sys/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/netperf/sys/netinet6/ip6_fw.c#3 integrate .. //depot/projects/netperf/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/netperf/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/netperf/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/netperf/sys/ufs/ufs/extattr.h#2 integrate .. //depot/projects/netperf/sys/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/netperf/sys/ufs/ufs/ufs_vnops.c#2 integrate .. //depot/projects/netperf/sys/vm/uma_core.c#3 integrate .. //depot/projects/netperf/sys/vm/uma_int.h#2 integrate Differences ... ==== //depot/projects/netperf/sys/alpha/alpha/machdep.c#3 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.208 2003/07/27 23:45:47 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.209 2003/07/30 06:38:35 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2021,6 +2021,7 @@ if (clear_ret != 0) { mcp->mc_regs[FRAME_V0] = 0; mcp->mc_regs[FRAME_A4] = 0; + mcp->mc_regs[FRAME_A3] = 0; } /* ==== //depot/projects/netperf/sys/amd64/amd64/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.214 2003/07/25 21:15:45 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.215 2003/07/29 12:44:16 davidxu Exp $"); #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -260,7 +260,7 @@ pcb2->pcb_rsp = (register_t)td->td_frame - sizeof(void *); /* trampoline arg */ pcb2->pcb_rbx = (register_t)td; /* trampoline arg */ pcb2->pcb_rip = (register_t)fork_trampoline; - pcb2->pcb_rflags = td->td_frame->tf_rflags & ~PSL_I; /* ints disabled */ + pcb2->pcb_rflags = PSL_KERNEL; /* ints disabled */ /* * If we didn't copy the pcb, we'd need to do the following registers: * pcb2->pcb_savefpu: cloned above. ==== //depot/projects/netperf/sys/cam/scsi/scsi_da.c#3 (text+ko) ==== @@ -27,9 +27,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.147 2003/07/28 06:15:58 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.149 2003/07/29 18:08:16 njl Exp $"); #ifdef _KERNEL +#include "opt_da.h" #include "opt_hw_wdog.h" #endif /* _KERNEL */ @@ -145,6 +146,7 @@ static struct da_quirk_entry da_quirk_table[] = { +#ifdef DA_OLD_QUIRKS /* * Logitec USB/Firewire LHD-P30FU */ @@ -158,6 +160,7 @@ {T_DIRECT, SIP_MEDIA_FIXED, "LSILogic", "SYM13FW*", "*"}, /*quirks*/ DA_Q_NO_6_BYTE }, +#endif /* DA_OLD_QUIRKS */ { /* * Fujitsu M2513A MO drives. @@ -241,6 +244,7 @@ /*quirks*/ DA_Q_NO_6_BYTE }, +#ifdef DA_OLD_QUIRKS /* Below a list of quirks for USB devices supported by umass. */ { /* @@ -250,12 +254,12 @@ * not support sync cache (0x35). */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Y-E DATA", "USB-FDU", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* Another USB floppy */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MATSHITA", "FDD CF-VFDU*","*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -264,7 +268,7 @@ * Make all sony MS* products use this quirk. */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "MS*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -272,22 +276,23 @@ * of PalmOS PDA's */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "CLIE*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Intelligent Stick USB disk-on-key * PR: kern/53005 */ - {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card", "IntelligentStick*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card", + "IntelligentStick*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Sony DSC cameras (DSC-S30, DSC-S50, DSC-S70) */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -313,7 +318,7 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "eUSB Compact*", "Compact Flash*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -322,14 +327,14 @@ * spaces. The trailing wildcard character '*' is required. */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "SMSC*", "USB FDC*","*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1) */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C-*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -343,14 +348,14 @@ * Olympus digital cameras (E-100RS, E-10). */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E-*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * KingByte Pen Drives */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "NO BRAND", "PEN DRIVE", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -358,7 +363,7 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "FUJIFILMUSB-DRIVEUNIT", "USB-DRIVEUNIT", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -393,7 +398,7 @@ * Minolta Dimage E203 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MINOLTA", "DiMAGE E203", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -416,7 +421,7 @@ * PR: kern/43627 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Apacer", "HandyDrive", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -424,7 +429,7 @@ * PR: kern/43580 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "ZORAN", "COACH", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -448,7 +453,7 @@ * PR: kern/46386 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Storage Media", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -507,7 +512,7 @@ * PR: kern/50226 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -517,6 +522,7 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"}, /*quirks*/ DA_Q_NO_6_BYTE } +#endif /* DA_OLD_QUIRKS */ }; static disk_strategy_t dastrategy; ==== //depot/projects/netperf/sys/compat/linux/linux_misc.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.146 2003/07/26 07:32:20 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.147 2003/07/29 10:03:15 des Exp $"); #include "opt_mac.h" @@ -75,6 +75,10 @@ #include #include +#ifdef __i386__ +#include +#endif + #ifdef __alpha__ #define BSD_TO_LINUX_SIGNAL(sig) (sig) #else @@ -689,6 +693,7 @@ struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; + char *p; #ifdef DEBUG if (ldebug(newuname)) @@ -703,7 +708,32 @@ getcredhostname(td->td_ucred, utsname.nodename, LINUX_MAX_UTSNAME); strlcpy(utsname.release, osrelease, LINUX_MAX_UTSNAME); strlcpy(utsname.version, version, LINUX_MAX_UTSNAME); + for (p = utsname.version; *p != '\0'; ++p) + if (*p == '\n') { + *p = '\0'; + break; + } +#ifdef __i386__ + { + const char *class; + switch (cpu_class) { + case CPUCLASS_686: + class = "i686"; + break; + case CPUCLASS_586: + class = "i586"; + break; + case CPUCLASS_486: + class = "i486"; + break; + default: + class = "i386"; + } + strlcpy(utsname.machine, class, LINUX_MAX_UTSNAME); + } +#else strlcpy(utsname.machine, machine, LINUX_MAX_UTSNAME); +#endif strlcpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME); return (copyout(&utsname, args->buf, sizeof(utsname))); ==== //depot/projects/netperf/sys/conf/NOTES#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1164 2003/07/21 13:56:21 harti Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1165 2003/07/29 04:32:32 njl Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -962,6 +962,12 @@ options SCSI_NO_OP_STRINGS options SCSI_DELAY=8000 # Be pessimistic about Joe SCSI device +# Options for the CAM SCSI disk driver: +# DA_OLD_QUIRKS: Restore old USB and firewire quirks that have been +# deprecated. Please also email scsi@freebsd.org if you +# have a device that needs this option. +options DA_OLD_QUIRKS + # Options for the CAM CDROM driver: # CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN # CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only ==== //depot/projects/netperf/sys/conf/options#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.404 2003/07/22 11:42:45 ticso Exp $ +# $FreeBSD: src/sys/conf/options,v 1.406 2003/07/29 18:08:16 njl Exp $ # # On the handling of kernel options # @@ -258,6 +258,8 @@ CHANGER_MIN_BUSY_SECONDS opt_cd.h CHANGER_MAX_BUSY_SECONDS opt_cd.h +DA_OLD_QUIRKS opt_da.h + # Options used only in cam/scsi/scsi_sa.c. SA_IO_TIMEOUT opt_sa.h SA_SPACE_TIMEOUT opt_sa.h ==== //depot/projects/netperf/sys/dev/acpica/acpi_ec.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.37 2003/07/25 16:49:46 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.38 2003/07/30 16:22:52 njl Exp $ */ /****************************************************************************** * @@ -288,6 +288,9 @@ ((event) == EC_EVENT_INPUT_BUFFER_EMPTY && \ ((status) & EC_FLAG_INPUT_BUFFER) == 0)) +static int ec_poll_timeout = EC_POLL_TIMEOUT; +TUNABLE_INT("hw.acpi.ec.poll_timeout", &ec_poll_timeout); + static __inline ACPI_STATUS EcLock(struct acpi_ec_softc *sc) { @@ -792,12 +795,12 @@ sc->ec_polldelay = 100; /* - * If we still don't have a response, wait up to EC_POLL_TIMEOUT ms + * If we still don't have a response, wait up to ec_poll_timeout ms * for completion, sleeping for chunks of 10 ms. */ if (Status != AE_OK) { retval = -1; - for (i = 0; i < EC_POLL_TIMEOUT / 10; i++) { + for (i = 0; i < ec_poll_timeout / 10; i++) { if (retval != 0) EcStatus = EC_GET_CSR(sc); else ==== //depot/projects/netperf/sys/dev/fatm/if_fatm.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * Fore PCA200E driver for NATM */ #include -__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.3 2003/07/02 13:53:41 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.5 2003/07/30 14:20:00 harti Exp $"); #include "opt_inet.h" #include "opt_natm.h" @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -470,6 +471,8 @@ if (sc->ifatm.ifnet.if_flags & IFF_RUNNING) { sc->ifatm.ifnet.if_flags &= ~(IFF_RUNNING | IFF_OACTIVE); + ATMEV_SEND_IFSTATE_CHANGED(&sc->ifatm, + sc->utopia.carrier == UTP_CARR_OK); /* * Collect transmit mbufs, partial receive mbufs and @@ -518,9 +521,13 @@ sc->small_cnt = sc->large_cnt = 0; /* Reset vcc info */ - if (sc->vccs != NULL) - for (i = 0; i <= FORE_MAX_VCC; i++) - sc->vccs[i].flags = 0; + if (sc->vccs != NULL) { + for (i = 0; i < FORE_MAX_VCC + 1; i++) + if (sc->vccs[i] != NULL) { + uma_zfree(sc->vcc_zone, sc->vccs[i]); + sc->vccs[i] = NULL; + } + } sc->open_vccs = 0; } @@ -1325,6 +1332,9 @@ /* start SUNI */ utopia_start(&sc->utopia); + ATMEV_SEND_IFSTATE_CHANGED(&sc->ifatm, + sc->utopia.carrier == UTP_CARR_OK); + DBG(sc, INIT, ("done")); } @@ -1441,7 +1451,7 @@ fatm_intr_drain_rx(struct fatm_softc *sc) { struct rxqueue *q; - int stat, mlen, drop; + int stat, mlen; u_int i; uint32_t h; struct mbuf *last, *m0; @@ -1450,6 +1460,7 @@ u_int vci, vpi, pt; struct atm_pseudohdr aph; struct ifnet *ifp; + struct card_vcc *vc; for (;;) { q = GET_QUEUE(sc->rxqueue, struct rxqueue, sc->rxqueue.tail); @@ -1464,7 +1475,6 @@ H_SYNCQ_POSTREAD(&sc->rxq_mem, rpd, RPD_SIZE); rpd->nseg = le32toh(rpd->nseg); - drop = 0; mlen = 0; m0 = last = 0; for (i = 0; i < rpd->nseg; i++) { @@ -1504,26 +1514,30 @@ * Locate the VCC this packet belongs to */ if (!VC_OK(sc, vpi, vci)) - drop = 1; - else if ((sc->vccs[vci].flags & FATM_VCC_OPEN) == 0) { + vc = NULL; + else if ((vc = sc->vccs[vci]) == NULL || + !(sc->vccs[vci]->vflags & FATM_VCC_OPEN)) { sc->istats.rx_closed++; - drop = 1; + vc = NULL; } DBG(sc, RCV, ("RCV: vc=%u.%u pt=%u mlen=%d %s", vpi, vci, - pt, mlen, drop ? "dropped" : "")); + pt, mlen, vc == NULL ? "dropped" : "")); - if (drop) { + if (vc == NULL) { m_freem(m0); } else { - ATM_PH_FLAGS(&aph) = sc->vccs[vci].flags & 0xff; + ATM_PH_FLAGS(&aph) = vc->param.flags; ATM_PH_VPI(&aph) = vpi; ATM_PH_SETVCI(&aph, vci); ifp = &sc->ifatm.ifnet; ifp->if_ipackets++; - atm_input(ifp, &aph, m0, sc->vccs[vci].rxhand); + vc->ipackets++; + vc->ibytes += m0->m_pkthdr.len; + + atm_input(ifp, &aph, m0, vc->rxhand); } H_SETSTAT(q->q.statp, FATM_STAT_FREE); @@ -1890,7 +1904,7 @@ * Note, that we update the internal statistics without the lock here. */ static int -fatm_tx(struct fatm_softc *sc, struct mbuf *m, u_int vpi, u_int vci, u_int mlen) +fatm_tx(struct fatm_softc *sc, struct mbuf *m, struct card_vcc *vc, u_int mlen) { struct txqueue *q; u_int nblks; @@ -1943,7 +1957,7 @@ /* * OK. Now go and do it. */ - aal = (sc->vccs[vci].aal == ATMIO_AAL_5) ? 5 : 0; + aal = (vc->param.aal == ATMIO_AAL_5) ? 5 : 0; H_SETSTAT(q->q.statp, FATM_STAT_PENDING); H_SYNCSTAT_PREWRITE(sc, q->q.statp); @@ -1956,15 +1970,16 @@ */ H_SETDESC(tpd->spec, TDX_MKSPEC((sc->txcnt >= (4 * FATM_TX_QLEN) / 5), aal, nsegs, mlen)); - H_SETDESC(tpd->atm_header, TDX_MKHDR(vpi, vci, 0, 0)); + H_SETDESC(tpd->atm_header, TDX_MKHDR(vc->param.vpi, + vc->param.vci, 0, 0)); - if (sc->vccs[vci].traffic == ATMIO_TRAFFIC_UBR) + if (vc->param.traffic == ATMIO_TRAFFIC_UBR) H_SETDESC(tpd->stream, 0); else { u_int i; for (i = 0; i < RATE_TABLE_SIZE; i++) - if (rate_table[i].cell_rate < sc->vccs[vci].pcr) + if (rate_table[i].cell_rate < vc->param.tparam.pcr) break; if (i > 0) i--; @@ -1982,6 +1997,8 @@ sc->txcnt++; sc->ifatm.ifnet.if_opackets++; + vc->obytes += m->m_pkthdr.len; + vc->opackets++; NEXT_QUEUE_ENTRY(sc->txqueue.head, FATM_TX_QLEN); @@ -1995,6 +2012,7 @@ struct fatm_softc *sc; struct mbuf *m; u_int mlen, vpi, vci; + struct card_vcc *vc; sc = (struct fatm_softc *)ifp->if_softc; @@ -2043,13 +2061,13 @@ m_freem(m); break; } - if (!VC_OK(sc, vpi, vci) || - !(sc->vccs[vci].flags & FATM_VCC_OPEN)) { + if (!VC_OK(sc, vpi, vci) || (vc = sc->vccs[vci]) == NULL || + !(vc->vflags & FATM_VCC_OPEN)) { FATM_UNLOCK(sc); m_freem(m); continue; } - if (fatm_tx(sc, m, vpi, vci, mlen)) { + if (fatm_tx(sc, m, vc, mlen)) { FATM_UNLOCK(sc); break; } @@ -2058,52 +2076,6 @@ } /* - * Return a table of all currently open VCCs. - */ -static struct atmio_vcctable * -get_vccs(struct fatm_softc *sc, int flags) -{ - struct atmio_vcctable *vccs; - struct atmio_vcc *v; - u_int i, alloc; - - alloc = 10; - vccs = NULL; - for (;;) { - vccs = reallocf(vccs, - sizeof(*vccs) + alloc * sizeof(vccs->vccs[0]), - M_DEVBUF, flags); - if (vccs == NULL) - return (NULL); - - vccs->count = 0; - FATM_LOCK(sc); - v = vccs->vccs; - for (i = 0; i < (1U << sc->ifatm.mib.vci_bits); i++) { - if (sc->vccs[i].flags & FATM_VCC_OPEN) { - if (vccs->count++ == alloc) { - alloc *= 2; - break; - } - v->vpi = 0; - v->vci = i; - v->flags = sc->vccs[i].flags; - v->aal = sc->vccs[i].aal; - v->traffic = sc->vccs[i].traffic; - bzero(&v->tparam, sizeof(v->tparam)); - v->tparam.pcr = sc->vccs[i].pcr; - v++; - } - } - if (i == (1U << sc->ifatm.mib.vci_bits)) - break; - FATM_UNLOCK(sc); - } - FATM_UNLOCK(sc); - return (vccs); -} - -/* * VCC managment * * This may seem complicated. The reason for this is, that we need an @@ -2148,79 +2120,57 @@ } /* - * Start to open a VCC. This just initiates the operation. + * The VC has been opened/closed and somebody has been waiting for this. + * Wake him up. */ -static int -fatm_start_open_vcc(struct fatm_softc *sc, u_int vpi, u_int vci, u_int aal, - u_int traffic, u_int pcr, u_int flags, void *rxhand, - void (*func)(struct fatm_softc *, struct cmdqueue *), struct cmdqueue **qp) +static void +fatm_cmd_complete(struct fatm_softc *sc, struct cmdqueue *q) { - int error; - uint32_t cmd; - struct cmdqueue *q; - error = 0; + H_SYNCSTAT_POSTREAD(sc, q->q.statp); + if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { + sc->istats.get_stat_errors++; + q->error = EIO; + } + wakeup(q); +} - if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) - return (EIO); - if (!VC_OK(sc, vpi, vci) || - (aal != ATMIO_AAL_0 && aal != ATMIO_AAL_5) || - (traffic != ATMIO_TRAFFIC_UBR && traffic != ATMIO_TRAFFIC_CBR)) - return (EINVAL); - if (sc->vccs[vci].flags & FATM_VCC_BUSY) - return (EBUSY); +/* + * Open complete + */ +static void +fatm_open_finish(struct fatm_softc *sc, struct card_vcc *vc) +{ + vc->vflags &= ~FATM_VCC_TRY_OPEN; + vc->vflags |= FATM_VCC_OPEN; - /* Command and buffer strategy */ - cmd = FATM_OP_ACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL | (0 << 16); - if (aal == ATMIO_AAL_0) - cmd |= (0 << 8); - else - cmd |= (5 << 8); - - if ((q = fatm_start_vcc(sc, vpi, vci, cmd, 1, func)) == NULL) - return (EIO); - if (qp != NULL) - *qp = q; - - sc->vccs[vci].aal = aal; - sc->vccs[vci].flags = flags | FATM_VCC_TRY_OPEN; - sc->vccs[vci].rxhand = rxhand; - sc->vccs[vci].pcr = pcr; - sc->vccs[vci].traffic = traffic; - - return (0); + /* inform management if this is not an NG + * VCC or it's an NG PVC. */ + if (!(vc->param.flags & ATMIO_FLAG_NG) || + (vc->param.flags & ATMIO_FLAG_PVC)) + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vc->param.vci, 1); } /* - * Initiate closing a VCC + * The VC that we have tried to open asynchronuosly has been opened. */ -static int -fatm_start_close_vcc(struct fatm_softc *sc, u_int vpi, u_int vci, - void (*func)(struct fatm_softc *, struct cmdqueue *), struct cmdqueue **qp) +static void +fatm_open_complete(struct fatm_softc *sc, struct cmdqueue *q) { - int error; - struct cmdqueue *q; + u_int vci; + struct card_vcc *vc; - error = 0; - - if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) - return (EIO); - if (!VC_OK(sc, vpi, vci)) - return (EINVAL); - if (!(sc->vccs[vci].flags & (FATM_VCC_OPEN | FATM_VCC_TRY_OPEN))) - return (ENOENT); - - if ((q = fatm_start_vcc(sc, vpi, vci, - FATM_OP_DEACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL, 1, func)) == NULL) - return (EIO); - - if (qp != NULL) - *qp = q; - - sc->vccs[vci].flags &= ~(FATM_VCC_OPEN | FATM_VCC_TRY_OPEN); - sc->vccs[vci].flags |= FATM_VCC_TRY_CLOSE; - - return (0); + vci = GETVCI(READ4(sc, q->q.card + FATMOC_ACTIN_VPVC)); + vc = sc->vccs[vci]; + H_SYNCSTAT_POSTREAD(sc, q->q.statp); + if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { + sc->istats.get_stat_errors++; + sc->vccs[vci] = NULL; + uma_zfree(sc->vcc_zone, vc); + if_printf(&sc->ifatm.ifnet, "opening VCI %u failed\n", vci); + return; + } + fatm_open_finish(sc, vc); } /* @@ -2242,130 +2192,121 @@ } /* - * The VC has been opened/closed and somebody has been waiting for this. - * Wake him up. + * Start to open a VCC. This just initiates the operation. */ -static void -fatm_cmd_complete(struct fatm_softc *sc, struct cmdqueue *q) -{ - - H_SYNCSTAT_POSTREAD(sc, q->q.statp); - if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { - sc->istats.get_stat_errors++; - q->error = EIO; - } - wakeup(q); -} - -/* - * Open a vcc and wait for completion - */ static int -fatm_open_vcc(struct fatm_softc *sc, u_int vpi, u_int vci, u_int flags, - u_int aal, u_int traffic, u_int pcr, void *rxhand) +fatm_open_vcc(struct fatm_softc *sc, struct atmio_openvcc *op, int wait) { + uint32_t cmd; int error; struct cmdqueue *q; + struct card_vcc *vc; + + /* + * Check parameters + */ + if ((op->param.flags & ATMIO_FLAG_NOTX) && + (op->param.flags & ATMIO_FLAG_NORX)) + return (EINVAL); + + if (!VC_OK(sc, op->param.vpi, op->param.vci)) + return (EINVAL); + if (op->param.aal != ATMIO_AAL_0 && op->param.aal != ATMIO_AAL_5) + return (EINVAL); + + vc = uma_zalloc(sc->vcc_zone, M_NOWAIT | M_ZERO); + if (vc == NULL) + return (ENOMEM); error = 0; FATM_LOCK(sc); - error = fatm_start_open_vcc(sc, vpi, vci, aal, traffic, pcr, - flags, rxhand, fatm_cmd_complete, &q); - if (error != 0) { - FATM_UNLOCK(sc); - return (error); + if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) { + error = EIO; + goto done; + } + if (sc->vccs[op->param.vci] != NULL) { + error = EBUSY; + goto done; } - error = fatm_waitvcc(sc, q); + vc->param = op->param; + vc->rxhand = op->rxhand; - if (error == 0) { - sc->vccs[vci].flags &= ~FATM_VCC_TRY_OPEN; - sc->vccs[vci].flags |= FATM_VCC_OPEN; - sc->open_vccs++; + switch (op->param.traffic) { -#ifdef notyet - /* inform management if this is not an NG - * VCC or it's an NG PVC. */ - if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || - (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, - ATM_MSG_VCC_CHANGED, - (1 << 24) | (0 << 16) | vci); -#endif - } else - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); + case ATMIO_TRAFFIC_UBR: + break; - FATM_UNLOCK(sc); - return (error); -} + case ATMIO_TRAFFIC_CBR: + if (op->param.tparam.pcr == 0 || + op->param.tparam.pcr > sc->ifatm.mib.pcr) { + error = EINVAL; + goto done; + } + break; -/* - * Close a VCC synchronuosly - */ -static int -fatm_close_vcc(struct fatm_softc *sc, u_int vpi, u_int vci) -{ - int error; - struct cmdqueue *q; + default: + error = EINVAL; + goto done; + return (EINVAL); + } + vc->ibytes = vc->obytes = 0; + vc->ipackets = vc->opackets = 0; - error = 0; + /* Command and buffer strategy */ + cmd = FATM_OP_ACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL | (0 << 16); + if (op->param.aal == ATMIO_AAL_0) + cmd |= (0 << 8); + else + cmd |= (5 << 8); - FATM_LOCK(sc); - error = fatm_start_close_vcc(sc, vpi, vci, fatm_cmd_complete, &q); - if (error != 0) { - FATM_UNLOCK(sc); - return (error); + q = fatm_start_vcc(sc, op->param.vpi, op->param.vci, cmd, 1, + wait ? fatm_cmd_complete : fatm_open_complete); + if (q == NULL) { + error = EIO; + goto done; } - error = fatm_waitvcc(sc, q); - if (error == 0) { -#ifdef notyet - /* inform management of this is not an NG - * VCC or it's an NG PVC. */ - if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || - (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, - ATM_MSG_VCC_CHANGED, - (0 << 24) | (0 << 16) | vci); -#endif + vc->vflags = FATM_VCC_TRY_OPEN; + sc->vccs[op->param.vci] = vc; + sc->open_vccs++; - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); - sc->open_vccs--; + if (wait) { + error = fatm_waitvcc(sc, q); + if (error != 0) { + sc->vccs[op->param.vci] = NULL; + sc->open_vccs--; + goto done; + } + fatm_open_finish(sc, vc); } + /* don't free below */ + vc = NULL; + + done: FATM_UNLOCK(sc); + if (vc != NULL) + uma_zfree(sc->vcc_zone, vc); return (error); } /* - * The VC has been opened. + * Finish close */ static void -fatm_open_complete(struct fatm_softc *sc, struct cmdqueue *q) +fatm_close_finish(struct fatm_softc *sc, struct card_vcc *vc) { - u_int vci; + /* inform management of this is not an NG + * VCC or it's an NG PVC. */ + if (!(vc->param.flags & ATMIO_FLAG_NG) || + (vc->param.flags & ATMIO_FLAG_PVC)) + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vc->param.vci, 0); - vci = GETVCI(READ4(sc, q->q.card + FATMOC_ACTIN_VPVC)); - H_SYNCSTAT_POSTREAD(sc, q->q.statp); - if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { - sc->istats.get_stat_errors++; - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); - if_printf(&sc->ifatm.ifnet, "opening VCI %u failed\n", vci); - return; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 30 12:53:38 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A34737B404; Wed, 30 Jul 2003 12:53:38 -0700 (PDT) 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 CB4EB37B401 for ; Wed, 30 Jul 2003 12:53:37 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EA1D43F3F for ; Wed, 30 Jul 2003 12:53:37 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6UJrb0U072008 for ; Wed, 30 Jul 2003 12:53:37 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6UJratA072005 for perforce@freebsd.org; Wed, 30 Jul 2003 12:53:36 -0700 (PDT) Date: Wed, 30 Jul 2003 12:53:36 -0700 (PDT) Message-Id: <200307301953.h6UJratA072005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 35228 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: Wed, 30 Jul 2003 19:53:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=35228 Change 35228 by jhb@jhb_laptop on 2003/07/30 12:53:28 Reset db_newlines when we setup the paging function. Affected files ... .. //depot/projects/smpng/sys/ddb/db_output.c#7 edit Differences ... ==== //depot/projects/smpng/sys/ddb/db_output.c#7 (text+ko) ==== @@ -62,7 +62,7 @@ #define NEXT_TAB(i) \ ((((i) + db_tab_stop_width) / db_tab_stop_width) * db_tab_stop_width) db_expr_t db_max_width = 79; /* output line width */ -static int db_newlines = 0; /* # lines this page */ +static int db_newlines; /* # lines this page */ static int db_maxlines = -1; /* max lines per page */ static db_page_calloutfcn_t *db_page_callout = NULL; static void *db_page_callout_arg = NULL; @@ -125,7 +125,6 @@ if (db_newlines >= db_maxlines) { db_maxlines = -1; db_page_callout(db_page_callout_arg); - db_newlines = 0; } } } @@ -161,6 +160,7 @@ db_page_callout = callout; db_page_callout_arg = arg; db_maxlines = maxlines; + db_newlines = 0; } /* From owner-p4-projects@FreeBSD.ORG Wed Jul 30 13:56:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00A2C37B409; Wed, 30 Jul 2003 13:56:58 -0700 (PDT) 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 2EDBB37B47A for ; Wed, 30 Jul 2003 13:56:58 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABB6743FA3 for ; Wed, 30 Jul 2003 13:56:57 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6UKuv0U075976 for ; Wed, 30 Jul 2003 13:56:57 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6UKuvCu075973 for perforce@freebsd.org; Wed, 30 Jul 2003 13:56:57 -0700 (PDT) Date: Wed, 30 Jul 2003 13:56:57 -0700 (PDT) Message-Id: <200307302056.h6UKuvCu075973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 35234 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: Wed, 30 Jul 2003 20:57:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=35234 Change 35234 by jhb@jhb_laptop on 2003/07/30 13:56:07 Don't really need this. Affected files ... .. //depot/projects/smpng/sys/ddb/db_command.c#14 edit Differences ... ==== //depot/projects/smpng/sys/ddb/db_command.c#14 (text+ko) ==== @@ -343,7 +343,6 @@ /* * Execute the command. */ - db_setup_paging(NULL, NULL, -1); (*cmd->fcn)(addr, have_addr, count, modif); db_setup_paging(NULL, NULL, -1); From owner-p4-projects@FreeBSD.ORG Wed Jul 30 23:13:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEA0A37B404; Wed, 30 Jul 2003 23:13:24 -0700 (PDT) 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 B319237B401 for ; Wed, 30 Jul 2003 23:13:24 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A92743FCB for ; Wed, 30 Jul 2003 23:13:23 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6V6DN0U019980 for ; Wed, 30 Jul 2003 23:13:23 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6V6DMvR019974 for perforce@freebsd.org; Wed, 30 Jul 2003 23:13:22 -0700 (PDT) Date: Wed, 30 Jul 2003 23:13:22 -0700 (PDT) Message-Id: <200307310613.h6V6DMvR019974@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35255 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: Thu, 31 Jul 2003 06:13:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=35255 Change 35255 by marcel@marcel_nfs on 2003/07/30 23:12:52 IFC @35254 Affected files ... .. //depot/projects/ia64/MAINTAINERS#35 integrate .. //depot/projects/ia64/contrib/one-true-awk/FIXES#6 integrate .. //depot/projects/ia64/contrib/one-true-awk/FREEBSD-upgrade#6 integrate .. //depot/projects/ia64/contrib/one-true-awk/b.c#6 integrate .. //depot/projects/ia64/contrib/one-true-awk/lex.c#4 integrate .. //depot/projects/ia64/contrib/one-true-awk/main.c#7 integrate .. //depot/projects/ia64/contrib/one-true-awk/run.c#6 integrate .. //depot/projects/ia64/etc/rc.d/Makefile#19 integrate .. //depot/projects/ia64/etc/rc.d/hostname#3 integrate .. //depot/projects/ia64/etc/rc.d/ipfilter#10 integrate .. //depot/projects/ia64/etc/rc.d/ipsec#6 integrate .. //depot/projects/ia64/etc/rc.d/netif#3 integrate .. //depot/projects/ia64/etc/rc.d/ttys#4 integrate .. //depot/projects/ia64/lib/libc/alpha/gen/makecontext.c#3 integrate .. //depot/projects/ia64/lib/libc/i386/sys/i386_get_ldt.2#5 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_mutex.c#9 integrate .. //depot/projects/ia64/release/Makefile#62 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#111 integrate .. //depot/projects/ia64/release/sparc64/dokern.sh#2 delete .. //depot/projects/ia64/sbin/atm/fore_dnld/Makefile#3 integrate .. //depot/projects/ia64/sbin/atm/fore_dnld/fore_dnld.c#3 integrate .. //depot/projects/ia64/share/man/man4/acpi.4#11 integrate .. //depot/projects/ia64/sys/alpha/alpha/machdep.c#34 integrate .. //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#13 integrate .. //depot/projects/ia64/sys/alpha/alpha/pmap.c#37 integrate .. //depot/projects/ia64/sys/alpha/alpha/vm_machdep.c#23 integrate .. //depot/projects/ia64/sys/alpha/include/param.h#6 integrate .. //depot/projects/ia64/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/ia64/sys/amd64/amd64/pmap.c#15 integrate .. //depot/projects/ia64/sys/amd64/include/param.h#6 integrate .. //depot/projects/ia64/sys/conf/kern.pre.mk#22 integrate .. //depot/projects/ia64/sys/ddb/db_ps.c#20 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_ec.c#16 integrate .. //depot/projects/ia64/sys/dev/ahb/ahb.c#9 integrate .. //depot/projects/ia64/sys/dev/fatm/if_fatm.c#5 integrate .. //depot/projects/ia64/sys/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/ia64/sys/dev/hatm/if_hatm_ioctl.c#4 integrate .. //depot/projects/ia64/sys/dev/hatm/if_hatmvar.h#3 integrate .. //depot/projects/ia64/sys/dev/utopia/utopia.c#3 integrate .. //depot/projects/ia64/sys/i386/acpica/acpi_wakeup.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/busdma_machdep.c#24 integrate .. //depot/projects/ia64/sys/i386/i386/identcpu.c#22 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#43 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#52 integrate .. //depot/projects/ia64/sys/i386/i386/sys_machdep.c#18 integrate .. //depot/projects/ia64/sys/i386/include/pcpu.h#7 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#83 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#33 integrate .. //depot/projects/ia64/sys/ia64/ia64/pmap.c#72 integrate .. //depot/projects/ia64/sys/ia64/ia64/vm_machdep.c#31 integrate .. //depot/projects/ia64/sys/ia64/include/param.h#9 integrate .. //depot/projects/ia64/sys/kern/kern_mutex.c#28 integrate .. //depot/projects/ia64/sys/kern/kern_sig.c#64 integrate .. //depot/projects/ia64/sys/kern/subr_trap.c#34 integrate .. //depot/projects/ia64/sys/kern/sys_pipe.c#35 integrate .. //depot/projects/ia64/sys/pc98/i386/machdep.c#39 integrate .. //depot/projects/ia64/sys/powerpc/include/param.h#8 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/machdep.c#30 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/pmap.c#28 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/vm_machdep.c#21 integrate .. //depot/projects/ia64/sys/sparc64/include/param.h#9 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/genassym.c#22 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/machdep.c#43 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/pmap.c#42 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/vm_machdep.c#27 integrate .. //depot/projects/ia64/sys/sys/param.h#38 integrate .. //depot/projects/ia64/sys/vm/uma_core.c#46 integrate .. //depot/projects/ia64/sys/vm/uma_int.h#14 integrate .. //depot/projects/ia64/sys/vm/vm_glue.c#31 integrate .. //depot/projects/ia64/usr.sbin/rtadvd/rtadvd.conf.5#3 integrate Differences ... ==== //depot/projects/ia64/MAINTAINERS#35 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.75 2003/07/19 00:17:36 markm Exp $ +$FreeBSD: src/MAINTAINERS,v 1.76 2003/07/30 10:43:13 bp Exp $ subsystem login notes ----------------------------- @@ -78,6 +78,10 @@ unifdef(1) fanf Pre-commit review requested. ntp roberto Pre-commit review requested. inetd dwmalone Recommends pre-commit review. +nwfs bp In case of functional changes pre-commit review + requested. +contrib/smbfs bp Open for in-tree committs. In case of functional + changes pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. ==== //depot/projects/ia64/contrib/one-true-awk/FIXES#6 (text+ko) ==== @@ -25,6 +25,52 @@ This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Jul 29, 2003: + fixed (i think) the long-standing botch that included the beginning of + line state ^ for RE's in the set of valid characters; this led to a + variety of odd problems, including failure to properly match certain + regular expressions in non-US locales. thanks to ruslan for keeping + at this one. + +Jul 28, 2003: + n-th try at getting internationalization right, with thanks to volker + kiefel, arnold robbins and ruslan ermilov for advice, though they + should not be blamed for the outcome. according to posix, "." is the + radix character in programs and command line arguments regardless of + the locale; otherwise, the locale should prevail for input and output + of numbers. so it's intended to work that way. + + i have rescinded the attempt to use strcoll in expanding shorthands in + regular expressions (cclenter). its properties are much too + surprising; for example [a-c] matches aAbBc in locale en_US but abBcC + in locale fr_CA. i can see how this might arise by implementation + but i cannot explain it to a human user. (this behavior can be seen + in gawk as well; we're leaning on the same library.) + + the issue appears to be that strcoll is meant for sorting, where + merging upper and lower case may make sense (though note that unix + sort does not do this by default either). it is not appropriate + for regular expressions, where the goal is to match specific + patterns of characters. in any case, the notations [:lower:], etc., + are available in awk, and they are more likely to work correctly in + most locales. + + a moratorium is hereby declared on internationalization changes. + i apologize to friends and colleagues in other parts of the world. + i would truly like to get this "right", but i don't know what + that is, and i do not want to keep making changes until it's clear. + +Jul 4, 2003: + fixed bug that permitted non-terminated RE, as in "awk /x". + +Jun 1, 2003: + subtle change to split: if source is empty, number of elems + is always 0 and the array is not set. + +Mar 21, 2003: + added some parens to isblank, in another attempt to make things + internationally portable. + Mar 14, 2003: the internationalization changes, somewhat modified, are now reinstated. in theory awk will now do character comparisons ==== //depot/projects/ia64/contrib/one-true-awk/FREEBSD-upgrade#6 (text+ko) ==== @@ -1,18 +1,19 @@ -# $FreeBSD: src/contrib/one-true-awk/FREEBSD-upgrade,v 1.5 2002/12/19 04:34:00 obrien Exp $ +# $FreeBSD: src/contrib/one-true-awk/FREEBSD-upgrade,v 1.6 2003/07/30 06:50:31 ru Exp $ -Import of the February 1998 version of the "one true awk", as described +Import of the July 2003 version of the "one true awk", as described in "The AWK Programming Language", by Al Aho, Brian Kernighan, and Peter Weinberger (Addison-Wesley, 1988, ISBN 0-201-07981-X). -Original source were taken from Brian Kernighan's home page +Original sources were taken from the Brian Kernighan's home page (http://cm.bell-labs.com/who/bwk/) and include bug fixes up thru -Novembe 29, 2002. +July 29, 2003. The following files were removed for this import: buildwin.bat makefile.win missing95.c + vcvars32.bat ytab.c ytab.h ytabc.bak @@ -20,4 +21,4 @@ The vendor import was done by: - cvs import src/contrib/one-true-awk BELL_LABS bwk_20021213 + cvs import src/contrib/one-true-awk BELL_LABS bwk_20030729 ==== //depot/projects/ia64/contrib/one-true-awk/b.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "awk.h" #include "ytab.h" -#define HAT (NCHARS-2) /* matches ^ in regular expr */ +#define HAT (NCHARS+2) /* matches ^ in regular expr */ /* NCHARS is 2**n */ #define MAXLIN 22 @@ -282,24 +282,9 @@ return c; } -static int collate_range_cmp(int a, int b) -{ - int r; - static char s[2][2]; - - if ((uschar)a == (uschar)b) - return 0; - s[0][0] = a; - s[1][0] = b; - if ((r = strcoll(s[0], s[1])) == 0) - r = (uschar)a - (uschar)b; - return r; -} - char *cclenter(const char *argp) /* add a character class */ { int i, c, c2; - int j; uschar *p = (uschar *) argp; uschar *op, *bp; static uschar *buf = 0; @@ -318,18 +303,15 @@ c2 = *p++; if (c2 == '\\') c2 = quoted((char **) &p); - if (collate_range_cmp(c, c2) > 0) { /* empty; ignore */ + if (c > c2) { /* empty; ignore */ bp--; i--; continue; } - for (j = 0; j < NCHARS; j++) { - if ((collate_range_cmp(c, j) > 0) || - collate_range_cmp(j, c2) > 0) - continue; + while (c < c2) { if (!adjbuf((char **) &buf, &bufsz, bp-buf+2, 100, (char **) &bp, 0)) FATAL("out of space for character class [%.10s...] 2", p); - *bp++ = j; + *bp++ = ++c; i++; } continue; @@ -718,11 +700,14 @@ * system i use, it's defined here. if some other locale has a richer * definition of "blank", define HAS_ISBLANK and provide your own * version. + * the parentheses here are an attempt to find a path through the maze + * of macro definition and/or function and/or version provided. thanks + * to nelson beebe for the suggestion; let's see if it works everywhere. */ #ifndef HAS_ISBLANK -int isblank(int c) +int (isblank)(int c) { return c==' ' || c=='\t'; } @@ -839,8 +824,6 @@ int i, j, k; int *p, *q; - if (c < 0 || c > 255) - FATAL("can't happen: neg char %d in cgoto", c); while (f->accept >= maxsetvec) { /* guessing here! */ maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); ==== //depot/projects/ia64/contrib/one-true-awk/lex.c#4 (text+ko) ==== @@ -529,6 +529,8 @@ } } *bp = 0; + if (c == 0) + SYNTAX("non-terminated regular expression %.10s...", buf); yylval.s = tostring(buf); unput('/'); RET(REGEXPR); ==== //depot/projects/ia64/contrib/one-true-awk/main.c#7 (text+ko) ==== @@ -22,7 +22,7 @@ THIS SOFTWARE. ****************************************************************/ -const char *version = "version 20030314"; +const char *version = "version 20030729"; #define DEBUG #include @@ -55,10 +55,8 @@ { const char *fs = NULL; - setlocale(LC_ALL, ""); - setlocale(LC_COLLATE, ""); setlocale(LC_CTYPE, ""); - setlocale(LC_MESSAGES, ""); + setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */ cmdname = argv[0]; if (argc == 1) { fprintf(stderr, "Usage: %s [-f programfile | 'program'] [-Ffieldsep] [-v var=value] [files]\n", cmdname); @@ -147,6 +145,7 @@ if (!safe) envinit(environ); yyparse(); + setlocale(LC_NUMERIC, ""); /* back to whatever it is locally */ if (fs) *FS = qstring(fs, '\0'); dprintf( ("errorflag=%d\n", errorflag) ); ==== //depot/projects/ia64/contrib/one-true-awk/run.c#6 (text+ko) ==== @@ -1221,7 +1221,7 @@ ap->sval = (char *) makesymtab(NSYMTAB); n = 0; - if ((*s != '\0' && strlen(fs) > 1) || arg3type == REGEXPR) { /* reg expr */ + if (*s != '\0' && (strlen(fs) > 1 || arg3type == REGEXPR)) { /* reg expr */ fa *pfa; if (arg3type == REGEXPR) { /* it's ready already */ pfa = (fa *) a[2]; ==== //depot/projects/ia64/etc/rc.d/Makefile#19 (text+ko) ==== @@ -1,24 +1,45 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.21 2003/07/28 13:30:42 harti Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.23 2003/07/30 20:05:20 mtm Exp $ .include -FILES= DAEMON LOGIN NETWORKING SERVERS abi accounting addswap adjkerntz amd \ - apm apmd archdep atm1 atm2 atm3 bgfsck bootparams ccd cleanvar \ - cleartmp cron devd devfs dhclient diskless dmesg dumpon fsck \ - hostname inetd initdiskless initrandom ip6fw ipfilter ipfs ipfw ipmon \ - ipnat ipsec ipxrouted isdnd jail \ +FILES= DAEMON LOGIN NETWORKING SERVERS \ + abi accounting addswap adjkerntz amd \ + apm apmd archdep atm1 atm2 atm3 \ + bgfsck bootparams \ + ccd cleanvar cleartmp cron \ + devd devfs dhclient diskless \ + dmesg dumpon \ + early.sh \ + fsck \ + gbde \ + hostname \ + inetd initdiskless initrandom \ + ip6fw ipfilter ipfs ipfw ipmon \ + ipnat ipsec ipxrouted isdnd \ + jail \ kadmind kerberos keyserv kldxref kpasswdd \ ldconfig local localdaemons lomac lpd \ motd mountcritlocal mountcritremote \ mountd moused mroute6d mrouted msgs \ - named netif netoptions network1 network2 network3 \ - network_ipv6 nfsclient nfsd nfslocking nfsserver nisdomain ntpd \ - ntpdate othermta pccard pcvt ppp-user pppoed pwcheck quota random \ - rarpd rcconf.sh root route6d routed routing rpcbind rtadvd rwho savecore \ - securelevel sendmail serial sppp sshd swap1 syscons sysctl \ - syslogd timed ttys usbd vinum virecover watchdogd ypbind \ - yppasswdd ypserv ypset ypupdated ypxfrd + named netif netoptions \ + network1 network2 network3 \ + network_ipv6 nfsclient nfsd \ + nfslocking nfsserver nisdomain ntpd ntpdate \ + othermta \ + pccard pcvt ppp-user pppoed pwcheck \ + quota \ + random rarpd rcconf.sh root \ + route6d routed routing rpcbind rtadvd rwho \ + savecore securelevel sendmail \ + serial sppp sshd swap1 \ + syscons sysctl syslogd \ + timed ttys \ + usbd \ + vinum virecover \ + watchdogd \ + ypbind yppasswdd ypserv \ + ypset ypupdated ypxfrd FILESDIR= /etc/rc.d FILESMODE= ${BINMODE} ==== //depot/projects/ia64/etc/rc.d/hostname#3 (text+ko) ==== @@ -23,11 +23,11 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/hostname,v 1.2 2003/04/24 08:20:47 mtm Exp $ +# $FreeBSD: src/etc/rc.d/hostname,v 1.3 2003/07/30 18:53:59 mtm Exp $ # # PROVIDE: hostname -# REQUIRE: mountcritlocal tty +# REQUIRE: mountcritlocal # BEFORE: netif # KEYWORD: FreeBSD ==== //depot/projects/ia64/etc/rc.d/ipfilter#10 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: ipfilter,v 1.10 2001/02/28 17:03:50 lukem Exp $ -# $FreeBSD: src/etc/rc.d/ipfilter,v 1.10 2003/04/30 02:54:17 mtm Exp $ +# $FreeBSD: src/etc/rc.d/ipfilter,v 1.11 2003/07/30 18:53:59 mtm Exp $ # # PROVIDE: ipfilter -# REQUIRE: root beforenetlkm mountcritlocal tty ipmon +# REQUIRE: root beforenetlkm mountcritlocal ipmon # BEFORE: netif # KEYWORD: FreeBSD NetBSD ==== //depot/projects/ia64/etc/rc.d/ipsec#6 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: ipsec,v 1.7 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/ipsec,v 1.5 2003/02/16 20:46:08 mtm Exp $ +# $FreeBSD: src/etc/rc.d/ipsec,v 1.6 2003/07/30 18:53:59 mtm Exp $ # # PROVIDE: ipsec -# REQUIRE: root beforenetlkm mountcritlocal tty +# REQUIRE: root beforenetlkm mountcritlocal # BEFORE: DAEMON # KEYWORD: FreeBSD NetBSD ==== //depot/projects/ia64/etc/rc.d/netif#3 (text+ko) ==== @@ -22,11 +22,11 @@ # (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/etc/rc.d/netif,v 1.2 2003/06/29 05:34:41 mtm Exp $ +# $FreeBSD: src/etc/rc.d/netif,v 1.3 2003/07/30 18:53:59 mtm Exp $ # # PROVIDE: netif -# REQUIRE: atm1 ipfilter mountcritlocal pccard serial sppp sysctl tty +# REQUIRE: atm1 ipfilter mountcritlocal pccard serial sppp sysctl # KEYWORD: FreeBSD . /etc/rc.subr ==== //depot/projects/ia64/etc/rc.d/ttys#4 (text+ko) ==== @@ -1,11 +1,12 @@ #!/bin/sh # # $NetBSD: ttys,v 1.1.1.1 2000/03/10 11:53:24 lukem Exp $ -# $FreeBSD: src/etc/rc.d/ttys,v 1.3 2002/09/06 16:18:05 gordon Exp $ +# $FreeBSD: src/etc/rc.d/ttys,v 1.4 2003/07/30 18:53:59 mtm Exp $ # # PROVIDE: tty -# REQUIRE: root +# REQUIRE: root mountcritremote +# BEFORE: SERVERS # KEYWORD: FreeBSD NetBSD . /etc/rc.subr ==== //depot/projects/ia64/lib/libc/alpha/gen/makecontext.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/alpha/gen/makecontext.c,v 1.2 2002/11/16 06:39:10 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/alpha/gen/makecontext.c,v 1.3 2003/07/30 06:36:20 marcel Exp $"); #include #include @@ -90,7 +90,7 @@ * Make sure the context is valid. For now, we only allow * trapframe format contexts to be used for makecontext. */ - else if (ucp->uc_mcontext.mc_format == _MC_REV0_SIGFRAME) { + else if (ucp->uc_mcontext.mc_format == _MC_REV0_TRAPFRAME) { /* * Alpha passes the first 6 parameters in registers and * remaining parameters on the stack. Set up the context @@ -119,15 +119,15 @@ va_start(ap, argc); for (i = 0; i < argc; i++) { switch (i) { - case 0: ucp->uc_mcontext.mc_regs[FRAME_TRAPARG_A0] = + case 0: ucp->uc_mcontext.mc_regs[FRAME_A0] = (unsigned long)va_arg(ap, intptr_t); break; - case 1: ucp->uc_mcontext.mc_regs[FRAME_TRAPARG_A1] = + case 1: ucp->uc_mcontext.mc_regs[FRAME_A1] = (unsigned long)va_arg(ap, intptr_t); break; - case 2: ucp->uc_mcontext.mc_regs[FRAME_TRAPARG_A2] = + case 2: ucp->uc_mcontext.mc_regs[FRAME_A2] = (unsigned long)va_arg(ap, intptr_t); break; ==== //depot/projects/ia64/lib/libc/i386/sys/i386_get_ldt.2#5 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)fork.2 6.5 (Berkeley) 3/10/91 -.\" $FreeBSD: src/lib/libc/i386/sys/i386_get_ldt.2,v 1.17 2003/06/09 11:46:22 jhb Exp $ +.\" $FreeBSD: src/lib/libc/i386/sys/i386_get_ldt.2,v 1.18 2003/07/31 02:13:48 davidxu Exp $ .\" .Dd September 20, 1993 .Dt I386_GET_LDT 2 @@ -73,6 +73,38 @@ .Aq Pa i386/segments.h . These structures are defined by the architecture as disjoint bit-fields, so care must be taken in constructing them. +.Pp +If +.Fa start_sel +is 0, +.Fa num_sels +is 1 and the descriptor pointed to by +.Fa descs +is legal, then +.Fn i386_set_ldt +will allocate a descriptor and return its +selector number. +.Pp +If +.Fa num_descs +is 1, +.Fa start_sels +is valid, and +.Fa descs +is NULL, then +.Fn i386_set_ldt +will free that descriptor +(making it available to be reallocated again later). +.Pp +If +.Fa num_descs +is 0, +.Fa start_sels +is 0 and +.Fa descs +is NULL then, as a special case, +.Fn i386_set_ldt +will free all descriptors. .Sh RETURN VALUES Upon successful completion, .Fn i386_get_ldt @@ -81,6 +113,8 @@ .Fn i386_set_ldt system call returns the first selector set. +In the case when a descriptor is allocated by the kernel, its number will +be returned. Otherwise, a value of -1 is returned and the global variable .Va errno ==== //depot/projects/ia64/lib/libpthread/thread/thr_mutex.c#9 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/thread/thr_mutex.c,v 1.39 2003/07/23 02:11:07 deischen Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_mutex.c,v 1.40 2003/07/30 13:28:05 deischen Exp $ */ #include #include @@ -1008,6 +1008,7 @@ * This thread now owns one less priority mutex. */ curthread->priority_mutex_count--; + THR_SCHED_UNLOCK(curthread, curthread); /* Remove the mutex from the threads queue. */ MUTEX_ASSERT_IS_OWNED(*m); ==== //depot/projects/ia64/release/Makefile#62 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.802 2003/07/29 18:29:44 ru Exp $ +# $FreeBSD: src/release/Makefile,v 1.806 2003/07/30 14:46:46 ru Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -238,7 +238,7 @@ ZIPNSPLIT= gzip --no-name -9 -c | split -b 1423k - # Things that need to be compiled without crypto support in releases -.if !defined(FIXCRYPTO) +.if !defined(FIXCRYPTO) && !make(release) && !make(rerelease) FIXCRYPTO!= cd ${.CURDIR}/../kerberos5; ${MAKE} -V KPROGS; \ cd ${.CURDIR}/../secure; ${MAKE} -V SPROGS .endif @@ -295,10 +295,12 @@ DOCREL= doc.1 doc.2 .endif +.if !make(release) && !make(rerelease) BINMAKE!= cd ${.CURDIR}/..; ${MAKE} -V BINMAKE WMAKEENV!= cd ${.CURDIR}/..; \ ${BINMAKE} ${CROSSENV} -f Makefile.inc1 -V WMAKEENV WMAKE= ${WMAKEENV} ${BINMAKE} +.endif CVS_SRCARGS= -P .if defined(RELEASETAG) @@ -757,16 +759,10 @@ .endif .if defined(BOOTSIZE) @echo "Making the regular boot floppy." - @sh -e ${DOFS_SH} ${RD}/floppies/mfsroot.flp \ - ${RD} ${MNT} ${BOOTSIZE} ${RD}/mfsroot/mfsroot.gz \ - ${BOOTINODE} ${BOOTLABEL} @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern .endif .if defined(SMALLBOOTSIZE) @echo "Making the small boot floppy." - @sh -e ${DOFS_SH} ${RD}/floppies/mfsroot-small.flp \ - ${RD} ${MNT} ${SMALLBOOTSIZE} ${RD}/mfsroot/mfsroot-small.gz \ - ${BOOTINODE} ${SMALLBOOTLABEL} @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern-small FDSIZE=SMALL .endif .if defined(BIGBOOTSIZE) @@ -1035,9 +1031,13 @@ doMFSKERN: @echo "Running ${.TARGET} for ${FSIMAGE}" @rm -f ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE} - @cd ${.CURDIR}/../sys/${TARGET}/conf && \ - sh ${.CURDIR}/${TARGET}/dokern.sh ${FDSIZE} < GENERIC > BOOTMFS && \ - [ -r GENERIC.hints ] && cp GENERIC.hints BOOTMFS.hints + @cd ${.CURDIR}/../sys/${TARGET}/conf; \ + if [ -r ${.CURDIR}/${TARGET}/dokern.sh ]; then \ + sh ${.CURDIR}/${TARGET}/dokern.sh ${FDSIZE}; \ + else \ + sed -e 's/ident.*GENERIC/ident BOOTMFS/g'; \ + fi < GENERIC > BOOTMFS; \ + [ -r GENERIC.hints ] && cp GENERIC.hints BOOTMFS.hints .if defined(FDSIZE) && ${FDSIZE} == "SMALL" && \ exists(${.CURDIR}/${TARGET}/drivers-small.conf) @awk -f ${.CURDIR}/scripts/driver-remove.awk \ @@ -1051,7 +1051,8 @@ cd ${.CURDIR}/..; \ KERNEL_KO=BOOTMFS KODIR= \ ${CROSSMAKE} ${KERNEL_FLAGS} -DNO_MODULES -DNO_KERNELCLEAN \ - KERNCONF=BOOTMFS COPTFLAGS="-Os -pipe" -DNO_CPU_COPTFLAGS \ + KERNCONF=BOOTMFS COPTFLAGS="-Os -fno-strict-aliasing -pipe" \ + -DNO_CPU_COPTFLAGS \ buildkernel reinstallkernel \ DESTDIR=${RD}/kernels [ -r ${.CURDIR}/../sys/${TARGET}/conf/BOOTMFS.hints ] && \ @@ -1110,10 +1111,16 @@ ${RD} ${MNT} ${BIGBOOTSIZE} ${RD}/image.${FSIMAGE} \ ${BOOTINODE} ${BIGBOOTLABEL} .elif defined(FDSIZE) && ${FDSIZE} == "SMALL" + sh -e ${DOFS_SH} ${RD}/floppies/mfsroot-small.flp \ + ${RD} ${MNT} ${SMALLBOOTSIZE} ${RD}/mfsroot/mfsroot-small.gz \ + ${BOOTINODE} ${SMALLBOOTLABEL} sh -e ${DOFS_SH} ${RD}/floppies/${FSIMAGE}.flp \ ${RD} ${MNT} ${SMALLBOOTSIZE} ${RD}/image.${FSIMAGE} \ ${BOOTINODE} ${SMALLBOOTLABEL} .else + sh -e ${DOFS_SH} ${RD}/floppies/mfsroot.flp \ + ${RD} ${MNT} ${BOOTSIZE} ${RD}/mfsroot/mfsroot.gz \ + ${BOOTINODE} ${BOOTLABEL} sh -e ${DOFS_SH} ${RD}/floppies/${FSIMAGE}.flp \ ${RD} ${MNT} ${BOOTSIZE} ${RD}/image.${FSIMAGE} \ ${BOOTINODE} ${BOOTLABEL} ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#111 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.602 2003/07/29 21:20:44 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.603 2003/07/30 08:36:16 hrs Exp $ 2000 @@ -350,6 +350,9 @@ The ACPI-CA code has been updated from the 20030228 snapshot to the 20030619 snapshot. + awk from Bell Labs has been + updated from a 14 March 2003 snapshot to a 29 July 2003 snapshot. + BIND has been updated from 8.3.4 to 8.3.6. ==== //depot/projects/ia64/sbin/atm/fore_dnld/Makefile#3 (text+ko) ==== @@ -23,7 +23,7 @@ # Copies of this Software may be made, however, the above copyright # notice must be reproduced on all copies. # -# @(#) $FreeBSD: src/sbin/atm/fore_dnld/Makefile,v 1.8 2001/12/04 02:19:43 obrien Exp $ +# @(#) $FreeBSD: src/sbin/atm/fore_dnld/Makefile,v 1.9 2003/07/30 15:58:08 harti Exp $ # # @@ -32,7 +32,7 @@ SRCS= fore_dnld.c pca200e.c CFLAGS+= -I${.CURDIR}/../../../sys -WARNS= 0 +WARNS= 6 LDADD+= -latm DPADD+= ${LIBATM} ==== //depot/projects/ia64/sbin/atm/fore_dnld/fore_dnld.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * Copies of this Software may be made, however, the above copyright * notice must be reproduced on all copies. * - * @(#) $FreeBSD: src/sbin/atm/fore_dnld/fore_dnld.c,v 1.10 2003/07/25 12:40:03 harti Exp $ + * @(#) $FreeBSD: src/sbin/atm/fore_dnld/fore_dnld.c,v 1.14 2003/07/30 16:15:49 harti Exp $ * */ @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -64,7 +65,7 @@ #include #ifndef lint -__RCSID("@(#) $FreeBSD: src/sbin/atm/fore_dnld/fore_dnld.c,v 1.10 2003/07/25 12:40:03 harti Exp $"); +__RCSID("@(#) $FreeBSD: src/sbin/atm/fore_dnld/fore_dnld.c,v 1.14 2003/07/30 16:15:49 harti Exp $"); #endif extern u_char pca200e_microcode[]; @@ -79,38 +80,36 @@ #define MAX_CHECK 60 -int comm_mode = 0; -char *progname; +static int comm_mode = 0; +static const char *progname; -int tty; -cc_t vmin, vtime; +static int tty; +static cc_t vmin, vtime; #if (defined(BSD) && (BSD >= 199103)) -struct termios sgtty; +static struct termios sgtty; #define TCSETA TIOCSETA #define TCGETA TIOCGETA #else -struct termio sgtty; +static struct termio sgtty; #endif /* !BSD */ -int endian = 0; -int verbose = 0; -int reset = 0; +static int endian = 0; +static int verbose = 0; +static int reset = 0; -char line[132]; -int lineptr = 0; +static char line[132]; +static u_int lineptr; -Mon960 *Uart; +static Mon960 *Uart; -void -delay(cnt) - int cnt; +static void +delay(int cnt) { usleep(cnt); } -unsigned long -CP_READ ( val ) -unsigned long val; +static uint32_t +CP_READ(uint32_t val) { if ( endian ) return ( ntohl ( val ) ); @@ -118,9 +117,8 @@ return ( val ); } -unsigned long -CP_WRITE ( val ) -unsigned long val; +static uint32_t +CP_WRITE(uint32_t val) { if ( endian ) return ( htonl ( val ) ); @@ -137,9 +135,8 @@ * Returns: * none */ -void -error ( msg ) -char *msg; +static void +error(const char *msg) { printf ( "%s\n", msg ); exit (1); @@ -148,22 +145,18 @@ /* * Get a byte for the uart and if printing, display it. * - * Arguments: - * prn Are we displaying characters - * * Returns: * c Character from uart */ -char -getbyte ( prn ) -int prn; +static char +getbyte(void) { - int c; + char c; while ( ! ( CP_READ(Uart->mon_xmithost) & UART_VALID ) ) delay(10); - c = ( CP_READ(Uart->mon_xmithost) & UART_DATAMASK ); + c = CP_READ(Uart->mon_xmithost) & UART_DATAMASK; Uart->mon_xmithost = CP_WRITE(UART_READY); /* @@ -183,7 +176,7 @@ if (isprint(c) || (c == '\n') || (c == '\r')) putc(c, stdout); } - return ( c & 0xff ); + return (c); } /* @@ -196,16 +189,15 @@ * Returns: * none Line in global string 'line[]' */ -void -getline ( prn ) -int prn; +static void +getline(int prn) { char c = '\0'; - int i = 0; + u_int i = 0; while ( c != '>' && c != '\n' && c != '\r' ) { - c = getbyte(0); + c = getbyte(); if ( ++i >= sizeof(line) ) { if ( prn ) @@ -231,24 +223,22 @@ * Returns: * none */ -void -xmit_byte ( c, dn ) -unsigned char c; -int dn; +static void +xmit_byte(u_char c, int dn) { int val; while ( CP_READ(Uart->mon_xmitmon) != UART_READY ) { if ( CP_READ(Uart->mon_xmithost) & UART_VALID ) - getbyte ( 0 ); + getbyte(); if ( !dn ) delay ( 10000 ); } - val = ( c | UART_VALID ); + val = (int)c | UART_VALID; Uart->mon_xmitmon = CP_WRITE( val ); if ( !dn ) delay ( 10000 ); if ( CP_READ(Uart->mon_xmithost) & UART_VALID ) - getbyte ( 0 ); + getbyte(); } @@ -256,23 +246,20 @@ * Transmit a line to the i960. Eol must be included as part of text to transmit. * * Arguments: - * line Character string to transmit + * msg Character string to transmit * len len of string. This allows us to include NULL's * in the string/block to be transmitted. * * Returns: * none */ -void -xmit_to_i960 ( line, len, dn ) -char *line; -int len; -int dn; +static void +xmit_to_i960(const char *msg, int len, int dn) { - int i; + int i; - for ( i = 0; i < len; i++ ) - xmit_byte ( line[i], dn ); + for (i = 0; i < len; i++) + xmit_byte(msg[i], dn); } /* @@ -284,8 +271,8 @@ * Returns: * none */ -void -autobaud() +static void +autobaud(void) { if ( strncmp ( line, "Mon960", 6 ) == 0 ) xmit_to_i960 ( "\r\n\r\n\r\n\r\n", 8, 0 ); @@ -301,8 +288,8 @@ * none * */ -void -finish ( ret ) +static void +finish(int ret) { sgtty.c_lflag |= ( ICANON | ECHO ); sgtty.c_cc[VMIN] = vmin; @@ -321,11 +308,10 @@ * fname striped filename * */ -char * -basename ( path ) - char *path; +static const char * +basename(const char *path) { - char *fname; + const char *fname; if ( ( fname = strrchr ( path, '/' ) ) != NULL ) fname++; @@ -368,7 +354,7 @@ * from Usenet contribution by Mark G. Mendel, Network Systems Corp. * (ihnp4!umn-cs!hyper!mark) */ -unsigned short crctab[1<>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 30 23:15:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A66F37B404; Wed, 30 Jul 2003 23:15:28 -0700 (PDT) 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 0082737B401 for ; Wed, 30 Jul 2003 23:15:28 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E69EB43F75 for ; Wed, 30 Jul 2003 23:15:26 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6V6FQ0U020863 for ; Wed, 30 Jul 2003 23:15:26 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6V6FQr7020860 for perforce@freebsd.org; Wed, 30 Jul 2003 23:15:26 -0700 (PDT) Date: Wed, 30 Jul 2003 23:15:26 -0700 (PDT) Message-Id: <200307310615.h6V6FQr7020860@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35256 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: Thu, 31 Jul 2003 06:15:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=35256 Change 35256 by marcel@marcel_nfs on 2003/07/30 23:15:21 IFC @35254 Affected files ... .. //depot/projects/uart/alpha/alpha/machdep.c#6 integrate .. //depot/projects/uart/alpha/alpha/mp_machdep.c#5 integrate .. //depot/projects/uart/alpha/alpha/pmap.c#6 integrate .. //depot/projects/uart/alpha/alpha/vm_machdep.c#3 integrate .. //depot/projects/uart/alpha/include/param.h#2 integrate .. //depot/projects/uart/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/uart/amd64/amd64/machdep.c#4 integrate .. //depot/projects/uart/amd64/amd64/pmap.c#8 integrate .. //depot/projects/uart/amd64/include/param.h#2 integrate .. //depot/projects/uart/conf/kern.pre.mk#5 integrate .. //depot/projects/uart/ddb/db_ps.c#2 integrate .. //depot/projects/uart/dev/acpica/acpi_ec.c#7 integrate .. //depot/projects/uart/dev/ahb/ahb.c#3 integrate .. //depot/projects/uart/dev/fatm/if_fatm.c#5 integrate .. //depot/projects/uart/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/uart/dev/hatm/if_hatm_ioctl.c#4 integrate .. //depot/projects/uart/dev/hatm/if_hatmvar.h#3 integrate .. //depot/projects/uart/dev/utopia/utopia.c#3 integrate .. //depot/projects/uart/i386/acpica/acpi_wakeup.c#4 integrate .. //depot/projects/uart/i386/i386/busdma_machdep.c#5 integrate .. //depot/projects/uart/i386/i386/identcpu.c#2 integrate .. //depot/projects/uart/i386/i386/machdep.c#3 integrate .. //depot/projects/uart/i386/i386/pmap.c#7 integrate .. //depot/projects/uart/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/uart/i386/include/pcpu.h#2 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#4 integrate .. //depot/projects/uart/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/uart/ia64/ia64/pmap.c#6 integrate .. //depot/projects/uart/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/uart/ia64/include/param.h#2 integrate .. //depot/projects/uart/kern/kern_mutex.c#3 integrate .. //depot/projects/uart/kern/kern_sig.c#8 integrate .. //depot/projects/uart/kern/subr_trap.c#2 integrate .. //depot/projects/uart/kern/sys_pipe.c#4 integrate .. //depot/projects/uart/pc98/i386/machdep.c#3 integrate .. //depot/projects/uart/powerpc/include/param.h#2 integrate .. //depot/projects/uart/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/uart/powerpc/powerpc/pmap.c#5 integrate .. //depot/projects/uart/powerpc/powerpc/vm_machdep.c#2 integrate .. //depot/projects/uart/sparc64/include/param.h#2 integrate .. //depot/projects/uart/sparc64/sparc64/genassym.c#3 integrate .. //depot/projects/uart/sparc64/sparc64/machdep.c#3 integrate .. //depot/projects/uart/sparc64/sparc64/pmap.c#5 integrate .. //depot/projects/uart/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/uart/sys/param.h#4 integrate .. //depot/projects/uart/vm/uma_core.c#5 integrate .. //depot/projects/uart/vm/uma_int.h#2 integrate .. //depot/projects/uart/vm/vm_glue.c#2 integrate Differences ... ==== //depot/projects/uart/alpha/alpha/machdep.c#6 (text+ko) ==== @@ -88,10 +88,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.208 2003/07/27 23:45:47 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.211 2003/07/31 05:27:00 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" +#include "opt_kstack_pages.h" #include "opt_msgbuf.h" #include "opt_maxmem.h" @@ -2030,6 +2031,7 @@ if (clear_ret != 0) { mcp->mc_regs[FRAME_V0] = 0; mcp->mc_regs[FRAME_A4] = 0; + mcp->mc_regs[FRAME_A3] = 0; } /* @@ -2081,6 +2083,9 @@ if (td == curthread) { alpha_pal_wrusp(mcp->mc_regs[FRAME_SP]); alpha_pal_wrunique(mcp->mc_thrptr); + } else { + td->td_pcb->pcb_hw.apcb_usp = mcp->mc_regs[FRAME_SP]; + td->td_pcb->pcb_hw.apcb_unique = mcp->mc_thrptr; } /* ==== //depot/projects/uart/alpha/alpha/mp_machdep.c#5 (text+ko) ==== @@ -25,7 +25,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.45 2003/07/27 23:45:48 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.46 2003/07/31 01:31:31 peter Exp $"); + +#include "opt_kstack_pages.h" #include #include ==== //depot/projects/uart/alpha/alpha/pmap.c#6 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.131 2003/07/25 18:58:39 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.132 2003/07/31 03:39:50 bmilekic Exp $"); #include #include @@ -642,7 +642,7 @@ if (initial_pvs < MINPV) initial_pvs = MINPV; pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM); + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); uma_prealloc(pvzone, initial_pvs); /* ==== //depot/projects/uart/alpha/alpha/vm_machdep.c#3 (text+ko) ==== @@ -67,7 +67,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.89 2003/07/27 23:45:48 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.91 2003/07/31 01:31:31 peter Exp $"); + +#include "opt_kstack_pages.h" #include #include @@ -260,7 +262,8 @@ { td->td_pcb = - (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + td->td_md.md_pcbpaddr = (void*)vtophys((vm_offset_t)td->td_pcb); td->td_frame = (struct trapframe *)((caddr_t)td->td_pcb) - 1; } ==== //depot/projects/uart/alpha/include/param.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/param.h,v 1.31 2003/06/14 23:23:52 alc Exp $ */ +/* $FreeBSD: src/sys/alpha/include/param.h,v 1.32 2003/07/31 01:31:31 peter Exp $ */ /* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */ /* @@ -117,7 +117,9 @@ #define SSIZE 1 /* initial stack size/NBPG */ #define SINCR 1 /* increment of stack/NBPG */ +#ifndef KSTACK_PAGES #define KSTACK_PAGES 2 /* pages of kstack (with pcb) */ +#endif #define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */ #define UAREA_PAGES 1 /* pages of u-area */ ==== //depot/projects/uart/amd64/amd64/machdep.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.587 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.588 2003/07/31 01:26:39 peter Exp $"); #include "opt_atalk.h" #include "opt_compat.h" @@ -47,10 +47,10 @@ #include "opt_inet.h" #include "opt_ipx.h" #include "opt_isa.h" +#include "opt_kstack_pages.h" #include "opt_maxmem.h" #include "opt_msgbuf.h" #include "opt_perfmon.h" -#include "opt_kstack_pages.h" #include #include ==== //depot/projects/uart/amd64/amd64/pmap.c#8 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.426 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.427 2003/07/31 03:39:50 bmilekic Exp $"); /* * Manages physical address maps. @@ -610,7 +610,7 @@ if (initial_pvs < MINPV) initial_pvs = MINPV; pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM); + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); uma_zone_set_allocf(pvzone, pmap_pv_allocf); uma_prealloc(pvzone, initial_pvs); ==== //depot/projects/uart/amd64/include/param.h#2 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.7 2003/06/14 23:23:53 alc Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.8 2003/07/31 01:27:18 peter Exp $ */ /* @@ -117,7 +117,9 @@ #define IOPAGES 2 /* pages of i/o permission bitmap */ +#ifndef KSTACK_PAGES #define KSTACK_PAGES 4 /* pages of kstack (with pcb) */ +#endif #define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */ #define UAREA_PAGES 1 /* holds struct user WITHOUT PCB (see def.) */ ==== //depot/projects/uart/conf/kern.pre.mk#5 (text+ko) ==== @@ -3,7 +3,7 @@ # Unified Makefile for building kernels. This includes all the definitions # that need to be included before %BEFORE_DEPEND # -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.32 2003/07/26 03:46:39 peter Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.33 2003/07/30 22:11:36 scottl Exp $ # # Can be overridden by makeoptions or /etc/make.conf @@ -54,7 +54,7 @@ DEFINED_PROF= ${PROF} WERROR?= -Werror INLINE_LIMIT?= 15000 -CFLAGS+= -finline-limit=${INLINE_LIMIT} +CFLAGS+= -finline-limit=${INLINE_LIMIT} -fno-strict-aliasing # Put configuration-specific C flags last (except for ${PROF}) so that they ==== //depot/projects/uart/ddb/db_ps.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.46 2003/06/15 00:31:22 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.47 2003/07/30 20:59:36 jhb Exp $"); #include #include @@ -145,6 +145,7 @@ static void dumpthread(volatile struct proc *p, volatile struct thread *td) { + if (p->p_flag & P_SA) db_printf( " thread %p ksegrp %p ", td, td->td_ksegrp); if (TD_ON_SLEEPQ(td)) { ==== //depot/projects/uart/dev/acpica/acpi_ec.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.37 2003/07/25 16:49:46 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.38 2003/07/30 16:22:52 njl Exp $ */ /****************************************************************************** * @@ -288,6 +288,9 @@ ((event) == EC_EVENT_INPUT_BUFFER_EMPTY && \ ((status) & EC_FLAG_INPUT_BUFFER) == 0)) +static int ec_poll_timeout = EC_POLL_TIMEOUT; +TUNABLE_INT("hw.acpi.ec.poll_timeout", &ec_poll_timeout); + static __inline ACPI_STATUS EcLock(struct acpi_ec_softc *sc) { @@ -792,12 +795,12 @@ sc->ec_polldelay = 100; /* - * If we still don't have a response, wait up to EC_POLL_TIMEOUT ms + * If we still don't have a response, wait up to ec_poll_timeout ms * for completion, sleeping for chunks of 10 ms. */ if (Status != AE_OK) { retval = -1; - for (i = 0; i < EC_POLL_TIMEOUT / 10; i++) { + for (i = 0; i < ec_poll_timeout / 10; i++) { if (retval != 0) EcStatus = EC_GET_CSR(sc); else ==== //depot/projects/uart/dev/ahb/ahb.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ahb/ahb.c,v 1.30 2003/07/01 15:51:52 scottl Exp $ + * $FreeBSD: src/sys/dev/ahb/ahb.c,v 1.31 2003/07/30 20:09:22 gallatin Exp $ */ #include @@ -140,7 +140,8 @@ ahbecbptov(struct ahb_softc *ahb, u_int32_t ecb_addr) { return (ahb->ecb_array - + ((struct ecb*)ecb_addr - (struct ecb*)ahb->ecb_physbase)); + + ((struct ecb*)(uintptr_t)ecb_addr + - (struct ecb*)(uintptr_t)ahb->ecb_physbase)); } static __inline u_int32_t ==== //depot/projects/uart/dev/fatm/if_fatm.c#5 (text+ko) ==== @@ -29,7 +29,7 @@ * Fore PCA200E driver for NATM */ #include -__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.4 2003/07/29 14:00:59 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.5 2003/07/30 14:20:00 harti Exp $"); #include "opt_inet.h" #include "opt_natm.h" @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -520,9 +521,13 @@ sc->small_cnt = sc->large_cnt = 0; /* Reset vcc info */ - if (sc->vccs != NULL) - for (i = 0; i <= FORE_MAX_VCC; i++) - sc->vccs[i].flags = 0; + if (sc->vccs != NULL) { + for (i = 0; i < FORE_MAX_VCC + 1; i++) + if (sc->vccs[i] != NULL) { + uma_zfree(sc->vcc_zone, sc->vccs[i]); + sc->vccs[i] = NULL; + } + } sc->open_vccs = 0; } @@ -1446,7 +1451,7 @@ fatm_intr_drain_rx(struct fatm_softc *sc) { struct rxqueue *q; - int stat, mlen, drop; + int stat, mlen; u_int i; uint32_t h; struct mbuf *last, *m0; @@ -1455,6 +1460,7 @@ u_int vci, vpi, pt; struct atm_pseudohdr aph; struct ifnet *ifp; + struct card_vcc *vc; for (;;) { q = GET_QUEUE(sc->rxqueue, struct rxqueue, sc->rxqueue.tail); @@ -1469,7 +1475,6 @@ H_SYNCQ_POSTREAD(&sc->rxq_mem, rpd, RPD_SIZE); rpd->nseg = le32toh(rpd->nseg); - drop = 0; mlen = 0; m0 = last = 0; for (i = 0; i < rpd->nseg; i++) { @@ -1509,26 +1514,30 @@ * Locate the VCC this packet belongs to */ if (!VC_OK(sc, vpi, vci)) - drop = 1; - else if ((sc->vccs[vci].flags & FATM_VCC_OPEN) == 0) { + vc = NULL; + else if ((vc = sc->vccs[vci]) == NULL || + !(sc->vccs[vci]->vflags & FATM_VCC_OPEN)) { sc->istats.rx_closed++; - drop = 1; + vc = NULL; } DBG(sc, RCV, ("RCV: vc=%u.%u pt=%u mlen=%d %s", vpi, vci, - pt, mlen, drop ? "dropped" : "")); + pt, mlen, vc == NULL ? "dropped" : "")); - if (drop) { + if (vc == NULL) { m_freem(m0); } else { - ATM_PH_FLAGS(&aph) = sc->vccs[vci].flags & 0xff; + ATM_PH_FLAGS(&aph) = vc->param.flags; ATM_PH_VPI(&aph) = vpi; ATM_PH_SETVCI(&aph, vci); ifp = &sc->ifatm.ifnet; ifp->if_ipackets++; - atm_input(ifp, &aph, m0, sc->vccs[vci].rxhand); + vc->ipackets++; + vc->ibytes += m0->m_pkthdr.len; + + atm_input(ifp, &aph, m0, vc->rxhand); } H_SETSTAT(q->q.statp, FATM_STAT_FREE); @@ -1895,7 +1904,7 @@ * Note, that we update the internal statistics without the lock here. */ static int -fatm_tx(struct fatm_softc *sc, struct mbuf *m, u_int vpi, u_int vci, u_int mlen) +fatm_tx(struct fatm_softc *sc, struct mbuf *m, struct card_vcc *vc, u_int mlen) { struct txqueue *q; u_int nblks; @@ -1948,7 +1957,7 @@ /* * OK. Now go and do it. */ - aal = (sc->vccs[vci].aal == ATMIO_AAL_5) ? 5 : 0; + aal = (vc->param.aal == ATMIO_AAL_5) ? 5 : 0; H_SETSTAT(q->q.statp, FATM_STAT_PENDING); H_SYNCSTAT_PREWRITE(sc, q->q.statp); @@ -1961,15 +1970,16 @@ */ H_SETDESC(tpd->spec, TDX_MKSPEC((sc->txcnt >= (4 * FATM_TX_QLEN) / 5), aal, nsegs, mlen)); - H_SETDESC(tpd->atm_header, TDX_MKHDR(vpi, vci, 0, 0)); + H_SETDESC(tpd->atm_header, TDX_MKHDR(vc->param.vpi, + vc->param.vci, 0, 0)); - if (sc->vccs[vci].traffic == ATMIO_TRAFFIC_UBR) + if (vc->param.traffic == ATMIO_TRAFFIC_UBR) H_SETDESC(tpd->stream, 0); else { u_int i; for (i = 0; i < RATE_TABLE_SIZE; i++) - if (rate_table[i].cell_rate < sc->vccs[vci].pcr) + if (rate_table[i].cell_rate < vc->param.tparam.pcr) break; if (i > 0) i--; @@ -1987,6 +1997,8 @@ sc->txcnt++; sc->ifatm.ifnet.if_opackets++; + vc->obytes += m->m_pkthdr.len; + vc->opackets++; NEXT_QUEUE_ENTRY(sc->txqueue.head, FATM_TX_QLEN); @@ -2000,6 +2012,7 @@ struct fatm_softc *sc; struct mbuf *m; u_int mlen, vpi, vci; + struct card_vcc *vc; sc = (struct fatm_softc *)ifp->if_softc; @@ -2048,13 +2061,13 @@ m_freem(m); break; } - if (!VC_OK(sc, vpi, vci) || - !(sc->vccs[vci].flags & FATM_VCC_OPEN)) { + if (!VC_OK(sc, vpi, vci) || (vc = sc->vccs[vci]) == NULL || + !(vc->vflags & FATM_VCC_OPEN)) { FATM_UNLOCK(sc); m_freem(m); continue; } - if (fatm_tx(sc, m, vpi, vci, mlen)) { + if (fatm_tx(sc, m, vc, mlen)) { FATM_UNLOCK(sc); break; } @@ -2063,52 +2076,6 @@ } /* - * Return a table of all currently open VCCs. - */ -static struct atmio_vcctable * -get_vccs(struct fatm_softc *sc, int flags) -{ - struct atmio_vcctable *vccs; - struct atmio_vcc *v; - u_int i, alloc; - - alloc = 10; - vccs = NULL; - for (;;) { - vccs = reallocf(vccs, - sizeof(*vccs) + alloc * sizeof(vccs->vccs[0]), - M_DEVBUF, flags); - if (vccs == NULL) - return (NULL); - - vccs->count = 0; - FATM_LOCK(sc); - v = vccs->vccs; - for (i = 0; i < (1U << sc->ifatm.mib.vci_bits); i++) { - if (sc->vccs[i].flags & FATM_VCC_OPEN) { - if (vccs->count++ == alloc) { - alloc *= 2; - break; - } - v->vpi = 0; - v->vci = i; - v->flags = sc->vccs[i].flags; - v->aal = sc->vccs[i].aal; - v->traffic = sc->vccs[i].traffic; - bzero(&v->tparam, sizeof(v->tparam)); - v->tparam.pcr = sc->vccs[i].pcr; - v++; - } - } - if (i == (1U << sc->ifatm.mib.vci_bits)) - break; - FATM_UNLOCK(sc); - } - FATM_UNLOCK(sc); - return (vccs); -} - -/* * VCC managment * * This may seem complicated. The reason for this is, that we need an @@ -2153,79 +2120,57 @@ } /* - * Start to open a VCC. This just initiates the operation. + * The VC has been opened/closed and somebody has been waiting for this. + * Wake him up. */ -static int -fatm_start_open_vcc(struct fatm_softc *sc, u_int vpi, u_int vci, u_int aal, - u_int traffic, u_int pcr, u_int flags, void *rxhand, - void (*func)(struct fatm_softc *, struct cmdqueue *), struct cmdqueue **qp) +static void +fatm_cmd_complete(struct fatm_softc *sc, struct cmdqueue *q) { - int error; - uint32_t cmd; - struct cmdqueue *q; - error = 0; + H_SYNCSTAT_POSTREAD(sc, q->q.statp); + if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { + sc->istats.get_stat_errors++; + q->error = EIO; + } + wakeup(q); +} - if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) - return (EIO); - if (!VC_OK(sc, vpi, vci) || - (aal != ATMIO_AAL_0 && aal != ATMIO_AAL_5) || - (traffic != ATMIO_TRAFFIC_UBR && traffic != ATMIO_TRAFFIC_CBR)) - return (EINVAL); - if (sc->vccs[vci].flags & FATM_VCC_BUSY) - return (EBUSY); +/* + * Open complete + */ +static void +fatm_open_finish(struct fatm_softc *sc, struct card_vcc *vc) +{ + vc->vflags &= ~FATM_VCC_TRY_OPEN; + vc->vflags |= FATM_VCC_OPEN; - /* Command and buffer strategy */ - cmd = FATM_OP_ACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL | (0 << 16); - if (aal == ATMIO_AAL_0) - cmd |= (0 << 8); - else - cmd |= (5 << 8); - - if ((q = fatm_start_vcc(sc, vpi, vci, cmd, 1, func)) == NULL) - return (EIO); - if (qp != NULL) - *qp = q; - - sc->vccs[vci].aal = aal; - sc->vccs[vci].flags = flags | FATM_VCC_TRY_OPEN; - sc->vccs[vci].rxhand = rxhand; - sc->vccs[vci].pcr = pcr; - sc->vccs[vci].traffic = traffic; - - return (0); + /* inform management if this is not an NG + * VCC or it's an NG PVC. */ + if (!(vc->param.flags & ATMIO_FLAG_NG) || + (vc->param.flags & ATMIO_FLAG_PVC)) + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vc->param.vci, 1); } /* - * Initiate closing a VCC + * The VC that we have tried to open asynchronuosly has been opened. */ -static int -fatm_start_close_vcc(struct fatm_softc *sc, u_int vpi, u_int vci, - void (*func)(struct fatm_softc *, struct cmdqueue *), struct cmdqueue **qp) +static void +fatm_open_complete(struct fatm_softc *sc, struct cmdqueue *q) { - int error; - struct cmdqueue *q; + u_int vci; + struct card_vcc *vc; - error = 0; - - if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) - return (EIO); - if (!VC_OK(sc, vpi, vci)) - return (EINVAL); - if (!(sc->vccs[vci].flags & (FATM_VCC_OPEN | FATM_VCC_TRY_OPEN))) - return (ENOENT); - - if ((q = fatm_start_vcc(sc, vpi, vci, - FATM_OP_DEACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL, 1, func)) == NULL) - return (EIO); - - if (qp != NULL) - *qp = q; - - sc->vccs[vci].flags &= ~(FATM_VCC_OPEN | FATM_VCC_TRY_OPEN); - sc->vccs[vci].flags |= FATM_VCC_TRY_CLOSE; - - return (0); + vci = GETVCI(READ4(sc, q->q.card + FATMOC_ACTIN_VPVC)); + vc = sc->vccs[vci]; + H_SYNCSTAT_POSTREAD(sc, q->q.statp); + if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { + sc->istats.get_stat_errors++; + sc->vccs[vci] = NULL; + uma_zfree(sc->vcc_zone, vc); + if_printf(&sc->ifatm.ifnet, "opening VCI %u failed\n", vci); + return; + } + fatm_open_finish(sc, vc); } /* @@ -2247,119 +2192,121 @@ } /* - * The VC has been opened/closed and somebody has been waiting for this. - * Wake him up. - */ -static void -fatm_cmd_complete(struct fatm_softc *sc, struct cmdqueue *q) -{ - - H_SYNCSTAT_POSTREAD(sc, q->q.statp); - if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { - sc->istats.get_stat_errors++; - q->error = EIO; - } - wakeup(q); -} - -/* - * Open a vcc and wait for completion + * Start to open a VCC. This just initiates the operation. */ static int -fatm_open_vcc(struct fatm_softc *sc, u_int vpi, u_int vci, u_int flags, - u_int aal, u_int traffic, u_int pcr, void *rxhand) +fatm_open_vcc(struct fatm_softc *sc, struct atmio_openvcc *op, int wait) { + uint32_t cmd; int error; struct cmdqueue *q; + struct card_vcc *vc; + + /* + * Check parameters + */ + if ((op->param.flags & ATMIO_FLAG_NOTX) && + (op->param.flags & ATMIO_FLAG_NORX)) + return (EINVAL); + if (!VC_OK(sc, op->param.vpi, op->param.vci)) + return (EINVAL); + if (op->param.aal != ATMIO_AAL_0 && op->param.aal != ATMIO_AAL_5) + return (EINVAL); + + vc = uma_zalloc(sc->vcc_zone, M_NOWAIT | M_ZERO); + if (vc == NULL) + return (ENOMEM); + error = 0; FATM_LOCK(sc); - error = fatm_start_open_vcc(sc, vpi, vci, aal, traffic, pcr, - flags, rxhand, fatm_cmd_complete, &q); - if (error != 0) { - FATM_UNLOCK(sc); - return (error); + if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) { + error = EIO; + goto done; + } + if (sc->vccs[op->param.vci] != NULL) { + error = EBUSY; + goto done; } - error = fatm_waitvcc(sc, q); + vc->param = op->param; + vc->rxhand = op->rxhand; - if (error == 0) { - sc->vccs[vci].flags &= ~FATM_VCC_TRY_OPEN; - sc->vccs[vci].flags |= FATM_VCC_OPEN; - sc->open_vccs++; + switch (op->param.traffic) { - /* inform management if this is not an NG - * VCC or it's an NG PVC. */ - if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || - (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 1); - } else - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); + case ATMIO_TRAFFIC_UBR: + break; - FATM_UNLOCK(sc); - return (error); -} + case ATMIO_TRAFFIC_CBR: + if (op->param.tparam.pcr == 0 || + op->param.tparam.pcr > sc->ifatm.mib.pcr) { + error = EINVAL; + goto done; + } + break; -/* - * Close a VCC synchronuosly - */ -static int -fatm_close_vcc(struct fatm_softc *sc, u_int vpi, u_int vci) -{ - int error; - struct cmdqueue *q; + default: + error = EINVAL; + goto done; + return (EINVAL); + } + vc->ibytes = vc->obytes = 0; + vc->ipackets = vc->opackets = 0; - error = 0; + /* Command and buffer strategy */ + cmd = FATM_OP_ACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL | (0 << 16); + if (op->param.aal == ATMIO_AAL_0) + cmd |= (0 << 8); + else + cmd |= (5 << 8); - FATM_LOCK(sc); - error = fatm_start_close_vcc(sc, vpi, vci, fatm_cmd_complete, &q); - if (error != 0) { - FATM_UNLOCK(sc); - return (error); + q = fatm_start_vcc(sc, op->param.vpi, op->param.vci, cmd, 1, + wait ? fatm_cmd_complete : fatm_open_complete); + if (q == NULL) { + error = EIO; + goto done; } - error = fatm_waitvcc(sc, q); - if (error == 0) { - /* inform management of this is not an NG - * VCC or it's an NG PVC. */ - if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || - (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 0); + vc->vflags = FATM_VCC_TRY_OPEN; + sc->vccs[op->param.vci] = vc; + sc->open_vccs++; - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); - sc->open_vccs--; + if (wait) { + error = fatm_waitvcc(sc, q); + if (error != 0) { + sc->vccs[op->param.vci] = NULL; + sc->open_vccs--; + goto done; + } + fatm_open_finish(sc, vc); } + /* don't free below */ + vc = NULL; + + done: FATM_UNLOCK(sc); + if (vc != NULL) + uma_zfree(sc->vcc_zone, vc); return (error); } /* - * The VC has been opened. + * Finish close */ static void -fatm_open_complete(struct fatm_softc *sc, struct cmdqueue *q) +fatm_close_finish(struct fatm_softc *sc, struct card_vcc *vc) { - u_int vci; + /* inform management of this is not an NG + * VCC or it's an NG PVC. */ + if (!(vc->param.flags & ATMIO_FLAG_NG) || + (vc->param.flags & ATMIO_FLAG_PVC)) + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vc->param.vci, 0); - vci = GETVCI(READ4(sc, q->q.card + FATMOC_ACTIN_VPVC)); - H_SYNCSTAT_POSTREAD(sc, q->q.statp); - if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { - sc->istats.get_stat_errors++; - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); - if_printf(&sc->ifatm.ifnet, "opening VCI %u failed\n", vci); - return; - } + sc->vccs[vc->param.vci] = NULL; + sc->open_vccs--; - sc->vccs[vci].flags &= ~FATM_VCC_TRY_OPEN; - sc->vccs[vci].flags |= FATM_VCC_OPEN; - sc->open_vccs++; - - /* inform management if this is not an NG - * VCC or it's an NG PVC. */ - if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || - (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 1); + uma_zfree(sc->vcc_zone, vc); } /* @@ -2369,8 +2316,10 @@ fatm_close_complete(struct fatm_softc *sc, struct cmdqueue *q) { u_int vci; + struct card_vcc *vc; vci = GETVCI(READ4(sc, q->q.card + FATMOC_ACTIN_VPVC)); + vc = sc->vccs[vci]; H_SYNCSTAT_POSTREAD(sc, q->q.statp); if (H_GETSTAT(q->q.statp) & FATM_STAT_ERROR) { sc->istats.get_stat_errors++; @@ -2379,42 +2328,55 @@ return; } - /* inform management of this is not an NG - * VCC or it's an NG PVC. */ - if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || - (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 0); - - bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); - sc->open_vccs--; + fatm_close_finish(sc, vc); } /* - * Open a vcc but don't wait. + * Initiate closing a VCC */ static int -fatm_open_vcc_nowait(struct fatm_softc *sc, u_int vpi, u_int vci, u_int flags, - u_int aal, void *rxhand) +fatm_close_vcc(struct fatm_softc *sc, struct atmio_closevcc *cl, int wait) { int error; + struct cmdqueue *q; + struct card_vcc *vc; + + if (!VC_OK(sc, cl->vpi, cl->vci)) + return (EINVAL); + error = 0; + FATM_LOCK(sc); - error = fatm_start_open_vcc(sc, vpi, vci, aal, ATMIO_TRAFFIC_UBR, 0, - flags, rxhand, fatm_open_complete, NULL); - FATM_UNLOCK(sc); - return (error); -} + if (!(sc->ifatm.ifnet.if_flags & IFF_RUNNING)) { + error = EIO; + goto done; + } + vc = sc->vccs[cl->vci]; + if (vc == NULL || !(vc->vflags & (FATM_VCC_OPEN | FATM_VCC_TRY_OPEN))) { + error = ENOENT; + goto done; + } + + q = fatm_start_vcc(sc, cl->vpi, cl->vci, + FATM_OP_DEACTIVATE_VCIN | FATM_OP_INTERRUPT_SEL, 1, + wait ? fatm_cmd_complete : fatm_close_complete); + if (q == NULL) { + error = EIO; + goto done; + } + + vc->vflags &= ~(FATM_VCC_OPEN | FATM_VCC_TRY_OPEN); + vc->vflags |= FATM_VCC_TRY_CLOSE; + + if (wait) { + error = fatm_waitvcc(sc, q); + if (error != 0) + goto done; -/* - * Close a VCC but don't wait - */ -static int -fatm_close_vcc_nowait(struct fatm_softc *sc, u_int vpi, u_int vci) -{ - int error; + fatm_close_finish(sc, vc); + } - FATM_LOCK(sc); - error = fatm_start_close_vcc(sc, vpi, vci, fatm_close_complete, NULL); + done: FATM_UNLOCK(sc); return (error); } @@ -2433,30 +2395,38 @@ struct atmio_openvcc *op = (struct atmio_openvcc *)arg; struct atm_pseudoioctl *pa = (struct atm_pseudoioctl *)arg; struct atmio_vcctable *vtab; + struct atmio_openvcc ena; + struct atmio_closevcc dis; error = 0; switch (cmd) { case SIOCATMENA: /* internal NATM use */ - error = fatm_open_vcc_nowait(sc, ATM_PH_VPI(&pa->aph), - ATM_PH_VCI(&pa->aph), ATM_PH_FLAGS(&pa->aph), - (ATM_PH_FLAGS(&pa->aph) & ATM_PH_AAL5) ? ATMIO_AAL_5 : - ATMIO_AAL_0, pa->rxhand); + bzero(&ena, sizeof(ena)); + ena.param.flags = ATM_PH_FLAGS(&pa->aph) & + (ATM_PH_AAL5 | ATM_PH_LLCSNAP); + ena.param.vpi = ATM_PH_VPI(&pa->aph); + ena.param.vci = ATM_PH_VCI(&pa->aph); + ena.param.aal = (ATM_PH_FLAGS(&pa->aph) & ATM_PH_AAL5) ? + ATMIO_AAL_5 : ATMIO_AAL_0; + ena.param.traffic = ATMIO_TRAFFIC_UBR; + ena.rxhand = pa->rxhand; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 14 05:35:12 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D834137B404; Mon, 14 Jul 2003 05:35:11 -0700 (PDT) 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 6B73137B401 for ; Mon, 14 Jul 2003 05:35:11 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E0E243FAF for ; Mon, 14 Jul 2003 05:35:11 -0700 (PDT) (envelope-from des@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6ECZA0U058552 for ; Mon, 14 Jul 2003 05:35:10 -0700 (PDT) (envelope-from des@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6ECZAXt058549 for perforce@freebsd.org; Mon, 14 Jul 2003 05:35:10 -0700 (PDT) Message-Id: <200307141235.h6ECZAXt058549@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to des@freebsd.org using -f From: Dag-Erling Smorgrav To: Perforce Change Reviews Subject: PERFORCE change 34470 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: , Date: Mon, 14 Jul 2003 12:35:13 -0000 X-Original-Date: Mon, 14 Jul 2003 05:35:10 -0700 (PDT) X-List-Received-Date: Mon, 14 Jul 2003 12:35:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=34470 Change 34470 by des@des.at.des.thinksec.com on 2003/07/14 05:34:43 Prepare to release OpenPAM Dogwood later today. Affected files ... .. //depot/projects/openpam/HISTORY#20 edit .. //depot/projects/openpam/include/security/openpam_version.h#11 edit Differences ... ==== //depot/projects/openpam/HISTORY#20 (text+ko) ==== @@ -1,3 +1,24 @@ +OpenPAM Dogwood 2003-07-14 + + - ENHANCE: Use the GNU autotools. + + - ENHANCE: Constify the msg field in struct pam_message. + + - BUGFIX: Remove left-over debugging output + + - BUGFIX: Avoid side effects in arguments to the FREE() macro + + - ENHANCE: Make openpam_ttyconv(3) use read(2) rather than fgets(3). + + - BUGFIX: Staticize some variables which shouldn't be global. + + - BUGFIX: Correcly anticipate a NULL user in pam_get_user(3). + + - ENHANCE: Various minor documentation improvements. + +Thanks to Dmitry V. Levin for considerable +assistance with this release. +============================================================================ OpenPAM Digitalis 2003-06-01 - ENHANCE: Completely rewrite the configuration parser and add @@ -242,4 +263,4 @@ First (beta) release. ============================================================================ -$P4: //depot/projects/openpam/HISTORY#19 $ +$P4: //depot/projects/openpam/HISTORY#20 $ ==== //depot/projects/openpam/include/security/openpam_version.h#11 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/include/security/openpam_version.h#10 $ + * $P4: //depot/projects/openpam/include/security/openpam_version.h#11 $ */ #ifndef _OPENPAM_VERSION_H_INCLUDED @@ -39,6 +39,6 @@ #define _OPENPAM #define _OPENPAM_VERSION YYYYMMDD -#define _OPENPAM_RELEASE "Digitalis" +#define _OPENPAM_RELEASE "Dogwood" #endif From owner-p4-projects@FreeBSD.ORG Tue Jul 15 19:35:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A034D37B404; Tue, 15 Jul 2003 19:35:07 -0700 (PDT) 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 3699637B401 for ; Tue, 15 Jul 2003 19:35:07 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9C70E43F93 for ; Tue, 15 Jul 2003 19:35:05 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6G2Z50U034930 for ; Tue, 15 Jul 2003 19:35:05 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6G2Z3pZ034927 for perforce@freebsd.org; Tue, 15 Jul 2003 19:35:03 -0700 (PDT) Message-Id: <200307160235.h6G2Z3pZ034927@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 34580 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: , Date: Wed, 16 Jul 2003 02:35:08 -0000 X-Original-Date: Tue, 15 Jul 2003 19:35:03 -0700 (PDT) X-List-Received-Date: Wed, 16 Jul 2003 02:35:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=34580 Change 34580 by peter@peter_daintree on 2003/07/15 19:34:23 IFC @34579 Affected files ... .. //depot/projects/hammer/MAINTAINERS#11 integrate .. //depot/projects/hammer/Makefile.inc1#25 integrate .. //depot/projects/hammer/contrib/gcc/config/i386/freebsd.h#8 integrate .. //depot/projects/hammer/contrib/openpam/CREDITS#5 integrate .. //depot/projects/hammer/contrib/openpam/HISTORY#6 integrate .. //depot/projects/hammer/contrib/openpam/INSTALL#3 integrate .. //depot/projects/hammer/contrib/openpam/MANIFEST#5 integrate .. //depot/projects/hammer/contrib/openpam/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/Makefile.inc#2 delete .. //depot/projects/hammer/contrib/openpam/RELNOTES#6 integrate .. //depot/projects/hammer/contrib/openpam/aclocal.m4#1 branch .. //depot/projects/hammer/contrib/openpam/autogen.sh#1 branch .. //depot/projects/hammer/contrib/openpam/bin/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/bin/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/bin/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/bin/Makefile.inc#2 delete .. //depot/projects/hammer/contrib/openpam/bin/su/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/bin/su/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/bin/su/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/config.guess#1 branch .. //depot/projects/hammer/contrib/openpam/config.h.in#1 branch .. //depot/projects/hammer/contrib/openpam/config.sub#1 branch .. //depot/projects/hammer/contrib/openpam/configure#1 branch .. //depot/projects/hammer/contrib/openpam/configure.in#1 branch .. //depot/projects/hammer/contrib/openpam/depcomp#1 branch .. //depot/projects/hammer/contrib/openpam/doc/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/doc/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/doc/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/doc/man/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/doc/man/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/doc/man/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/doc/man/openpam.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_borrow_cred.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_free_data.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_get_option.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_log.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_nullconv.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_readline.3#2 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_restore_cred.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_set_option.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/openpam_ttyconv.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam.man#3 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_acct_mgmt.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_authenticate.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_chauthtok.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_close_session.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_end.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_error.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_get_authtok.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_get_data.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_get_item.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_get_user.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_getenv.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_getenvlist.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_info.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_open_session.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_prompt.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_putenv.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_set_data.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_set_item.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_setcred.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_setenv.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_sm_acct_mgmt.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_sm_authenticate.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_sm_chauthtok.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_sm_close_session.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_sm_open_session.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_sm_setcred.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_start.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_strerror.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_verror.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_vinfo.3#6 integrate .. //depot/projects/hammer/contrib/openpam/doc/man/pam_vprompt.3#6 integrate .. //depot/projects/hammer/contrib/openpam/include/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/include/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/include/security/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/include/security/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/include/security/openpam.h#4 integrate .. //depot/projects/hammer/contrib/openpam/include/security/openpam_version.h#5 integrate .. //depot/projects/hammer/contrib/openpam/include/security/pam_types.h#5 integrate .. //depot/projects/hammer/contrib/openpam/install-sh#1 branch .. //depot/projects/hammer/contrib/openpam/lib/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/lib/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/lib/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/lib/openpam_borrow_cred.c#5 integrate .. //depot/projects/hammer/contrib/openpam/lib/openpam_impl.h#6 integrate .. //depot/projects/hammer/contrib/openpam/lib/openpam_restore_cred.c#5 integrate .. //depot/projects/hammer/contrib/openpam/lib/openpam_ttyconv.c#7 integrate .. //depot/projects/hammer/contrib/openpam/lib/pam_get_authtok.c#5 integrate .. //depot/projects/hammer/contrib/openpam/lib/pam_get_user.c#5 integrate .. //depot/projects/hammer/contrib/openpam/ltconfig#1 branch .. //depot/projects/hammer/contrib/openpam/ltmain.sh#1 branch .. //depot/projects/hammer/contrib/openpam/misc/gendoc.pl#5 integrate .. //depot/projects/hammer/contrib/openpam/missing#1 branch .. //depot/projects/hammer/contrib/openpam/mkinstalldirs#1 branch .. //depot/projects/hammer/contrib/openpam/modules/Makefile#5 delete .. //depot/projects/hammer/contrib/openpam/modules/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/modules/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_deny/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/modules/pam_deny/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_deny/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_deny/pam_deny.c#4 integrate .. //depot/projects/hammer/contrib/openpam/modules/pam_dummy/Makefile#3 delete .. //depot/projects/hammer/contrib/openpam/modules/pam_permit/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/modules/pam_permit/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_permit/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_permit/pam_permit.c#4 integrate .. //depot/projects/hammer/contrib/openpam/modules/pam_unix/Makefile#4 delete .. //depot/projects/hammer/contrib/openpam/modules/pam_unix/Makefile.am#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_unix/Makefile.in#1 branch .. //depot/projects/hammer/contrib/openpam/modules/pam_unix/pam_unix.c#5 integrate .. //depot/projects/hammer/contrib/openpam/stamp-h.in#1 branch .. //depot/projects/hammer/contrib/opie/popen.c#2 integrate .. //depot/projects/hammer/contrib/telnet/arpa/telnet.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/auth-proto.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/auth.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/auth.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/enc-proto.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/enc_des.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/encrypt.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/encrypt.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/genget.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/getent.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/kerberos.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/kerberos5.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/key-proto.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/krb4encpwd.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/misc-proto.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/misc.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/misc.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/pk.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/pk.h#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/read_password.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/rsaencpwd.c#1 branch .. //depot/projects/hammer/contrib/telnet/libtelnet/sra.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/authenc.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/commands.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/defines.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/externs.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/fdset.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/general.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/main.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/network.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/ring.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/ring.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/sys_bsd.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/telnet.1#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/telnet.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/terminal.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/types.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnet/utilities.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/authenc.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/defs.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/ext.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/global.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/pathnames.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/slc.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/state.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/sys_term.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/telnetd.8#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/telnetd.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/telnetd.h#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/termstat.c#1 branch .. //depot/projects/hammer/contrib/telnet/telnetd/utility.c#1 branch .. //depot/projects/hammer/etc/rc.d/cleanvar#5 integrate .. //depot/projects/hammer/etc/rc.d/ipmon#5 integrate .. //depot/projects/hammer/etc/rc.d/isdnd#6 integrate .. //depot/projects/hammer/etc/rc.d/sshd#2 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/hammer/games/fortune/datfiles/startrek#4 integrate .. //depot/projects/hammer/gnu/lib/csu/Makefile#5 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/cc_tools/auto-host.h#8 integrate .. //depot/projects/hammer/include/histedit.h#2 integrate .. //depot/projects/hammer/lib/csu/ia64/Makefile#2 integrate .. //depot/projects/hammer/lib/csu/ia64/crt1.S#1 branch .. //depot/projects/hammer/lib/csu/ia64/crt1.c#3 delete .. //depot/projects/hammer/lib/libc/sys/ioctl.2#3 integrate .. //depot/projects/hammer/lib/libc_r/Makefile#5 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_radius/pam_radius.c#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#34 integrate .. //depot/projects/hammer/release/doc/share/sgml/release.ent#6 integrate .. //depot/projects/hammer/release/scripts/print-cdrom-packages.sh#8 integrate .. //depot/projects/hammer/rescue/librescue/Makefile#2 integrate .. //depot/projects/hammer/rescue/rescue/Makefile#3 integrate .. //depot/projects/hammer/sbin/dump/dump.8#6 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#10 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#12 integrate .. //depot/projects/hammer/sbin/ping/ping.c#12 integrate .. //depot/projects/hammer/share/man/man4/Makefile#17 integrate .. //depot/projects/hammer/share/man/man4/ath.4#4 integrate .. //depot/projects/hammer/share/man/man4/fla.4#1 branch .. //depot/projects/hammer/share/man/man4/natm.4#4 integrate .. //depot/projects/hammer/share/man/man4/natmip.4#2 integrate .. //depot/projects/hammer/share/man/man4/patm.4#1 branch .. //depot/projects/hammer/share/man/man4/utopia.4#2 integrate .. //depot/projects/hammer/share/man/man4/wi.4#12 integrate .. //depot/projects/hammer/share/man/man5/config.5#2 integrate .. //depot/projects/hammer/share/man/man9/Makefile#14 integrate .. //depot/projects/hammer/share/man/man9/mbpool.9#1 branch .. //depot/projects/hammer/share/man/man9/utopia.9#2 integrate .. //depot/projects/hammer/share/mk/bsd.cpu.mk#9 integrate .. //depot/projects/hammer/sys/alpha/alpha/machdep.c#14 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#45 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/biosacpi.c#3 integrate .. //depot/projects/hammer/sys/boot/pc98/boot2/asm.h#2 integrate .. //depot/projects/hammer/sys/conf/NOTES#22 integrate .. //depot/projects/hammer/sys/conf/files#23 integrate .. //depot/projects/hammer/sys/conf/options#19 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/CHANGES.txt#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acconfig.h#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acdebug.h#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acdisasm.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acevents.h#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acexcep.h#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acfreebsd.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acglobal.h#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/achware.h#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acinterp.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/aclocal.h#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acmacros.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acnamesp.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acobject.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acpi.h#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acpiosxf.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acpixf.h#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/actables.h#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/actbl.h#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/actypes.h#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/acutils.h#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbcmds.c#7 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbdisply.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbexec.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbfileio.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbinput.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbstats.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dbutils.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dmbuffer.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dmobject.c#1 branch .. //depot/projects/hammer/sys/contrib/dev/acpica/dmopcode.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dmresrc.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dmwalk.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsfield.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsinit.c#2 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsmethod.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsmthdat.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsobject.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsopcode.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dswexec.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evevent.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evgpe.c#2 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evgpeblk.c#2 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evmisc.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evregion.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evrgnini.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evsci.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evxface.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evxfevnt.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evxfregn.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exconfig.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exdump.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exfldio.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exoparg1.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exregion.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exstore.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exsystem.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exutils.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/hwacpi.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/hwgpe.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/hwregs.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/hwsleep.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/hwtimer.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsaccess.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsalloc.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsdumpdv.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsload.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsnames.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsparse.c#2 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nssearch.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsutils.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nswalk.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsxfeval.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/nsxfname.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/psargs.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/pswalk.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/psxface.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rsaddr.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rscalc.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rsio.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rsirq.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rsmemory.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rsmisc.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/rsxface.c#3 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/tbconvrt.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/tbget.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/tbgetall.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/tbinstal.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/tbutils.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/tbxface.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utcopy.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utdebug.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utdelete.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/uteval.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utglobal.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utinit.c#5 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utmisc.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utobject.c#4 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utxface.c#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#2 integrate .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdHardware.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#9 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#4 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#9 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/hammer/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/hammer/sys/dev/bge/if_bge.c#17 integrate .. //depot/projects/hammer/sys/dev/bge/if_bgereg.h#11 integrate .. //depot/projects/hammer/sys/dev/ciss/ciss.c#11 integrate .. //depot/projects/hammer/sys/dev/en/midway.c#14 integrate .. //depot/projects/hammer/sys/dev/firewire/fwdev.c#4 integrate .. //depot/projects/hammer/sys/dev/kbd/atkbd.c#6 integrate .. //depot/projects/hammer/sys/dev/kbd/atkbdcreg.h#3 integrate .. //depot/projects/hammer/sys/dev/mii/brgphy.c#9 integrate .. //depot/projects/hammer/sys/dev/mii/miidevs#5 integrate .. //depot/projects/hammer/sys/dev/patm/genrtab/Makefile#1 branch .. //depot/projects/hammer/sys/dev/patm/genrtab/genrtab.c#1 branch .. //depot/projects/hammer/sys/dev/patm/idt77252reg.h#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm_attach.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm_intr.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm_ioctl.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm_rtables.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm_rx.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patm_tx.c#1 branch .. //depot/projects/hammer/sys/dev/patm/if_patmvar.h#1 branch .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#12 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs.h#12 integrate .. //depot/projects/hammer/sys/dev/usb/ehci.c#2 integrate .. //depot/projects/hammer/sys/dev/usb/ehci_pci.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/if_aue.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/if_axe.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/if_cue.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/if_kue.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/if_rue.c#2 integrate .. //depot/projects/hammer/sys/dev/usb/ohci.c#6 integrate .. //depot/projects/hammer/sys/dev/usb/ohcireg.h#3 integrate .. //depot/projects/hammer/sys/dev/usb/ohcivar.h#3 integrate .. //depot/projects/hammer/sys/dev/usb/ubsa.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/ucom.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/udbp.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/uftdi.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/ugen.c#7 integrate .. //depot/projects/hammer/sys/dev/usb/uhci.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/uhcivar.h#4 integrate .. //depot/projects/hammer/sys/dev/usb/uhid.c#6 integrate .. //depot/projects/hammer/sys/dev/usb/uhub.c#3 integrate .. //depot/projects/hammer/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/usb.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/usb_mem.c#1 branch .. //depot/projects/hammer/sys/dev/usb/usb_mem.h#3 integrate .. //depot/projects/hammer/sys/dev/usb/usb_port.h#5 integrate .. //depot/projects/hammer/sys/dev/usb/usb_subr.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#16 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs.h#15 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs_data.h#15 integrate .. //depot/projects/hammer/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/hammer/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/hammer/sys/dev/usb/usbdi_util.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/usbdivar.h#3 integrate .. //depot/projects/hammer/sys/dev/usb/uscanner.c#6 integrate .. //depot/projects/hammer/sys/dev/usb/uvisor.c#6 integrate .. //depot/projects/hammer/sys/dev/utopia/idtphy.h#2 integrate .. //depot/projects/hammer/sys/dev/utopia/utopia.c#2 integrate .. //depot/projects/hammer/sys/dev/utopia/utopia.h#2 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi_pccard.c#13 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#18 integrate .. //depot/projects/hammer/sys/ia64/ia64/db_trace.c#7 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#21 integrate .. //depot/projects/hammer/sys/ia64/ia64/trap.c#14 integrate .. //depot/projects/hammer/sys/ia64/ia64/unwind.c#6 integrate .. //depot/projects/hammer/sys/ia64/include/ia64_cpu.h#2 integrate .. //depot/projects/hammer/sys/ia64/include/unwind.h#5 integrate .. //depot/projects/hammer/sys/isa/psm.c#10 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#14 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#6 integrate .. //depot/projects/hammer/sys/kern/kern_mtxpool.c#3 integrate .. //depot/projects/hammer/sys/kern/kern_prot.c#7 integrate .. //depot/projects/hammer/sys/kern/kern_resource.c#11 integrate .. //depot/projects/hammer/sys/kern/kern_sig.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_sx.c#3 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#33 integrate .. //depot/projects/hammer/sys/kern/subr_mbpool.c#1 branch .. //depot/projects/hammer/sys/kern/uipc_socket.c#10 integrate .. //depot/projects/hammer/sys/modules/Makefile#22 integrate .. //depot/projects/hammer/sys/modules/acpi/Makefile#6 integrate .. //depot/projects/hammer/sys/modules/libmbpool/Makefile#1 branch .. //depot/projects/hammer/sys/modules/patm/Makefile#1 branch .. //depot/projects/hammer/sys/modules/usb/Makefile#3 integrate .. //depot/projects/hammer/sys/net/if_atm.h#6 integrate .. //depot/projects/hammer/sys/net/if_atmsubr.c#10 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#15 integrate .. //depot/projects/hammer/sys/netgraph/atm/ng_atm.c#3 integrate .. //depot/projects/hammer/sys/netinet/ip_fw.h#7 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#13 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#13 integrate .. //depot/projects/hammer/sys/netinet/tcp_seq.h#3 integrate .. //depot/projects/hammer/sys/netinet/tcp_timer.c#5 integrate .. //depot/projects/hammer/sys/netinet/tcp_var.h#6 integrate .. //depot/projects/hammer/sys/netnatm/natm.c#5 integrate .. //depot/projects/hammer/sys/pc98/i386/machdep.c#16 integrate .. //depot/projects/hammer/sys/pc98/pc98/syscons.c#7 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#17 integrate .. //depot/projects/hammer/sys/sparc64/include/asmacros.h#4 integrate .. //depot/projects/hammer/sys/sparc64/include/elf.h#3 integrate .. //depot/projects/hammer/sys/sparc64/include/intr_machdep.h#3 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/exception.S#13 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/genassym.c#7 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/interrupt.S#5 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/intr_machdep.c#4 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#21 integrate .. //depot/projects/hammer/sys/sys/kernel.h#5 integrate .. //depot/projects/hammer/sys/sys/mbpool.h#1 branch .. //depot/projects/hammer/sys/sys/mutex.h#5 integrate .. //depot/projects/hammer/sys/sys/proc.h#28 integrate .. //depot/projects/hammer/sys/vm/vm_init.c#5 integrate .. //depot/projects/hammer/usr.sbin/Makefile#24 integrate .. //depot/projects/hammer/usr.sbin/apm/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/apm/apm.c#5 integrate .. //depot/projects/hammer/usr.sbin/ctm/ctm_smail/ctm_smail.c#2 integrate .. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.c#5 integrate .. //depot/projects/hammer/usr.sbin/inetd/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/inetd/inetd.c#5 integrate .. //depot/projects/hammer/usr.sbin/lpr/chkprintcap/chkprintcap.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/chkprintcap/skimprintcap.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/common.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/ctlinfo.c#3 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/ctlinfo.h#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/displayq.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/lp.cdefs.h#1 branch .. //depot/projects/hammer/usr.sbin/lpr/common_source/lp.h#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/matchjobs.c#3 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/matchjobs.h#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/net.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/printcap.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/request.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/rmjob.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/common_source/startdaemon.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/filters.ru/koi2855/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/filters.ru/koi2855/koi2855.c#3 integrate .. //depot/projects/hammer/usr.sbin/lpr/filters.ru/koi2alt/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/filters.ru/koi2alt/koi2alt.c#3 integrate .. //depot/projects/hammer/usr.sbin/lpr/filters/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/filters/lpf.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpc/cmds.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpc/cmdtab.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpc/extern.h#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpc/lpc.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpc/movejobs.c#3 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/extern.h#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/lpd.c#3 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/lpdchar.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/modes.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/printjob.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/recvjob.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpq/lpq.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpr/lpr.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lprm/lprm.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lptest/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lptest/lptest.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/pac/pac.c#2 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/config.c#5 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/menus.c#11 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/options.c#2 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/sysinstall.h#9 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/variable.c#3 integrate .. //depot/projects/hammer/usr.sbin/usbd/usbd.c#4 integrate .. //depot/projects/hammer/usr.sbin/zzz/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/zzz/zzz.8#1 branch .. //depot/projects/hammer/usr.sbin/zzz/zzz.sh#1 branch Differences ... ==== //depot/projects/hammer/MAINTAINERS#11 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.73 2003/07/07 03:54:02 gshapiro Exp $ +$FreeBSD: src/MAINTAINERS,v 1.74 2003/07/15 16:52:08 dwmalone Exp $ subsystem login notes ----------------------------- @@ -78,6 +78,7 @@ nsdispatch(3) and its consumers. unifdef(1) fanf Pre-commit review requested. ntp roberto Pre-commit review requested. +inetd dwmalone Recommends pre-commit review. Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. @@ -137,7 +138,6 @@ sys/modules/uscanner/Makefile:MAINTAINER= n_hibma@freebsd.org usr.bin/chat/Makefile:MAINTAINER= peter@freebsd.org usr.bin/locate/Makefile:MAINTAINER= wosch@FreeBSD.org -usr.sbin/inetd/Makefile:MAINTAINER= dwmalone@FreeBSD.org usr.sbin/ipftest/Makefile:MAINTAINER= darrenr@freebsd.org usr.sbin/ipresend/Makefile:MAINTAINER= darrenr@freebsd.org usr.sbin/ipsend/Makefile:MAINTAINER= darrenr@freebsd.org ==== //depot/projects/hammer/Makefile.inc1#25 (text+ko) ==== @@ -1,14 +1,14 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.380 2003/07/11 17:01:58 gordon Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.381 2003/07/14 16:21:16 gordon Exp $ # # Make command line options: # -DNO_KERBEROS Do not build Heimdal (Kerberos 5) +# -DNO_RESCUE do not build rescue binaries # -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir # -DNOCLEAN do not clean at all # -DNOCRYPT will prevent building of crypt versions # -DNOMAN do not build the manual pages # -DNOPROFILE do not build profiled libraries -# -DNORESCUE do not build rescue binaries # -DNOGAMES do not go into games subdir # -DNOSHARE do not go into share subdir # -DNOINFO do not make or install info files @@ -67,7 +67,7 @@ .if exists(${.CURDIR}/libexec) SUBDIR+= libexec .endif -.if exists(${.CURDIR}/rescue) && !defined(NORESCUE) +.if exists(${.CURDIR}/rescue) && !defined(NO_RESCUE) SUBDIR+= rescue .endif .if exists(${.CURDIR}/sbin) @@ -668,7 +668,7 @@ _yacc= usr.bin/yacc .endif -.if !defined(NORESCUE) && \ +.if !defined(NO_RESCUE) && \ ${BOOTSTRAPPING} < 501100 _crunchgen= usr.sbin/crunch/crunchgen .endif @@ -722,7 +722,7 @@ kerberos5/lib/libasn1 kerberos5/lib/libhdb kerberos5/lib/libsl .endif -.if exists(${.CURDIR}/rescue) && !defined(NORESCUE) +.if exists(${.CURDIR}/rescue) && !defined(NO_RESCUE) _rescue= rescue/rescue .endif @@ -758,7 +758,7 @@ _btxld= usr.sbin/btxld .endif -.if (!defined(NORESCUE) || \ +.if (!defined(NO_RESCUE) || \ defined(RELEASEDIR)) && \ ( ${TARGET_ARCH} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 501101 ) _crunchide= usr.sbin/crunch/crunchide ==== //depot/projects/hammer/contrib/gcc/config/i386/freebsd.h#8 (text+ko) ==== @@ -22,7 +22,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.63 2003/07/11 05:01:52 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.64 2003/07/12 19:33:34 kan Exp $ */ #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" @@ -127,11 +127,13 @@ /* FreeBSD sets the rounding precision of the FPU to 53 bits. Let the compiler get the contents of and std::numeric_limits correct. */ #define SUBTARGET_OVERRIDE_OPTIONS \ - do { if (!TARGET_64BIT) { \ - real_format_for_mode[XFmode - QFmode] \ - = &ieee_extended_intel_96_round_53_format; \ - real_format_for_mode[TFmode - QFmode] \ - = &ieee_extended_intel_96_round_53_format; } \ + do { \ + if (!TARGET_64BIT) { \ + real_format_for_mode[XFmode - QFmode] \ + = &ieee_extended_intel_96_round_53_format; \ + real_format_for_mode[TFmode - QFmode] \ + = &ieee_extended_intel_96_round_53_format; \ + } \ } while (0) /* Tell final.c that we don't need a label passed to mcount. */ ==== //depot/projects/hammer/contrib/openpam/CREDITS#5 (text) ==== @@ -17,7 +17,7 @@ Dmitry V. Levin Eric Melville Gary Winiger - Joe Marcus Clarke + Joe Marcus Clarke Juli Mallett Mark Murray Mike Petullo @@ -27,4 +27,4 @@ Solar Designer Takanori Saneto -$P4: //depot/projects/openpam/CREDITS#8 $ +$P4: //depot/projects/openpam/CREDITS#9 $ ==== //depot/projects/hammer/contrib/openpam/HISTORY#6 (text) ==== @@ -1,3 +1,24 @@ +OpenPAM Dogwood 2003-07-15 + + - ENHANCE: Use the GNU autotools. + + - ENHANCE: Constify the msg field in struct pam_message. + + - BUGFIX: Remove left-over debugging output + + - BUGFIX: Avoid side effects in arguments to the FREE() macro + + - ENHANCE: Make openpam_ttyconv(3) use read(2) rather than fgets(3). + + - BUGFIX: Staticize some variables which shouldn't be global. + + - BUGFIX: Correcly anticipate a NULL user in pam_get_user(3). + + - ENHANCE: Various minor documentation improvements. + +Thanks to Dmitry V. Levin for considerable +assistance with this release. +============================================================================ OpenPAM Digitalis 2003-06-01 - ENHANCE: Completely rewrite the configuration parser and add @@ -242,4 +263,4 @@ First (beta) release. ============================================================================ -$P4: //depot/projects/openpam/HISTORY#19 $ +$P4: //depot/projects/openpam/HISTORY#21 $ ==== //depot/projects/hammer/contrib/openpam/INSTALL#3 (text) ==== @@ -4,22 +4,49 @@ 1. REQUIREMENTS - This release of OpenPAM is targeted at FreeBSD-CURRENT, and has not - been tested on other platforms. It should, however, build with - little or no trouble other BSDs such as BSDI, Darwin, NetBSD or - OpenBSD, and should not prove much of a challenge to port to other - platforms, except for the static linking support. + See the release notes for a list of platforms OpenPAM has been + tested on. + + You will need the GNU autotools, GNU make and the GNU compiler suite + to build OpenPAM. On some platforms, you may have to install these + separately. 2. CONFIGURATION - No configuration is necessary or possible at this time. + Use the "configure" shell script to configure OpenPAM for your + system. Options include: + + --with-modules-dir=DIR + Indicates the directory where PAM modules will be installed. + This option should not be used if you intend to install PAM + modules in the system library directory. + + --with-pam-su + Builds the sample PAM application. + + --with-pam-unix + Builds the sample PAM module. + + For more information about configuration options, use the --help + option. + + A typical invocation might look like this: + + # ./configure --with-pam-su --with-pam-unix 3. COMPILATION - Change into the top-level OpenPAM directory and run 'make'. + To compile OpenPAM, simply run "make" (or "gmake" on platforms where + "make" is not GNU make) in the top-level OpenPAM directory: + + # make 4. INSTALLATION - - Change into the top-level OpenPAM directory and run 'make install'. + + To install OpenPAM, simply run "make install" (or "gmake install" on + platforms where "make" is not GNU make) in the top-level OpenPAM + directory: + + # make install -$P4: //depot/projects/openpam/INSTALL#2 $ +$P4: //depot/projects/openpam/INSTALL#4 $ ==== //depot/projects/hammer/contrib/openpam/MANIFEST#5 (text) ==== @@ -1,21 +1,42 @@ # -# $P4: //depot/projects/openpam/MANIFEST#16 $ +# $P4: //depot/projects/openpam/MANIFEST#18 $ # CREDITS HISTORY INSTALL LICENSE MANIFEST -Makefile -Makefile.inc +Makefile.am +Makefile.in README RELNOTES -bin/Makefile -bin/Makefile.inc -bin/su/Makefile +aclocal.m4 +autogen.sh +config.guess +config.h.in +config.sub +configure +configure.in +depcomp +install-sh +ltconfig +ltmain.sh +missing +mkinstalldirs +stamp-h.in +bin/ +bin/Makefile.am +bin/Makefile.in +bin/su/ +bin/su/Makefile.am +bin/su/Makefile.in bin/su/su.c -doc/Makefile -doc/man/Makefile +doc/ +doc/Makefile.am +doc/Makefile.in +doc/man/ +doc/man/Makefile.am +doc/man/Makefile.in doc/man/openpam.3 doc/man/openpam.man doc/man/openpam_borrow_cred.3 @@ -61,13 +82,21 @@ doc/man/pam_verror.3 doc/man/pam_vinfo.3 doc/man/pam_vprompt.3 +include/ +include/Makefile.am +include/Makefile.in +include/security/ +include/security/Makefile.am +include/security/Makefile.in include/security/openpam.h include/security/openpam_version.h include/security/pam_appl.h include/security/pam_constants.h include/security/pam_modules.h include/security/pam_types.h -lib/Makefile +lib/ +lib/Makefile.am +lib/Makefile.in lib/openpam_borrow_cred.c lib/openpam_configure.c lib/openpam_dispatch.c @@ -125,11 +154,20 @@ lib/pam_verror.c lib/pam_vinfo.c lib/pam_vprompt.c +misc/ misc/gendoc.pl -modules/Makefile -modules/pam_deny/Makefile +modules/ +modules/Makefile.am +modules/Makefile.in +modules/pam_deny/ +modules/pam_deny/Makefile.am +modules/pam_deny/Makefile.in modules/pam_deny/pam_deny.c -modules/pam_permit/Makefile +modules/pam_permit/ +modules/pam_permit/Makefile.am +modules/pam_permit/Makefile.in modules/pam_permit/pam_permit.c -modules/pam_unix/Makefile +modules/pam_unix/ +modules/pam_unix/Makefile.am +modules/pam_unix/Makefile.in modules/pam_unix/pam_unix.c ==== //depot/projects/hammer/contrib/openpam/RELNOTES#6 (text) ==== @@ -1,18 +1,13 @@ - Release notes for OpenPAM Digitalis - =================================== + Release notes for OpenPAM Dogwood + ================================= -This release incorporates several major changes and improvements and -should be considered BETA QUALITY. - This release corresponds to the code used in FreeBSD-CURRENT as of the -release date. It is also known to build cleanly on NetBSD 1.6, -OpenBSD 3.1, and a number of glibc-based Linux platforms (with BSD -make installed). It may or may not build on other platforms; you will -need a BSD-compatible make(1) (NetBSD's make(1) is easy to port to -most POSIX platforms). Previous versions were successfully built on -MacOS X 10.1, but there seem to be issues with the heavily modified -version of GCC 3.1 that ships with MacOS X 10.2. +release date. It has also been tested on several other platforms, and +is expected to work on almost any POSIX-like platform that has GNU +autotools, GNU make and the GNU compiler suite installed. One notable +exception is MacOS X, which ships with a very weird, heavily modified +version of GCC. The library itself is complete. Documentation exists in the form of man pages for the library functions. These man pages are generated by @@ -31,4 +26,4 @@ Please direct bug reports and inquiries to des@freebsd.org. -$P4: //depot/projects/openpam/RELNOTES#18 $ +$P4: //depot/projects/openpam/RELNOTES#19 $ ==== //depot/projects/hammer/contrib/openpam/doc/man/openpam.3#6 (text) ==== @@ -33,7 +33,7 @@ .\" .\" $P4$ .\" -.Dd June 1, 2003 +.Dd July 15, 2003 .Dt OPENPAM 3 .Os .Sh NAME @@ -59,39 +59,39 @@ .Lb libpam .Sh SYNOPSIS .In security/openpam.h -.Ft int +.Ft "int" .Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" -.Ft void +.Ft "void" .Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" -.Ft const char * +.Ft "const char *" .Fn openpam_get_option "pam_handle_t *pamh" "const char *option" -.Ft void +.Ft "void" .Fn openpam_log "int level" "const char *fmt" "..." -.Ft int +.Ft "int" .Fn openpam_nullconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" -.Ft char * +.Ft "char *" .Fn openpam_readline "FILE *f" "int *lineno" "size_t *lenp" -.Ft int +.Ft "int" .Fn openpam_restore_cred "pam_handle_t *pamh" -.Ft int +.Ft "int" .Fn openpam_set_option "pam_handle_t *pamh" "const char *option" "const char *value" -.Ft int +.Ft "int" .Fn openpam_ttyconv "int n" "const struct pam_message **msg" "struct pam_response **resp" "void *data" -.Ft int +.Ft "int" .Fn pam_error "pam_handle_t *pamh" "const char *fmt" "..." -.Ft int +.Ft "int" .Fn pam_get_authtok "pam_handle_t *pamh" "int item" "const char **authtok" "const char *prompt" -.Ft int +.Ft "int" .Fn pam_info "pam_handle_t *pamh" "const char *fmt" "..." -.Ft int +.Ft "int" .Fn pam_prompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "..." -.Ft int +.Ft "int" .Fn pam_setenv "pam_handle_t *pamh" "const char *name" "const char *value" "int overwrite" -.Ft int +.Ft "int" .Fn pam_verror "pam_handle_t *pamh" "const char *fmt" "va_list ap" -.Ft int +.Ft "int" .Fn pam_vinfo "pam_handle_t *pamh" "const char *fmt" "va_list ap" -.Ft int +.Ft "int" .Fn pam_vprompt "pam_handle_t *pamh" "int style" "char **resp" "const char *fmt" "va_list ap" .\" .\" $P4: //depot/projects/openpam/doc/man/openpam.man#1 $ @@ -130,8 +130,9 @@ .Re .Sh AUTHORS The OpenPAM library and this manual page were developed for the -FreeBSD Project by ThinkSec AS and Network Associates Laboratories, -the Security Research Division of Network Associates, Inc. under +.Fx +Project by ThinkSec AS and Network Associates Laboratories, the +Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. ==== //depot/projects/hammer/contrib/openpam/doc/man/openpam_borrow_cred.3#6 (text) ==== @@ -33,7 +33,7 @@ .\" .\" $P4$ .\" -.Dd June 1, 2003 +.Dd July 15, 2003 .Dt OPENPAM_BORROW_CRED 3 .Os .Sh NAME @@ -45,7 +45,7 @@ .In sys/types.h .In security/pam_appl.h .In security/openpam.h -.Ft int +.Ft "int" .Fn openpam_borrow_cred "pam_handle_t *pamh" "const struct passwd *pwd" .Sh DESCRIPTION The @@ -84,9 +84,10 @@ .Sh AUTHORS The .Nm -function and this manual page were developed for the FreeBSD Project -by ThinkSec AS and Network Associates Laboratories, the Security -Research Division of Network Associates, Inc. under DARPA/SPAWAR -contract N66001-01-C-8035 +function and this manual page were developed for the +.Fx +Project by ThinkSec AS and Network Associates Laboratories, the +Security Research Division of Network Associates, Inc. under +DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. ==== //depot/projects/hammer/contrib/openpam/doc/man/openpam_free_data.3#6 (text) ==== @@ -33,7 +33,7 @@ .\" .\" $P4$ .\" -.Dd June 1, 2003 +.Dd July 15, 2003 .Dt OPENPAM_FREE_DATA 3 .Os .Sh NAME @@ -45,7 +45,7 @@ .In sys/types.h .In security/pam_appl.h .In security/openpam.h -.Ft void +.Ft "void" .Fn openpam_free_data "pam_handle_t *pamh" "void *data" "int status" .Sh DESCRIPTION The @@ -67,9 +67,10 @@ .Sh AUTHORS The .Nm -function and this manual page were developed for the FreeBSD Project >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 31 10:48:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53F5437B401; Thu, 31 Jul 2003 10:48:35 -0700 (PDT) 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 B1E6437B401 for ; Thu, 31 Jul 2003 10:48:33 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F48243FA3 for ; Thu, 31 Jul 2003 10:48:33 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6VHmX0U087907 for ; Thu, 31 Jul 2003 10:48:33 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6VHmW1g087904 for perforce@freebsd.org; Thu, 31 Jul 2003 10:48:32 -0700 (PDT) Date: Thu, 31 Jul 2003 10:48:32 -0700 (PDT) Message-Id: <200307311748.h6VHmW1g087904@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35273 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: Thu, 31 Jul 2003 17:48:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=35273 Change 35273 by rwatson@rwatson_tislabs on 2003/07/31 10:48:05 The MAC Framework does a suser check for interface relabeling already, so simply do a Biba privilege check to determine whether an interface relabel request is permitted. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#217 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#217 (text+ko) ==== @@ -1550,25 +1550,6 @@ if (error) return (error); - /* - * If the Biba label is to be changed, authorize as appropriate. - */ - if (new->mb_flags & MAC_BIBA_FLAGS_BOTH) { - /* - * Rely on the traditional superuser status for the Biba - * interface relabel requirements. XXXMAC: This will go - * away. - */ - error = suser_cred(cred, 0); - if (error) - return (EPERM); - - /* - * XXXMAC: Additional consistency tests regarding the single - * and the range of the new label might be performed here. - */ - } - return (0); } From owner-p4-projects@FreeBSD.ORG Thu Jul 31 11:38:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE48337B404; Thu, 31 Jul 2003 11:38:34 -0700 (PDT) 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 76D7E37B401 for ; Thu, 31 Jul 2003 11:38:34 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 132C243F93 for ; Thu, 31 Jul 2003 11:38:34 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6VIcX0U091059 for ; Thu, 31 Jul 2003 11:38:33 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6VIcXJM091056 for perforce@freebsd.org; Thu, 31 Jul 2003 11:38:33 -0700 (PDT) Date: Thu, 31 Jul 2003 11:38:33 -0700 (PDT) Message-Id: <200307311838.h6VIcXJM091056@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35274 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: Thu, 31 Jul 2003 18:38:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=35274 Change 35274 by rwatson@rwatson_tislabs on 2003/07/31 11:37:45 Diff reduction against trustedbsd base. Affected files ... .. //depot/projects/trustedbsd/mac/sys/Makefile#8 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/Makefile#8 (text+ko) ==== @@ -8,31 +8,6 @@ SUBDIR+=modules .endif -.for arch in alpha ia64 powerpc sparc64 -.if ${MACHINE_ARCH} != "${arch}" -SKIPARCHS+= ${arch} -.endif -.endfor -.if ${MACHINE_ARCH} == "i386" -SKIPARCHS+= pc98 -.elif ${MACHINE_ARCH} == "pc98" -.else -SKIPARCHS+= i386 -SKIPARCHS+= pc98 -.endif -SKIPPATTERN:=\./boot -.for arch in ${SKIPARCHS} -SKIPPATTERN:=${SKIPPATTERN}|\./${arch} -.endfor -ctags: - rm -f ${.CURDIR}/tags - touch ${.CURDIR}/tags - cd ${.CURDIR}; \ - find -E . -type d -mindepth 1 -maxdepth 1 \ - ! -regex "${SKIPPATTERN}" | \ - xargs -J {} find {} -name "*.[lych]" | \ - xargs ctags -a -f ${.CURDIR}/tags - HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh` .include From owner-p4-projects@FreeBSD.ORG Thu Jul 31 11:45:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA03E37B404; Thu, 31 Jul 2003 11:45:46 -0700 (PDT) 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 46C2637B401 for ; Thu, 31 Jul 2003 11:45:44 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C8AE743F75 for ; Thu, 31 Jul 2003 11:45:43 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6VIjh0U091400 for ; Thu, 31 Jul 2003 11:45:43 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6VIjhS2091397 for perforce@freebsd.org; Thu, 31 Jul 2003 11:45:43 -0700 (PDT) Date: Thu, 31 Jul 2003 11:45:43 -0700 (PDT) Message-Id: <200307311845.h6VIjhS2091397@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 35276 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: Thu, 31 Jul 2003 18:45:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=35276 Change 35276 by jhb@jhb_laptop on 2003/07/31 11:45:34 Use td_oncpu rather than ke_oncpu. Affected files ... .. //depot/projects/smpng/sys/kern/subr_witness.c#101 edit Differences ... ==== //depot/projects/smpng/sys/kern/subr_witness.c#101 (text+ko) ==== @@ -1617,10 +1617,9 @@ struct lock_instance *instance; struct pcpu *pc; - if (owner->td_critnest == 0 || owner->td_kse != NULL || - owner->td_kse->ke_oncpu == NOCPU) + if (owner->td_critnest == 0 || owner->td_oncpu == NOCPU) return; - pc = pcpu_find(owner->td_kse->ke_oncpu); + pc = pcpu_find(owner->td_oncpu); instance = find_instance(pc->pc_spinlocks, lock); if (instance != NULL) witness_list_lock(instance); From owner-p4-projects@FreeBSD.ORG Thu Jul 31 12:37:58 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00DF037B404; Thu, 31 Jul 2003 12:37:57 -0700 (PDT) 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 8986837B401 for ; Thu, 31 Jul 2003 12:37:57 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1364443F75 for ; Thu, 31 Jul 2003 12:37:56 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6VJbt0U094360 for ; Thu, 31 Jul 2003 12:37:55 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6VJbqLm094357 for perforce@freebsd.org; Thu, 31 Jul 2003 12:37:52 -0700 (PDT) Date: Thu, 31 Jul 2003 12:37:52 -0700 (PDT) Message-Id: <200307311937.h6VJbqLm094357@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 35280 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: Thu, 31 Jul 2003 19:37:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=35280 Change 35280 by jhb@jhb_laptop on 2003/07/31 12:37:29 IFC @35277. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#20 integrate .. //depot/projects/smpng/sys/alpha/alpha/machdep.c#60 integrate .. //depot/projects/smpng/sys/alpha/alpha/mp_machdep.c#20 integrate .. //depot/projects/smpng/sys/alpha/alpha/pmap.c#49 integrate .. //depot/projects/smpng/sys/alpha/alpha/support.s#8 integrate .. //depot/projects/smpng/sys/alpha/alpha/vm_machdep.c#25 integrate .. //depot/projects/smpng/sys/alpha/conf/GENERIC#31 integrate .. //depot/projects/smpng/sys/alpha/conf/NOTES#6 integrate .. //depot/projects/smpng/sys/alpha/include/alpha_cpu.h#6 integrate .. //depot/projects/smpng/sys/alpha/include/bus.h#12 integrate .. //depot/projects/smpng/sys/alpha/include/param.h#7 integrate .. //depot/projects/smpng/sys/alpha/include/ucontext.h#5 integrate .. //depot/projects/smpng/sys/amd64/acpica/OsdEnvironment.c#3 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/amd64-gdbstub.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/smpng/sys/amd64/amd64/atomic.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/autoconf.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#5 integrate .. //depot/projects/smpng/sys/amd64/amd64/critical.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/db_disasm.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/db_interface.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#3 integrate .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#6 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/smpng/sys/amd64/amd64/in_cksum.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/initcpu.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#11 integrate .. //depot/projects/smpng/sys/amd64/amd64/mem.c#4 integrate .. //depot/projects/smpng/sys/amd64/amd64/nexus.c#5 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/smpng/sys/amd64/amd64/trap.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/tsc.c#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#6 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_genassym.c#2 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_misc.c#2 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_signal.c#3 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_syscall.c#3 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_sysvec.c#4 integrate .. //depot/projects/smpng/sys/amd64/include/bus_dma.h#6 integrate .. //depot/projects/smpng/sys/amd64/include/ieeefp.h#2 integrate .. //depot/projects/smpng/sys/amd64/include/npx.h#3 integrate .. //depot/projects/smpng/sys/amd64/include/param.h#5 integrate .. //depot/projects/smpng/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/smpng/sys/amd64/isa/intr_machdep.c#2 integrate .. //depot/projects/smpng/sys/amd64/isa/isa.c#2 integrate .. //depot/projects/smpng/sys/amd64/isa/isa_dma.c#2 integrate .. //depot/projects/smpng/sys/amd64/isa/ithread.c#2 integrate .. //depot/projects/smpng/sys/amd64/isa/npx.c#2 integrate .. //depot/projects/smpng/sys/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/smpng/sys/amd64/pci/pci_cfgreg.c#2 integrate .. //depot/projects/smpng/sys/cam/cam_ccb.h#4 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#18 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#42 integrate .. //depot/projects/smpng/sys/coda/coda_fbsd.c#6 integrate .. //depot/projects/smpng/sys/coda/coda_vnops.c#12 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#29 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#40 integrate .. //depot/projects/smpng/sys/conf/NOTES#50 integrate .. //depot/projects/smpng/sys/conf/files#83 integrate .. //depot/projects/smpng/sys/conf/files.alpha#23 integrate .. //depot/projects/smpng/sys/conf/files.i386#43 integrate .. //depot/projects/smpng/sys/conf/files.pc98#44 integrate .. //depot/projects/smpng/sys/conf/kern.post.mk#23 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#22 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#20 integrate .. //depot/projects/smpng/sys/conf/newvers.sh#7 integrate .. //depot/projects/smpng/sys/conf/options#57 integrate .. //depot/projects/smpng/sys/conf/options.i386#30 integrate .. //depot/projects/smpng/sys/conf/options.pc98#31 integrate .. //depot/projects/smpng/sys/contrib/dev/acpica/dbcmds.c#15 integrate .. //depot/projects/smpng/sys/ddb/db_command.c#15 integrate .. //depot/projects/smpng/sys/ddb/db_output.c#8 integrate .. //depot/projects/smpng/sys/ddb/db_ps.c#22 integrate .. //depot/projects/smpng/sys/ddb/ddb.h#9 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#45 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_button.c#8 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#19 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_isab.c#3 integrate .. //depot/projects/smpng/sys/dev/acpica/acpivar.h#27 integrate .. //depot/projects/smpng/sys/dev/ahb/ahb.c#9 integrate .. //depot/projects/smpng/sys/dev/amd/amd.c#7 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#10 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#30 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#17 integrate .. //depot/projects/smpng/sys/dev/buslogic/bt.c#11 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#16 integrate .. //depot/projects/smpng/sys/dev/em/if_em.h#16 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep.c#8 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep_eisa.c#4 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep_isa.c#4 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep_mca.c#3 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep_pccard.c#8 integrate .. //depot/projects/smpng/sys/dev/ep/if_epreg.h#2 integrate .. //depot/projects/smpng/sys/dev/ep/if_epvar.h#3 integrate .. //depot/projects/smpng/sys/dev/fatm/if_fatm.c#4 integrate .. //depot/projects/smpng/sys/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#22 integrate .. //depot/projects/smpng/sys/dev/firewire/fwdma.c#4 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci.c#20 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#16 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohcireg.h#8 integrate .. //depot/projects/smpng/sys/dev/firewire/if_fwe.c#12 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#22 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#42 integrate .. //depot/projects/smpng/sys/dev/harp/if_harp.c#1 branch .. //depot/projects/smpng/sys/dev/hatm/if_hatm.c#4 integrate .. //depot/projects/smpng/sys/dev/hatm/if_hatm_ioctl.c#3 integrate .. //depot/projects/smpng/sys/dev/hatm/if_hatm_tx.c#3 integrate .. //depot/projects/smpng/sys/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/smpng/sys/dev/hea/eni_if.c#3 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_aali.h#2 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_command.c#5 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_if.c#3 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_init.c#4 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_intr.c#2 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_output.c#6 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_var.h#4 integrate .. //depot/projects/smpng/sys/dev/hfa/fore_vcm.c#2 integrate .. //depot/projects/smpng/sys/dev/hfa/hfa_freebsd.c#5 integrate .. //depot/projects/smpng/sys/dev/hfa/hfa_freebsd.h#2 integrate .. //depot/projects/smpng/sys/dev/ie/if_ie.c#6 integrate .. //depot/projects/smpng/sys/dev/lnc/if_lnc.c#7 integrate .. //depot/projects/smpng/sys/dev/md/md.c#39 integrate .. //depot/projects/smpng/sys/dev/patm/if_patm.c#2 integrate .. //depot/projects/smpng/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/smpng/sys/dev/patm/if_patm_rx.c#2 integrate .. //depot/projects/smpng/sys/dev/patm/if_patm_tx.c#2 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#28 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs.h#28 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#30 integrate .. //depot/projects/smpng/sys/dev/pdq/if_fea.c#6 integrate .. //depot/projects/smpng/sys/dev/raidframe/rf_freebsdkintf.c#9 integrate .. //depot/projects/smpng/sys/dev/rp/rp.c#12 integrate .. //depot/projects/smpng/sys/dev/safe/safe.c#1 branch .. //depot/projects/smpng/sys/dev/safe/safereg.h#1 branch .. //depot/projects/smpng/sys/dev/safe/safevar.h#1 branch .. //depot/projects/smpng/sys/dev/syscons/dragon/dragon_saver.c#2 integrate .. //depot/projects/smpng/sys/dev/syscons/fire/fire_saver.c#3 integrate .. //depot/projects/smpng/sys/dev/syscons/logo/logo_saver.c#4 integrate .. //depot/projects/smpng/sys/dev/syscons/warp/warp_saver.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/umass.c#27 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mem.c#2 integrate .. //depot/projects/smpng/sys/dev/utopia/utopia.c#3 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#54 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#21 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi_pci.c#14 integrate .. //depot/projects/smpng/sys/dev/wi/if_wivar.h#15 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vfsops.c#19 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#20 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_subr.c#14 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vfsops.c#18 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_io.c#9 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#13 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vfsops.c#19 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vnops.c#20 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vfsops.c#10 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_subr.c#15 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vnops.c#11 integrate .. //depot/projects/smpng/sys/geom/geom_ccd.c#5 integrate .. //depot/projects/smpng/sys/geom/geom_mbr.c#23 integrate .. //depot/projects/smpng/sys/gnu/ext2fs/ext2_vfsops.c#23 integrate .. //depot/projects/smpng/sys/gnu/i386/fpemul/Changelog#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/README#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/control_w.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/div_small.s#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/errors.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/exception.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_arith.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_asm.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_aux.c#4 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_emu.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_entry.c#5 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_etc.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_proto.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_system.h#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/fpu_trig.c#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/get_address.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/load_store.c#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/math_emu.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_2xm1.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_atan.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_div.s#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_l2.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_mul64.s#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_sin.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/poly_tan.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/polynomial.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_add_sub.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_compare.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_constant.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_constant.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_div.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_ld_str.c#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_mul.c#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_norm.s#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_round.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_u_add.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_u_div.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_u_mul.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/reg_u_sub.s#3 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/status_w.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/version.h#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/wm_shrx.s#2 delete .. //depot/projects/smpng/sys/gnu/i386/fpemul/wm_sqrt.s#3 delete .. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#18 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#61 integrate .. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#23 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#22 integrate .. //depot/projects/smpng/sys/i386/i386/locore.s#18 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#63 integrate .. //depot/projects/smpng/sys/i386/i386/math_emu.h#3 delete .. //depot/projects/smpng/sys/i386/i386/math_emulate.c#9 delete .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#49 integrate .. //depot/projects/smpng/sys/i386/i386/mpapic.c#14 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#43 integrate .. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#31 integrate .. //depot/projects/smpng/sys/i386/i386/trap.c#60 integrate .. //depot/projects/smpng/sys/i386/ibcs2/imgact_coff.c#15 integrate .. //depot/projects/smpng/sys/i386/include/apic.h#9 integrate .. //depot/projects/smpng/sys/i386/include/asm.h#5 integrate .. //depot/projects/smpng/sys/i386/include/bus_dma.h#8 integrate .. //depot/projects/smpng/sys/i386/include/cpufunc.h#23 integrate .. //depot/projects/smpng/sys/i386/include/frame.h#3 integrate .. //depot/projects/smpng/sys/i386/include/pcpu.h#7 integrate .. //depot/projects/smpng/sys/i386/isa/npx.c#35 integrate .. //depot/projects/smpng/sys/i386/isa/pcvt/pcvt_hdr.h#4 integrate .. //depot/projects/smpng/sys/i386/isa/vesa.c#9 integrate .. //depot/projects/smpng/sys/i4b/capi/iavc/iavc.h#2 integrate .. //depot/projects/smpng/sys/i4b/capi/iavc/iavc_lli.c#7 integrate .. //depot/projects/smpng/sys/ia64/conf/SKI#14 integrate .. //depot/projects/smpng/sys/ia64/ia64/busdma_machdep.c#19 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#61 integrate .. //depot/projects/smpng/sys/ia64/ia64/mem.c#13 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#22 integrate .. //depot/projects/smpng/sys/ia64/ia64/pmap.c#50 integrate .. //depot/projects/smpng/sys/ia64/ia64/trap.c#53 integrate .. //depot/projects/smpng/sys/ia64/ia64/vm_machdep.c#29 integrate .. //depot/projects/smpng/sys/ia64/include/_regset.h#3 integrate .. //depot/projects/smpng/sys/ia64/include/acpica_machdep.h#2 integrate .. //depot/projects/smpng/sys/ia64/include/bus.h#12 integrate .. //depot/projects/smpng/sys/ia64/include/cpu.h#15 integrate .. //depot/projects/smpng/sys/ia64/include/param.h#11 integrate .. //depot/projects/smpng/sys/ia64/include/setjmp.h#7 integrate .. //depot/projects/smpng/sys/isofs/cd9660/cd9660_vfsops.c#21 integrate .. //depot/projects/smpng/sys/kern/init_main.c#37 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#31 integrate .. //depot/projects/smpng/sys/kern/kern_acct.c#30 integrate .. //depot/projects/smpng/sys/kern/kern_alq.c#5 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#50 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#61 integrate .. //depot/projects/smpng/sys/kern/kern_ktr.c#22 integrate .. //depot/projects/smpng/sys/kern/kern_ktrace.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#31 integrate .. //depot/projects/smpng/sys/kern/kern_malloc.c#24 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#72 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#55 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#74 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#41 integrate .. //depot/projects/smpng/sys/kern/kern_umtx.c#7 integrate .. //depot/projects/smpng/sys/kern/link_elf.c#22 integrate .. //depot/projects/smpng/sys/kern/md5c.c#5 integrate .. //depot/projects/smpng/sys/kern/subr_autoconf.c#4 integrate .. //depot/projects/smpng/sys/kern/subr_mbuf.c#36 integrate .. //depot/projects/smpng/sys/kern/subr_prf.c#31 integrate .. //depot/projects/smpng/sys/kern/subr_trap.c#56 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#102 integrate .. //depot/projects/smpng/sys/kern/sys_pipe.c#31 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#31 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#30 integrate .. //depot/projects/smpng/sys/kern/tty_cons.c#21 integrate .. //depot/projects/smpng/sys/kern/tty_subr.c#6 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf.c#20 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#39 integrate .. //depot/projects/smpng/sys/kern/uipc_socket2.c#25 integrate .. //depot/projects/smpng/sys/kern/vfs_cluster.c#27 integrate .. //depot/projects/smpng/sys/kern/vfs_export.c#11 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#57 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#60 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#40 integrate .. //depot/projects/smpng/sys/kern/vnode_if.src#15 integrate .. //depot/projects/smpng/sys/libkern/scanc.c#3 integrate .. //depot/projects/smpng/sys/modules/Makefile#58 integrate .. //depot/projects/smpng/sys/modules/cam/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/fpu/Makefile#3 delete .. //depot/projects/smpng/sys/modules/gnufpu/Makefile#3 delete .. //depot/projects/smpng/sys/modules/harp/Makefile#1 branch .. //depot/projects/smpng/sys/modules/safe/Makefile#1 branch .. //depot/projects/smpng/sys/net/if.c#35 integrate .. //depot/projects/smpng/sys/net/if_atm.h#8 integrate .. //depot/projects/smpng/sys/net/if_atmsubr.c#13 integrate .. //depot/projects/smpng/sys/net/if_media.h#10 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#14 integrate .. //depot/projects/smpng/sys/net/route.h#11 integrate .. //depot/projects/smpng/sys/net80211/ieee80211.c#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/smpng/sys/netatm/atm_cm.c#12 integrate .. //depot/projects/smpng/sys/netatm/atm_device.c#9 integrate .. //depot/projects/smpng/sys/netatm/atm_if.c#11 integrate .. //depot/projects/smpng/sys/netatm/atm_if.h#8 integrate .. //depot/projects/smpng/sys/netatm/atm_ioctl.h#4 integrate .. //depot/projects/smpng/sys/netatm/atm_proto.c#5 integrate .. //depot/projects/smpng/sys/netatm/atm_socket.c#9 integrate .. //depot/projects/smpng/sys/netatm/atm_subr.c#14 integrate .. //depot/projects/smpng/sys/netatm/atm_usrreq.c#10 integrate .. //depot/projects/smpng/sys/netatm/atm_var.h#11 integrate .. //depot/projects/smpng/sys/netatm/atm_vc.h#2 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_if.c#8 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_input.c#6 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_load.c#6 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_output.c#4 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_usrreq.c#5 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_var.h#5 integrate .. //depot/projects/smpng/sys/netatm/ipatm/ipatm_vcm.c#6 integrate .. //depot/projects/smpng/sys/netatm/sigpvc/sigpvc_if.c#6 integrate .. //depot/projects/smpng/sys/netatm/spans/spans_arp.c#7 integrate .. //depot/projects/smpng/sys/netatm/spans/spans_cls.c#7 integrate .. //depot/projects/smpng/sys/netatm/spans/spans_if.c#6 integrate .. //depot/projects/smpng/sys/netatm/spans/spans_proto.c#7 integrate .. //depot/projects/smpng/sys/netatm/spans/spans_var.h#5 integrate .. //depot/projects/smpng/sys/netatm/uni/sscf_uni.c#7 integrate .. //depot/projects/smpng/sys/netatm/uni/sscf_uni_lower.c#5 integrate .. //depot/projects/smpng/sys/netatm/uni/sscf_uni_var.h#4 integrate .. //depot/projects/smpng/sys/netatm/uni/sscop.c#7 integrate .. //depot/projects/smpng/sys/netatm/uni/sscop_pdu.c#6 integrate .. //depot/projects/smpng/sys/netatm/uni/sscop_var.h#5 integrate .. //depot/projects/smpng/sys/netatm/uni/uniarp.c#7 integrate .. //depot/projects/smpng/sys/netatm/uni/uniarp_cache.c#6 integrate .. //depot/projects/smpng/sys/netatm/uni/uniarp_input.c#4 integrate .. //depot/projects/smpng/sys/netatm/uni/uniarp_vcm.c#5 integrate .. //depot/projects/smpng/sys/netatm/uni/uniip.c#8 integrate .. //depot/projects/smpng/sys/netatm/uni/uniip_var.h#4 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_decode.c#8 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_if.c#6 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_msg.c#6 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_proto.c#3 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_subr.c#6 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_var.h#5 integrate .. //depot/projects/smpng/sys/netatm/uni/unisig_vc_state.c#7 integrate .. //depot/projects/smpng/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/smpng/sys/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/smpng/sys/netinet/ip_dummynet.c#19 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#37 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#39 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#26 integrate .. //depot/projects/smpng/sys/netinet6/ip6_fw.c#11 integrate .. //depot/projects/smpng/sys/netncp/ncp_ncp.c#10 integrate .. //depot/projects/smpng/sys/netsmb/smb_conn.h#7 integrate .. //depot/projects/smpng/sys/netsmb/smb_usr.c#4 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#27 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#31 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#35 integrate .. //depot/projects/smpng/sys/pc98/conf/NOTES#10 integrate .. //depot/projects/smpng/sys/pc98/i386/machdep.c#57 integrate .. //depot/projects/smpng/sys/pc98/pc98/pc98gdc.c#8 integrate .. //depot/projects/smpng/sys/pci/if_dc.c#42 integrate .. //depot/projects/smpng/sys/pci/if_dcreg.h#17 integrate .. //depot/projects/smpng/sys/pci/if_rl.c#34 integrate .. //depot/projects/smpng/sys/pci/if_sis.c#29 integrate .. //depot/projects/smpng/sys/pci/if_sisreg.h#8 integrate .. //depot/projects/smpng/sys/pci/if_xl.c#32 integrate .. //depot/projects/smpng/sys/pci/ncr.c#11 integrate .. //depot/projects/smpng/sys/powerpc/include/bus.h#12 integrate .. //depot/projects/smpng/sys/powerpc/include/param.h#8 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#14 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/machdep.c#42 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/pmap.c#30 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/vm_machdep.c#26 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#17 integrate .. //depot/projects/smpng/sys/sparc64/include/bus.h#19 integrate .. //depot/projects/smpng/sys/sparc64/include/cache.h#8 integrate .. //depot/projects/smpng/sys/sparc64/include/param.h#13 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/bus_machdep.c#20 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/genassym.c#31 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/iommu.c#20 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#54 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#41 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/vm_machdep.c#34 integrate .. //depot/projects/smpng/sys/sys/cdefs.h#20 integrate .. //depot/projects/smpng/sys/sys/kse.h#12 integrate .. //depot/projects/smpng/sys/sys/lock.h#27 integrate .. //depot/projects/smpng/sys/sys/param.h#45 integrate .. //depot/projects/smpng/sys/sys/proc.h#95 integrate .. //depot/projects/smpng/sys/sys/socketvar.h#30 integrate .. //depot/projects/smpng/sys/sys/syscall.h#31 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#31 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#33 integrate .. //depot/projects/smpng/sys/sys/systm.h#43 integrate .. //depot/projects/smpng/sys/sys/vnode.h#35 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#43 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#21 integrate .. //depot/projects/smpng/sys/ufs/ufs/extattr.h#5 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_extattr.c#26 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_quota.c#20 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#30 integrate .. //depot/projects/smpng/sys/vm/swap_pager.c#29 integrate .. //depot/projects/smpng/sys/vm/swap_pager.h#10 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#33 integrate .. //depot/projects/smpng/sys/vm/uma_int.h#15 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#16 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#30 integrate .. //depot/projects/smpng/sys/vm/vm_kern.c#16 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#41 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#41 integrate .. //depot/projects/smpng/sys/vm/vm_swap.c#25 delete Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#20 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.42 2003/07/01 21:20:51 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.43 2003/07/27 13:52:09 mux Exp $"); #include #include @@ -413,24 +413,29 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = &nobounce_dmamap; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa(Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -894,13 +899,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/smpng/sys/alpha/alpha/machdep.c#60 (text+ko) ==== @@ -88,10 +88,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.205 2003/07/15 00:11:03 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.211 2003/07/31 05:27:00 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" +#include "opt_kstack_pages.h" #include "opt_msgbuf.h" #include "opt_maxmem.h" @@ -548,6 +549,9 @@ alpha_pal_wrmces(alpha_pal_rdmces() & ~(ALPHA_MCES_DSC|ALPHA_MCES_DPC)); + /* Clear userland thread pointer */ + alpha_pal_wrunique(0); + /* * Find out what hardware we're on, and do basic initialization. */ @@ -2018,14 +2022,18 @@ if (clear_ret != 0) { mcp->mc_regs[FRAME_V0] = 0; mcp->mc_regs[FRAME_A4] = 0; + mcp->mc_regs[FRAME_A3] = 0; } /* * When the thread is the current thread, the user stack pointer * is not in the PCB; it must be read from the PAL. */ - if (td == curthread) + if (td == curthread) { mcp->mc_regs[FRAME_SP] = alpha_pal_rdusp(); + mcp->mc_thrptr = alpha_pal_rdunique(); + } else + mcp->mc_thrptr = 0; mcp->mc_format = _MC_REV0_TRAPFRAME; PROC_LOCK(curthread->td_proc); @@ -2047,6 +2055,12 @@ else if ((ret = set_fpcontext(td, mcp)) != 0) return (ret); + /* + * NOTE: We only need to restore mc_thrptr when the ucontext format + * is _MC_REV0_TRAPFRAME. Only get_mcontext() above creates such + * contexts and that's also the only place where we save the thread + * pointer in the context. + */ if (mcp->mc_format == _MC_REV0_SIGFRAME) { set_regs(td, (struct reg *)&mcp->mc_regs); val = (mcp->mc_regs[R_PS] | ALPHA_PSL_USERSET) & @@ -2056,10 +2070,15 @@ td->td_frame->tf_regs[FRAME_FLAGS] = 0; if (td == curthread) alpha_pal_wrusp(mcp->mc_regs[R_SP]); - } else { - if (td == curthread) + if (td == curthread) { alpha_pal_wrusp(mcp->mc_regs[FRAME_SP]); + alpha_pal_wrunique(mcp->mc_thrptr); + } else { + td->td_pcb->pcb_hw.apcb_usp = mcp->mc_regs[FRAME_SP]; + td->td_pcb->pcb_hw.apcb_unique = mcp->mc_thrptr; + } + /* * The context is a trapframe, so just copy it over the * threads frame. @@ -2361,9 +2380,3 @@ pcpu->pc_idlepcb.apcb_ptbr = thread0.td_pcb->pcb_hw.apcb_ptbr; pcpu->pc_current_asngen = 1; } - -intptr_t -casuptr(intptr_t *p, intptr_t old, intptr_t new) -{ - return (-1); -} ==== //depot/projects/smpng/sys/alpha/alpha/mp_machdep.c#20 (text+ko) ==== @@ -25,7 +25,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.44 2003/07/03 14:33:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.46 2003/07/31 01:31:31 peter Exp $"); + +#include "opt_kstack_pages.h" #include #include @@ -137,6 +139,9 @@ */ alpha_pal_wrval((u_int64_t) pcpup); + /* Clear userland thread pointer. */ + alpha_pal_wrunique(0); + /* * Point interrupt/exception vectors to our own. */ ==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#49 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.130 2003/07/06 20:32:42 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.132 2003/07/31 03:39:50 bmilekic Exp $"); #include #include @@ -642,7 +642,7 @@ if (initial_pvs < MINPV) initial_pvs = MINPV; pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM); + NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); uma_prealloc(pvzone, initial_pvs); /* @@ -2130,7 +2130,7 @@ mpte = NULL; for (i = 0; i < PAGEORDER_SIZE; i++) { - vm_object_t lobject; + vm_object_t backing_object, lobject; pt_entry_t *pte; addr = addra + pmap_prefault_pageorder[i]; @@ -2150,15 +2150,18 @@ pindex = ((addr - entry->start) + entry->offset) >> PAGE_SHIFT; lobject = object; - for (m = vm_page_lookup(lobject, pindex); - (!m && (lobject->type == OBJT_DEFAULT) && (lobject->backing_object)); - lobject = lobject->backing_object) { + VM_OBJECT_LOCK(lobject); + while ((m = vm_page_lookup(lobject, pindex)) == NULL && + lobject->type == OBJT_DEFAULT && + (backing_object = lobject->backing_object) != NULL) { if (lobject->backing_object_offset & PAGE_MASK) break; - pindex += (lobject->backing_object_offset >> PAGE_SHIFT); - m = vm_page_lookup(lobject->backing_object, pindex); + pindex += lobject->backing_object_offset >> PAGE_SHIFT; + VM_OBJECT_LOCK(backing_object); + VM_OBJECT_UNLOCK(lobject); + lobject = backing_object; } - + VM_OBJECT_UNLOCK(lobject); /* * give-up when a page is not in memory */ ==== //depot/projects/smpng/sys/alpha/alpha/support.s#8 (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/alpha/alpha/support.s,v 1.14 2003/06/29 17:14:42 marcel Exp $ + * $FreeBSD: src/sys/alpha/alpha/support.s,v 1.15 2003/07/24 07:49:45 marcel Exp $ */ /* @@ -59,7 +59,35 @@ .text /**************************************************************************/ - + +/* + * intptr_t + * casuptr(intptr_t *p, intptr_t old, intptr_t new) + */ + LEAF(casuptr, 3) + LDGP(pv) + + ldiq t0, VM_MAXUSER_ADDRESS /* verify address validity */ + cmpult a0, t0, t1 + beq t1, fusufault + + lda t0, fusufault /* trap faults */ + ldq t2, PC_CURTHREAD(pcpup) + ldq t2, TD_PCB(t2) + + stq t0, PCB_ONFAULT(t2) +1: + ldq_l v0, 0(a0) /* try to load the old value */ + cmpeq v0, a1, t0 /* compare */ + beq t0, 2f /* exit if not equal */ + mov a2, t0 /* setup value to write */ + stq_c t0, 0(a0) /* write if address still locked */ + beq t0, 1b /* if it failed, spin */ +2: + stq zero, PCB_ONFAULT(t2) /* clean up */ + RET + END(casuptr) + /* * fu{byte,word} : fetch a byte (word) from user memory */ ==== //depot/projects/smpng/sys/alpha/alpha/vm_machdep.c#25 (text+ko) ==== @@ -67,7 +67,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.88 2003/06/15 00:54:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.91 2003/07/31 01:31:31 peter Exp $"); + +#include "opt_kstack_pages.h" #include #include @@ -145,6 +147,7 @@ */ bcopy(td1->td_pcb, td2->td_pcb, sizeof(struct pcb)); td2->td_pcb->pcb_hw.apcb_usp = alpha_pal_rdusp(); + td2->td_pcb->pcb_hw.apcb_unique = 0; td2->td_pcb->pcb_hw.apcb_flags &= ~ALPHA_PCB_FLAGS_FEN; /* @@ -259,7 +262,8 @@ { td->td_pcb = - (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; + td->td_md.md_pcbpaddr = (void*)vtophys((vm_offset_t)td->td_pcb); td->td_frame = (struct trapframe *)((caddr_t)td->td_pcb) - 1; } ==== //depot/projects/smpng/sys/alpha/conf/GENERIC#31 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.161 2003/06/08 02:03:01 jmallett Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.162 2003/07/21 19:15:25 ticso Exp $ machine alpha cpu EV4 @@ -80,6 +80,7 @@ # Standard busses device isa +device eisa device pci # Floppy drives ==== //depot/projects/smpng/sys/alpha/conf/NOTES#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/alpha/conf/NOTES,v 1.151 2003/04/15 20:21:56 jhb Exp $ +# $FreeBSD: src/sys/alpha/conf/NOTES,v 1.152 2003/07/21 19:15:25 ticso Exp $ # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. @@ -45,6 +45,7 @@ # HARDWARE BUS CONFIGURATION device isa +device eisa device pci ==== //depot/projects/smpng/sys/alpha/include/alpha_cpu.h#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/alpha_cpu.h,v 1.9 2002/10/25 20:22:12 jhb Exp $ */ +/* $FreeBSD: src/sys/alpha/include/alpha_cpu.h,v 1.10 2003/07/24 07:41:08 marcel Exp $ */ /* From: NetBSD: alpha_cpu.h,v 1.15 1997/09/20 19:02:34 mjacob Exp */ /* @@ -459,6 +459,23 @@ } static __inline void +alpha_pal_wrunique(u_int64_t tp) +{ + register u_int64_t a0 __asm__("$16") = tp; + __asm__ __volatile__("call_pal 0x9f # PAL_wrunique" + : "+r" (a0) : : "$1", "$22", "$23", "$24", "$25"); +} + +static __inline u_int64_t +alpha_pal_rdunique(void) +{ + register u_int64_t v0 __asm__("$0"); + __asm__ __volatile__("call_pal 0x9e # PAL_rdunique" + : "=r" (v0) : : "$1", "$22", "$23", "$24", "$25"); + return (v0); +} + +static __inline void alpha_pal_tbi(u_int64_t op, u_int64_t va) { register u_int64_t a0 __asm__("$16") = op; ==== //depot/projects/smpng/sys/alpha/include/bus.h#12 (text+ko) ==== @@ -67,7 +67,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/alpha/include/bus.h,v 1.22 2003/07/01 15:51:50 scottl Exp $ */ +/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.23 2003/07/27 13:52:09 mux Exp $ */ #ifndef _ALPHA_BUS_H_ #define _ALPHA_BUS_H_ @@ -470,6 +470,7 @@ #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ #define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ #define BUS_DMA_COHERENT 0x04 /* hint: map memory in a coherent way */ +#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ #define BUS_DMA_ISA 0x10 /* map memory for ISA dma */ #define BUS_DMA_BUS2 0x20 /* placeholders for bus functions... */ #define BUS_DMA_BUS3 0x40 ==== //depot/projects/smpng/sys/alpha/include/param.h#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/param.h,v 1.31 2003/06/14 23:23:52 alc Exp $ */ +/* $FreeBSD: src/sys/alpha/include/param.h,v 1.32 2003/07/31 01:31:31 peter Exp $ */ /* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */ /* @@ -117,7 +117,9 @@ #define SSIZE 1 /* initial stack size/NBPG */ #define SINCR 1 /* increment of stack/NBPG */ +#ifndef KSTACK_PAGES #define KSTACK_PAGES 2 /* pages of kstack (with pcb) */ +#endif #define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */ #define UAREA_PAGES 1 /* pages of u-area */ ==== //depot/projects/smpng/sys/alpha/include/ucontext.h#5 (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/alpha/include/ucontext.h,v 1.6 2002/11/16 06:35:51 deischen Exp $ + * $FreeBSD: src/sys/alpha/include/ucontext.h,v 1.7 2003/07/24 07:34:31 marcel Exp $ */ #ifndef _MACHINE_UCONTEXT_H_ @@ -50,7 +50,8 @@ #define _MC_REV0_SIGFRAME 1 /* context is a signal frame */ #define _MC_REV0_TRAPFRAME 2 /* context is a trap frame */ long mc_format; - long mc_spare[6]; + long mc_thrptr; /* Thread pointer */ + long mc_spare[5]; } mcontext_t; #if defined(_KERNEL) && defined(COMPAT_FREEBSD4) ==== //depot/projects/smpng/sys/amd64/acpica/OsdEnvironment.c#3 (text+ko) ==== @@ -23,10 +23,11 @@ * LIABILITY, OR TORT (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/amd64/acpica/OsdEnvironment.c,v 1.9 2003/05/31 06:47:05 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/acpica/OsdEnvironment.c,v 1.10 2003/07/25 21:10:18 obrien Exp $"); + /* * 6.1 : Environmental support */ ==== //depot/projects/smpng/sys/amd64/acpica/acpi_machdep.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (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/amd64/acpica/acpi_machdep.c,v 1.9 2003/05/01 01:05:21 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.10 2003/07/25 21:10:19 obrien Exp $"); + #include #include ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#2 (text+ko) ==== @@ -23,9 +23,11 @@ * LIABILITY, OR TORT (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/amd64/acpica/acpi_wakeup.c,v 1.19 2003/05/01 01:05:21 peter Exp $ */ + +#include +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.20 2003/07/25 21:10:19 obrien Exp $"); + #include #include ==== //depot/projects/smpng/sys/amd64/amd64/amd64-gdbstub.c#2 (text+ko) ==== @@ -92,7 +92,8 @@ * ****************************************************************************/ -/* $FreeBSD: src/sys/amd64/amd64/amd64-gdbstub.c,v 1.24 2003/05/31 22:00:57 peter Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64-gdbstub.c,v 1.25 2003/07/25 21:15:44 obrien Exp $"); #include #include ==== //depot/projects/smpng/sys/amd64/amd64/atomic.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (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/amd64/amd64/atomic.c,v 1.4 2000/09/06 11:21:14 phk Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/atomic.c,v 1.5 2003/07/25 21:15:44 obrien Exp $"); + /* This file creates publically callable functions to perform various * simple arithmetic on memory which is atomic in the presence of * interrupts and multiple processors. ==== //depot/projects/smpng/sys/amd64/amd64/autoconf.c#2 (text+ko) ==== @@ -33,10 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.173 2003/05/01 01:05:21 peter Exp $ + * @(#)autoconf.c 7.1 (Berkeley) 5/9/91 */ +#include +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.174 2003/07/25 21:15:44 obrien Exp $"); + /* * Setup the system to run on the current machine. * ==== //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.49 2003/07/01 19:16:48 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.50 2003/07/27 13:52:08 mux Exp $"); #include #include @@ -390,25 +390,30 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 31 12:58:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68C8E37B408; Thu, 31 Jul 2003 12:58:28 -0700 (PDT) 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 E903A37B407 for ; Thu, 31 Jul 2003 12:58:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BCC7643F85 for ; Thu, 31 Jul 2003 12:58:26 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6VJwQ0U001078 for ; Thu, 31 Jul 2003 12:58:26 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6VJwQtw001075 for perforce@freebsd.org; Thu, 31 Jul 2003 12:58:26 -0700 (PDT) Date: Thu, 31 Jul 2003 12:58:26 -0700 (PDT) Message-Id: <200307311958.h6VJwQtw001075@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35282 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: Thu, 31 Jul 2003 19:58:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=35282 Change 35282 by rwatson@rwatson_tislabs on 2003/07/31 12:58:23 Improve consistency with the Biba policy -- rename mac_mls_subject_equal_ok() to mac_mls_subject_privileged(), which more consistently reflects the fact that this is really about our notion of privilege in the MLS policy. Since we don't use suser() for privilege in MLS, remove the suser check from the ifnet relabel ioctl, and replace it with an MLS privilege check. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#175 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#175 (text+ko) ==== @@ -286,11 +286,12 @@ } static int -mac_mls_subject_equal_ok(struct mac_mls *mac_mls) +mac_mls_subject_privileged(struct mac_mls *mac_mls) { - KASSERT((mac_mls->mm_flags & MAC_MLS_FLAGS_BOTH) == MAC_MLS_FLAGS_BOTH, - ("mac_mls_subject_equal_ok: subject doesn't have both labels")); + KASSERT((mac_mls->mm_flags & MAC_MLS_FLAGS_BOTH) == + MAC_MLS_FLAGS_BOTH, + ("mac_mls_subject_privileged: subject doesn't have both labels")); /* If the single is EQUAL, it's ok. */ if (mac_mls->mm_single.mme_type == MAC_MLS_TYPE_EQUAL) @@ -1434,7 +1435,7 @@ * their label. */ if (mac_mls_contains_equal(new)) { - error = mac_mls_subject_equal_ok(subj); + error = mac_mls_subject_privileged(subj); if (error) return (error); } @@ -1480,23 +1481,9 @@ return (error); /* - * If the MLS label is to be changed, authorize as appropriate. + * Relabeling network interfaces requires MLS privilege. */ - if (new->mm_flags & MAC_MLS_FLAGS_BOTH) { - /* - * Rely on traditional superuser status for the MLS - * interface relabel requirements. XXX: This will go - * away. - */ - error = suser_cred(cred, 0); - if (error) - return (EPERM); - - /* - * XXXMAC: Additional consistency tests regarding the single - * and the range of the new label might be performed here. - */ - } + error = mac_mls_subject_privileged(subj); return (0); } @@ -1625,7 +1612,7 @@ * subject must have appropriate privilege. */ if (mac_mls_contains_equal(new)) { - error = mac_mls_subject_equal_ok(subj); + error = mac_mls_subject_privileged(subj); if (error) return (error); } @@ -1787,7 +1774,7 @@ * the subject must have appropriate privilege. */ if (mac_mls_contains_equal(new)) { - error = mac_mls_subject_equal_ok(subj); + error = mac_mls_subject_privileged(subj); if (error) return (error); } @@ -2242,7 +2229,7 @@ * the subject must have appropriate privilege. */ if (mac_mls_contains_equal(new)) { - error = mac_mls_subject_equal_ok(subj); + error = mac_mls_subject_privileged(subj); if (error) return (error); } From owner-p4-projects@FreeBSD.ORG Thu Jul 31 18:23:33 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 421DE37B404; Thu, 31 Jul 2003 18:23:33 -0700 (PDT) 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 C4FA037B401 for ; Thu, 31 Jul 2003 18:23:32 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6382143FB1 for ; Thu, 31 Jul 2003 18:23:32 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h711NW0U024987 for ; Thu, 31 Jul 2003 18:23:32 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h711NV1O024984 for perforce@freebsd.org; Thu, 31 Jul 2003 18:23:31 -0700 (PDT) Date: Thu, 31 Jul 2003 18:23:31 -0700 (PDT) Message-Id: <200308010123.h711NV1O024984@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35300 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: Fri, 01 Aug 2003 01:23:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=35300 Change 35300 by rwatson@rwatson_tislabs on 2003/07/31 18:23:26 Copy mac_none to a mac_stub policy, so we can convert mac_none to a real null policy for performance measurement purposes. If you have outstanding changes adding entry points to mac_none, they'll need to be moved to mac_stub. Affected files ... .. //depot/projects/trustedbsd/mac/sys/modules/Makefile#63 edit .. //depot/projects/trustedbsd/mac/sys/modules/mac_stub/Makefile#1 add .. //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#1 add Differences ... ==== //depot/projects/trustedbsd/mac/sys/modules/Makefile#63 (text+ko) ==== @@ -75,6 +75,7 @@ mac_partition \ mac_portacl \ mac_seeotheruids \ + mac_stub \ mac_test \ mcd \ md \ From owner-p4-projects@FreeBSD.ORG Thu Jul 31 18:25:38 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E9BD37B404; Thu, 31 Jul 2003 18:25:37 -0700 (PDT) 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 36FF737B401 for ; Thu, 31 Jul 2003 18:25:37 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A76A043FAF for ; Thu, 31 Jul 2003 18:25:35 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h711PZ0U025174 for ; Thu, 31 Jul 2003 18:25:35 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h711PZIC025171 for perforce@freebsd.org; Thu, 31 Jul 2003 18:25:35 -0700 (PDT) Date: Thu, 31 Jul 2003 18:25:35 -0700 (PDT) Message-Id: <200308010125.h711PZIC025171@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35301 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: Fri, 01 Aug 2003 01:25:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=35301 Change 35301 by rwatson@rwatson_tislabs on 2003/07/31 18:25:09 Trimmage to mac_none.c to make it a null policy; the contents of the old mac_none are now in mac_stub. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_none/mac_none.c#125 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_none/mac_none.c#125 (text+ko) ==== @@ -36,7 +36,10 @@ /* * Developed by the TrustedBSD Project. - * Generic mandatory access module that does nothing. + * + * Sample policy implementing no entry points; for performance measurement + * purposes only. If you're looking for a stub policy to base new policies + * on, try mac_stub. */ #include @@ -81,1071 +84,8 @@ SYSCTL_INT(_security_mac_none, OID_AUTO, enabled, CTLFLAG_RW, &mac_none_enabled, 0, "Enforce none policy"); -/* - * Policy module operations. - */ -static void -mac_none_destroy(struct mac_policy_conf *conf) -{ - -} - -static void -mac_none_init(struct mac_policy_conf *conf) -{ - -} - -static int -mac_none_syscall(struct thread *td, int call, void *arg) -{ - - return (0); -} - -/* - * Label operations. - */ -static void -mac_none_init_label(struct label *label) -{ - -} - -static int -mac_none_init_label_waitcheck(struct label *label, int flag) -{ - - return (0); -} - -static void -mac_none_destroy_label(struct label *label) -{ - -} - -static int -mac_none_externalize_label(struct label *label, char *element_name, - struct sbuf *sb, int *claimed) -{ - - return (0); -} - -static int -mac_none_internalize_label(struct label *label, char *element_name, - char *element_data, int *claimed) -{ - - return (0); -} - -/* - * Labeling event operations: file system objects, and things that look - * a lot like file system objects. - */ -static void -mac_none_associate_vnode_devfs(struct mount *mp, struct label *fslabel, - struct devfs_dirent *de, struct label *delabel, struct vnode *vp, - struct label *vlabel) -{ - -} - -static int -mac_none_associate_vnode_extattr(struct mount *mp, struct label *fslabel, - struct vnode *vp, struct label *vlabel) -{ - - return (0); -} - -static void -mac_none_associate_vnode_singlelabel(struct mount *mp, - struct label *fslabel, struct vnode *vp, struct label *vlabel) -{ - -} - -static void -mac_none_create_devfs_device(struct mount *mp, dev_t dev, - struct devfs_dirent *devfs_dirent, struct label *label, - const char *fullpath) -{ - -} - -static void -mac_none_create_devfs_directory(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label, - const char *fullpath) -{ - -} - -static void -mac_none_create_devfs_symlink(struct ucred *cred, struct mount *mp, - struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, - struct label *delabel, const char *fullpath) -{ - -} - -static int -mac_none_create_vnode_extattr(struct ucred *cred, struct mount *mp, - struct label *fslabel, struct vnode *dvp, struct label *dlabel, - struct vnode *vp, struct label *vlabel, struct componentname *cnp) -{ - - return (0); -} - -static void -mac_none_create_mount(struct ucred *cred, struct mount *mp, - struct label *mntlabel, struct label *fslabel) -{ - -} - -static void -mac_none_create_root_mount(struct ucred *cred, struct mount *mp, - struct label *mntlabel, struct label *fslabel) -{ - -} - -static void -mac_none_relabel_vnode(struct ucred *cred, struct vnode *vp, - struct label *vnodelabel, struct label *label) -{ - -} - -static int -mac_none_setlabel_vnode_extattr(struct ucred *cred, struct vnode *vp, - struct label *vlabel, struct label *intlabel) -{ - - return (0); -} - -static void -mac_none_update_devfsdirent(struct mount *mp, - struct devfs_dirent *devfs_dirent, struct label *direntlabel, - struct vnode *vp, struct label *vnodelabel) -{ - -} - -/* - * Labeling event operations: IPC object. - */ -static void -mac_none_create_mbuf_from_socket(struct socket *so, struct label *socketlabel, - struct mbuf *m, struct label *mbuflabel) -{ - -} - -static void -mac_none_create_socket(struct ucred *cred, struct socket *socket, - struct label *socketlabel) -{ - -} - -static void -mac_none_create_pipe(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel) -{ - -} - -static void -mac_none_create_socket_from_socket(struct socket *oldsocket, - struct label *oldsocketlabel, struct socket *newsocket, - struct label *newsocketlabel) -{ - -} - -static void -mac_none_relabel_socket(struct ucred *cred, struct socket *socket, - struct label *socketlabel, struct label *newlabel) -{ - -} - -static void -mac_none_relabel_pipe(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel, struct label *newlabel) -{ - -} - -static void -mac_none_set_socket_peer_from_mbuf(struct mbuf *mbuf, struct label *mbuflabel, - struct socket *socket, struct label *socketpeerlabel) -{ - -} - -static void -mac_none_set_socket_peer_from_socket(struct socket *oldsocket, - struct label *oldsocketlabel, struct socket *newsocket, - struct label *newsocketpeerlabel) -{ - -} - -/* - * Labeling event operations: network objects. - */ -static void -mac_none_create_bpfdesc(struct ucred *cred, struct bpf_d *bpf_d, - struct label *bpflabel) -{ - -} - -static void -mac_none_create_datagram_from_ipq(struct ipq *ipq, struct label *ipqlabel, - struct mbuf *datagram, struct label *datagramlabel) -{ - -} - -static void -mac_none_create_fragment(struct mbuf *datagram, struct label *datagramlabel, - struct mbuf *fragment, struct label *fragmentlabel) -{ - -} - -static void -mac_none_create_ifnet(struct ifnet *ifnet, struct label *ifnetlabel) -{ - -} - -static void -mac_none_create_ipq(struct mbuf *fragment, struct label *fragmentlabel, - struct ipq *ipq, struct label *ipqlabel) -{ - -} - -static void -mac_none_create_mbuf_from_mbuf(struct mbuf *oldmbuf, - struct label *oldmbuflabel, struct mbuf *newmbuf, - struct label *newmbuflabel) -{ - -} - -static void -mac_none_create_mbuf_linklayer(struct ifnet *ifnet, struct label *ifnetlabel, - struct mbuf *mbuf, struct label *mbuflabel) -{ - -} - -static void -mac_none_create_mbuf_from_bpfdesc(struct bpf_d *bpf_d, struct label *bpflabel, - struct mbuf *mbuf, struct label *mbuflabel) -{ - -} - -static void -mac_none_create_mbuf_from_ifnet(struct ifnet *ifnet, struct label *ifnetlabel, - struct mbuf *m, struct label *mbuflabel) -{ - -} - -static void -mac_none_create_mbuf_multicast_encap(struct mbuf *oldmbuf, - struct label *oldmbuflabel, struct ifnet *ifnet, struct label *ifnetlabel, - struct mbuf *newmbuf, struct label *newmbuflabel) -{ - -} - -static void -mac_none_create_mbuf_netlayer(struct mbuf *oldmbuf, - struct label *oldmbuflabel, struct mbuf *newmbuf, struct label *newmbuflabel) -{ - -} - -static int -mac_none_fragment_match(struct mbuf *fragment, struct label *fragmentlabel, - struct ipq *ipq, struct label *ipqlabel) -{ - - return (1); -} - -static void -mac_none_reflect_mbuf_icmp(struct mbuf *m, struct label *mlabel) -{ - -} - -static void -mac_none_reflect_mbuf_tcp(struct mbuf *m, struct label *mlabel) -{ - -} - -static void -mac_none_relabel_ifnet(struct ucred *cred, struct ifnet *ifnet, - struct label *ifnetlabel, struct label *newlabel) -{ - -} - -static void -mac_none_update_ipq(struct mbuf *fragment, struct label *fragmentlabel, - struct ipq *ipq, struct label *ipqlabel) -{ - -} - -/* - * Labeling event operations: processes. - */ -static void -mac_none_create_cred(struct ucred *cred_parent, struct ucred *cred_child) -{ - -} - -static void -mac_none_execve_transition(struct ucred *old, struct ucred *new, - struct vnode *vp, struct label *vnodelabel, - struct label *interpvnodelabel, struct image_params *imgp, - struct label *execlabel) -{ - -} - -static int -mac_none_execve_will_transition(struct ucred *old, struct vnode *vp, - struct label *vnodelabel, struct label *interpvnodelabel, - struct image_params *imgp, struct label *execlabel) -{ - - return (0); -} - -static void -mac_none_create_proc0(struct ucred *cred) -{ - -} - -static void -mac_none_create_proc1(struct ucred *cred) -{ - -} - -static void -mac_none_relabel_cred(struct ucred *cred, struct label *newlabel) -{ - -} - -static void -mac_none_thread_userret(struct thread *td) -{ - -} - -/* - * Access control checks. - */ -static int -mac_none_check_bpfdesc_receive(struct bpf_d *bpf_d, struct label *bpflabel, - struct ifnet *ifnet, struct label *ifnet_label) -{ - - return (0); -} - -static int -mac_none_check_cred_relabel(struct ucred *cred, struct label *newlabel) -{ - - return (0); -} - -static int -mac_none_check_cred_visible(struct ucred *u1, struct ucred *u2) -{ - - return (0); -} - -static int -mac_none_check_ifnet_relabel(struct ucred *cred, struct ifnet *ifnet, - struct label *ifnetlabel, struct label *newlabel) -{ - - return (0); -} - -static int -mac_none_check_ifnet_transmit(struct ifnet *ifnet, struct label *ifnetlabel, - struct mbuf *m, struct label *mbuflabel) -{ - - return (0); -} - -static int -mac_none_check_kenv_dump(struct ucred *cred) -{ - - return (0); -} - -static int -mac_none_check_kenv_get(struct ucred *cred, char *name) -{ - - return (0); -} - -static int -mac_none_check_kenv_set(struct ucred *cred, char *name, char *value) -{ - - return (0); -} - -static int -mac_none_check_kenv_unset(struct ucred *cred, char *name) -{ - - return (0); -} - -static int -mac_none_check_kld_load(struct ucred *cred, struct vnode *vp, - struct label *vlabel) -{ - - return (0); -} - -static int -mac_none_check_kld_stat(struct ucred *cred) -{ - - return (0); -} - -static int -mac_none_check_kld_unload(struct ucred *cred) -{ - - return (0); -} - -static int -mac_none_check_mount_stat(struct ucred *cred, struct mount *mp, - struct label *mntlabel) -{ - - return (0); -} - -static int -mac_none_check_pipe_ioctl(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel, unsigned long cmd, void /* caddr_t */ *data) -{ - - return (0); -} - -static int -mac_none_check_pipe_poll(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel) -{ - - return (0); -} - -static int -mac_none_check_pipe_read(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel) -{ - - return (0); -} - -static int -mac_none_check_pipe_relabel(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel, struct label *newlabel) -{ - - return (0); -} - -static int -mac_none_check_pipe_stat(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel) -{ - - return (0); -} - -static int -mac_none_check_pipe_write(struct ucred *cred, struct pipe *pipe, - struct label *pipelabel) -{ - - return (0); -} - -static int -mac_none_check_proc_debug(struct ucred *cred, struct proc *proc) -{ - - return (0); -} - -static int -mac_none_check_proc_sched(struct ucred *cred, struct proc *proc) -{ - - return (0); -} - -static int -mac_none_check_proc_signal(struct ucred *cred, struct proc *proc, int signum) -{ - - return (0); -} - -static int -mac_none_check_socket_bind(struct ucred *cred, struct socket *socket, - struct label *socketlabel, struct sockaddr *sockaddr) -{ - - return (0); -} - -static int -mac_none_check_socket_connect(struct ucred *cred, struct socket *socket, - struct label *socketlabel, struct sockaddr *sockaddr) -{ - - return (0); -} - -static int -mac_none_check_socket_deliver(struct socket *so, struct label *socketlabel, - struct mbuf *m, struct label *mbuflabel) -{ - - return (0); -} - -static int -mac_none_check_socket_listen(struct ucred *cred, struct socket *so, - struct label *socketlabel) -{ - - return (0); -} - -static int -mac_none_check_socket_relabel(struct ucred *cred, struct socket *socket, - struct label *socketlabel, struct label *newlabel) -{ - - return (0); -} - -static int -mac_none_check_socket_visible(struct ucred *cred, struct socket *socket, - struct label *socketlabel) -{ - - return (0); -} - -static int -mac_none_check_sysarch_ioperm(struct ucred *cred) -{ - - return (0); -} - -static int -mac_none_check_system_acct(struct ucred *cred, struct vnode *vp, - struct label *vlabel) -{ - - return (0); -} - -static int -mac_none_check_system_reboot(struct ucred *cred, int how) -{ - - return (0); -} - -static int -mac_none_check_system_settime(struct ucred *cred) -{ - - return (0); -} - -static int -mac_none_check_system_swapon(struct ucred *cred, struct vnode *vp, - struct label *label) -{ - - return (0); -} - -static int -mac_none_check_system_swapoff(struct ucred *cred, struct vnode *vp, - struct label *label) -{ - - return (0); -} - -static int -mac_none_check_system_sysctl(struct ucred *cred, int *name, u_int namelen, - void *old, size_t *oldlenp, int inkernel, void *new, size_t newlen) -{ - - return (0); -} - -static int -mac_none_check_vnode_access(struct ucred *cred, struct vnode *vp, - struct label *label, int acc_mode) -{ - - return (0); -} - -static int -mac_none_check_vnode_chdir(struct ucred *cred, struct vnode *dvp, - struct label *dlabel) -{ - - return (0); -} - -static int -mac_none_check_vnode_chroot(struct ucred *cred, struct vnode *dvp, - struct label *dlabel) -{ - - return (0); -} - -static int -mac_none_check_vnode_create(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct componentname *cnp, struct vattr *vap) -{ - - return (0); -} - -static int -mac_none_check_vnode_delete(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vnode *vp, struct label *label, - struct componentname *cnp) -{ - - return (0); -} - -static int -mac_none_check_vnode_deleteacl(struct ucred *cred, struct vnode *vp, - struct label *label, acl_type_t type) -{ - - return (0); -} - -static int -mac_none_check_vnode_deleteextattr(struct ucred *cred, struct vnode *vp, - struct label *label, int attrnamespace, const char *name) -{ - - return (0); -} - -static int -mac_none_check_vnode_exec(struct ucred *cred, struct vnode *vp, - struct label *label, struct image_params *imgp, - struct label *execlabel) -{ - - return (0); -} - -static int -mac_none_check_vnode_getacl(struct ucred *cred, struct vnode *vp, - struct label *label, acl_type_t type) -{ - - return (0); -} - -static int -mac_none_check_vnode_getextattr(struct ucred *cred, struct vnode *vp, - struct label *label, int attrnamespace, const char *name, struct uio *uio) -{ - - return (0); -} - -static int -mac_none_check_vnode_link(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vnode *vp, struct label *label, - struct componentname *cnp) -{ - - return (0); -} - -static int -mac_none_check_vnode_listextattr(struct ucred *cred, struct vnode *vp, - struct label *label, int attrnamespace) -{ - - return (0); -} - -static int -mac_none_check_vnode_lookup(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct componentname *cnp) -{ - - return (0); -} - -static int -mac_none_check_vnode_mmap(struct ucred *cred, struct vnode *vp, - struct label *label, int prot) -{ - - return (0); -} - -static int -mac_none_check_vnode_mprotect(struct ucred *cred, struct vnode *vp, - struct label *label, int prot) -{ - - return (0); -} - -static int -mac_none_check_vnode_open(struct ucred *cred, struct vnode *vp, - struct label *filelabel, int acc_mode) -{ - - return (0); -} - -static int -mac_none_check_vnode_poll(struct ucred *active_cred, struct ucred *file_cred, - struct vnode *vp, struct label *label) -{ - - return (0); -} - -static int -mac_none_check_vnode_read(struct ucred *active_cred, struct ucred *file_cred, - struct vnode *vp, struct label *label) -{ - - return (0); -} - -static int -mac_none_check_vnode_readdir(struct ucred *cred, struct vnode *vp, - struct label *dlabel) -{ - - return (0); -} - -static int -mac_none_check_vnode_readlink(struct ucred *cred, struct vnode *vp, - struct label *vnodelabel) -{ - - return (0); -} - -static int -mac_none_check_vnode_relabel(struct ucred *cred, struct vnode *vp, - struct label *vnodelabel, struct label *newlabel) -{ - - return (0); -} - -static int -mac_none_check_vnode_rename_from(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vnode *vp, struct label *label, - struct componentname *cnp) -{ - - return (0); -} - -static int -mac_none_check_vnode_rename_to(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vnode *vp, struct label *label, int samedir, - struct componentname *cnp) -{ - - return (0); -} - -static int -mac_none_check_vnode_revoke(struct ucred *cred, struct vnode *vp, - struct label *label) -{ - - return (0); -} - -static int -mac_none_check_vnode_setacl(struct ucred *cred, struct vnode *vp, - struct label *label, acl_type_t type, struct acl *acl) -{ - - return (0); -} - -static int -mac_none_check_vnode_setextattr(struct ucred *cred, struct vnode *vp, - struct label *label, int attrnamespace, const char *name, struct uio *uio) -{ - - return (0); -} - -static int -mac_none_check_vnode_setflags(struct ucred *cred, struct vnode *vp, - struct label *label, u_long flags) -{ - - return (0); -} - -static int -mac_none_check_vnode_setmode(struct ucred *cred, struct vnode *vp, - struct label *label, mode_t mode) -{ - - return (0); -} - -static int -mac_none_check_vnode_setowner(struct ucred *cred, struct vnode *vp, - struct label *label, uid_t uid, gid_t gid) -{ - - return (0); -} - -static int -mac_none_check_vnode_setutimes(struct ucred *cred, struct vnode *vp, - struct label *label, struct timespec atime, struct timespec mtime) -{ - - return (0); -} - -static int -mac_none_check_vnode_stat(struct ucred *active_cred, struct ucred *file_cred, - struct vnode *vp, struct label *label) -{ - - return (0); -} - -static int -mac_none_check_vnode_write(struct ucred *active_cred, - struct ucred *file_cred, struct vnode *vp, struct label *label) -{ - - return (0); -} - static struct mac_policy_ops mac_none_ops = { - .mpo_destroy = mac_none_destroy, - .mpo_init = mac_none_init, - .mpo_syscall = mac_none_syscall, - .mpo_init_bpfdesc_label = mac_none_init_label, - .mpo_init_cred_label = mac_none_init_label, - .mpo_init_devfsdirent_label = mac_none_init_label, - .mpo_init_ifnet_label = mac_none_init_label, - .mpo_init_ipq_label = mac_none_init_label_waitcheck, - .mpo_init_mbuf_label = mac_none_init_label_waitcheck, - .mpo_init_mount_label = mac_none_init_label, - .mpo_init_mount_fs_label = mac_none_init_label, - .mpo_init_pipe_label = mac_none_init_label, - .mpo_init_socket_label = mac_none_init_label_waitcheck, - .mpo_init_socket_peer_label = mac_none_init_label_waitcheck, - .mpo_init_vnode_label = mac_none_init_label, - .mpo_destroy_bpfdesc_label = mac_none_destroy_label, - .mpo_destroy_cred_label = mac_none_destroy_label, - .mpo_destroy_devfsdirent_label = mac_none_destroy_label, - .mpo_destroy_ifnet_label = mac_none_destroy_label, - .mpo_destroy_ipq_label = mac_none_destroy_label, - .mpo_destroy_mbuf_label = mac_none_destroy_label, - .mpo_destroy_mount_label = mac_none_destroy_label, - .mpo_destroy_mount_fs_label = mac_none_destroy_label, - .mpo_destroy_pipe_label = mac_none_destroy_label, - .mpo_destroy_socket_label = mac_none_destroy_label, - .mpo_destroy_socket_peer_label = mac_none_destroy_label, - .mpo_destroy_vnode_label = mac_none_destroy_label, - .mpo_externalize_cred_label = mac_none_externalize_label, - .mpo_externalize_ifnet_label = mac_none_externalize_label, - .mpo_externalize_pipe_label = mac_none_externalize_label, - .mpo_externalize_socket_label = mac_none_externalize_label, - .mpo_externalize_socket_peer_label = mac_none_externalize_label, - .mpo_externalize_vnode_label = mac_none_externalize_label, - .mpo_internalize_cred_label = mac_none_internalize_label, - .mpo_internalize_ifnet_label = mac_none_internalize_label, - .mpo_internalize_pipe_label = mac_none_internalize_label, - .mpo_internalize_socket_label = mac_none_internalize_label, - .mpo_internalize_vnode_label = mac_none_internalize_label, - .mpo_associate_vnode_devfs = mac_none_associate_vnode_devfs, - .mpo_associate_vnode_extattr = mac_none_associate_vnode_extattr, - .mpo_associate_vnode_singlelabel = mac_none_associate_vnode_singlelabel, - .mpo_create_devfs_device = mac_none_create_devfs_device, - .mpo_create_devfs_directory = mac_none_create_devfs_directory, - .mpo_create_devfs_symlink = mac_none_create_devfs_symlink, - .mpo_create_vnode_extattr = mac_none_create_vnode_extattr, - .mpo_create_mount = mac_none_create_mount, - .mpo_create_root_mount = mac_none_create_root_mount, - .mpo_relabel_vnode = mac_none_relabel_vnode, - .mpo_setlabel_vnode_extattr = mac_none_setlabel_vnode_extattr, - .mpo_update_devfsdirent = mac_none_update_devfsdirent, - .mpo_create_mbuf_from_socket = mac_none_create_mbuf_from_socket, - .mpo_create_pipe = mac_none_create_pipe, - .mpo_create_socket = mac_none_create_socket, - .mpo_create_socket_from_socket = mac_none_create_socket_from_socket, - .mpo_relabel_pipe = mac_none_relabel_pipe, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 31 18:33:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 544B537B404; Thu, 31 Jul 2003 18:33:47 -0700 (PDT) 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 0646537B401 for ; Thu, 31 Jul 2003 18:33:47 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 83F1943FB1 for ; Thu, 31 Jul 2003 18:33:46 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h711Xk0U025474 for ; Thu, 31 Jul 2003 18:33:46 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h711XjFr025471 for perforce@freebsd.org; Thu, 31 Jul 2003 18:33:45 -0700 (PDT) Date: Thu, 31 Jul 2003 18:33:45 -0700 (PDT) Message-Id: <200308010133.h711XjFr025471@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35302 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: Fri, 01 Aug 2003 01:33:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=35302 Change 35302 by rwatson@rwatson_tislabs on 2003/07/31 18:33:04 Put back the __inline -- the default kernel build settings have been set back to something ressembling what gcc 3.2 did. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#394 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#394 (text+ko) ==== @@ -330,7 +330,7 @@ return (ret); } -static void +static __inline void mac_policy_list_unbusy(void) { mtx_lock(&mac_policy_mtx); From owner-p4-projects@FreeBSD.ORG Thu Jul 31 18:46:03 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B5F037B404; Thu, 31 Jul 2003 18:46:02 -0700 (PDT) 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 5980F37B401 for ; Thu, 31 Jul 2003 18:46:02 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E923D43F3F for ; Thu, 31 Jul 2003 18:46:01 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h711k10U026008 for ; Thu, 31 Jul 2003 18:46:01 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h711k1B4026005 for perforce@freebsd.org; Thu, 31 Jul 2003 18:46:01 -0700 (PDT) Date: Thu, 31 Jul 2003 18:46:01 -0700 (PDT) Message-Id: <200308010146.h711k1B4026005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35303 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: Fri, 01 Aug 2003 01:46:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=35303 Change 35303 by rwatson@rwatson_tislabs on 2003/07/31 18:45:03 More references to MAC_STUB/mac_stub Affected files ... .. //depot/projects/trustedbsd/mac/sys/conf/NOTES#43 edit .. //depot/projects/trustedbsd/mac/sys/conf/files#83 edit .. //depot/projects/trustedbsd/mac/sys/conf/options#52 edit .. //depot/projects/trustedbsd/mac/sys/i386/conf/MACALL#4 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/conf/NOTES#43 (text+ko) ==== @@ -809,6 +809,7 @@ options MAC_PARTITION options MAC_PORTACL options MAC_SEEOTHERUIDS +options MAC_STUB options MAC_TEST ==== //depot/projects/trustedbsd/mac/sys/conf/files#83 (text+ko) ==== @@ -1570,6 +1570,7 @@ security/mac_partition/mac_partition.c optional mac_partition security/mac_portacl/mac_portacl.c optional mac_portacl security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids +security/mac_stub/mac_stub.c optional mac_stub security/mac_test/mac_test.c optional mac_test security/sebsd/sebsd.c optional sebsd security/sebsd/sebsd_syscall.c optional sebsd ==== //depot/projects/trustedbsd/mac/sys/conf/options#52 (text+ko) ==== @@ -115,6 +115,7 @@ MAC_PARTITION opt_dontuse.h MAC_PORTACL opt_dontuse.h MAC_SEEOTHERUIDS opt_dontuse.h +MAC_STUB opt_dontuse.h MAC_TEST opt_dontuse.h MD_ROOT opt_md.h MD_ROOT_SIZE opt_md.h ==== //depot/projects/trustedbsd/mac/sys/i386/conf/MACALL#4 (text+ko) ==== @@ -44,6 +44,7 @@ options MAC_PARTITION options MAC_PORTACL options MAC_SEEOTHERUIDS +options MAC_STUB options MAC_TEST #options SEBSD From owner-p4-projects@FreeBSD.ORG Thu Jul 31 18:47:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 174DA37B404; Thu, 31 Jul 2003 18:47:05 -0700 (PDT) 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 BDE4137B401 for ; Thu, 31 Jul 2003 18:47:04 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 42A0C43F85 for ; Thu, 31 Jul 2003 18:47:04 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h711l40U026028 for ; Thu, 31 Jul 2003 18:47:04 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h711l3P8026025 for perforce@freebsd.org; Thu, 31 Jul 2003 18:47:03 -0700 (PDT) Date: Thu, 31 Jul 2003 18:47:03 -0700 (PDT) Message-Id: <200308010147.h711l3P8026025@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35304 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: Fri, 01 Aug 2003 01:47:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=35304 Change 35304 by rwatson@rwatson_tislabs on 2003/07/31 18:47:02 Replace a lot of: #ifdef MAC_DEBUG atomic_xxx_int(..., 1); #endif with: MAC_DEBUG_COUNTER_xxx(...); This shortens the label init/destroy functions some, and centralizes the difference between the MAC_DEBUG and non-debug cases in one place. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#395 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#395 (text+ko) ==== @@ -203,6 +203,9 @@ nmacsockets, nmacmounts, nmactemp, nmacvnodes, nmacdevfsdirents, nmacipqs, nmacpipes, nmacprocs; +#define MAC_DEBUG_COUNTER_INC(x) atomic_add_int(x, 1); +#define MAC_DEBUG_COUNTER_DEC(x) atomic_subtract_int(x, 1); + SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, mbufs, CTLFLAG_RD, &nmacmbufs, 0, "number of mbufs in use"); SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, creds, CTLFLAG_RD, @@ -227,6 +230,9 @@ &nmacvnodes, 0, "number of vnodes in use"); SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, devfsdirents, CTLFLAG_RD, &nmacdevfsdirents, 0, "number of devfs dirents inuse"); +#else +#define MAC_DEBUG_COUNTER_INC(x) +#define MAC_DEBUG_COUNTER_INC(x) #endif static int error_select(int error1, int error2); @@ -781,9 +787,7 @@ mac_init_label(&bpf_d->bd_label); MAC_PERFORM(init_bpfdesc_label, &bpf_d->bd_label); -#ifdef MAC_DEBUG - atomic_add_int(&nmacbpfdescs, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacbpfdescs); } static void @@ -792,9 +796,7 @@ mac_init_label(label); MAC_PERFORM(init_cred_label, label); -#ifdef MAC_DEBUG - atomic_add_int(&nmaccreds, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmaccreds); } void @@ -810,9 +812,7 @@ mac_init_label(&de->de_label); MAC_PERFORM(init_devfsdirent_label, &de->de_label); -#ifdef MAC_DEBUG - atomic_add_int(&nmacdevfsdirents, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacdevfsdirents); } static void @@ -821,9 +821,7 @@ mac_init_label(label); MAC_PERFORM(init_ifnet_label, label); -#ifdef MAC_DEBUG - atomic_add_int(&nmacifnets, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacifnets); } void @@ -844,11 +842,9 @@ if (error) { MAC_PERFORM(destroy_ipq_label, &ipq->ipq_label); mac_destroy_label(&ipq->ipq_label); + } else { + MAC_DEBUG_COUNTER_INC(&nmacipqs); } -#ifdef MAC_DEBUG - if (error == 0) - atomic_add_int(&nmacipqs, 1); -#endif return (error); } @@ -865,11 +861,9 @@ if (error) { MAC_PERFORM(destroy_mbuf_label, label); mac_destroy_label(label); + } else { + MAC_DEBUG_COUNTER_INC(&nmacmbufs); } -#ifdef MAC_DEBUG - if (error == 0) - atomic_add_int(&nmacmbufs, 1); -#endif return (error); } @@ -912,9 +906,7 @@ mac_init_label(&mp->mnt_fslabel); MAC_PERFORM(init_mount_label, &mp->mnt_mntlabel); MAC_PERFORM(init_mount_fs_label, &mp->mnt_fslabel); -#ifdef MAC_DEBUG - atomic_add_int(&nmacmounts, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacmounts); } static void @@ -923,9 +915,7 @@ mac_init_label(label); MAC_PERFORM(init_pipe_label, label); -#ifdef MAC_DEBUG - atomic_add_int(&nmacpipes, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacpipes); } void @@ -945,9 +935,7 @@ mac_init_label(&p->p_label); MAC_PERFORM(init_proc_label, &p->p_label); -#ifdef MAC_DEBUG - atomic_add_int(&nmacprocs, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacprocs); } static int @@ -961,13 +949,10 @@ if (error) { MAC_PERFORM(destroy_socket_label, label); mac_destroy_label(label); + } else { + MAC_DEBUG_COUNTER_INC(&nmacsockets); } -#ifdef MAC_DEBUG - if (error == 0) - atomic_add_int(&nmacsockets, 1); -#endif - return (error); } @@ -1009,9 +994,7 @@ mac_init_label(label); MAC_PERFORM(init_vnode_label, label); -#ifdef MAC_DEBUG - atomic_add_int(&nmacvnodes, 1); -#endif + MAC_DEBUG_COUNTER_INC(&nmacvnodes); } void @@ -1027,9 +1010,7 @@ MAC_PERFORM(destroy_bpfdesc_label, &bpf_d->bd_label); mac_destroy_label(&bpf_d->bd_label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacbpfdescs, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacbpfdescs); } static void @@ -1038,9 +1019,7 @@ MAC_PERFORM(destroy_cred_label, label); mac_destroy_label(label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmaccreds, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmaccreds); } void @@ -1056,9 +1035,7 @@ MAC_PERFORM(destroy_devfsdirent_label, &de->de_label); mac_destroy_label(&de->de_label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacdevfsdirents, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacdevfsdirents); } static void @@ -1067,9 +1044,7 @@ MAC_PERFORM(destroy_ifnet_label, label); mac_destroy_label(label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacifnets, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacifnets); } void @@ -1085,9 +1060,7 @@ MAC_PERFORM(destroy_ipq_label, &ipq->ipq_label); mac_destroy_label(&ipq->ipq_label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacipqs, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacipqs); } void @@ -1099,9 +1072,7 @@ MAC_PERFORM(destroy_mbuf_label, label); mac_destroy_label(label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacmbufs, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacmbufs); } void @@ -1112,9 +1083,7 @@ MAC_PERFORM(destroy_mount_fs_label, &mp->mnt_fslabel); mac_destroy_label(&mp->mnt_fslabel); mac_destroy_label(&mp->mnt_mntlabel); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacmounts, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacmounts); } static void @@ -1123,9 +1092,7 @@ MAC_PERFORM(destroy_pipe_label, label); mac_destroy_label(label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacpipes, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacpipes); } void @@ -1142,9 +1109,7 @@ MAC_PERFORM(destroy_proc_label, &p->p_label); mac_destroy_label(&p->p_label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacprocs, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacprocs); } static void @@ -1153,9 +1118,7 @@ MAC_PERFORM(destroy_socket_label, label); mac_destroy_label(label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacsockets, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacsockets); } static void @@ -1180,9 +1143,7 @@ MAC_PERFORM(destroy_vnode_label, label); mac_destroy_label(label); -#ifdef MAC_DEBUG - atomic_subtract_int(&nmacvnodes, 1); -#endif + MAC_DEBUG_COUNTER_DEC(&nmacvnodes); } void From owner-p4-projects@FreeBSD.ORG Thu Jul 31 19:19:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A406237B404; Thu, 31 Jul 2003 19:19:46 -0700 (PDT) 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 5324937B401 for ; Thu, 31 Jul 2003 19:19:46 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E15F643FE0 for ; Thu, 31 Jul 2003 19:19:45 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h712Jj0U028268 for ; Thu, 31 Jul 2003 19:19:45 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h712JjU4028265 for perforce@freebsd.org; Thu, 31 Jul 2003 19:19:45 -0700 (PDT) Date: Thu, 31 Jul 2003 19:19:45 -0700 (PDT) Message-Id: <200308010219.h712JjU4028265@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35307 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: Fri, 01 Aug 2003 02:19:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=35307 Change 35307 by rwatson@rwatson_tislabs on 2003/07/31 19:19:45 Attempt to de-interlace ifdef'd code in the name of readability. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#396 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#396 (text+ko) ==== @@ -121,7 +121,6 @@ */ static int ea_warn_once = 0; -#ifndef MAC_ALWAYS_LABEL_MBUF /* * Flag to indicate whether or not we should allocate label storage for * new mbufs. Since most dynamic policies we currently work with don't @@ -133,6 +132,7 @@ * already has to deal with uninitialized labels, this probably won't * be a problem. Note: currently no locking. Will this be a problem? */ +#ifndef MAC_ALWAYS_LABEL_MBUF static int mac_labelmbufs = 0; #endif @@ -520,36 +520,28 @@ /* * After the policy list has changed, walk the list to update any global - * flags. + * flags. Currently, we support only one flag, and it's conditionally + * defined; as a result, the entire function is conditional. Eventually, + * the #else case might also iterate across the policies. */ static void mac_policy_updateflags(void) { +#ifndef MAC_ALWAYS_LABEL_MBUF struct mac_policy_conf *tmpc; -#ifndef MAC_ALWAYS_LABEL_MBUF int labelmbufs; -#endif mac_policy_assert_exclusive(); -#ifndef MAC_ALWAYS_LABEL_MBUF labelmbufs = 0; -#endif - LIST_FOREACH(tmpc, &mac_static_policy_list, mpc_list) { -#ifndef MAC_ALWAYS_LABEL_MBUF if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; -#endif } LIST_FOREACH(tmpc, &mac_policy_list, mpc_list) { -#ifndef MAC_ALWAYS_LABEL_MBUF if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; -#endif } - -#ifndef MAC_ALWAYS_LABEL_MBUF mac_labelmbufs = (labelmbufs != 0); #endif } From owner-p4-projects@FreeBSD.ORG Thu Jul 31 19:23:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FB3F37B404; Thu, 31 Jul 2003 19:23:52 -0700 (PDT) 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 0DBF537B401 for ; Thu, 31 Jul 2003 19:23:52 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E99C43FB1 for ; Thu, 31 Jul 2003 19:23:51 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h712Np0U028488 for ; Thu, 31 Jul 2003 19:23:51 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h712NpvH028485 for perforce@freebsd.org; Thu, 31 Jul 2003 19:23:51 -0700 (PDT) Date: Thu, 31 Jul 2003 19:23:51 -0700 (PDT) Message-Id: <200308010223.h712NpvH028485@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35308 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: Fri, 01 Aug 2003 02:23:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=35308 Change 35308 by rwatson@rwatson_tislabs on 2003/07/31 19:22:55 Further attempts to make the mbuf allocation code more readable: try to avoid large indented conditionally defined code blocks. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#397 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#397 (text+ko) ==== @@ -869,24 +869,22 @@ #ifndef MAC_ALWAYS_LABEL_MBUF /* - * Don't reserve space for labels on mbufs unless we have a policy - * that uses the labels. + * If conditionally allocating mbuf labels, don't allocate unless + * they are required. */ - if (mac_labelmbufs) { + if (!mac_labelmbufs) + return (0); #endif - tag = m_tag_get(PACKET_TAG_MACLABEL, sizeof(struct label), - flag); - if (tag == NULL) - return (ENOMEM); - error = mac_init_mbuf_tag(tag, flag); - if (error) { - m_tag_free(tag); - return (error); - } - m_tag_prepend(m, tag); -#ifndef MAC_ALWAYS_LABEL_MBUF + tag = m_tag_get(PACKET_TAG_MACLABEL, sizeof(struct label), + flag); + if (tag == NULL) + return (ENOMEM); + error = mac_init_mbuf_tag(tag, flag); + if (error) { + m_tag_free(tag); + return (error); } -#endif + m_tag_prepend(m, tag); return (0); } From owner-p4-projects@FreeBSD.ORG Thu Jul 31 22:21:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C580537B422; Thu, 31 Jul 2003 22:21:34 -0700 (PDT) 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 DC90537B47F for ; Thu, 31 Jul 2003 22:21:33 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 247E443F75 for ; Thu, 31 Jul 2003 22:21:33 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h715LW0U043733 for ; Thu, 31 Jul 2003 22:21:32 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h715LWon043730 for perforce@freebsd.org; Thu, 31 Jul 2003 22:21:32 -0700 (PDT) Date: Thu, 31 Jul 2003 22:21:32 -0700 (PDT) Message-Id: <200308010521.h715LWon043730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35317 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: Fri, 01 Aug 2003 05:21:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=35317 Change 35317 by marcel@marcel_nfs on 2003/07/31 22:20:54 Add the callout/callin device support from sio(4). Callin devices are named ttyu#, callout devices are named uart#. Affected files ... .. //depot/projects/uart/dev/uart/uart_bus.h#13 edit .. //depot/projects/uart/dev/uart/uart_core.c#15 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_bus.h#13 (text+ko) ==== @@ -96,6 +96,7 @@ void *sc_icookie; int sc_irid; + int sc_callout:1; /* This UART is opened for callout. */ int sc_console:1; /* This UART is a console. */ int sc_dbgport:1; /* This UART is a debug port. */ int sc_fastintr:1; /* This UART uses fast interrupts. */ @@ -116,7 +117,7 @@ int sc_txdatasz; int sc_txfifosz; /* Size of TX FIFO and buffer. */ - dev_t sc_si; + dev_t sc_si[2]; /* We have 2 device special files. */ void *sc_softih; struct tty *sc_tty; uint32_t sc_ttypend; ==== //depot/projects/uart/dev/uart/uart_core.c#15 (text+ko) ==== @@ -55,6 +55,8 @@ MALLOC_DEFINE(M_UART, "UART", "UART driver"); +#define UART_MINOR_CALLOUT 0x10000 + static d_open_t uart_open; static d_close_t uart_close; static d_ioctl_t uart_ioctl; @@ -77,6 +79,7 @@ { struct uart_softc *sc; + KASSERT(tp->t_dev != NULL, ("foo")); sc = tp->t_dev->si_drv1; if (sc == NULL || sc->sc_leaving) return; @@ -95,6 +98,7 @@ struct uart_softc *sc; int databits, parity, stopbits; + KASSERT(tp->t_dev != NULL, ("foo")); sc = tp->t_dev->si_drv1; if (sc == NULL || sc->sc_leaving) return (ENODEV); @@ -120,6 +124,7 @@ UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DTR); if ((t->c_cflag & CRTS_IFLOW) == 0) UART_SETSIG(sc, UART_SIG_DRTS | UART_SIG_RTS); + ttsetwater(tp); return (0); } @@ -128,6 +133,7 @@ { struct uart_softc *sc; + KASSERT(tp->t_dev != NULL, ("foo")); sc = tp->t_dev->si_drv1; if (sc == NULL || sc->sc_leaving) return; @@ -454,13 +460,16 @@ tp = ttymalloc(NULL); sc->sc_tty = tp; - sc->sc_si = make_dev(&uart_cdevsw, device_get_unit(sc->sc_dev), - UID_ROOT, GID_WHEEL, 0600, "%s%r", uart_driver_name, - device_get_unit(sc->sc_dev)); - sc->sc_si->si_drv1 = sc; - sc->sc_si->si_tty = tp; + sc->sc_si[0] = make_dev(&uart_cdevsw, device_get_unit(sc->sc_dev), + UID_ROOT, GID_WHEEL, 0600, "ttyu%r", device_get_unit(sc->sc_dev)); + sc->sc_si[0]->si_drv1 = sc; + sc->sc_si[0]->si_tty = tp; + sc->sc_si[1] = make_dev(&uart_cdevsw, + device_get_unit(sc->sc_dev) | UART_MINOR_CALLOUT, UID_ROOT, + GID_WHEEL, 0600, "uart%r", device_get_unit(sc->sc_dev)); + sc->sc_si[1]->si_drv1 = sc; + sc->sc_si[1]->si_tty = tp; - tp->t_dev = sc->sc_si; tp->t_oproc = uart_tty_oproc; tp->t_param = uart_tty_param; tp->t_stop = uart_tty_stop; @@ -499,7 +508,8 @@ sc->sc_leaving = 1; ithread_remove_handler(sc->sc_softih); - destroy_dev(sc->sc_si); + destroy_dev(sc->sc_si[0]); + destroy_dev(sc->sc_si[1]); /* ttyfree(sc->sc_tty); */ UART_DETACH(sc); @@ -526,30 +536,78 @@ sc = dev->si_drv1; if (sc == NULL || sc->sc_leaving) - return (ENXIO); + return (ENODEV); tp = dev->si_tty; + + loop: if (tp->t_state & TS_ISOPEN) { - if ((tp->t_state & TS_XCLUDE) && suser(td) != 0) + /* + * The device is open, so everything has been initialized. + * Handle conflicts. + */ + if (minor(dev) & UART_MINOR_CALLOUT) { + if (!sc->sc_callout) + return (EBUSY); + } else { + if (sc->sc_callout) { + if (flags & O_NONBLOCK) + return (EBUSY); + error = tsleep(sc, TTIPRI|PCATCH, "uartbi", 0); + sc = dev->si_drv1; + if (sc == NULL || sc->sc_leaving) + return (ENODEV); + if (error) + return (error); + goto loop; + } + } + if (tp->t_state & TS_XCLUDE && suser(td) != 0) return (EBUSY); } else { + /* + * The device isn't open, so there are no conflicts. + * Initialize it. Initialization is done twice in many + * cases: to preempt sleeping callin opens if we are + * callout, and to complete a callin open after DCD rises. + */ + sc->sc_callout = (minor(dev) & UART_MINOR_CALLOUT) ? 1 : 0; + tp->t_dev = dev; + tp->t_cflag = TTYDEF_CFLAG; tp->t_iflag = TTYDEF_IFLAG; tp->t_lflag = TTYDEF_LFLAG; tp->t_oflag = TTYDEF_OFLAG; if (sc->sc_console) { tp->t_cflag |= CLOCAL; + tp->t_cflag &= ~HUPCL; tp->t_ispeed = tp->t_ospeed = uart_console.baudrate; } else tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; error = uart_tty_param(tp, &tp->t_termios); if (error) return (error); - ttsetwater(tp); + /* + * Handle initial DCD. + */ + if ((UART_GETSIG(sc) & UART_SIG_DCD) || sc->sc_callout) + (*linesw[tp->t_line].l_modem)(tp, 1); + } + /* + * Wait for DCD if necessary. + */ + if (!(tp->t_state & TS_CARR_ON) && !sc->sc_callout && + !(tp->t_cflag & CLOCAL) && !(flags & O_NONBLOCK)) { + error = tsleep(TSA_CARR_ON(tp), TTIPRI|PCATCH, "uartdcd", 0); + sc = dev->si_drv1; + if (sc == NULL || sc->sc_leaving) + return (ENODEV); + if (error) + return (error); + goto loop; } - error = ttyopen(dev, tp); - if (error == 0) + if (!error) error = (*linesw[tp->t_line].l_open)(dev, tp); return (error); } @@ -557,17 +615,24 @@ static int uart_close(dev_t dev, int flags, int mode, struct thread *td) { + struct uart_softc *sc; struct tty *tp; + sc = dev->si_drv1; + if (sc == NULL || sc->sc_leaving) + return (ENODEV); + tp = dev->si_tty; - if (!(tp->t_state & TS_ISOPEN)) return (0); - /* XXX reset UART line and modem signals. */ + if (!sc->sc_console) + UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DRTS); (*linesw[tp->t_line].l_close)(tp, flags); ttyclose(tp); + wakeup(sc); + wakeup(TSA_CARR_ON(tp)); return (0); } @@ -580,7 +645,7 @@ sc = dev->si_drv1; if (sc == NULL || sc->sc_leaving) - return (ENXIO); + return (ENODEV); tp = dev->si_tty; error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flags, td); From owner-p4-projects@FreeBSD.ORG Thu Jul 31 22:30:48 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A47A37B404; Thu, 31 Jul 2003 22:30:48 -0700 (PDT) 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 B0C7737B401 for ; Thu, 31 Jul 2003 22:30:47 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3DC4943F85 for ; Thu, 31 Jul 2003 22:30:46 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h715Uj0U044348 for ; Thu, 31 Jul 2003 22:30:45 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h715Uidl044333 for perforce@freebsd.org; Thu, 31 Jul 2003 22:30:44 -0700 (PDT) Date: Thu, 31 Jul 2003 22:30:44 -0700 (PDT) Message-Id: <200308010530.h715Uidl044333@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35318 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: Fri, 01 Aug 2003 05:30:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=35318 Change 35318 by marcel@marcel_nfs on 2003/07/31 22:30:26 IFC @35316 Affected files ... .. //depot/projects/ia64/contrib/smbfs/mount_smbfs/mount_smbfs.8#4 integrate .. //depot/projects/ia64/gnu/usr.bin/cc/cc_int/Makefile#9 integrate .. //depot/projects/ia64/lib/libc/gen/arc4random.3#4 integrate .. //depot/projects/ia64/lib/libc/stdlib/random.3#3 integrate .. //depot/projects/ia64/lib/libkvm/kvm.c#6 integrate .. //depot/projects/ia64/lib/libkvm/kvm.h#4 integrate .. //depot/projects/ia64/lib/libkvm/kvm_file.c#3 integrate .. //depot/projects/ia64/lib/libkvm/kvm_getswapinfo.c#4 integrate .. //depot/projects/ia64/lib/libkvm/kvm_proc.c#19 integrate .. //depot/projects/ia64/lib/libpthread/arch/amd64/amd64/enter_uts.S#2 integrate .. //depot/projects/ia64/lib/libpthread/arch/amd64/include/ksd.h#2 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/_atomic_lock.S#2 delete .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_enter_uts.S#4 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_getcontext.S#2 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_switch.S#7 delete .. //depot/projects/ia64/lib/libpthread/arch/i386/include/pthread_md.h#4 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_concurrency.c#5 integrate .. //depot/projects/ia64/release/Makefile#63 integrate .. //depot/projects/ia64/release/alpha/dokern.sh#11 delete .. //depot/projects/ia64/release/alpha/drivers.conf#16 delete .. //depot/projects/ia64/release/alpha/fixit_crunch.conf#6 delete .. //depot/projects/ia64/sbin/atm/fore_dnld/fore_dnld.8#3 integrate .. //depot/projects/ia64/sbin/atm/fore_dnld/fore_dnld.c#4 integrate .. //depot/projects/ia64/sbin/atm/fore_dnld/pca200e.c#2 integrate .. //depot/projects/ia64/share/man/man4/puc.4#3 integrate .. //depot/projects/ia64/sys/conf/files.alpha#21 integrate .. //depot/projects/ia64/sys/conf/files.amd64#8 integrate .. //depot/projects/ia64/sys/conf/files.i386#40 integrate .. //depot/projects/ia64/sys/conf/files.ia64#42 integrate .. //depot/projects/ia64/sys/ddb/db_command.c#14 integrate .. //depot/projects/ia64/sys/ddb/db_output.c#4 integrate .. //depot/projects/ia64/sys/ddb/db_ps.c#21 integrate .. //depot/projects/ia64/sys/ddb/ddb.h#9 integrate .. //depot/projects/ia64/sys/dev/amd/amd.c#7 integrate .. //depot/projects/ia64/sys/dev/firewire/firewire.h#10 integrate .. //depot/projects/ia64/sys/dev/firewire/firewirereg.h#20 integrate .. //depot/projects/ia64/sys/dev/firewire/fwdev.c#18 integrate .. //depot/projects/ia64/sys/dev/firewire/fwohci.c#30 integrate .. //depot/projects/ia64/sys/dev/firewire/if_fwe.c#16 integrate .. //depot/projects/ia64/sys/dev/firewire/sbp.c#40 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_aali.h#2 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_command.c#5 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_init.c#4 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_intr.c#2 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_output.c#6 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_var.h#4 integrate .. //depot/projects/ia64/sys/dev/hfa/fore_vcm.c#2 integrate .. //depot/projects/ia64/sys/dev/hfa/hfa_freebsd.c#5 integrate .. //depot/projects/ia64/sys/dev/hfa/hfa_freebsd.h#2 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#26 integrate .. //depot/projects/ia64/sys/dev/pdq/if_fea.c#6 integrate .. //depot/projects/ia64/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/ia64/sys/dev/ppc/ppc_puc.c#1 branch .. //depot/projects/ia64/sys/dev/ppc/ppcvar.h#1 branch .. //depot/projects/ia64/sys/dev/puc/puc.c#18 integrate .. //depot/projects/ia64/sys/i386/i386/sys_machdep.c#19 integrate .. //depot/projects/ia64/sys/isa/ppc.c#8 delete .. //depot/projects/ia64/sys/isa/ppcreg.h#2 delete .. //depot/projects/ia64/sys/kern/kern_ktr.c#13 integrate .. //depot/projects/ia64/sys/kern/kern_mutex.c#29 integrate .. //depot/projects/ia64/sys/kern/subr_witness.c#37 integrate .. //depot/projects/ia64/sys/kern/sys_generic.c#26 integrate .. //depot/projects/ia64/sys/netinet/ip_dummynet.c#21 integrate .. //depot/projects/ia64/sys/security/mac_biba/mac_biba.c#20 integrate .. //depot/projects/ia64/sys/security/mac_mls/mac_mls.c#20 integrate .. //depot/projects/ia64/sys/sys/lock.h#8 integrate .. //depot/projects/ia64/sys/vm/swap_pager.c#35 integrate .. //depot/projects/ia64/sys/vm/swap_pager.h#12 integrate .. //depot/projects/ia64/tools/regression/README#7 integrate .. //depot/projects/ia64/tools/regression/pipe/Makefile#1 branch .. //depot/projects/ia64/tools/regression/pipe/bigpipetest.c#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/ada.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/current.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/default.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/dsa.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/dwp.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/experimental.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/releng_4.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/stanley.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/experimental.rc#2 integrate .. //depot/projects/ia64/usr.sbin/i4b/isdnd/support.c#4 integrate .. //depot/projects/ia64/usr.sbin/lpr/common_source/lp.local.h#3 integrate .. //depot/projects/ia64/usr.sbin/pstat/pstat.8#7 integrate .. //depot/projects/ia64/usr.sbin/pstat/pstat.c#13 integrate Differences ... ==== //depot/projects/ia64/contrib/smbfs/mount_smbfs/mount_smbfs.8#4 (text+ko) ==== @@ -1,4 +1,5 @@ .\" $Id: mount_smbfs.8,v 1.10 2002/04/16 02:47:41 bp Exp $ +.\" $FreeBSD: src/contrib/smbfs/mount_smbfs/mount_smbfs.8,v 1.2 2003/07/31 11:50:01 simon Exp $ .Dd March 10, 2000 .Dt MOUNT_SMBFS 8 .Os @@ -127,7 +128,7 @@ .It Pa ~/.nsmbrc Keeps static parameters for connections and other information. See -.Pa ./examples/dot.nsmbrc +.Pa /usr/share/examples/smbfs/dot.nsmbrc for details. .El .Sh EXAMPLES ==== //depot/projects/ia64/gnu/usr.bin/cc/cc_int/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.34 2003/07/11 05:37:23 kan Exp $ +# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.35 2003/07/31 19:41:32 obrien Exp $ .include "../Makefile.inc" @@ -27,6 +27,9 @@ attribs.c cselib.c debug.c rtl-error.c tree-dump.c tree-inline.c SRCS+= ${GCC_CPU}.c +.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-c.c) +SRCS+= ${GCC_CPU}-c.c +.endif SRCS+= bb-reorder.c conflict.c ggc-common.c \ ggc-page.c ifcvt.c lists.c predict.c regrename.c resource.c sibcall.c \ ==== //depot/projects/ia64/lib/libc/gen/arc4random.3#4 (text+ko) ==== @@ -28,7 +28,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" Manual page, using -mandoc macros -.\" $FreeBSD: src/lib/libc/gen/arc4random.3,v 1.15 2003/05/22 13:02:26 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/arc4random.3,v 1.16 2003/07/31 06:18:24 das Exp $ .\" .Dd April 15, 1997 .Dt ARC4RANDOM 3 @@ -62,9 +62,11 @@ .Fn arc4random function returns pseudo-random numbers in the range of 0 to .if t 2\u\s731\s10\d\(mi1, -.if n (2**31)\(mi1, +.if n (2**32)\(mi1, and therefore has twice the range of -.Dv RAND_MAX . +.Xr rand 3 +and +.Xr random 3 . .Pp The .Fn arc4random_stir ==== //depot/projects/ia64/lib/libc/stdlib/random.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)random.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/stdlib/random.3,v 1.18 2003/05/31 21:14:41 schweikh Exp $ +.\" $FreeBSD: src/lib/libc/stdlib/random.3,v 1.19 2003/07/31 06:18:34 das Exp $ .\" .Dd June 4, 1993 .Dt RANDOM 3 @@ -174,6 +174,7 @@ detects that the state information has been garbled, error messages are printed on the standard error output. .Sh SEE ALSO +.Xr arc4random 3 , .Xr rand 3 , .Xr srand 3 , .Xr random 4 @@ -189,3 +190,6 @@ random sequence did not vary much with the seed. The current implementation employs a better pseudo-random number generator for the initial state calculation. +.Pp +Applications requiring cryptographic quality randomness should use +.Xr arc4random 3 . ==== //depot/projects/ia64/lib/libkvm/kvm.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm.c,v 1.23 2002/09/11 16:41:39 nectar Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm.c,v 1.24 2003/07/31 21:44:31 phk Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 @@ -54,7 +54,6 @@ #include #include -#include #include ==== //depot/projects/ia64/lib/libkvm/kvm.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kvm.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/lib/libkvm/kvm.h,v 1.14 2002/08/21 16:19:57 mike Exp $ + * $FreeBSD: src/lib/libkvm/kvm.h,v 1.15 2003/07/31 21:30:28 phk Exp $ */ #ifndef _KVM_H_ @@ -69,7 +69,6 @@ int ksw_reserved2; }; -#define SWIF_DUMP_TREE 0x0001 #define SWIF_DEV_PREFIX 0x0002 __BEGIN_DECLS ==== //depot/projects/ia64/lib/libkvm/kvm_file.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_file.c,v 1.16 2002/03/21 23:38:09 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_file.c,v 1.17 2003/07/31 21:44:31 phk Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 @@ -60,7 +60,6 @@ #include #include -#include #include ==== //depot/projects/ia64/lib/libkvm/kvm_getswapinfo.c#4 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_getswapinfo.c,v 1.21 2003/01/11 01:09:51 dillon Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_getswapinfo.c,v 1.25 2003/07/31 21:42:12 phk Exp $"); #include #include @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -33,53 +32,18 @@ #include "kvm_private.h" -static struct nlist kvm_swap_nl[] = { - { "_swapblist" }, /* new radix swap list */ - { "_swdevt" }, /* list of swap devices and sizes */ - { "_nswdev" }, /* number of swap devices */ - { "_dmmax" }, /* maximum size of a swap block */ - { "" } -}; - #define NL_SWAPBLIST 0 #define NL_SWDEVT 1 #define NL_NSWDEV 2 #define NL_DMMAX 3 static int kvm_swap_nl_cached = 0; -static int nswdev; static int unswdev; /* number of found swap dev's */ static int dmmax; -static void getswapinfo_radix(kvm_t *kd, struct kvm_swap *swap_ary, - int swap_max, int flags); -static int kvm_getswapinfo2(kvm_t *kd, struct kvm_swap *swap_ary, - int swap_max, int flags); -static int kvm_getswapinfo_kvm(kvm_t *, struct kvm_swap *, int, int); static int kvm_getswapinfo_sysctl(kvm_t *, struct kvm_swap *, int, int); -static int nlist_init(kvm_t *); static int getsysctl(kvm_t *, char *, void *, size_t); -#define SVAR(var) __STRING(var) /* to force expansion */ -#define KGET(idx, var) \ - KGET1(idx, &var, sizeof(var), SVAR(var)) -#define KGET1(idx, p, s, msg) \ - KGET2(kvm_swap_nl[idx].n_value, p, s, msg) -#define KGET2(addr, p, s, msg) \ - if (kvm_read(kd, (u_long)(addr), p, s) != s) \ - warnx("cannot read %s: %s", msg, kvm_geterr(kd)) -#define KGETN(idx, var) \ - KGET1N(idx, &var, sizeof(var), SVAR(var)) -#define KGET1N(idx, p, s, msg) \ - KGET2N(kvm_swap_nl[idx].n_value, p, s, msg) -#define KGET2N(addr, p, s, msg) \ - ((kvm_read(kd, (u_long)(addr), p, s) == s) ? 1 : 0) -#define KGETRET(addr, p, s, msg) \ - if (kvm_read(kd, (u_long)(addr), p, s) != s) { \ - warnx("cannot read %s: %s", msg, kvm_geterr(kd)); \ - return (0); \ - } - #define GETSWDEVNAME(dev, str, flags) \ if (dev == NODEV) { \ strlcpy(str, "[NFS swap]", sizeof(str)); \ @@ -98,10 +62,6 @@ int swap_max, int flags ) { - int rv; -#ifdef DEBUG_SWAPINFO - int i; -#endif /* * clear cache @@ -111,344 +71,13 @@ return(0); } - rv = kvm_getswapinfo2(kd, swap_ary, swap_max, flags); - - /* This is only called when the tree shall be dumped. It needs kvm. */ - if (flags & SWIF_DUMP_TREE) { -#ifdef DEBUG_SWAPINFO - /* - * sanity check: Sizes must be equal - used field must be - * 0 after this. Fill it with total-used before, where - * getswapinfo_radix will subtrat total-used. - * This will of course only work if there is no swap activity - * while we are working, so this code is normally not active. - */ - for (i = 0; i < unswdev; i++) { - swap_ary[i].ksw_used = swap_ary[i].ksw_total - - swap_ary[i].ksw_used; - } -#endif - getswapinfo_radix(kd, swap_ary, swap_max, flags); -#ifdef DEBUG_SWAPINFO - for (i = 0; i < unswdev; i++) { - if (swap_ary[i].ksw_used != 0) { - fprintf(stderr, "kvm_getswapinfo: swap size " - "mismatch (%d blocks)!\n", - swap_ary[i].ksw_used - ); - } - } - /* This is fast enough now, so just do it again. */ - rv = kvm_getswapinfo2(kd, swap_ary, swap_max, flags); -#endif - } - - return rv; -} - -static int -kvm_getswapinfo2( - kvm_t *kd, - struct kvm_swap *swap_ary, - int swap_max, - int flags -) { if (ISALIVE(kd)) { return kvm_getswapinfo_sysctl(kd, swap_ary, swap_max, flags); } else { - return kvm_getswapinfo_kvm(kd, swap_ary, swap_max, flags); - } -} - -int -kvm_getswapinfo_kvm( - kvm_t *kd, - struct kvm_swap *swap_ary, - int swap_max, - int flags -) { - int ti = 0; - - /* - * namelist - */ - if (!nlist_init(kd)) - return (-1); - - { - struct swdevt *sw; - int i; - - ti = unswdev; - if (ti >= swap_max) - ti = swap_max - 1; - - if (ti >= 0) - bzero(swap_ary, sizeof(struct kvm_swap) * (ti + 1)); - - KGET(NL_SWDEVT, sw); - for (i = 0; i < unswdev; ++i) { - struct swdevt swinfo; - int ttl; - - KGET2(&sw[i], &swinfo, sizeof(swinfo), "swinfo"); - - /* - * old style: everything in DEV_BSIZE'd chunks, - * convert to pages. - * - * new style: swinfo in DEV_BSIZE'd chunks but dmmax - * in pages. - * - * The first dmmax is never allocating to avoid - * trashing the disklabels - */ - - ttl = swinfo.sw_nblks - dmmax; - - if (ttl == 0) - continue; - - if (i < ti) { - swap_ary[i].ksw_total = ttl; - swap_ary[i].ksw_used = swinfo.sw_used; - swap_ary[i].ksw_flags = swinfo.sw_flags; - GETSWDEVNAME(swinfo.sw_dev, - swap_ary[i].ksw_devname, flags - ); - } - if (ti >= 0) { - swap_ary[ti].ksw_total += ttl; - swap_ary[ti].ksw_used += swinfo.sw_used; - } - } - } - - return(ti); -} - -/* - * scanradix() - support routine for radix scanner - */ - -#define TABME tab, tab, "" - -static int -scanradix( - blmeta_t *scan, - daddr_t blk, - daddr_t radix, - daddr_t skip, - daddr_t count, - kvm_t *kd, - int dmmax, - int nswdev, - struct kvm_swap *swap_ary, - int swap_max, - int tab, - int flags -) { - blmeta_t meta; -#ifdef DEBUG_SWAPINFO - int ti = (unswdev >= swap_max) ? swap_max - 1 : unswdev; -#endif - - KGET2(scan, &meta, sizeof(meta), "blmeta_t"); - - /* - * Terminator - */ - if (meta.bm_bighint == (daddr_t)-1) { - if (flags & SWIF_DUMP_TREE) { - printf("%*.*s(0x%06x,%d) Terminator\n", - TABME, - blk, - radix - ); - } - return(-1); - } - - if (radix == BLIST_BMAP_RADIX) { - /* - * Leaf bitmap - */ -#ifdef DEBUG_SWAPINFO - int i; -#endif - - if (flags & SWIF_DUMP_TREE) { - printf("%*.*s(0x%06x,%d) Bitmap %08x big=%d\n", - TABME, - blk, - radix, - (int)meta.u.bmu_bitmap, - meta.bm_bighint - ); - } - -#ifdef DEBUG_SWAPINFO - /* - * If not all allocated, count. - */ - if (meta.u.bmu_bitmap != 0) { - for (i = 0; i < BLIST_BMAP_RADIX && i < count; ++i) { - /* - * A 0 bit means allocated - */ - if ((meta.u.bmu_bitmap & (1 << i))) { - int t = 0; - - if (nswdev) - t = (blk + i) / dmmax % nswdev; - if (t < ti) - --swap_ary[t].ksw_used; - if (ti >= 0) - --swap_ary[ti].ksw_used; - } - } - } -#endif - } else if (meta.u.bmu_avail == radix) { - /* - * Meta node if all free - */ - if (flags & SWIF_DUMP_TREE) { - printf("%*.*s(0x%06x,%d) Submap ALL-FREE {\n", - TABME, - blk, - radix - ); - } -#ifdef DEBUG_SWAPINFO - /* - * Note: both dmmax and radix are powers of 2. However, dmmax - * may be larger then radix so use a smaller increment if - * necessary. - */ - { - int t; - int tinc = dmmax; - - while (tinc > radix) - tinc >>= 1; - - for (t = blk; t < blk + radix; t += tinc) { - int u = (nswdev) ? (t / dmmax % nswdev) : 0; - - if (u < ti) - swap_ary[u].ksw_used -= tinc; - if (ti >= 0) - swap_ary[ti].ksw_used -= tinc; - } - } -#endif - } else if (meta.u.bmu_avail == 0) { - /* - * Meta node if all used - */ - if (flags & SWIF_DUMP_TREE) { - printf("%*.*s(0x%06x,%d) Submap ALL-ALLOCATED\n", - TABME, - blk, - radix - ); - } - } else { - /* - * Meta node if not all free - */ - int i; - int next_skip; - - if (flags & SWIF_DUMP_TREE) { - printf("%*.*s(0x%06x,%d) Submap avail=%d big=%d {\n", - TABME, - blk, - radix, - (int)meta.u.bmu_avail, - meta.bm_bighint - ); - } - - radix /= BLIST_META_RADIX; - next_skip = skip / BLIST_META_RADIX; - - for (i = 1; i <= skip; i += next_skip) { - int r; - daddr_t vcount = (count > radix) ? radix : count; - - r = scanradix( - &scan[i], - blk, - radix, - next_skip - 1, - vcount, - kd, - dmmax, - nswdev, - swap_ary, - swap_max, - tab + 4, - flags - ); - if (r < 0) - break; - blk += radix; - } - if (flags & SWIF_DUMP_TREE) { - printf("%*.*s}\n", TABME); - } + return -1; } - return(0); } -static void -getswapinfo_radix(kvm_t *kd, struct kvm_swap *swap_ary, int swap_max, int flags) -{ - struct blist *swapblist = NULL; - struct blist blcopy = { 0 }; - - if (!nlist_init(kd)) { - fprintf(stderr, "radix tree: nlist_init failed!\n"); - return; - } - - KGET(NL_SWAPBLIST, swapblist); - - if (swapblist == NULL) { - if (flags & SWIF_DUMP_TREE) - printf("radix tree: NULL - no swap in system\n"); - return; - } - - KGET2(swapblist, &blcopy, sizeof(blcopy), "*swapblist"); - - if (flags & SWIF_DUMP_TREE) { - printf("radix tree: %d/%d/%d blocks, %dK wired\n", - blcopy.bl_free, - blcopy.bl_blocks, - blcopy.bl_radix, - (int)((blcopy.bl_rootblks * sizeof(blmeta_t) + 1023)/ - 1024) - ); - } - scanradix( - blcopy.bl_root, - 0, - blcopy.bl_radix, - blcopy.bl_skip, - blcopy.bl_rootblks, - kd, - dmmax, - nswdev, - swap_ary, - swap_max, - 0, - flags - ); -} - #define GETSYSCTL(kd, name, var) \ getsysctl(kd, name, &(var), sizeof(var)) @@ -522,53 +151,6 @@ } static int -nlist_init ( - kvm_t *kd -) { - struct swdevt *sw; - - if (kvm_swap_nl_cached) - return (1); - - if (kvm_nlist(kd, kvm_swap_nl) < 0) - return (0); - - /* - * required entries - */ - if ( - kvm_swap_nl[NL_SWDEVT].n_value == 0 || - kvm_swap_nl[NL_NSWDEV].n_value == 0 || - kvm_swap_nl[NL_DMMAX].n_value == 0 || - kvm_swap_nl[NL_SWAPBLIST].n_type == 0 - ) { - return (0); - } - - /* - * get globals, type of swap - */ - KGET(NL_NSWDEV, nswdev); - KGET(NL_DMMAX, dmmax); - - /* - * figure out how many actual swap devices are enabled - */ - KGET(NL_SWDEVT, sw); - for (unswdev = nswdev - 1; unswdev >= 0; --unswdev) { - struct swdevt swinfo; - - KGET2(&sw[unswdev], &swinfo, sizeof(swinfo), "swinfo"); - if (swinfo.sw_nblks) - break; - } - ++unswdev; - - kvm_swap_nl_cached = 1; - return (1); -} - -static int getsysctl ( kvm_t *kd, char *name, ==== //depot/projects/ia64/lib/libkvm/kvm_proc.c#19 (text+ko) ==== @@ -42,7 +42,7 @@ #endif #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_proc.c,v 1.69 2003/06/15 03:42:04 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_proc.c,v 1.70 2003/07/31 21:44:31 phk Exp $"); /* * Proc traversal interface for kvm. ps and w are (probably) the exclusive @@ -69,7 +69,6 @@ #include #include -#include #include ==== //depot/projects/ia64/lib/libpthread/arch/amd64/amd64/enter_uts.S#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libpthread/arch/amd64/amd64/enter_uts.S,v 1.1 2003/07/19 04:44:21 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/arch/amd64/amd64/enter_uts.S,v 1.2 2003/07/31 08:50:01 davidxu Exp $"); /* @@ -34,8 +34,8 @@ */ ENTRY(_amd64_enter_uts) addq %rcx, %rdx /* get stack base */ - andq -15, %rdx /* align to 16 bytes */ + andq $-15, %rdx /* align to 16 bytes */ movq %rdx, %rsp /* switch to UTS stack */ movq %rdx, %rbp /* set frame */ - jmp *(%rsi) /* jump to UTS entry point */ + pushq %rsi ret ==== //depot/projects/ia64/lib/libpthread/arch/amd64/include/ksd.h#2 (text+ko) ==== @@ -26,13 +26,15 @@ */ /* - * $FreeBSD: src/lib/libpthread/arch/amd64/include/ksd.h,v 1.1 2003/07/19 04:44:21 deischen Exp $ + * $FreeBSD: src/lib/libpthread/arch/amd64/include/ksd.h,v 1.3 2003/07/31 22:06:36 davidxu Exp $ */ #ifndef _KSD_H_ #define _KSD_H_ #include +#include +extern int sysarch(int, void *); struct kse; struct pthread; @@ -55,7 +57,7 @@ __ksd_type(name) __result; \ \ u_long __i; \ - __asm __volatile("movq %%gs:%1, %0" \ + __asm __volatile("movq %%fs:%1, %0" \ : "=r" (__i) \ : "m" (*(u_long *)(__ksd_offset(name)))); \ __result = *(__ksd_type(name) *)&__i; \ @@ -71,7 +73,7 @@ \ u_long __i; \ __i = *(u_long *)&__val; \ - __asm __volatile("movq %1,%%gs:%0" \ + __asm __volatile("movq %1,%%fs:%0" \ : "=m" (*(u_long *)(__ksd_offset(name))) \ : "r" (__i)); \ }) @@ -83,7 +85,7 @@ __asm __volatile ( " xorq %0, %0;" - " xchgq %%gs:%1, %0;" + " xchgq %%fs:%1, %0;" "# __ksd_readandclear64" : "=&r" (result) : "m" (*addr)); @@ -124,12 +126,7 @@ static __inline int _ksd_setprivate(struct ksd *ksd) { - /* - * Make it fail; only the kernel can do this on amd64. - * This interface is going to be removed. The KSD - * will be set by the kernel when the kse is created. - */ - return (-1); + return (sysarch(AMD64_SET_FSBASE, &ksd->base)); } #endif ==== //depot/projects/ia64/lib/libpthread/arch/i386/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libpthread/arch/i386/Makefile.inc,v 1.1 2003/06/23 04:28:31 marcel Exp $ +# $FreeBSD: src/lib/libpthread/arch/i386/Makefile.inc,v 1.2 2003/07/31 21:09:10 deischen Exp $ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} -SRCS+= ksd.c thr_enter_uts.S thr_getcontext.S thr_switch.S +SRCS+= ksd.c thr_enter_uts.S thr_getcontext.S ==== //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_enter_uts.S#4 (text+ko) ==== @@ -26,76 +26,20 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/thr_enter_uts.S,v 1.4 2003/04/18 05:00:52 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/thr_enter_uts.S,v 1.5 2003/07/31 21:09:10 deischen Exp $"); -/* - * Where do we define these? - */ -#define MC_SIZE 640 /* sizeof mcontext_t */ -#define UC_MC_OFFSET 16 /* offset to mcontext from ucontext */ -#define MC_LEN_OFFSET 80 /* offset to mc_len from mcontext */ -#define MC_FP_CW_OFFSET 96 /* offset to FP control word */ -#define MC_FPFMT_OFFSET 84 /* offset to mc_fpformat from mcontext */ -#define MC_FPFMT_NODEV 0x10000 -#define MC_OWNEDFP_OFFSET 88 /* offset to mc_ownedfp from mcontext */ -#define MC_OWNEDFP_NONE 0x20000 -#define KM_STACK_SP_OFFSET 36 /* offset to km_stack.ss_sp */ -#define KM_STACK_SIZE_OFFSET 40 /* offset to km_stack.ss_sp */ -#define KM_FUNC_OFFSET 32 /* offset to km_func */ /* - * int _thread_enter_uts(kse_thr_mailbox *tm, kse_mailbox *km); - * - * Returns 0 on success, -1 otherwise. + * _i386_enter_uts(struct kse_mailbox *km, kse_func_t uts, void *stack, + * long stacksz); + * +4 = km, +8 = uts, +12 = stack, +16 = size */ -ENTRY(_thread_enter_uts) - movl 4(%esp), %eax /* get address of context */ - cmpl $0, %eax /* check for null pointer */ - jne 1f - movl $-1, %eax - jmp 2f -1: pushl %edx /* save value of edx */ - movl %eax, %edx /* get address of context */ - addl $UC_MC_OFFSET, %edx /* add offset to mcontext */ - /*movl %gs, 4(%edx)*/ /* we don't touch %gs */ - movl %fs, 8(%edx) - movl %es, 12(%edx) - movl %ds, 16(%edx) - movl %edi, 20(%edx) - movl %esi, 24(%edx) - movl %ebp, 28(%edx) - movl %ebx, 36(%edx) - movl $0, 48(%edx) /* store successful return in eax */ - popl %eax /* get saved value of edx */ - movl %eax, 40(%edx) /* save edx */ - movl %ecx, 44(%edx) - movl (%esp), %eax /* get return address */ - movl %eax, 60(%edx) /* save return address */ - movl %ss, 76(%edx) - /* - * Don't save floating point registers here. - * - * This is an explicit call to get the current context, so - * the caller is done with the floating point registers. - * Contexts formed by involuntary switches, such as signal delivery, - * have floating point registers saved by the kernel. - */ - fnstcw MC_FP_CW_OFFSET(%edx) - movl $MC_OWNEDFP_NONE, MC_OWNEDFP_OFFSET(%edx) /* no FP */ - movl $MC_FPFMT_NODEV, MC_FPFMT_OFFSET(%edx) /* no FP */ - pushfl /* get eflags */ - popl %eax - movl %eax, 68(%edx) /* store eflags */ - movl %esp, %eax /* setcontext pushes the return */ - addl $4, %eax /* address onto the top of the */ - movl %eax, 72(%edx) /* stack; account for this */ - movl $MC_SIZE, MC_LEN_OFFSET(%edx) /* context is now valid */ - movl 8(%esp), %edx /* get address of mailbox */ - movl KM_STACK_SP_OFFSET(%edx), %eax /* get bottom of stack */ - addl KM_STACK_SIZE_OFFSET(%edx), %eax /* add length */ - movl %eax, %esp /* switch to the uts's stack */ - pushl %edx /* push the address of the mailbox */ - pushl KM_FUNC_OFFSET(%edx) /* .. the uts can return to itself */ - pushl KM_FUNC_OFFSET(%edx) /* push the address of the uts func */ -2: ret - +ENTRY(_i386_enter_uts) + movl %esp, %edx /* save stack */ + movl 12(%edx), %eax /* get bottom of stack */ + addl 16(%edx), %eax /* add length */ + movl %eax, %esp /* switch to uts stack */ + pushl 4(%edx) /* push the address of the mailbox */ + pushl 8(%edx) /* .. the uts can return to itself */ + pushl 8(%edx) /* .. the uts can return to itself */ + ret ==== //depot/projects/ia64/lib/libpthread/arch/i386/i386/thr_getcontext.S#2 (text+ko) ==== @@ -25,12 +25,11 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/thr_getcontext.S,v 1.2 2003/04/18 07:09:42 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/thr_getcontext.S,v 1.3 2003/07/31 21:09:10 deischen Exp $"); /* * Where do we define these? */ -#define UC_MC_OFFSET 16 /* offset to mcontext from ucontext */ #define MC_LEN_OFFSET 80 /* offset to mc_len from mcontext */ #define MC_LEN 640 /* mc_len */ #define MC_FPFMT_OFFSET 84 @@ -45,27 +44,26 @@ #define MC_FP_CW_OFFSET 96 /* offset to FP control word */ /* - * int thr_setcontext(ucontext_t *ucp) + * int thr_setcontext(mcontext_t *mcp, intptr_t val, intptr_t *loc) * - * Restores the context in ucp. + * Restores the context in mcp. * * Returns 0 if there are no errors; -1 otherwise */ .weak CNAME(_thr_setcontext) .set CNAME(_thr_setcontext),CNAME(__thr_setcontext) ENTRY(__thr_setcontext) - movl 4(%esp), %eax /* get address of context and sigset */ - cmpl $0, %eax /* check for null pointer */ + movl 4(%esp), %edx /* get address of mcontext */ + cmpl $0, %edx /* check for null pointer */ jne 1f movl $-1, %eax - jmp 7f -1: addl $UC_MC_OFFSET, %eax /* add offset to mcontext */ - cmpl $MC_LEN, MC_LEN_OFFSET(%eax) /* is context valid? */ + jmp 8f +1: cmpl $MC_LEN, MC_LEN_OFFSET(%edx) /* is context valid? */ je 2f movl $-1, %eax /* bzzzt, invalid context */ - jmp 7f -/*2: movl 4(%edx), %gs*/ /* we don't touch %gs */ -2: movl 8(%edx), %fs + jmp 8f +2: /*movl 4(%edx), %gs*/ /* we don't touch %gs */ + movl 8(%edx), %fs movl 12(%edx), %es movl 16(%edx), %ds movl 76(%edx), %ss @@ -74,12 +72,9 @@ movl 28(%edx), %ebp movl %esp, %ecx /* save current stack in ecx */ movl 72(%edx), %esp /* switch to context defined stack */ - movl 60(%edx), %eax /* put return address at top of stack */ - pushl %eax - movl 44(%edx), %eax /* get ecx from context, */ - pushl %eax /* push on top of stack */ - movl 48(%edx), %eax /* get eax from context, */ - pushl %eax /* push on top of stack */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 31 22:34:54 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 365DB37B404; Thu, 31 Jul 2003 22:34:54 -0700 (PDT) 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 D7E1D37B401 for ; Thu, 31 Jul 2003 22:34:53 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D247143FA3 for ; Thu, 31 Jul 2003 22:34:52 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h715Yq0U045218 for ; Thu, 31 Jul 2003 22:34:52 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h715YqJA045215 for perforce@freebsd.org; Thu, 31 Jul 2003 22:34:52 -0700 (PDT) Date: Thu, 31 Jul 2003 22:34:52 -0700 (PDT) Message-Id: <200308010534.h715YqJA045215@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35320 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: Fri, 01 Aug 2003 05:34:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=35320 Change 35320 by marcel@marcel_nfs on 2003/07/31 22:34:02 IFC @35316 Affected files ... .. //depot/projects/uart/conf/files.alpha#4 integrate .. //depot/projects/uart/conf/files.amd64#2 integrate .. //depot/projects/uart/conf/files.i386#4 integrate .. //depot/projects/uart/conf/files.ia64#4 integrate .. //depot/projects/uart/ddb/db_command.c#2 integrate .. //depot/projects/uart/ddb/db_output.c#2 integrate .. //depot/projects/uart/ddb/db_ps.c#3 integrate .. //depot/projects/uart/ddb/ddb.h#2 integrate .. //depot/projects/uart/dev/amd/amd.c#3 integrate .. //depot/projects/uart/dev/firewire/firewire.h#2 integrate .. //depot/projects/uart/dev/firewire/firewirereg.h#2 integrate .. //depot/projects/uart/dev/firewire/fwdev.c#3 integrate .. //depot/projects/uart/dev/firewire/fwohci.c#5 integrate .. //depot/projects/uart/dev/firewire/if_fwe.c#3 integrate .. //depot/projects/uart/dev/firewire/sbp.c#6 integrate .. //depot/projects/uart/dev/hfa/fore_aali.h#2 integrate .. //depot/projects/uart/dev/hfa/fore_command.c#2 integrate .. //depot/projects/uart/dev/hfa/fore_init.c#2 integrate .. //depot/projects/uart/dev/hfa/fore_intr.c#2 integrate .. //depot/projects/uart/dev/hfa/fore_output.c#2 integrate .. //depot/projects/uart/dev/hfa/fore_var.h#2 integrate .. //depot/projects/uart/dev/hfa/fore_vcm.c#2 integrate .. //depot/projects/uart/dev/hfa/hfa_freebsd.c#2 integrate .. //depot/projects/uart/dev/hfa/hfa_freebsd.h#2 integrate .. //depot/projects/uart/dev/pci/pci.c#3 integrate .. //depot/projects/uart/dev/pdq/if_fea.c#2 integrate .. //depot/projects/uart/dev/ppc/ppc.c#2 integrate .. //depot/projects/uart/dev/ppc/ppc_puc.c#1 branch .. //depot/projects/uart/dev/ppc/ppcvar.h#1 branch .. //depot/projects/uart/dev/puc/puc.c#5 integrate .. //depot/projects/uart/i386/i386/sys_machdep.c#4 integrate .. //depot/projects/uart/isa/ppc.c#2 delete .. //depot/projects/uart/isa/ppcreg.h#2 delete .. //depot/projects/uart/kern/kern_ktr.c#2 integrate .. //depot/projects/uart/kern/kern_mutex.c#4 integrate .. //depot/projects/uart/kern/subr_witness.c#3 integrate .. //depot/projects/uart/kern/sys_generic.c#2 integrate .. //depot/projects/uart/netinet/ip_dummynet.c#3 integrate .. //depot/projects/uart/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/uart/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/uart/sys/lock.h#2 integrate .. //depot/projects/uart/vm/swap_pager.c#5 integrate .. //depot/projects/uart/vm/swap_pager.h#3 integrate Differences ... ==== //depot/projects/uart/conf/files.alpha#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.alpha,v 1.103 2003/07/22 11:41:15 ticso Exp $ +# $FreeBSD: src/sys/conf/files.alpha,v 1.104 2003/08/01 02:25:32 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -197,7 +197,7 @@ isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc -isa/ppc.c optional ppc +dev/ppc/ppc.c optional ppc isa/psm.c optional psm isa/syscons_isa.c optional sc isa/vga_isa.c optional vga ==== //depot/projects/uart/conf/files.amd64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.18 2003/05/31 06:49:53 peter Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.19 2003/08/01 02:25:32 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -130,7 +130,7 @@ isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc -isa/ppc.c optional ppc +dev/ppc/ppc.c optional ppc isa/psm.c optional psm isa/syscons_isa.c optional sc isa/vga_isa.c optional vga ==== //depot/projects/uart/conf/files.i386#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.448 2003/07/22 11:41:15 ticso Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.449 2003/08/01 02:25:32 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -375,7 +375,8 @@ isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc -isa/ppc.c optional ppc +dev/ppc/ppc.c optional ppc +dev/ppc/ppc_puc.c optional ppc puc pci isa/psm.c optional psm isa/syscons_isa.c optional sc isa/vga_isa.c optional vga ==== //depot/projects/uart/conf/files.ia64#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.53 2003/07/02 12:57:06 ru Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.54 2003/08/01 02:25:32 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -115,7 +115,7 @@ isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc -isa/ppc.c optional ppc +dev/ppc/ppc.c optional ppc isa/psm.c optional psm isa/syscons_isa.c optional sc isa/vga_isa.c optional vga ==== //depot/projects/uart/ddb/db_command.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.50 2003/06/10 22:09:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.51 2003/07/31 17:27:52 jhb Exp $"); #include #include @@ -344,6 +344,7 @@ * Execute the command. */ (*cmd->fcn)(addr, have_addr, count, modif); + db_setup_paging(NULL, NULL, -1); if (cmd->flag & CS_SET_DOT) { /* ==== //depot/projects/uart/ddb/db_output.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_output.c,v 1.28 2003/06/10 22:09:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_output.c,v 1.29 2003/07/31 17:27:52 jhb Exp $"); #include #include @@ -62,6 +62,10 @@ #define NEXT_TAB(i) \ ((((i) + db_tab_stop_width) / db_tab_stop_width) * db_tab_stop_width) db_expr_t db_max_width = 79; /* output line width */ +static int db_newlines; /* # lines this page */ +static int db_maxlines = -1; /* max lines per page */ +static db_page_calloutfcn_t *db_page_callout = NULL; +static void *db_page_callout_arg = NULL; static void db_putchar(int c, void *arg); @@ -98,6 +102,7 @@ int c; /* character to output */ void * arg; { + if (c > ' ' && c <= '~') { /* * Printing character. @@ -115,6 +120,13 @@ db_output_position = 0; db_last_non_space = 0; db_check_interrupt(); + if (db_maxlines > 0 && db_page_callout != NULL) { + db_newlines++; + if (db_newlines >= db_maxlines) { + db_maxlines = -1; + db_page_callout(db_page_callout_arg); + } + } } else if (c == '\r') { /* Return */ @@ -139,6 +151,60 @@ } /* + * Register callout for providing a pager for output. + */ +void +db_setup_paging(db_page_calloutfcn_t *callout, void *arg, int maxlines) +{ + + db_page_callout = callout; + db_page_callout_arg = arg; + db_maxlines = maxlines; + db_newlines = 0; +} + +/* + * A simple paging callout function. If the argument is not null, it + * points to an integer that will be set to 1 if the user asks to quit. + */ +void +db_simple_pager(void *arg) +{ + int c; + + db_printf("--More--\r"); + for (;;) { + c = cngetc(); + switch (c) { + case '\n': + /* Just one more line. */ + db_setup_paging(db_simple_pager, arg, 1); + return; + case ' ': + /* Another page. */ + db_setup_paging(db_simple_pager, arg, + DB_LINES_PER_PAGE); + return; + case 'q': + case 'Q': + case 'x': + case 'X': + /* Quit */ + if (arg != NULL) { + *(int *)arg = 1; + db_printf("\n"); + return; + } +#if 0 + /* FALLTHROUGH */ + default: + cnputc('\007'); +#endif + } + } +} + +/* * Return output position */ int ==== //depot/projects/uart/ddb/db_ps.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.47 2003/07/30 20:59:36 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.48 2003/07/31 17:29:42 jhb Exp $"); #include #include @@ -55,13 +55,13 @@ db_expr_t dummy3; char * dummy4; { - int np; - int nl = 0; volatile struct proc *p, *pp; volatile struct thread *td; char *state; + int np, quit; np = nprocs; + quit = 0; /* sx_slock(&allproc_lock); */ if (!LIST_EMPTY(&allproc)) @@ -69,32 +69,9 @@ else p = &proc0; + db_setup_paging(db_simple_pager, &quit, DB_LINES_PER_PAGE); db_printf(" pid proc addr uid ppid pgrp flag stat wmesg wchan cmd\n"); - while (--np >= 0) { - /* - * XXX just take 20 for now... - */ - if (nl++ >= 20) { - int c; - - db_printf("--More--"); - c = cngetc(); - db_printf("\r"); - /* - * A whole screenfull or just one line? - */ - switch (c) { - case '\n': /* just one line */ - nl = 20; - break; - case ' ': - nl = 0; /* another screenfull */ - break; - default: /* exit */ - db_printf("\n"); - return; - } - } + while (--np >= 0 && !quit) { if (p == NULL) { printf("oops, ran out of processes early!\n"); break; @@ -131,7 +108,8 @@ db_printf("(threaded) %s\n", p->p_comm); FOREACH_THREAD_IN_PROC(p, td) { dumpthread(p, td); - nl++; + if (quit) + break; } /* PROC_UNLOCK(p); */ ==== //depot/projects/uart/ddb/ddb.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ddb/ddb.h,v 1.33 2003/02/16 19:22:21 phk Exp $ + * $FreeBSD: src/sys/ddb/ddb.h,v 1.34 2003/07/31 17:27:52 jhb Exp $ */ /* @@ -39,9 +39,13 @@ #include /* type definitions */ +#define DB_LINES_PER_PAGE 20 + typedef void db_cmdfcn_t(db_expr_t addr, boolean_t have_addr, db_expr_t count, char *modif); +typedef void db_page_calloutfcn_t(void *arg); + #define DB_COMMAND(cmd_name, func_name) \ DB_SET(cmd_name, func_name, db_cmd_set, 0, NULL) #define DB_SHOW_COMMAND(cmd_name, func_name) \ @@ -100,6 +104,8 @@ int db_readline(char *lstart, int lsize); void db_restart_at_pc(boolean_t watchpt); void db_set_watchpoints(void); +void db_setup_paging(db_page_calloutfcn_t *callout, void *arg, + int maxlines); void db_skip_to_eol(void); boolean_t db_stop_at_pc(boolean_t *is_breakpoint); #define db_strcpy strcpy @@ -139,6 +145,8 @@ db_cmdfcn_t vm_page_print; #endif +db_page_calloutfcn_t db_simple_pager; + /* Scare the user with backtrace of curthread to console. */ void db_print_backtrace(void); ==== //depot/projects/uart/dev/amd/amd.c#3 (text+ko) ==== @@ -30,7 +30,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/amd/amd.c,v 1.21 2003/07/01 15:51:53 scottl Exp $ + * $FreeBSD: src/sys/dev/amd/amd.c,v 1.22 2003/07/31 16:55:44 ru Exp $ */ /* @@ -2497,3 +2497,4 @@ static devclass_t amd_devclass; DRIVER_MODULE(amd, pci, amd_driver, amd_devclass, 0, 0); +MODULE_DEPEND(amd, cam, 1, 1, 1); ==== //depot/projects/uart/dev/firewire/firewire.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.12 2003/04/17 03:38:02 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.13 2003/08/01 04:51:21 simokawa Exp $ * */ @@ -47,7 +47,7 @@ }; struct fw_isobufreq { - struct { + struct fw_bufspec { unsigned int nchunk; unsigned int npacket; unsigned int psize; @@ -395,7 +395,7 @@ #define UNIT2MIN(x) (((x) & 0xff) << 8) #define DEV2UNIT(x) ((dev2unit(x) & 0xff00) >> 8) -#define DEV2DMACH(x) (dev2unit(x) & 0xff) +#define DEV2SUB(x) (dev2unit(x) & 0xff) #define FWMEM_FLAG 0x10000 #define DEV_FWMEM(x) (dev2unit(x) & FWMEM_FLAG) ==== //depot/projects/uart/dev/firewire/firewirereg.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.27 2003/06/28 11:11:36 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.28 2003/08/01 04:51:21 simokawa Exp $ * */ @@ -191,8 +191,8 @@ #define FWXFERQ_HANDLER (1 << 16) #define FWXFERQ_WAKEUP (1 << 17) - void (*start) __P((struct firewire_comm*)); + int dmach; STAILQ_HEAD(, fw_xfer) q; u_int queued; u_int maxq; ==== //depot/projects/uart/dev/firewire/fwdev.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.29 2003/07/12 09:34:44 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.30 2003/08/01 04:51:21 simokawa Exp $ * */ @@ -86,34 +86,99 @@ #endif }; +struct fw_drv1 { + struct fw_xferq *ir; + struct fw_xferq *it; + struct fw_isobufreq bufreq; +}; + +static int +fwdev_allocbuf(struct firewire_comm *fc, struct fw_xferq *q, + struct fw_bufspec *b) +{ + int i; + + if (q->flag & (FWXFERQ_RUNNING | FWXFERQ_EXTBUF)) + return(EBUSY); + + q->bulkxfer = (struct fw_bulkxfer *) malloc( + sizeof(struct fw_bulkxfer) * b->nchunk, + M_FW, M_WAITOK); + if (q->bulkxfer == NULL) + return(ENOMEM); + + b->psize = roundup2(b->psize, sizeof(u_int32_t)); + q->buf = fwdma_malloc_multiseg(fc, sizeof(u_int32_t), + b->psize, b->nchunk * b->npacket, BUS_DMA_WAITOK); + + if (q->buf == NULL) { + free(q->bulkxfer, M_FW); + q->bulkxfer = NULL; + return(ENOMEM); + } + q->bnchunk = b->nchunk; + q->bnpacket = b->npacket; + q->psize = (b->psize + 3) & ~3; + q->queued = 0; + + STAILQ_INIT(&q->stvalid); + STAILQ_INIT(&q->stfree); + STAILQ_INIT(&q->stdma); + q->stproc = NULL; + + for(i = 0 ; i < q->bnchunk; i++){ + q->bulkxfer[i].poffset = i * q->bnpacket; + q->bulkxfer[i].mbuf = NULL; + STAILQ_INSERT_TAIL(&q->stfree, &q->bulkxfer[i], link); + } + + q->flag &= ~FWXFERQ_MODEMASK; + q->flag |= FWXFERQ_STREAM; + q->flag |= FWXFERQ_EXTBUF; + + return (0); +} + static int +fwdev_freebuf(struct fw_xferq *q) +{ + if (q->flag & FWXFERQ_EXTBUF) { + if (q->buf != NULL) + fwdma_free_multiseg(q->buf); + q->buf = NULL; + free(q->bulkxfer, M_FW); + q->bulkxfer = NULL; + q->flag &= ~FWXFERQ_EXTBUF; + q->psize = 0; + q->maxq = FWMAXQUEUE; + } + return (0); +} + + +static int fw_open (dev_t dev, int flags, int fmt, fw_proc *td) { - struct firewire_softc *sc; int unit = DEV2UNIT(dev); - int sub = DEV2DMACH(dev); + int sub = DEV2SUB(dev); int err = 0; + if (dev->si_drv1 != NULL) + return (EBUSY); + if (DEV_FWMEM(dev)) return fwmem_open(dev, flags, fmt, td); - sc = devclass_get_softc(firewire_devclass, unit); - if(sc->fc->ir[sub]->flag & FWXFERQ_OPEN){ - err = EBUSY; - return err; - } - if(sc->fc->it[sub]->flag & FWXFERQ_OPEN){ - err = EBUSY; - return err; - } - if(sc->fc->ir[sub]->flag & FWXFERQ_MODEMASK){ - err = EBUSY; - return err; - } -/* Default is per packet mode */ - sc->fc->ir[sub]->flag |= FWXFERQ_OPEN; - sc->fc->it[sub]->flag |= FWXFERQ_OPEN; +#if __FreeBSD_version >= 500000 + if ((dev->si_flags & SI_NAMED) == 0) +#endif + make_dev(&firewire_cdevsw, minor(dev), + UID_ROOT, GID_OPERATOR, 0660, + "fw%d.%d", unit, sub); + + dev->si_drv1 = malloc(sizeof(struct fw_drv1), M_FW, M_WAITOK | M_ZERO); + return err; } @@ -121,8 +186,9 @@ fw_close (dev_t dev, int flags, int fmt, fw_proc *td) { struct firewire_softc *sc; + struct firewire_comm *fc; + struct fw_drv1 *d; int unit = DEV2UNIT(dev); - int sub = DEV2DMACH(dev); struct fw_xfer *xfer; struct fw_bind *fwb; int err = 0; @@ -131,60 +197,59 @@ return fwmem_close(dev, flags, fmt, td); sc = devclass_get_softc(firewire_devclass, unit); - if(!(sc->fc->ir[sub]->flag & FWXFERQ_OPEN)){ - err = EINVAL; - return err; + fc = sc->fc; + d = (struct fw_drv1 *)dev->si_drv1; + + if (d->ir != NULL) { + struct fw_xferq *ir = d->ir; + + if ((ir->flag & FWXFERQ_OPEN) == 0) + return (EINVAL); + if (ir->flag & FWXFERQ_RUNNING) { + ir->flag &= ~FWXFERQ_RUNNING; + fc->irx_disable(fc, ir->dmach); + } + /* free extbuf */ + fwdev_freebuf(ir); + /* drain receiving buffer */ + for (xfer = STAILQ_FIRST(&ir->q); + xfer != NULL; xfer = STAILQ_FIRST(&ir->q)) { + ir->queued --; + STAILQ_REMOVE_HEAD(&ir->q, link); + + xfer->resp = 0; + fw_xfer_done(xfer); + } + /* remove binding */ + for (fwb = STAILQ_FIRST(&ir->binds); fwb != NULL; + fwb = STAILQ_FIRST(&ir->binds)) { + STAILQ_REMOVE(&fc->binds, fwb, fw_bind, fclist); + STAILQ_REMOVE_HEAD(&ir->binds, chlist); + free(fwb, M_FW); + } + ir->flag &= ~(FWXFERQ_OPEN | + FWXFERQ_MODEMASK | FWXFERQ_CHTAGMASK); + d->ir = NULL; + } - sc->fc->ir[sub]->flag &= ~FWXFERQ_OPEN; - if(!(sc->fc->it[sub]->flag & FWXFERQ_OPEN)){ - err = EINVAL; - return err; - } - sc->fc->it[sub]->flag &= ~FWXFERQ_OPEN; + if (d->it != NULL) { + struct fw_xferq *it = d->it; - if(sc->fc->ir[sub]->flag & FWXFERQ_RUNNING){ - sc->fc->irx_disable(sc->fc, sub); + if ((it->flag & FWXFERQ_OPEN) == 0) + return (EINVAL); + if (it->flag & FWXFERQ_RUNNING) { + it->flag &= ~FWXFERQ_RUNNING; + fc->itx_disable(fc, it->dmach); + } + /* free extbuf */ + fwdev_freebuf(it); + it->flag &= ~(FWXFERQ_OPEN | + FWXFERQ_MODEMASK | FWXFERQ_CHTAGMASK); + d->it = NULL; } - if(sc->fc->it[sub]->flag & FWXFERQ_RUNNING){ - sc->fc->it[sub]->flag &= ~FWXFERQ_RUNNING; - sc->fc->itx_disable(sc->fc, sub); - } - if(sc->fc->ir[sub]->flag & FWXFERQ_EXTBUF){ - if (sc->fc->ir[sub]->buf != NULL) - fwdma_free_multiseg(sc->fc->ir[sub]->buf); - sc->fc->ir[sub]->buf = NULL; - free(sc->fc->ir[sub]->bulkxfer, M_FW); - sc->fc->ir[sub]->bulkxfer = NULL; - sc->fc->ir[sub]->flag &= ~FWXFERQ_EXTBUF; - sc->fc->ir[sub]->psize = PAGE_SIZE; - sc->fc->ir[sub]->maxq = FWMAXQUEUE; - } - if(sc->fc->it[sub]->flag & FWXFERQ_EXTBUF){ - if (sc->fc->it[sub]->buf != NULL) - fwdma_free_multiseg(sc->fc->it[sub]->buf); - sc->fc->it[sub]->buf = NULL; - free(sc->fc->it[sub]->bulkxfer, M_FW); - sc->fc->it[sub]->bulkxfer = NULL; - sc->fc->it[sub]->flag &= ~FWXFERQ_EXTBUF; - sc->fc->it[sub]->psize = 0; - sc->fc->it[sub]->maxq = FWMAXQUEUE; - } - for(xfer = STAILQ_FIRST(&sc->fc->ir[sub]->q); - xfer != NULL; xfer = STAILQ_FIRST(&sc->fc->ir[sub]->q)){ - sc->fc->ir[sub]->queued--; - STAILQ_REMOVE_HEAD(&sc->fc->ir[sub]->q, link); + free(dev->si_drv1, M_FW); + dev->si_drv1 = NULL; - xfer->resp = 0; - fw_xfer_done(xfer); - } - for(fwb = STAILQ_FIRST(&sc->fc->ir[sub]->binds); fwb != NULL; - fwb = STAILQ_FIRST(&sc->fc->ir[sub]->binds)){ - STAILQ_REMOVE(&sc->fc->binds, fwb, fw_bind, fclist); - STAILQ_REMOVE_HEAD(&sc->fc->ir[sub]->binds, chlist); - free(fwb, M_FW); - } - sc->fc->ir[sub]->flag &= ~(FWXFERQ_MODEMASK | FWXFERQ_CHTAGMASK); - sc->fc->it[sub]->flag &= ~(FWXFERQ_MODEMASK | FWXFERQ_CHTAGMASK); return err; } @@ -199,7 +264,6 @@ struct fw_xfer *xfer; int err = 0, s, slept = 0; int unit = DEV2UNIT(dev); - int sub = DEV2DMACH(dev); struct fw_pkt *fp; if (DEV_FWMEM(dev)) @@ -207,7 +271,9 @@ sc = devclass_get_softc(firewire_devclass, unit); - ir = sc->fc->ir[sub]; + ir = ((struct fw_drv1 *)dev->si_drv1)->ir; + if (ir == NULL || ir->buf == NULL) + return (EIO); readloop: xfer = STAILQ_FIRST(&ir->q); @@ -262,7 +328,7 @@ s = splfw(); STAILQ_INSERT_TAIL(&ir->stfree, ir->stproc, link); splx(s); - sc->fc->irx_enable(sc->fc, sub); + sc->fc->irx_enable(sc->fc, ir->dmach); ir->stproc = NULL; } if (uio->uio_resid >= ir->psize) { @@ -279,7 +345,6 @@ int err = 0; struct firewire_softc *sc; int unit = DEV2UNIT(dev); - int sub = DEV2DMACH(dev); int s, slept = 0; struct fw_pkt *fp; struct firewire_comm *fc; @@ -290,7 +355,9 @@ sc = devclass_get_softc(firewire_devclass, unit); fc = sc->fc; - it = sc->fc->it[sub]; + it = ((struct fw_drv1 *)dev->si_drv1)->it; + if (it == NULL || it->buf == NULL) + return (EIO); isoloop: if (it->stproc == NULL) { it->stproc = STAILQ_FIRST(&it->stfree); @@ -301,7 +368,7 @@ it->queued = 0; } else if (slept == 0) { slept = 1; - err = sc->fc->itx_enable(sc->fc, sub); + err = sc->fc->itx_enable(sc->fc, it->dmach); if (err) return err; err = tsleep(it, FWPRI, "fw_write", hz); @@ -324,7 +391,7 @@ STAILQ_INSERT_TAIL(&it->stvalid, it->stproc, link); splx(s); it->stproc = NULL; - err = sc->fc->itx_enable(sc->fc, sub); + err = sc->fc->itx_enable(sc->fc, it->dmach); } if (uio->uio_resid >= sizeof(struct fw_isohdr)) { slept = 0; @@ -332,7 +399,6 @@ } return err; } - /* * ioctl support. */ @@ -340,8 +406,9 @@ fw_ioctl (dev_t dev, u_long cmd, caddr_t data, int flag, fw_proc *td) { struct firewire_softc *sc; + struct firewire_comm *fc; + struct fw_drv1 *d; int unit = DEV2UNIT(dev); - int sub = DEV2DMACH(dev); int s, i, len, err = 0; struct fw_device *fwdev; struct fw_bind *fwb; @@ -361,146 +428,93 @@ if (DEV_FWMEM(dev)) return fwmem_ioctl(dev, cmd, data, flag, td); - sc = devclass_get_softc(firewire_devclass, unit); if (!data) return(EINVAL); + sc = devclass_get_softc(firewire_devclass, unit); + fc = sc->fc; + d = (struct fw_drv1 *)dev->si_drv1; + ir = d->ir; + it = d->it; + switch (cmd) { case FW_STSTREAM: - sc->fc->it[sub]->flag &= ~0xff; - sc->fc->it[sub]->flag |= (0x3f & ichreq->ch); - sc->fc->it[sub]->flag |= ((0x3 & ichreq->tag) << 6); + if (it == NULL) { + for (i = 0; i < fc->nisodma; i ++) { + it = fc->it[i]; + if ((it->flag & FWXFERQ_OPEN) == 0) + break; + } + if (i >= fc->nisodma) { + err = EBUSY; + break; + } + err = fwdev_allocbuf(fc, it, &d->bufreq.tx); + if (err) + break; + it->flag |= FWXFERQ_OPEN; + } + it->flag &= ~0xff; + it->flag |= (0x3f & ichreq->ch); + it->flag |= ((0x3 & ichreq->tag) << 6); + d->it = it; err = 0; break; case FW_GTSTREAM: - ichreq->ch = sc->fc->it[sub]->flag & 0x3f; - ichreq->tag =(sc->fc->it[sub]->flag) >> 2 & 0x3; - err = 0; + if (it != NULL) { + ichreq->ch = it->flag & 0x3f; + ichreq->tag = it->flag >> 2 & 0x3; + err = 0; + } else + err = EINVAL; break; case FW_SRSTREAM: - sc->fc->ir[sub]->flag &= ~0xff; - sc->fc->ir[sub]->flag |= (0x3f & ichreq->ch); - sc->fc->ir[sub]->flag |= ((0x3 & ichreq->tag) << 6); - err = sc->fc->irx_enable(sc->fc, sub); + if (ir == NULL) { + for (i = 0; i < fc->nisodma; i ++) { + ir = fc->ir[i]; + if ((ir->flag & FWXFERQ_OPEN) == 0) + break; + } + if (i >= fc->nisodma) { + err = EBUSY; + break; + } + err = fwdev_allocbuf(fc, ir, &d->bufreq.rx); + if (err) + break; + ir->flag |= FWXFERQ_OPEN; + } + ir->flag &= ~0xff; + ir->flag |= (0x3f & ichreq->ch); + ir->flag |= ((0x3 & ichreq->tag) << 6); + d->ir = ir; + err = fc->irx_enable(fc, ir->dmach); break; case FW_GRSTREAM: - ichreq->ch = sc->fc->ir[sub]->flag & 0x3f; - ichreq->tag =(sc->fc->ir[sub]->flag) >> 2 & 0x3; - err = 0; + if (d->ir != NULL) { + ichreq->ch = ir->flag & 0x3f; + ichreq->tag = ir->flag >> 2 & 0x3; + err = 0; + } else + err = EINVAL; break; case FW_SSTBUF: - ir = sc->fc->ir[sub]; - it = sc->fc->it[sub]; - - if(ir->flag & FWXFERQ_RUNNING || it->flag & FWXFERQ_RUNNING){ - return(EBUSY); - } - if((ir->flag & FWXFERQ_EXTBUF) || (it->flag & FWXFERQ_EXTBUF)){ - return(EBUSY); - } - if((ibufreq->rx.nchunk * - ibufreq->rx.psize * ibufreq->rx.npacket) + - (ibufreq->tx.nchunk * - ibufreq->tx.psize * ibufreq->tx.npacket) <= 0){ - return(EINVAL); - } - ir->bulkxfer - = (struct fw_bulkxfer *)malloc(sizeof(struct fw_bulkxfer) * ibufreq->rx.nchunk, M_FW, M_WAITOK); - if(ir->bulkxfer == NULL){ - return(ENOMEM); - } - it->bulkxfer - = (struct fw_bulkxfer *)malloc(sizeof(struct fw_bulkxfer) * ibufreq->tx.nchunk, M_FW, M_WAITOK); - if(it->bulkxfer == NULL){ - return(ENOMEM); - } - if (ibufreq->rx.psize > 0) { - ibufreq->rx.psize = roundup2(ibufreq->rx.psize, - sizeof(u_int32_t)); - ir->buf = fwdma_malloc_multiseg( - sc->fc, sizeof(u_int32_t), - ibufreq->rx.psize, - ibufreq->rx.nchunk * ibufreq->rx.npacket, - BUS_DMA_WAITOK); - - if(ir->buf == NULL){ - free(ir->bulkxfer, M_FW); - free(it->bulkxfer, M_FW); - ir->bulkxfer = NULL; - it->bulkxfer = NULL; - it->buf = NULL; - return(ENOMEM); - } - } - if (ibufreq->tx.psize > 0) { - ibufreq->tx.psize = roundup2(ibufreq->tx.psize, - sizeof(u_int32_t)); - it->buf = fwdma_malloc_multiseg( - sc->fc, sizeof(u_int32_t), - ibufreq->tx.psize, - ibufreq->tx.nchunk * ibufreq->tx.npacket, - BUS_DMA_WAITOK); - - if(it->buf == NULL){ - free(ir->bulkxfer, M_FW); - free(it->bulkxfer, M_FW); - fwdma_free_multiseg(ir->buf); - ir->bulkxfer = NULL; - it->bulkxfer = NULL; - it->buf = NULL; - return(ENOMEM); - } - } - - ir->bnchunk = ibufreq->rx.nchunk; - ir->bnpacket = ibufreq->rx.npacket; - ir->psize = (ibufreq->rx.psize + 3) & ~3; - ir->queued = 0; - - it->bnchunk = ibufreq->tx.nchunk; - it->bnpacket = ibufreq->tx.npacket; - it->psize = (ibufreq->tx.psize + 3) & ~3; - it->queued = 0; - - STAILQ_INIT(&ir->stvalid); - STAILQ_INIT(&ir->stfree); - STAILQ_INIT(&ir->stdma); - ir->stproc = NULL; - - STAILQ_INIT(&it->stvalid); - STAILQ_INIT(&it->stfree); - STAILQ_INIT(&it->stdma); - it->stproc = NULL; - - for(i = 0 ; i < sc->fc->ir[sub]->bnchunk; i++){ - ir->bulkxfer[i].poffset = i * ir->bnpacket; - ir->bulkxfer[i].mbuf = NULL; - STAILQ_INSERT_TAIL(&ir->stfree, - &ir->bulkxfer[i], link); - } - for(i = 0 ; i < sc->fc->it[sub]->bnchunk; i++){ - it->bulkxfer[i].poffset = i * it->bnpacket; - it->bulkxfer[i].mbuf = NULL; - STAILQ_INSERT_TAIL(&it->stfree, - &it->bulkxfer[i], link); - } - ir->flag &= ~FWXFERQ_MODEMASK; - ir->flag |= FWXFERQ_STREAM; - ir->flag |= FWXFERQ_EXTBUF; - - it->flag &= ~FWXFERQ_MODEMASK; - it->flag |= FWXFERQ_STREAM; - it->flag |= FWXFERQ_EXTBUF; + bcopy(ibufreq, &d->bufreq, sizeof(d->bufreq)); err = 0; break; case FW_GSTBUF: - ibufreq->rx.nchunk = sc->fc->ir[sub]->bnchunk; - ibufreq->rx.npacket = sc->fc->ir[sub]->bnpacket; - ibufreq->rx.psize = sc->fc->ir[sub]->psize; - - ibufreq->tx.nchunk = sc->fc->it[sub]->bnchunk; - ibufreq->tx.npacket = sc->fc->it[sub]->bnpacket; - ibufreq->tx.psize = sc->fc->it[sub]->psize; + bzero(&ibufreq->rx, sizeof(ibufreq->rx)); + if (ir != NULL) { + ibufreq->rx.nchunk = ir->bnchunk; + ibufreq->rx.npacket = ir->bnpacket; + ibufreq->rx.psize = ir->psize; + } + bzero(&ibufreq->tx, sizeof(ibufreq->tx)); + if (it != NULL) { + ibufreq->tx.nchunk = it->bnchunk; + ibufreq->tx.npacket = it->bnpacket; + ibufreq->tx.psize = it->psize; + } break; case FW_ASYREQ: xfer = fw_xfer_alloc_buf(M_FWXFER, asyreq->req.len, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 31 23:59:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7847B37B404; Thu, 31 Jul 2003 23:59:36 -0700 (PDT) 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 239B337B401 for ; Thu, 31 Jul 2003 23:59:36 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D85B43FB1 for ; Thu, 31 Jul 2003 23:59:35 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h716xZ0U049135 for ; Thu, 31 Jul 2003 23:59:35 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h716xZGm049132 for perforce@freebsd.org; Thu, 31 Jul 2003 23:59:35 -0700 (PDT) Date: Thu, 31 Jul 2003 23:59:35 -0700 (PDT) Message-Id: <200308010659.h716xZGm049132@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35321 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: Fri, 01 Aug 2003 06:59:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=35321 Change 35321 by marcel@marcel_nfs on 2003/07/31 23:59:33 Undo the sio/ng changes for alpha on this branch. They are also present on the sio branch and further obsoleted by the uart branch. Affected files ... .. //depot/projects/ia64/sys/alpha/alpha/api_up1000.c#6 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_1000a.c#6 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_2100_a50.c#7 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_2100_a500.c#7 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_axppci_33.c#8 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_eb164.c#6 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_eb64plus.c#7 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_kn20aa.c#6 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_kn300.c#7 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_st550.c#6 edit .. //depot/projects/ia64/sys/alpha/alpha/dec_st6600.c#6 edit .. //depot/projects/ia64/sys/alpha/alpha/machdep.c#35 edit .. //depot/projects/ia64/sys/alpha/alpha/sio_machdep.c#2 delete .. //depot/projects/ia64/sys/conf/files.alpha#22 edit Differences ... ==== //depot/projects/ia64/sys/alpha/alpha/api_up1000.c#6 (text+ko) ==== @@ -56,6 +56,8 @@ void api_up1000_init(void); static void api_up1000_cons_init(void); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); void @@ -80,13 +82,30 @@ struct ctb *ctb; irongate_init(); +#ifdef DDB + siogdbattach(0x2f8, 57600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/dec_1000a.c#6 (text+ko) ==== @@ -94,6 +94,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void dec_1000a_init(int); static void dec_1000a_cons_init(void); @@ -108,6 +113,8 @@ static void dec_1000a_intr_enable(int); static void dec_1000a_intr_init(void); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); @@ -179,12 +186,35 @@ apecs_init(); } +#ifdef DDB + siogdbattach(0x2f8, 57600); +#endif + ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)). + */ + DELAY(160000000 / comcnrate); + + /* + * Force a comconsole on com1 if the SRM has a serial + * console. + */ + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/dec_2100_a50.c#7 (text+ko) ==== @@ -52,6 +52,10 @@ #include #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; void dec_2100_a50_init(void); static void dec_2100_a50_cons_init(void); @@ -60,6 +64,8 @@ void sio_intr_disestablish(int); void sio_intr_setup(void); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); const struct alpha_variation_table dec_2100_a50_variations[] = { @@ -105,12 +111,32 @@ apecs_init(); +#ifdef DDB + siogdbattach(0x2f8, 9600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)). + */ + DELAY(160000000 / comcnrate); + /* + * Force a comconsole on com1 if the SRM has a serial console. + */ + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/dec_2100_a500.c#7 (text+ko) ==== @@ -45,11 +45,17 @@ #include #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; void dec_2100_a500_init(int); static void dec_2100_a500_cons_init(void); static void dec_2100_a500_intr_init(void); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); void @@ -92,11 +98,29 @@ struct ctb *ctb; t2_init(); +#ifdef DDB + siogdbattach(0x2f8, 9600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ + /* XXX */ + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + /* + * force a comconsole on com1 if the SRM has a serial console + */ + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; break; case 3: ==== //depot/projects/ia64/sys/alpha/alpha/dec_axppci_33.c#8 (text+ko) ==== @@ -49,11 +49,17 @@ #include #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; void dec_axppci_33_init(void); static void dec_axppci_33_cons_init(void); static int dec_axppci_33_intr_route (device_t, device_t, int); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); const struct alpha_variation_table dec_axppci_33_variations[] = { @@ -116,12 +122,32 @@ lca_init(); +#ifdef DDB + siogdbattach(0x2f8, 9600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + /* + * force a comconsole on com1 if the SRM has a serial console + */ + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/dec_eb164.c#6 (text+ko) ==== @@ -48,6 +48,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void dec_eb164_init(void); static void dec_eb164_cons_init(void); static void eb164_intr_init(void); @@ -56,6 +61,8 @@ extern void eb164_intr_enable_icsr(int irq); extern void eb164_intr_disable_icsr(int irq); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); void @@ -89,12 +96,35 @@ cia_init(); +#ifdef DDB + siogdbattach(0x2f8, 57600); +#endif + ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + + /* + * Force a comconsole on com1 if the SRM has a serial + * console. + */ + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/dec_eb64plus.c#7 (text+ko) ==== @@ -68,6 +68,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void dec_eb64plus_init(void); static void dec_eb64plus_cons_init(void); static void dec_eb64plus_intr_init(void); @@ -78,6 +83,7 @@ extern const char * bootdev_protocol(void); extern int bootdev_boot_dev_type(void); +extern int siocnattach(int, int); extern int sccnattach(void); const struct alpha_variation_table dec_eb64plus_variations[] = { @@ -126,7 +132,26 @@ switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + + /* + * force a comconsole on com1 if the SRM has a serial + * console. + */ + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: #ifdef DEV_SC ==== //depot/projects/ia64/sys/alpha/alpha/dec_kn20aa.c#6 (text+ko) ==== @@ -50,6 +50,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void dec_kn20aa_init(void); static void dec_kn20aa_cons_init(void); static void dec_kn20aa_intr_init(void); @@ -57,6 +62,8 @@ static void dec_kn20aa_intr_disable(int); static void dec_kn20aa_intr_enable(int); +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); #if 0 @@ -98,12 +105,29 @@ cia_init(); +#ifdef DDB + siogdbattach(0x2f8, 9600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/dec_kn300.c#7 (text+ko) ==== @@ -58,6 +58,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void dec_kn300_init(void); void dec_kn300_cons_init(void); @@ -69,6 +74,8 @@ }; +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); void @@ -97,12 +104,26 @@ struct ctb *ctb; mcbus_init(); +#ifdef DDB + siogdbattach(0x2f8, 57600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; break; case 3: ==== //depot/projects/ia64/sys/alpha/alpha/dec_st550.c#6 (text+ko) ==== @@ -56,6 +56,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void st550_init(void); static void st550_cons_init(void); static void st550_intr_init(void); @@ -67,6 +72,8 @@ #define ST550_PCI_IRQ_BEGIN 8 #define ST550_PCI_MAX_IRQ 47 +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); void @@ -97,11 +104,27 @@ cia_init(); +#ifdef DDB + siogdbattach(0x2f8, 57600); +#endif + ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ + /* XXX */ + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; break; case 3: ==== //depot/projects/ia64/sys/alpha/alpha/dec_st6600.c#6 (text+ko) ==== @@ -47,6 +47,11 @@ #include "opt_dev_sc.h" +#ifndef CONSPEED +#define CONSPEED TTYDEF_SPEED +#endif +static int comcnrate = CONSPEED; + void st6600_init(void); static void st6600_cons_init(void); static void st6600_intr_init(void); @@ -54,6 +59,8 @@ #define ST6600_PCI_IRQ_BEGIN 8 #define ST6600_PCI_MAX_IRQ 63 +extern int siocnattach(int, int); +extern int siogdbattach(int, int); extern int sccnattach(void); void @@ -79,13 +86,30 @@ struct ctb *ctb; tsunami_init(); +#ifdef DDB + siogdbattach(0x2f8, 57600); +#endif ctb = (struct ctb *)(((caddr_t)hwrpb) + hwrpb->rpb_ctb_off); switch (ctb->ctb_term_type) { case 2: /* serial console ... */ - break; + /* XXX */ + { + /* + * Delay to allow PROM putchars to complete. + * FIFO depth * character time, + * character time = (1000000 / (defaultrate / 10)) + */ + DELAY(160000000 / comcnrate); + comconsole = 0; + if (siocnattach(0x3f8, comcnrate)) + panic("can't init serial console"); + + boothowto |= RB_SERIAL; + break; + } case 3: /* display console ... */ ==== //depot/projects/ia64/sys/alpha/alpha/machdep.c#35 (text+ko) ==== @@ -122,7 +122,6 @@ #include #include #include -#include #include #include #include @@ -586,11 +585,10 @@ * Initalize the real console, so the the bootstrap console is * no longer necessary. */ - if (platform.cons_init) + if (platform.cons_init) { platform.cons_init(); - promcndetach(); - cninit(); - + promcndetach(); + } /* NO MORE FIRMWARE ACCESS ALLOWED */ #ifdef _PMAP_MAY_USE_PROM_CONSOLE /* ==== //depot/projects/ia64/sys/conf/files.alpha#22 (text+ko) ==== @@ -78,7 +78,6 @@ alpha/alpha/promcons.c standard alpha/alpha/prom_disp.s standard alpha/alpha/sgmap.c standard -alpha/alpha/sio_machdep.c optional sio alpha/alpha/support.s standard alpha/alpha/swtch.s standard alpha/alpha/sys_machdep.c standard @@ -179,6 +178,7 @@ dev/kbd/kbd.c optional kbd dev/kbd/kbd.c optional sc dev/kbd/kbd.c optional ukbd +dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa dev/syscons/schistory.c optional sc dev/syscons/scmouse.c optional sc From owner-p4-projects@FreeBSD.ORG Fri Aug 1 00:17:59 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0508A37B404; Fri, 1 Aug 2003 00:17:59 -0700 (PDT) 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 AAB0737B401 for ; Fri, 1 Aug 2003 00:17:58 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D55643FAF for ; Fri, 1 Aug 2003 00:17:58 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h717Hw0U050764 for ; Fri, 1 Aug 2003 00:17:58 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h717HvGf050761 for perforce@freebsd.org; Fri, 1 Aug 2003 00:17:57 -0700 (PDT) Date: Fri, 1 Aug 2003 00:17:57 -0700 (PDT) Message-Id: <200308010717.h717HvGf050761@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35322 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: Fri, 01 Aug 2003 07:18:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=35322 Change 35322 by marcel@marcel_nfs on 2003/08/01 00:17:16 Further clean the ia64 branch: remove i386 and sparc64 specific changes. Affected files ... .. //depot/projects/ia64/sys/conf/files.i386#41 edit .. //depot/projects/ia64/sys/conf/files.sparc64#32 edit .. //depot/projects/ia64/sys/i386/i386/sio_machdep.c#2 delete .. //depot/projects/ia64/sys/i386/i386/vga_machdep.c#3 delete Differences ... ==== //depot/projects/ia64/sys/conf/files.i386#41 (text+ko) ==== @@ -121,8 +121,9 @@ dev/dgb/dgb.c count dgb dev/ed/if_ed_isa.c optional ed isa dev/fb/fb.c optional fb -dev/fb/fb.c optional vga sc +dev/fb/fb.c optional vga dev/fb/splash.c optional splash +dev/fb/vga.c optional vga dev/fe/if_fe_isa.c optional fe isa dev/kbd/atkbd.c optional atkbd dev/kbd/atkbdc.c optional atkbdc @@ -135,6 +136,7 @@ dev/sbni/if_sbni.c optional sbni dev/sbni/if_sbni_isa.c optional sbni isa dev/sbni/if_sbni_pci.c optional sbni pci +dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa dev/sr/if_sr_isa.c optional sr isa dev/syscons/apm/apm_saver.c optional apm_saver apm @@ -149,10 +151,6 @@ dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc -dev/vga/vga.c optional vga -dev/vga/vga_isa.c optional vga isa -dev/vga/vga_pci.c optional vga pci -dev/vga/vga_vid.c optional vga sc geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_mbr.c standard @@ -204,13 +202,11 @@ i386/i386/perfmon.c optional perfmon i386/i386/perfmon.c optional perfmon profiling-routine i386/i386/pmap.c standard -i386/i386/sio_machdep.c optional sio i386/i386/support.s standard i386/i386/swtch.s standard i386/i386/sys_machdep.c standard i386/i386/trap.c standard i386/i386/tsc.c standard -i386/i386/vga_machdep.c optional vga i386/i386/vm86.c standard i386/i386/vm_machdep.c standard i386/ibcs2/ibcs2_errno.c optional ibcs2 @@ -382,6 +378,7 @@ dev/ppc/ppc_puc.c optional ppc puc pci isa/psm.c optional psm isa/syscons_isa.c optional sc +isa/vga_isa.c optional vga kern/imgact_aout.c optional compat_aout kern/imgact_gzip.c optional gzip libkern/divdi3.c standard ==== //depot/projects/ia64/sys/conf/files.sparc64#32 (text+ko) ==== @@ -16,6 +16,7 @@ dev/ofw/openfirm.c standard dev/ofw/openfirmio.c standard dev/ofw/openpromio.c standard +dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa geom/geom_bsd.c standard geom/geom_bsd_enc.c standard From owner-p4-projects@FreeBSD.ORG Fri Aug 1 09:38:31 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6B1C37B404; Fri, 1 Aug 2003 09:38:30 -0700 (PDT) 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 8064D37B401 for ; Fri, 1 Aug 2003 09:38:30 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 332DF43FA3 for ; Fri, 1 Aug 2003 09:38:28 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71GcS0U096581 for ; Fri, 1 Aug 2003 09:38:28 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71GcPf8096578 for perforce@freebsd.org; Fri, 1 Aug 2003 09:38:25 -0700 (PDT) Date: Fri, 1 Aug 2003 09:38:25 -0700 (PDT) Message-Id: <200308011638.h71GcPf8096578@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35341 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: Fri, 01 Aug 2003 16:38:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=35341 Change 35341 by rwatson@rwatson_tislabs on 2003/08/01 09:38:04 Further integrate the TrustedBSD base branch, looping back recent Biba, MLS, and kern_mac.c drops to the main FreeBSD tree. Also, some critical UMA bugfixes. Affected files ... .. //depot/projects/trustedbsd/base/MAINTAINERS#20 integrate .. //depot/projects/trustedbsd/base/UPDATING#35 integrate .. //depot/projects/trustedbsd/base/contrib/isc-dhcp/FREEBSD-upgrade#5 integrate .. //depot/projects/trustedbsd/base/contrib/isc-dhcp/client/dhclient.8#5 integrate .. //depot/projects/trustedbsd/base/contrib/isc-dhcp/client/dhclient.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/isc-dhcp/client/scripts/freebsd#4 integrate .. //depot/projects/trustedbsd/base/contrib/isc-dhcp/common/dispatch.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/isc-dhcp/includes/dhcpd.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/one-true-awk/FIXES#6 integrate .. //depot/projects/trustedbsd/base/contrib/one-true-awk/FREEBSD-upgrade#6 integrate .. //depot/projects/trustedbsd/base/contrib/one-true-awk/b.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/one-true-awk/lex.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/one-true-awk/main.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/one-true-awk/run.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/smbfs/lib/smb/ctx.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/smbfs/mount_smbfs/mount_smbfs.8#4 integrate .. //depot/projects/trustedbsd/base/etc/auth.conf#3 integrate .. //depot/projects/trustedbsd/base/etc/defaults/rc.conf#29 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.local.dist#17 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.usr.dist#27 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/Makefile#12 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/atm1#5 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/atm2#1 branch .. //depot/projects/trustedbsd/base/etc/rc.d/atm2.sh#6 delete .. //depot/projects/trustedbsd/base/etc/rc.d/atm3#1 branch .. //depot/projects/trustedbsd/base/etc/rc.d/atm3.sh#3 delete .. //depot/projects/trustedbsd/base/etc/rc.d/dhclient#6 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/hostname#2 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ipfilter#9 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ipfw#5 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ipsec#6 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/netif#3 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ttys#4 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/cc/cc_int/Makefile#8 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/patch/backupfile.c#3 integrate .. //depot/projects/trustedbsd/base/kerberos5/lib/libasn1/Makefile#8 integrate .. //depot/projects/trustedbsd/base/kerberos5/lib/libhdb/Makefile#9 integrate .. //depot/projects/trustedbsd/base/lib/libatm/atm_addr.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libatm/cache_key.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libatm/ioctl_subr.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libatm/ip_addr.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libatm/ip_checksum.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libatm/libatm.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/alpha/gen/makecontext.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/arc4random.3#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/i386/sys/i386_get_ldt.2#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/Makefile.inc#14 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/gb18030.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/locale/setrunelocale.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/malloc.c#13 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/random.3#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/string/Makefile.inc#6 integrate .. //depot/projects/trustedbsd/base/lib/libc/string/index.3#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/string/rindex.3#4 delete .. //depot/projects/trustedbsd/base/lib/libc/string/strchr.3#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/string/strrchr.3#2 delete .. //depot/projects/trustedbsd/base/lib/libkvm/kvm.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_file.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_getswapinfo.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_proc.c#16 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/amd64/amd64/enter_uts.S#2 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/amd64/include/ksd.h#2 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/i386/_atomic_lock.S#2 delete .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/i386/thr_enter_uts.S#4 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/i386/thr_getcontext.S#2 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/i386/thr_switch.S#4 delete .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/include/pthread_md.h#3 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_concurrency.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_mutex.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_private.h#11 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_sig.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_sigwait.c#7 integrate .. //depot/projects/trustedbsd/base/release/Makefile#47 integrate .. //depot/projects/trustedbsd/base/release/alpha/dokern.sh#11 delete .. //depot/projects/trustedbsd/base/release/alpha/drivers.conf#14 delete .. //depot/projects/trustedbsd/base/release/alpha/fixit_crunch.conf#6 delete .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/i386/proc-i386.sgml#8 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#70 integrate .. //depot/projects/trustedbsd/base/release/doc/fr_FR.ISO8859-1/early-adopter/article.sgml#3 integrate .. //depot/projects/trustedbsd/base/release/ia64/dokern.sh#2 delete .. //depot/projects/trustedbsd/base/release/ia64/mkisoimages.sh#3 integrate .. //depot/projects/trustedbsd/base/release/pc98/dokern.sh#12 integrate .. //depot/projects/trustedbsd/base/release/sparc64/dokern.sh#2 delete .. //depot/projects/trustedbsd/base/rescue/rescue/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm.8#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm.h#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_eni.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_fore200.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_inet.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_print.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_set.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_show.c#4 integrate .. //depot/projects/trustedbsd/base/sbin/atm/atm/atm_subr.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/fore_dnld/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/fore_dnld/fore_dnld.8#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/fore_dnld/fore_dnld.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/atm/fore_dnld/pca200e.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/dhclient/Makefile.inc#4 integrate .. //depot/projects/trustedbsd/base/sbin/fsck_ffs/fsutil.c#14 integrate .. //depot/projects/trustedbsd/base/sbin/fsck_ffs/main.c#12 integrate .. //depot/projects/trustedbsd/base/sbin/fsck_ffs/setup.c#18 integrate .. //depot/projects/trustedbsd/base/share/colldef/Makefile#14 integrate .. //depot/projects/trustedbsd/base/share/man/man4/acpi.4#8 integrate .. //depot/projects/trustedbsd/base/share/man/man4/puc.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man5/rc.conf.5#31 integrate .. //depot/projects/trustedbsd/base/share/man/man7/Makefile#12 integrate .. //depot/projects/trustedbsd/base/share/man/man7/rescue.7#2 delete .. //depot/projects/trustedbsd/base/share/man/man8/Makefile#10 integrate .. //depot/projects/trustedbsd/base/share/man/man8/rescue.8#1 branch .. //depot/projects/trustedbsd/base/share/man/man9/bus_dma.9#4 integrate .. //depot/projects/trustedbsd/base/share/mklocale/Makefile#13 integrate .. //depot/projects/trustedbsd/base/share/mklocale/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/base/share/monetdef/Makefile#13 integrate .. //depot/projects/trustedbsd/base/share/monetdef/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/base/share/msgdef/Makefile#13 integrate .. //depot/projects/trustedbsd/base/share/msgdef/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/base/share/numericdef/Makefile#13 integrate .. //depot/projects/trustedbsd/base/share/numericdef/zh_TW.Big5.src#2 delete .. //depot/projects/trustedbsd/base/share/timedef/Makefile#12 integrate .. //depot/projects/trustedbsd/base/share/timedef/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/base/sys/alpha/alpha/busdma_machdep.c#12 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/machdep.c#27 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/mp_machdep.c#14 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/pmap.c#32 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/vm_machdep.c#19 integrate .. //depot/projects/trustedbsd/base/sys/alpha/include/bus.h#12 integrate .. //depot/projects/trustedbsd/base/sys/alpha/include/param.h#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/vm_machdep.c#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/bus_dma.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/param.h#5 integrate .. //depot/projects/trustedbsd/base/sys/cam/cam_ccb.h#4 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_cd.c#19 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_da.c#35 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_misc.c#24 integrate .. //depot/projects/trustedbsd/base/sys/conf/NOTES#39 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.alpha#17 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#4 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.i386#33 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.ia64#20 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.pre.mk#20 integrate .. //depot/projects/trustedbsd/base/sys/conf/options#39 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/acpica/dbcmds.c#12 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_command.c#12 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_output.c#4 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_ps.c#16 integrate .. //depot/projects/trustedbsd/base/sys/ddb/ddb.h#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_ec.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/ahb/ahb.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/amd/amd.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cam.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/ed/if_ed_pccard.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/fatm/if_fatm.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/firewire.h#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/firewirereg.h#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwdev.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwohci.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/if_fwe.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/sbp.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/fxp/if_fxp.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm_ioctl.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatm_tx.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/hea/eni_if.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_aali.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_command.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_if.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_init.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_intr.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_output.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_var.h#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/fore_vcm.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/hfa_freebsd.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/hfa/hfa_freebsd.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/md/md.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/patm/if_patm.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/patm/if_patm_tx.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccard/pccarddevs#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/pccard/pccarddevs.h#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/pci/pci.c#24 integrate .. //depot/projects/trustedbsd/base/sys/dev/pdq/if_fea.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/ppc/ppc_puc.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/ppc/ppcvar.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/puc/puc.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/raidframe/rf_freebsdkintf.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/umass.c#27 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usb_mem.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/utopia/utopia.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/wi/if_wi_pci.c#10 integrate .. //depot/projects/trustedbsd/base/sys/geom/geom_ccd.c#3 integrate .. //depot/projects/trustedbsd/base/sys/geom/geom_mbr.c#21 integrate .. //depot/projects/trustedbsd/base/sys/i386/acpica/acpi_wakeup.c#18 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/busdma_machdep.c#14 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/identcpu.c#19 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/locore.s#13 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/machdep.c#35 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/pmap.c#39 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/sys_machdep.c#15 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/bus_dma.h#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/pcpu.h#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/pcvt/pcvt_hdr.h#3 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/busdma_machdep.c#11 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#38 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/mp_machdep.c#18 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/pmap.c#34 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/vm_machdep.c#26 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/bus.h#10 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/param.h#8 integrate .. //depot/projects/trustedbsd/base/sys/isa/ppc.c#8 delete .. //depot/projects/trustedbsd/base/sys/isa/ppcreg.h#2 delete .. //depot/projects/trustedbsd/base/sys/kern/kern_acct.c#19 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_alq.c#6 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_descrip.c#42 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_ktr.c#13 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_ktrace.c#17 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_linker.c#19 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mac.c#44 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mutex.c#28 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_sig.c#38 integrate .. //depot/projects/trustedbsd/base/sys/kern/link_elf.c#16 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_mbuf.c#28 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_trap.c#25 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_witness.c#37 integrate .. //depot/projects/trustedbsd/base/sys/kern/sys_generic.c#23 integrate .. //depot/projects/trustedbsd/base/sys/kern/sys_pipe.c#31 integrate .. //depot/projects/trustedbsd/base/sys/kern/tty_cons.c#12 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_syscalls.c#46 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_vnops.c#39 integrate .. //depot/projects/trustedbsd/base/sys/kern/vnode_if.src#18 integrate .. //depot/projects/trustedbsd/base/sys/modules/cam/Makefile#6 integrate .. //depot/projects/trustedbsd/base/sys/net/if_atm.h#9 integrate .. //depot/projects/trustedbsd/base/sys/net/if_atmsubr.c#12 integrate .. //depot/projects/trustedbsd/base/sys/net/if_spppsubr.c#11 integrate .. //depot/projects/trustedbsd/base/sys/netatm/atm_if.c#11 integrate .. //depot/projects/trustedbsd/base/sys/netatm/atm_ioctl.h#5 integrate .. //depot/projects/trustedbsd/base/sys/netatm/atm_usrreq.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netatm/atm_vc.h#2 integrate .. //depot/projects/trustedbsd/base/sys/netatm/ipatm/ipatm_usrreq.c#6 integrate .. //depot/projects/trustedbsd/base/sys/netatm/sigpvc/sigpvc_if.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netatm/spans/spans_arp.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netatm/spans/spans_if.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netatm/uni/uniarp.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netatm/uni/uniarp_cache.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netatm/uni/uniip_var.h#5 integrate .. //depot/projects/trustedbsd/base/sys/netatm/uni/unisig_if.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/atm/ng_atm.c#2 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_dummynet.c#18 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/ip6_fw.c#10 integrate .. //depot/projects/trustedbsd/base/sys/netsmb/smb_conn.h#7 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs_lock.c#16 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs_vnops.c#19 integrate .. //depot/projects/trustedbsd/base/sys/pc98/i386/machdep.c#34 integrate .. //depot/projects/trustedbsd/base/sys/pccard/pcic_pci.c#13 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_dc.c#29 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_rl.c#26 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_sis.c#25 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_xl.c#22 integrate .. //depot/projects/trustedbsd/base/sys/pci/ncr.c#9 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/include/bus.h#11 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/include/param.h#7 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/busdma_machdep.c#9 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/machdep.c#24 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/pmap.c#21 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/vm_machdep.c#19 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_biba/mac_biba.c#32 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_mls/mac_mls.c#30 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/include/bus.h#16 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/include/param.h#12 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/bus_machdep.c#15 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/genassym.c#24 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/iommu.c#16 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/machdep.c#34 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/pmap.c#38 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/vm_machdep.c#24 integrate .. //depot/projects/trustedbsd/base/sys/sys/lock.h#8 integrate .. //depot/projects/trustedbsd/base/sys/sys/param.h#28 integrate .. //depot/projects/trustedbsd/base/sys/sys/vnode.h#38 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_vnops.c#23 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/extattr.h#4 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/ufs_extattr.c#22 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/ufs_quota.c#15 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/ufs_vnops.c#30 integrate .. //depot/projects/trustedbsd/base/sys/vm/swap_pager.c#22 integrate .. //depot/projects/trustedbsd/base/sys/vm/swap_pager.h#11 integrate .. //depot/projects/trustedbsd/base/sys/vm/uma_core.c#24 integrate .. //depot/projects/trustedbsd/base/sys/vm/uma_int.h#10 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_contig.c#13 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_glue.c#29 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_kern.c#18 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_object.c#38 integrate .. //depot/projects/trustedbsd/base/tools/regression/README#7 integrate .. //depot/projects/trustedbsd/base/tools/regression/pipe/Makefile#1 branch .. //depot/projects/trustedbsd/base/tools/regression/pipe/bigpipetest.c#1 branch .. //depot/projects/trustedbsd/base/tools/tools/release/chk_dokern.sh_and_drivers.conf#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/Makefile#4 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/ada.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/current.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/default.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/dsa.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/dwp.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/Makefile#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/ada.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/current.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/default.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/dsa.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/dwp.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/experimental.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/releng_4.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/etc/stanley.rc#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/releng_4.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/stanley.rc#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/tbmaster.1#3 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/tbmaster.pl#11 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/www/Makefile#2 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/www/daemon.png#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/www/index.cgi#3 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/www/valid-css.gif#2 delete .. //depot/projects/trustedbsd/base/tools/tools/tinderbox/www/valid-css.png#1 branch .. //depot/projects/trustedbsd/base/usr.bin/last/last.1#5 integrate .. //depot/projects/trustedbsd/base/usr.bin/last/last.c#9 integrate .. //depot/projects/trustedbsd/base/usr.bin/mklocale/yacc.y#10 integrate .. //depot/projects/trustedbsd/base/usr.sbin/acpi/acpiconf/acpiconf.8#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/acpi/acpiconf/acpiconf.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/atm/atmarpd/atmarp_log.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/atm/atmarpd/atmarp_subr.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/atm/atmarpd/atmarpd.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/atm/scspd/scsp_subr.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/edquota/edquota.8#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/i4b/isdnd/support.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/lpr/common_source/lp.local.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pstat/pstat.8#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pstat/pstat.c#11 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/rtadvd.conf.5#3 integrate Differences ... ==== //depot/projects/trustedbsd/base/MAINTAINERS#20 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.75 2003/07/19 00:17:36 markm Exp $ +$FreeBSD: src/MAINTAINERS,v 1.76 2003/07/30 10:43:13 bp Exp $ subsystem login notes ----------------------------- @@ -78,6 +78,10 @@ unifdef(1) fanf Pre-commit review requested. ntp roberto Pre-commit review requested. inetd dwmalone Recommends pre-commit review. +nwfs bp In case of functional changes pre-commit review + requested. +contrib/smbfs bp Open for in-tree committs. In case of functional + changes pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. ==== //depot/projects/trustedbsd/base/UPDATING#35 (text+ko) ==== @@ -17,6 +17,13 @@ developers choose to disable these features on build machines to maximize performance. +20030728: + All current USB and Firewire quirks in da(4) have been deprecated + and will be removed for 5.2. If this causes failure for your + umass(4) devices, enable "options DA_OLD_QUIRKS" in your kernel + and send the output of "camcontrol inquiry da0" to scsi@freebsd.org + so the quirk can be re-enabled. + 20030722: FPU-less support has been removed from FreeBSD. Chances are you won't notice. 386+387 support should still work after this change, but @@ -1326,4 +1333,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.259 2003/07/22 11:08:41 imp Exp $ +$FreeBSD: src/UPDATING,v 1.260 2003/07/29 04:40:33 njl Exp $ ==== //depot/projects/trustedbsd/base/contrib/isc-dhcp/FREEBSD-upgrade#5 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/isc-dhcp/FREEBSD-upgrade,v 1.14 2003/01/16 19:05:56 murray Exp $ +$FreeBSD: src/contrib/isc-dhcp/FREEBSD-upgrade,v 1.16 2003/07/28 08:30:11 mbr Exp $ ISC DHCP client 3.0.1rc11 originals can be found at: ftp://ftp.isc.org/isc/dhcp/ @@ -42,19 +42,26 @@ client/clparse.c r1.6 - prefer strlcpy to strcpy. client/dhclient.8 + r1.14 - interface polling r1.8 - correct a man reference and a typo. r1.6 - document -D option. - remove dhcpd from SEE ALSO section. client/dhclient.c + r1.26 - interface polling + r1.25 - correct release lease option r1.19 - connect std{in,out,err}. r1.13 - prefer strlcpy to strcpy. r1.6 - quiet by default. - document -D option. client/dhclient.conf.5 - - Remove dhcpd from SEE ALSO section. + - Remove dhcpd from SEE ALSO section. common/dhcp-options.5 r1.2 - note that hostname is only set if not already set. - - Remove dhcpd from SEE ALSO section. + - Remove dhcpd from SEE ALSO section. + common/dispatch.c + r1.2 - polling mode + includes/dhcpd.h + r1.2 - polling mode (see CVS logs for complete details) murray@FreeBSD.org ==== //depot/projects/trustedbsd/base/contrib/isc-dhcp/client/dhclient.8#5 (text+ko) ==== @@ -20,7 +20,7 @@ .\" .\" Portions copyright (c) 2000 David E. O'Brien. .\" All rights reserved. -.\" $FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.13 2003/03/18 19:46:55 obrien Exp $ +.\" $FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.14 2003/07/28 08:30:11 mbr Exp $ .\" .TH dhclient 8 .SH NAME @@ -74,6 +74,10 @@ relay ] [ +.B -i +interval +] +[ .B -n ] [ @@ -190,6 +194,12 @@ flag, followed by the IP address to send. This is only useful for testing, and should not be expected to work in any consistent or useful way. .PP +On FreeBSD, dhclient can be enabled to automatically handle the +link status of the network card. Normally polling is done every +five seconds. The polling interval can be set using the +.B -i +flag, followed by the numbers of seconds. Minimum is one second. +.PP The DHCP client will normally run in the foreground until it has configured an interface, and then will revert to running in the background. To run force dhclient to always run as a foreground ==== //depot/projects/trustedbsd/base/contrib/isc-dhcp/client/dhclient.c#7 (text+ko) ==== @@ -42,12 +42,19 @@ #ifndef lint static char ocopyright[] = "$Id: dhclient.c,v 1.129.2.12 2002/11/07 23:26:38 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium. All rights reserved.\n" -"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.25 2003/03/23 23:29:36 mbr Exp $\n"; +"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.27 2003/07/28 13:25:04 mbr Exp $\n"; #endif /* not lint */ #include "dhcpd.h" #include "version.h" +#ifdef __FreeBSD__ +#include +#include +#include +#include +#endif + TIME cur_time; TIME default_lease_time = 43200; /* 12 hours... */ TIME max_lease_time = 86400; /* 24 hours... */ @@ -85,6 +92,10 @@ int onetry=0; int quiet=1; int nowait=0; +int doinitcheck=0; +#ifdef ENABLE_POLLING_MODE +int polling_interval = 5; +#endif static void usage PROTO ((void)); @@ -202,6 +213,19 @@ } else if (!strcmp (argv [i], "-n")) { /* do not start up any interfaces */ interfaces_requested = 1; +#ifdef ENABLE_POLLING_MODE + } else if (!strcmp (argv [i], "-i")) { + if (++i == argc) + usage (); + polling_interval = (int)strtol(argv [i], + (char **)NULL, 10); + if (polling_interval <= 0) { + log_info ("Incorrect polling interval %d", + polling_interval); + log_info ("Using a default of 5 seconds"); + polling_interval = 5; + } +#endif } else if (!strcmp (argv [i], "-w")) { /* do not exit if there are no broadcast interfaces. */ persist = 1; @@ -233,6 +257,8 @@ log_fatal ("%s: interface name too long (max %ld)", argv [i], (long)strlen (argv [i])); strlcpy (tmp -> name, argv [i], IFNAMSIZ); + set_ieee802(tmp); + tmp->linkstatus = interface_active(tmp); if (interfaces) { interface_reference (&tmp -> next, interfaces, MDL); @@ -386,6 +412,7 @@ INTERFACE_AUTOMATIC)) != INTERFACE_REQUESTED)) continue; + set_ieee802(ip); script_init (ip -> client, "PREINIT", (struct string_list *)0); if (ip -> client -> alias) @@ -428,8 +455,13 @@ client -> state = S_INIT; /* Set up a timeout to start the initialization process. */ +#ifdef ENABLE_POLLING_MODE add_timeout (cur_time + random () % 5, + state_link, client, 0, 0); +#else + add_timeout(cur_time + random () % 5, state_reboot, client, 0, 0); +#endif } } } @@ -1353,6 +1385,9 @@ int interval; int increase = 1; + if (interface_active(client -> interface) == 0) + return; + /* Figure out how long it's been since we started transmitting. */ interval = cur_time - client -> first_sending; @@ -1458,6 +1493,9 @@ struct client_lease *loop; struct client_lease *lp; + if (interface_active(client -> interface) == 0) + return; + loop = lp = client -> active; log_info ("No DHCPOFFERS received."); @@ -2771,7 +2809,8 @@ break; } client -> state = S_INIT; - state_reboot (client); + if (interface_active(ip)) + state_reboot(client); } } } @@ -2932,8 +2971,10 @@ client -> state = S_INIT; /* Set up a timeout to start the initialization process. */ - add_timeout (cur_time + random () % 5, - state_reboot, client, 0, 0); + if (interface_active(ip)) { + add_timeout(cur_time + random () % 5, + state_reboot, client, 0, 0); + } } } return ISC_R_SUCCESS; @@ -2997,7 +3038,8 @@ break; case server_awaken: - state_reboot (client); + if (interface_active(ip)) + state_reboot(client); break; } } @@ -3134,3 +3176,152 @@ data_string_forget (&ddns_dhcid, MDL); return rcode; } + +/* Check to see if there's a wire plugged in */ +int +interface_active(struct interface_info *ip) { +#ifdef __FreeBSD__ + struct ifmediareq ifmr; + int *media_list, i; + char *ifname; + int sock; + + ifname = ip -> name; + + if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) + log_fatal("Can't create interface_active socket"); + + (void) memset(&ifmr, 0, sizeof(ifmr)); + (void) strncpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name)); + + if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) { + /* + * Interface doesn't support SIOCGIFMEDIA, presume okay + */ + close(sock); + return (1); + } + close(sock); + + if (ifmr.ifm_count == 0) { + /* + * this is unexpected (to me), but we'll just assume + * that this means interface does not support SIOCGIFMEDIA + */ + log_fatal("%s: no media types?", ifname); + return (1); + } + + if (ifmr.ifm_status & IFM_AVALID) { + if (ip->ieee802) { + if ((IFM_TYPE(ifmr.ifm_active) == IFM_IEEE80211) && + (ifmr.ifm_status & IFM_ACTIVE)) + return (1); + } else { + if (ifmr.ifm_status & IFM_ACTIVE) + return (1); + } + } + + return (0); +#else /* ifdef __FreeBSD__ */ + + return (1); +#endif /* Other OSs */ +} + +#ifdef __FreeBSD__ +set_ieee802 (struct interface_info *ip) { + + struct ieee80211req ireq; + u_int8_t data[32]; + int associated = 0; + int *media_list, i; + char *ifname; + int sock; + + ifname = ip -> name; + + if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) + log_fatal("Can't create interface_active socket"); + + (void) memset(&ireq, 0, sizeof(ireq)); + (void) strncpy(ireq.i_name, ifname, sizeof(ireq.i_name)); + ireq.i_data = &data; + ireq.i_type = IEEE80211_IOC_SSID; + ireq.i_val = -1; + /* + * If we can't get the SSID, + * this isn't an 802.11 device. + */ + if (ioctl(sock, SIOCG80211, &ireq) < 0) + ip->ieee802 = 0; + else { +#ifdef DEBUG + printf("Device %s has 802.11\n", ifname); +#endif + ip->ieee802 = 1; + } + close(sock); +} +#endif /* __FreeBSD__ */ + +#ifdef ENABLE_POLLING_MODE +/* Check the state of the NICs if we have link */ +void state_link (cpp) + void *cpp; +{ + struct interface_info *ip; + struct client_state *client; + +#ifdef DEBUG + printf("Polling interface status\n"); +#endif + for (ip = interfaces; ip; ip = ip -> next) { + if (ip->linkstatus == 0 || doinitcheck == 0) { + if (interface_active(ip)) { +#ifdef DEBUG + printf("%s: Found Link on interface\n", ip->name); +#endif + for (client = ip -> client; + client; client = client -> next) { + add_timeout(cur_time + random () % 5, + state_reboot, client, 0, 0); + } + ip->linkstatus = 1; + } else { +#ifdef DEBUG + printf("%s: No Link on interface\n", ip->name); +#endif + for (client = ip -> client; + client; client = client -> next) { + cancel_timeout(state_init, client); + cancel_timeout(send_discover, client); + cancel_timeout(send_request, client); + /* + * XXX without this, dhclient does + * not poll on a interface if there + * is no cable plugged in at startup + * time + */ + if (client -> state == S_INIT) { + add_timeout(cur_time + polling_interval, + state_link, client, 0, 0); + } + } + ip->linkstatus = 0; + } + } else { + if (interface_active(ip) == 0) { +#ifdef DEBUG + printf("%s: Lost Link on interface\n", ip->name); +#endif + ip->linkstatus = 0; + } + } + } + if (doinitcheck) + go_daemon (); + doinitcheck = 1; +} +#endif /* ifdef ENABLE_POLLING_MODE */ ==== //depot/projects/trustedbsd/base/contrib/isc-dhcp/client/scripts/freebsd#4 (text+ko) ==== @@ -2,7 +2,7 @@ # # $Id: freebsd,v 1.13.2.4 2002/06/09 22:37:55 murray Exp $ # -# $FreeBSD: src/contrib/isc-dhcp/client/scripts/freebsd,v 1.21 2003/01/15 10:47:32 murray Exp $ +# $FreeBSD: src/contrib/isc-dhcp/client/scripts/freebsd,v 1.22 2003/07/28 22:25:20 mbr Exp $ if [ -x /usr/bin/logger ]; then LOGGER="/usr/bin/logger -s -p user.notice -t dhclient" @@ -13,13 +13,19 @@ make_resolv_conf() { if [ x"$new_domain_name_servers" != x ]; then if [ "x$new_domain_name" != x ]; then - echo search $new_domain_name >/etc/resolv.conf + ( echo search $new_domain_name >/etc/resolv.conf ) + exit_status=$? + else + ( rm /etc/resolv.conf ) + exit_status=$? + fi + if [ $exit_status -ne 0 ]; then + $LOGGER "WARNING: Unable to update resolv.conf: Error $exit_status" else - rm /etc/resolv.conf + for nameserver in $new_domain_name_servers; do + ( echo nameserver $nameserver >>/etc/resolv.conf ) + done fi - for nameserver in $new_domain_name_servers; do - echo nameserver $nameserver >>/etc/resolv.conf - done fi } ==== //depot/projects/trustedbsd/base/contrib/isc-dhcp/common/dispatch.c#4 (text+ko) ==== @@ -43,7 +43,8 @@ #ifndef lint static char copyright[] = -"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n" +"$FreeBSD: src/contrib/isc-dhcp/common/dispatch.c,v 1.3 2003/07/28 11:49:07 mbr Exp $\n"; #endif /* not lint */ #include "dhcpd.h" @@ -51,6 +52,10 @@ struct timeout *timeouts; static struct timeout *free_timeouts; +#ifdef ENABLE_POLLING_MODE +extern int polling_interval; +#endif + void set_time (u_int32_t t) { /* Do any outstanding timeouts. */ @@ -95,11 +100,26 @@ void dispatch () { struct timeval tv, *tvp; +#ifdef ENABLE_POLLING_MODE + struct timeval *tvp_new; +#endif isc_result_t status; + TIME cur_time; + tvp = NULL; +#ifdef ENABLE_POLLING_MODE + tvp_new = NULL; +#endif /* Wait for a packet or a timeout... XXX */ do { tvp = process_outstanding_timeouts (&tv); +#ifdef ENABLE_POLLING_MODE + GET_TIME (&cur_time); + add_timeout(cur_time + polling_interval, state_link, 0, 0, 0); + tvp_new = process_outstanding_timeouts(&tv); + if (tvp != NULL && (tvp -> tv_sec > tvp_new -> tv_sec)) + tvp = tvp_new; +#endif /* ENABLE_POLLING_MODE */ status = omapi_one_dispatch (0, tvp); } while (status == ISC_R_TIMEDOUT || status == ISC_R_SUCCESS); log_fatal ("omapi_one_dispatch failed: %s -- exiting.", ==== //depot/projects/trustedbsd/base/contrib/isc-dhcp/includes/dhcpd.h#6 (text+ko) ==== @@ -39,6 +39,8 @@ * ``http://www.isc.org/''. To learn more about Vixie Enterprises, * see ``http://www.vix.com''. To learn more about Nominum, Inc., see * ``http://www.nominum.com''. + * + * $FreeBSD: src/contrib/isc-dhcp/includes/dhcpd.h,v 1.3 2003/07/28 11:49:07 mbr Exp $ */ #ifndef __CYGWIN32__ @@ -778,6 +780,8 @@ unsigned remote_id_len; /* Length of Remote ID. */ char name [IFNAMSIZ]; /* Its name... */ + int linkstatus; /* Link status */ + int ieee802; /* True if media is ieee802 */ int index; /* Its index. */ int rfdesc; /* Its read file descriptor. */ int wfdesc; /* Its write file descriptor, if @@ -1853,6 +1857,9 @@ void send_decline PROTO ((void *)); void state_reboot PROTO ((void *)); +#ifdef ENABLE_POLLING_MODE +void state_link PROTO (()); +#endif void state_init PROTO ((void *)); void state_selecting PROTO ((void *)); void state_requesting PROTO ((void *)); ==== //depot/projects/trustedbsd/base/contrib/one-true-awk/FIXES#6 (text+ko) ==== @@ -25,6 +25,52 @@ This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Jul 29, 2003: + fixed (i think) the long-standing botch that included the beginning of + line state ^ for RE's in the set of valid characters; this led to a + variety of odd problems, including failure to properly match certain + regular expressions in non-US locales. thanks to ruslan for keeping + at this one. + +Jul 28, 2003: + n-th try at getting internationalization right, with thanks to volker + kiefel, arnold robbins and ruslan ermilov for advice, though they + should not be blamed for the outcome. according to posix, "." is the + radix character in programs and command line arguments regardless of + the locale; otherwise, the locale should prevail for input and output + of numbers. so it's intended to work that way. + + i have rescinded the attempt to use strcoll in expanding shorthands in + regular expressions (cclenter). its properties are much too + surprising; for example [a-c] matches aAbBc in locale en_US but abBcC + in locale fr_CA. i can see how this might arise by implementation + but i cannot explain it to a human user. (this behavior can be seen + in gawk as well; we're leaning on the same library.) + + the issue appears to be that strcoll is meant for sorting, where + merging upper and lower case may make sense (though note that unix + sort does not do this by default either). it is not appropriate + for regular expressions, where the goal is to match specific + patterns of characters. in any case, the notations [:lower:], etc., + are available in awk, and they are more likely to work correctly in + most locales. + + a moratorium is hereby declared on internationalization changes. + i apologize to friends and colleagues in other parts of the world. + i would truly like to get this "right", but i don't know what + that is, and i do not want to keep making changes until it's clear. + +Jul 4, 2003: + fixed bug that permitted non-terminated RE, as in "awk /x". + +Jun 1, 2003: + subtle change to split: if source is empty, number of elems + is always 0 and the array is not set. + +Mar 21, 2003: + added some parens to isblank, in another attempt to make things + internationally portable. + Mar 14, 2003: the internationalization changes, somewhat modified, are now reinstated. in theory awk will now do character comparisons ==== //depot/projects/trustedbsd/base/contrib/one-true-awk/FREEBSD-upgrade#6 (text+ko) ==== @@ -1,18 +1,19 @@ -# $FreeBSD: src/contrib/one-true-awk/FREEBSD-upgrade,v 1.5 2002/12/19 04:34:00 obrien Exp $ +# $FreeBSD: src/contrib/one-true-awk/FREEBSD-upgrade,v 1.6 2003/07/30 06:50:31 ru Exp $ -Import of the February 1998 version of the "one true awk", as described +Import of the July 2003 version of the "one true awk", as described in "The AWK Programming Language", by Al Aho, Brian Kernighan, and Peter Weinberger (Addison-Wesley, 1988, ISBN 0-201-07981-X). -Original source were taken from Brian Kernighan's home page +Original sources were taken from the Brian Kernighan's home page (http://cm.bell-labs.com/who/bwk/) and include bug fixes up thru -Novembe 29, 2002. +July 29, 2003. The following files were removed for this import: buildwin.bat makefile.win missing95.c + vcvars32.bat ytab.c ytab.h ytabc.bak @@ -20,4 +21,4 @@ The vendor import was done by: - cvs import src/contrib/one-true-awk BELL_LABS bwk_20021213 + cvs import src/contrib/one-true-awk BELL_LABS bwk_20030729 ==== //depot/projects/trustedbsd/base/contrib/one-true-awk/b.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "awk.h" #include "ytab.h" -#define HAT (NCHARS-2) /* matches ^ in regular expr */ +#define HAT (NCHARS+2) /* matches ^ in regular expr */ /* NCHARS is 2**n */ #define MAXLIN 22 @@ -282,24 +282,9 @@ return c; } -static int collate_range_cmp(int a, int b) -{ - int r; - static char s[2][2]; - - if ((uschar)a == (uschar)b) - return 0; - s[0][0] = a; - s[1][0] = b; - if ((r = strcoll(s[0], s[1])) == 0) - r = (uschar)a - (uschar)b; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 1 10:22:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C798837B404; Fri, 1 Aug 2003 10:22:04 -0700 (PDT) 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 79CEA37B401; Fri, 1 Aug 2003 10:22:04 -0700 (PDT) Received: from milla.ask33.net (milla.ask33.net [217.197.166.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id B655B43FBD; Fri, 1 Aug 2003 10:22:03 -0700 (PDT) (envelope-from nick@milla.ask33.net) Received: by milla.ask33.net (Postfix, from userid 1001) id D9F5C3ABB4C; Fri, 1 Aug 2003 19:23:26 +0200 (CEST) Date: Fri, 1 Aug 2003 19:23:26 +0200 From: Pawel Jakub Dawidek To: Robert Watson Message-ID: <20030801172326.GP43543@garage.freebsd.pl> References: <200308010147.h711l3P8026025@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="seGp1e/yLldw2teC" Content-Disposition: inline In-Reply-To: <200308010147.h711l3P8026025@repoman.freebsd.org> X-PGP-Key-URL: http://garage.freebsd.pl/jules.asc X-OS: FreeBSD 4.8-RELEASE i386 X-URL: http://garage.freebsd.pl User-Agent: Mutt/1.5.1i cc: Perforce Change Reviews Subject: Re: PERFORCE change 35304 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: Fri, 01 Aug 2003 17:22:05 -0000 --seGp1e/yLldw2teC Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 31, 2003 at 06:47:03PM -0700, Robert Watson wrote: +> Differences ... +>=20 +> =3D=3D=3D=3D //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#395 (te= xt+ko) =3D=3D=3D=3D +>=20 +> @@ -203,6 +203,9 @@ +> nmacsockets, nmacmounts, nmactemp, nmacvnodes, nmacdevfsdirents, +> nmacipqs, nmacpipes, nmacprocs; +> =20 +> +#define MAC_DEBUG_COUNTER_INC(x) atomic_add_int(x, 1); +> +#define MAC_DEBUG_COUNTER_DEC(x) atomic_subtract_int(x, 1); +> + +> SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, mbufs, CTLFLAG_RD, +> &nmacmbufs, 0, "number of mbufs in use"); +> SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, creds, CTLFLAG_RD, +> @@ -227,6 +230,9 @@ +> &nmacvnodes, 0, "number of vnodes in use"); +> SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, devfsdirents, CTLFL= AG_RD, +> &nmacdevfsdirents, 0, "number of devfs dirents inuse"); +> +#else +> +#define MAC_DEBUG_COUNTER_INC(x) +> +#define MAC_DEBUG_COUNTER_INC(x) I susspect, that one of those should be MAC_DEBUG_COUNTER_DEC(x). --=20 Pawel Jakub Dawidek pawel@dawidek.net UNIX Systems Programmer/Administrator http://garage.freebsd.pl Am I Evil? Yes, I Am! http://cerber.sourceforge.net --seGp1e/yLldw2teC Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iQCVAwUBPyqiDj/PhmMH/Mf1AQG7NgQAhEey1NwiniyNV3evk02gRtzEjFSKkXFr dDqXSB/lCjPJwK2vlP6zSZNaAkBbZoOhyAfe6NlL6147d6NYn7G3/3f1veHi/CEB gva9dTLqr1C8cSZukot5GajVF3As2oRAskz4/dVvfsVZV1eCzRi9U7Qk2Y/wUNFZ eoc4JEpcGi8= =24Ds -----END PGP SIGNATURE----- --seGp1e/yLldw2teC-- From owner-p4-projects@FreeBSD.ORG Fri Aug 1 12:03:38 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8397637B401; Fri, 1 Aug 2003 12:03:37 -0700 (PDT) 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 2FE5037B404 for ; Fri, 1 Aug 2003 12:03:37 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4495743FA3 for ; Fri, 1 Aug 2003 12:03:35 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71J3Z0U008617 for ; Fri, 1 Aug 2003 12:03:35 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71J3USS008609 for perforce@freebsd.org; Fri, 1 Aug 2003 12:03:30 -0700 (PDT) Date: Fri, 1 Aug 2003 12:03:30 -0700 (PDT) Message-Id: <200308011903.h71J3USS008609@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35350 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: Fri, 01 Aug 2003 19:03:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=35350 Change 35350 by rwatson@rwatson_tislabs on 2003/08/01 12:03:26 Integrate the TrustedBSD MAC branch: dhclient changes, UMA bugfixes and more bugfixes, threading bugfixes and platform support, awk upgrade, lots of ATM and driver changes, loopback of MAC_ALWAYS_LABEL_MBUF ifdef cleanup, more gcc 3.3 tweaks, ACPI fixes, ddb paging improvements, and phk's vn_open fd change. Affected files ... .. //depot/projects/trustedbsd/mac/MAINTAINERS#19 integrate .. //depot/projects/trustedbsd/mac/UPDATING#30 integrate .. //depot/projects/trustedbsd/mac/contrib/isc-dhcp/FREEBSD-upgrade#6 integrate .. //depot/projects/trustedbsd/mac/contrib/isc-dhcp/client/dhclient.8#6 integrate .. //depot/projects/trustedbsd/mac/contrib/isc-dhcp/client/dhclient.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/isc-dhcp/client/scripts/freebsd#5 integrate .. //depot/projects/trustedbsd/mac/contrib/isc-dhcp/common/dispatch.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/isc-dhcp/includes/dhcpd.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/one-true-awk/FIXES#6 integrate .. //depot/projects/trustedbsd/mac/contrib/one-true-awk/FREEBSD-upgrade#6 integrate .. //depot/projects/trustedbsd/mac/contrib/one-true-awk/b.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/one-true-awk/lex.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/one-true-awk/main.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/one-true-awk/run.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/smbfs/lib/smb/ctx.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/smbfs/mount_smbfs/mount_smbfs.8#3 integrate .. //depot/projects/trustedbsd/mac/etc/auth.conf#3 integrate .. //depot/projects/trustedbsd/mac/etc/defaults/rc.conf#28 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.local.dist#14 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.usr.dist#24 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/Makefile#12 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/atm1#5 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/atm2#1 branch .. //depot/projects/trustedbsd/mac/etc/rc.d/atm2.sh#6 delete .. //depot/projects/trustedbsd/mac/etc/rc.d/atm3#1 branch .. //depot/projects/trustedbsd/mac/etc/rc.d/atm3.sh#3 delete .. //depot/projects/trustedbsd/mac/etc/rc.d/dhclient#6 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/hostname#2 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ipfilter#9 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ipfw#5 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ipsec#6 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/netif#3 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ttys#4 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/cc/cc_int/Makefile#8 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/patch/backupfile.c#3 integrate .. //depot/projects/trustedbsd/mac/kerberos5/lib/libasn1/Makefile#8 integrate .. //depot/projects/trustedbsd/mac/kerberos5/lib/libhdb/Makefile#9 integrate .. //depot/projects/trustedbsd/mac/lib/libatm/atm_addr.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libatm/cache_key.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libatm/ioctl_subr.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libatm/ip_addr.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libatm/ip_checksum.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libatm/libatm.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/alpha/gen/makecontext.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/arc4random.3#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/i386/sys/i386_get_ldt.2#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/Makefile.inc#13 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/gb18030.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/locale/setrunelocale.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/malloc.c#13 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/random.3#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/string/Makefile.inc#6 integrate .. //depot/projects/trustedbsd/mac/lib/libc/string/index.3#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/string/rindex.3#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/string/strchr.3#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/string/strrchr.3#2 delete .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm.c#6 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_file.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_getswapinfo.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_proc.c#15 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/amd64/amd64/enter_uts.S#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/amd64/include/ksd.h#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/i386/_atomic_lock.S#2 delete .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/i386/thr_enter_uts.S#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/i386/thr_getcontext.S#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/i386/thr_switch.S#4 delete .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/include/pthread_md.h#3 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_concurrency.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_mutex.c#6 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_private.h#9 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_sig.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_sigwait.c#6 integrate .. //depot/projects/trustedbsd/mac/release/Makefile#47 integrate .. //depot/projects/trustedbsd/mac/release/alpha/dokern.sh#11 delete .. //depot/projects/trustedbsd/mac/release/alpha/drivers.conf#14 delete .. //depot/projects/trustedbsd/mac/release/alpha/fixit_crunch.conf#6 delete .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/i386/proc-i386.sgml#8 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#60 integrate .. //depot/projects/trustedbsd/mac/release/doc/fr_FR.ISO8859-1/early-adopter/article.sgml#3 integrate .. //depot/projects/trustedbsd/mac/release/ia64/dokern.sh#2 delete .. //depot/projects/trustedbsd/mac/release/ia64/mkisoimages.sh#3 integrate .. //depot/projects/trustedbsd/mac/release/pc98/dokern.sh#12 integrate .. //depot/projects/trustedbsd/mac/release/sparc64/dokern.sh#2 delete .. //depot/projects/trustedbsd/mac/rescue/rescue/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm.8#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm.h#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_eni.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_fore200.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_inet.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_print.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_set.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_show.c#4 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/atm/atm_subr.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/fore_dnld/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/fore_dnld/fore_dnld.8#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/fore_dnld/fore_dnld.c#3 integrate .. //depot/projects/trustedbsd/mac/sbin/atm/fore_dnld/pca200e.c#2 integrate .. //depot/projects/trustedbsd/mac/sbin/dhclient/Makefile.inc#4 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck_ffs/fsutil.c#14 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck_ffs/main.c#12 integrate .. //depot/projects/trustedbsd/mac/sbin/fsck_ffs/setup.c#17 integrate .. //depot/projects/trustedbsd/mac/share/colldef/Makefile#12 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/acpi.4#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/puc.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/rc.conf.5#26 integrate .. //depot/projects/trustedbsd/mac/share/man/man7/Makefile#12 integrate .. //depot/projects/trustedbsd/mac/share/man/man7/rescue.7#2 delete .. //depot/projects/trustedbsd/mac/share/man/man8/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man8/rescue.8#1 branch .. //depot/projects/trustedbsd/mac/share/man/man9/bus_dma.9#4 integrate .. //depot/projects/trustedbsd/mac/share/mklocale/Makefile#12 integrate .. //depot/projects/trustedbsd/mac/share/mklocale/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/mac/share/monetdef/Makefile#13 integrate .. //depot/projects/trustedbsd/mac/share/monetdef/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/mac/share/msgdef/Makefile#13 integrate .. //depot/projects/trustedbsd/mac/share/msgdef/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/mac/share/numericdef/Makefile#13 integrate .. //depot/projects/trustedbsd/mac/share/numericdef/zh_TW.Big5.src#2 delete .. //depot/projects/trustedbsd/mac/share/timedef/Makefile#12 integrate .. //depot/projects/trustedbsd/mac/share/timedef/zh_CN.GB18030.src#1 branch .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/busdma_machdep.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/machdep.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/mp_machdep.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/pmap.c#30 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/vm_machdep.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/include/bus.h#12 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/include/param.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/machdep.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/bus_dma.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/param.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/cam/cam_ccb.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/cam/scsi/scsi_cd.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/cam/scsi/scsi_da.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_misc.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/conf/NOTES#44 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.alpha#17 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.amd64#3 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.i386#30 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.ia64#20 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kern.pre.mk#18 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options#53 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/acpica/dbcmds.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/db_command.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/db_output.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/db_ps.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/ddb.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_ec.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ahb/ahb.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/amd/amd.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cam.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ed/if_ed_pccard.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fatm/if_fatm.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/firewire.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/firewirereg.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwdev.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwohci.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/if_fwe.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/sbp.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fxp/if_fxp.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm_ioctl.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatm_tx.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hea/eni_if.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_aali.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_command.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_if.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_init.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_intr.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_output.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_var.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/fore_vcm.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/hfa_freebsd.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hfa/hfa_freebsd.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/md/md.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/dev/patm/if_patm.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/patm/if_patm_tx.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccard/pccarddevs#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccard/pccarddevs.h#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pci/pci.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pdq/if_fea.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ppc/ppc_puc.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/ppc/ppcvar.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/puc/puc.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/raidframe/rf_freebsdkintf.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/umass.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/usb_mem.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/utopia/utopia.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/wi/if_wi_pci.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/geom/geom_ccd.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/geom/geom_mbr.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/i386/acpica/acpi_wakeup.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/busdma_machdep.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/identcpu.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/locore.s#13 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/machdep.c#34 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/pmap.c#34 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/sys_machdep.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/bus_dma.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/pcpu.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/pcvt/pcvt_hdr.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/busdma_machdep.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/machdep.c#33 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/mp_machdep.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/pmap.c#31 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/vm_machdep.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/bus.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/param.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/isa/ppc.c#8 delete .. //depot/projects/trustedbsd/mac/sys/isa/ppcreg.h#2 delete .. //depot/projects/trustedbsd/mac/sys/kern/kern_acct.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_alq.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_descrip.c#46 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_ktr.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_ktrace.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_linker.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#398 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_mutex.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_sig.c#34 integrate .. //depot/projects/trustedbsd/mac/sys/kern/link_elf.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/kern/subr_mbuf.c#38 integrate .. //depot/projects/trustedbsd/mac/sys/kern/subr_trap.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/kern/subr_witness.c#35 integrate .. //depot/projects/trustedbsd/mac/sys/kern/sys_generic.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/kern/sys_pipe.c#41 integrate .. //depot/projects/trustedbsd/mac/sys/kern/tty_cons.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/kern/vfs_syscalls.c#108 integrate .. //depot/projects/trustedbsd/mac/sys/kern/vfs_vnops.c#65 integrate .. //depot/projects/trustedbsd/mac/sys/kern/vnode_if.src#18 integrate .. //depot/projects/trustedbsd/mac/sys/modules/cam/Makefile#6 integrate .. //depot/projects/trustedbsd/mac/sys/net/if_atm.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/net/if_atmsubr.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/net/if_spppsubr.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/atm_if.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/atm_ioctl.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/atm_usrreq.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/atm_vc.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/ipatm/ipatm_usrreq.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/sigpvc/sigpvc_if.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/spans/spans_arp.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/spans/spans_if.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/uni/uniarp.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/uni/uniarp_cache.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/uni/uniip_var.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/uni/unisig_if.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/atm/ng_atm.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_dummynet.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/ip6_fw.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/netsmb/smb_conn.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_lock.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_vnops.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/pc98/i386/machdep.c#32 integrate .. //depot/projects/trustedbsd/mac/sys/pccard/pcic_pci.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_dc.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_rl.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_sis.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_xl.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/pci/ncr.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/include/bus.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/include/param.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/busdma_machdep.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/machdep.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/pmap.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/vm_machdep.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#218 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#176 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/include/bus.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/include/param.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/bus_machdep.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/genassym.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/iommu.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/machdep.c#32 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/pmap.c#35 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/vm_machdep.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/sys/lock.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/sys/param.h#25 integrate .. //depot/projects/trustedbsd/mac/sys/sys/vnode.h#58 integrate .. //depot/projects/trustedbsd/mac/sys/ufs/ffs/ffs_vnops.c#25 edit .. //depot/projects/trustedbsd/mac/sys/ufs/ufs/extattr.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/ufs/ufs/ufs_extattr.c#31 integrate .. //depot/projects/trustedbsd/mac/sys/ufs/ufs/ufs_quota.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/ufs/ufs/ufs_vnops.c#67 integrate .. //depot/projects/trustedbsd/mac/sys/vm/swap_pager.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/vm/swap_pager.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/vm/uma_core.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/vm/uma_int.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/vm/vm_contig.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/vm/vm_glue.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/vm/vm_kern.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/vm/vm_object.c#32 integrate .. //depot/projects/trustedbsd/mac/tools/regression/README#7 integrate .. //depot/projects/trustedbsd/mac/tools/regression/pipe/Makefile#1 branch .. //depot/projects/trustedbsd/mac/tools/regression/pipe/bigpipetest.c#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/release/chk_dokern.sh_and_drivers.conf#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/ada.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/current.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/default.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/dsa.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/dwp.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/Makefile#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/ada.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/current.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/default.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/dsa.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/dwp.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/experimental.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/releng_4.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/etc/stanley.rc#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/releng_4.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/stanley.rc#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/tbmaster.1#3 integrate .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/tbmaster.pl#9 integrate .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/www/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/www/daemon.png#1 branch .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/www/index.cgi#3 integrate .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/www/valid-css.gif#2 delete .. //depot/projects/trustedbsd/mac/tools/tools/tinderbox/www/valid-css.png#1 branch .. //depot/projects/trustedbsd/mac/usr.bin/last/last.1#5 integrate .. //depot/projects/trustedbsd/mac/usr.bin/last/last.c#9 integrate .. //depot/projects/trustedbsd/mac/usr.bin/mklocale/yacc.y#9 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/acpi/acpiconf/acpiconf.8#5 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/acpi/acpiconf/acpiconf.c#5 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/atm/atmarpd/atmarp_log.c#2 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/atm/atmarpd/atmarp_subr.c#3 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/atm/atmarpd/atmarpd.c#3 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/atm/scspd/scsp_subr.c#3 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/edquota/edquota.8#6 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/i4b/isdnd/support.c#4 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/lpr/common_source/lp.local.h#3 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/pstat/pstat.8#6 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/pstat/pstat.c#11 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/rtadvd/rtadvd.conf.5#3 integrate Differences ... ==== //depot/projects/trustedbsd/mac/MAINTAINERS#19 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.75 2003/07/19 00:17:36 markm Exp $ +$FreeBSD: src/MAINTAINERS,v 1.76 2003/07/30 10:43:13 bp Exp $ subsystem login notes ----------------------------- @@ -78,6 +78,10 @@ unifdef(1) fanf Pre-commit review requested. ntp roberto Pre-commit review requested. inetd dwmalone Recommends pre-commit review. +nwfs bp In case of functional changes pre-commit review + requested. +contrib/smbfs bp Open for in-tree committs. In case of functional + changes pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. ==== //depot/projects/trustedbsd/mac/UPDATING#30 (text+ko) ==== @@ -17,6 +17,13 @@ developers choose to disable these features on build machines to maximize performance. +20030728: + All current USB and Firewire quirks in da(4) have been deprecated + and will be removed for 5.2. If this causes failure for your + umass(4) devices, enable "options DA_OLD_QUIRKS" in your kernel + and send the output of "camcontrol inquiry da0" to scsi@freebsd.org + so the quirk can be re-enabled. + 20030722: FPU-less support has been removed from FreeBSD. Chances are you won't notice. 386+387 support should still work after this change, but @@ -1326,4 +1333,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.259 2003/07/22 11:08:41 imp Exp $ +$FreeBSD: src/UPDATING,v 1.260 2003/07/29 04:40:33 njl Exp $ ==== //depot/projects/trustedbsd/mac/contrib/isc-dhcp/FREEBSD-upgrade#6 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/isc-dhcp/FREEBSD-upgrade,v 1.14 2003/01/16 19:05:56 murray Exp $ +$FreeBSD: src/contrib/isc-dhcp/FREEBSD-upgrade,v 1.16 2003/07/28 08:30:11 mbr Exp $ ISC DHCP client 3.0.1rc11 originals can be found at: ftp://ftp.isc.org/isc/dhcp/ @@ -42,19 +42,26 @@ client/clparse.c r1.6 - prefer strlcpy to strcpy. client/dhclient.8 + r1.14 - interface polling r1.8 - correct a man reference and a typo. r1.6 - document -D option. - remove dhcpd from SEE ALSO section. client/dhclient.c + r1.26 - interface polling + r1.25 - correct release lease option r1.19 - connect std{in,out,err}. r1.13 - prefer strlcpy to strcpy. r1.6 - quiet by default. - document -D option. client/dhclient.conf.5 - - Remove dhcpd from SEE ALSO section. + - Remove dhcpd from SEE ALSO section. common/dhcp-options.5 r1.2 - note that hostname is only set if not already set. - - Remove dhcpd from SEE ALSO section. + - Remove dhcpd from SEE ALSO section. + common/dispatch.c + r1.2 - polling mode + includes/dhcpd.h + r1.2 - polling mode (see CVS logs for complete details) murray@FreeBSD.org ==== //depot/projects/trustedbsd/mac/contrib/isc-dhcp/client/dhclient.8#6 (text+ko) ==== @@ -20,7 +20,7 @@ .\" .\" Portions copyright (c) 2000 David E. O'Brien. .\" All rights reserved. -.\" $FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.13 2003/03/18 19:46:55 obrien Exp $ +.\" $FreeBSD: src/contrib/isc-dhcp/client/dhclient.8,v 1.14 2003/07/28 08:30:11 mbr Exp $ .\" .TH dhclient 8 .SH NAME @@ -74,6 +74,10 @@ relay ] [ +.B -i +interval +] +[ .B -n ] [ @@ -190,6 +194,12 @@ flag, followed by the IP address to send. This is only useful for testing, and should not be expected to work in any consistent or useful way. .PP +On FreeBSD, dhclient can be enabled to automatically handle the +link status of the network card. Normally polling is done every +five seconds. The polling interval can be set using the +.B -i +flag, followed by the numbers of seconds. Minimum is one second. +.PP The DHCP client will normally run in the foreground until it has configured an interface, and then will revert to running in the background. To run force dhclient to always run as a foreground ==== //depot/projects/trustedbsd/mac/contrib/isc-dhcp/client/dhclient.c#8 (text+ko) ==== @@ -42,12 +42,19 @@ #ifndef lint static char ocopyright[] = "$Id: dhclient.c,v 1.129.2.12 2002/11/07 23:26:38 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium. All rights reserved.\n" -"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.25 2003/03/23 23:29:36 mbr Exp $\n"; +"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.27 2003/07/28 13:25:04 mbr Exp $\n"; #endif /* not lint */ #include "dhcpd.h" #include "version.h" +#ifdef __FreeBSD__ +#include +#include +#include +#include +#endif + TIME cur_time; TIME default_lease_time = 43200; /* 12 hours... */ TIME max_lease_time = 86400; /* 24 hours... */ @@ -85,6 +92,10 @@ int onetry=0; int quiet=1; int nowait=0; +int doinitcheck=0; +#ifdef ENABLE_POLLING_MODE +int polling_interval = 5; +#endif static void usage PROTO ((void)); @@ -202,6 +213,19 @@ } else if (!strcmp (argv [i], "-n")) { /* do not start up any interfaces */ interfaces_requested = 1; +#ifdef ENABLE_POLLING_MODE + } else if (!strcmp (argv [i], "-i")) { + if (++i == argc) + usage (); + polling_interval = (int)strtol(argv [i], + (char **)NULL, 10); + if (polling_interval <= 0) { + log_info ("Incorrect polling interval %d", + polling_interval); + log_info ("Using a default of 5 seconds"); + polling_interval = 5; + } +#endif } else if (!strcmp (argv [i], "-w")) { /* do not exit if there are no broadcast interfaces. */ persist = 1; @@ -233,6 +257,8 @@ log_fatal ("%s: interface name too long (max %ld)", argv [i], (long)strlen (argv [i])); strlcpy (tmp -> name, argv [i], IFNAMSIZ); + set_ieee802(tmp); + tmp->linkstatus = interface_active(tmp); if (interfaces) { interface_reference (&tmp -> next, interfaces, MDL); @@ -386,6 +412,7 @@ INTERFACE_AUTOMATIC)) != INTERFACE_REQUESTED)) continue; + set_ieee802(ip); script_init (ip -> client, "PREINIT", (struct string_list *)0); if (ip -> client -> alias) @@ -428,8 +455,13 @@ client -> state = S_INIT; /* Set up a timeout to start the initialization process. */ +#ifdef ENABLE_POLLING_MODE add_timeout (cur_time + random () % 5, + state_link, client, 0, 0); +#else + add_timeout(cur_time + random () % 5, state_reboot, client, 0, 0); +#endif } } } @@ -1353,6 +1385,9 @@ int interval; int increase = 1; + if (interface_active(client -> interface) == 0) + return; + /* Figure out how long it's been since we started transmitting. */ interval = cur_time - client -> first_sending; @@ -1458,6 +1493,9 @@ struct client_lease *loop; struct client_lease *lp; + if (interface_active(client -> interface) == 0) + return; + loop = lp = client -> active; log_info ("No DHCPOFFERS received."); @@ -2771,7 +2809,8 @@ break; } client -> state = S_INIT; - state_reboot (client); + if (interface_active(ip)) + state_reboot(client); } } } @@ -2932,8 +2971,10 @@ client -> state = S_INIT; /* Set up a timeout to start the initialization process. */ - add_timeout (cur_time + random () % 5, - state_reboot, client, 0, 0); + if (interface_active(ip)) { + add_timeout(cur_time + random () % 5, + state_reboot, client, 0, 0); + } } } return ISC_R_SUCCESS; @@ -2997,7 +3038,8 @@ break; case server_awaken: - state_reboot (client); + if (interface_active(ip)) + state_reboot(client); break; } } @@ -3134,3 +3176,152 @@ data_string_forget (&ddns_dhcid, MDL); return rcode; } + +/* Check to see if there's a wire plugged in */ +int +interface_active(struct interface_info *ip) { +#ifdef __FreeBSD__ + struct ifmediareq ifmr; + int *media_list, i; + char *ifname; + int sock; + + ifname = ip -> name; + + if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) + log_fatal("Can't create interface_active socket"); + + (void) memset(&ifmr, 0, sizeof(ifmr)); + (void) strncpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name)); + + if (ioctl(sock, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) { + /* + * Interface doesn't support SIOCGIFMEDIA, presume okay + */ + close(sock); + return (1); + } + close(sock); + + if (ifmr.ifm_count == 0) { + /* + * this is unexpected (to me), but we'll just assume + * that this means interface does not support SIOCGIFMEDIA + */ + log_fatal("%s: no media types?", ifname); + return (1); + } + + if (ifmr.ifm_status & IFM_AVALID) { + if (ip->ieee802) { + if ((IFM_TYPE(ifmr.ifm_active) == IFM_IEEE80211) && + (ifmr.ifm_status & IFM_ACTIVE)) + return (1); + } else { + if (ifmr.ifm_status & IFM_ACTIVE) + return (1); + } + } + + return (0); +#else /* ifdef __FreeBSD__ */ + + return (1); +#endif /* Other OSs */ +} + +#ifdef __FreeBSD__ +set_ieee802 (struct interface_info *ip) { + + struct ieee80211req ireq; + u_int8_t data[32]; + int associated = 0; + int *media_list, i; + char *ifname; + int sock; + + ifname = ip -> name; + + if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) + log_fatal("Can't create interface_active socket"); + + (void) memset(&ireq, 0, sizeof(ireq)); + (void) strncpy(ireq.i_name, ifname, sizeof(ireq.i_name)); + ireq.i_data = &data; + ireq.i_type = IEEE80211_IOC_SSID; + ireq.i_val = -1; + /* + * If we can't get the SSID, + * this isn't an 802.11 device. + */ + if (ioctl(sock, SIOCG80211, &ireq) < 0) + ip->ieee802 = 0; + else { +#ifdef DEBUG + printf("Device %s has 802.11\n", ifname); +#endif + ip->ieee802 = 1; + } + close(sock); +} +#endif /* __FreeBSD__ */ + +#ifdef ENABLE_POLLING_MODE +/* Check the state of the NICs if we have link */ +void state_link (cpp) + void *cpp; +{ + struct interface_info *ip; + struct client_state *client; + +#ifdef DEBUG + printf("Polling interface status\n"); +#endif + for (ip = interfaces; ip; ip = ip -> next) { + if (ip->linkstatus == 0 || doinitcheck == 0) { + if (interface_active(ip)) { +#ifdef DEBUG + printf("%s: Found Link on interface\n", ip->name); +#endif + for (client = ip -> client; + client; client = client -> next) { + add_timeout(cur_time + random () % 5, + state_reboot, client, 0, 0); + } + ip->linkstatus = 1; + } else { +#ifdef DEBUG + printf("%s: No Link on interface\n", ip->name); +#endif + for (client = ip -> client; + client; client = client -> next) { + cancel_timeout(state_init, client); + cancel_timeout(send_discover, client); + cancel_timeout(send_request, client); + /* + * XXX without this, dhclient does + * not poll on a interface if there + * is no cable plugged in at startup + * time + */ + if (client -> state == S_INIT) { + add_timeout(cur_time + polling_interval, + state_link, client, 0, 0); + } + } + ip->linkstatus = 0; + } + } else { + if (interface_active(ip) == 0) { +#ifdef DEBUG + printf("%s: Lost Link on interface\n", ip->name); +#endif + ip->linkstatus = 0; + } + } + } + if (doinitcheck) + go_daemon (); + doinitcheck = 1; +} +#endif /* ifdef ENABLE_POLLING_MODE */ ==== //depot/projects/trustedbsd/mac/contrib/isc-dhcp/client/scripts/freebsd#5 (text+ko) ==== @@ -2,7 +2,7 @@ # # $Id: freebsd,v 1.13.2.4 2002/06/09 22:37:55 murray Exp $ # -# $FreeBSD: src/contrib/isc-dhcp/client/scripts/freebsd,v 1.21 2003/01/15 10:47:32 murray Exp $ +# $FreeBSD: src/contrib/isc-dhcp/client/scripts/freebsd,v 1.22 2003/07/28 22:25:20 mbr Exp $ if [ -x /usr/bin/logger ]; then LOGGER="/usr/bin/logger -s -p user.notice -t dhclient" @@ -13,13 +13,19 @@ make_resolv_conf() { if [ x"$new_domain_name_servers" != x ]; then if [ "x$new_domain_name" != x ]; then - echo search $new_domain_name >/etc/resolv.conf + ( echo search $new_domain_name >/etc/resolv.conf ) + exit_status=$? + else + ( rm /etc/resolv.conf ) + exit_status=$? + fi + if [ $exit_status -ne 0 ]; then + $LOGGER "WARNING: Unable to update resolv.conf: Error $exit_status" else - rm /etc/resolv.conf + for nameserver in $new_domain_name_servers; do + ( echo nameserver $nameserver >>/etc/resolv.conf ) + done fi - for nameserver in $new_domain_name_servers; do - echo nameserver $nameserver >>/etc/resolv.conf - done fi } ==== //depot/projects/trustedbsd/mac/contrib/isc-dhcp/common/dispatch.c#5 (text+ko) ==== @@ -43,7 +43,8 @@ #ifndef lint static char copyright[] = -"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n" +"$FreeBSD: src/contrib/isc-dhcp/common/dispatch.c,v 1.3 2003/07/28 11:49:07 mbr Exp $\n"; #endif /* not lint */ #include "dhcpd.h" @@ -51,6 +52,10 @@ struct timeout *timeouts; static struct timeout *free_timeouts; +#ifdef ENABLE_POLLING_MODE +extern int polling_interval; +#endif + void set_time (u_int32_t t) { /* Do any outstanding timeouts. */ @@ -95,11 +100,26 @@ void dispatch () { struct timeval tv, *tvp; +#ifdef ENABLE_POLLING_MODE + struct timeval *tvp_new; +#endif isc_result_t status; + TIME cur_time; + tvp = NULL; +#ifdef ENABLE_POLLING_MODE + tvp_new = NULL; +#endif /* Wait for a packet or a timeout... XXX */ do { tvp = process_outstanding_timeouts (&tv); +#ifdef ENABLE_POLLING_MODE + GET_TIME (&cur_time); + add_timeout(cur_time + polling_interval, state_link, 0, 0, 0); + tvp_new = process_outstanding_timeouts(&tv); + if (tvp != NULL && (tvp -> tv_sec > tvp_new -> tv_sec)) + tvp = tvp_new; +#endif /* ENABLE_POLLING_MODE */ status = omapi_one_dispatch (0, tvp); } while (status == ISC_R_TIMEDOUT || status == ISC_R_SUCCESS); log_fatal ("omapi_one_dispatch failed: %s -- exiting.", ==== //depot/projects/trustedbsd/mac/contrib/isc-dhcp/includes/dhcpd.h#7 (text+ko) ==== @@ -39,6 +39,8 @@ * ``http://www.isc.org/''. To learn more about Vixie Enterprises, * see ``http://www.vix.com''. To learn more about Nominum, Inc., see * ``http://www.nominum.com''. + * + * $FreeBSD: src/contrib/isc-dhcp/includes/dhcpd.h,v 1.3 2003/07/28 11:49:07 mbr Exp $ */ #ifndef __CYGWIN32__ @@ -778,6 +780,8 @@ unsigned remote_id_len; /* Length of Remote ID. */ char name [IFNAMSIZ]; /* Its name... */ + int linkstatus; /* Link status */ + int ieee802; /* True if media is ieee802 */ int index; /* Its index. */ int rfdesc; /* Its read file descriptor. */ int wfdesc; /* Its write file descriptor, if @@ -1853,6 +1857,9 @@ void send_decline PROTO ((void *)); void state_reboot PROTO ((void *)); +#ifdef ENABLE_POLLING_MODE +void state_link PROTO (()); +#endif void state_init PROTO ((void *)); void state_selecting PROTO ((void *)); void state_requesting PROTO ((void *)); ==== //depot/projects/trustedbsd/mac/contrib/one-true-awk/FIXES#6 (text+ko) ==== @@ -25,6 +25,52 @@ This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Jul 29, 2003: + fixed (i think) the long-standing botch that included the beginning of + line state ^ for RE's in the set of valid characters; this led to a + variety of odd problems, including failure to properly match certain + regular expressions in non-US locales. thanks to ruslan for keeping + at this one. + +Jul 28, 2003: + n-th try at getting internationalization right, with thanks to volker + kiefel, arnold robbins and ruslan ermilov for advice, though they + should not be blamed for the outcome. according to posix, "." is the + radix character in programs and command line arguments regardless of + the locale; otherwise, the locale should prevail for input and output + of numbers. so it's intended to work that way. + + i have rescinded the attempt to use strcoll in expanding shorthands in + regular expressions (cclenter). its properties are much too + surprising; for example [a-c] matches aAbBc in locale en_US but abBcC + in locale fr_CA. i can see how this might arise by implementation + but i cannot explain it to a human user. (this behavior can be seen + in gawk as well; we're leaning on the same library.) + + the issue appears to be that strcoll is meant for sorting, where + merging upper and lower case may make sense (though note that unix + sort does not do this by default either). it is not appropriate + for regular expressions, where the goal is to match specific + patterns of characters. in any case, the notations [:lower:], etc., + are available in awk, and they are more likely to work correctly in + most locales. + + a moratorium is hereby declared on internationalization changes. + i apologize to friends and colleagues in other parts of the world. + i would truly like to get this "right", but i don't know what + that is, and i do not want to keep making changes until it's clear. + +Jul 4, 2003: + fixed bug that permitted non-terminated RE, as in "awk /x". + +Jun 1, 2003: + subtle change to split: if source is empty, number of elems + is always 0 and the array is not set. + +Mar 21, 2003: + added some parens to isblank, in another attempt to make things + internationally portable. + Mar 14, 2003: the internationalization changes, somewhat modified, are now reinstated. in theory awk will now do character comparisons ==== //depot/projects/trustedbsd/mac/contrib/one-true-awk/FREEBSD-upgrade#6 (text+ko) ==== @@ -1,18 +1,19 @@ -# $FreeBSD: src/contrib/one-true-awk/FREEBSD-upgrade,v 1.5 2002/12/19 04:34:00 obrien Exp $ +# $FreeBSD: src/contrib/one-true-awk/FREEBSD-upgrade,v 1.6 2003/07/30 06:50:31 ru Exp $ -Import of the February 1998 version of the "one true awk", as described +Import of the July 2003 version of the "one true awk", as described in "The AWK Programming Language", by Al Aho, Brian Kernighan, and Peter Weinberger (Addison-Wesley, 1988, ISBN 0-201-07981-X). -Original source were taken from Brian Kernighan's home page +Original sources were taken from the Brian Kernighan's home page (http://cm.bell-labs.com/who/bwk/) and include bug fixes up thru -Novembe 29, 2002. +July 29, 2003. The following files were removed for this import: buildwin.bat makefile.win missing95.c + vcvars32.bat ytab.c ytab.h ytabc.bak @@ -20,4 +21,4 @@ The vendor import was done by: - cvs import src/contrib/one-true-awk BELL_LABS bwk_20021213 + cvs import src/contrib/one-true-awk BELL_LABS bwk_20030729 ==== //depot/projects/trustedbsd/mac/contrib/one-true-awk/b.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ #include "awk.h" #include "ytab.h" -#define HAT (NCHARS-2) /* matches ^ in regular expr */ +#define HAT (NCHARS+2) /* matches ^ in regular expr */ /* NCHARS is 2**n */ #define MAXLIN 22 @@ -282,24 +282,9 @@ return c; } -static int collate_range_cmp(int a, int b) -{ - int r; - static char s[2][2]; - - if ((uschar)a == (uschar)b) - return 0; - s[0][0] = a; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 1 12:06:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D27037B404; Fri, 1 Aug 2003 12:06:40 -0700 (PDT) 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 14E7D37B401 for ; Fri, 1 Aug 2003 12:06:40 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAC1F43F93 for ; Fri, 1 Aug 2003 12:06:39 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71J6d0U009672 for ; Fri, 1 Aug 2003 12:06:39 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71J6dqa009666 for perforce@freebsd.org; Fri, 1 Aug 2003 12:06:39 -0700 (PDT) Date: Fri, 1 Aug 2003 12:06:39 -0700 (PDT) Message-Id: <200308011906.h71J6dqa009666@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35351 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: Fri, 01 Aug 2003 19:06:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=35351 Change 35351 by rwatson@rwatson_tislabs on 2003/08/01 12:06:19 Correct syntax error in the MAC_ALWAYS_LABEL_MBUF case. Pointed out by: Pawel Jakub Dawidek Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#399 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#399 (text+ko) ==== @@ -232,7 +232,7 @@ &nmacdevfsdirents, 0, "number of devfs dirents inuse"); #else #define MAC_DEBUG_COUNTER_INC(x) -#define MAC_DEBUG_COUNTER_INC(x) +#define MAC_DEBUG_COUNTER_DEC(x) #endif static int error_select(int error1, int error2); From owner-p4-projects@FreeBSD.ORG Fri Aug 1 13:28:23 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D74437B405; Fri, 1 Aug 2003 13:28:23 -0700 (PDT) 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 9939E37B404 for ; Fri, 1 Aug 2003 13:28:22 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 94C0243FDF for ; Fri, 1 Aug 2003 13:28:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71KSK0U021383 for ; Fri, 1 Aug 2003 13:28:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71KSJtg021379 for perforce@freebsd.org; Fri, 1 Aug 2003 13:28:19 -0700 (PDT) Date: Fri, 1 Aug 2003 13:28:19 -0700 (PDT) Message-Id: <200308012028.h71KSJtg021379@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35354 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: Fri, 01 Aug 2003 20:28:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=35354 Change 35354 by marcel@marcel_nfs on 2003/08/01 13:28:15 IFC @35353 Affected files ... .. //depot/projects/ia64/MAINTAINERS#36 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#112 integrate .. //depot/projects/ia64/rescue/rescue/Makefile#9 integrate .. //depot/projects/ia64/sbin/fsck_ffs/fsutil.c#13 integrate .. //depot/projects/ia64/sbin/fsck_ffs/main.c#11 integrate .. //depot/projects/ia64/sbin/fsck_ffs/setup.c#15 integrate .. //depot/projects/ia64/sys/conf/files.ia64#43 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#25 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#17 integrate .. //depot/projects/ia64/sys/dev/em/if_em_osdep.h#12 integrate .. //depot/projects/ia64/sys/dev/firewire/if_fwe.c#17 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#84 integrate .. //depot/projects/ia64/sys/kern/kern_ktr.c#14 integrate .. //depot/projects/ia64/sys/kern/kern_mac.c#29 integrate .. //depot/projects/ia64/sys/pccard/pcic_pci.c#17 integrate .. //depot/projects/ia64/sys/vm/uma_core.c#47 integrate .. //depot/projects/ia64/sys/vm/vm_kern.c#26 integrate .. //depot/projects/ia64/tools/tools/tinderbox/Makefile#7 integrate .. //depot/projects/ia64/tools/tools/tinderbox/ada.rc#2 delete .. //depot/projects/ia64/tools/tools/tinderbox/current.rc#4 delete .. //depot/projects/ia64/tools/tools/tinderbox/default.rc#2 delete .. //depot/projects/ia64/tools/tools/tinderbox/dsa.rc#2 delete .. //depot/projects/ia64/tools/tools/tinderbox/dwp.rc#2 delete .. //depot/projects/ia64/tools/tools/tinderbox/etc/Makefile#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/etc/ada.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/current.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/default.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/dsa.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/dwp.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/experimental.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/releng_4.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/stanley.rc#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/experimental.rc#3 delete .. //depot/projects/ia64/tools/tools/tinderbox/releng_4.rc#3 delete .. //depot/projects/ia64/tools/tools/tinderbox/stanley.rc#3 delete .. //depot/projects/ia64/tools/tools/tinderbox/www/Makefile#3 integrate .. //depot/projects/ia64/tools/tools/tinderbox/www/daemon.png#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/www/index.cgi#5 integrate .. //depot/projects/ia64/tools/tools/tinderbox/www/valid-css.gif#2 delete .. //depot/projects/ia64/tools/tools/tinderbox/www/valid-css.png#1 branch .. //depot/projects/ia64/usr.bin/jot/jot.c#6 integrate .. //depot/projects/ia64/usr.sbin/pkg_install/lib/match.c#6 integrate Differences ... ==== //depot/projects/ia64/MAINTAINERS#36 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.76 2003/07/30 10:43:13 bp Exp $ +$FreeBSD: src/MAINTAINERS,v 1.77 2003/08/01 17:54:11 mbr Exp $ subsystem login notes ----------------------------- @@ -44,7 +44,7 @@ Keep in sync with -STABLE. etc/sendmail gshapiro Pre-commit review requested. Keep in sync with -STABLE. -dhcp murray Needs to pre-approve commits to contrib/isc-dhcp, so +dhcp mbr Needs to pre-approve commits to contrib/isc-dhcp, so changes can be made to the isc.org CVS repository. RELENG_4_* security-officer Requires Security Officer approval. libfetch des Advance notification requested. ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#112 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.603 2003/07/30 08:36:16 hrs Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.604 2003/08/01 13:46:22 yar Exp $ 2000 @@ -279,7 +279,7 @@ to limit the scope of the current operation to the ARP entries on a particular interface. This option applies to the display operations only. It should be useful on routers with numerous - network interfaces. + network interfaces. &merged; &man.chroot.8; now allows the optional setting of a user, primary group, or group list to use inside the chroot ==== //depot/projects/ia64/rescue/rescue/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/rescue/rescue/Makefile,v 1.14 2003/07/24 07:42:42 gordon Exp $ +#$FreeBSD: src/rescue/rescue/Makefile,v 1.15 2003/08/01 09:04:32 gordon Exp $ # @(#)Makefile 8.1 (Berkeley) 6/2/93 PROG= rescue @@ -248,8 +248,8 @@ .ORDER: $(OUTPUTS) objs $(OUTPUTS): $(CONF) - MAKEOBJDIRPREFIX=${CRUNCHOBJS} crunchgen -q -m $(OUTMK) -c $(OUTC) \ - $(CONF) + MAKEFLAGS= MAKEOBJDIRPREFIX=${CRUNCHOBJS} crunchgen -q -m $(OUTMK) \ + -c $(OUTC) $(CONF) $(PROG): $(OUTPUTS) objs MAKEOBJDIRPREFIX=${CRUNCHOBJS} make -f $(OUTMK) ==== //depot/projects/ia64/sbin/fsck_ffs/fsutil.c#13 (text+ko) ==== @@ -37,7 +37,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.21 2003/05/03 18:41:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.22 2003/08/01 11:31:19 ru Exp $"); #include #include @@ -285,7 +285,7 @@ cmd.size = markclean ? -1 : 1; if (sysctlbyname("vfs.ffs.setflags", 0, 0, &cmd, sizeof cmd) == -1) - rwerror("SET FILESYSTEM FLAGS", FS_UNCLEAN); + rwerror("SET FILE SYSTEM FLAGS", FS_UNCLEAN); if (!preen) { printf("\n***** FILE SYSTEM MARKED %s *****\n", markclean ? "CLEAN" : "DIRTY"); ==== //depot/projects/ia64/sbin/fsck_ffs/main.c#11 (text+ko) ==== @@ -43,7 +43,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/main.c,v 1.37 2003/05/03 18:41:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/main.c,v 1.38 2003/08/01 11:31:19 ru Exp $"); #include #include @@ -261,7 +261,7 @@ * file system is clean; * skip snapshot and report it clean */ - pwarn("FILESYSTEM CLEAN; %s\n", + pwarn("FILE SYSTEM CLEAN; %s\n", "SKIPPING CHECKS"); goto clean; } ==== //depot/projects/ia64/sbin/fsck_ffs/setup.c#15 (text+ko) ==== @@ -37,7 +37,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/setup.c,v 1.43 2003/05/03 18:41:57 obrien Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/setup.c,v 1.44 2003/08/01 11:31:19 ru Exp $"); #include #include @@ -188,7 +188,7 @@ bflag = 0; } if (skipclean && preen && sblock.fs_clean) { - pwarn("FILESYSTEM CLEAN; SKIPPING CHECKS\n"); + pwarn("FILE SYSTEM CLEAN; SKIPPING CHECKS\n"); return (-1); } maxfsblock = sblock.fs_size; ==== //depot/projects/ia64/sys/conf/files.ia64#43 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.54 2003/08/01 02:25:32 ambrisko Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.55 2003/08/01 05:28:43 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/ia64/sys/dev/em/if_em.c#25 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.27 2003/07/01 15:51:55 scottl Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.28 2003/08/01 17:33:59 jdp Exp $*/ #include @@ -163,6 +163,10 @@ static int em_is_valid_ether_addr(u_int8_t *); static int em_sysctl_stats(SYSCTL_HANDLER_ARGS); static int em_sysctl_debug_info(SYSCTL_HANDLER_ARGS); +static int em_sysctl_int_delay(SYSCTL_HANDLER_ARGS); +static void em_add_int_delay_sysctl(struct adapter *, const char *, + const char *, struct em_int_delay_info *, + int, int); /********************************************************************* * FreeBSD Device Interface Entry Points @@ -187,6 +191,23 @@ MODULE_DEPEND(em, ether, 1, 1, 1); /********************************************************************* + * Tunable default values. + *********************************************************************/ + +#define E1000_TICKS_TO_USECS(ticks) ((1024 * (ticks) + 500) / 1000) +#define E1000_USECS_TO_TICKS(usecs) ((1000 * (usecs) + 512) / 1024) + +static int em_tx_int_delay_dflt = E1000_TICKS_TO_USECS(EM_TIDV); +static int em_rx_int_delay_dflt = E1000_TICKS_TO_USECS(EM_RDTR); +static int em_tx_abs_int_delay_dflt = E1000_TICKS_TO_USECS(EM_TADV); +static int em_rx_abs_int_delay_dflt = E1000_TICKS_TO_USECS(EM_RADV); + +TUNABLE_INT("hw.em.tx_int_delay", &em_tx_int_delay_dflt); +TUNABLE_INT("hw.em.rx_int_delay", &em_rx_int_delay_dflt); +TUNABLE_INT("hw.em.tx_abs_int_delay", &em_tx_abs_int_delay_dflt); +TUNABLE_INT("hw.em.rx_abs_int_delay", &em_rx_abs_int_delay_dflt); + +/********************************************************************* * Device identification routine * * em_probe determines if the driver should be loaded on @@ -305,14 +326,30 @@ /* Determine hardware revision */ em_identify_hardware(adapter); + + /* Set up some sysctls for the tunable interrupt delays */ + em_add_int_delay_sysctl(adapter, "rx_int_delay", + "receive interrupt delay in usecs", &adapter->rx_int_delay, + E1000_REG_OFFSET(&adapter->hw, RDTR), em_rx_int_delay_dflt); + em_add_int_delay_sysctl(adapter, "tx_int_delay", + "transmit interrupt delay in usecs", &adapter->tx_int_delay, + E1000_REG_OFFSET(&adapter->hw, TIDV), em_tx_int_delay_dflt); + if (adapter->hw.mac_type >= em_82540) { + em_add_int_delay_sysctl(adapter, "rx_abs_int_delay", + "receive interrupt delay limit in usecs", + &adapter->rx_abs_int_delay, + E1000_REG_OFFSET(&adapter->hw, RADV), + em_rx_abs_int_delay_dflt); + em_add_int_delay_sysctl(adapter, "tx_abs_int_delay", + "transmit interrupt delay limit in usecs", + &adapter->tx_abs_int_delay, + E1000_REG_OFFSET(&adapter->hw, TADV), + em_tx_abs_int_delay_dflt); + } /* Parameters (to be read from user) */ adapter->num_tx_desc = EM_MAX_TXD; adapter->num_rx_desc = EM_MAX_RXD; - adapter->tx_int_delay = EM_TIDV; - adapter->tx_abs_int_delay = EM_TADV; - adapter->rx_int_delay = EM_RDTR; - adapter->rx_abs_int_delay = EM_RADV; adapter->hw.autoneg = DO_AUTO_NEG; adapter->hw.wait_autoneg_complete = WAIT_FOR_AUTO_NEG_DEFAULT; adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT; @@ -1982,9 +2019,10 @@ } E1000_WRITE_REG(&adapter->hw, TIPG, reg_tipg); - E1000_WRITE_REG(&adapter->hw, TIDV, adapter->tx_int_delay); + E1000_WRITE_REG(&adapter->hw, TIDV, adapter->tx_int_delay.value); if(adapter->hw.mac_type >= em_82540) - E1000_WRITE_REG(&adapter->hw, TADV, adapter->tx_abs_int_delay); + E1000_WRITE_REG(&adapter->hw, TADV, + adapter->tx_abs_int_delay.value); /* Program the Transmit Control Register */ reg_tctl = E1000_TCTL_PSP | E1000_TCTL_EN | @@ -1999,7 +2037,7 @@ /* Setup Transmit Descriptor Settings for this adapter */ adapter->txd_cmd = E1000_TXD_CMD_IFCS | E1000_TXD_CMD_RS; - if (adapter->tx_int_delay > 0) + if (adapter->tx_int_delay.value > 0) adapter->txd_cmd |= E1000_TXD_CMD_IDE; return; @@ -2368,10 +2406,11 @@ /* Set the Receive Delay Timer Register */ E1000_WRITE_REG(&adapter->hw, RDTR, - adapter->rx_int_delay | E1000_RDT_FPDB); + adapter->rx_int_delay.value | E1000_RDT_FPDB); if(adapter->hw.mac_type >= em_82540) { - E1000_WRITE_REG(&adapter->hw, RADV, adapter->rx_abs_int_delay); + E1000_WRITE_REG(&adapter->hw, RADV, + adapter->rx_abs_int_delay.value); /* Set the interrupt throttling rate. Value is calculated * as DEFAULT_ITR = 1/(MAX_INTS_PER_SEC * 256ns) */ @@ -2999,3 +3038,63 @@ return error; } + +static int +em_sysctl_int_delay(SYSCTL_HANDLER_ARGS) +{ + struct em_int_delay_info *info; + struct adapter *adapter; + u_int32_t regval; + int error; + int usecs; + int ticks; + int s; + + info = (struct em_int_delay_info *)arg1; + adapter = info->adapter; + usecs = info->value; + error = sysctl_handle_int(oidp, &usecs, 0, req); + if (error != 0 || req->newptr == NULL) + return error; + if (usecs < 0 || usecs > E1000_TICKS_TO_USECS(65535)) + return EINVAL; + info->value = usecs; + ticks = E1000_USECS_TO_TICKS(usecs); + + s = splimp(); + regval = E1000_READ_OFFSET(&adapter->hw, info->offset); + regval = (regval & ~0xffff) | (ticks & 0xffff); + /* Handle a few special cases. */ + switch (info->offset) { + case E1000_RDTR: + case E1000_82542_RDTR: + regval |= E1000_RDT_FPDB; + break; + case E1000_TIDV: + case E1000_82542_TIDV: + if (ticks == 0) { + adapter->txd_cmd &= ~E1000_TXD_CMD_IDE; + /* Don't write 0 into the TIDV register. */ + regval++; + } else + adapter->txd_cmd |= E1000_TXD_CMD_IDE; + break; + } + E1000_WRITE_OFFSET(&adapter->hw, info->offset, regval); + splx(s); + return 0; +} + +static void +em_add_int_delay_sysctl(struct adapter *adapter, const char *name, + const char *description, struct em_int_delay_info *info, + int offset, int value) +{ + info->adapter = adapter; + info->offset = offset; + info->value = value; + SYSCTL_ADD_PROC(&adapter->sysctl_ctx, + SYSCTL_CHILDREN(adapter->sysctl_tree), + OID_AUTO, name, CTLTYPE_INT|CTLFLAG_RW, + info, 0, em_sysctl_int_delay, "I", description); +} ==== //depot/projects/ia64/sys/dev/em/if_em.h#17 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.18 2003/07/17 19:02:34 jdp Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.19 2003/08/01 17:33:59 jdp Exp $*/ #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ @@ -294,6 +294,13 @@ OFFLOAD_UDP_IP } XSUM_CONTEXT_T; +struct adapter; +struct em_int_delay_info { + struct adapter *adapter; /* Back-pointer to the adapter struct */ + int offset; /* Register offset to read/write */ + int value; /* Current value in usecs */ +}; + /* Our adapter structure */ struct adapter { struct arpcom interface_data; @@ -320,10 +327,10 @@ u_int16_t link_speed; u_int16_t link_duplex; u_int32_t smartspeed; - u_int32_t tx_int_delay; - u_int32_t tx_abs_int_delay; - u_int32_t rx_int_delay; - u_int32_t rx_abs_int_delay; + struct em_int_delay_info tx_int_delay; + struct em_int_delay_info tx_abs_int_delay; + struct em_int_delay_info rx_int_delay; + struct em_int_delay_info rx_abs_int_delay; XSUM_CONTEXT_T active_checksum_context; ==== //depot/projects/ia64/sys/dev/em/if_em_osdep.h#12 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em_osdep.h,v 1.11 2003/05/02 21:17:08 pdeuskar Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em_osdep.h,v 1.12 2003/08/01 17:33:59 jdp Exp $*/ #ifndef _FREEBSD_OS_H_ #define _FREEBSD_OS_H_ @@ -89,38 +89,36 @@ struct device *dev; }; -#define E1000_WRITE_FLUSH(a) E1000_READ_REG(a, STATUS) +#define E1000_WRITE_FLUSH(hw) E1000_READ_REG(hw, STATUS) + +/* Read from an absolute offset in the adapter's memory space */ +#define E1000_READ_OFFSET(hw, offset) \ + bus_space_read_4( ((struct em_osdep *)(hw)->back)->mem_bus_space_tag, \ + ((struct em_osdep *)(hw)->back)->mem_bus_space_handle, \ + offset) -#define E1000_READ_REG(a, reg) (\ - bus_space_read_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - ((a)->mac_type >= em_82543) ? E1000_##reg : E1000_82542_##reg)) +/* Write to an absolute offset in the adapter's memory space */ +#define E1000_WRITE_OFFSET(hw, offset, value) \ + bus_space_write_4( ((struct em_osdep *)(hw)->back)->mem_bus_space_tag, \ + ((struct em_osdep *)(hw)->back)->mem_bus_space_handle, \ + offset, \ + value) -#define E1000_WRITE_REG(a, reg, value) (\ - bus_space_write_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - ((a)->mac_type >= em_82543) ? E1000_##reg : E1000_82542_##reg, \ - value)) +/* Convert a register name to its offset in the adapter's memory space */ +#define E1000_REG_OFFSET(hw, reg) \ + ((hw)->mac_type >= em_82543 ? E1000_##reg : E1000_82542_##reg) -#define E1000_READ_REG_ARRAY(a, reg, offset) (\ - ((a)->mac_type >= em_82543) ? \ - bus_space_read_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_##reg + ((offset) << 2))): \ - bus_space_read_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_82542_##reg + ((offset) << 2)))) +#define E1000_READ_REG(hw, reg) \ + E1000_READ_OFFSET(hw, E1000_REG_OFFSET(hw, reg)) +#define E1000_WRITE_REG(hw, reg, value) \ + E1000_WRITE_OFFSET(hw, E1000_REG_OFFSET(hw, reg), value) -#define E1000_WRITE_REG_ARRAY(a, reg, offset, value) (\ - ((a)->mac_type >= em_82543) ? \ - bus_space_write_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_##reg + ((offset) << 2)), value): \ - bus_space_write_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_82542_##reg + ((offset) << 2)), value)) +#define E1000_READ_REG_ARRAY(hw, reg, index) \ + E1000_READ_OFFSET(hw, E1000_REG_OFFSET(hw, reg) + ((index) << 2)) +#define E1000_WRITE_REG_ARRAY(hw, reg, index, value) \ + E1000_WRITE_OFFSET(hw, E1000_REG_OFFSET(hw, reg) + ((index) << 2), value) #endif /* _FREEBSD_OS_H_ */ ==== //depot/projects/ia64/sys/dev/firewire/if_fwe.c#17 (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/firewire/if_fwe.c,v 1.17 2003/08/01 02:13:25 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.18 2003/08/01 17:19:12 simokawa Exp $ */ #include "opt_inet.h" @@ -298,13 +298,11 @@ for (i = START; i < fc->nisodma; i ++) { xferq = fc->ir[i]; if ((xferq->flag & FWXFERQ_OPEN) == 0) - break; + goto found; } - - if (i >= fc->nisodma) { - printf("no free dma channel\n"); - return; - } + printf("no free dma channel\n"); + return; +found: fwe->dma_ch = i; fwe->stream_ch = stream_ch; fwe->pkt_hdr.mode.stream.chtag = fwe->stream_ch; ==== //depot/projects/ia64/sys/ia64/ia64/machdep.c#84 (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/machdep.c,v 1.144 2003/07/31 01:29:09 peter Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.145 2003/08/01 07:21:34 marcel Exp $ */ #include "opt_acpi.h" @@ -1235,7 +1235,7 @@ tf = td->td_frame; regs->r_special = tf->tf_special; regs->r_scratch = tf->tf_scratch; - /* XXX preserved */ + save_callee_saved(®s->r_preserved); return (0); } @@ -1247,7 +1247,7 @@ tf = td->td_frame; tf->tf_special = regs->r_special; tf->tf_scratch = regs->r_scratch; - /* XXX preserved */ + restore_callee_saved(®s->r_preserved); return (0); } @@ -1275,7 +1275,7 @@ ia64_highfp_save(td); fpregs->fpr_scratch = frame->tf_scratch_fp; - /* XXX preserved_fp */ + save_callee_saved_fp(&fpregs->fpr_preserved); fpregs->fpr_high = pcb->pcb_high_fp; return (0); } @@ -1290,7 +1290,7 @@ ia64_highfp_drop(td); frame->tf_scratch_fp = fpregs->fpr_scratch; - /* XXX preserved_fp */ + restore_callee_saved_fp(&fpregs->fpr_preserved); pcb->pcb_high_fp = fpregs->fpr_high; return (0); } ==== //depot/projects/ia64/sys/kern/kern_ktr.c#14 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_ktr.c,v 1.40 2003/07/31 17:29:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_ktr.c,v 1.41 2003/08/01 17:00:49 obrien Exp $"); #include "opt_ddb.h" #include "opt_ktr.h" @@ -267,7 +267,7 @@ DB_SHOW_COMMAND(ktr, db_ktr_all) { - int c, quit; + int lines, quit; quit = 0; lines = NUM_LINES_PER_PAGE; ==== //depot/projects/ia64/sys/kern/kern_mac.c#29 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.93 2003/06/23 01:26:33 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.94 2003/08/01 15:45:14 rwatson Exp $"); #include "opt_mac.h" #include "opt_devfs.h" @@ -121,7 +121,6 @@ */ static int ea_warn_once = 0; -#ifndef MAC_ALWAYS_LABEL_MBUF /* * Flag to indicate whether or not we should allocate label storage for * new mbufs. Since most dynamic policies we currently work with don't @@ -133,6 +132,7 @@ * already has to deal with uninitialized labels, this probably won't * be a problem. Note: currently no locking. Will this be a problem? */ +#ifndef MAC_ALWAYS_LABEL_MBUF static int mac_labelmbufs = 0; #endif @@ -514,36 +514,28 @@ /* * After the policy list has changed, walk the list to update any global - * flags. + * flags. Currently, we support only one flag, and it's conditionally + * defined; as a result, the entire function is conditional. Eventually, + * the #else case might also iterate across the policies. */ static void mac_policy_updateflags(void) { +#ifndef MAC_ALWAYS_LABEL_MBUF struct mac_policy_conf *tmpc; -#ifndef MAC_ALWAYS_LABEL_MBUF int labelmbufs; -#endif mac_policy_assert_exclusive(); -#ifndef MAC_ALWAYS_LABEL_MBUF labelmbufs = 0; -#endif - LIST_FOREACH(tmpc, &mac_static_policy_list, mpc_list) { -#ifndef MAC_ALWAYS_LABEL_MBUF if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; -#endif } LIST_FOREACH(tmpc, &mac_policy_list, mpc_list) { -#ifndef MAC_ALWAYS_LABEL_MBUF if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; -#endif } - -#ifndef MAC_ALWAYS_LABEL_MBUF mac_labelmbufs = (labelmbufs != 0); #endif } @@ -883,24 +875,22 @@ #ifndef MAC_ALWAYS_LABEL_MBUF /* - * Don't reserve space for labels on mbufs unless we have a policy - * that uses the labels. + * If conditionally allocating mbuf labels, don't allocate unless + * they are required. */ - if (mac_labelmbufs) { + if (!mac_labelmbufs) + return (0); #endif - tag = m_tag_get(PACKET_TAG_MACLABEL, sizeof(struct label), - flag); - if (tag == NULL) - return (ENOMEM); - error = mac_init_mbuf_tag(tag, flag); - if (error) { - m_tag_free(tag); - return (error); - } - m_tag_prepend(m, tag); -#ifndef MAC_ALWAYS_LABEL_MBUF + tag = m_tag_get(PACKET_TAG_MACLABEL, sizeof(struct label), + flag); + if (tag == NULL) + return (ENOMEM); + error = mac_init_mbuf_tag(tag, flag); + if (error) { + m_tag_free(tag); + return (error); } -#endif + m_tag_prepend(m, tag); return (0); } ==== //depot/projects/ia64/sys/pccard/pcic_pci.c#17 (text+ko) ==== @@ -26,7 +26,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/pccard/pcic_pci.c,v 1.125 2003/06/12 04:46:43 imp Exp $ + * $FreeBSD: src/sys/pccard/pcic_pci.c,v 1.126 2003/08/01 16:10:48 imp Exp $ */ #define OBSOLETE_IN_6 @@ -438,6 +438,8 @@ * The 68xx datasheets make it hard to know what the right thing * to do here is. We do what we know, which is nothing, and * hope for the best. + * + * XXX NEWCARD may have some useful code here. */ /* XXX */ return (0); ==== //depot/projects/ia64/sys/vm/uma_core.c#47 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.69 2003/07/30 18:55:15 bmilekic Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.70 2003/08/01 17:42:27 bmilekic Exp $"); /* I should really use ktr.. */ /* @@ -513,10 +513,12 @@ bucket_drain(zone, cache->uc_allocbucket); bucket_drain(zone, cache->uc_freebucket); if (destroy) { - uma_zfree_internal(bucketzone, cache->uc_allocbucket, - NULL, 0); - uma_zfree_internal(bucketzone, cache->uc_freebucket, - NULL, 0); + if (cache->uc_allocbucket != NULL) + uma_zfree_internal(bucketzone, + cache->uc_allocbucket, NULL, 0); + if (cache->uc_freebucket != NULL) + uma_zfree_internal(bucketzone, + cache->uc_freebucket, NULL, 0); cache->uc_allocbucket = cache->uc_freebucket = NULL; } } ==== //depot/projects/ia64/sys/vm/vm_kern.c#26 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.101 2003/07/27 18:31:32 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.102 2003/08/01 19:51:43 alc Exp $"); #include #include @@ -119,7 +119,11 @@ /* * kmem_alloc_nofault: * - * Same as kmem_alloc_pageable, except that it create a nofault entry. + * Allocate a virtual address range with no underlying object and + * no initial mapping to physical memory. Any mapping from this + * range to physical memory must be explicitly created prior to + * its use, typically with pmap_qenter(). Any attempt to create + * a mapping on demand through vm_fault() will result in a panic. */ vm_offset_t kmem_alloc_nofault(map, size) ==== //depot/projects/ia64/tools/tools/tinderbox/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/tools/tools/tinderbox/Makefile,v 1.8 2003/07/28 09:49:27 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/Makefile,v 1.9 2003/08/01 07:24:30 des Exp $ BINDIR ?= ${HOME}/bin BINOWN ?= ${USER} @@ -10,16 +10,6 @@ MANGRP ?= ${USER} MAN = tbmaster.1 tinderbox.1 -SUBDIR = www - -RCFILES = default.rc releng_4.rc current.rc experimental.rc -RCFILES += ada.rc dsa.rc dwp.rc stanley.rc -ETCDIR ?= ${HOME}/etc -ETCOWN ?= ${USER} -ETCGRP ?= ${USER} - -beforeinstall: - (cd ${.CURDIR} &&\ - ${INSTALL} -m 0644 -o ${ETCOWN} -g ${ETCGRP} ${RCFILES} ${ETCDIR}) +SUBDIR = etc www .include ==== //depot/projects/ia64/tools/tools/tinderbox/etc/ada.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # Tinderbox setup for ada.des.no # -# $FreeBSD: src/tools/tools/tinderbox/etc/ada.rc,v 1.1 2003/07/23 20:16:36 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/ada.rc,v 1.2 2003/08/01 07:24:31 des Exp $ # comment = Tinderbox development ==== //depot/projects/ia64/tools/tools/tinderbox/etc/current.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # CURRENT tinderbox setup # -# $FreeBSD: src/tools/tools/tinderbox/etc/current.rc,v 1.3 2003/07/25 22:17:28 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/current.rc,v 1.4 2003/08/01 07:24:31 des Exp $ # branches = CURRENT ==== //depot/projects/ia64/tools/tools/tinderbox/etc/default.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # Tinderbox defaults # -# $FreeBSD: src/tools/tools/tinderbox/etc/default.rc,v 1.1 2003/07/23 20:16:36 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/default.rc,v 1.2 2003/08/01 07:24:31 des Exp $ # comment = %%branch%% tinderbox ==== //depot/projects/ia64/tools/tools/tinderbox/etc/dsa.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # Tinderbox setup for dsa.des.no # -# $FreeBSD: src/tools/tools/tinderbox/etc/dsa.rc,v 1.1 2003/07/23 20:16:36 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/dsa.rc,v 1.2 2003/08/01 07:24:31 des Exp $ # comment = Tinderbox development ==== //depot/projects/ia64/tools/tools/tinderbox/etc/dwp.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # Tinderbox setup for dwp.des.no # -# $FreeBSD: src/tools/tools/tinderbox/etc/dwp.rc,v 1.1 2003/07/23 20:16:36 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/dwp.rc,v 1.2 2003/08/01 07:24:31 des Exp $ # comment = Tinderbox development ==== //depot/projects/ia64/tools/tools/tinderbox/etc/experimental.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # Tinderbox setup for experimental platforms. # -# $FreeBSD: src/tools/tools/tinderbox/etc/experimental.rc,v 1.4 2003/07/31 07:52:06 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/experimental.rc,v 1.5 2003/08/01 07:24:31 des Exp $ # comment = Experimental platforms ==== //depot/projects/ia64/tools/tools/tinderbox/etc/releng_4.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # RELENG_4 tinderbox setup # -# $FreeBSD: src/tools/tools/tinderbox/etc/releng_4.rc,v 1.2 2003/07/25 07:18:06 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/releng_4.rc,v 1.3 2003/08/01 07:24:31 des Exp $ # branches = RELENG_4 ==== //depot/projects/ia64/tools/tools/tinderbox/etc/stanley.rc#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # Tinderbox setup for stanley.rtp.freebsd.org # -# $FreeBSD: src/tools/tools/tinderbox/etc/stanley.rc,v 1.3 2003/07/28 09:44:54 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/etc/stanley.rc,v 1.4 2003/08/01 07:24:31 des Exp $ # comment = Tinderbox stress test ==== //depot/projects/ia64/tools/tools/tinderbox/www/Makefile#3 (text+ko) ==== @@ -1,13 +1,15 @@ -# $FreeBSD: src/tools/tools/tinderbox/www/Makefile,v 1.2 2003/05/17 14:15:59 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/www/Makefile,v 1.3 2003/08/01 07:55:13 des Exp $ CGI = index.cgi -DATA = tb.css valid-css.gif valid-xhtml10.png +DATA = tb.css daemon.png valid-css.png valid-xhtml10.png WWWDIR ?= ${HOME}/public_html +WWWOWN ?= ${USER} +WWWGRP ?= ${USER} realinstall: - ${INSTALL} -m 0755 ${.CURDIR}/${CGI} ${WWWDIR} + ${INSTALL} -m0755 -o${WWWOWN} -g${WWWGRP} ${.CURDIR}/${CGI} ${WWWDIR} .for FILE in ${DATA} - ${INSTALL} -m 0644 ${.CURDIR}/${FILE} ${WWWDIR} + ${INSTALL} -m0644 -o${WWWOWN} -g${WWWGRP} ${.CURDIR}/${FILE} ${WWWDIR} .endfor .include ==== //depot/projects/ia64/tools/tools/tinderbox/www/index.cgi#5 (text+ko) ==== @@ -26,7 +26,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/tools/tools/tinderbox/www/index.cgi,v 1.8 2003/07/18 07:43:43 des Exp $ +# $FreeBSD: src/tools/tools/tinderbox/www/index.cgi,v 1.9 2003/08/01 07:55:13 des Exp $ # use 5.006_001; @@ -86,6 +86,7 @@ +

FreeBSD tinderbox logs

==== //depot/projects/ia64/usr.bin/jot/jot.c#6 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/usr.bin/jot/jot.c,v 1.24 2002/07/05 15:58:27 mike Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/jot/jot.c,v 1.25 2003/08/01 16:23:24 das Exp $"); /* * jot - print sequential or random data @@ -275,7 +275,7 @@ if (randomize) { *x = (ender - begin) * (ender > begin ? 1 : -1); for (*i = 1; *i <= reps || infinity; (*i)++) { - *y = arc4random() / (double)UINT32_MAX; + *y = arc4random() / ((double)UINT32_MAX + 1); if (putdata(*y * *x + begin, reps - *i)) errx(1, "range error in conversion"); } ==== //depot/projects/ia64/usr.sbin/pkg_install/lib/match.c#6 (text+ko) ==== @@ -19,7 +19,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/lib/match.c,v 1.13 2002/09/21 01:28:41 wollman Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/lib/match.c,v 1.14 2003/08/01 17:26:41 bmilekic Exp $"); #include "lib.h" #include @@ -212,7 +212,7 @@ continue; cmd = plist_cmd(tmp + 1, &cp); if (cmd == PLIST_ORIGIN) { - if (strcmp(origin, cp) == 0) + if (strncmp(origin, cp, strlen(origin)) == 0) storeappend(store, installed[i]); break; } From owner-p4-projects@FreeBSD.ORG Fri Aug 1 13:33:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBEB137B405; Fri, 1 Aug 2003 13:33:28 -0700 (PDT) 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 929A937B401 for ; Fri, 1 Aug 2003 13:33:28 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A6C343FCB for ; Fri, 1 Aug 2003 13:33:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71KXR0U022019 for ; Fri, 1 Aug 2003 13:33:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71KXQsH022016 for perforce@freebsd.org; Fri, 1 Aug 2003 13:33:26 -0700 (PDT) Date: Fri, 1 Aug 2003 13:33:26 -0700 (PDT) Message-Id: <200308012033.h71KXQsH022016@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35355 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: Fri, 01 Aug 2003 20:33:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=35355 Change 35355 by marcel@marcel_nfs on 2003/08/01 13:32:47 IFC @35353 Affected files ... .. //depot/projects/uart/conf/files.ia64#5 integrate .. //depot/projects/uart/dev/em/if_em.c#3 integrate .. //depot/projects/uart/dev/em/if_em.h#4 integrate .. //depot/projects/uart/dev/em/if_em_osdep.h#2 integrate .. //depot/projects/uart/dev/firewire/if_fwe.c#4 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#5 integrate .. //depot/projects/uart/kern/kern_ktr.c#3 integrate .. //depot/projects/uart/kern/kern_mac.c#2 integrate .. //depot/projects/uart/pccard/pcic_pci.c#2 integrate .. //depot/projects/uart/vm/uma_core.c#6 integrate .. //depot/projects/uart/vm/vm_kern.c#3 integrate Differences ... ==== //depot/projects/uart/conf/files.ia64#5 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.54 2003/08/01 02:25:32 ambrisko Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.55 2003/08/01 05:28:43 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -47,6 +47,7 @@ dev/kbd/kbd.c optional kbd dev/kbd/kbd.c optional sc dev/kbd/kbd.c optional ukbd +dev/ppc/ppc.c optional ppc isa dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa dev/syscons/schistory.c optional sc @@ -115,7 +116,6 @@ isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc -dev/ppc/ppc.c optional ppc isa/psm.c optional psm isa/syscons_isa.c optional sc isa/vga_isa.c optional vga ==== //depot/projects/uart/dev/em/if_em.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.27 2003/07/01 15:51:55 scottl Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.28 2003/08/01 17:33:59 jdp Exp $*/ #include @@ -163,6 +163,10 @@ static int em_is_valid_ether_addr(u_int8_t *); static int em_sysctl_stats(SYSCTL_HANDLER_ARGS); static int em_sysctl_debug_info(SYSCTL_HANDLER_ARGS); +static int em_sysctl_int_delay(SYSCTL_HANDLER_ARGS); +static void em_add_int_delay_sysctl(struct adapter *, const char *, + const char *, struct em_int_delay_info *, + int, int); /********************************************************************* * FreeBSD Device Interface Entry Points @@ -187,6 +191,23 @@ MODULE_DEPEND(em, ether, 1, 1, 1); /********************************************************************* + * Tunable default values. + *********************************************************************/ + +#define E1000_TICKS_TO_USECS(ticks) ((1024 * (ticks) + 500) / 1000) +#define E1000_USECS_TO_TICKS(usecs) ((1000 * (usecs) + 512) / 1024) + +static int em_tx_int_delay_dflt = E1000_TICKS_TO_USECS(EM_TIDV); +static int em_rx_int_delay_dflt = E1000_TICKS_TO_USECS(EM_RDTR); +static int em_tx_abs_int_delay_dflt = E1000_TICKS_TO_USECS(EM_TADV); +static int em_rx_abs_int_delay_dflt = E1000_TICKS_TO_USECS(EM_RADV); + +TUNABLE_INT("hw.em.tx_int_delay", &em_tx_int_delay_dflt); +TUNABLE_INT("hw.em.rx_int_delay", &em_rx_int_delay_dflt); +TUNABLE_INT("hw.em.tx_abs_int_delay", &em_tx_abs_int_delay_dflt); +TUNABLE_INT("hw.em.rx_abs_int_delay", &em_rx_abs_int_delay_dflt); + +/********************************************************************* * Device identification routine * * em_probe determines if the driver should be loaded on @@ -305,14 +326,30 @@ /* Determine hardware revision */ em_identify_hardware(adapter); + + /* Set up some sysctls for the tunable interrupt delays */ + em_add_int_delay_sysctl(adapter, "rx_int_delay", + "receive interrupt delay in usecs", &adapter->rx_int_delay, + E1000_REG_OFFSET(&adapter->hw, RDTR), em_rx_int_delay_dflt); + em_add_int_delay_sysctl(adapter, "tx_int_delay", + "transmit interrupt delay in usecs", &adapter->tx_int_delay, + E1000_REG_OFFSET(&adapter->hw, TIDV), em_tx_int_delay_dflt); + if (adapter->hw.mac_type >= em_82540) { + em_add_int_delay_sysctl(adapter, "rx_abs_int_delay", + "receive interrupt delay limit in usecs", + &adapter->rx_abs_int_delay, + E1000_REG_OFFSET(&adapter->hw, RADV), + em_rx_abs_int_delay_dflt); + em_add_int_delay_sysctl(adapter, "tx_abs_int_delay", + "transmit interrupt delay limit in usecs", + &adapter->tx_abs_int_delay, + E1000_REG_OFFSET(&adapter->hw, TADV), + em_tx_abs_int_delay_dflt); + } /* Parameters (to be read from user) */ adapter->num_tx_desc = EM_MAX_TXD; adapter->num_rx_desc = EM_MAX_RXD; - adapter->tx_int_delay = EM_TIDV; - adapter->tx_abs_int_delay = EM_TADV; - adapter->rx_int_delay = EM_RDTR; - adapter->rx_abs_int_delay = EM_RADV; adapter->hw.autoneg = DO_AUTO_NEG; adapter->hw.wait_autoneg_complete = WAIT_FOR_AUTO_NEG_DEFAULT; adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT; @@ -1982,9 +2019,10 @@ } E1000_WRITE_REG(&adapter->hw, TIPG, reg_tipg); - E1000_WRITE_REG(&adapter->hw, TIDV, adapter->tx_int_delay); + E1000_WRITE_REG(&adapter->hw, TIDV, adapter->tx_int_delay.value); if(adapter->hw.mac_type >= em_82540) - E1000_WRITE_REG(&adapter->hw, TADV, adapter->tx_abs_int_delay); + E1000_WRITE_REG(&adapter->hw, TADV, + adapter->tx_abs_int_delay.value); /* Program the Transmit Control Register */ reg_tctl = E1000_TCTL_PSP | E1000_TCTL_EN | @@ -1999,7 +2037,7 @@ /* Setup Transmit Descriptor Settings for this adapter */ adapter->txd_cmd = E1000_TXD_CMD_IFCS | E1000_TXD_CMD_RS; - if (adapter->tx_int_delay > 0) + if (adapter->tx_int_delay.value > 0) adapter->txd_cmd |= E1000_TXD_CMD_IDE; return; @@ -2368,10 +2406,11 @@ /* Set the Receive Delay Timer Register */ E1000_WRITE_REG(&adapter->hw, RDTR, - adapter->rx_int_delay | E1000_RDT_FPDB); + adapter->rx_int_delay.value | E1000_RDT_FPDB); if(adapter->hw.mac_type >= em_82540) { - E1000_WRITE_REG(&adapter->hw, RADV, adapter->rx_abs_int_delay); + E1000_WRITE_REG(&adapter->hw, RADV, + adapter->rx_abs_int_delay.value); /* Set the interrupt throttling rate. Value is calculated * as DEFAULT_ITR = 1/(MAX_INTS_PER_SEC * 256ns) */ @@ -2999,3 +3038,63 @@ return error; } + +static int +em_sysctl_int_delay(SYSCTL_HANDLER_ARGS) +{ + struct em_int_delay_info *info; + struct adapter *adapter; + u_int32_t regval; + int error; + int usecs; + int ticks; + int s; + + info = (struct em_int_delay_info *)arg1; + adapter = info->adapter; + usecs = info->value; + error = sysctl_handle_int(oidp, &usecs, 0, req); + if (error != 0 || req->newptr == NULL) + return error; + if (usecs < 0 || usecs > E1000_TICKS_TO_USECS(65535)) + return EINVAL; + info->value = usecs; + ticks = E1000_USECS_TO_TICKS(usecs); + + s = splimp(); + regval = E1000_READ_OFFSET(&adapter->hw, info->offset); + regval = (regval & ~0xffff) | (ticks & 0xffff); + /* Handle a few special cases. */ + switch (info->offset) { + case E1000_RDTR: + case E1000_82542_RDTR: + regval |= E1000_RDT_FPDB; + break; + case E1000_TIDV: + case E1000_82542_TIDV: + if (ticks == 0) { + adapter->txd_cmd &= ~E1000_TXD_CMD_IDE; + /* Don't write 0 into the TIDV register. */ + regval++; + } else + adapter->txd_cmd |= E1000_TXD_CMD_IDE; + break; + } + E1000_WRITE_OFFSET(&adapter->hw, info->offset, regval); + splx(s); + return 0; +} + +static void +em_add_int_delay_sysctl(struct adapter *adapter, const char *name, + const char *description, struct em_int_delay_info *info, + int offset, int value) +{ + info->adapter = adapter; + info->offset = offset; + info->value = value; + SYSCTL_ADD_PROC(&adapter->sysctl_ctx, + SYSCTL_CHILDREN(adapter->sysctl_tree), + OID_AUTO, name, CTLTYPE_INT|CTLFLAG_RW, + info, 0, em_sysctl_int_delay, "I", description); +} ==== //depot/projects/uart/dev/em/if_em.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.18 2003/07/17 19:02:34 jdp Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.h,v 1.19 2003/08/01 17:33:59 jdp Exp $*/ #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ @@ -294,6 +294,13 @@ OFFLOAD_UDP_IP } XSUM_CONTEXT_T; +struct adapter; +struct em_int_delay_info { + struct adapter *adapter; /* Back-pointer to the adapter struct */ + int offset; /* Register offset to read/write */ + int value; /* Current value in usecs */ +}; + /* Our adapter structure */ struct adapter { struct arpcom interface_data; @@ -320,10 +327,10 @@ u_int16_t link_speed; u_int16_t link_duplex; u_int32_t smartspeed; - u_int32_t tx_int_delay; - u_int32_t tx_abs_int_delay; - u_int32_t rx_int_delay; - u_int32_t rx_abs_int_delay; + struct em_int_delay_info tx_int_delay; + struct em_int_delay_info tx_abs_int_delay; + struct em_int_delay_info rx_int_delay; + struct em_int_delay_info rx_abs_int_delay; XSUM_CONTEXT_T active_checksum_context; ==== //depot/projects/uart/dev/em/if_em_osdep.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em_osdep.h,v 1.11 2003/05/02 21:17:08 pdeuskar Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em_osdep.h,v 1.12 2003/08/01 17:33:59 jdp Exp $*/ #ifndef _FREEBSD_OS_H_ #define _FREEBSD_OS_H_ @@ -89,38 +89,36 @@ struct device *dev; }; -#define E1000_WRITE_FLUSH(a) E1000_READ_REG(a, STATUS) +#define E1000_WRITE_FLUSH(hw) E1000_READ_REG(hw, STATUS) + +/* Read from an absolute offset in the adapter's memory space */ +#define E1000_READ_OFFSET(hw, offset) \ + bus_space_read_4( ((struct em_osdep *)(hw)->back)->mem_bus_space_tag, \ + ((struct em_osdep *)(hw)->back)->mem_bus_space_handle, \ + offset) -#define E1000_READ_REG(a, reg) (\ - bus_space_read_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - ((a)->mac_type >= em_82543) ? E1000_##reg : E1000_82542_##reg)) +/* Write to an absolute offset in the adapter's memory space */ +#define E1000_WRITE_OFFSET(hw, offset, value) \ + bus_space_write_4( ((struct em_osdep *)(hw)->back)->mem_bus_space_tag, \ + ((struct em_osdep *)(hw)->back)->mem_bus_space_handle, \ + offset, \ + value) -#define E1000_WRITE_REG(a, reg, value) (\ - bus_space_write_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - ((a)->mac_type >= em_82543) ? E1000_##reg : E1000_82542_##reg, \ - value)) +/* Convert a register name to its offset in the adapter's memory space */ +#define E1000_REG_OFFSET(hw, reg) \ + ((hw)->mac_type >= em_82543 ? E1000_##reg : E1000_82542_##reg) -#define E1000_READ_REG_ARRAY(a, reg, offset) (\ - ((a)->mac_type >= em_82543) ? \ - bus_space_read_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_##reg + ((offset) << 2))): \ - bus_space_read_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_82542_##reg + ((offset) << 2)))) +#define E1000_READ_REG(hw, reg) \ + E1000_READ_OFFSET(hw, E1000_REG_OFFSET(hw, reg)) +#define E1000_WRITE_REG(hw, reg, value) \ + E1000_WRITE_OFFSET(hw, E1000_REG_OFFSET(hw, reg), value) -#define E1000_WRITE_REG_ARRAY(a, reg, offset, value) (\ - ((a)->mac_type >= em_82543) ? \ - bus_space_write_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_##reg + ((offset) << 2)), value): \ - bus_space_write_4( ((struct em_osdep *)(a)->back)->mem_bus_space_tag, \ - ((struct em_osdep *)(a)->back)->mem_bus_space_handle, \ - (E1000_82542_##reg + ((offset) << 2)), value)) +#define E1000_READ_REG_ARRAY(hw, reg, index) \ + E1000_READ_OFFSET(hw, E1000_REG_OFFSET(hw, reg) + ((index) << 2)) +#define E1000_WRITE_REG_ARRAY(hw, reg, index, value) \ + E1000_WRITE_OFFSET(hw, E1000_REG_OFFSET(hw, reg) + ((index) << 2), value) #endif /* _FREEBSD_OS_H_ */ ==== //depot/projects/uart/dev/firewire/if_fwe.c#4 (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/firewire/if_fwe.c,v 1.17 2003/08/01 02:13:25 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.18 2003/08/01 17:19:12 simokawa Exp $ */ #include "opt_inet.h" @@ -298,13 +298,11 @@ for (i = START; i < fc->nisodma; i ++) { xferq = fc->ir[i]; if ((xferq->flag & FWXFERQ_OPEN) == 0) - break; + goto found; } - - if (i >= fc->nisodma) { - printf("no free dma channel\n"); - return; - } + printf("no free dma channel\n"); + return; +found: fwe->dma_ch = i; fwe->stream_ch = stream_ch; fwe->pkt_hdr.mode.stream.chtag = fwe->stream_ch; ==== //depot/projects/uart/ia64/ia64/machdep.c#5 (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/machdep.c,v 1.144 2003/07/31 01:29:09 peter Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.145 2003/08/01 07:21:34 marcel Exp $ */ #include "opt_acpi.h" @@ -1217,7 +1217,7 @@ tf = td->td_frame; regs->r_special = tf->tf_special; regs->r_scratch = tf->tf_scratch; - /* XXX preserved */ + save_callee_saved(®s->r_preserved); return (0); } @@ -1229,7 +1229,7 @@ tf = td->td_frame; tf->tf_special = regs->r_special; tf->tf_scratch = regs->r_scratch; - /* XXX preserved */ + restore_callee_saved(®s->r_preserved); return (0); } @@ -1257,7 +1257,7 @@ ia64_highfp_save(td); fpregs->fpr_scratch = frame->tf_scratch_fp; - /* XXX preserved_fp */ + save_callee_saved_fp(&fpregs->fpr_preserved); fpregs->fpr_high = pcb->pcb_high_fp; return (0); } @@ -1272,7 +1272,7 @@ ia64_highfp_drop(td); frame->tf_scratch_fp = fpregs->fpr_scratch; - /* XXX preserved_fp */ + restore_callee_saved_fp(&fpregs->fpr_preserved); pcb->pcb_high_fp = fpregs->fpr_high; return (0); } ==== //depot/projects/uart/kern/kern_ktr.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_ktr.c,v 1.40 2003/07/31 17:29:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_ktr.c,v 1.41 2003/08/01 17:00:49 obrien Exp $"); #include "opt_ddb.h" #include "opt_ktr.h" @@ -267,7 +267,7 @@ DB_SHOW_COMMAND(ktr, db_ktr_all) { - int c, quit; + int lines, quit; quit = 0; lines = NUM_LINES_PER_PAGE; ==== //depot/projects/uart/kern/kern_mac.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.93 2003/06/23 01:26:33 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mac.c,v 1.94 2003/08/01 15:45:14 rwatson Exp $"); #include "opt_mac.h" #include "opt_devfs.h" @@ -121,7 +121,6 @@ */ static int ea_warn_once = 0; -#ifndef MAC_ALWAYS_LABEL_MBUF /* * Flag to indicate whether or not we should allocate label storage for * new mbufs. Since most dynamic policies we currently work with don't @@ -133,6 +132,7 @@ * already has to deal with uninitialized labels, this probably won't * be a problem. Note: currently no locking. Will this be a problem? */ +#ifndef MAC_ALWAYS_LABEL_MBUF static int mac_labelmbufs = 0; #endif @@ -514,36 +514,28 @@ /* * After the policy list has changed, walk the list to update any global - * flags. + * flags. Currently, we support only one flag, and it's conditionally + * defined; as a result, the entire function is conditional. Eventually, + * the #else case might also iterate across the policies. */ static void mac_policy_updateflags(void) { +#ifndef MAC_ALWAYS_LABEL_MBUF struct mac_policy_conf *tmpc; -#ifndef MAC_ALWAYS_LABEL_MBUF int labelmbufs; -#endif mac_policy_assert_exclusive(); -#ifndef MAC_ALWAYS_LABEL_MBUF labelmbufs = 0; -#endif - LIST_FOREACH(tmpc, &mac_static_policy_list, mpc_list) { -#ifndef MAC_ALWAYS_LABEL_MBUF if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; -#endif } LIST_FOREACH(tmpc, &mac_policy_list, mpc_list) { -#ifndef MAC_ALWAYS_LABEL_MBUF if (tmpc->mpc_loadtime_flags & MPC_LOADTIME_FLAG_LABELMBUFS) labelmbufs++; -#endif } - -#ifndef MAC_ALWAYS_LABEL_MBUF mac_labelmbufs = (labelmbufs != 0); #endif } @@ -883,24 +875,22 @@ #ifndef MAC_ALWAYS_LABEL_MBUF /* - * Don't reserve space for labels on mbufs unless we have a policy - * that uses the labels. + * If conditionally allocating mbuf labels, don't allocate unless + * they are required. */ - if (mac_labelmbufs) { + if (!mac_labelmbufs) + return (0); #endif - tag = m_tag_get(PACKET_TAG_MACLABEL, sizeof(struct label), - flag); - if (tag == NULL) - return (ENOMEM); - error = mac_init_mbuf_tag(tag, flag); - if (error) { - m_tag_free(tag); - return (error); - } - m_tag_prepend(m, tag); -#ifndef MAC_ALWAYS_LABEL_MBUF + tag = m_tag_get(PACKET_TAG_MACLABEL, sizeof(struct label), + flag); + if (tag == NULL) + return (ENOMEM); + error = mac_init_mbuf_tag(tag, flag); + if (error) { + m_tag_free(tag); + return (error); } -#endif + m_tag_prepend(m, tag); return (0); } ==== //depot/projects/uart/pccard/pcic_pci.c#2 (text+ko) ==== @@ -26,7 +26,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/pccard/pcic_pci.c,v 1.125 2003/06/12 04:46:43 imp Exp $ + * $FreeBSD: src/sys/pccard/pcic_pci.c,v 1.126 2003/08/01 16:10:48 imp Exp $ */ #define OBSOLETE_IN_6 @@ -438,6 +438,8 @@ * The 68xx datasheets make it hard to know what the right thing * to do here is. We do what we know, which is nothing, and * hope for the best. + * + * XXX NEWCARD may have some useful code here. */ /* XXX */ return (0); ==== //depot/projects/uart/vm/uma_core.c#6 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.69 2003/07/30 18:55:15 bmilekic Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/uma_core.c,v 1.70 2003/08/01 17:42:27 bmilekic Exp $"); /* I should really use ktr.. */ /* @@ -513,10 +513,12 @@ bucket_drain(zone, cache->uc_allocbucket); bucket_drain(zone, cache->uc_freebucket); if (destroy) { - uma_zfree_internal(bucketzone, cache->uc_allocbucket, - NULL, 0); - uma_zfree_internal(bucketzone, cache->uc_freebucket, - NULL, 0); + if (cache->uc_allocbucket != NULL) + uma_zfree_internal(bucketzone, + cache->uc_allocbucket, NULL, 0); + if (cache->uc_freebucket != NULL) + uma_zfree_internal(bucketzone, + cache->uc_freebucket, NULL, 0); cache->uc_allocbucket = cache->uc_freebucket = NULL; } } ==== //depot/projects/uart/vm/vm_kern.c#3 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.101 2003/07/27 18:31:32 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.102 2003/08/01 19:51:43 alc Exp $"); #include #include @@ -119,7 +119,11 @@ /* * kmem_alloc_nofault: * - * Same as kmem_alloc_pageable, except that it create a nofault entry. + * Allocate a virtual address range with no underlying object and + * no initial mapping to physical memory. Any mapping from this + * range to physical memory must be explicitly created prior to + * its use, typically with pmap_qenter(). Any attempt to create + * a mapping on demand through vm_fault() will result in a panic. */ vm_offset_t kmem_alloc_nofault(map, size) From owner-p4-projects@FreeBSD.ORG Fri Aug 1 14:15:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C54AF37B404; Fri, 1 Aug 2003 14:15:20 -0700 (PDT) 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 63FE837B401 for ; Fri, 1 Aug 2003 14:15:20 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7CAE43FB1 for ; Fri, 1 Aug 2003 14:15:19 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71LFJ0U024655 for ; Fri, 1 Aug 2003 14:15:19 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71LFJBI024652 for perforce@freebsd.org; Fri, 1 Aug 2003 14:15:19 -0700 (PDT) Date: Fri, 1 Aug 2003 14:15:19 -0700 (PDT) Message-Id: <200308012115.h71LFJBI024652@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 35358 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: Fri, 01 Aug 2003 21:15:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=35358 Change 35358 by sam@sam_ebb on 2003/08/01 14:15:10 o ansify function decls prior to locking Affected files ... .. //depot/projects/netperf/sys/net/route.c#3 edit Differences ... ==== //depot/projects/netperf/sys/net/route.c#3 (text+ko) ==== @@ -64,8 +64,7 @@ static void rtable_init(void **); static void -rtable_init(table) - void **table; +rtable_init(void **table) { struct domain *dom; DOMAIN_LOCK(); @@ -87,16 +86,13 @@ * Packet routing routines. */ void -rtalloc(ro) - register struct route *ro; +rtalloc(struct route *ro) { rtalloc_ign(ro, 0UL); } void -rtalloc_ign(ro, ignore) - register struct route *ro; - u_long ignore; +rtalloc_ign(struct route *ro, u_long ignore) { struct rtentry *rt; int s; @@ -118,10 +114,7 @@ * Or, at least try.. Create a cloned route if needed. */ struct rtentry * -rtalloc1(dst, report, ignflags) - register struct sockaddr *dst; - int report; - u_long ignflags; +rtalloc1(struct sockaddr *dst, int report, u_long ignflags) { register struct radix_node_head *rnh = rt_tables[dst->sa_family]; register struct rtentry *rt; @@ -215,8 +208,7 @@ * If the count gets low enough, take it out of the routing table */ void -rtfree(rt) - register struct rtentry *rt; +rtfree(struct rtentry *rt) { /* * find the tree for that address family @@ -292,10 +284,12 @@ * */ void -rtredirect(dst, gateway, netmask, flags, src, rtp) - struct sockaddr *dst, *gateway, *netmask, *src; - int flags; - struct rtentry **rtp; +rtredirect(struct sockaddr *dst, + struct sockaddr *gateway, + struct sockaddr *netmask, + int flags, + struct sockaddr *src, + struct rtentry **rtp) { struct rtentry *rt; int error = 0; @@ -394,9 +388,7 @@ * Routing table ioctl interface. */ int -rtioctl(req, data) - u_long req; - caddr_t data; +rtioctl(u_long req, caddr_t data) { #ifdef INET /* Multicast goop, grrr... */ @@ -407,9 +399,7 @@ } struct ifaddr * -ifa_ifwithroute(flags, dst, gateway) - int flags; - struct sockaddr *dst, *gateway; +ifa_ifwithroute(int flags, struct sockaddr *dst, struct sockaddr *gateway) { register struct ifaddr *ifa; if ((flags & RTF_GATEWAY) == 0) { @@ -466,10 +456,12 @@ * all the bits of info needed */ int -rtrequest(req, dst, gateway, netmask, flags, ret_nrt) - int req, flags; - struct sockaddr *dst, *gateway, *netmask; - struct rtentry **ret_nrt; +rtrequest(int req, + struct sockaddr *dst, + struct sockaddr *gateway, + struct sockaddr *netmask, + int flags, + struct rtentry **ret_nrt) { struct rt_addrinfo info; @@ -493,8 +485,7 @@ #define flags info->rti_flags int -rt_getifa(info) - struct rt_addrinfo *info; +rt_getifa(struct rt_addrinfo *info) { struct ifaddr *ifa; int error = 0; @@ -530,10 +521,7 @@ } int -rtrequest1(req, info, ret_nrt) - int req; - struct rt_addrinfo *info; - struct rtentry **ret_nrt; +rtrequest1(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt) { int s = splnet(); int error = 0; register struct rtentry *rt; @@ -786,9 +774,7 @@ * the late parent (passed in as VP here) are themselves deleted. */ static int -rt_fixdelete(rn, vp) - struct radix_node *rn; - void *vp; +rt_fixdelete(struct radix_node *rn, void *vp) { struct rtentry *rt = (struct rtentry *)rn; struct rtentry *rt0 = vp; @@ -820,9 +806,7 @@ #endif static int -rt_fixchange(rn, vp) - struct radix_node *rn; - void *vp; +rt_fixchange(struct radix_node *rn, void *vp) { struct rtentry *rt = (struct rtentry *)rn; struct rtfc_arg *ap = vp; @@ -909,9 +893,7 @@ #define ROUNDUP(a) (a>0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) int -rt_setgate(rt0, dst, gate) - struct rtentry *rt0; - struct sockaddr *dst, *gate; +rt_setgate(struct rtentry *rt0, struct sockaddr *dst, struct sockaddr *gate) { caddr_t new, old; int dlen = ROUNDUP(dst->sa_len), glen = ROUNDUP(gate->sa_len); @@ -1017,8 +999,7 @@ } static void -rt_maskedcopy(src, dst, netmask) - struct sockaddr *src, *dst, *netmask; +rt_maskedcopy(struct sockaddr *src, struct sockaddr *dst, struct sockaddr *netmask) { register u_char *cp1 = (u_char *)src; register u_char *cp2 = (u_char *)dst; @@ -1041,9 +1022,7 @@ * for an interface. */ int -rtinit(ifa, cmd, flags) - register struct ifaddr *ifa; - int cmd, flags; +rtinit(struct ifaddr *ifa, int cmd, int flags) { register struct rtentry *rt; register struct sockaddr *dst; @@ -1136,10 +1115,7 @@ } int -rt_check(lrt, lrt0, dst) - struct rtentry **lrt; - struct rtentry **lrt0; - struct sockaddr *dst; +rt_check(struct rtentry **lrt, struct rtentry **lrt0, struct sockaddr *dst) { struct rtentry *rt; struct rtentry *rt0; From owner-p4-projects@FreeBSD.ORG Fri Aug 1 14:16:23 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28E1237B40A; Fri, 1 Aug 2003 14:16:23 -0700 (PDT) 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 D06C537B405 for ; Fri, 1 Aug 2003 14:16:22 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D332F43FCB for ; Fri, 1 Aug 2003 14:16:21 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71LGL0U024744 for ; Fri, 1 Aug 2003 14:16:21 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71LGLHP024741 for perforce@freebsd.org; Fri, 1 Aug 2003 14:16:21 -0700 (PDT) Date: Fri, 1 Aug 2003 14:16:21 -0700 (PDT) Message-Id: <200308012116.h71LGLHP024741@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 35359 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: Fri, 01 Aug 2003 21:16:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=35359 Change 35359 by sam@sam_ebb on 2003/08/01 14:16:01 fix comment Affected files ... .. //depot/projects/netperf/sys/sys/malloc.h#2 edit Differences ... ==== //depot/projects/netperf/sys/sys/malloc.h#2 (text+ko) ==== @@ -47,7 +47,7 @@ * flags to malloc. */ #define M_NOWAIT 0x0001 /* do not block */ -#define M_WAITOK 0x0002 /* do not block */ +#define M_WAITOK 0x0002 /* ok to block */ #define M_ZERO 0x0100 /* bzero the allocation */ #define M_NOVM 0x0200 /* don't ask VM for pages */ #define M_USE_RESERVE 0x0400 /* can alloc out of reserve memory */ From owner-p4-projects@FreeBSD.ORG Fri Aug 1 14:18:27 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC62A37B43A; Fri, 1 Aug 2003 14:18:26 -0700 (PDT) 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 03F1A37B49E for ; Fri, 1 Aug 2003 14:18:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 15E1043F93 for ; Fri, 1 Aug 2003 14:18:25 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71LIO0U024931 for ; Fri, 1 Aug 2003 14:18:24 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71LIOTC024928 for perforce@freebsd.org; Fri, 1 Aug 2003 14:18:24 -0700 (PDT) Date: Fri, 1 Aug 2003 14:18:24 -0700 (PDT) Message-Id: <200308012118.h71LIOTC024928@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 35360 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: Fri, 01 Aug 2003 21:18:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=35360 Change 35360 by sam@sam_ebb on 2003/08/01 14:18:01 Change some malloc's to use M_NOWAIT to eliinate sleeping while holding a lock. This is a bandaid to be fixed later since they should be able to block except for this code being called on interface transitions and that should be handled by dispatching the operation to a context that can block. Affected files ... .. //depot/projects/netperf/sys/net/bridge.c#2 edit Differences ... ==== //depot/projects/netperf/sys/net/bridge.c#2 (text+ko) ==== @@ -246,7 +246,7 @@ } c[n_clusters].ht = (struct hash_table *) malloc(HASH_SIZE * sizeof(struct hash_table), - M_IFADDR, M_WAITOK | M_ZERO); + M_IFADDR, M_NOWAIT | M_ZERO); if (c[n_clusters].ht == NULL) { printf("-- bridge: cannot allocate hash table for new cluster\n"); free(c, M_IFADDR); @@ -254,7 +254,7 @@ } c[n_clusters].my_macs = (struct bdg_addr *) malloc(BDG_MAX_PORTS * sizeof(struct bdg_addr), - M_IFADDR, M_WAITOK | M_ZERO); + M_IFADDR, M_NOWAIT | M_ZERO); if (c[n_clusters].my_macs == NULL) { printf("-- bridge: cannot allocate mac addr table for new cluster\n"); free(c[n_clusters].ht, M_IFADDR); From owner-p4-projects@FreeBSD.ORG Fri Aug 1 14:19:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8BE037B408; Fri, 1 Aug 2003 14:19:27 -0700 (PDT) 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 6E97C37B414 for ; Fri, 1 Aug 2003 14:19:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F11B543F3F for ; Fri, 1 Aug 2003 14:19:26 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h71LJQ0U024970 for ; Fri, 1 Aug 2003 14:19:26 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h71LJQnj024967 for perforce@freebsd.org; Fri, 1 Aug 2003 14:19:26 -0700 (PDT) Date: Fri, 1 Aug 2003 14:19:26 -0700 (PDT) Message-Id: <200308012119.h71LJQnj024967@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 35361 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: Fri, 01 Aug 2003 21:19:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=35361 Change 35361 by sam@sam_ebb on 2003/08/01 14:19:06 release+acquire the driver lock around if_input to avoid deadlock on re-entry (to be fixed with the other drivers in a separate pass) Affected files ... .. //depot/projects/netperf/sys/pci/if_sis.c#3 edit Differences ... ==== //depot/projects/netperf/sys/pci/if_sis.c#3 (text+ko) ==== @@ -1650,7 +1650,9 @@ ifp->if_ipackets++; m->m_pkthdr.rcvif = ifp; + SIS_UNLOCK(sc); (*ifp->if_input)(ifp, m); + SIS_LOCK(sc); } sc->sis_cdata.sis_rx_prod = i; From owner-p4-projects@FreeBSD.ORG Sat Aug 2 10:05:51 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E04D37B404; Sat, 2 Aug 2003 10:05:51 -0700 (PDT) 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 DA96337B401 for ; Sat, 2 Aug 2003 10:05:50 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C4E743F85 for ; Sat, 2 Aug 2003 10:05:50 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h72H5o0U017210 for ; Sat, 2 Aug 2003 10:05:50 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h72H5niq017207 for perforce@freebsd.org; Sat, 2 Aug 2003 10:05:49 -0700 (PDT) Date: Sat, 2 Aug 2003 10:05:49 -0700 (PDT) Message-Id: <200308021705.h72H5niq017207@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35396 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: Sat, 02 Aug 2003 17:05:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=35396 Change 35396 by rwatson@rwatson_paprika on 2003/08/02 10:04:50 Updates to the MAC section of the Sec Arch. Affected files ... .. //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#3 edit Differences ... ==== //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#3 (text+ko) ==== @@ -2752,10 +2752,23 @@ Mandatory Access Control As of FreeBSD 5.0, experimental support for Mandatory Access Control (MAC) provided by the TrustedBSD Project has been - integrated into the operating system. The kernel supports a - flexible MAC Framework permitting policy modules to augment - the kernel security policy, as well as maintain security - labeling information on a variety of system objects. + integrated into the operating system. + The kernel may be compiled with options MAC + to enable a pluggable labeled access control framework. + The MAC Framework permits policy modules to augment the kernel + security policy, as well as maintain security labeling + information on a variety of system objects. + Common infrastructure provided by the Framework include + the ability to augment critical system security decisions, + a policy-agnostic security labeling service, composition of + simultaneously loaded policies, and system calls and APIs for + application management of labels. + The MAC Framework is capable of supporting policy modules + implementing a broad range of access control policies, including + hardening changes to the base FreeBSD policy, Biba integrity, + MLS confidentiality, RBAC, Type Enforcement, and many + more.
+ mac.conf: default MAC labels to show for various objects, including @@ -2770,30 +2783,114 @@ third party models, including sebsd - -Common facilities for MAC policies, including labeling, access control, -labeling, utilities, etc. - + + + mac_biba + + Biba data integrity policy; makes use of information + labeling and flow control to prevent violation of system + integrity constraints. + Security labels on subjects and objects include both + hierarchal (ordered) and non-hierarchal (compartmented) + components. + + + + + mac_bsdextended + + File system firewall policy; maintains a rule set + placing restrictions on file system access based on + existing security parameters, such as process uid, gids, + and file owner and group. + + + + + mac_ifoff + + Interface silencing policy; controls the incoming and + outgoing flow of packets via network interfaces. + + + + + mac_lomac + + Low-Watermark Mandatory Access Control (LOMAC) policy; + as with Biba, a labeled integrity policy, but making use + of floating subject labels which downgrade based on + access to information of lower integrity. + + + + + mac_mls + + Multi-Level Security (MLS) confidentiality policy; + implements the classing MLS MAC policy, providing both + hierarchal levels and non-hierarchal compartments to + control the flow of information to unauthorized + parties. + + + + + mac_none + + Null policy used for performance testing purposes. + + + + + mac_partition + + Simple system partition policy controlling inter-process + visibility based on administrator-defined security + partitions. + + + + + mac_portacl + + IP port access control list policy; implements controls + on system calls requesting the assignment of specific + UDP and TCP port numbers. + Intended for use with systems that no longer require root + privilege to bind low port numbers. + + + + + mac_seeotheruids + + Inter-process visibility policy; controls whether users + are permitted to see (and otherwise interact) with processes + owned by other users. + + - -various security models: + + mac_stub + + Prototype policy containing stub implementations of all + entry points; intended for use by developers of new system + policies. + + -mac(4) - Mandatory Access Control -mac_biba(4) - Biba data integrity policy -mac_bsdextended(4) - file system firewall policy -mac_ifoff(4) - interface silencing policy -mac_lomac(4) - Low-watermark Mandatory Access Control data integrity policy -mac_mls(4) - Multi-Level Security confidentiality policy -mac_none(4) - sample MAC policy module -mac_partition(4) - process partition policy -mac_portacl(4) - network port access control policy -mac_seeotheruids(4) - simple policy controlling whether users see other users -mac_test(4) - MAC framework testing policy - + + mac_test + + Internal assertion testing policy for the MAC Framework; + intended to assist in the testing of the correctness of the + Framework. + + + - - + + Report on changes in the set of setuid and + setgid binaries in the local file system. + Report on changes in the set of mounted + file systems and file system flags. + Report on any local users other than the root + user with a uid of 0. + Report on any users without passwords. + + Report on any logged IPFW packet denials. + + Report on any logged IPFilter packet denials. + + Report on any logged IPFW packet limits. + + Report on any logged IPv6 IPFW packet denials. + + Report on any logged IPv6 IPFW packet limits. + + Report on any changes in the kernel log + output. + Report on any logged login failures. + + Report on any logged TCP wrapper failures. + + From owner-p4-projects@FreeBSD.ORG Sat Aug 2 10:38:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D927737B404; Sat, 2 Aug 2003 10:38:33 -0700 (PDT) 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 909BE37B401 for ; Sat, 2 Aug 2003 10:38:33 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0861C43F85 for ; Sat, 2 Aug 2003 10:38:33 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h72HcW0U018572 for ; Sat, 2 Aug 2003 10:38:32 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h72HcW4P018569 for perforce@freebsd.org; Sat, 2 Aug 2003 10:38:32 -0700 (PDT) Date: Sat, 2 Aug 2003 10:38:32 -0700 (PDT) Message-Id: <200308021738.h72HcW4P018569@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35400 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: Sat, 02 Aug 2003 17:38:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=35400 Change 35400 by rwatson@rwatson_paprika on 2003/08/02 10:37:38 Expand on the distinctions between the various periodic events and their relationship. Also document security-relevant activities by the other periodic events (daily, weekly, monthly). Affected files ... .. //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#5 edit Differences ... ==== //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#5 (text+ko) ==== @@ -2726,11 +2726,16 @@ Daily Security Event - The daily security event, executed once a day by the - system daily event, checks a variety of system security - properties, and generates a report that may be e-mailed to - the administrator, or sent to a file. - This report is intended to make it easier for administrators + FreeBSD executes a series of periodic maintenance events at + regular intervals: a daily event, daily security event, weekly + event, and monthly event. + These events check system configuration and usage activities, + and report on the activities to the system administrator by + e-mail, or to a file. + A number of elements of these events, especially the daily + security event, report on changes in security-relevent + configuration and activities. + These reports are intended to make it easier for administrators to track security-related changes to the system, such as the addition or modification of users, changes to the file system namespace, events relating to the password @@ -2741,7 +2746,16 @@ of compromised systems, as they provide some basic tripwire functionality, as well as long term tracking of system configuration. - The following activities are performed by the daily + The following security-relevent activities are performed + by the daily event: + + + Diff the password and group databases against + the previous days backups; back up these databases for + future comparison and restore. + + + The following activities are performed by the daily security event: @@ -2770,6 +2784,15 @@ Report on any logged TCP wrapper failures. + + The following security-relevent activities are performed + by the weekly event: + + + Report on files with an unknown user or + group (owner not present in password or group database). + + From owner-p4-projects@FreeBSD.ORG Sat Aug 2 11:40:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C00B37B404; Sat, 2 Aug 2003 11:40:52 -0700 (PDT) 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 D5C3337B401 for ; Sat, 2 Aug 2003 11:40:51 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 56E0743F3F for ; Sat, 2 Aug 2003 11:40:51 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h72Iep0U022144 for ; Sat, 2 Aug 2003 11:40:51 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h72IeomY022141 for perforce@freebsd.org; Sat, 2 Aug 2003 11:40:50 -0700 (PDT) Date: Sat, 2 Aug 2003 11:40:50 -0700 (PDT) Message-Id: <200308021840.h72IeomY022141@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35404 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: Sat, 02 Aug 2003 18:40:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=35404 Change 35404 by rwatson@rwatson_paprika on 2003/08/02 11:39:58 Expand on the user account manipulation tools and their user of privilege. Affected files ... .. //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#6 edit Differences ... ==== //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#6 (text+ko) ==== @@ -2122,12 +2122,16 @@ User Management Tools A variety of tools exist to monitor and modify the local - user databases. Most monitoring tools may execute - unprivileged, as they read from world-readable files via NSS; - these commands include id, finger, and others. Management - tools must, in general, run with a high level of privilege, as - they manipulate sensitive user account properties which may, - in turn, affect user privileges. + account databases. + Most monitoring tools may execute unprivileged, as they read + from world-readable files via NSS; these commands include id, + finger, and others. + Management tools must, in general, run with a high level of + privilege, as they manipulate sensitive user account properties + which may, in turn, affect user privileges. + In general, account management tools are not setuid or + setgid, and must therefore be invoked as the root user so + that they have sufficient privilege for their operation. adduser: Interactively add a user to the system password database; create and populate the user's home directory. @@ -2137,41 +2141,58 @@ rmuser: Interactively remove a user from the system password database; garbage collect the user's home directory, mail file, cron tab, kills any processes owned by the - user, and removes any at(8) jobs. This tool must be run as - root so that adequate privilege is held to modify the - required files and directories, and to kill user - processes. + user, and removes any at(8) jobs. + This tool must be run as root so that adequate privilege is + held to modify the required files and directories, and to kill + user processes. pw: General command-line based user management tool. This tool encapsulates a variety of account management elements, updating the system account databases, including adding users, deleting users, modifying users, showing users, adding groups, deleting groups, modifying groups, - and locking or unlocking accounts. This tool must be run - as root so that adequate privilege is held to modify - the required files and directories. + and locking or unlocking accounts. + This tool must be run as root so that adequate privilege is + held to modify the required files and directories. - vipw: Edit and rebuild the password file. This - tool loads the master (shadow) password file into the + vipw: Edit and rebuild the password file. + This tool loads the master (shadow) password file into the user's default editor; if the file is modified, the - password databases will be rebuilt. This tool must - be run as root so that adequate privilege is held to - modify the required files. + password databases will be rebuilt. + This tool must be run as root so that adequate privilege is + held to modify the required files. - chpass: Edit a user's entry in the password file, rebuild - + chpass: Tool for editing user account settings in the + master password file; loads current account information + into an editor, validates changes, and rebuilds the password + database. + Unprivileged users are permitted only to modify selected + fields of their account information (shell, subject to + shell restrictions, GECOS fields); the root user is + permitted to modify any password file field for the user. + This tool executes setuid root so that it may modify the + password file and rebuild the database, even if executed + as a non-root user. - passwd: Change a user's password - + passwd: Change a user's password. + This tool changes the password of a user using PAM, + which for local UNIX authentication will modify and + rebuild the password database. + Unprivileged users are permitted only to modify their own + password; for UNIX password authentication, the current + password must be provided to set the new password. + With the UNIX password authentication mechanism, the root + user is permitted to change the password of any user + without knowledge of the current password. + This tool executes setuid root so that it may modify the + password file and rebuild the database, even if executed + by a non-root user. - pwd_mkdb: Rebuild password file database - - - Each of these will manipulate user home directories, as well - as the password and group files, create and remove mail files, - cron tables, scrub at jobs, etc. - - XXX requires revision + pwd_mkdb: Rebuild password file database. + This tool regenerates the binary database files from the + password files. + This tool must be run as root so that adequate privilege is + held to modify the required files. From owner-p4-projects@FreeBSD.ORG Sat Aug 2 12:09:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 438CC37B404; Sat, 2 Aug 2003 12:09:28 -0700 (PDT) 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 0BE5637B401 for ; Sat, 2 Aug 2003 12:09:28 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5534343FAF for ; Sat, 2 Aug 2003 12:09:27 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h72J9R0U024018 for ; Sat, 2 Aug 2003 12:09:27 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h72J9Qeo024015 for perforce@freebsd.org; Sat, 2 Aug 2003 12:09:26 -0700 (PDT) Date: Sat, 2 Aug 2003 12:09:26 -0700 (PDT) Message-Id: <200308021909.h72J9Qeo024015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 35406 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: Sat, 02 Aug 2003 19:09:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=35406 Change 35406 by rwatson@rwatson_paprika on 2003/08/02 12:08:44 Notes on devfs, file creation modes. Affected files ... .. //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#7 edit Differences ... ==== //depot/projects/trustedbsd/doc/en_US.ISO8859-1/books/developers-handbook/secarch/chapter.sgml#7 (text+ko) ==== @@ -1461,24 +1461,37 @@ UFS Protections on Creation -requested creation mode -umask -ACL mask +When file system objects are created, their default ownership and +protection is a property of a variety of creation parameters: the +credential and umask of the process creating the object, the +requested creation mode for the operation, and the protections on +the parent directory (specifically, the default ACL). + +Note: composition of default ACL, umask, and cmode, are as defined +in POSIX.1e; some other systems use alternative compositions. - Device file system default protections - -devfs full of synthetic special objects, not explicitly created by -any user -- rather, the system. + Device file system protections +The device file system permits user processes to access system +devices through the file abstraction. + +Entries in devfs may represent hardware devices (such as disks and +serial ports), abstractions layered over hardware devices (such as +disk partitions), or pseudo-devices (such as pseudo-terminals). + +The protections on device objects are a product of the permissions +on the synthetic file system objects, and any additional security +checks in the device implementation itself. + +The device file system assigns initial ownership and permissions +based on two elements: defaults specified by the device driver, +combined with a devfs ruleset. -each device has default owner and protections set by the implementation -of the object; however, as device access requirements are frequently -specific to the environment, the devfs rules system may be used to -set new default, as well as update all current protections. +Device file system rulesets... -XXX +Common requested modes and uid/gids for new device nodes