From owner-p4-projects@FreeBSD.ORG Sun Oct 12 10:28:54 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B5EE16A4C0; Sun, 12 Oct 2003 10:28: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 42D5016A4B3 for ; Sun, 12 Oct 2003 10:28:54 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BFA8C43FA3 for ; Sun, 12 Oct 2003 10:28:53 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9CHSrXJ037172 for ; Sun, 12 Oct 2003 10:28:53 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9CHSrwY037169 for perforce@freebsd.org; Sun, 12 Oct 2003 10:28:53 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Sun, 12 Oct 2003 10:28:53 -0700 (PDT) Message-Id: <200310121728.h9CHSrwY037169@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 39583 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, 12 Oct 2003 17:28:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=39583 Change 39583 by sam@sam_ebb on 2003/10/12 10:28:05 include a DS element in probe response frames Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_output.c#7 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_output.c#7 (text+ko) ==== @@ -354,6 +354,7 @@ * [2] cabability information * [tlv] ssid * [tlv] supported rates + * [tlv] parameter set (DS) * [tlv] parameter set (IBSS) * [tlv] extended supported rates */ @@ -361,6 +362,7 @@ 8 + 2 + 2 + 2 + 2 + ni->ni_esslen + 2 + IEEE80211_RATE_SIZE + + (ic->ic_phytype != IEEE80211_T_FH ? 3 : 0) + 6 + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE)); if (m == NULL) @@ -388,6 +390,13 @@ ic->ic_bss->ni_esslen); frm = ieee80211_add_rates(frm, &ic->ic_bss->ni_rates); + /* XXX insert FH parameter set */ + if (ic->ic_phytype != IEEE80211_T_FH) { + *frm++ = IEEE80211_ELEMID_DSPARMS; + *frm++ = 1; + *frm++ = ieee80211_chan2ieee(ic, ni->ni_chan); + } + if (ic->ic_opmode == IEEE80211_M_IBSS) { *frm++ = IEEE80211_ELEMID_IBSSPARMS; *frm++ = 2; From owner-p4-projects@FreeBSD.ORG Sun Oct 12 10:39:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8060416A4C0; Sun, 12 Oct 2003 10:39:09 -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 4258A16A4B3 for ; Sun, 12 Oct 2003 10:39:09 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 93E3643F93 for ; Sun, 12 Oct 2003 10:39:07 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9CHd7XJ037548 for ; Sun, 12 Oct 2003 10:39:07 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9CHd6ET037545 for perforce@freebsd.org; Sun, 12 Oct 2003 10:39:06 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Sun, 12 Oct 2003 10:39:06 -0700 (PDT) Message-Id: <200310121739.h9CHd6ET037545@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 39585 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, 12 Oct 2003 17:39:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=39585 Change 39585 by sam@sam_ebb on 2003/10/12 10:38:31 IFC @ 39584 Affected files ... .. //depot/projects/netperf/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/netperf/sys/conf/files#11 integrate .. //depot/projects/netperf/sys/crypto/ripemd160/rmd160.c#1 branch .. //depot/projects/netperf/sys/crypto/ripemd160/rmd160.h#1 branch .. //depot/projects/netperf/sys/dev/ata/ata-all.c#8 integrate .. //depot/projects/netperf/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/netperf/sys/dev/ata/ata-queue.c#5 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#8 integrate .. //depot/projects/netperf/sys/dev/pci/pci_user.c#4 integrate .. //depot/projects/netperf/sys/dev/sound/pci/au88x0.c#4 integrate .. //depot/projects/netperf/sys/dev/sound/pci/au88x0.h#2 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/ac97.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/ugen.c#6 integrate .. //depot/projects/netperf/sys/geom/geom_dev.c#6 integrate .. //depot/projects/netperf/sys/geom/geom_event.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/locore.s#6 integrate .. //depot/projects/netperf/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/netperf/sys/i386/i386/pmap.c#16 integrate .. //depot/projects/netperf/sys/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/netperf/sys/i386/ibcs2/ibcs2_signal.c#2 integrate .. //depot/projects/netperf/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/netperf/sys/i386/ibcs2/ibcs2_util.c#2 integrate .. //depot/projects/netperf/sys/i386/ibcs2/ibcs2_util.h#2 integrate .. //depot/projects/netperf/sys/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/netperf/sys/kern/sys_pipe.c#6 integrate .. //depot/projects/netperf/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/netperf/sys/net/route.c#14 integrate .. //depot/projects/netperf/sys/netinet6/ah.h#2 integrate .. //depot/projects/netperf/sys/netinet6/ah6.h#2 integrate .. //depot/projects/netperf/sys/netinet6/ah_core.c#3 integrate .. //depot/projects/netperf/sys/netinet6/ah_input.c#2 integrate .. //depot/projects/netperf/sys/netinet6/ah_output.c#4 integrate .. //depot/projects/netperf/sys/netinet6/dest6.c#3 integrate .. //depot/projects/netperf/sys/netinet6/esp_core.c#4 integrate .. //depot/projects/netperf/sys/pc98/i386/machdep.c#5 integrate Differences ... ==== //depot/projects/netperf/sys/compat/linux/linux_socket.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.42 2003/06/10 21:27:39 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.43 2003/10/11 15:08:32 iwasaki Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -225,6 +225,17 @@ } static int +bsd_to_linux_sockopt_level(int level) +{ + + switch (level) { + case SOL_SOCKET: + return (LINUX_SOL_SOCKET); + } + return (level); +} + +static int linux_to_bsd_ip_sockopt(int opt) { @@ -995,9 +1006,9 @@ } */ bsd_args; struct msghdr msg; struct msghdr *nmsg = NULL; + struct cmsghdr *cmsg; int error; - int level; - caddr_t control; + caddr_t sg; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); @@ -1006,54 +1017,39 @@ if (error) return (error); - if (msg.msg_name) { + sg = stackgap_init(); + nmsg = (struct msghdr *)stackgap_alloc(&sg, sizeof(struct msghdr)); + if (nmsg == NULL) + return (ENOMEM); + + bcopy(&msg, nmsg, sizeof(struct msghdr)); + + if (msg.msg_name != NULL) { struct sockaddr *sa; - caddr_t sg = stackgap_init(); - nmsg = (struct msghdr *) stackgap_alloc(&sg, - sizeof(struct msghdr)); - if (!nmsg) - return (ENOMEM); - error = linux_sa_get(&sg, &sa, (struct osockaddr *) msg.msg_name, &msg.msg_namelen); if (error) return (error); - msg.msg_name = (struct sockaddr *) sa; - error = copyout(&msg, nmsg, sizeof(struct msghdr)); - if (error) - return (error); + nmsg->msg_name = sa; } - error = copyin(&linux_args.msg->msg_control, &control, - sizeof(caddr_t)); - if (error) - return (error); + if (msg.msg_control != NULL) { + nmsg->msg_control = (struct cmsghdr *)stackgap_alloc(&sg, + msg.msg_controllen); + if (nmsg->msg_control == NULL) + return (ENOMEM); - if (control == NULL) - goto done; + bcopy(msg.msg_control, nmsg->msg_control, msg.msg_controllen); + cmsg = (struct cmsghdr*)nmsg->msg_control; - error = copyin(&((struct cmsghdr*)control)->cmsg_level, &level, - sizeof(int)); - if (error) - return (error); + cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level); + } - if (level == 1) { - /* - * Linux thinks that SOL_SOCKET is 1; we know - * that it's really 0xffff, of course. - */ - level = SOL_SOCKET; - error = copyout(&level, - &((struct cmsghdr *)control)->cmsg_level, sizeof(int)); - if (error) - return (error); - } -done: bsd_args.s = linux_args.s; bsd_args.msg = (caddr_t)nmsg; - bsd_args.flags = linux_args.flags; + bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags); return (sendmsg(td, &bsd_args)); } @@ -1073,6 +1069,7 @@ int flags; } */ bsd_args; struct msghdr msg; + struct cmsghdr *cmsg; int error; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) @@ -1085,6 +1082,11 @@ if (error) return (error); + if (bsd_args.msg->msg_control != NULL) { + cmsg = (struct cmsghdr*)bsd_args.msg->msg_control; + cmsg->cmsg_level = bsd_to_linux_sockopt_level(cmsg->cmsg_level); + } + error = copyin(linux_args.msg, &msg, sizeof(msg)); if (error) return (error); ==== //depot/projects/netperf/sys/conf/files#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.828 2003/10/01 15:13:29 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.829 2003/10/12 09:41:42 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -207,6 +207,7 @@ crypto/des/des_setkey.c optional ipsec ipsec_esp crypto/rijndael/rijndael-alg-fst.c optional ipsec ipsec_esp crypto/rijndael/rijndael-api-fst.c optional ipsec ipsec_esp +crypto/ripemd160/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ddb/db_access.c optional ddb ==== //depot/projects/netperf/sys/dev/ata/ata-all.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.193 2003/10/10 11:03:27 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.195 2003/10/12 12:37:11 sos Exp $"); #include "opt_ata.h" #include @@ -197,12 +197,14 @@ if (ch->device[MASTER].param) { if (ch->device[MASTER].param->support.command2 & ATA_SUPPORT_FLUSHCACHE) ata_controlcmd(&ch->device[MASTER], ATA_FLUSHCACHE, 0, 0, 0); + ata_controlcmd(&ch->device[MASTER], ATA_SLEEP, 0, 0, 0); free(ch->device[MASTER].param, M_ATA); ch->device[MASTER].param = NULL; } if (ch->device[SLAVE].param) { if (ch->device[SLAVE].param->support.command2 & ATA_SUPPORT_FLUSHCACHE) ata_controlcmd(&ch->device[SLAVE], ATA_FLUSHCACHE, 0, 0, 0); + ata_controlcmd(&ch->device[SLAVE], ATA_SLEEP, 0, 0, 0); free(ch->device[SLAVE].param, M_ATA); ch->device[SLAVE].param = NULL; } @@ -563,7 +565,7 @@ } ata_free_request(request); } - if (!isalpha(atacap->model[0]) || !isalpha(atacap->model[1])) + if (!isprint(atacap->model[0]) || !isprint(atacap->model[1])) error = ENXIO; if (error) { atadev->param = NULL; ==== //depot/projects/netperf/sys/dev/ata/ata-disk.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.159 2003/08/25 09:01:49 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.160 2003/10/12 12:35:44 sos Exp $"); #include "opt_ata.h" #include @@ -256,7 +256,7 @@ request->device = atadev; request->driver = bp; request->callback = ad_done; - request->timeout = 5; + request->timeout = 10; request->retries = 2; request->data = bp->bio_data; request->bytecount = bp->bio_bcount; ==== //depot/projects/netperf/sys/dev/ata/ata-queue.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.7 2003/10/07 13:47:40 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.8 2003/10/12 12:38:03 sos Exp $"); #include "opt_ata.h" #include @@ -97,8 +97,9 @@ return; /* if this is not a callback and we havn't seen DONE yet -> sleep */ - if (!request->callback && !(request->flags & ATA_R_DONE)) { - while (tsleep(request, PRIBIO, "atareq", 60*10*hz)) ; + if (!request->callback) { + while (!(request->flags & ATA_R_DONE)) + tsleep(request, PRIBIO, "atareq", hz/10); } } ==== //depot/projects/netperf/sys/dev/ata/atapi-cd.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.147 2003/09/22 17:58:40 tmm Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.148 2003/10/12 13:11:57 sos Exp $"); #include "opt_ata.h" #include @@ -94,7 +94,7 @@ static int acd_report_key(struct acd_softc *, struct dvd_authinfo *); static int acd_send_key(struct acd_softc *, struct dvd_authinfo *); static int acd_read_structure(struct acd_softc *, struct dvd_struct *); -static int acd_eject(struct acd_softc *, int); +static int acd_tray(struct acd_softc *, int); static int acd_blank(struct acd_softc *, int); static int acd_prevent_allow(struct acd_softc *, int); static int acd_start_stop(struct acd_softc *, int); @@ -651,13 +651,13 @@ error = EBUSY; break; } - error = acd_eject(cdp, 0); + error = acd_tray(cdp, 0); break; case CDIOCCLOSE: if (count_dev(dev) > 1) break; - error = acd_eject(cdp, 1); + error = acd_tray(cdp, 1); break; case CDIOREADTOCHEADER: @@ -1879,28 +1879,27 @@ } static int -acd_eject(struct acd_softc *cdp, int close) +acd_tray(struct acd_softc *cdp, int close) { - int error; + int error = ENODEV; - if ((error = acd_start_stop(cdp, 0)) == EBUSY) { - if (!close) - return 0; - if ((error = acd_start_stop(cdp, 3))) - return error; - acd_read_toc(cdp); - acd_prevent_allow(cdp, 1); - cdp->flags |= F_LOCKED; - return 0; + if (cdp->cap.mechanism & MST_EJECT) { + if (close) { + if (!(error = acd_start_stop(cdp, 3))) { + acd_read_toc(cdp); + acd_prevent_allow(cdp, 1); + cdp->flags |= F_LOCKED; + } + } + else { + acd_start_stop(cdp, 0); + acd_prevent_allow(cdp, 0); + cdp->flags &= ~F_LOCKED; + cdp->device->flags |= ATA_D_MEDIA_CHANGED; + error = acd_start_stop(cdp, 2); + } } - if (error) - return error; - if (close) - return 0; - acd_prevent_allow(cdp, 0); - cdp->flags &= ~F_LOCKED; - cdp->device->flags |= ATA_D_MEDIA_CHANGED; - return acd_start_stop(cdp, 2); + return error; } static int ==== //depot/projects/netperf/sys/dev/pci/pci_user.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci_user.c,v 1.13 2003/08/24 17:54:15 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci_user.c,v 1.14 2003/10/11 22:20:34 se Exp $"); #include "opt_bus.h" /* XXX trim includes */ @@ -179,12 +179,6 @@ if (!(flag & FWRITE) && cmd != PCIOCGETCONF) return EPERM; - /* make sure register is in bounds and aligned */ - if (cmd == PCIOCREAD || cmd == PCIOCWRITE) - if (io->pi_reg < 0 || io->pi_reg + io->pi_width > PCI_REGMAX || - io->pi_reg & (io->pi_width - 1)) - error = EINVAL; - switch(cmd) { case PCIOCGETCONF: { @@ -376,46 +370,21 @@ break; } + case PCIOCREAD: + case PCIOCWRITE: io = (struct pci_io *)data; switch(io->pi_width) { case 4: case 2: case 1: - /* - * Assume that the user-level bus number is - * actually the pciN instance number. We map - * from that to the real pcib+bus combination. - */ - pci = devclass_get_device(devclass_find("pci"), - io->pi_sel.pc_bus); - if (pci) { - int b = pcib_get_bus(pci); - pcib = device_get_parent(pci); - io->pi_data = - PCIB_READ_CONFIG(pcib, - b, - io->pi_sel.pc_dev, - io->pi_sel.pc_func, - io->pi_reg, - io->pi_width); - error = 0; - } else { - error = ENODEV; - } - break; - default: - error = EINVAL; - break; - } - break; + /* make sure register is in bounds and aligned */ + if (cmd == PCIOCREAD || cmd == PCIOCWRITE) + if (io->pi_reg < 0 || + io->pi_reg + io->pi_width > PCI_REGMAX || + io->pi_reg & (io->pi_width - 1)) + error = EINVAL; - case PCIOCWRITE: - io = (struct pci_io *)data; - switch(io->pi_width) { - case 4: - case 2: - case 1: /* * Assume that the user-level bus number is * actually the pciN instance number. We map @@ -426,13 +395,22 @@ if (pci) { int b = pcib_get_bus(pci); pcib = device_get_parent(pci); - PCIB_WRITE_CONFIG(pcib, - b, - io->pi_sel.pc_dev, - io->pi_sel.pc_func, - io->pi_reg, - io->pi_data, - io->pi_width); + if (cmd == PCIOCWRITE) + PCIB_WRITE_CONFIG(pcib, + b, + io->pi_sel.pc_dev, + io->pi_sel.pc_func, + io->pi_reg, + io->pi_data, + io->pi_width); + else + io->pi_data = + PCIB_READ_CONFIG(pcib, + b, + io->pi_sel.pc_dev, + io->pi_sel.pc_func, + io->pi_reg, + io->pi_width); error = 0; } else { error = ENODEV; ==== //depot/projects/netperf/sys/dev/sound/pci/au88x0.c#4 (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/sound/pci/au88x0.c,v 1.4 2003/09/02 17:30:37 jhb Exp $ + * $FreeBSD: src/sys/dev/sound/pci/au88x0.c,v 1.5 2003/10/12 11:33:39 des Exp $ */ #include @@ -40,6 +40,103 @@ /***************************************************************************\ * * + * SUPPORTED CHIPSETS * + * * +\***************************************************************************/ + +static struct au88x0_chipset au88x0_chipsets[] = { + { + .auc_name = "Aureal Vortex (8820)", + .auc_pci_id = 0x000112eb, + + .auc_control = 0x1280c, + + .auc_irq_source = 0x12800, + .auc_irq_mask = 0x12804, + .auc_irq_control = 0x12808, + .auc_irq_status = 0x1199c, + + .auc_dma_control = 0x1060c, + + .auc_fifo_size = 0x20, + .auc_wt_fifos = 32, + .auc_wt_fifo_base = 0x0e800, + .auc_wt_fifo_ctl = 0x0f800, + .auc_wt_dma_ctl = 0x10500, + .auc_adb_fifos = 16, + .auc_adb_fifo_base = 0x0e000, + .auc_adb_fifo_ctl = 0x0f840, + .auc_adb_dma_ctl = 0x10580, + + .auc_adb_route_base = 0x10800, + .auc_adb_route_bits = 7, + .auc_adb_codec_in = 0x48, + .auc_adb_codec_out = 0x58, + }, + { + .auc_name = "Aureal Vortex 2 (8830)", + .auc_pci_id = 0x000212eb, + + .auc_control = 0x2a00c, + + .auc_irq_source = 0x2a000, + .auc_irq_mask = 0x2a004, + .auc_irq_control = 0x2a008, + .auc_irq_status = 0x2919c, + + .auc_dma_control = 0x27ae8, + + .auc_fifo_size = 0x40, + .auc_wt_fifos = 64, + .auc_wt_fifo_base = 0x10000, + .auc_wt_fifo_ctl = 0x16000, + .auc_wt_dma_ctl = 0x27900, + .auc_adb_fifos = 32, + .auc_adb_fifo_base = 0x14000, + .auc_adb_fifo_ctl = 0x16100, + .auc_adb_dma_ctl = 0x27a00, + + .auc_adb_route_base = 0x28000, + .auc_adb_route_bits = 8, + .auc_adb_codec_in = 0x70, + .auc_adb_codec_out = 0x88, + }, + { + .auc_name = "Aureal Vortex Advantage (8810)", + .auc_pci_id = 0x000312eb, + + .auc_control = 0x2a00c, + + .auc_irq_source = 0x2a000, + .auc_irq_mask = 0x2a004, + .auc_irq_control = 0x2a008, + .auc_irq_status = 0x2919c, + + .auc_dma_control = 0x27ae8, + + .auc_fifo_size = 0x20, + .auc_wt_fifos = 32, + .auc_wt_fifo_base = 0x10000, + .auc_wt_fifo_ctl = 0x16000, + .auc_wt_dma_ctl = 0x27fd8, + .auc_adb_fifos = 16, + .auc_adb_fifo_base = 0x14000, + .auc_adb_fifo_ctl = 0x16100, + .auc_adb_dma_ctl = 0x27180, + + .auc_adb_route_base = 0x28000, + .auc_adb_route_bits = 8, + .auc_adb_codec_in = 0x70, + .auc_adb_codec_out = 0x88, + }, + { + .auc_pci_id = 0, + } +}; + + +/***************************************************************************\ + * * * FORMATS AND CAPABILITIES * * * \***************************************************************************/ @@ -343,12 +440,13 @@ au88x0_intr(void *arg) { struct au88x0_info *aui = arg; + struct au88x0_chipset *auc = aui->aui_chipset; int pending, source; - pending = au88x0_read(aui, AU88X0_IRQ_PENDING, 4); + pending = au88x0_read(aui, auc->auc_irq_control, 4); if ((pending & AU88X0_IRQ_PENDING_BIT) == 0) return; - source = au88x0_read(aui, AU88X0_IRQ_SOURCE, 4); + source = au88x0_read(aui, auc->auc_irq_source, 4); if (source & AU88X0_IRQ_FATAL_ERR) device_printf(aui->aui_dev, "fatal error interrupt received\n"); @@ -358,8 +456,8 @@ /* XXX handle the others... */ /* acknowledge the interrupts we just handled */ - au88x0_write(aui, AU88X0_IRQ_SOURCE, source, 4); - au88x0_read(aui, AU88X0_IRQ_SOURCE, 4); + au88x0_write(aui, auc->auc_irq_source, source, 4); + au88x0_read(aui, auc->auc_irq_source, 4); } @@ -377,19 +475,20 @@ static void au88x0_fifo_init(struct au88x0_info *aui) { + struct au88x0_chipset *auc = aui->aui_chipset; int i; /* reset, then clear the ADB FIFOs */ - for (i = 0; i < AU88X0_ADB_FIFOS; ++i) - au88x0_write(aui, AU88X0_ADB_FIFO_CTL + i * 4, 0x42000, 4); - for (i = 0; i < AU88X0_ADB_FIFOS * AU88X0_ADB_FIFO_SIZE; ++i) - au88x0_write(aui, AU88X0_ADB_FIFO_BASE + i * 4, 0, 4); + for (i = 0; i < auc->auc_adb_fifos; ++i) + au88x0_write(aui, auc->auc_adb_fifo_ctl + i * 4, 0x42000, 4); + for (i = 0; i < auc->auc_adb_fifos * auc->auc_fifo_size; ++i) + au88x0_write(aui, auc->auc_adb_fifo_base + i * 4, 0, 4); /* reset, then clear the WT FIFOs */ - for (i = 0; i < AU88X0_WT_FIFOS; ++i) - au88x0_write(aui, AU88X0_WT_FIFO_CTL + i * 4, 0x42000, 4); - for (i = 0; i < AU88X0_WT_FIFOS * AU88X0_WT_FIFO_SIZE; ++i) - au88x0_write(aui, AU88X0_WT_FIFO_BASE + i * 4, 0, 4); + for (i = 0; i < auc->auc_wt_fifos; ++i) + au88x0_write(aui, auc->auc_wt_fifo_ctl + i * 4, 0x42000, 4); + for (i = 0; i < auc->auc_wt_fifos * auc->auc_fifo_size; ++i) + au88x0_write(aui, auc->auc_wt_fifo_base + i * 4, 0, 4); } /* @@ -398,15 +497,16 @@ static void au88x0_init(struct au88x0_info *aui) { + struct au88x0_chipset *auc = aui->aui_chipset; /* reset the chip */ - au88x0_write(aui, AU88X0_CONTROL, 0xffffffff, 4); + au88x0_write(aui, auc->auc_control, 0xffffffff, 4); DELAY(10000); /* clear all interrupts */ - au88x0_write(aui, AU88X0_IRQ_SOURCE, 0xffffffff, 4); - au88x0_read(aui, AU88X0_IRQ_SOURCE, 4); - au88x0_read(aui, AU88X0_IRQ_STATUS, 4); + au88x0_write(aui, auc->auc_irq_source, 0xffffffff, 4); + au88x0_read(aui, auc->auc_irq_source, 4); + au88x0_read(aui, auc->auc_irq_status, 4); /* initialize the codec */ au88x0_codec_init(aui); @@ -416,7 +516,7 @@ /* initialize the DMA engine */ /* XXX chicken-waving! */ - au88x0_write(aui, AU88X0_DMA_CONTROL, 0x1380000, 4); + au88x0_write(aui, auc->auc_dma_control, 0x1380000, 4); } /* @@ -448,18 +548,17 @@ static int au88x0_pci_probe(device_t dev) { + struct au88x0_chipset *auc; + uint32_t pci_id; - switch (pci_get_devid(dev)) { - case AUREAL_VORTEX_2: - device_set_desc(dev, "Aureal Vortex 2"); - return (0); - case AUREAL_VORTEX_ADVANTAGE: - device_set_desc(dev, "Aureal Vortex Advantage"); - return (0); - default: - return (ENXIO); + pci_id = pci_get_devid(dev); + for (auc = au88x0_chipsets; auc->auc_pci_id; ++auc) { + if (auc->auc_pci_id == pci_id) { + device_set_desc(dev, auc->auc_name); + return (0); + } } - return (0); + return (ENXIO); } /* @@ -468,6 +567,7 @@ static int au88x0_pci_attach(device_t dev) { + struct au88x0_chipset *auc; struct au88x0_info *aui = NULL; uint32_t config; int error; @@ -480,15 +580,11 @@ /* Model-specific parameters */ aui->aui_model = pci_get_devid(dev); - switch (aui->aui_model) { - case AUREAL_VORTEX_1: - break; - case AUREAL_VORTEX_2: - case AUREAL_VORTEX_ADVANTAGE: - break; - default: + for (auc = au88x0_chipsets; auc->auc_pci_id; ++auc) + if (auc->auc_pci_id == aui->aui_model) + aui->aui_chipset = auc; + if (aui->aui_chipset == NULL) panic("%s() called for non-au88x0 device", __func__); - } /* enable pio, mmio, bus-mastering dma */ config = pci_read_config(dev, PCIR_COMMAND, 2); @@ -567,8 +663,8 @@ /* register with the pcm driver */ if (pcm_register(dev, aui, 0, 0)) goto failed; + pcm_addchan(dev, PCMDIR_PLAY, &au88x0_chan_class, aui); #if 0 - pcm_addchan(dev, PCMDIR_PLAY, &au88x0_chan_class, aui); pcm_addchan(dev, PCMDIR_REC, &au88x0_chan_class, aui); #endif au88x0_set_status(dev); ==== //depot/projects/netperf/sys/dev/sound/pci/au88x0.h#2 (text+ko) ==== @@ -25,13 +25,63 @@ * (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/sound/pci/au88x0.h,v 1.1 2003/06/01 11:58:46 des Exp $ + * $FreeBSD: src/sys/dev/sound/pci/au88x0.h,v 1.2 2003/10/12 11:33:39 des Exp $ */ #ifndef _AU88X0_H_INCLUDED #define _AU88X0_H_INCLUDED /* + * Chipset parameters + */ +struct au88x0_chipset { + const char *auc_name; + uint32_t auc_pci_id; + + /* General control register */ + uint32_t auc_control; +#define AU88X0_CTL_MIDI_ENABLE 0x0001 +#define AU88X0_CTL_GAME_ENABLE 0x0008 +#define AU88X0_CTL_IRQ_ENABLE 0x4000 + + /* IRQ control register */ + uint32_t auc_irq_source; +#define AU88X0_IRQ_FATAL_ERR 0x0001 +#define AU88X0_IRQ_PARITY_ERR 0x0002 +#define AU88X0_IRQ_REG_ERR 0x0004 +#define AU88X0_IRQ_FIFO_ERR 0x0008 +#define AU88X0_IRQ_DMA_ERR 0x0010 +#define AU88X0_IRQ_PCMOUT 0x0020 +#define AU88X0_IRQ_TIMER 0x1000 +#define AU88X0_IRQ_MIDI 0x2000 +#define AU88X0_IRQ_MODEM 0x4000 + uint32_t auc_irq_mask; + uint32_t auc_irq_control; +#define AU88X0_IRQ_PENDING_BIT 0x0001 + uint32_t auc_irq_status; + + /* DMA control registers */ + uint32_t auc_dma_control; + + /* FIFOs */ + int auc_fifo_size; + int auc_wt_fifos; + uint32_t auc_wt_fifo_base; + uint32_t auc_wt_fifo_ctl; + uint32_t auc_wt_dma_ctl; + int auc_adb_fifos; + uint32_t auc_adb_fifo_base; + uint32_t auc_adb_fifo_ctl; + uint32_t auc_adb_dma_ctl; + + /* Routing */ + uint32_t auc_adb_route_base; + int auc_adb_route_bits; + int auc_adb_codec_in; + int auc_adb_codec_out; +}; + +/* * Channel information */ struct au88x0_chan_info { @@ -48,9 +98,16 @@ /* the device we're associated with */ device_t aui_dev; uint32_t aui_model; + struct au88x0_chipset *aui_chipset; /* parameters */ bus_size_t aui_bufsize; + int aui_wt_fifos; + int aui_wt_fifo_ctl; + int aui_adb_fifos; + int aui_adb_fifo_ctl; + int aui_fifo_size; + uint32_t aui_chanbase; /* bus_space tag and handle */ bus_space_tag_t aui_spct; @@ -78,13 +135,6 @@ }; /* - * PCI IDs of supported cards - */ -#define AUREAL_VORTEX_1 0x000112eb /* 8820 (not supported) */ -#define AUREAL_VORTEX_2 0x000212eb /* 8830 */ -#define AUREAL_VORTEX_ADVANTAGE 0x000312eb /* 8810 */ - -/* * Common parameters */ #define AU88X0_SETTLE_DELAY 1000 @@ -94,30 +144,6 @@ #define AU88X0_BUFSIZE_MAX 0x4000 /* - * General control registers - */ -#define AU88X0_CONTROL 0x2a00c -#define AU88X0_CTL_MIDI_ENABLE 0x0001 -#define AU88X0_CTL_GAME_ENABLE 0x0008 -#define AU88X0_CTL_IRQ_ENABLE 0x4000 - -#define AU88X0_IRQ_SOURCE 0x2a000 -#define AU88X0_IRQ_MASK 0x2a004 -#define AU88X0_IRQ_FATAL_ERR 0x0001 -#define AU88X0_IRQ_PARITY_ERR 0x0002 -#define AU88X0_IRQ_REG_ERR 0x0004 -#define AU88X0_IRQ_FIFO_ERR 0x0008 -#define AU88X0_IRQ_DMA_ERR 0x0010 -#define AU88X0_IRQ_PCMOUT 0x0020 -#define AU88X0_IRQ_TIMER 0x1000 -#define AU88X0_IRQ_MIDI 0x2000 -#define AU88X0_IRQ_MODEM 0x4000 -#define AU88X0_IRQ_PENDING 0x2a008 -#define AU88X0_IRQ_PENDING_BIT 0x0001 -#define AU88X0_IRQ_STATUS 0x2919c -#define AU88X0_DMA_CONTROL 0x27ae8 - -/* * Codec control registers * * AU88X0_CODEC_CHANNEL array of 32 32-bit words @@ -149,26 +175,4 @@ (((d) << AU88X0_CDIO_DATA_SHIFT) & AU88X0_CDIO_DATA_MASK)) #define AU88X0_CODEC_ENABLE 0x29190 -/* - * FIFO and DMA contorl registers - * - * There are two sets of these, one for PCM audio (ADB) and one for - * wavetables (WT). - */ -#define AU88X0_ADB_FIFOS 32 -#define AU88X0_ADB_FIFO_CTL 0x16100 -#define AU88X0_ADB_FIFO_BASE 0x14000 -#define AU88X0_ADB_FIFO_SIZE 0x40 -#define AU8810_ADB_DMA_CTL 0x27180 -#define AU8820_ADB_DMA_CTL 0x10580 -#define AU8830_ADB_DMA_CTL 0x27a00 - -#define AU88X0_WT_FIFOS 32 -#define AU88X0_WT_FIFO_CTL 0x16000 -#define AU88X0_WT_FIFO_BASE 0x10000 -#define AU88X0_WT_FIFO_SIZE 0x40 -#define AU8810_WT_DMA_CTL 0x27fd8 -#define AU8820_WT_DMA_CTL 0x10500 -#define AU8830_WT_DMA_CTL 0x27900 - #endif ==== //depot/projects/netperf/sys/dev/sound/pcm/ac97.c#6 (text+ko) ==== @@ -30,7 +30,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.47 2003/09/07 16:28:03 cg Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.48 2003/10/12 11:51:24 des Exp $"); MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec"); @@ -137,6 +137,7 @@ { 0x414c4710, 0x0f, 0, "ALC200", 0 }, { 0x414c4740, 0x0f, 0, "ALC202", 0 }, { 0x414c4720, 0x0f, 0, "ALC650", 0 }, + { 0x414c4760, 0x0f, 0, "ALC655", 0 }, { 0x43525900, 0x07, 0, "CS4297", 0 }, { 0x43525910, 0x07, 0, "CS4297A", 0 }, { 0x43525920, 0x07, 0, "CS4294/98", 0 }, ==== //depot/projects/netperf/sys/dev/usb/ugen.c#6 (text+ko) ==== @@ -7,7 +7,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ugen.c,v 1.79 2003/10/01 14:49:53 ticso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ugen.c,v 1.80 2003/10/12 15:51:40 ticso Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -272,9 +272,9 @@ "%s.%d", USBDEVNAME(sc->sc_dev), endptno); if (sc->sc_endpoints[endptno][IN].sc != NULL) - sc->sc_endpoints[endptno][IN].sc->dev = dev; + sc->sc_endpoints[endptno][IN].dev = dev; if (sc->sc_endpoints[endptno][OUT].sc != NULL) - sc->sc_endpoints[endptno][OUT].sc->dev = dev; + sc->sc_endpoints[endptno][OUT].dev = dev; } } } @@ -298,9 +298,9 @@ * of the structs is populated. */ if (sc->sc_endpoints[endptno][IN].sc != NULL) - dev = sc->sc_endpoints[endptno][IN].sc->dev; + dev = sc->sc_endpoints[endptno][IN].dev; else - dev = sc->sc_endpoints[endptno][OUT].sc->dev; + dev = sc->sc_endpoints[endptno][OUT].dev; destroy_dev(dev); } } ==== //depot/projects/netperf/sys/geom/geom_dev.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_dev.c,v 1.68 2003/09/04 21:23:46 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_dev.c,v 1.69 2003/10/12 11:35:55 phk Exp $"); #include #include @@ -386,7 +386,6 @@ tsleep(&bp, PRIBIO, "gdstrat", hz / 10); } KASSERT(bp2 != NULL, ("XXX: ENOMEM in a bad place")); - bp2->bio_offset = (off_t)bp->bio_blkno << DEV_BSHIFT; KASSERT(bp2->bio_offset >= 0, ("Negative bio_offset (%jd) on bio %p", (intmax_t)bp2->bio_offset, bp)); ==== //depot/projects/netperf/sys/geom/geom_event.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_event.c,v 1.41 2003/06/11 06:49:15 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_event.c,v 1.42 2003/10/12 11:34:35 phk Exp $"); #include #include @@ -139,6 +139,8 @@ cp->geom->orphan(cp); cp = cp2; } + if (LIST_EMPTY(&pp->consumers) && (pp->flags & G_PF_WITHER)) + g_destroy_provider(pp); #ifdef notyet cp = LIST_FIRST(&pp->consumers); if (cp != NULL) ==== //depot/projects/netperf/sys/i386/i386/locore.s#6 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Oct 12 10:52:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 370BE16A4C0; Sun, 12 Oct 2003 10:52:25 -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 125A016A4B3 for ; Sun, 12 Oct 2003 10:52:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B94943F93 for ; Sun, 12 Oct 2003 10:52:24 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9CHqOXJ038121 for ; Sun, 12 Oct 2003 10:52:24 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9CHqN49038118 for perforce@freebsd.org; Sun, 12 Oct 2003 10:52:23 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Sun, 12 Oct 2003 10:52:23 -0700 (PDT) Message-Id: <200310121752.h9CHqN49038118@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 39586 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, 12 Oct 2003 17:52:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=39586 Change 39586 by sam@sam_ebb on 2003/10/12 10:51:36 change from sos to fix toshiba dvd drive probing Affected files ... .. //depot/projects/netperf/sys/dev/ata/ata-lowlevel.c#8 edit Differences ... ==== //depot/projects/netperf/sys/dev/ata/ata-lowlevel.c#8 (text+ko) ==== @@ -532,7 +532,8 @@ ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_IDS | ATA_A_RESET); DELAY(10000); ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_IDS); - DELAY(10000); + DELAY(100000); + ATA_IDX_INB(ch, ATA_ERROR); /* wait for BUSY to go inactive */ for (timeout = 0; timeout < 310; timeout++) { From owner-p4-projects@FreeBSD.ORG Sun Oct 12 20:25:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F58316A4C0; Sun, 12 Oct 2003 20:25:17 -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 2654E16A4B3 for ; Sun, 12 Oct 2003 20:25:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 66E5B43FB1 for ; Sun, 12 Oct 2003 20:25:16 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9D3PGXJ084686 for ; Sun, 12 Oct 2003 20:25:16 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9D3PFm0084683 for perforce@freebsd.org; Sun, 12 Oct 2003 20:25:15 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Sun, 12 Oct 2003 20:25:15 -0700 (PDT) Message-Id: <200310130325.h9D3PFm0084683@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 39616 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, 13 Oct 2003 03:25:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=39616 Change 39616 by sam@sam_ebb on 2003/10/12 20:25:14 Reduce per-packet overhead when using WEP by using an advancing IV seeded with arc4random rather than calling arc4random for each packet. Note this is the same algorithm used to select the IV when doing WEP on the host. Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#18 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#18 (text+ko) ==== @@ -1735,7 +1735,14 @@ * So we use pseudo random IV for now, though it is not the * right way. */ - iv = arc4random(); + iv = ic->ic_iv; + /* + * Skip 'bad' IVs from Fluhrer/Mantin/Shamir: + * (B, 255, N) with 3 <= B < 8 + */ + if (iv >= 0x03ff00 && (iv & 0xf8ff00) == 0x00ff00) + iv += 0x000100; + ic->ic_iv = iv + 1; for (i = 0; i < IEEE80211_WEP_IVLEN; i++) { ivp[i] = iv; iv >>= 8; From owner-p4-projects@FreeBSD.ORG Mon Oct 13 08:10:53 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F49716A4C0; Mon, 13 Oct 2003 08:10:53 -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 12E5416A4B3 for ; Mon, 13 Oct 2003 08:10:52 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 479B143F93 for ; Mon, 13 Oct 2003 08:10:52 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9DFAqXJ044033 for ; Mon, 13 Oct 2003 08:10:52 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9DFApTt044030 for perforce@freebsd.org; Mon, 13 Oct 2003 08:10:51 -0700 (PDT) (envelope-from cvance@nailabs.com) Date: Mon, 13 Oct 2003 08:10:51 -0700 (PDT) Message-Id: <200310131510.h9DFApTt044030@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 39641 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, 13 Oct 2003 15:10:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=39641 Change 39641 by cvance@cvance_osx_laptop on 2003/10/13 08:10:02 Another batch of changes to get the sebsd "module" to compile on Darwin. Somehow managed to miss these on the last mass-commit. Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/avc/avc.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/avc/avc.h#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/context.h#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/ebitmap.h#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/global.h#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/init.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/queue.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/sidtab.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/sidtab.h#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/avc/avc.c#3 (text+ko) ==== @@ -11,8 +11,6 @@ * as published by the Free Software Foundation. */ -#include "opt_mac.h" - #include #include #include @@ -20,18 +18,16 @@ #include #include #include -#include #include #include -#include -#include #include +#ifdef CAPABILITIES #include +#endif -#include - #include +#include #include #include #include @@ -76,8 +72,10 @@ struct avc_callback_node *next; }; +#ifndef __APPLE__ static struct mtx avc_lock; static struct mtx avc_log_lock; +#endif static struct avc_node *avc_node_freelist = NULL; static struct avc_cache avc_cache; static char *avc_audit_buffer = NULL; @@ -196,7 +194,7 @@ "%d entries\n", i); break; } - memset(new, 0, sizeof(*new)); + bzero(new, sizeof(*new)); new->next = avc_node_freelist; avc_node_freelist = new; } @@ -209,8 +207,7 @@ mtx_init(&avc_log_lock, "SEBSD message lock", NULL, MTX_DEF); /* The fetch may or may not occur; if not, it doesn't change int *. */ - TUNABLE_INT_FETCH("security.mac.sebsd.enforcing", - &selinux_enforcing); + TUNABLE_INT_FETCH("security.mac.sebsd.enforcing", &selinux_enforcing); } #if 0 @@ -525,6 +522,9 @@ security_class_t tclass, access_vector_t requested, struct av_decision *avd, int result, struct avc_audit_data *a) { +#ifdef __APPLE__ + struct proc *curproc = current_proc(); +#endif struct proc *tsk = curproc; access_vector_t denied, audited; @@ -560,6 +560,7 @@ case AVC_AUDIT_DATA_IPC: printk(" key=%d", a->u.ipc_id); break; +#ifdef CAPABILITIES case AVC_AUDIT_DATA_CAP: { const char *capt = capv_to_text (a->u.cap); @@ -569,14 +570,23 @@ printk(" capability=%s", capv_to_text (a->u.cap)); } break; +#endif case AVC_AUDIT_DATA_FS: if (a->u.fs.vp) { struct vnode *vp = a->u.fs.vp; struct vattr va; +#ifdef __APPLE__ + struct proc *curproc = current_proc(); + if (VOP_ISLOCKED(vp) && + !VOP_GETATTR(vp, &va, + curproc->p_ucred, + curproc)) { +#else if (VOP_ISLOCKED(vp, curthread) && !VOP_GETATTR(vp, &va, curthread->td_ucred, curthread)) { +#endif printf(" inode=%ld, mountpoint=%s, ", va.va_fileid, vp->v_mount->mnt_stat.f_mntonname); ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/avc/avc.h#3 (text+ko) ==== @@ -6,15 +6,19 @@ #ifndef _SELINUX_AVC_H_ #define _SELINUX_AVC_H_ -#ifdef _KERNEL +#if defined(_KERNEL) || defined(KERNEL) #include #include +#ifndef __APPLE__ #include +#endif #else /* _KERNEL */ #include #endif /* _KERNEL */ +#ifdef CAPABILITIES #include +#endif #include #include @@ -65,15 +69,21 @@ u16 port; u32 daddr; } net; +#ifdef CAPABILITIES cap_value_t cap; +#endif int ipc_id; } u; }; /* Initialize an AVC audit data structure. */ +#ifdef __APPLE__ #define AVC_AUDIT_DATA_INIT(_d,_t) \ + { bzero((_d), sizeof(struct avc_audit_data)); (_d)->type = AVC_AUDIT_DATA_##_t; } +#else +#define AVC_AUDIT_DATA_INIT(_d,_t) \ { memset((_d), 0, sizeof(struct avc_audit_data)); (_d)->type = AVC_AUDIT_DATA_##_t; } - +#endif /* * AVC statistics */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/context.h#3 (text+ko) ==== @@ -88,7 +88,7 @@ static inline void context_init(struct context *c) { - memset(c, 0, sizeof(*c)); + bzero(c, sizeof(*c)); } static inline int context_cpy(struct context *dst, struct context *src) ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/ebitmap.h#3 (text+ko) ==== @@ -14,12 +14,16 @@ #ifndef _SS_EBITMAP_H_ #define _SS_EBITMAP_H_ +#ifdef __APPLE__ +#include +#else #ifdef _KERNEL #include #else #include #include #endif +#endif #include @@ -43,7 +47,7 @@ static inline void ebitmap_init(struct ebitmap *e) { - memset(e, 0, sizeof(*e)); + bzero(e, sizeof(*e)); } int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2); @@ -55,7 +59,7 @@ void ebitmap_destroy(struct ebitmap *e); int ebitmap_read(struct ebitmap *e, void *fp); -#if !defined(__KERNEL__) && !defined(_KERNEL) +#if !defined(__KERNEL__) && !defined(_KERNEL) && !defined(KERNEL) int ebitmap_write(struct ebitmap * e, FILE * fp); #endif ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/global.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -#ifdef _KERNEL +#if defined(_KERNEL) || defined(KERNEL) #define sebsd_malloc(a,b,c) malloc(a,b,c) #define sebsd_free(a,b) free(a,b) #else /* _KERNEL */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/init.c#3 (text+ko) ==== @@ -14,7 +14,9 @@ #include #include #include +#ifndef __APPLE__ #include +#endif #include #include @@ -36,6 +38,10 @@ printf("security: starting up (compiled " __DATE__ ")\n"); +#ifndef __APPLE__ +/* + * TBD: No way to load policy on Darwin (yet) + */ lh = preload_search_by_type ("sebsd_policy"); if (lh == NULL) goto loaderr; @@ -56,6 +62,7 @@ printf("security: error while reading policy, cannot initialize.\n"); return EINVAL; } +#endif return 0; ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/queue.c#3 (text+ko) ==== @@ -7,7 +7,7 @@ * Implementation of the double-ended queue type. */ -#if defined(__FreeBSD__) && defined(_KERNEL) +#if (defined(__FreeBSD__) && defined(_KERNEL)) || defined(__APPLE__) && defined(KERNEL) #include #include #include ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/sidtab.c#3 (text+ko) ==== @@ -7,7 +7,9 @@ #include #include #include +#ifndef __APPLE__ #include +#endif #include #include #include ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/sidtab.h#3 (text+ko) ==== @@ -12,7 +12,10 @@ #include #include + +#ifndef __APPLE__ #include +#endif struct sidtab_node { security_id_t sid; /* security identifier */ From owner-p4-projects@FreeBSD.ORG Tue Oct 14 06:53:51 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB9C416A4C2; Tue, 14 Oct 2003 06:53:50 -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 959D716A4C0 for ; Tue, 14 Oct 2003 06:53:50 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 085F843FAF for ; Tue, 14 Oct 2003 06:53:50 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9EDrnXJ054901 for ; Tue, 14 Oct 2003 06:53:49 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9EDrnuR054898 for perforce@freebsd.org; Tue, 14 Oct 2003 06:53:49 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Tue, 14 Oct 2003 06:53:49 -0700 (PDT) Message-Id: <200310141353.h9EDrnuR054898@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 39687 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, 14 Oct 2003 13:53:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=39687 Change 39687 by sam@sam_ebb on 2003/10/14 06:53:17 parameterize locking to improve portability and possible change to different locking strategies Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_node.c#11 edit .. //depot/projects/netperf/sys/net80211/ieee80211_node.h#8 edit .. //depot/projects/netperf/sys/net80211/ieee80211_proto.c#5 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_node.c#11 (text+ko) ==== @@ -86,7 +86,7 @@ struct ieee80211com *ic = (void *)ifp; /* XXX need unit */ - mtx_init(&ic->ic_nodelock, ifp->if_name, "802.11 node table", MTX_DEF); + IEEE80211_NODE_LOCK_INIT(ic, ifp->if_name); TAILQ_INIT(&ic->ic_node); ic->ic_node_alloc = ieee80211_node_alloc; ic->ic_node_free = ieee80211_node_free; @@ -113,7 +113,7 @@ if (ic->ic_bss != NULL) (*ic->ic_node_free)(ic, ic->ic_bss); ieee80211_free_allnodes(ic); - mtx_destroy(&ic->ic_nodelock); + IEEE80211_NODE_LOCK_DESTROY(ic); } /* @@ -431,7 +431,7 @@ IEEE80211_ADDR_COPY(ni->ni_macaddr, macaddr); hash = IEEE80211_NODE_HASH(macaddr); ni->ni_refcnt = 1; /* mark referenced */ - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); TAILQ_INSERT_TAIL(&ic->ic_node, ni, ni_list); LIST_INSERT_HEAD(&ic->ic_hash[hash], ni, ni_hash); /* @@ -445,7 +445,7 @@ */ if (ic->ic_opmode != IEEE80211_M_STA) ic->ic_inact_timer = IEEE80211_INACT_WAIT; - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); } struct ieee80211_node * @@ -475,14 +475,14 @@ int hash; hash = IEEE80211_NODE_HASH(macaddr); - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); LIST_FOREACH(ni, &ic->ic_hash[hash], ni_hash) { if (IEEE80211_ADDR_EQ(ni->ni_macaddr, macaddr)) { atomic_add_int(&ni->ni_refcnt, 1); /* mark referenced */ break; } } - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); return ni; } @@ -497,14 +497,14 @@ int hash; hash = IEEE80211_NODE_HASH(macaddr); - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); LIST_FOREACH(ni, &ic->ic_hash[hash], ni_hash) { if (IEEE80211_ADDR_EQ(ni->ni_macaddr, macaddr) && ni->ni_chan == chan) { atomic_add_int(&ni->ni_refcnt, 1);/* mark referenced */ break; } } - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); return ni; } @@ -528,9 +528,9 @@ /* XXX need equivalent of atomic_dec_and_test */ atomic_subtract_int(&ni->ni_refcnt, 1); if (atomic_cmpset_int(&ni->ni_refcnt, 0, 1)) { - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); _ieee80211_free_node(ic, ni); - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); } } @@ -539,10 +539,10 @@ { struct ieee80211_node *ni; - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); while ((ni = TAILQ_FIRST(&ic->ic_node)) != NULL) _ieee80211_free_node(ic, ni); - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); } /* @@ -561,7 +561,7 @@ u_int gen = ic->ic_scangen++; /* NB: ok 'cuz single-threaded*/ restart: - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); TAILQ_FOREACH(ni, &ic->ic_node, ni_list) { if (ni->ni_scangen == gen) /* previously handled */ continue; @@ -579,7 +579,7 @@ * a lock, as this will result in a LOR between the * node lock and the driver lock. */ - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); IEEE80211_SEND_MGMT(ic, ni, IEEE80211_FC0_SUBTYPE_DEAUTH, IEEE80211_REASON_AUTH_EXPIRE); @@ -590,7 +590,7 @@ } if (!TAILQ_EMPTY(&ic->ic_node)) ic->ic_inact_timer = IEEE80211_INACT_WAIT; - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); } void @@ -598,8 +598,8 @@ { struct ieee80211_node *ni; - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); TAILQ_FOREACH(ni, &ic->ic_node, ni_list) (*f)(arg, ni); - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); } ==== //depot/projects/netperf/sys/net80211/ieee80211_node.h#8 (text+ko) ==== @@ -118,6 +118,14 @@ *ni = NULL; /* guard against use */ } +#define IEEE80211_NODE_LOCK_INIT(_ic, _name) \ + mtx_init(&(_ic)->ic_nodelock, _name, "802.11 node table", MTX_DEF) +#define IEEE80211_NODE_LOCK_DESTROY(_ic) mtx_destroy(&(_ic)->ic_nodelock) +#define IEEE80211_NODE_LOCK(_ic) mtx_lock(&(_ic)->ic_nodelock) +#define IEEE80211_NODE_UNLOCK(_ic) mtx_unlock(&(_ic)->ic_nodelock) +#define IEEE80211_NODE_LOCK_ASSERT(_ic) \ + mtx_assert(&(_ic)->ic_nodelock, MA_OWNED) + struct ieee80211com; extern void ieee80211_node_attach(struct ifnet *); ==== //depot/projects/netperf/sys/net80211/ieee80211_proto.c#5 (text+ko) ==== @@ -321,7 +321,7 @@ IEEE80211_REASON_ASSOC_LEAVE); break; case IEEE80211_M_HOSTAP: - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); TAILQ_FOREACH(ni, &ic->ic_node, ni_list) { if (ni->ni_associd == 0) continue; @@ -329,7 +329,7 @@ IEEE80211_FC0_SUBTYPE_DISASSOC, IEEE80211_REASON_ASSOC_LEAVE); } - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); break; default: break; @@ -343,13 +343,13 @@ IEEE80211_REASON_AUTH_LEAVE); break; case IEEE80211_M_HOSTAP: - mtx_lock(&ic->ic_nodelock); + IEEE80211_NODE_LOCK(ic); TAILQ_FOREACH(ni, &ic->ic_node, ni_list) { IEEE80211_SEND_MGMT(ic, ni, IEEE80211_FC0_SUBTYPE_DEAUTH, IEEE80211_REASON_AUTH_LEAVE); } - mtx_unlock(&ic->ic_nodelock); + IEEE80211_NODE_UNLOCK(ic); break; default: break; From owner-p4-projects@FreeBSD.ORG Tue Oct 14 06:54:57 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FD7016A4C0; Tue, 14 Oct 2003 06:54: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 0033F16A4B3 for ; Tue, 14 Oct 2003 06:54:56 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 554A743FE1 for ; Tue, 14 Oct 2003 06:54:52 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9EDspXJ054922 for ; Tue, 14 Oct 2003 06:54:51 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9EDsp6g054919 for perforce@freebsd.org; Tue, 14 Oct 2003 06:54:51 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Tue, 14 Oct 2003 06:54:51 -0700 (PDT) Message-Id: <200310141354.h9EDsp6g054919@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 39688 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, 14 Oct 2003 13:54:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=39688 Change 39688 by sam@sam_ebb on 2003/10/14 06:54:12 o #define locking calls o destroy txbuf and txq locks on detach Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#19 edit .. //depot/projects/netperf/sys/dev/ath/if_ath_pci.c#4 edit .. //depot/projects/netperf/sys/dev/ath/if_athvar.h#5 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#19 (text+ko) ==== @@ -231,10 +231,8 @@ callout_init(&sc->sc_scan_ch, CALLOUT_MPSAFE); callout_init(&sc->sc_cal_ch, CALLOUT_MPSAFE); - mtx_init(&sc->sc_txbuflock, - device_get_nameunit(sc->sc_dev), "xmit buf q", MTX_DEF); - mtx_init(&sc->sc_txqlock, - device_get_nameunit(sc->sc_dev), "xmit q", MTX_DEF); + ATH_TXBUF_LOCK_INIT(sc); + ATH_TXQ_LOCK_INIT(sc); TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); @@ -335,7 +333,9 @@ ath_desc_free(sc); ath_hal_detach(sc->sc_ah); ieee80211_ifdetach(ifp); - mtx_unlock(&sc->sc_mtx); + + ATH_TXBUF_LOCK_DESTROY(sc); + ATH_TXQ_LOCK_DESTROY(sc); return 0; } @@ -500,7 +500,7 @@ DPRINTF(("ath_init: if_flags 0x%x\n", ifp->if_flags)); - mtx_lock(&sc->sc_mtx); + ATH_LOCK(sc); /* * Stop anything previously setup. This is safe * whether this is the first time through or not. @@ -562,7 +562,7 @@ else ieee80211_new_state(ic, IEEE80211_S_RUN, -1); done: - mtx_unlock(&sc->sc_mtx); + ATH_UNLOCK(sc); } static void @@ -575,7 +575,7 @@ DPRINTF(("ath_stop: invalid %u if_flags 0x%x\n", sc->sc_invalid, ifp->if_flags)); - mtx_lock(&sc->sc_mtx); + ATH_LOCK(sc); if (ifp->if_flags & IFF_RUNNING) { /* * Shutdown the hardware and driver: @@ -606,7 +606,7 @@ if (!sc->sc_invalid) ath_hal_setpower(ah, HAL_PM_FULL_SLEEP, 0); } - mtx_unlock(&sc->sc_mtx); + ATH_UNLOCK(sc); } /* @@ -666,11 +666,11 @@ /* * Grab a TX buffer and associated resources. */ - mtx_lock(&sc->sc_txbuflock); + ATH_TXBUF_LOCK(sc); bf = TAILQ_FIRST(&sc->sc_txbuf); if (bf != NULL) TAILQ_REMOVE(&sc->sc_txbuf, bf, bf_list); - mtx_unlock(&sc->sc_txbuflock); + ATH_TXBUF_UNLOCK(sc); if (bf == NULL) { DPRINTF(("ath_start: out of xmit buffers\n")); sc->sc_stats.ast_tx_qstop++; @@ -690,16 +690,16 @@ DPRINTF(("ath_start: ignore data packet, " "state %u\n", ic->ic_state)); sc->sc_stats.ast_tx_discard++; - mtx_lock(&sc->sc_txbuflock); + ATH_TXBUF_LOCK(sc); TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - mtx_unlock(&sc->sc_txbuflock); + ATH_TXBUF_UNLOCK(sc); break; } IF_DEQUEUE(&ifp->if_snd, m); if (m == NULL) { - mtx_lock(&sc->sc_txbuflock); + ATH_TXBUF_LOCK(sc); TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - mtx_unlock(&sc->sc_txbuflock); + ATH_TXBUF_UNLOCK(sc); break; } ifp->if_opackets++; @@ -767,9 +767,9 @@ if (ath_tx_start(sc, ni, bf, m)) { bad: - mtx_lock(&sc->sc_txbuflock); + ATH_TXBUF_LOCK(sc); TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - mtx_unlock(&sc->sc_txbuflock); + ATH_TXBUF_UNLOCK(sc); ifp->if_oerrors++; if (ni && ni != ic->ic_bss) ieee80211_free_node(ic, ni); @@ -839,7 +839,7 @@ struct ifreq *ifr = (struct ifreq *)data; int error = 0; - mtx_lock(&sc->sc_mtx); + ATH_LOCK(sc); switch (cmd) { case SIOCSIFFLAGS: if (ifp->if_flags & IFF_UP) { @@ -889,7 +889,7 @@ } break; } - mtx_unlock(&sc->sc_mtx); + ATH_UNLOCK(sc); return error; } @@ -1989,7 +1989,7 @@ * Insert the frame on the outbound list and * pass it on to the hardware. */ - mtx_lock(&sc->sc_txqlock); + ATH_TXQ_LOCK(sc); TAILQ_INSERT_TAIL(&sc->sc_txq, bf, bf_list); if (sc->sc_txlink == NULL) { ath_hal_puttxbuf(ah, sc->sc_txhalq, bf->bf_daddr); @@ -2001,7 +2001,7 @@ sc->sc_txlink, (caddr_t)bf->bf_daddr, bf->bf_desc)); } sc->sc_txlink = &bf->bf_desc[bf->bf_nseg - 1].ds_link; - mtx_unlock(&sc->sc_txqlock); + ATH_TXQ_UNLOCK(sc); ath_hal_txstart(ah, sc->sc_txhalq); return 0; @@ -2025,11 +2025,11 @@ npending, (caddr_t) ath_hal_gettxbuf(sc->sc_ah, sc->sc_txhalq), sc->sc_txlink)); for (;;) { - mtx_lock(&sc->sc_txqlock); + ATH_TXQ_LOCK(sc); bf = TAILQ_FIRST(&sc->sc_txq); if (bf == NULL) { sc->sc_txlink = NULL; - mtx_unlock(&sc->sc_txqlock); + ATH_TXQ_UNLOCK(sc); break; } /* only the last descriptor is needed */ @@ -2040,11 +2040,11 @@ ath_printtxbuf(bf, status == HAL_OK); #endif if (status == HAL_EINPROGRESS) { - mtx_unlock(&sc->sc_txqlock); + ATH_TXQ_UNLOCK(sc); break; } TAILQ_REMOVE(&sc->sc_txq, bf, bf_list); - mtx_unlock(&sc->sc_txqlock); + ATH_TXQ_UNLOCK(sc); ni = bf->bf_node; if (ni != NULL) { @@ -2086,9 +2086,9 @@ bf->bf_m = NULL; bf->bf_node = NULL; - mtx_lock(&sc->sc_txbuflock); + ATH_TXBUF_LOCK(sc); TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - mtx_unlock(&sc->sc_txbuflock); + ATH_TXBUF_UNLOCK(sc); } ifp->if_flags &= ~IFF_OACTIVE; sc->sc_tx_timer = 0; @@ -2118,15 +2118,15 @@ (caddr_t) ath_hal_gettxbuf(ah, sc->sc_bhalq))); } for (;;) { - mtx_lock(&sc->sc_txqlock); + ATH_TXQ_LOCK(sc); bf = TAILQ_FIRST(&sc->sc_txq); if (bf == NULL) { sc->sc_txlink = NULL; - mtx_unlock(&sc->sc_txqlock); + ATH_TXQ_UNLOCK(sc); break; } TAILQ_REMOVE(&sc->sc_txq, bf, bf_list); - mtx_unlock(&sc->sc_txqlock); + ATH_TXQ_UNLOCK(sc); #ifdef AR_DEBUG if (ath_debug) ath_printtxbuf(bf, @@ -2136,9 +2136,9 @@ m_freem(bf->bf_m); bf->bf_m = NULL; bf->bf_node = NULL; - mtx_lock(&sc->sc_txbuflock); + ATH_TXBUF_LOCK(sc); TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list); - mtx_unlock(&sc->sc_txbuflock); + ATH_TXBUF_UNLOCK(sc); } ifp->if_flags &= ~IFF_OACTIVE; sc->sc_tx_timer = 0; ==== //depot/projects/netperf/sys/dev/ath/if_ath_pci.c#4 (text+ko) ==== @@ -194,14 +194,13 @@ goto bad3; } - mtx_init(&sc->sc_mtx, device_get_nameunit(dev), - MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); + ATH_LOCK_INIT(sc); error = ath_attach(pci_get_device(dev), sc); if (error == 0) return error; - mtx_destroy(&sc->sc_mtx); + ATH_LOCK_DESTROY(sc); bus_dma_tag_destroy(sc->sc_dmat); bad3: bus_teardown_intr(dev, psc->sc_irq, psc->sc_ih); @@ -231,7 +230,7 @@ bus_dma_tag_destroy(sc->sc_dmat); bus_release_resource(dev, SYS_RES_MEMORY, BS_BAR, psc->sc_sr); - mtx_destroy(&sc->sc_mtx); + ATH_LOCK_DESTROY(sc); return (0); } ==== //depot/projects/netperf/sys/dev/ath/if_athvar.h#5 (text+ko) ==== @@ -155,6 +155,31 @@ #define sc_tx_th u_tx_rt.th #define sc_rx_th u_rx_rt.th +#define ATH_LOCK_INIT(_sc) \ + mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \ + MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE) +#define ATH_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx) +#define ATH_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define ATH_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) +#define ATH_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) + +#define ATH_TXBUF_LOCK_INIT(_sc) \ + mtx_init(&(_sc)->sc_txbuflock, \ + device_get_nameunit((_sc)->sc_dev), "xmit buf q", MTX_DEF) +#define ATH_TXBUF_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_txbuflock) +#define ATH_TXBUF_LOCK(_sc) mtx_lock(&(_sc)->sc_txbuflock) +#define ATH_TXBUF_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_txbuflock) +#define ATH_TXBUF_LOCK_ASSERT(_sc) \ + mtx_assert(&(_sc)->sc_txbuflock, MA_OWNED) + +#define ATH_TXQ_LOCK_INIT(_sc) \ + mtx_init(&(_sc)->sc_txqlock, \ + device_get_nameunit((_sc)->sc_dev), "xmit q", MTX_DEF) +#define ATH_TXQ_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_txqlock) +#define ATH_TXQ_LOCK(_sc) mtx_lock(&(_sc)->sc_txqlock) +#define ATH_TXQ_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_txqlock) +#define ATH_TXQ_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_txqlock, MA_OWNED) + int ath_attach(u_int16_t, struct ath_softc *); int ath_detach(struct ath_softc *); void ath_resume(struct ath_softc *); From owner-p4-projects@FreeBSD.ORG Tue Oct 14 08:27:50 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA38516A4C0; Tue, 14 Oct 2003 08:27:49 -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 9ECF416A4B3 for ; Tue, 14 Oct 2003 08:27:49 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0DCC43F3F for ; Tue, 14 Oct 2003 08:27:47 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9EFRlXJ060550 for ; Tue, 14 Oct 2003 08:27:47 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9EFRk6F060547 for perforce@freebsd.org; Tue, 14 Oct 2003 08:27:46 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Tue, 14 Oct 2003 08:27:46 -0700 (PDT) Message-Id: <200310141527.h9EFRk6F060547@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 39691 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, 14 Oct 2003 15:27:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=39691 Change 39691 by sam@sam_ebb on 2003/10/14 08:27:31 IFC Affected files ... .. //depot/projects/netperf/sys/amd64/amd64/pmap.c#13 integrate .. //depot/projects/netperf/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/netperf/sys/conf/files#12 integrate .. //depot/projects/netperf/sys/conf/files.amd64#5 integrate .. //depot/projects/netperf/sys/crypto/blowfish/bf_ecb.c#1 branch .. //depot/projects/netperf/sys/crypto/blowfish/blowfish.h#2 integrate .. //depot/projects/netperf/sys/crypto/rijndael/boxes-fst.dat#2 delete .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.c#2 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.h#2 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api-fst.c#4 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael-api-fst.h#2 integrate .. //depot/projects/netperf/sys/crypto/rijndael/rijndael_local.h#2 integrate .. //depot/projects/netperf/sys/crypto/ripemd160/rmd160.c#2 delete .. //depot/projects/netperf/sys/crypto/ripemd160/rmd160.h#2 delete .. //depot/projects/netperf/sys/dev/ath/if_ath.c#20 integrate .. //depot/projects/netperf/sys/dev/owi/if_owi.c#2 integrate .. //depot/projects/netperf/sys/i386/i386/pmap.c#17 integrate .. //depot/projects/netperf/sys/kern/kern_sig.c#6 integrate .. //depot/projects/netperf/sys/kern/sched_ule.c#7 integrate .. //depot/projects/netperf/sys/kern/subr_bus.c#4 integrate .. //depot/projects/netperf/sys/kern/subr_disk.c#2 integrate .. //depot/projects/netperf/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/bluetooth/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/bt3c/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/h4/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/hci/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/l2cap/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/ubt/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile#2 integrate .. //depot/projects/netperf/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/netperf/sys/net/pfkeyv2.h#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/hci/ng_hci_evnt.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/hci/ng_hci_misc.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/hci/ng_hci_misc.h#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/netperf/sys/netinet6/ah_aesxcbcmac.c#1 branch .. //depot/projects/netperf/sys/netinet6/ah_aesxcbcmac.h#1 branch .. //depot/projects/netperf/sys/netinet6/ah_core.c#4 integrate .. //depot/projects/netperf/sys/netinet6/esp.h#2 integrate .. //depot/projects/netperf/sys/netinet6/esp_aesctr.c#1 branch .. //depot/projects/netperf/sys/netinet6/esp_aesctr.h#1 branch .. //depot/projects/netperf/sys/netinet6/esp_core.c#5 integrate .. //depot/projects/netperf/sys/netinet6/esp_rijndael.c#2 integrate .. //depot/projects/netperf/sys/netinet6/esp_rijndael.h#2 integrate .. //depot/projects/netperf/sys/sys/mutex.h#3 integrate Differences ... ==== //depot/projects/netperf/sys/amd64/amd64/pmap.c#13 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.442 2003/10/05 00:12:16 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.443 2003/10/14 05:51:31 alc Exp $"); /* * Manages physical address maps. @@ -127,7 +127,6 @@ #include #include #include -#include #include #include @@ -529,52 +528,6 @@ return (void *)kmem_alloc(kernel_map, bytes); } -void * -uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait) -{ - static vm_pindex_t colour; - vm_page_t m; - int pflags; - void *va; - - *flags = UMA_SLAB_PRIV; - - if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; - else - pflags = VM_ALLOC_SYSTEM; - - if (wait & M_ZERO) - pflags |= VM_ALLOC_ZERO; - - for (;;) { - m = vm_page_alloc(NULL, colour++, pflags | VM_ALLOC_NOOBJ); - if (m == NULL) { - if (wait & M_NOWAIT) - return (NULL); - else - VM_WAIT; - } else - break; - } - - va = (void *)PHYS_TO_DMAP(m->phys_addr); - if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) - pagezero(va); - return (va); -} - -void -uma_small_free(void *mem, int size, u_int8_t flags) -{ - vm_page_t m; - - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)mem)); - vm_page_lock_queues(); - vm_page_free(m); - vm_page_unlock_queues(); -} - /* * Initialize the pmap module. * Called by vm_init, to initialize any structures that the pmap ==== //depot/projects/netperf/sys/conf/files#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.829 2003/10/12 09:41:42 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.833 2003/10/13 19:26:07 ume Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -201,13 +201,14 @@ contrib/ipfilter/netinet/ip_proxy.c optional ipfilter inet contrib/ipfilter/netinet/ip_state.c optional ipfilter inet contrib/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet +crypto/blowfish/bf_ecb.c optional ipsec ipsec_esp crypto/blowfish/bf_skey.c optional ipsec ipsec_esp crypto/cast128/cast128.c optional ipsec ipsec_esp crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp -crypto/rijndael/rijndael-alg-fst.c optional ipsec ipsec_esp -crypto/rijndael/rijndael-api-fst.c optional ipsec ipsec_esp -crypto/ripemd160/rmd160.c optional ipsec +crypto/rijndael/rijndael-alg-fst.c optional ipsec +crypto/rijndael/rijndael-api-fst.c optional ipsec +opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ddb/db_access.c optional ddb @@ -1436,10 +1437,12 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet +netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 +netinet6/esp_aesctr.c optional ipsec ipsec_esp netinet6/esp_core.c optional ipsec ipsec_esp netinet6/esp_input.c optional ipsec ipsec_esp netinet6/esp_output.c optional ipsec ipsec_esp ==== //depot/projects/netperf/sys/conf/files.amd64#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.amd64,v 1.23 2003/09/06 23:23:25 marcel Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.24 2003/10/14 05:51:31 alc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -73,6 +73,7 @@ amd64/amd64/sys_machdep.c standard amd64/amd64/trap.c standard amd64/amd64/tsc.c standard +amd64/amd64/uma_machdep.c standard amd64/amd64/vm_machdep.c standard amd64/amd64/in_cksum.c optional inet ==== //depot/projects/netperf/sys/crypto/blowfish/blowfish.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/crypto/blowfish/blowfish.h,v 1.6 2002/03/20 05:13:51 alfred Exp $ */ +/* $FreeBSD: src/sys/crypto/blowfish/blowfish.h,v 1.7 2003/10/13 19:26:08 ume Exp $ */ /* $KAME: blowfish.h,v 1.12 2002/02/27 01:33:59 itojun Exp $ */ /* crypto/bf/blowfish.h */ @@ -83,8 +83,8 @@ void BF_set_key(BF_KEY *, int, unsigned char *); void BF_encrypt(BF_LONG *, BF_KEY *); void BF_decrypt(BF_LONG *, BF_KEY *); -void BF_cbc_encrypt(const unsigned char *, unsigned char *, long, - const BF_KEY *, unsigned char *, int); +void BF_ecb_encrypt(const unsigned char *, unsigned char *, + BF_KEY *, int); #ifdef __cplusplus } ==== //depot/projects/netperf/sys/crypto/rijndael/rijndael-alg-fst.c#2 (text+ko) ==== @@ -1,19 +1,31 @@ -/* $KAME: rijndael-alg-fst.c,v 1.7 2001/05/27 00:23:23 itojun Exp $ */ - -/* - * rijndael-alg-fst.c v2.3 April '2000 +/* $KAME: rijndael-alg-fst.c,v 1.10 2003/07/15 10:47:16 itojun Exp $ */ +/** + * rijndael-alg-fst.c + * + * @version 3.0 (December 2000) + * + * Optimised ANSI C code for the Rijndael cipher (now AES) * - * Optimised ANSI C code + * @author Vincent Rijmen + * @author Antoon Bosselaers + * @author Paulo Barreto * - * authors: v1.0: Antoon Bosselaers - * v2.0: Vincent Rijmen - * v2.3: Paulo Barreto + * This code is hereby placed in the public domain. * - * This code is placed in the public domain. + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 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. */ - #include -__FBSDID("$FreeBSD: src/sys/crypto/rijndael/rijndael-alg-fst.c,v 1.4 2003/06/10 21:43:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/crypto/rijndael/rijndael-alg-fst.c,v 1.5 2003/10/12 21:05:05 ume Exp $"); #include #include @@ -22,469 +34,1191 @@ #else #include #endif + #include #include -#include +/* +Te0[x] = S [x].[02, 01, 01, 03]; +Te1[x] = S [x].[03, 02, 01, 01]; +Te2[x] = S [x].[01, 03, 02, 01]; +Te3[x] = S [x].[01, 01, 03, 02]; +Te4[x] = S [x].[01, 01, 01, 01]; -int rijndaelKeySched(word8 k[MAXKC][4], word8 W[MAXROUNDS+1][4][4], int ROUNDS) { - /* Calculate the necessary round keys - * The number of calculations depends on keyBits and blockBits - */ - int j, r, t, rconpointer = 0; - union { - word8 x8[MAXKC][4]; - word32 x32[MAXKC]; - } xtk; -#define tk xtk.x8 - int KC = ROUNDS - 6; +Td0[x] = Si[x].[0e, 09, 0d, 0b]; +Td1[x] = Si[x].[0b, 0e, 09, 0d]; +Td2[x] = Si[x].[0d, 0b, 0e, 09]; +Td3[x] = Si[x].[09, 0d, 0b, 0e]; +Td4[x] = Si[x].[01, 01, 01, 01]; +*/ - for (j = KC-1; j >= 0; j--) { - *((word32*)tk[j]) = *((word32*)k[j]); - } - r = 0; - t = 0; - /* copy values into round key array */ - for (j = 0; (j < KC) && (r < ROUNDS + 1); ) { - for (; (j < KC) && (t < 4); j++, t++) { - *((word32*)W[r][t]) = *((word32*)tk[j]); - } - if (t == 4) { - r++; - t = 0; - } - } - - while (r < ROUNDS + 1) { /* while not enough round key material calculated */ - /* calculate new values */ - tk[0][0] ^= S[tk[KC-1][1]]; - tk[0][1] ^= S[tk[KC-1][2]]; - tk[0][2] ^= S[tk[KC-1][3]]; - tk[0][3] ^= S[tk[KC-1][0]]; - tk[0][0] ^= rcon[rconpointer++]; +static const u32 Te0[256] = { + 0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU, + 0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U, + 0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU, + 0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU, + 0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U, + 0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU, + 0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU, + 0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU, + 0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU, + 0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU, + 0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U, + 0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU, + 0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU, + 0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U, + 0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU, + 0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU, + 0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU, + 0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU, + 0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU, + 0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U, + 0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU, + 0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU, + 0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU, + 0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU, + 0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U, + 0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U, + 0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U, + 0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U, + 0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU, + 0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U, + 0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U, + 0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU, + 0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU, + 0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U, + 0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U, + 0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U, + 0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU, + 0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U, + 0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU, + 0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U, + 0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU, + 0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U, + 0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U, + 0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU, + 0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U, + 0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U, + 0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U, + 0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U, + 0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U, + 0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U, + 0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U, + 0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U, + 0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU, + 0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U, + 0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U, + 0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U, + 0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U, + 0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U, + 0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U, + 0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU, + 0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U, + 0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U, + 0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U, + 0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU, +}; +static const u32 Te1[256] = { + 0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU, + 0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U, + 0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU, + 0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U, + 0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU, + 0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U, + 0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU, + 0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U, + 0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U, + 0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU, + 0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U, + 0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U, + 0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U, + 0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU, + 0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U, + 0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U, + 0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU, + 0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U, + 0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U, + 0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U, + 0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU, + 0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU, + 0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U, + 0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU, + 0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU, + 0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U, + 0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU, + 0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U, + 0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU, + 0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U, + 0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U, + 0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U, + 0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU, + 0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U, + 0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU, + 0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U, + 0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU, + 0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U, + 0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U, + 0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU, + 0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU, + 0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU, + 0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U, + 0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U, + 0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU, + 0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U, + 0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU, + 0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U, + 0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU, + 0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U, + 0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU, + 0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU, + 0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U, + 0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU, + 0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U, + 0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU, + 0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U, + 0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U, + 0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U, + 0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU, + 0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU, + 0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U, + 0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU, + 0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U, +}; +static const u32 Te2[256] = { + 0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU, + 0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U, + 0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU, + 0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U, + 0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU, + 0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U, + 0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU, + 0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U, + 0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U, + 0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU, + 0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U, + 0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U, + 0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U, + 0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU, + 0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U, + 0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U, + 0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU, + 0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U, + 0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U, + 0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U, + 0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU, + 0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU, + 0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U, + 0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU, + 0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU, + 0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U, + 0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU, + 0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U, + 0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU, + 0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U, + 0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U, + 0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U, + 0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU, + 0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U, + 0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU, + 0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U, + 0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU, + 0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U, + 0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U, + 0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU, + 0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU, + 0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU, + 0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U, + 0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U, + 0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU, + 0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U, + 0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU, + 0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U, + 0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU, + 0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U, + 0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU, + 0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU, + 0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U, + 0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU, + 0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U, + 0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU, + 0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U, + 0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U, + 0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U, + 0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU, + 0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU, + 0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U, + 0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU, + 0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U, +}; +static const u32 Te3[256] = { - if (KC != 8) { - for (j = 1; j < KC; j++) { - *((word32*)tk[j]) ^= *((word32*)tk[j-1]); - } - } else { - for (j = 1; j < KC/2; j++) { - *((word32*)tk[j]) ^= *((word32*)tk[j-1]); - } - tk[KC/2][0] ^= S[tk[KC/2 - 1][0]]; - tk[KC/2][1] ^= S[tk[KC/2 - 1][1]]; - tk[KC/2][2] ^= S[tk[KC/2 - 1][2]]; - tk[KC/2][3] ^= S[tk[KC/2 - 1][3]]; - for (j = KC/2 + 1; j < KC; j++) { - *((word32*)tk[j]) ^= *((word32*)tk[j-1]); - } - } - /* copy values into round key array */ - for (j = 0; (j < KC) && (r < ROUNDS + 1); ) { - for (; (j < KC) && (t < 4); j++, t++) { - *((word32*)W[r][t]) = *((word32*)tk[j]); - } - if (t == 4) { - r++; - t = 0; - } - } - } - return 0; -#undef tk -} + 0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U, + 0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U, + 0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U, + 0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU, + 0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU, + 0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU, + 0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U, + 0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU, + 0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU, + 0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U, + 0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U, + 0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU, + 0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU, + 0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU, + 0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU, + 0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU, + 0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U, + 0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU, + 0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU, + 0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U, + 0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U, + 0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U, + 0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U, + 0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U, + 0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU, + 0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U, + 0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU, + 0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU, + 0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U, + 0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U, + 0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U, + 0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU, + 0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U, + 0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU, + 0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU, + 0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U, + 0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U, + 0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU, + 0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U, + 0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU, + 0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U, + 0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U, + 0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U, + 0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U, + 0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU, + 0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U, + 0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU, + 0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U, + 0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU, + 0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U, + 0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU, + 0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU, + 0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU, + 0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU, + 0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U, + 0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U, + 0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U, + 0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U, + 0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U, + 0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U, + 0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU, + 0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U, + 0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU, + 0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU, +}; +static const u32 Te4[256] = { + 0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU, + 0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U, + 0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU, + 0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U, + 0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU, + 0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U, + 0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU, + 0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U, + 0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U, + 0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU, + 0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U, + 0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U, + 0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U, + 0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU, + 0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U, + 0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U, + 0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU, + 0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U, + 0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U, + 0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U, + 0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU, + 0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU, + 0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U, + 0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU, + 0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU, + 0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U, + 0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU, + 0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U, + 0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU, + 0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U, + 0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U, + 0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U, + 0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU, + 0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U, + 0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU, + 0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U, + 0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU, + 0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U, + 0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U, + 0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU, + 0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU, + 0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU, + 0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U, + 0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U, + 0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU, + 0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U, + 0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU, + 0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U, + 0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU, + 0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U, + 0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU, + 0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU, + 0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U, + 0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU, + 0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U, + 0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU, + 0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U, + 0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U, + 0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U, + 0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU, + 0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU, + 0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U, + 0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU, + 0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U, +}; +static const u32 Td0[256] = { + 0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U, + 0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U, + 0x2030fa55U, 0xad766df6U, 0x88cc7691U, 0xf5024c25U, + 0x4fe5d7fcU, 0xc52acbd7U, 0x26354480U, 0xb562a38fU, + 0xdeb15a49U, 0x25ba1b67U, 0x45ea0e98U, 0x5dfec0e1U, + 0xc32f7502U, 0x814cf012U, 0x8d4697a3U, 0x6bd3f9c6U, + 0x038f5fe7U, 0x15929c95U, 0xbf6d7aebU, 0x955259daU, + 0xd4be832dU, 0x587421d3U, 0x49e06929U, 0x8ec9c844U, + 0x75c2896aU, 0xf48e7978U, 0x99583e6bU, 0x27b971ddU, + 0xbee14fb6U, 0xf088ad17U, 0xc920ac66U, 0x7dce3ab4U, + 0x63df4a18U, 0xe51a3182U, 0x97513360U, 0x62537f45U, + 0xb16477e0U, 0xbb6bae84U, 0xfe81a01cU, 0xf9082b94U, + 0x70486858U, 0x8f45fd19U, 0x94de6c87U, 0x527bf8b7U, + 0xab73d323U, 0x724b02e2U, 0xe31f8f57U, 0x6655ab2aU, + 0xb2eb2807U, 0x2fb5c203U, 0x86c57b9aU, 0xd33708a5U, + 0x302887f2U, 0x23bfa5b2U, 0x02036abaU, 0xed16825cU, + 0x8acf1c2bU, 0xa779b492U, 0xf307f2f0U, 0x4e69e2a1U, + 0x65daf4cdU, 0x0605bed5U, 0xd134621fU, 0xc4a6fe8aU, + 0x342e539dU, 0xa2f355a0U, 0x058ae132U, 0xa4f6eb75U, + 0x0b83ec39U, 0x4060efaaU, 0x5e719f06U, 0xbd6e1051U, + 0x3e218af9U, 0x96dd063dU, 0xdd3e05aeU, 0x4de6bd46U, + 0x91548db5U, 0x71c45d05U, 0x0406d46fU, 0x605015ffU, + 0x1998fb24U, 0xd6bde997U, 0x894043ccU, 0x67d99e77U, + 0xb0e842bdU, 0x07898b88U, 0xe7195b38U, 0x79c8eedbU, + 0xa17c0a47U, 0x7c420fe9U, 0xf8841ec9U, 0x00000000U, + 0x09808683U, 0x322bed48U, 0x1e1170acU, 0x6c5a724eU, + 0xfd0efffbU, 0x0f853856U, 0x3daed51eU, 0x362d3927U, + 0x0a0fd964U, 0x685ca621U, 0x9b5b54d1U, 0x24362e3aU, + 0x0c0a67b1U, 0x9357e70fU, 0xb4ee96d2U, 0x1b9b919eU, + 0x80c0c54fU, 0x61dc20a2U, 0x5a774b69U, 0x1c121a16U, + 0xe293ba0aU, 0xc0a02ae5U, 0x3c22e043U, 0x121b171dU, + 0x0e090d0bU, 0xf28bc7adU, 0x2db6a8b9U, 0x141ea9c8U, + 0x57f11985U, 0xaf75074cU, 0xee99ddbbU, 0xa37f60fdU, + 0xf701269fU, 0x5c72f5bcU, 0x44663bc5U, 0x5bfb7e34U, + 0x8b432976U, 0xcb23c6dcU, 0xb6edfc68U, 0xb8e4f163U, + 0xd731dccaU, 0x42638510U, 0x13972240U, 0x84c61120U, + 0x854a247dU, 0xd2bb3df8U, 0xaef93211U, 0xc729a16dU, + 0x1d9e2f4bU, 0xdcb230f3U, 0x0d8652ecU, 0x77c1e3d0U, + 0x2bb3166cU, 0xa970b999U, 0x119448faU, 0x47e96422U, + 0xa8fc8cc4U, 0xa0f03f1aU, 0x567d2cd8U, 0x223390efU, + 0x87494ec7U, 0xd938d1c1U, 0x8ccaa2feU, 0x98d40b36U, + 0xa6f581cfU, 0xa57ade28U, 0xdab78e26U, 0x3fadbfa4U, + 0x2c3a9de4U, 0x5078920dU, 0x6a5fcc9bU, 0x547e4662U, + 0xf68d13c2U, 0x90d8b8e8U, 0x2e39f75eU, 0x82c3aff5U, + 0x9f5d80beU, 0x69d0937cU, 0x6fd52da9U, 0xcf2512b3U, + 0xc8ac993bU, 0x10187da7U, 0xe89c636eU, 0xdb3bbb7bU, + 0xcd267809U, 0x6e5918f4U, 0xec9ab701U, 0x834f9aa8U, + 0xe6956e65U, 0xaaffe67eU, 0x21bccf08U, 0xef15e8e6U, + 0xbae79bd9U, 0x4a6f36ceU, 0xea9f09d4U, 0x29b07cd6U, + 0x31a4b2afU, 0x2a3f2331U, 0xc6a59430U, 0x35a266c0U, + 0x744ebc37U, 0xfc82caa6U, 0xe090d0b0U, 0x33a7d815U, + 0xf104984aU, 0x41ecdaf7U, 0x7fcd500eU, 0x1791f62fU, + 0x764dd68dU, 0x43efb04dU, 0xccaa4d54U, 0xe49604dfU, + 0x9ed1b5e3U, 0x4c6a881bU, 0xc12c1fb8U, 0x4665517fU, + 0x9d5eea04U, 0x018c355dU, 0xfa877473U, 0xfb0b412eU, + 0xb3671d5aU, 0x92dbd252U, 0xe9105633U, 0x6dd64713U, + 0x9ad7618cU, 0x37a10c7aU, 0x59f8148eU, 0xeb133c89U, + 0xcea927eeU, 0xb761c935U, 0xe11ce5edU, 0x7a47b13cU, + 0x9cd2df59U, 0x55f2733fU, 0x1814ce79U, 0x73c737bfU, + 0x53f7cdeaU, 0x5ffdaa5bU, 0xdf3d6f14U, 0x7844db86U, + 0xcaaff381U, 0xb968c43eU, 0x3824342cU, 0xc2a3405fU, + 0x161dc372U, 0xbce2250cU, 0x283c498bU, 0xff0d9541U, + 0x39a80171U, 0x080cb3deU, 0xd8b4e49cU, 0x6456c190U, + 0x7bcb8461U, 0xd532b670U, 0x486c5c74U, 0xd0b85742U, +}; +static const u32 Td1[256] = { + 0x5051f4a7U, 0x537e4165U, 0xc31a17a4U, 0x963a275eU, + 0xcb3bab6bU, 0xf11f9d45U, 0xabacfa58U, 0x934be303U, + 0x552030faU, 0xf6ad766dU, 0x9188cc76U, 0x25f5024cU, + 0xfc4fe5d7U, 0xd7c52acbU, 0x80263544U, 0x8fb562a3U, + 0x49deb15aU, 0x6725ba1bU, 0x9845ea0eU, 0xe15dfec0U, + 0x02c32f75U, 0x12814cf0U, 0xa38d4697U, 0xc66bd3f9U, + 0xe7038f5fU, 0x9515929cU, 0xebbf6d7aU, 0xda955259U, + 0x2dd4be83U, 0xd3587421U, 0x2949e069U, 0x448ec9c8U, + 0x6a75c289U, 0x78f48e79U, 0x6b99583eU, 0xdd27b971U, + 0xb6bee14fU, 0x17f088adU, 0x66c920acU, 0xb47dce3aU, + 0x1863df4aU, 0x82e51a31U, 0x60975133U, 0x4562537fU, + 0xe0b16477U, 0x84bb6baeU, 0x1cfe81a0U, 0x94f9082bU, + 0x58704868U, 0x198f45fdU, 0x8794de6cU, 0xb7527bf8U, + 0x23ab73d3U, 0xe2724b02U, 0x57e31f8fU, 0x2a6655abU, + 0x07b2eb28U, 0x032fb5c2U, 0x9a86c57bU, 0xa5d33708U, + 0xf2302887U, 0xb223bfa5U, 0xba02036aU, 0x5ced1682U, + 0x2b8acf1cU, 0x92a779b4U, 0xf0f307f2U, 0xa14e69e2U, + 0xcd65daf4U, 0xd50605beU, 0x1fd13462U, 0x8ac4a6feU, + 0x9d342e53U, 0xa0a2f355U, 0x32058ae1U, 0x75a4f6ebU, + 0x390b83ecU, 0xaa4060efU, 0x065e719fU, 0x51bd6e10U, + 0xf93e218aU, 0x3d96dd06U, 0xaedd3e05U, 0x464de6bdU, + 0xb591548dU, 0x0571c45dU, 0x6f0406d4U, 0xff605015U, + 0x241998fbU, 0x97d6bde9U, 0xcc894043U, 0x7767d99eU, + 0xbdb0e842U, 0x8807898bU, 0x38e7195bU, 0xdb79c8eeU, + 0x47a17c0aU, 0xe97c420fU, 0xc9f8841eU, 0x00000000U, + 0x83098086U, 0x48322bedU, 0xac1e1170U, 0x4e6c5a72U, + 0xfbfd0effU, 0x560f8538U, 0x1e3daed5U, 0x27362d39U, + 0x640a0fd9U, 0x21685ca6U, 0xd19b5b54U, 0x3a24362eU, + 0xb10c0a67U, 0x0f9357e7U, 0xd2b4ee96U, 0x9e1b9b91U, + 0x4f80c0c5U, 0xa261dc20U, 0x695a774bU, 0x161c121aU, + 0x0ae293baU, 0xe5c0a02aU, 0x433c22e0U, 0x1d121b17U, + 0x0b0e090dU, 0xadf28bc7U, 0xb92db6a8U, 0xc8141ea9U, + 0x8557f119U, 0x4caf7507U, 0xbbee99ddU, 0xfda37f60U, + 0x9ff70126U, 0xbc5c72f5U, 0xc544663bU, 0x345bfb7eU, + 0x768b4329U, 0xdccb23c6U, 0x68b6edfcU, 0x63b8e4f1U, + 0xcad731dcU, 0x10426385U, 0x40139722U, 0x2084c611U, + 0x7d854a24U, 0xf8d2bb3dU, 0x11aef932U, 0x6dc729a1U, + 0x4b1d9e2fU, 0xf3dcb230U, 0xec0d8652U, 0xd077c1e3U, + 0x6c2bb316U, 0x99a970b9U, 0xfa119448U, 0x2247e964U, + 0xc4a8fc8cU, 0x1aa0f03fU, 0xd8567d2cU, 0xef223390U, + 0xc787494eU, 0xc1d938d1U, 0xfe8ccaa2U, 0x3698d40bU, + 0xcfa6f581U, 0x28a57adeU, 0x26dab78eU, 0xa43fadbfU, + 0xe42c3a9dU, 0x0d507892U, 0x9b6a5fccU, 0x62547e46U, + 0xc2f68d13U, 0xe890d8b8U, 0x5e2e39f7U, 0xf582c3afU, + 0xbe9f5d80U, 0x7c69d093U, 0xa96fd52dU, 0xb3cf2512U, + 0x3bc8ac99U, 0xa710187dU, 0x6ee89c63U, 0x7bdb3bbbU, + 0x09cd2678U, 0xf46e5918U, 0x01ec9ab7U, 0xa8834f9aU, + 0x65e6956eU, 0x7eaaffe6U, 0x0821bccfU, 0xe6ef15e8U, + 0xd9bae79bU, 0xce4a6f36U, 0xd4ea9f09U, 0xd629b07cU, + 0xaf31a4b2U, 0x312a3f23U, 0x30c6a594U, 0xc035a266U, + 0x37744ebcU, 0xa6fc82caU, 0xb0e090d0U, 0x1533a7d8U, + 0x4af10498U, 0xf741ecdaU, 0x0e7fcd50U, 0x2f1791f6U, + 0x8d764dd6U, 0x4d43efb0U, 0x54ccaa4dU, 0xdfe49604U, + 0xe39ed1b5U, 0x1b4c6a88U, 0xb8c12c1fU, 0x7f466551U, + 0x049d5eeaU, 0x5d018c35U, 0x73fa8774U, 0x2efb0b41U, + 0x5ab3671dU, 0x5292dbd2U, 0x33e91056U, 0x136dd647U, + 0x8c9ad761U, 0x7a37a10cU, 0x8e59f814U, 0x89eb133cU, + 0xeecea927U, 0x35b761c9U, 0xede11ce5U, 0x3c7a47b1U, + 0x599cd2dfU, 0x3f55f273U, 0x791814ceU, 0xbf73c737U, + 0xea53f7cdU, 0x5b5ffdaaU, 0x14df3d6fU, 0x867844dbU, + 0x81caaff3U, 0x3eb968c4U, 0x2c382434U, 0x5fc2a340U, + 0x72161dc3U, 0x0cbce225U, 0x8b283c49U, 0x41ff0d95U, + 0x7139a801U, 0xde080cb3U, 0x9cd8b4e4U, 0x906456c1U, + 0x617bcb84U, 0x70d532b6U, 0x74486c5cU, 0x42d0b857U, +}; +static const u32 Td2[256] = { + 0xa75051f4U, 0x65537e41U, 0xa4c31a17U, 0x5e963a27U, + 0x6bcb3babU, 0x45f11f9dU, 0x58abacfaU, 0x03934be3U, + 0xfa552030U, 0x6df6ad76U, 0x769188ccU, 0x4c25f502U, + 0xd7fc4fe5U, 0xcbd7c52aU, 0x44802635U, 0xa38fb562U, + 0x5a49deb1U, 0x1b6725baU, 0x0e9845eaU, 0xc0e15dfeU, + 0x7502c32fU, 0xf012814cU, 0x97a38d46U, 0xf9c66bd3U, + 0x5fe7038fU, 0x9c951592U, 0x7aebbf6dU, 0x59da9552U, + 0x832dd4beU, 0x21d35874U, 0x692949e0U, 0xc8448ec9U, + 0x896a75c2U, 0x7978f48eU, 0x3e6b9958U, 0x71dd27b9U, + 0x4fb6bee1U, 0xad17f088U, 0xac66c920U, 0x3ab47dceU, + 0x4a1863dfU, 0x3182e51aU, 0x33609751U, 0x7f456253U, + 0x77e0b164U, 0xae84bb6bU, 0xa01cfe81U, 0x2b94f908U, + 0x68587048U, 0xfd198f45U, 0x6c8794deU, 0xf8b7527bU, + 0xd323ab73U, 0x02e2724bU, 0x8f57e31fU, 0xab2a6655U, + 0x2807b2ebU, 0xc2032fb5U, 0x7b9a86c5U, 0x08a5d337U, + 0x87f23028U, 0xa5b223bfU, 0x6aba0203U, 0x825ced16U, + 0x1c2b8acfU, 0xb492a779U, 0xf2f0f307U, 0xe2a14e69U, + 0xf4cd65daU, 0xbed50605U, 0x621fd134U, 0xfe8ac4a6U, + 0x539d342eU, 0x55a0a2f3U, 0xe132058aU, 0xeb75a4f6U, + 0xec390b83U, 0xefaa4060U, 0x9f065e71U, 0x1051bd6eU, -int rijndaelKeyEncToDec(word8 W[MAXROUNDS+1][4][4], int ROUNDS) { - int r; - word8 *w; + 0x8af93e21U, 0x063d96ddU, 0x05aedd3eU, 0xbd464de6U, + 0x8db59154U, 0x5d0571c4U, 0xd46f0406U, 0x15ff6050U, + 0xfb241998U, 0xe997d6bdU, 0x43cc8940U, 0x9e7767d9U, + 0x42bdb0e8U, 0x8b880789U, 0x5b38e719U, 0xeedb79c8U, + 0x0a47a17cU, 0x0fe97c42U, 0x1ec9f884U, 0x00000000U, + 0x86830980U, 0xed48322bU, 0x70ac1e11U, 0x724e6c5aU, + 0xfffbfd0eU, 0x38560f85U, 0xd51e3daeU, 0x3927362dU, + 0xd9640a0fU, 0xa621685cU, 0x54d19b5bU, 0x2e3a2436U, + 0x67b10c0aU, 0xe70f9357U, 0x96d2b4eeU, 0x919e1b9bU, + 0xc54f80c0U, 0x20a261dcU, 0x4b695a77U, 0x1a161c12U, + 0xba0ae293U, 0x2ae5c0a0U, 0xe0433c22U, 0x171d121bU, + 0x0d0b0e09U, 0xc7adf28bU, 0xa8b92db6U, 0xa9c8141eU, + 0x198557f1U, 0x074caf75U, 0xddbbee99U, 0x60fda37fU, + 0x269ff701U, 0xf5bc5c72U, 0x3bc54466U, 0x7e345bfbU, + 0x29768b43U, 0xc6dccb23U, 0xfc68b6edU, 0xf163b8e4U, + 0xdccad731U, 0x85104263U, 0x22401397U, 0x112084c6U, + 0x247d854aU, 0x3df8d2bbU, 0x3211aef9U, 0xa16dc729U, + 0x2f4b1d9eU, 0x30f3dcb2U, 0x52ec0d86U, 0xe3d077c1U, + 0x166c2bb3U, 0xb999a970U, 0x48fa1194U, 0x642247e9U, + 0x8cc4a8fcU, 0x3f1aa0f0U, 0x2cd8567dU, 0x90ef2233U, + 0x4ec78749U, 0xd1c1d938U, 0xa2fe8ccaU, 0x0b3698d4U, + 0x81cfa6f5U, 0xde28a57aU, 0x8e26dab7U, 0xbfa43fadU, + 0x9de42c3aU, 0x920d5078U, 0xcc9b6a5fU, 0x4662547eU, + 0x13c2f68dU, 0xb8e890d8U, 0xf75e2e39U, 0xaff582c3U, + 0x80be9f5dU, 0x937c69d0U, 0x2da96fd5U, 0x12b3cf25U, + 0x993bc8acU, 0x7da71018U, 0x636ee89cU, 0xbb7bdb3bU, + 0x7809cd26U, 0x18f46e59U, 0xb701ec9aU, 0x9aa8834fU, + 0x6e65e695U, 0xe67eaaffU, 0xcf0821bcU, 0xe8e6ef15U, + 0x9bd9bae7U, 0x36ce4a6fU, 0x09d4ea9fU, 0x7cd629b0U, + 0xb2af31a4U, 0x23312a3fU, 0x9430c6a5U, 0x66c035a2U, + 0xbc37744eU, 0xcaa6fc82U, 0xd0b0e090U, 0xd81533a7U, + 0x984af104U, 0xdaf741ecU, 0x500e7fcdU, 0xf62f1791U, + 0xd68d764dU, 0xb04d43efU, 0x4d54ccaaU, 0x04dfe496U, + 0xb5e39ed1U, 0x881b4c6aU, 0x1fb8c12cU, 0x517f4665U, + 0xea049d5eU, 0x355d018cU, 0x7473fa87U, 0x412efb0bU, + 0x1d5ab367U, 0xd25292dbU, 0x5633e910U, 0x47136dd6U, + 0x618c9ad7U, 0x0c7a37a1U, 0x148e59f8U, 0x3c89eb13U, + 0x27eecea9U, 0xc935b761U, 0xe5ede11cU, 0xb13c7a47U, + 0xdf599cd2U, 0x733f55f2U, 0xce791814U, 0x37bf73c7U, + 0xcdea53f7U, 0xaa5b5ffdU, 0x6f14df3dU, 0xdb867844U, + 0xf381caafU, 0xc43eb968U, 0x342c3824U, 0x405fc2a3U, + 0xc372161dU, 0x250cbce2U, 0x498b283cU, 0x9541ff0dU, + 0x017139a8U, 0xb3de080cU, 0xe49cd8b4U, 0xc1906456U, + 0x84617bcbU, 0xb670d532U, 0x5c74486cU, 0x5742d0b8U, +}; +static const u32 Td3[256] = { + 0xf4a75051U, 0x4165537eU, 0x17a4c31aU, 0x275e963aU, + 0xab6bcb3bU, 0x9d45f11fU, 0xfa58abacU, 0xe303934bU, + 0x30fa5520U, 0x766df6adU, 0xcc769188U, 0x024c25f5U, + 0xe5d7fc4fU, 0x2acbd7c5U, 0x35448026U, 0x62a38fb5U, + 0xb15a49deU, 0xba1b6725U, 0xea0e9845U, 0xfec0e15dU, + 0x2f7502c3U, 0x4cf01281U, 0x4697a38dU, 0xd3f9c66bU, + 0x8f5fe703U, 0x929c9515U, 0x6d7aebbfU, 0x5259da95U, + 0xbe832dd4U, 0x7421d358U, 0xe0692949U, 0xc9c8448eU, + 0xc2896a75U, 0x8e7978f4U, 0x583e6b99U, 0xb971dd27U, + 0xe14fb6beU, 0x88ad17f0U, 0x20ac66c9U, 0xce3ab47dU, + 0xdf4a1863U, 0x1a3182e5U, 0x51336097U, 0x537f4562U, + 0x6477e0b1U, 0x6bae84bbU, 0x81a01cfeU, 0x082b94f9U, + 0x48685870U, 0x45fd198fU, 0xde6c8794U, 0x7bf8b752U, + 0x73d323abU, 0x4b02e272U, 0x1f8f57e3U, 0x55ab2a66U, + 0xeb2807b2U, 0xb5c2032fU, 0xc57b9a86U, 0x3708a5d3U, + 0x2887f230U, 0xbfa5b223U, 0x036aba02U, 0x16825cedU, + 0xcf1c2b8aU, 0x79b492a7U, 0x07f2f0f3U, 0x69e2a14eU, + 0xdaf4cd65U, 0x05bed506U, 0x34621fd1U, 0xa6fe8ac4U, + 0x2e539d34U, 0xf355a0a2U, 0x8ae13205U, 0xf6eb75a4U, + 0x83ec390bU, 0x60efaa40U, 0x719f065eU, 0x6e1051bdU, + 0x218af93eU, 0xdd063d96U, 0x3e05aeddU, 0xe6bd464dU, + 0x548db591U, 0xc45d0571U, 0x06d46f04U, 0x5015ff60U, + 0x98fb2419U, 0xbde997d6U, 0x4043cc89U, 0xd99e7767U, + 0xe842bdb0U, 0x898b8807U, 0x195b38e7U, 0xc8eedb79U, + 0x7c0a47a1U, 0x420fe97cU, 0x841ec9f8U, 0x00000000U, + 0x80868309U, 0x2bed4832U, 0x1170ac1eU, 0x5a724e6cU, + 0x0efffbfdU, 0x8538560fU, 0xaed51e3dU, 0x2d392736U, + 0x0fd9640aU, 0x5ca62168U, 0x5b54d19bU, 0x362e3a24U, + 0x0a67b10cU, 0x57e70f93U, 0xee96d2b4U, 0x9b919e1bU, + 0xc0c54f80U, 0xdc20a261U, 0x774b695aU, 0x121a161cU, + 0x93ba0ae2U, 0xa02ae5c0U, 0x22e0433cU, 0x1b171d12U, + 0x090d0b0eU, 0x8bc7adf2U, 0xb6a8b92dU, 0x1ea9c814U, + 0xf1198557U, 0x75074cafU, 0x99ddbbeeU, 0x7f60fda3U, + 0x01269ff7U, 0x72f5bc5cU, 0x663bc544U, 0xfb7e345bU, + 0x4329768bU, 0x23c6dccbU, 0xedfc68b6U, 0xe4f163b8U, + 0x31dccad7U, 0x63851042U, 0x97224013U, 0xc6112084U, + 0x4a247d85U, 0xbb3df8d2U, 0xf93211aeU, 0x29a16dc7U, + 0x9e2f4b1dU, 0xb230f3dcU, 0x8652ec0dU, 0xc1e3d077U, + 0xb3166c2bU, 0x70b999a9U, 0x9448fa11U, 0xe9642247U, + 0xfc8cc4a8U, 0xf03f1aa0U, 0x7d2cd856U, 0x3390ef22U, + 0x494ec787U, 0x38d1c1d9U, 0xcaa2fe8cU, 0xd40b3698U, + 0xf581cfa6U, 0x7ade28a5U, 0xb78e26daU, 0xadbfa43fU, + 0x3a9de42cU, 0x78920d50U, 0x5fcc9b6aU, 0x7e466254U, + 0x8d13c2f6U, 0xd8b8e890U, 0x39f75e2eU, 0xc3aff582U, + 0x5d80be9fU, 0xd0937c69U, 0xd52da96fU, 0x2512b3cfU, + 0xac993bc8U, 0x187da710U, 0x9c636ee8U, 0x3bbb7bdbU, + 0x267809cdU, 0x5918f46eU, 0x9ab701ecU, 0x4f9aa883U, + 0x956e65e6U, 0xffe67eaaU, 0xbccf0821U, 0x15e8e6efU, + 0xe79bd9baU, 0x6f36ce4aU, 0x9f09d4eaU, 0xb07cd629U, + 0xa4b2af31U, 0x3f23312aU, 0xa59430c6U, 0xa266c035U, + 0x4ebc3774U, 0x82caa6fcU, 0x90d0b0e0U, 0xa7d81533U, + 0x04984af1U, 0xecdaf741U, 0xcd500e7fU, 0x91f62f17U, + 0x4dd68d76U, 0xefb04d43U, 0xaa4d54ccU, 0x9604dfe4U, + 0xd1b5e39eU, 0x6a881b4cU, 0x2c1fb8c1U, 0x65517f46U, + 0x5eea049dU, 0x8c355d01U, 0x877473faU, 0x0b412efbU, + 0x671d5ab3U, 0xdbd25292U, 0x105633e9U, 0xd647136dU, + 0xd7618c9aU, 0xa10c7a37U, 0xf8148e59U, 0x133c89ebU, + 0xa927eeceU, 0x61c935b7U, 0x1ce5ede1U, 0x47b13c7aU, + 0xd2df599cU, 0xf2733f55U, 0x14ce7918U, 0xc737bf73U, + 0xf7cdea53U, 0xfdaa5b5fU, 0x3d6f14dfU, 0x44db8678U, + 0xaff381caU, 0x68c43eb9U, 0x24342c38U, 0xa3405fc2U, + 0x1dc37216U, 0xe2250cbcU, 0x3c498b28U, 0x0d9541ffU, + 0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U, + 0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U, +}; +static const u32 Td4[256] = { + 0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U, + 0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U, + 0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU, + 0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU, + 0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U, + 0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U, + 0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U, + 0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU, + 0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U, + 0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU, + 0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU, + 0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU, + 0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U, + 0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U, + 0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U, + 0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U, + 0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U, + 0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U, + 0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU, + 0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U, + 0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U, + 0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU, + 0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U, + 0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U, + 0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U, + 0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU, + 0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U, + 0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U, + 0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU, + 0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U, + 0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U, + 0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU, + 0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U, + 0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU, + 0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU, + 0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U, + 0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U, + 0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U, + 0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U, + 0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU, + 0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U, + 0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U, + 0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU, + 0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU, + 0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU, + 0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U, + 0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Oct 14 11:43:07 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FE5E16A4C0; Tue, 14 Oct 2003 11:43: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 EF06416A4B3 for ; Tue, 14 Oct 2003 11:43:06 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B24E043FAF for ; Tue, 14 Oct 2003 11:43:05 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9EIh5XJ077694 for ; Tue, 14 Oct 2003 11:43:05 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9EIh5kY077691 for perforce@freebsd.org; Tue, 14 Oct 2003 11:43:05 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Tue, 14 Oct 2003 11:43:05 -0700 (PDT) Message-Id: <200310141843.h9EIh5kY077691@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 39706 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, 14 Oct 2003 18:43:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=39706 Change 39706 by sam@sam_ebb on 2003/10/14 11:42:58 resolve difference against HEAD Affected files ... .. //depot/projects/netperf/sys/netinet/if_atm.c#7 edit Differences ... ==== //depot/projects/netperf/sys/netinet/if_atm.c#7 (text+ko) ==== @@ -321,7 +321,6 @@ if (rt == NULL) goto bad; /* failed */ rt->rt_refcnt--; /* don't keep LL references */ - RT_UNLOCK(rt); if ((rt->rt_flags & RTF_GATEWAY) != 0 || (rt->rt_flags & RTF_LLINFO) == 0 || /* XXX: are we using LLINFO? */ From owner-p4-projects@FreeBSD.ORG Tue Oct 14 11:45:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 808A816A4C0; Tue, 14 Oct 2003 11:45:09 -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 59EF216A4B3 for ; Tue, 14 Oct 2003 11:45:09 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D243143FBF for ; Tue, 14 Oct 2003 11:45:08 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9EIj8XJ077824 for ; Tue, 14 Oct 2003 11:45:08 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9EIj8dP077820 for perforce@freebsd.org; Tue, 14 Oct 2003 11:45:08 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Tue, 14 Oct 2003 11:45:08 -0700 (PDT) Message-Id: <200310141845.h9EIj8dP077820@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 39707 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, 14 Oct 2003 18:45:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=39707 Change 39707 by sam@sam_ebb on 2003/10/14 11:44:18 revert change to remove locking defines from user namespace; no need for this gratuitous difference right now Affected files ... .. //depot/projects/netperf/sys/netinet/in_pcb.h#6 edit Differences ... ==== //depot/projects/netperf/sys/netinet/in_pcb.h#6 (text+ko) ==== @@ -248,6 +248,19 @@ struct mtx ipi_mtx; }; +#define INP_LOCK_INIT(inp, d) \ + mtx_init(&(inp)->inp_mtx, (d), NULL, MTX_DEF | MTX_RECURSE | MTX_DUPOK) +#define INP_LOCK_DESTROY(inp) mtx_destroy(&(inp)->inp_mtx) +#define INP_LOCK(inp) mtx_lock(&(inp)->inp_mtx) +#define INP_UNLOCK(inp) mtx_unlock(&(inp)->inp_mtx) + +#define INP_INFO_LOCK_INIT(ipi, d) \ + mtx_init(&(ipi)->ipi_mtx, (d), NULL, MTX_DEF | MTX_RECURSE) +#define INP_INFO_RLOCK(ipi) mtx_lock(&(ipi)->ipi_mtx) +#define INP_INFO_WLOCK(ipi) mtx_lock(&(ipi)->ipi_mtx) +#define INP_INFO_RUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_mtx) +#define INP_INFO_WUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_mtx) + #define INP_PCBHASH(faddr, lport, fport, mask) \ (((faddr) ^ ((faddr) >> 16) ^ ntohs((lport) ^ (fport))) & (mask)) #define INP_PCBPORTHASH(lport, mask) \ @@ -306,19 +319,6 @@ #define INP_CHECK_SOCKAF(so, af) (INP_SOCKAF(so) == af) #ifdef _KERNEL -#define INP_LOCK_INIT(inp, d) \ - mtx_init(&(inp)->inp_mtx, (d), NULL, MTX_DEF | MTX_RECURSE | MTX_DUPOK) -#define INP_LOCK_DESTROY(inp) mtx_destroy(&(inp)->inp_mtx) -#define INP_LOCK(inp) mtx_lock(&(inp)->inp_mtx) -#define INP_UNLOCK(inp) mtx_unlock(&(inp)->inp_mtx) - -#define INP_INFO_LOCK_INIT(ipi, d) \ - mtx_init(&(ipi)->ipi_mtx, (d), NULL, MTX_DEF | MTX_RECURSE) -#define INP_INFO_RLOCK(ipi) mtx_lock(&(ipi)->ipi_mtx) -#define INP_INFO_WLOCK(ipi) mtx_lock(&(ipi)->ipi_mtx) -#define INP_INFO_RUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_mtx) -#define INP_INFO_WUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_mtx) - extern int ipport_lowfirstauto; extern int ipport_lowlastauto; extern int ipport_firstauto; From owner-p4-projects@FreeBSD.ORG Wed Oct 15 05:33:03 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F20916A4C0; Wed, 15 Oct 2003 05:33:03 -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 0250316A4B3 for ; Wed, 15 Oct 2003 05:33:03 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6A7B143F75 for ; Wed, 15 Oct 2003 05:33:02 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9FCX2XJ066316 for ; Wed, 15 Oct 2003 05:33:02 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9FCX12R066313 for perforce@freebsd.org; Wed, 15 Oct 2003 05:33:01 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Wed, 15 Oct 2003 05:33:01 -0700 (PDT) Message-Id: <200310151233.h9FCX12R066313@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 39741 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, 15 Oct 2003 12:33:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=39741 Change 39741 by areisse@areisse_tislabs on 2003/10/15 05:32:25 fixes for cron. changes in cvs to allow different originating types. possible compilation fixes Affected files ... .. //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/crond.te#3 edit .. //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/unused/cvs.te#2 edit .. //depot/projects/trustedbsd/sebsd_policy/policy/file_contexts/program/crond.fc#3 edit .. //depot/projects/trustedbsd/sebsd_policy/policy/macros/global_macros.te#8 edit .. //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/crond_macros.te#2 edit .. //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/cvs_macros.te#2 edit Differences ... ==== //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/crond.te#3 (text+ko) ==== @@ -61,6 +61,7 @@ allow crond_t bin_t:lnk_file read; # Read from /var/spool/cron. +allow crond_t var_t:dir search; allow crond_t var_lib_t:dir search; allow crond_t var_spool_t:dir r_dir_perms; allow crond_t cron_spool_t:dir r_dir_perms; ==== //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/unused/cvs.te#2 (text+ko) ==== @@ -1,6 +1,7 @@ type cvs_exec_t, exec_type, file_type, sysadmfile; -cvs_program_domain(user) +cvs_program_domain(user,user) #domain_auto_trans(user_t,cvs_exec_t,user_cvs_rw_t) role user_r types user_cvs_rw_t; +role user_r types user_cvs_ro_t; ==== //depot/projects/trustedbsd/sebsd_policy/policy/file_contexts/program/crond.fc#3 (text+ko) ==== @@ -21,5 +21,6 @@ /var/run/fcron\.pid system_u:object_r:crond_var_run_t # FreeBSD /var/cron system_u:object_r:cron_spool_t +/var/cron/tabs system_u:object_r:cron_spool_t /var/cron/tabs/.* system_u:object_r:user_cron_spool_t /var/cron/tabs/root system_u:object_r:sysadm_cron_spool_t ==== //depot/projects/trustedbsd/sebsd_policy/policy/macros/global_macros.te#8 (text+ko) ==== @@ -626,10 +626,6 @@ # allow searching /dev/pts allow $1_t devpts_t:dir { getattr read search }; - -# For systems without /dev/ptmx -#allow $1_t devpts_t:chr_file { poll getattr setattr read write }; -#type_change $1_t devpts_t:chr_file $1_devpts_t; ') ################################## @@ -638,7 +634,7 @@ # # Permissions for creating ptys. # -define(`can_create_pty',` +define(`can_create_pty', ` base_pty_perms($1) type $1_devpts_t, file_type, sysadmfile, ptyfile $2; @@ -653,7 +649,7 @@ # Read and write my pty files. allow $1_t $1_devpts_t:chr_file { poll setattr rw_file_perms }; -') +) ################################## ==== //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/crond_macros.te#2 (text+ko) ==== @@ -52,6 +52,7 @@ allow $1_crond_t self:process { fork signal_perms }; allow $1_crond_t proc_t:dir { getattr search read }; allow $1_crond_t proc_t:file { getattr read }; +allow $1_crond_t self:fd { create use }; read_locale($1_crond_t) allow $1_crond_t sysctl_kernel_t:dir search; allow $1_crond_t sysctl_kernel_t:file { getattr read }; ==== //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/cvs_macros.te#2 (text+ko) ==== @@ -45,11 +45,11 @@ # read/write user home directory allow { $1_cvs_rw_t $1_cvs_ro_t } home_root_t:dir search; -allow { $1_cvs_rw_t $1_cvs_ro_t } { $1_home_dir_t $1_home_t }:dir create_dir_perms; -allow { $1_cvs_rw_t $1_cvs_ro_t } $1_home_t:file create_file_perms; +allow { $1_cvs_rw_t $1_cvs_ro_t } { $2_home_dir_t $2_home_t }:dir create_dir_perms; +allow { $1_cvs_rw_t $1_cvs_ro_t } $2_home_t:file create_file_perms; # talk to the terminal -allow { $1_cvs_rw_t $1_cvs_ro_t } $1_devpts_t:chr_file { write read getattr poll }; -allow { $1_cvs_rw_t $1_cvs_ro_t } $1_tty_device_t:chr_file { write read getattr poll }; +allow { $1_cvs_rw_t $1_cvs_ro_t } $2_devpts_t:chr_file { write read getattr poll }; +allow { $1_cvs_rw_t $1_cvs_ro_t } $2_tty_device_t:chr_file { write read getattr poll }; ') From owner-p4-projects@FreeBSD.ORG Wed Oct 15 06:37:27 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BDED16A4C0; Wed, 15 Oct 2003 06:37: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 013AC16A4B3 for ; Wed, 15 Oct 2003 06:37:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A0E843F3F for ; Wed, 15 Oct 2003 06:37:26 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9FDbQXJ070276 for ; Wed, 15 Oct 2003 06:37:26 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9FDbNde070273 for perforce@freebsd.org; Wed, 15 Oct 2003 06:37:23 -0700 (PDT) (envelope-from cvance@nailabs.com) Date: Wed, 15 Oct 2003 06:37:23 -0700 (PDT) Message-Id: <200310151337.h9FDbNde070273@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 39744 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, 15 Oct 2003 13:37:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=39744 Change 39744 by cvance@cvance_osx_laptop on 2003/10/15 06:36:36 Fix module registration errors with the sebsd module. Credit goes to areisse for being the first one to trip on these... Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_mac.c#19 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_mac.c#19 (text+ko) ==== @@ -370,11 +370,11 @@ * request. Note that it returns its value via 'error' in the scope * of the caller. */ -#define MAC_CHECK(check, args...) do { \ +#define nMAC_CHECK(check, args...) do { \ error = 0; \ } while (0) -#define oMAC_CHECK(check, args...) do { \ +#define MAC_CHECK(check, args...) do { \ struct mac_policy_conf *mpc; \ int entrycount; \ \ @@ -514,14 +514,6 @@ } while (0) -static void -mac_register_module(struct mac_policy_conf *mpconf) -{ - - printf("MAC Framework registering policy: %s\n", mpconf->mpc_name); -} - - /* * Initialize the MAC subsystem, including appropriate SMP locks. */ @@ -582,7 +574,7 @@ printf("MAC: init mac_test\n"); mac_policy_register(&test_mac_policy_conf); printf("MAC: init sebsd\n"); - mac_register_module(&sebsd_mac_policy_conf); + mac_policy_register(&sebsd_mac_policy_conf); mac_late = 1; } ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#4 (text+ko) ==== @@ -2292,6 +2292,6 @@ "NSA/NAI Labs Security Enhanced BSD", /* full name */ &sebsd_ops, /* policy operations */ 0, /* loadtime flags*/ - 1, /* security field */ + &slot, /* security field */ 0 /* runtime flags */ }; From owner-p4-projects@FreeBSD.ORG Wed Oct 15 07:10:07 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 51E9116A4C0; Wed, 15 Oct 2003 07:10: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 1135D16A4B3 for ; Wed, 15 Oct 2003 07:10:07 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7D7D143FB1 for ; Wed, 15 Oct 2003 07:10:06 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9FEA6XJ072840 for ; Wed, 15 Oct 2003 07:10:06 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9FEA5E5072837 for perforce@freebsd.org; Wed, 15 Oct 2003 07:10:05 -0700 (PDT) (envelope-from cvance@nailabs.com) Date: Wed, 15 Oct 2003 07:10:05 -0700 (PDT) Message-Id: <200310151410.h9FEA5E5072837@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 39745 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, 15 Oct 2003 14:10:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=39745 Change 39745 by cvance@cvance_osx_laptop on 2003/10/15 07:09:54 Register two sebsd sysctls, so we can at least tell that the module has loaded correctly Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#5 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.h#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_sysctl.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#5 (text+ko) ==== @@ -92,6 +92,7 @@ sebsd_init(struct mac_policy_conf *mpc) { printf("sebsd:: init\n"); + sebsd_register_sysctls(); #if 0 avc_init(); if (security_init()) { ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.h#2 (text+ko) ==== @@ -45,19 +45,22 @@ extern int avc_debug_always_allow; -#ifdef _KERNEL +#if defined(_KERNEL) || defined (KERNEL) -#ifndef _M_SEBSD_DEF +#if !defined(_M_SEBSD_DEF) && !defined(APPLE) MALLOC_DECLARE(M_SEBSD); #define _M_SEBSD_DEF #endif extern int sebsd_verbose; +extern void sebsd_register_sysctls(void); extern int security_init(void); +#if 0 extern int sebsd_syscall(struct thread *td, int call, void *args); extern int thread_has_system(struct thread *td, access_vector_t perm); extern int thread_has_security(struct thread *td, access_vector_t perm); +#endif #endif /* _KERNEL */ #endif /* _SYS_SECURITY_SEBSD_H */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_sysctl.c#3 (text+ko) ==== @@ -34,7 +34,6 @@ * $FreeBSD$ */ -#if 0 #include #include #include @@ -51,6 +50,11 @@ #include #include +#ifdef APPLE +#define TUNABLE_INT(x, y) +#endif + +#if 0 /* * Sysctl handler for security.mac.sebsd.sids * Lists the SIDs currently active in the security server @@ -96,13 +100,18 @@ FREE(buffer, M_TEMP); return (error); } +#endif /* * Sysctl handler for security.mac.sebsd.enforcing * Get and/or set whether the avc is in enforcement mode. */ static int +#ifdef APPLE +sysctl_sebsd_enforcing SYSCTL_HANDLER_ARGS +#else sysctl_sebsd_enforcing(SYSCTL_HANDLER_ARGS) +#endif { int error, enforcing; @@ -112,6 +121,7 @@ if (error) return (error); +#if 0 if (req->newptr != NULL) { error = SYSCTL_IN(req, &enforcing, sizeof(enforcing)); if (error) @@ -123,10 +133,12 @@ selinux_enforcing = enforcing; } +#endif return (0); } +#if 0 /* * Sysctl handler for security.mac.sebsd.user_sids * Lists the SIDs currently available for transition to by a given @@ -299,6 +311,7 @@ sebsd_free(scontext, M_SEBSD); return (error); } +#endif SYSCTL_DECL(_security_mac); SYSCTL_NODE(_security_mac, OID_AUTO, sebsd, CTLFLAG_RW, 0, @@ -307,7 +320,7 @@ SYSCTL_INT(_security_mac_sebsd, OID_AUTO, verbose, CTLFLAG_RW, &sebsd_verbose, 0, " SEBSD Verbose Debug Stuff"); TUNABLE_INT("security.mac.sebsd.verbose", &sebsd_verbose); - +#if 0 SYSCTL_PROC(_security_mac_sebsd, OID_AUTO, sids, CTLTYPE_STRING|CTLFLAG_RD, NULL, 0, sysctl_list_sids, "A", "SEBSD SIDs"); SYSCTL_PROC(_security_mac_sebsd, OID_AUTO, user_sids, CTLTYPE_STRING | @@ -319,6 +332,15 @@ SYSCTL_PROC(_security_mac_sebsd, OID_AUTO, compute_av, CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_ANYBODY, NULL, 0, sysctl_compute_av, "A", "SEBSD access vector decision query"); +#endif SYSCTL_PROC(_security_mac_sebsd, OID_AUTO, enforcing, CTLTYPE_INT | CTLFLAG_RW, NULL, 0, sysctl_sebsd_enforcing, "I", "SEBSD avc enforcement"); -#endif /* 0 */ + +void +sebsd_register_sysctls() +{ + sysctl_register_oid(&sysctl__security_mac_sebsd); + sysctl_register_oid(&sysctl__security_mac_sebsd_verbose); + sysctl_register_oid(&sysctl__security_mac_sebsd_enforcing); +} + From owner-p4-projects@FreeBSD.ORG Wed Oct 15 09:58:38 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED7F516A4C0; Wed, 15 Oct 2003 09:58: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 AA68416A4B3 for ; Wed, 15 Oct 2003 09:58:37 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB82643F93 for ; Wed, 15 Oct 2003 09:58:35 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9FGwZXJ087119 for ; Wed, 15 Oct 2003 09:58:35 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9FGwZAj087116 for perforce@freebsd.org; Wed, 15 Oct 2003 09:58:35 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Wed, 15 Oct 2003 09:58:35 -0700 (PDT) Message-Id: <200310151658.h9FGwZAj087116@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 39751 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, 15 Oct 2003 16:58:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=39751 Change 39751 by sam@sam_ebb on 2003/10/15 09:58:00 IFC Affected files ... .. //depot/projects/netperf/sys/amd64/amd64/exception.S#4 integrate .. //depot/projects/netperf/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/netperf/sys/amd64/include/frame.h#2 integrate .. //depot/projects/netperf/sys/amd64/include/signal.h#3 integrate .. //depot/projects/netperf/sys/amd64/include/ucontext.h#4 integrate .. //depot/projects/netperf/sys/conf/files#13 integrate .. //depot/projects/netperf/sys/dev/ata/ata-queue.c#6 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath.c#21 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath_pci.c#5 integrate .. //depot/projects/netperf/sys/dev/ath/if_athvar.h#6 integrate .. //depot/projects/netperf/sys/dev/em/if_em.c#8 integrate .. //depot/projects/netperf/sys/dev/xe/if_xe.c#3 integrate .. //depot/projects/netperf/sys/dev/xe/if_xe_pccard.c#4 integrate .. //depot/projects/netperf/sys/dev/xe/if_xereg.h#2 integrate .. //depot/projects/netperf/sys/dev/xe/if_xevar.h#2 integrate .. //depot/projects/netperf/sys/i386/i386/locore.s#7 edit .. //depot/projects/netperf/sys/i386/i386/pmap.c#18 integrate .. //depot/projects/netperf/sys/kern/kern_poll.c#5 integrate .. //depot/projects/netperf/sys/kern/kern_proc.c#5 integrate .. //depot/projects/netperf/sys/kern/sched_ule.c#8 integrate .. //depot/projects/netperf/sys/netinet/in_rmx.c#7 integrate .. //depot/projects/netperf/sys/netinet/ip_input.c#11 integrate .. //depot/projects/netperf/sys/netinet/ip_var.h#7 integrate .. //depot/projects/netperf/sys/netinet6/nd6.c#10 integrate .. //depot/projects/netperf/sys/vm/vm_fault.c#7 integrate Differences ... ==== //depot/projects/netperf/sys/amd64/amd64/exception.S#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/amd64/amd64/exception.S,v 1.112 2003/09/22 22:54:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.113 2003/10/15 02:04:52 peter Exp $ */ #include @@ -228,7 +228,7 @@ movq %rsp,PCPU(SCRATCH_RSP) movq common_tss+COMMON_TSS_RSP0,%rsp /* Now emulate a trapframe. Make the 8 byte alignment odd for call. */ - subq $TF_SIZE+8,%rsp + subq $TF_SIZE,%rsp /* defer TF_RSP till we have a spare register */ movq %r11,TF_RFLAGS(%rsp) movq %rcx,TF_RIP(%rsp) /* %rcx original value is in %r10 */ ==== //depot/projects/netperf/sys/amd64/amd64/trap.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.265 2003/10/09 10:17:16 robert Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.266 2003/10/15 02:04:52 peter Exp $"); /* * AMD64 Trap and System call handling @@ -258,6 +258,9 @@ default: ucode = code + BUS_SEGM_FAULT ; i = SIGBUS; +printf("trap %d: pid %d err %p eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", type, p->p_pid, (void *)frame.tf_err, +(void *)frame.tf_addr, (void *)frame.tf_rip, (void *)frame.tf_rax, (void *)frame.tf_rbx, (void *)frame.tf_rcx, (void *)frame.tf_rdx, (void *)frame.tf_rsp, (void *)frame.tf_rbp, (void *)frame.tf_rsi, (void *)frame.tf_rdi); + break; case T_PAGEFLT: /* page fault */ @@ -542,6 +545,12 @@ return (-1); } +printf("trap_pfault: pid %d %s %s %s eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", p->p_pid, + frame->tf_err & PGEX_U ? "user" : "supervisor", + frame->tf_err & PGEX_W ? "write" : "read", + frame->tf_err & PGEX_P ? "protection violation" : "page not present", +(void *)eva, (void *)frame->tf_rip, (void *)frame->tf_rax, (void *)frame->tf_rbx, (void *)frame->tf_rcx, (void *)frame->tf_rdx, (void *)frame->tf_rsp, (void *)frame->tf_rbp, (void *)frame->tf_rsi, (void *)frame->tf_rdi); + return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } ==== //depot/projects/netperf/sys/amd64/include/frame.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/frame.h,v 1.24 2003/05/12 18:33:19 peter Exp $ + * $FreeBSD: src/sys/amd64/include/frame.h,v 1.25 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_FRAME_H_ @@ -69,6 +69,7 @@ register_t tf_r15; register_t tf_trapno; register_t tf_addr; + register_t tf_flags; /* below portion defined in hardware */ register_t tf_err; register_t tf_rip; @@ -98,6 +99,7 @@ register_t if_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t if_rip; @@ -127,6 +129,7 @@ register_t cf_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t cf_rip; ==== //depot/projects/netperf/sys/amd64/include/signal.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/signal.h,v 1.23 2003/09/08 18:31:48 peter Exp $ + * $FreeBSD: src/sys/amd64/include/signal.h,v 1.24 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_SIGNAL_H_ @@ -91,6 +91,7 @@ long sc_r15; long sc_trapno; long sc_addr; + long sc_flags; long sc_err; long sc_rip; long sc_cs; @@ -104,9 +105,8 @@ */ long sc_fpformat; long sc_ownedfp; - long sc_spare1[1]; long sc_fpstate[64] __aligned(16); - long sc_spare2[8]; + long sc_spare[8]; }; #endif /* __BSD_VISIBLE */ ==== //depot/projects/netperf/sys/amd64/include/ucontext.h#4 (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/amd64/include/ucontext.h,v 1.15 2003/10/01 01:08:04 peter Exp $ + * $FreeBSD: src/sys/amd64/include/ucontext.h,v 1.16 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_UCONTEXT_H_ @@ -55,6 +55,7 @@ __register_t mc_r15; __register_t mc_trapno; __register_t mc_addr; + __register_t mc_flags; __register_t mc_err; __register_t mc_rip; __register_t mc_cs; @@ -70,12 +71,11 @@ #define _MC_FPOWNED_FPU 0x20001 /* FP state came from FPU */ #define _MC_FPOWNED_PCB 0x20002 /* FP state came from PCB */ long mc_ownedfp; - long mc_spare1[1]; /* align mc_fpstate to 16 bytes */ /* * See for the internals of mc_fpstate[]. */ long mc_fpstate[64] __aligned(16); - long mc_spare2[8]; + long mc_spare[8]; } mcontext_t; #endif /* !_MACHINE_UCONTEXT_H_ */ ==== //depot/projects/netperf/sys/conf/files#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.833 2003/10/13 19:26:07 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.834 2003/10/15 08:53:04 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -949,6 +949,9 @@ geom/bde/g_bde_crypt.c optional geom_bde geom/bde/g_bde_lock.c optional geom_bde geom/bde/g_bde_work.c optional geom_bde +crypto/rijndael/rijndael-alg-fst.c optional geom_bde +crypto/rijndael/rijndael-api-fst.c optional geom_bde +crypto/sha2/sha2.c optional geom_bde geom/geom_aes.c optional geom_aes geom/geom_apple.c optional geom_apple geom/geom_bsd.c optional geom_bsd @@ -974,8 +977,6 @@ geom/geom_sunlabel.c optional geom_sunlabel geom/geom_sunlabel_enc.c optional geom_sunlabel geom/geom_vol_ffs.c optional geom_vol -crypto/rijndael/rijndael-alg-fst.c optional geom -crypto/rijndael/rijndael-api-fst.c optional geom gnu/ext2fs/ext2_alloc.c optional ext2fs \ warning "kernel contains GPL contaminated ext2fs filesystem" gnu/ext2fs/ext2_balloc.c optional ext2fs ==== //depot/projects/netperf/sys/dev/ata/ata-queue.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.8 2003/10/12 12:38:03 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.9 2003/10/14 16:53:13 sos Exp $"); #include "opt_ata.h" #include @@ -315,20 +315,21 @@ static void ata_timeout(struct ata_request *request) { + struct ata_channel *ch = request->device->channel; + int quiet = request->flags & ATA_R_QUIET; + /* clear timeout etc */ request->timeout_handle.callout = NULL; -#if 0 - /* call interrupt to try finish up the command */ - request->device->channel->hw.interrupt(request->device->channel); - if (request->device->channel->running == NULL) { - if (!(request->flags & ATA_R_QUIET)) + /* call hw.interrupt to try finish up the command */ + ch->hw.interrupt(request->device->channel); + if (ch->running != request) { + if (!quiet) ata_prtdev(request->device, "WARNING - %s recovered from missing interrupt\n", ata_cmd2str(request)); return; } -#endif /* if this was a DMA request stop the engine to be on the safe side */ if (request->flags & ATA_R_DMA) { ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#21 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.24 2003/10/13 04:57:31 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.25 2003/10/14 22:51:45 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. ==== //depot/projects/netperf/sys/dev/ath/if_ath_pci.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.3 2003/08/13 21:29:35 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.4 2003/10/14 22:51:45 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/netperf/sys/dev/ath/if_athvar.h#6 (text+ko) ==== @@ -33,7 +33,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.8 2003/09/15 22:34:46 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.9 2003/10/14 22:51:45 sam Exp $ */ /* ==== //depot/projects/netperf/sys/dev/em/if_em.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.31 2003/10/10 23:14:20 sam Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.32 2003/10/15 05:34:41 deischen Exp $*/ #include @@ -167,6 +167,7 @@ static void em_82547_update_fifo_head(struct adapter *, int); static int em_82547_tx_fifo_reset(struct adapter *); static void em_82547_move_tail(void *arg); +static void em_82547_move_tail_locked(struct adapter *); static int em_dma_malloc(struct adapter *, bus_size_t, struct em_dma_alloc *, int); static void em_dma_free(struct adapter *, struct em_dma_alloc *); @@ -1284,7 +1285,7 @@ */ if (adapter->hw.mac_type == em_82547 && adapter->link_duplex == HALF_DUPLEX) { - em_82547_move_tail(adapter); + em_82547_move_tail_locked(adapter); } else { E1000_WRITE_REG(&adapter->hw, TDT, i); if (adapter->hw.mac_type == em_82547) { @@ -1304,9 +1305,8 @@ * **********************************************************************/ static void -em_82547_move_tail(void *arg) +em_82547_move_tail_locked(struct adapter *adapter) { - struct adapter *adapter = arg; uint16_t hw_tdt; uint16_t sw_tdt; struct em_tx_desc *tx_desc; @@ -1340,6 +1340,16 @@ return; } +static void +em_82547_move_tail(void *arg) +{ + struct adapter *adapter = arg; + + EM_LOCK(adapter); + em_82547_move_tail_locked(adapter); + EM_UNLOCK(adapter); +} + static int em_82547_fifo_workaround(struct adapter *adapter, int len) { ==== //depot/projects/netperf/sys/dev/xe/if_xe.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1998, 1999 Scott Mitchell + * Copyright (c) 1998, 1999, 2003 Scott Mitchell * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,16 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/xe/if_xe.c,v 1.38 2003/08/24 17:55:58 obrien Exp $"); - -/* - * XXX TODO XXX - * - * I've pushed this fairly far, but there are some things that need to be - * done here. I'm documenting them here in case I get destracted. -- imp - * - * xe_cem56fix -- need to figure out how to map the extra stuff. - */ +__FBSDID("$FreeBSD: src/sys/dev/xe/if_xe.c,v 1.39 2003/10/14 22:51:35 rsm Exp $"); /* * Portions of this software were derived from Werner Koch's xirc2ps driver @@ -99,14 +90,8 @@ * the CEM56/REM56 support code; and the FreeBSD UK Users' Group for hosting * the web pages. * - * Contact points: - * + * Author email: * Driver web page: http://ukug.uk.freebsd.org/~scott/xe_drv/ - * - * Mailing list: http://www.lovett.com/lists/freebsd-xircom/ - * or send "subscribe freebsd-xircom" to - * - * Author email: */ @@ -159,6 +144,10 @@ #define XE_AUTONEG_100TX 3 /* Trying to force 100baseTX link */ #define XE_AUTONEG_FAIL 4 /* Autonegotiation failed */ +/* + * Multicast hashing CRC constants + */ +#define XE_CRC_POLY 0x04c11db6 /* * Prototypes start here @@ -170,16 +159,14 @@ static int xe_media_change (struct ifnet *ifp); static void xe_media_status (struct ifnet *ifp, struct ifmediareq *mrp); static timeout_t xe_setmedia; -static void xe_hard_reset (struct xe_softc *scp); -static void xe_soft_reset (struct xe_softc *scp); +static void xe_reset (struct xe_softc *scp); static void xe_stop (struct xe_softc *scp); static void xe_enable_intr (struct xe_softc *scp); static void xe_disable_intr (struct xe_softc *scp); -static void xe_setmulti (struct xe_softc *scp); -static void xe_setaddrs (struct xe_softc *scp); +static void xe_set_multicast (struct xe_softc *scp); +static void xe_set_addr (struct xe_softc *scp, u_int8_t* addr, unsigned idx); +static void xe_set_hash (struct xe_softc *scp, u_int8_t* addr); static int xe_pio_write_packet (struct xe_softc *scp, struct mbuf *mbp); -static u_int32_t xe_compute_crc (u_int8_t *data, int len) __unused; -static int xe_compute_hashbit (u_int32_t crc) __unused; /* * MII functions @@ -192,12 +179,16 @@ static u_int16_t xe_phy_readreg (struct xe_softc *scp, u_int16_t reg); static void xe_phy_writereg (struct xe_softc *scp, u_int16_t reg, u_int16_t data); + /* - * Debug functions -- uncomment for VERY verbose dignostic information. - * Set to 1 for less verbose information + * Debug logging level (comment out for normal operation): + * 1 = Log more hardware details, xe_ioctl details + * 2 = Log most function calls, some (eg. multicast, MII) in detail + * 3 = Log everything, including all interrupts and packets sent */ -/* #define XE_DEBUG 2 */ -#ifdef XE_DEBUG +#define XE_DEBUG 0 + +#if XE_DEBUG > 2 #define XE_REG_DUMP(scp) xe_reg_dump((scp)) #define XE_MII_DUMP(scp) xe_mii_dump((scp)) static void xe_reg_dump (struct xe_softc *scp); @@ -207,6 +198,7 @@ #define XE_MII_DUMP(scp) #endif + /* * Attach a device. */ @@ -215,20 +207,16 @@ { struct xe_softc *scp = device_get_softc(dev); -#ifdef XE_DEBUG +#if XE_DEBUG > 1 device_printf(dev, "attach\n"); #endif - /* Fill in some private data */ + /* Initialise stuff... */ + scp->dev = dev; scp->ifp = &scp->arpcom.ac_if; scp->ifm = &scp->ifmedia; - scp->autoneg_status = 0; - - /* Hopefully safe to read this here */ - XE_SELECT_PAGE(4); - scp->version = XE_INB(XE_BOV); + scp->autoneg_status = XE_AUTONEG_NONE; - scp->dev = dev; /* Initialise the ifnet structure */ if (!scp->ifp->if_name) { scp->ifp->if_softc = scp; @@ -243,6 +231,7 @@ scp->ifp->if_ioctl = xe_ioctl; scp->ifp->if_watchdog = xe_watchdog; scp->ifp->if_init = xe_init; + scp->ifp->if_baudrate = 100000000; scp->ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; } @@ -250,44 +239,52 @@ ifmedia_init(scp->ifm, 0, xe_media_change, xe_media_status); callout_handle_init(&scp->chand); - /* - * Fill in supported media types. Some cards _do_ support full duplex - * operation, but this driver doesn't, yet. Therefore we leave those modes - * out of the list. We support some form of autoselection in all cases. - */ + /* Add supported media types */ if (scp->mohawk) { ifmedia_add(scp->ifm, IFM_ETHER|IFM_100_TX, 0, NULL); - ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL); + ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T|IFM_FDX, 0, NULL); + ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T|IFM_HDX, 0, NULL); } - else { - ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL); + ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL); + if (scp->ce2) ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_2, 0, NULL); - } ifmedia_add(scp->ifm, IFM_ETHER|IFM_AUTO, 0, NULL); /* Default is to autoselect best supported media type */ ifmedia_set(scp->ifm, IFM_ETHER|IFM_AUTO); + /* Get the hardware into a known state */ + xe_reset(scp); + + /* Get hardware version numbers */ + XE_SELECT_PAGE(4); + scp->version = XE_INB(XE_BOV); + if (scp->mohawk) + scp->srev = (XE_INB(XE_BOV) & 0x70) >> 4; + else + scp->srev = (XE_INB(XE_BOV) & 0x30) >> 4; + /* Print some useful information */ - device_printf(dev, "%s %s, bonding version %#x%s%s\n", + device_printf(dev, "%s %s, version 0x%02x/0x%02x%s%s\n", scp->vendor, scp->card_type, scp->version, + scp->srev, scp->mohawk ? ", 100Mbps capable" : "", scp->modem ? ", with modem" : ""); +#if XE_DEBUG > 0 if (scp->mohawk) { XE_SELECT_PAGE(0x10); - device_printf(dev, "DingoID = %#x, RevisionID = %#x, VendorID = %#x\n", + device_printf(dev, "DingoID=0x%04x, RevisionID=0x%04x, VendorID=0x%04x\n", XE_INW(XE_DINGOID), XE_INW(XE_RevID), XE_INW(XE_VendorID)); } if (scp->ce2) { XE_SELECT_PAGE(0x45); - device_printf(dev, "CE2 version = %#x\n", XE_INB(XE_REV)); + device_printf(dev, "CE2 version = 0x%#02x\n", XE_INB(XE_REV)); } - - /* Print MAC address */ +#endif device_printf(dev, "Ethernet address %6D\n", scp->arpcom.ac_enaddr, ":"); /* Attach the interface */ @@ -299,105 +296,153 @@ /* - * Initialize device. Completes the reset procedure on the card and starts - * output. If there's an autonegotiation in progress we DON'T do anything; - * the media selection code will call us again when it's done. + * Complete hardware intitialisation and enable output. Exits without doing + * anything if there's no address assigned to the card, or if media selection + * is in progress (the latter implies we've already run this function). */ static void xe_init(void *xscp) { struct xe_softc *scp = xscp; + unsigned i; int s; -#ifdef XE_DEBUG + if (TAILQ_EMPTY(&scp->ifp->if_addrhead)) return; + + if (scp->autoneg_status != XE_AUTONEG_NONE) return; + +#if XE_DEBUG > 1 device_printf(scp->dev, "init\n"); #endif - if (TAILQ_EMPTY(&scp->ifp->if_addrhead)) return; + s = splimp(); /* Reset transmitter flags */ scp->tx_queued = 0; scp->tx_tpr = 0; - scp->tx_collisions = 0; + scp->tx_timeouts = 0; + scp->tx_thres = 64; + scp->tx_min = ETHER_MIN_LEN - ETHER_CRC_LEN; scp->ifp->if_timer = 0; - s = splimp(); + /* Soft reset the card */ + XE_SELECT_PAGE(0); + XE_OUTB(XE_CR, XE_CR_SOFT_RESET); + DELAY(40000); + XE_OUTB(XE_CR, 0); + DELAY(40000); + + if (scp->mohawk) { + /* + * set GP1 and GP2 as outputs (bits 2 & 3) + * set GP1 low to power on the ML6692 (bit 0) + * set GP2 high to power on the 10Mhz chip (bit 1) + */ + XE_SELECT_PAGE(4); + XE_OUTB(XE_GPR0, XE_GPR0_GP2_SELECT|XE_GPR0_GP1_SELECT|XE_GPR0_GP2_OUT); + } + + /* Shut off interrupts */ + xe_disable_intr(scp); + + /* Wait for everything to wake up */ + DELAY(500000); + + /* Check for PHY */ + if (scp->mohawk) + scp->phy_ok = xe_mii_init(scp); + /* Disable 'source insertion' (not sure what that means) */ XE_SELECT_PAGE(0x42); - XE_OUTB(XE_SWC0, 0x20); /* Disable source insertion (WTF is that?) */ + XE_OUTB(XE_SWC0, XE_SWC0_NO_SRC_INSERT); - /* - * Set the 'local memory dividing line' -- splits the 32K card memory into - * 8K for transmit buffers and 24K for receive. This is done automatically - * on newer revision cards. - */ + /* Set 8K/24K Tx/Rx buffer split */ if (scp->srev != 1) { XE_SELECT_PAGE(2); XE_OUTW(XE_RBS, 0x2000); } + /* Enable early transmit mode on Mohawk/Dingo */ + if (scp->mohawk) { + XE_SELECT_PAGE(0x03); + XE_OUTW(XE_TPT, scp->tx_thres); + XE_SELECT_PAGE(0x01); + XE_OUTB(XE_ECR, XE_INB(XE_ECR) | XE_ECR_EARLY_TX); + } + + /* Put MAC address in first 'individual address' register */ + XE_SELECT_PAGE(0x50); + for (i = 0; i < 6; i++) + XE_OUTB(0x08 + i, scp->arpcom.ac_enaddr[scp->mohawk ? 5 - i : i]); + /* Set up multicast addresses */ - xe_setmulti(scp); + xe_set_multicast(scp); - /* Fix the data offset register -- reset leaves it off-by-one */ + /* Fix the receive data offset -- reset can leave it off-by-one */ XE_SELECT_PAGE(0); XE_OUTW(XE_DO, 0x2000); - /* - * Set MAC interrupt masks and clear status regs. The bit names are direct - * from the Linux code; I have no idea what most of them do. - */ - XE_SELECT_PAGE(0x40); /* Bit 7..0 */ - XE_OUTB(XE_RX0Msk, 0xff); /* ROK, RAB, rsv, RO, CRC, AE, PTL, MP */ - XE_OUTB(XE_TX0Msk, 0xff); /* TOK, TAB, SQE, LL, TU, JAB, EXC, CRS */ - XE_OUTB(XE_TX0Msk+1, 0xb0); /* rsv, rsv, PTD, EXT, rsv, rsv, rsv, rsv */ - XE_OUTB(XE_RST0, 0x00); /* ROK, RAB, REN, RO, CRC, AE, PTL, MP */ - XE_OUTB(XE_TXST0, 0x00); /* TOK, TAB, SQE, LL, TU, JAB, EXC, CRS */ - XE_OUTB(XE_TXST1, 0x00); /* TEN, rsv, PTD, EXT, retry_counter:4 */ + /* Set interrupt masks */ + XE_SELECT_PAGE(1); + XE_OUTB(XE_IMR0, XE_IMR0_TX_PACKET | XE_IMR0_MAC_INTR | XE_IMR0_RX_PACKET); + + /* Set MAC interrupt masks */ + XE_SELECT_PAGE(0x40); + XE_OUTB(XE_RX0Msk, + ~(XE_RX0M_RX_OVERRUN | XE_RX0M_CRC_ERROR + | XE_RX0M_ALIGN_ERROR | XE_RX0M_LONG_PACKET)); + XE_OUTB(XE_TX0Msk, + ~(XE_TX0M_SQE_FAIL | XE_TX0M_LATE_COLLISION | XE_TX0M_TX_UNDERRUN + | XE_TX0M_16_COLLISIONS | XE_TX0M_NO_CARRIER)); + + /* Clear MAC status registers */ + XE_SELECT_PAGE(0x40); + XE_OUTB(XE_RST0, 0x00); + XE_OUTB(XE_TXST0, 0x00); + + /* Enable receiver and put MAC online */ + XE_SELECT_PAGE(0x40); + XE_OUTB(XE_CMD0, XE_CMD0_RX_ENABLE|XE_CMD0_ONLINE); - /* - * Check for an in-progress autonegotiation. If one is active, just set - * IFF_RUNNING and return. The media selection code will call us again when - * it's done. - */ - if (scp->autoneg_status) { - scp->ifp->if_flags |= IFF_RUNNING; - } - else { - /* Enable receiver, put MAC online */ - XE_SELECT_PAGE(0x40); - XE_OUTB(XE_CMD0, XE_CMD0_RX_ENABLE|XE_CMD0_ONLINE); + /* Set up IMR, enable interrupts */ + xe_enable_intr(scp); - /* Set up IMR, enable interrupts */ - xe_enable_intr(scp); + /* Start media selection */ + xe_setmedia(scp); - /* Attempt to start output */ - scp->ifp->if_flags |= IFF_RUNNING; - scp->ifp->if_flags &= ~IFF_OACTIVE; - xe_start(scp->ifp); - } + /* Enable output */ + scp->ifp->if_flags |= IFF_RUNNING; + scp->ifp->if_flags &= ~IFF_OACTIVE; (void)splx(s); } /* - * Start output on interface. We make two assumptions here: - * 1) that the current priority is set to splimp _before_ this code - * is called *and* is returned to the appropriate priority after - * return - * 2) that the IFF_OACTIVE flag is checked before this code is called - * (i.e. that the output part of the interface is idle) + * Start output on interface. Should be called at splimp() priority. Check + * that the output is idle (ie, IFF_OACTIVE is not set) before calling this + * function. If media selection is in progress we set IFF_OACTIVE ourselves + * and return immediately. */ static void xe_start(struct ifnet *ifp) { struct xe_softc *scp = ifp->if_softc; struct mbuf *mbp; + if (scp->autoneg_status != XE_AUTONEG_NONE) { + ifp->if_flags |= IFF_OACTIVE; + return; + } + +#if XE_DEBUG > 2 + device_printf(scp->dev, "start\n"); +#endif + /* * Loop while there are packets to be sent, and space to send them. */ while (1) { - IF_DEQUEUE(&ifp->if_snd, mbp); /* Suck a packet off the send queue */ + /* Suck a packet off the send queue */ + IF_DEQUEUE(&ifp->if_snd, mbp); if (mbp == NULL) { /* @@ -412,7 +457,8 @@ } if (xe_pio_write_packet(scp, mbp) != 0) { - IF_PREPEND(&ifp->if_snd, mbp); /* Push the packet back onto the queue */ + /* Push the packet back onto the queue */ + IF_PREPEND(&ifp->if_snd, mbp); ifp->if_flags |= IFF_OACTIVE; return; } @@ -420,7 +466,8 @@ /* Tap off here if there is a bpf listener */ BPF_MTAP(ifp, mbp); - ifp->if_timer = 5; /* In case we don't hear from the card again */ + /* In case we don't hear from the card again... */ + ifp->if_timer = 5; scp->tx_queued++; m_freem(mbp); @@ -443,15 +490,17 @@ switch (command) { - case SIOCSIFFLAGS: + case SIOCSIFFLAGS: +#if XE_DEBUG > 1 + device_printf(scp->dev, "ioctl: SIOCSIFFLAGS: 0x%04x\n", ifp->if_flags); +#endif /* * If the interface is marked up and stopped, then start it. If it is * marked down and running, then stop it. */ if (ifp->if_flags & IFF_UP) { if (!(ifp->if_flags & IFF_RUNNING)) { - xe_hard_reset(scp); - xe_setmedia(scp); + xe_reset(scp); xe_init(scp); } } @@ -459,27 +508,36 @@ if (ifp->if_flags & IFF_RUNNING) xe_stop(scp); } - /* XXX: intentional fall-through ? */ - case SIOCADDMULTI: - case SIOCDELMULTI: + /* FALL THROUGH (handle changes to PROMISC/ALLMULTI flags) */ + + case SIOCADDMULTI: + case SIOCDELMULTI: +#if XE_DEBUG > 1 + device_printf(scp->dev, "ioctl: SIOC{ADD,DEL}MULTI\n"); +#endif /* - * Multicast list has (maybe) changed; set the hardware filter - * accordingly. This also serves to deal with promiscuous mode if we have - * a BPF listener active. + * Multicast list has (maybe) changed; set the hardware filters + * accordingly. */ - xe_setmulti(scp); + xe_set_multicast(scp); error = 0; break; - case SIOCSIFMEDIA: - case SIOCGIFMEDIA: + case SIOCSIFMEDIA: + case SIOCGIFMEDIA: +#if XE_DEBUG > 1 + device_printf(scp->dev, "ioctl: bounce to ifmedia_ioctl\n"); +#endif /* * Someone wants to get/set media options. */ error = ifmedia_ioctl(ifp, (struct ifreq *)data, &scp->ifmedia, command); break; - default: + default: +#if XE_DEBUG > 1 + device_printf(scp->dev, "ioctl: bounce to ether_ioctl\n"); +#endif error = ether_ioctl(ifp, command, data); } @@ -512,245 +570,272 @@ { struct xe_softc *scp = (struct xe_softc *) xscp; struct ifnet *ifp; - u_int16_t rx_bytes, rxs, txs; - u_int8_t psr, isr, esr, rsr; + u_int8_t psr, isr, esr, rsr, rst0, txst0, txst1, coll; ifp = &scp->arpcom.ac_if; - rx_bytes = 0; /* Bytes received on this interrupt */ + + /* Disable interrupts */ + if (scp->mohawk) + XE_OUTB(XE_CR, 0); - if (scp->mohawk) { - XE_OUTB(XE_CR, 0); /* Disable interrupts */ - } + /* Cache current register page */ + psr = XE_INB(XE_PR); - psr = XE_INB(XE_PR); /* Stash the current register page */ + /* Read ISR to see what caused this interrupt */ + while ((isr = XE_INB(XE_ISR)) != 0) { - /* - * Read ISR to see what caused this interrupt. Note that this clears the - * ISR on CE2 type cards. - */ - if ((isr = XE_INB(XE_ISR)) && isr != 0xff) { + /* 0xff might mean the card is no longer around */ + if (isr == 0xff) { +#if XE_DEBUG > 2 + device_printf(scp->dev, "intr: interrupt received for missing card?\n"); +#endif + break; + } - esr = XE_INB(XE_ESR); /* Read the other status registers */ + /* Read other status registers */ XE_SELECT_PAGE(0x40); - rxs = XE_INB(XE_RST0); - XE_OUTB(XE_RST0, ~rxs & 0xff); - txs = XE_INB(XE_TXST0); - txs |= XE_INB(XE_TXST1) << 8; + rst0 = XE_INB(XE_RST0); + XE_OUTB(XE_RST0, 0); + txst0 = XE_INB(XE_TXST0); + txst1 = XE_INB(XE_TXST1); + coll = txst1 & XE_TXST1_RETRY_COUNT; XE_OUTB(XE_TXST0, 0); XE_OUTB(XE_TXST1, 0); XE_SELECT_PAGE(0); #if XE_DEBUG > 2 - printf("xe%d: ISR=%#2.2x ESR=%#2.2x RST=%#2.2x TXST=%#4.4x\n", unit, isr, esr, rxs, txs); + device_printf(scp->dev, "intr: ISR=0x%02x, RST=0x%02x, TXT=0x%02x%02x, COLL=0x%01x\n", isr, rst0, txst1, txst0, coll); #endif - /* - * Handle transmit interrupts - */ + /* Handle transmitted packet(s) */ if (isr & XE_ISR_TX_PACKET) { - u_int8_t new_tpr, sent; - - if ((new_tpr = XE_INB(XE_TPR)) < scp->tx_tpr) /* Update packet count */ - sent = (0xff - scp->tx_tpr) + new_tpr; /* TPR rolled over */ - else - sent = new_tpr - scp->tx_tpr; + u_int8_t tpr, sent; + + /* Update packet count, accounting for rollover */ + tpr = XE_INB(XE_TPR); + sent = -scp->tx_tpr + tpr; - if (sent > 0) { /* Packets sent since last interrupt */ - scp->tx_tpr = new_tpr; + /* Update statistics if we actually sent anything */ + if (sent > 0) { + scp->tx_tpr = tpr; scp->tx_queued -= sent; ifp->if_opackets += sent; - ifp->if_collisions += scp->tx_collisions; + ifp->if_collisions += coll; /* - * Collision stats are a PITA. If multiples frames have been sent, we - * distribute any outstanding collision count equally amongst them. - * However, if we're missing interrupts we're quite likely to also - * miss some collisions; thus the total count will be off anyway. - * Likewise, if we miss a frame dropped due to excessive collisions - * any outstanding collisions count will be held against the next - * frame to be successfully sent. Hopefully it averages out in the - * end! - * XXX - This will screw up if tx_collisions/sent > 14. FIX IT! + * According to the Xircom manual, Dingo will sometimes manage to + * transmit a packet with triggering an interrupt. If this happens, + * we have sent > 1 and the collision count only reflects collisions + * on the last packet sent (the one that triggered the interrupt). + * Collision stats might therefore be a bit low, but there doesn't + * seem to be anything we can do about that. */ - switch (scp->tx_collisions) { - case 0: + + switch (coll) { + case 0: break; - case 1: + case 1: scp->mibdata.dot3StatsSingleCollisionFrames++; scp->mibdata.dot3StatsCollFrequencies[0]++; break; - default: - if (sent == 1) { - scp->mibdata.dot3StatsMultipleCollisionFrames++; - scp->mibdata.dot3StatsCollFrequencies[scp->tx_collisions-1]++; - } - else { /* Distribute across multiple frames */ - scp->mibdata.dot3StatsMultipleCollisionFrames += sent; - scp->mibdata. - dot3StatsCollFrequencies[scp->tx_collisions/sent] += sent - scp->tx_collisions%sent; - scp->mibdata. - dot3StatsCollFrequencies[scp->tx_collisions/sent + 1] += scp->tx_collisions%sent; - } + default: + scp->mibdata.dot3StatsMultipleCollisionFrames++; + scp->mibdata.dot3StatsCollFrequencies[coll-1]++; } - scp->tx_collisions = 0; } ifp->if_timer = 0; ifp->if_flags &= ~IFF_OACTIVE; } - if (txs & 0x0002) { /* Excessive collisions (packet dropped) */ - ifp->if_collisions += 16; - ifp->if_oerrors++; - scp->tx_collisions = 0; - scp->mibdata.dot3StatsExcessiveCollisions++; - scp->mibdata.dot3StatsMultipleCollisionFrames++; - scp->mibdata.dot3StatsCollFrequencies[15]++; - XE_OUTB(XE_CR, XE_CR_RESTART_TX); + + /* Handle most MAC interrupts */ + if (isr & XE_ISR_MAC_INTR) { + +#if 0 + /* Carrier sense lost -- only in 10Mbit HDX mode */ + if (txst0 & XE_TXST0_NO_CARRIER || !(txst1 & XE_TXST1_LINK_STATUS)) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Oct 15 10:25:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FF3816A4C1; Wed, 15 Oct 2003 10:25:09 -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 547F716A4B3 for ; Wed, 15 Oct 2003 10:25:09 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 64AC243FE0 for ; Wed, 15 Oct 2003 10:25:08 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9FHP8XJ089049 for ; Wed, 15 Oct 2003 10:25:08 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9FHP7Jr089046 for perforce@freebsd.org; Wed, 15 Oct 2003 10:25:07 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Wed, 15 Oct 2003 10:25:07 -0700 (PDT) Message-Id: <200310151725.h9FHP7Jr089046@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 39752 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, 15 Oct 2003 17:25:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=39752 Change 39752 by sam@sam_ebb on 2003/10/15 10:24:51 o restructure initialization code so data structures are setup when loaded as a module o remove extraneous unlocks immediately prior to destroying them NB: module unload will fail if mcast routing is active; I've asked Luigi why this is necessary Affected files ... .. //depot/projects/netperf/sys/netinet/ip_mroute.c#13 edit Differences ... ==== //depot/projects/netperf/sys/netinet/ip_mroute.c#13 (text+ko) ==== @@ -584,6 +584,27 @@ return 0; } +static void +ip_mrouter_reset(void) +{ + bzero((caddr_t)mfctable, sizeof(mfctable)); + MFC_LOCK_INIT(); + VIF_LOCK_INIT(); + bzero((caddr_t)nexpire, sizeof(nexpire)); + + pim_assert = 0; + mrt_api_config = 0; + + callout_init(&expire_upcalls_ch, CALLOUT_MPSAFE); + + bw_upcalls_n = 0; + bzero((caddr_t)bw_meter_timers, sizeof(bw_meter_timers)); + callout_init(&bw_upcalls_ch, CALLOUT_MPSAFE); + callout_init(&bw_meter_ch, CALLOUT_MPSAFE); + + callout_init(&tbf_reprocess_ch, CALLOUT_MPSAFE); +} + /* * Enable multicast routing */ @@ -603,30 +624,16 @@ if (ip_mrouter != NULL) return EADDRINUSE; - ip_mrouter = so; + ip_mrouter_reset(); - bzero((caddr_t)mfctable, sizeof(mfctable)); - MFC_LOCK_INIT(); - VIF_LOCK_INIT(); - bzero((caddr_t)nexpire, sizeof(nexpire)); - - pim_assert = 0; - - callout_init(&expire_upcalls_ch, CALLOUT_MPSAFE); callout_reset(&expire_upcalls_ch, EXPIRE_TIMEOUT, expire_upcalls, NULL); - bw_upcalls_n = 0; - bzero((caddr_t)bw_meter_timers, sizeof(bw_meter_timers)); - callout_init(&bw_upcalls_ch, CALLOUT_MPSAFE); callout_reset(&bw_upcalls_ch, BW_UPCALLS_PERIOD, expire_bw_upcalls_send, NULL); - callout_init(&bw_meter_ch, CALLOUT_MPSAFE); callout_reset(&bw_meter_ch, BW_METER_PERIOD, expire_bw_meter_process, NULL); - callout_init(&tbf_reprocess_ch, CALLOUT_MPSAFE); + ip_mrouter = so; - mrt_api_config = 0; - if (mrtdebug) log(LOG_DEBUG, "ip_mrouter_init\n"); @@ -679,7 +686,6 @@ bzero((caddr_t)viftable, sizeof(viftable)); numvifs = 0; pim_assert = 0; - VIF_UNLOCK(); VIF_LOCK_DESTROY(); /* @@ -709,7 +715,6 @@ bzero((caddr_t)mfctable, sizeof(mfctable)); bw_upcalls_n = 0; bzero(bw_meter_timers, sizeof(bw_meter_timers)); - MFC_UNLOCK(); MFC_LOCK_DESTROY(); /* @@ -3353,7 +3358,8 @@ switch (type) { case MOD_LOAD: s = splnet(); - /* XXX Protect against multiple loading */ + ip_mrouter_reset(); + /* XXX synchronize setup */ ip_mcast_src = X_ip_mcast_src; ip_mforward = X_ip_mforward; ip_mrouter_done = X_ip_mrouter_done; @@ -3368,6 +3374,7 @@ break; case MOD_UNLOAD: + /* XXX shutdown on module unload? */ if (ip_mrouter) return EINVAL; From owner-p4-projects@FreeBSD.ORG Wed Oct 15 14:04:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1C5316A4C0; Wed, 15 Oct 2003 14:04:41 -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 7934316A4B3 for ; Wed, 15 Oct 2003 14:04:41 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E266943FAF for ; Wed, 15 Oct 2003 14:04:40 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9FL4eXJ007537 for ; Wed, 15 Oct 2003 14:04:40 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9FL4eWH007534 for perforce@freebsd.org; Wed, 15 Oct 2003 14:04:40 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Wed, 15 Oct 2003 14:04:40 -0700 (PDT) Message-Id: <200310152104.h9FL4eWH007534@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 39762 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, 15 Oct 2003 21:04:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=39762 Change 39762 by sam@sam_ebb on 2003/10/15 14:04:23 rtalloc1 may return NULL for a route so check before unlocking This should fix the panic reported by Yoshihide Sonoda when setting up an IPv6 ppp tunnel (waiting for confirmation). Affected files ... .. //depot/projects/netperf/sys/net/route.c#15 edit Differences ... ==== //depot/projects/netperf/sys/net/route.c#15 (text+ko) ==== @@ -1000,7 +1000,8 @@ rt->rt_gwroute = 0; return EDQUOT; /* failure */ } - RT_UNLOCK(rt->rt_gwroute); + if (rt->rt_gwroute != NULL) + RT_UNLOCK(rt->rt_gwroute); } /* From owner-p4-projects@FreeBSD.ORG Wed Oct 15 20:43:43 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38C9116A4C0; Wed, 15 Oct 2003 20:43:43 -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 109BC16A4B3 for ; Wed, 15 Oct 2003 20:43:43 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E75443F93 for ; Wed, 15 Oct 2003 20:43:42 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9G3hgXJ037462 for ; Wed, 15 Oct 2003 20:43:42 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9G3hfgi037459 for perforce@freebsd.org; Wed, 15 Oct 2003 20:43:41 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Wed, 15 Oct 2003 20:43:41 -0700 (PDT) Message-Id: <200310160343.h9G3hfgi037459@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 39765 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, 16 Oct 2003 03:43:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=39765 Change 39765 by sam@sam_ebb on 2003/10/15 20:43:00 Workaround a LOR between Giant and the dummynet lock by dropping the dummynet lock each time we re-enter the network stack. This can be removed when the stack no longer depends on Giant. Affected files ... .. //depot/projects/netperf/sys/netinet/ip_dummynet.c#10 edit Differences ... ==== //depot/projects/netperf/sys/netinet/ip_dummynet.c#10 (text+ko) ==== @@ -429,6 +429,8 @@ { struct dn_pkt *pkt ; + DUMMYNET_LOCK_ASSERT(); + while ( (pkt = pipe->head) && DN_KEY_LEQ(pkt->output_time, curr_time) ) { /* * first unlink, then call procedures, since ip_input() can invoke @@ -436,6 +438,8 @@ */ pipe->head = DN_NEXT(pkt) ; + /* XXX: drop the lock for now to avoid LOR's */ + DUMMYNET_UNLOCK(); /* * The actual mbuf is preceded by a struct dn_pkt, resembling an mbuf * (NOT A REAL one, just a small block of malloc'ed memory) with @@ -496,6 +500,7 @@ break ; } free(pkt, M_DUMMYNET); + DUMMYNET_LOCK(); } /* if there are leftover packets, put into the heap for next event */ if ( (pkt = pipe->head) ) From owner-p4-projects@FreeBSD.ORG Wed Oct 15 21:14:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 52F6316A4C0; Wed, 15 Oct 2003 21:14:21 -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 2E63416A4B3 for ; Wed, 15 Oct 2003 21:14:21 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B04A843FCB for ; Wed, 15 Oct 2003 21:14:20 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9G4EKXJ045106 for ; Wed, 15 Oct 2003 21:14:20 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9G4EKvG045103 for perforce@freebsd.org; Wed, 15 Oct 2003 21:14:20 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Wed, 15 Oct 2003 21:14:20 -0700 (PDT) Message-Id: <200310160414.h9G4EKvG045103@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 39767 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, 16 Oct 2003 04:14:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=39767 Change 39767 by sam@sam_ebb on 2003/10/15 21:13:43 Check return value from bus_dmamap_load_mbuf more closely; when this is EFBIG the packet required too many segments and we need to force state to get the descriptor coalescing logic to be used. Reported on netbsd mailing list. Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#22 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#22 (text+ko) ==== @@ -1765,7 +1765,10 @@ error = bus_dmamap_load_mbuf(sc->sc_dmat, bf->bf_dmamap, m0, ath_mbuf_load_cb, bf, BUS_DMA_NOWAIT); - if (error != 0) { + if (error == EFBIG) { + /* XXX packet requires too many descriptors */ + bf->bf_nseg = ATH_TXDESC+1; + } else if (error != 0) { sc->sc_stats.ast_tx_busdma++; m_freem(m0); return error; From owner-p4-projects@FreeBSD.ORG Wed Oct 15 21:15:23 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8758016A4C0; Wed, 15 Oct 2003 21:15: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 49AB916A4B3 for ; Wed, 15 Oct 2003 21:15:23 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B450143F93 for ; Wed, 15 Oct 2003 21:15:22 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9G4FMXJ045190 for ; Wed, 15 Oct 2003 21:15:22 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9G4FMkQ045178 for perforce@freebsd.org; Wed, 15 Oct 2003 21:15:22 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Wed, 15 Oct 2003 21:15:22 -0700 (PDT) Message-Id: <200310160415.h9G4FMkQ045178@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 39768 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, 16 Oct 2003 04:15:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=39768 Change 39768 by sam@sam_ebb on 2003/10/15 21:14:38 support for fragment reassembly on receive Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_input.c#9 edit .. //depot/projects/netperf/sys/net80211/ieee80211_node.c#12 edit .. //depot/projects/netperf/sys/net80211/ieee80211_node.h#9 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_input.c#9 (text+ko) ==== @@ -66,6 +66,9 @@ #include #endif +static struct mbuf *ieee80211_reass(struct ieee80211com *, + struct ieee80211_node *, struct mbuf *); + /* * Process a received frame. The node associated with the sender * should be supplied. If nothing was found in the node table then @@ -259,6 +262,9 @@ /* copy to listener after decrypt */ if (ic->ic_rawbpf) bpf_mtap(ic->ic_rawbpf, m); + m = ieee80211_reass(ic, ni, m); + if (m == NULL) + goto out; m = ieee80211_decap(ifp, m); if (m == NULL) { ic->ic_stats.is_rx_decap++; @@ -357,6 +363,9 @@ } if (ic->ic_rawbpf) bpf_mtap(ic->ic_rawbpf, m); + m = ieee80211_reass(ic, ni, m); + if (m == NULL) + goto out; (*ic->ic_recv_mgmt)(ic, m, ni, subtype, rssi, rstamp); m_freem(m); return; @@ -379,6 +388,73 @@ } } +/* + * Reassemble fragments as necessary. + */ +static struct mbuf * +ieee80211_reass(struct ieee80211com *ic, struct ieee80211_node *ni, struct mbuf *m) +{ + struct ieee80211_frame *wh, *lwh; + u_int16_t rxseq, lseq; + u_int8_t fragno, more; + + wh = mtod(m, struct ieee80211_frame *); + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) + return m; /* no mcast frames */ + + more = wh->i_fc[1] & IEEE80211_FC1_MORE_FRAG; + rxseq = le16toh(*(u_int16_t *)wh->i_seq); + fragno = rxseq & IEEE80211_SEQ_FRAG_MASK; + if (!more && fragno == 0) + return m; /* not fragmented */ + + /* + * Validate that fragment is in order and + * related to the previous ones. + */ + if (ni->ni_rxfrag != NULL) { + lwh = mtod(ni->ni_rxfrag, struct ieee80211_frame *); + lseq = le16toh(*(u_int16_t *)lwh->i_seq); + /* NB: this checks seq#'s and frag number together */ + if (rxseq != lseq+1 || + !IEEE80211_ADDR_EQ(wh->i_addr1, lwh->i_addr1) || + !IEEE80211_ADDR_EQ(wh->i_addr2, lwh->i_addr2)) { + /* Unrelated fragment, clear existing data */ + /* XXX stat */ + m_freem(ni->ni_rxfrag); + ni->ni_rxfrag = NULL; + } + } else { + if (fragno != 0) { /* out of order fragment */ + /* XXX stat */ + m_freem(m); + return NULL; + } + } + /* + * Add new fragment to existing data, if any. + */ + if (ni->ni_rxfrag != NULL) { + /* + * We know this is the next sequential fragment + * because of the check done above; append the data. + */ + lwh = mtod(ni->ni_rxfrag, struct ieee80211_frame *); + m_cat(ni->ni_rxfrag, m); + /* record last sequence and fragno */ + *(u_int16_t *) lwh->i_seq = rxseq; + if (!more) { /* reassembly complete */ + m = ni->ni_rxfrag; + ni->ni_rxfrag = NULL; + } else /* frame incomplete */ + m = NULL; + } else { + ni->ni_rxfrag = m; + m = NULL; + } + return m; +} + struct mbuf * ieee80211_decap(struct ifnet *ifp, struct mbuf *m) { ==== //depot/projects/netperf/sys/net80211/ieee80211_node.c#12 (text+ko) ==== @@ -110,8 +110,11 @@ { struct ieee80211com *ic = (void *)ifp; - if (ic->ic_bss != NULL) + if (ic->ic_bss != NULL) { + if (ic->ic_bss->ni_rxfrag != NULL) + m_freem(ic->ic_bss->ni_rxfrag); (*ic->ic_node_free)(ic, ic->ic_bss); + } ieee80211_free_allnodes(ic); IEEE80211_NODE_LOCK_DESTROY(ic); } @@ -517,6 +520,8 @@ LIST_REMOVE(ni, ni_hash); if (TAILQ_EMPTY(&ic->ic_node)) ic->ic_inact_timer = 0; + if (ni->ni_rxfrag != NULL) + m_freem(ni->ni_rxfrag); (*ic->ic_node_free)(ic, ni); } ==== //depot/projects/netperf/sys/net80211/ieee80211_node.h#9 (text+ko) ==== @@ -102,6 +102,7 @@ int ni_fails; /* failure count to associate */ int ni_inact; /* inactivity mark count */ int ni_txrate; /* index to ni_rates[] */ + struct mbuf *ni_rxfrag; /* rx frag reassembly */ }; static __inline struct ieee80211_node * From owner-p4-projects@FreeBSD.ORG Thu Oct 16 07:21:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C6F916A4C0; Thu, 16 Oct 2003 07:21:08 -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 1B69916A4B3 for ; Thu, 16 Oct 2003 07:21:08 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 915BB43F93 for ; Thu, 16 Oct 2003 07:21:07 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9GEL6XJ091000 for ; Thu, 16 Oct 2003 07:21:07 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9GEL5ZV090981 for perforce@freebsd.org; Thu, 16 Oct 2003 07:21:05 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Thu, 16 Oct 2003 07:21:05 -0700 (PDT) Message-Id: <200310161421.h9GEL5ZV090981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 39788 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, 16 Oct 2003 14:21:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=39788 Change 39788 by areisse@areisse_ibook on 2003/10/16 07:20:07 add strlcpy to darwin Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/osfmk/device/subrs.c#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/osfmk/libsa/string.h#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/osfmk/device/subrs.c#2 (text+ko) ==== @@ -330,3 +330,34 @@ return (old); } +/* Copy src to string dst of size siz. At most siz-1 characters + * will be copied. Always NUL terminates (unless siz == 0). + * Returns strlen(src); if retval >= siz, truncation occurred. + */ +size_t strlcpy(dst, src, siz) + char *dst; + const char *src; + size_t siz; +{ + char *d = dst; + const char *s = src; + size_t n = siz; + + /* Copy as many bytes as will fit */ + if (n != 0 && --n != 0) { + do { + if ((*d++ = *s++) == 0) + break; + } while (--n != 0); + } + + /* Not enough room in dst, add NUL and traverse rest of src */ + if (n == 0) { + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++) + ; + } + + return(s - src - 1); /* count does not include NUL */ +} ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/osfmk/libsa/string.h#2 (text+ko) ==== @@ -84,6 +84,7 @@ extern int strncmp(const char *,const char *, size_t); extern char *strchr(const char *s, int c); extern size_t strspn(const char *, const char *); +extern size_t strlcpy(char *, const char *, size_t); #ifdef __cplusplus } From owner-p4-projects@FreeBSD.ORG Thu Oct 16 08:17:18 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C4F016A4C0; Thu, 16 Oct 2003 08:17:18 -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 3813B16A4B3 for ; Thu, 16 Oct 2003 08:17:18 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D1B2643FEC for ; Thu, 16 Oct 2003 08:17:16 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9GFHGXJ094018 for ; Thu, 16 Oct 2003 08:17:16 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9GFHGC5094015 for perforce@freebsd.org; Thu, 16 Oct 2003 08:17:16 -0700 (PDT) (envelope-from cvance@nailabs.com) Date: Thu, 16 Oct 2003 08:17:16 -0700 (PDT) Message-Id: <200310161517.h9GFHGC5094015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 39790 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, 16 Oct 2003 15:17:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=39790 Change 39790 by cvance@cvance_osx_laptop on 2003/10/16 08:17:02 Add another small batch of vnode entry points. Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_descrip.c#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/uipc_usrreq.c#2 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_vnops.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_descrip.c#2 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/uipc_usrreq.c#2 (text+ko) ==== @@ -597,6 +597,11 @@ vattr.va_type = VSOCK; vattr.va_mode = (ACCESSPERMS & ~p->p_fd->fd_cmask); VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); +#ifdef MAC + error = mac_check_vnode_create(p->p_ucred, nd.ni_dvp, &nd.ni_cnd, + &vattr); + if (error == 0) +#endif error = VOP_CREATE(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); #if 0 /* In FreeBSD create leave s parent held ; not here */ ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#3 (text+ko) ==== @@ -1154,6 +1154,11 @@ break; } } +#ifdef MAC + if (error == 0 && !whiteout) + error = mac_check_vnode_create(p->p_ucred, nd.ni_dvp, + &nd.ni_cnd, &vattr); +#endif if (!error) { VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); if (whiteout) { @@ -1214,6 +1219,12 @@ VATTR_NULL(&vattr); vattr.va_type = VFIFO; vattr.va_mode = (uap->mode & ALLPERMS) &~ p->p_fd->fd_cmask; +#ifdef MAC + error = mac_check_vnode_create(p->p_ucred, nd.ni_dvp, &nd.ni_cnd, + &vattr); + if (error) + return (error); +#endif VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); return (VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr)); #endif /* FIFO */ @@ -1314,6 +1325,13 @@ } VATTR_NULL(&vattr); vattr.va_mode = ACCESSPERMS &~ p->p_fd->fd_cmask; +#ifdef MAC + vattr.va_type = VLNK; + error = mac_check_vnode_create(p->p_ucred, nd.ni_dvp, &nd.ni_cnd, + &vattr); + if (error) + goto out; +#endif VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, path); out: @@ -1403,6 +1421,11 @@ error = EBUSY; } +#ifdef MAC + if (!error) + error = mac_check_vnode_delete(p->p_ucred, nd.ni_dvp, vp, + &nd.ni_cnd); +#endif if (!error) { VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); error = VOP_REMOVE(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); @@ -1965,6 +1988,10 @@ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); VATTR_NULL(&vattr); vattr.va_mode = uap->mode & ALLPERMS; +#ifdef MAC + error = mac_check_vnode_setmode(p->p_ucred, vp, vattr.va_mode); + if (error == 0) +#endif error = VOP_SETATTR(vp, &vattr, p->p_ucred, p); vput(vp); return (error); @@ -1996,6 +2023,10 @@ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); VATTR_NULL(&vattr); vattr.va_mode = uap->mode & ALLPERMS; +#ifdef MAC + error = mac_check_vnode_setmode(p->p_ucred, vp, vattr.va_mode); + if (error == 0) +#endif error = VOP_SETATTR(vp, &vattr, p->p_ucred, p); VOP_UNLOCK(vp, 0, p); return (error); @@ -2691,6 +2722,12 @@ VATTR_NULL(&vattr); vattr.va_type = VDIR; vattr.va_mode = (uap->mode & ACCESSPERMS) &~ p->p_fd->fd_cmask; +#ifdef MAC + error = mac_check_vnode_create(p->p_ucred, nd.ni_dvp, &nd.ni_cnd, + &vattr); + if (error) + return (error); +#endif VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); if (!error) @@ -2738,6 +2775,11 @@ if (vp->v_flag & VROOT) error = EBUSY; out: +#ifdef MAC + if (!error) + error = mac_check_vnode_delete(p->p_ucred, nd.ni_dvp, vp, + &nd.ni_cnd); +#endif if (!error) { VOP_LEASE(nd.ni_dvp, p, p->p_ucred, LEASE_WRITE); VOP_LEASE(vp, p, p->p_ucred, LEASE_WRITE); @@ -2883,6 +2925,10 @@ } if (lvp != NULLVP) { +#ifdef MAC + error = mac_check_vnode_readdir(p->p_ucred, lvp); + if (!error) +#endif error = VOP_OPEN(lvp, FREAD, fp->f_cred, p); if (error) { vput(lvp); ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_vnops.c#3 (text+ko) ==== @@ -126,6 +126,11 @@ if (fmode & O_EXCL) vap->va_vaflags |= VA_EXCLUSIVE; VOP_LEASE(ndp->ni_dvp, p, cred, LEASE_WRITE); +#ifdef MAC + error = mac_check_vnode_create(cred, ndp->ni_dvp, + &ndp->ni_cnd, vap); + if (error == 0) +#endif if (error = VOP_CREATE(ndp->ni_dvp, &ndp->ni_vp, &ndp->ni_cnd, vap)) return (error); From owner-p4-projects@FreeBSD.ORG Thu Oct 16 08:21:23 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CC2716A4C0; Thu, 16 Oct 2003 08:21: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 67D5716A4BF for ; Thu, 16 Oct 2003 08:21:23 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8189C43FB1 for ; Thu, 16 Oct 2003 08:21:22 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9GFLMXJ094241 for ; Thu, 16 Oct 2003 08:21:22 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9GFLLWr094236 for perforce@freebsd.org; Thu, 16 Oct 2003 08:21:21 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Thu, 16 Oct 2003 08:21:21 -0700 (PDT) Message-Id: <200310161521.h9GFLLWr094236@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 39791 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, 16 Oct 2003 15:21:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=39791 Change 39791 by areisse@areisse_tislabs on 2003/10/16 08:21:17 added copyright on strlcpy Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/osfmk/device/subrs.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/osfmk/device/subrs.c#3 (text+ko) ==== @@ -89,6 +89,34 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ + +/* + * Copyright (c) 1998 Todd C. Miller + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 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 name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 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. + */ + /* * Random device subroutines and stubs. */ From owner-p4-projects@FreeBSD.ORG Thu Oct 16 14:14:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 63EE916A4C0; Thu, 16 Oct 2003 14:14: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 2297416A4B3 for ; Thu, 16 Oct 2003 14:14:40 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9DAE943F75 for ; Thu, 16 Oct 2003 14:14:39 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9GLEdXJ026160 for ; Thu, 16 Oct 2003 14:14:39 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9GLEdlh026157 for perforce@freebsd.org; Thu, 16 Oct 2003 14:14:39 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Thu, 16 Oct 2003 14:14:39 -0700 (PDT) Message-Id: <200310162114.h9GLEdlh026157@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 39807 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, 16 Oct 2003 21:14:40 -0000 X-List-Received-Date: Thu, 16 Oct 2003 21:14:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=39807 Change 39807 by sam@sam_ebb on 2003/10/16 14:14:03 handle module unload cleanup when loading+unloading w/o starting a routing process Affected files ... .. //depot/projects/netperf/sys/netinet/ip_mroute.c#14 edit Differences ... ==== //depot/projects/netperf/sys/netinet/ip_mroute.c#14 (text+ko) ==== @@ -3370,15 +3370,21 @@ legal_vif_num = X_legal_vif_num; mrt_ioctl = X_mrt_ioctl; rsvp_input_p = X_rsvp_input; - splx(s); break; case MOD_UNLOAD: - /* XXX shutdown on module unload? */ + /* + * Typically module unload happens after the user-level + * process has shutdown the kernel services (the check + * below insures someone can't just yank the module out + * from under a running process). But if the module is + * just loaded and then unloaded w/o starting up a user + * process we still need to cleanup. + */ if (ip_mrouter) return EINVAL; - s = splnet(); + X_ip_mrouter_done(); ip_mcast_src = NULL; ip_mforward = NULL; ip_mrouter_done = NULL; @@ -3389,7 +3395,6 @@ legal_vif_num = NULL; mrt_ioctl = NULL; rsvp_input_p = NULL; - splx(s); break; } return 0; From owner-p4-projects@FreeBSD.ORG Thu Oct 16 14:14:42 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2446416A4C0; Thu, 16 Oct 2003 14:14:42 -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 D2C7E16A4BF for ; Thu, 16 Oct 2003 14:14:41 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E8EF43FB1 for ; Thu, 16 Oct 2003 14:14:40 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9GLEeXJ026167 for ; Thu, 16 Oct 2003 14:14:40 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9GLEdf6026163 for perforce@freebsd.org; Thu, 16 Oct 2003 14:14:39 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Thu, 16 Oct 2003 14:14:39 -0700 (PDT) Message-Id: <200310162114.h9GLEdf6026163@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 39808 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, 16 Oct 2003 21:14:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=39808 Change 39808 by sam@sam_ebb on 2003/10/16 14:14:18 IFC Affected files ... .. //depot/projects/netperf/sys/dev/ciss/ciss.c#5 integrate .. //depot/projects/netperf/sys/dev/ed/if_ed.c#3 integrate .. //depot/projects/netperf/sys/dev/ed/if_ed_cbus.c#3 integrate .. //depot/projects/netperf/sys/dev/ed/if_ed_isa.c#3 integrate .. //depot/projects/netperf/sys/dev/ed/if_edreg.h#2 integrate .. //depot/projects/netperf/sys/dev/ed/if_edvar.h#2 integrate .. //depot/projects/netperf/sys/fs/specfs/spec_vnops.c#6 integrate .. //depot/projects/netperf/sys/i386/isa/apic_vector.s#2 integrate .. //depot/projects/netperf/sys/i386/isa/isa_compat.c#3 integrate .. //depot/projects/netperf/sys/kern/kern_clock.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_proc.c#6 integrate .. //depot/projects/netperf/sys/kern/kern_switch.c#2 integrate .. //depot/projects/netperf/sys/kern/kern_synch.c#7 integrate .. //depot/projects/netperf/sys/kern/sched_4bsd.c#5 integrate .. //depot/projects/netperf/sys/kern/sched_ule.c#9 integrate .. //depot/projects/netperf/sys/kern/subr_bus.c#5 integrate .. //depot/projects/netperf/sys/kern/subr_kobj.c#3 integrate .. //depot/projects/netperf/sys/net/if.c#6 integrate .. //depot/projects/netperf/sys/netinet/ip_fw2.c#10 integrate .. //depot/projects/netperf/sys/netinet/ip_input.c#12 integrate .. //depot/projects/netperf/sys/sys/bus.h#3 integrate .. //depot/projects/netperf/sys/sys/conf.h#3 integrate .. //depot/projects/netperf/sys/sys/endian.h#2 integrate .. //depot/projects/netperf/sys/sys/kobj.h#3 integrate .. //depot/projects/netperf/sys/sys/mutex.h#4 integrate .. //depot/projects/netperf/sys/sys/param.h#9 integrate .. //depot/projects/netperf/sys/sys/sched.h#2 integrate .. //depot/projects/netperf/sys/tools/makeobjops.awk#2 integrate Differences ... ==== //depot/projects/netperf/sys/dev/ciss/ciss.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/dev/ciss/ciss.c,v 1.29 2003/09/08 16:45:33 ps Exp $ + * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.30 2003/10/15 18:52:44 ps Exp $ */ /* @@ -1152,7 +1152,8 @@ */ if (bootverbose) { ciss_printf(sc, "logical drive %d: %s, %dMB ", - cbc->log_drive, ciss_name_ldrive_org(ld->cl_ldrive->fault_tolerance), + ld->cl_address.logical.lun, + ciss_name_ldrive_org(ld->cl_ldrive->fault_tolerance), ((ld->cl_ldrive->blocks_available / (1024 * 1024)) * ld->cl_ldrive->block_size)); ==== //depot/projects/netperf/sys/dev/ed/if_ed.c#3 (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.c,v 1.218 2003/08/07 15:04:24 jhb Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed.c,v 1.219 2003/10/15 17:22:15 shiba Exp $ */ /* @@ -911,6 +911,120 @@ } /* + * Probe and vendor-specific initialization routine for SIC boards + */ +int +ed_probe_SIC(dev, port_rid, flags) + device_t dev; + int port_rid; + int flags; +{ + struct ed_softc *sc = device_get_softc(dev); + int error; + int i; + u_int memsize; + u_long conf_maddr, conf_msize; + u_char sum; + + error = ed_alloc_port(dev, 0, ED_SIC_IO_PORTS); + if (error) + return (error); + + sc->asic_offset = ED_SIC_ASIC_OFFSET; + sc->nic_offset = ED_SIC_NIC_OFFSET; + + error = bus_get_resource(dev, SYS_RES_MEMORY, 0, + &conf_maddr, &conf_msize); + if (error) + return (error); + + memsize = 16384; + if (conf_msize > 1) + memsize = conf_msize; + + error = ed_alloc_memory(dev, 0, memsize); + if (error) + return (error); + + sc->mem_start = (caddr_t) rman_get_virtual(sc->mem_res); + sc->mem_size = memsize; + + /* Reset card to force it into a known state. */ + ed_asic_outb(sc, 0, 0x00); + DELAY(100); + + /* + * Here we check the card ROM, if the checksum passes, and the + * type code and ethernet address check out, then we know we have + * an SIC card. + */ + ed_asic_outb(sc, 0, 0x81); + DELAY(100); + + sum = sc->mem_start[6]; + for (i = 0; i < ETHER_ADDR_LEN; i++) { + sum ^= (sc->arpcom.ac_enaddr[i] = sc->mem_start[i]); + } +#ifdef ED_DEBUG + device_printf(dev, "ed_probe_sic: got address %6D\n", + sc->arpcom.ac_enaddr, ":"); +#endif + if (sum != 0) { + return (ENXIO); + } + if ((sc->arpcom.ac_enaddr[0] | sc->arpcom.ac_enaddr[1] | + sc->arpcom.ac_enaddr[2]) == 0) { + return (ENXIO); + } + + sc->vendor = ED_VENDOR_SIC; + sc->type_str = "SIC"; + sc->isa16bit = 0; + sc->cr_proto = 0; + + /* + * SIC RAM page 0x0000-0x3fff(or 0x7fff) + */ + ed_asic_outb(sc, 0, 0x80); + DELAY(100); + + /* + * Now zero memory and verify that it is clear + */ + bzero(sc->mem_start, sc->mem_size); + + for (i = 0; i < sc->mem_size; i++) { + if (sc->mem_start[i]) { + device_printf(dev, "failed to clear shared memory " + "at %jx - check configuration\n", + (uintmax_t)kvtop(sc->mem_start + i)); + + return (ENXIO); + } + } + + sc->mem_shared = 1; + sc->mem_end = sc->mem_start + sc->mem_size; + + /* + * allocate one xmit buffer if < 16k, two buffers otherwise + */ + if ((sc->mem_size < 16384) || (flags & ED_FLAGS_NO_MULTI_BUFFERING)) { + sc->txb_cnt = 1; + } else { + sc->txb_cnt = 2; + } + sc->tx_page_start = 0; + + sc->rec_page_start = sc->tx_page_start + ED_TXBUF_SIZE * sc->txb_cnt; + sc->rec_page_stop = sc->tx_page_start + sc->mem_size / ED_PAGE_SIZE; + + sc->mem_ring = sc->mem_start + sc->txb_cnt * ED_PAGE_SIZE * ED_TXBUF_SIZE; + + return (0); +} + +/* * Probe and vendor-specific initialization routine for NE1000/2000 boards */ int ==== //depot/projects/netperf/sys/dev/ed/if_ed_cbus.c#3 (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_cbus.c,v 1.10 2003/08/06 18:06:30 bde Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed_cbus.c,v 1.11 2003/10/15 17:22:15 shiba Exp $ */ #include @@ -869,8 +869,8 @@ return (error); } - sc->asic_offset = ED_NOVELL_ASIC_OFFSET; - sc->nic_offset = ED_NOVELL_NIC_OFFSET; + sc->asic_offset = ED_SIC_ASIC_OFFSET; + sc->nic_offset = ED_SIC_NIC_OFFSET; error = ed98_alloc_memory(dev, 0); if (error) { @@ -916,7 +916,7 @@ return (ENXIO); } - sc->vendor = ED_VENDOR_MISC; + sc->vendor = ED_VENDOR_SIC; sc->type_str = "SIC98"; sc->isa16bit = 1; sc->cr_proto = 0; ==== //depot/projects/netperf/sys/dev/ed/if_ed_isa.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_isa.c,v 1.13 2003/08/24 17:46:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_isa.c,v 1.14 2003/10/15 17:22:15 shiba Exp $"); #include #include @@ -97,6 +97,11 @@ goto end; ed_release_resources(dev); + error = ed_probe_SIC(dev, 0, flags); + if (error == 0) + goto end; + ed_release_resources(dev); + error = ed_probe_Novell(dev, 0, flags); if (error == 0) goto end; ==== //depot/projects/netperf/sys/dev/ed/if_edreg.h#2 (text+ko) ==== @@ -6,7 +6,7 @@ * of this software, nor does the author assume any responsibility * for damages incurred with its use. * - * $FreeBSD: src/sys/dev/ed/if_edreg.h,v 1.31 2001/07/22 18:58:44 iedowse Exp $ + * $FreeBSD: src/sys/dev/ed/if_edreg.h,v 1.32 2003/10/15 17:22:15 shiba Exp $ */ /* * National Semiconductor DS8390 NIC register definitions @@ -578,6 +578,7 @@ #define ED_VENDOR_PCCARD 0x03 /* PCMCIA/PCCARD */ #define ED_VENDOR_HP 0x04 /* Hewlett Packard */ #define ED_VENDOR_LINKSYS 0x05 /* Linksys (Dlink) */ +#define ED_VENDOR_SIC 0x06 /* Allied-Telesis SIC */ /* * Compile-time config flags @@ -1101,6 +1102,14 @@ #define ED_TYPE_HP_PCLANPLUS 0x00 /* + * Definitions for Allied-Telesis SIC + */ +#define ED_SIC_NIC_OFFSET 0 +#define ED_SIC_ASIC_OFFSET 0x10 /* offset to nic i/o regs */ + +#define ED_SIC_IO_PORTS 17 /* # of i/o addresses used */ + +/* * Chip types. */ ==== //depot/projects/netperf/sys/dev/ed/if_edvar.h#2 (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_edvar.h,v 1.14 2002/03/20 02:07:18 alfred Exp $ + * $FreeBSD: src/sys/dev/ed/if_edvar.h,v 1.15 2003/10/15 17:22:15 shiba Exp $ */ #ifndef SYS_DEV_ED_IF_EDVAR_H @@ -199,6 +199,7 @@ int ed_probe_WD80x3 (device_t, int, int); int ed_probe_WD80x3_generic (device_t, int, unsigned short *[]); int ed_probe_3Com (device_t, int, int); +int ed_probe_SIC (device_t, int, int); int ed_probe_Novell (device_t, int, int); int ed_probe_Novell_generic (device_t, int); int ed_probe_HP_pclanp (device_t, int, int); ==== //depot/projects/netperf/sys/fs/specfs/spec_vnops.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95 - * $FreeBSD: src/sys/fs/specfs/spec_vnops.c,v 1.210 2003/10/04 09:20:00 alc Exp $ + * $FreeBSD: src/sys/fs/specfs/spec_vnops.c,v 1.211 2003/10/15 20:00:59 phk Exp $ */ #include @@ -196,9 +196,14 @@ VOP_UNLOCK(vp, 0, td); if(dsw->d_flags & D_NOGIANT) { DROP_GIANT(); - error = dsw->d_open(dev, ap->a_mode, S_IFCHR, td); + if (dsw->d_fdopen != NULL) + error = dsw->d_fdopen(dev, ap->a_mode, td, ap->a_fdidx); + else + error = dsw->d_open(dev, ap->a_mode, S_IFCHR, td); PICKUP_GIANT(); - } else + } else if (dsw->d_fdopen != NULL) + error = dsw->d_fdopen(dev, ap->a_mode, td, ap->a_fdidx); + else error = dsw->d_open(dev, ap->a_mode, S_IFCHR, td); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); ==== //depot/projects/netperf/sys/i386/isa/apic_vector.s#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/i386/isa/apic_vector.s,v 1.89 2003/07/10 01:02:59 peter Exp $ + * $FreeBSD: src/sys/i386/isa/apic_vector.s,v 1.90 2003/10/16 10:44:24 bde Exp $ */ #include @@ -467,10 +467,12 @@ pushl %ecx pushl %edx pushl %ds /* save current data segment */ + pushl %es pushl %fs movl $KDSEL, %eax mov %ax, %ds /* use KERNEL data segment */ + mov %ax, %es movl $KPSEL, %eax mov %ax, %fs @@ -507,6 +509,7 @@ call *%eax 2: popl %fs + popl %es popl %ds /* restore previous data segment */ popl %edx popl %ecx ==== //depot/projects/netperf/sys/i386/isa/isa_compat.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ #ifndef BURN_BRIDGES #include -__FBSDID("$FreeBSD: src/sys/i386/isa/isa_compat.c,v 1.28 2003/09/05 14:55:11 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/isa_compat.c,v 1.29 2003/10/16 09:18:35 dfr Exp $"); #include #include @@ -48,6 +48,17 @@ #include #include +/* + * The 'priv' field has been removed from 'struct driver' since the + * only remaining user of that field was this compatibility layer. We + * use this field to map from the newbus driver stub to the underlying + * old-style isa driver. + */ +struct isa_compat_driver { + KOBJ_CLASS_FIELDS; + void *priv; +}; + struct isa_compat_resources { struct resource *ports; struct resource *memory; @@ -137,6 +148,7 @@ static int isa_compat_probe(device_t dev) { + struct isa_compat_driver *drv; struct isa_device *dvp = device_get_softc(dev); struct isa_compat_resources res; u_long start, count; @@ -149,7 +161,8 @@ /* * Fill in the isa_device fields. */ - dvp->id_driver = device_get_driver(dev)->priv; + drv = (struct isa_compat_driver *) device_get_driver(dev); + dvp->id_driver = drv->priv; if (bus_get_resource(dev, SYS_RES_IOPORT, 0, &start, &count) == 0) dvp->id_iobase = start; @@ -267,12 +280,13 @@ compat_isa_handler(module_t mod, int type, void *data) { struct isa_driver *id = (struct isa_driver *)data; - driver_t *driver; + struct isa_compat_driver *driver; devclass_t isa_devclass = devclass_find("isa"); switch (type) { case MOD_LOAD: - driver = malloc(sizeof(driver_t), M_DEVBUF, M_NOWAIT | M_ZERO); + driver = malloc(sizeof(struct isa_compat_driver), + M_DEVBUF, M_NOWAIT | M_ZERO); if (!driver) return ENOMEM; driver->name = id->name; @@ -287,7 +301,7 @@ driver->name); #endif } - devclass_add_driver(isa_devclass, driver); + devclass_add_driver(isa_devclass, (kobj_class_t) driver); break; case MOD_UNLOAD: printf("%s: module unload not supported!\n", id->name); ==== //depot/projects/netperf/sys/kern/kern_clock.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.162 2003/06/27 08:35:05 smkelly Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.163 2003/10/16 08:39:15 jeff Exp $"); #include "opt_ntp.h" #include "opt_ddb.h" @@ -385,7 +385,6 @@ struct rusage *ru; struct vmspace *vm; struct thread *td; - struct kse *ke; struct proc *p; long rss; @@ -393,7 +392,6 @@ p = td->td_proc; mtx_lock_spin_flags(&sched_lock, MTX_QUIET); - ke = td->td_kse; if (CLKF_USERMODE(frame)) { /* * Charge the time as appropriate. @@ -401,7 +399,7 @@ if (p->p_flag & P_SA) thread_statclock(1); p->p_uticks++; - if (ke->ke_ksegrp->kg_nice > NZERO) + if (td->td_ksegrp->kg_nice > NZERO) cp_time[CP_NICE]++; else cp_time[CP_USER]++; @@ -433,7 +431,7 @@ } } - sched_clock(ke); + sched_clock(td); /* Update resource usage integrals and maximums. */ if ((pstats = p->p_stats) != NULL && ==== //depot/projects/netperf/sys/kern/kern_proc.c#6 (text+ko) ==== @@ -31,11 +31,11 @@ * SUCH DAMAGE. * * @(#)kern_proc.c 8.7 (Berkeley) 2/14/95 - * $FreeBSD: src/sys/kern/kern_proc.c,v 1.196 2003/10/15 03:11:46 peter Exp $ + * $FreeBSD: src/sys/kern/kern_proc.c,v 1.197 2003/10/16 08:39:15 jeff Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.196 2003/10/15 03:11:46 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.197 2003/10/16 08:39:15 jeff Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -763,16 +763,13 @@ kp->ki_tdflags = td->td_flags; kp->ki_pcb = td->td_pcb; kp->ki_kstack = (void *)td->td_kstack; + kp->ki_pctcpu = sched_pctcpu(td); /* Things in the kse */ - - if (ke) { + if (ke) kp->ki_rqindex = ke->ke_rqindex; - kp->ki_pctcpu = sched_pctcpu(ke); - } else { + else kp->ki_rqindex = 0; - kp->ki_pctcpu = 0; - } } else { kp->ki_stat = SZOMB; ==== //depot/projects/netperf/sys/kern/kern_switch.c#2 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.60 2003/06/15 00:31:24 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.61 2003/10/16 08:39:15 jeff Exp $"); #include #include @@ -210,7 +210,7 @@ kg->kg_last_assigned = td; td->td_kse = ke; ke->ke_thread = td; - sched_add(ke); + sched_add(td); CTR2(KTR_RUNQ, "kse_reassign: ke%p -> td%p", ke, td); return; } @@ -249,7 +249,7 @@ */ if ((td->td_proc->p_flag & P_SA) == 0) { /* Bring its kse with it, leave the thread attached */ - sched_rem(ke); + sched_rem(td); ke->ke_state = KES_THREAD; return; } @@ -262,7 +262,7 @@ * KSE to the next available thread. Then, we should * see if we need to move the KSE in the run queues. */ - sched_rem(ke); + sched_rem(td); ke->ke_state = KES_THREAD; td2 = kg->kg_last_assigned; KASSERT((td2 != NULL), ("last assigned has wrong value")); @@ -294,8 +294,8 @@ /* We only care about the kse in the run queue. */ td->td_priority = newpri; if (ke->ke_rqindex != (newpri / RQ_PPQ)) { - sched_rem(ke); - sched_add(ke); + sched_rem(td); + sched_add(td); } return; } @@ -309,7 +309,7 @@ kg->kg_last_assigned = TAILQ_PREV(td, threadqueue, td_runq); } - sched_rem(ke); + sched_rem(td); } TAILQ_REMOVE(&kg->kg_runq, td, td_runq); td->td_priority = newpri; @@ -337,7 +337,7 @@ * and the KSE is always already attached. * Totally ignore the ksegrp run queue. */ - sched_add(td->td_kse); + sched_add(td); return; } @@ -360,7 +360,7 @@ ke->ke_thread = NULL; tda = kg->kg_last_assigned = TAILQ_PREV(tda, threadqueue, td_runq); - sched_rem(ke); + sched_rem(td); } } else { /* @@ -419,7 +419,7 @@ td2->td_kse = ke; ke->ke_thread = td2; } - sched_add(ke); + sched_add(ke->ke_thread); } } ==== //depot/projects/netperf/sys/kern/kern_synch.c#7 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.235 2003/10/05 09:35:08 bms Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.236 2003/10/16 08:53:46 jeff Exp $"); #include "opt_ddb.h" #include "opt_ktrace.h" @@ -457,9 +457,7 @@ { struct bintime new_switchtime; struct thread *td; - struct thread *newtd; struct proc *p; - u_int sched_nest; mtx_assert(&sched_lock, MA_OWNED | MA_NOTRECURSED); td = curthread; /* XXX */ @@ -510,18 +508,9 @@ PCPU_SET(switchtime, new_switchtime); CTR3(KTR_PROC, "mi_switch: old thread %p (pid %d, %s)", td, p->p_pid, p->p_comm); - sched_nest = sched_lock.mtx_recurse; if (td->td_proc->p_flag & P_SA) thread_switchout(td); - sched_switchout(td); - - newtd = choosethread(); - if (td != newtd) - cpu_switch(td, newtd); /* SHAZAM!! */ - - sched_lock.mtx_recurse = sched_nest; - sched_lock.mtx_lock = (uintptr_t)td; - sched_switchin(td); + sched_switch(td); /* * Start setting up stats etc. for the incoming thread. ==== //depot/projects/netperf/sys/kern/sched_4bsd.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.22 2003/08/19 17:51:09 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.24 2003/10/16 08:53:46 jeff Exp $"); #include #include @@ -441,14 +441,14 @@ * run much recently, and to round-robin among other processes. */ void -sched_clock(struct kse *ke) +sched_clock(struct thread *td) { struct ksegrp *kg; - struct thread *td; + struct kse *ke; mtx_assert(&sched_lock, MA_OWNED); - kg = ke->ke_ksegrp; - td = ke->ke_thread; + kg = td->td_ksegrp; + ke = td->td_kse; ke->ke_sched->ske_cpticks++; kg->kg_estcpu = ESTCPULIM(kg->kg_estcpu + 1); @@ -564,16 +564,10 @@ } void -sched_switchin(struct thread *td) +sched_switch(struct thread *td) { - - mtx_assert(&sched_lock, MA_OWNED); - td->td_oncpu = PCPU_GET(cpuid); -} - -void -sched_switchout(struct thread *td) -{ + struct thread *newtd; + u_long sched_nest; struct kse *ke; struct proc *p; @@ -603,6 +597,13 @@ */ kse_reassign(ke); } + sched_nest = sched_lock.mtx_recurse; + newtd = choosethread(); + if (td != newtd) + cpu_switch(td, newtd); + sched_lock.mtx_recurse = sched_nest; + sched_lock.mtx_lock = (uintptr_t)td; + td->td_oncpu = PCPU_GET(cpuid); } void @@ -620,8 +621,11 @@ } void -sched_add(struct kse *ke) +sched_add(struct thread *td) { + struct kse *ke; + + ke = td->td_kse; mtx_assert(&sched_lock, MA_OWNED); KASSERT((ke->ke_thread != NULL), ("runq_add: No thread on KSE")); KASSERT((ke->ke_thread->td_kse != NULL), @@ -638,8 +642,11 @@ } void -sched_rem(struct kse *ke) +sched_rem(struct thread *td) { + struct kse *ke; + + ke = td->td_kse; KASSERT(ke->ke_proc->p_sflag & PS_INMEM, ("runq_remove: process swapped out")); KASSERT((ke->ke_state == KES_ONRUNQ), ("KSE not on run queue")); @@ -714,7 +721,7 @@ } fixpt_t -sched_pctcpu(struct kse *ke) +sched_pctcpu(struct thread *td) { - return (ke->ke_pctcpu); + return (td->td_kse->ke_pctcpu); } ==== //depot/projects/netperf/sys/kern/sched_ule.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.59 2003/10/15 07:47:06 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.63 2003/10/16 10:04:54 jeff Exp $"); #include #include @@ -150,11 +150,11 @@ * INTERACT_MAX: Maximum interactivity value. Smaller is better. * INTERACT_THRESH: Threshhold for placement on the current runq. */ -#define SCHED_SLP_RUN_MAX ((hz * 2) << 10) +#define SCHED_SLP_RUN_MAX ((hz * 5) << 10) #define SCHED_SLP_RUN_THROTTLE (100) #define SCHED_INTERACT_MAX (100) #define SCHED_INTERACT_HALF (SCHED_INTERACT_MAX / 2) -#define SCHED_INTERACT_THRESH (20) +#define SCHED_INTERACT_THRESH (30) /* * These parameters and macros determine the size of the time slice that is @@ -674,12 +674,10 @@ static void sched_interact_update(struct ksegrp *kg) { - int ratio; - if ((kg->kg_runtime + kg->kg_slptime) > SCHED_SLP_RUN_MAX) { - ratio = (SCHED_SLP_RUN_MAX / - (kg->kg_runtime + kg->kg_slptime)) * 4; - kg->kg_runtime = (kg->kg_runtime * ratio) / 5; - kg->kg_slptime = (kg->kg_slptime * ratio) / 5; + /* XXX Fixme, use a linear algorithm and not a while loop. */ + while ((kg->kg_runtime + kg->kg_slptime) > SCHED_SLP_RUN_MAX) { + kg->kg_runtime = (kg->kg_runtime / 5) * 4; + kg->kg_slptime = (kg->kg_slptime / 5) * 4; } } @@ -787,8 +785,10 @@ } void -sched_switchout(struct thread *td) +sched_switch(struct thread *td) { + struct thread *newtd; + u_int sched_nest; struct kse *ke; mtx_assert(&sched_lock, MA_OWNED); @@ -815,9 +815,7 @@ runq_add(ke->ke_runq, ke); /* setrunqueue(td); */ } - return; - } - if (ke->ke_runq) + } else if (ke->ke_runq) kseq_rem(KSEQ_CPU(ke->ke_cpu), ke); /* * We will not be on the run queue. So we must be @@ -825,13 +823,12 @@ */ if (td->td_proc->p_flag & P_SA) kse_reassign(ke); -} - -void -sched_switchin(struct thread *td) -{ - /* struct kse *ke = td->td_kse; */ - mtx_assert(&sched_lock, MA_OWNED); + sched_nest = sched_lock.mtx_recurse; + newtd = choosethread(); + if (td != newtd) + cpu_switch(td, newtd); + sched_lock.mtx_recurse = sched_nest; + sched_lock.mtx_lock = (uintptr_t)td; td->td_oncpu = PCPU_GET(cpuid); } @@ -1013,11 +1010,11 @@ } void -sched_clock(struct kse *ke) +sched_clock(struct thread *td) { struct kseq *kseq; struct ksegrp *kg; - struct thread *td; + struct kse *ke; #if 0 struct kse *nke; #endif @@ -1038,7 +1035,7 @@ tickincr = 1; } - td = ke->ke_thread; + ke = td->td_kse; kg = ke->ke_ksegrp; mtx_assert(&sched_lock, MA_OWNED); @@ -1227,11 +1224,14 @@ } void -sched_add(struct kse *ke) +sched_add(struct thread *td) { struct kseq *kseq; struct ksegrp *kg; + struct kse *ke; + ke = td->td_kse; + kg = td->td_ksegrp; mtx_assert(&sched_lock, MA_OWNED); KASSERT((ke->ke_thread != NULL), ("sched_add: No thread on KSE")); KASSERT((ke->ke_thread->td_kse != NULL), @@ -1244,7 +1244,6 @@ KASSERT(ke->ke_runq == NULL, ("sched_add: KSE %p is still assigned to a run queue", ke)); - kg = ke->ke_ksegrp; switch (PRI_BASE(kg->kg_pri_class)) { case PRI_ITHD: @@ -1285,9 +1284,12 @@ } void -sched_rem(struct kse *ke) +sched_rem(struct thread *td) { struct kseq *kseq; + struct kse *ke; + + ke = td->td_kse; mtx_assert(&sched_lock, MA_OWNED); KASSERT((ke->ke_state == KES_ONRUNQ), ("KSE not on run queue")); @@ -1300,11 +1302,13 @@ } fixpt_t -sched_pctcpu(struct kse *ke) +sched_pctcpu(struct thread *td) { fixpt_t pctcpu; + struct kse *ke; pctcpu = 0; + ke = td->td_kse; mtx_lock_spin(&sched_lock); if (ke->ke_ticks) { ==== //depot/projects/netperf/sys/kern/subr_bus.c#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1997,1998 Doug Rabson + * Copyright (c) 1997,1998,2003 Doug Rabson * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.132 2003/10/14 06:22:07 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.133 2003/10/16 09:16:28 dfr Exp $"); #include "opt_bus.h" @@ -62,8 +62,8 @@ */ typedef struct driverlink *driverlink_t; struct driverlink { - driver_t *driver; - TAILQ_ENTRY(driverlink) link; /* list of drivers in devclass */ + kobj_class_t driver; + TAILQ_ENTRY(driverlink) link; /* list of drivers in devclass */ }; /* @@ -75,6 +75,7 @@ struct devclass { TAILQ_ENTRY(devclass) link; + devclass_t parent; /* parent in devclass hierarchy */ driver_list_t drivers; /* bus devclasses store drivers for bus */ char *name; device_t *devices; /* array of devices indexed by unit */ @@ -509,7 +510,8 @@ static devclass_list_t devclasses = TAILQ_HEAD_INITIALIZER(devclasses); static devclass_t -devclass_find_internal(const char *classname, int create) +devclass_find_internal(const char *classname, const char *parentname, + int create) { devclass_t dc; @@ -519,15 +521,16 @@ TAILQ_FOREACH(dc, &devclasses, link) { if (!strcmp(dc->name, classname)) - return (dc); + break; } - PDEBUG(("%s not found%s", classname, (create? ", creating": ""))); - if (create) { + if (create && !dc) { + PDEBUG(("creating %s", classname)); dc = malloc(sizeof(struct devclass) + strlen(classname) + 1, M_BUS, M_NOWAIT|M_ZERO); if (!dc) return (NULL); + dc->parent = NULL; dc->name = (char*) (dc + 1); strcpy(dc->name, classname); TAILQ_INIT(&dc->drivers); @@ -535,6 +538,9 @@ bus_data_generation_update(); } + if (parentname && dc && !dc->parent) { + dc->parent = devclass_find_internal(parentname, 0, FALSE); + } return (dc); } @@ -542,13 +548,13 @@ devclass_t devclass_create(const char *classname) { - return (devclass_find_internal(classname, TRUE)); + return (devclass_find_internal(classname, 0, TRUE)); } devclass_t devclass_find(const char *classname) { - return (devclass_find_internal(classname, FALSE)); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Oct 17 09:49:12 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E435216A4C0; Fri, 17 Oct 2003 09:49: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 BA1F516A4B3 for ; Fri, 17 Oct 2003 09:49:11 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0113143FAF for ; Fri, 17 Oct 2003 09:49:11 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HGnAXJ018149 for ; Fri, 17 Oct 2003 09:49:10 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HGnAtg018146 for perforce@freebsd.org; Fri, 17 Oct 2003 09:49:10 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Fri, 17 Oct 2003 09:49:10 -0700 (PDT) Message-Id: <200310171649.h9HGnAtg018146@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 39838 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, 17 Oct 2003 16:49:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=39838 Change 39838 by areisse@areisse_tislabs on 2003/10/17 09:49:09 allow cvs to access home directories and run some helpers Affected files ... .. //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/cvs_macros.te#3 edit Differences ... ==== //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/cvs_macros.te#3 (text+ko) ==== @@ -44,7 +44,7 @@ allow $1_cvs_ro_t $1_cvsrep_t:file r_file_perms; # read/write user home directory -allow { $1_cvs_rw_t $1_cvs_ro_t } home_root_t:dir search; +allow { $1_cvs_rw_t $1_cvs_ro_t } home_root_t:dir { getattr search read }; allow { $1_cvs_rw_t $1_cvs_ro_t } { $2_home_dir_t $2_home_t }:dir create_dir_perms; allow { $1_cvs_rw_t $1_cvs_ro_t } $2_home_t:file create_file_perms; @@ -52,4 +52,7 @@ allow { $1_cvs_rw_t $1_cvs_ro_t } $2_devpts_t:chr_file { write read getattr poll }; allow { $1_cvs_rw_t $1_cvs_ro_t } $2_tty_device_t:chr_file { write read getattr poll }; +# run helpers +allow { $1_cvs_rw_t $1_cvs_ro_t } bin_t:dir { read search getattr }; +allow { $1_cvs_rw_t $1_cvs_ro_t } bin_t:file { rx_file_perms execute_no_trans }; ') From owner-p4-projects@FreeBSD.ORG Fri Oct 17 11:04:48 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4006216A4C0; Fri, 17 Oct 2003 11:04: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 123A216A4B3 for ; Fri, 17 Oct 2003 11:04:48 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0663443FD7 for ; Fri, 17 Oct 2003 11:04:47 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HI4kXJ023496 for ; Fri, 17 Oct 2003 11:04:46 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HI4koN023489 for perforce@freebsd.org; Fri, 17 Oct 2003 11:04:46 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 11:04:46 -0700 (PDT) Message-Id: <200310171804.h9HI4koN023489@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 39844 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, 17 Oct 2003 18:04:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=39844 Change 39844 by sam@sam_ebb on 2003/10/17 11:04:37 permit multiple instances of the network stack to operate concurrently; this does not handle packet ordering issues yet (I think) but lets us look for synchronization problems Affected files ... .. //depot/projects/netperf/sys/net/netisr.c#5 edit Differences ... ==== //depot/projects/netperf/sys/net/netisr.c#5 (text+ko) ==== @@ -60,7 +60,6 @@ struct ifqueue *ni_queue; } netisrs[32]; -static struct mtx netisr_mtx; static void *net_ih; void @@ -83,17 +82,13 @@ netisr_unregister(int num) { struct netisr *ni; - int s; KASSERT(!(num < 0 || num >= (sizeof(netisrs)/sizeof(*netisrs))), ("bad isr %d", num)); ni = &netisrs[num]; ni->ni_handler = NULL; - if (ni->ni_queue != NULL) { - s = splimp(); + if (ni->ni_queue != NULL) IF_DRAIN(ni->ni_queue); - splx(s); - } } struct isrstat { @@ -143,15 +138,6 @@ /* * Call the netisr directly instead of queueing the packet, if possible. - * - * Ideally, the permissibility of calling the routine would be determined - * by checking if splnet() was asserted at the time the device interrupt - * occurred; if so, this indicates that someone is in the network stack. - * - * However, bus_setup_intr uses INTR_TYPE_NET, which sets splnet before - * calling the interrupt handler, so the previous mask is unavailable. - * Approximate this by checking intr_nesting_level instead; if any SWI - * handlers are running, the packet is queued instead. */ void netisr_dispatch(int num, struct mbuf *m) @@ -166,7 +152,7 @@ m_freem(m); return; } - if (netisr_enable && mtx_trylock(&netisr_mtx)) { + if (netisr_enable) { isrstat.isrs_directed++; /* * One slight problem here is that packets might bypass @@ -182,7 +168,6 @@ */ netisr_processqueue(ni); ni->ni_handler(m); - mtx_unlock(&netisr_mtx); } else { isrstat.isrs_deferred++; if (IF_HANDOFF(ni->ni_queue, m, NULL)) @@ -226,7 +211,6 @@ const int polling = 0; #endif - mtx_lock(&netisr_mtx); do { bits = atomic_readandclear_int(&netisr); if (bits == 0) @@ -246,14 +230,12 @@ netisr_processqueue(ni); } } while (polling); - mtx_unlock(&netisr_mtx); } static void start_netisr(void *dummy) { - mtx_init(&netisr_mtx, "netisr lock", NULL, MTX_DEF); if (swi_add(NULL, "net", swi_net, NULL, SWI_NET, INTR_MPSAFE, &net_ih)) panic("start_netisr"); } From owner-p4-projects@FreeBSD.ORG Fri Oct 17 11:07:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5F7616A4C1; Fri, 17 Oct 2003 11:07: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 80E7A16A4BF for ; Fri, 17 Oct 2003 11:07:52 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FBF143FBD for ; Fri, 17 Oct 2003 11:07:52 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HI7pXJ023672 for ; Fri, 17 Oct 2003 11:07:51 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HI7pR9023668 for perforce@freebsd.org; Fri, 17 Oct 2003 11:07:51 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 11:07:51 -0700 (PDT) Message-Id: <200310171807.h9HI7pR9023668@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 39846 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, 17 Oct 2003 18:07:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=39846 Change 39846 by sam@sam_ebb on 2003/10/17 11:07:15 don't do (potential) direct dispatch of packets through the loopback interface, queue them instead; this avoids, for example, tcp handshakes happening entirely on the same stack and avoids inpcb mutex recursion/usage problems (i.e. mtx_destroy finds the mutex busy when asked to destroy it because everything happens directly) Affected files ... .. //depot/projects/netperf/sys/net/if_loop.c#7 edit Differences ... ==== //depot/projects/netperf/sys/net/if_loop.c#7 (text+ko) ==== @@ -345,7 +345,7 @@ } ifp->if_ipackets++; ifp->if_ibytes += m->m_pkthdr.len; - netisr_dispatch(isr, m); + netisr_queue(isr, m); return (0); } From owner-p4-projects@FreeBSD.ORG Fri Oct 17 11:08:54 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9654816A4C0; Fri, 17 Oct 2003 11:08: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 70B3416A4B3 for ; Fri, 17 Oct 2003 11:08:54 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F1D1F43F85 for ; Fri, 17 Oct 2003 11:08:53 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HI8rXJ023732 for ; Fri, 17 Oct 2003 11:08:53 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HI8rPY023729 for perforce@freebsd.org; Fri, 17 Oct 2003 11:08:53 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 11:08:53 -0700 (PDT) Message-Id: <200310171808.h9HI8rPY023729@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 39847 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, 17 Oct 2003 18:08:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=39847 Change 39847 by sam@sam_ebb on 2003/10/17 11:08:14 o add debug message for frames too short o move comon debug message to level 2 Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_input.c#10 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_input.c#10 (text+ko) ==== @@ -129,6 +129,8 @@ */ if (m->m_pkthdr.len < sizeof(struct ieee80211_frame)) { /* XXX statistic */ + IEEE80211_DPRINTF2(("%s: frame too short, len %u", + __func__, m->m_pkthdr.len)); ic->ic_stats.is_rx_tooshort++; goto out; /* XXX */ } @@ -710,7 +712,7 @@ erp = frm[2]; break; default: - IEEE80211_DPRINTF(("%s: element id %u/len %u " + IEEE80211_DPRINTF2(("%s: element id %u/len %u " "ignored\n", __func__, *frm, frm[1])); ic->ic_stats.is_rx_elem_unknown++; break; From owner-p4-projects@FreeBSD.ORG Fri Oct 17 11:08:55 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39D4E16A4DB; Fri, 17 Oct 2003 11:08:55 -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 0E24416A4D9 for ; Fri, 17 Oct 2003 11:08:55 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7599843F85 for ; Fri, 17 Oct 2003 11:08:54 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HI8sXJ023738 for ; Fri, 17 Oct 2003 11:08:54 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HI8s6q023735 for perforce@freebsd.org; Fri, 17 Oct 2003 11:08:54 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 11:08:54 -0700 (PDT) Message-Id: <200310171808.h9HI8s6q023735@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 39848 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, 17 Oct 2003 18:08:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=39848 Change 39848 by sam@sam_ebb on 2003/10/17 11:08:42 add debug msg for tx frames discarded when encapsulating Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_output.c#8 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_output.c#8 (text+ko) ==== @@ -171,6 +171,9 @@ * multicast/broadcast frame. */ if (!IEEE80211_IS_MULTICAST(eh.ether_dhost)) { + IEEE80211_DPRINTF(("%s: no node for dst %s, " + "discard frame", __func__, + ether_sprintf(eh.ether_dhost))); ic->ic_stats.is_tx_nonode++; goto bad; } From owner-p4-projects@FreeBSD.ORG Fri Oct 17 11:14:04 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1112116A4C0; Fri, 17 Oct 2003 11:14: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 C765816A4B3 for ; Fri, 17 Oct 2003 11:14:03 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6897E43FBD for ; Fri, 17 Oct 2003 11:14:01 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HIE1XJ024007 for ; Fri, 17 Oct 2003 11:14:01 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HIE0Oh024004 for perforce@freebsd.org; Fri, 17 Oct 2003 11:14:00 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 11:14:00 -0700 (PDT) Message-Id: <200310171814.h9HIE0Oh024004@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 39849 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, 17 Oct 2003 18:14:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=39849 Change 39849 by sam@sam_ebb on 2003/10/17 11:13:27 IFC @ 39848 Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#23 integrate .. //depot/projects/netperf/sys/ia64/ia64/machdep.c#11 integrate .. //depot/projects/netperf/sys/kern/kern_idle.c#2 integrate .. //depot/projects/netperf/sys/kern/sched_4bsd.c#6 integrate .. //depot/projects/netperf/sys/kern/sched_ule.c#10 integrate .. //depot/projects/netperf/sys/kern/vfs_subr.c#7 integrate .. //depot/projects/netperf/sys/net/if.c#7 integrate .. //depot/projects/netperf/sys/net/if_var.h#2 integrate .. //depot/projects/netperf/sys/net/route.c#16 integrate .. //depot/projects/netperf/sys/netinet/icmp6.h#4 integrate .. //depot/projects/netperf/sys/netinet/ip_dummynet.c#11 integrate .. //depot/projects/netperf/sys/netinet/ip_input.c#13 integrate .. //depot/projects/netperf/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/netperf/sys/netinet6/icmp6.c#7 integrate .. //depot/projects/netperf/sys/netinet6/in6.c#8 integrate .. //depot/projects/netperf/sys/netinet6/in6_ifattach.c#9 integrate .. //depot/projects/netperf/sys/netinet6/in6_proto.c#5 integrate .. //depot/projects/netperf/sys/netinet6/in6_src.c#6 integrate .. //depot/projects/netperf/sys/netinet6/in6_var.h#3 integrate .. //depot/projects/netperf/sys/netinet6/ip6_input.c#10 integrate .. //depot/projects/netperf/sys/netinet6/ip6_output.c#14 integrate .. //depot/projects/netperf/sys/netinet6/nd6.c#11 integrate .. //depot/projects/netperf/sys/netinet6/nd6.h#4 integrate .. //depot/projects/netperf/sys/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/netperf/sys/netinet6/nd6_rtr.c#7 integrate .. //depot/projects/netperf/sys/netinet6/scope6.c#4 integrate .. //depot/projects/netperf/sys/netinet6/scope6_var.h#3 integrate .. //depot/projects/netperf/sys/sys/domain.h#4 integrate .. //depot/projects/netperf/sys/sys/kernel.h#2 integrate .. //depot/projects/netperf/sys/ufs/ffs/ffs_snapshot.c#4 integrate .. //depot/projects/netperf/sys/vm/vm_pageout.c#7 integrate Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#23 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.25 2003/10/14 22:51:45 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.26 2003/10/16 16:13:11 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. ==== //depot/projects/netperf/sys/ia64/ia64/machdep.c#11 (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.157 2003/10/03 03:50:29 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.158 2003/10/17 02:24:59 marcel Exp $ */ #include "opt_compat.h" @@ -272,13 +272,21 @@ } void -cpu_halt(void) +cpu_halt() { ia64_efi_runtime->ResetSystem(EfiResetWarm, EFI_SUCCESS, 0, 0); } void +cpu_idle() +{ + struct ia64_pal_result res; + + res = ia64_call_pal_static(PAL_HALT_LIGHT, 0, 0, 0); +} + +void cpu_reset() { ==== //depot/projects/netperf/sys/kern/kern_idle.c#2 (text+ko) ==== @@ -4,7 +4,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_idle.c,v 1.32 2003/06/11 00:56:55 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_idle.c,v 1.34 2003/10/17 03:49:03 peter Exp $"); #include "opt_ktrace.h" @@ -112,7 +112,7 @@ " for a process"); #endif -#ifdef __i386__ +#if defined(__i386__) || defined(__amd64__) || defined(__ia64__) cpu_idle(); #endif } ==== //depot/projects/netperf/sys/kern/sched_4bsd.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.24 2003/10/16 08:53:46 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.25 2003/10/16 21:13:14 jeff Exp $"); #include #include @@ -723,5 +723,11 @@ fixpt_t sched_pctcpu(struct thread *td) { - return (td->td_kse->ke_pctcpu); + struct kse *ke; + + ke = td->td_kse; + if (ke) + return (ke->ke_pctcpu); + + return (0); } ==== //depot/projects/netperf/sys/kern/sched_ule.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.63 2003/10/16 10:04:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.65 2003/10/16 20:32:57 jeff Exp $"); #include #include @@ -462,7 +462,7 @@ kseq_rem(from, ke); ke->ke_cpu = cpu; - sched_add(ke); + sched_add(ke->ke_thread); } #endif @@ -815,14 +815,16 @@ runq_add(ke->ke_runq, ke); /* setrunqueue(td); */ } - } else if (ke->ke_runq) - kseq_rem(KSEQ_CPU(ke->ke_cpu), ke); - /* - * We will not be on the run queue. So we must be - * sleeping or similar. - */ - if (td->td_proc->p_flag & P_SA) - kse_reassign(ke); + } else { + if (ke->ke_runq) + kseq_rem(KSEQ_CPU(ke->ke_cpu), ke); + /* + * We will not be on the run queue. So we must be + * sleeping or similar. + */ + if (td->td_proc->p_flag & P_SA) + kse_reassign(ke); + } sched_nest = sched_lock.mtx_recurse; newtd = choosethread(); if (td != newtd) ==== //depot/projects/netperf/sys/kern/vfs_subr.c#7 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.467 2003/10/12 14:04:39 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.468 2003/10/17 11:56:48 phk Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -2838,12 +2838,12 @@ count_dev(dev) dev_t dev; { - struct vnode *vp; + int count; - vp = SLIST_FIRST(&dev->si_hlist); - if (vp == NULL) - return (0); - return(vcount(vp)); + mtx_lock(&spechash_mtx); + count = dev->si_usecount; + mtx_unlock(&spechash_mtx); + return(count); } /* ==== //depot/projects/netperf/sys/net/if.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.167 2003/10/16 13:38:29 ume Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.168 2003/10/17 15:46:30 ume Exp $ */ #include "opt_compat.h" @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -78,6 +79,8 @@ #include #endif +static void if_attachdomain(void *); +static void if_attachdomain1(struct ifnet *); static int ifconf(u_long, caddr_t); static void if_grow(void); static void if_init(void *); @@ -442,10 +445,48 @@ } ifp->if_broadcastaddr = 0; /* reliably crash if used uninitialized */ + if (domains) + if_attachdomain1(ifp); + /* Announce the interface. */ rt_ifannouncemsg(ifp, IFAN_ARRIVAL); } +static void +if_attachdomain(dummy) + void *dummy; +{ + struct ifnet *ifp; + int s; + + s = splnet(); + for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) + if_attachdomain1(ifp); + splx(s); +} +SYSINIT(domainifattach, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_FIRST, + if_attachdomain, NULL); + +static void +if_attachdomain1(ifp) + struct ifnet *ifp; +{ + struct domain *dp; + int s; + + s = splnet(); + + /* address family dependent data region */ + bzero(ifp->if_afdata, sizeof(ifp->if_afdata)); + for (dp = domains; dp; dp = dp->dom_next) { + if (dp->dom_ifattach) + ifp->if_afdata[dp->dom_family] = + (*dp->dom_ifattach)(ifp); + } + + splx(s); +} + /* * Detach an interface, removing it from the * list of "active" interfaces. @@ -458,6 +499,7 @@ struct radix_node_head *rnh; int s; int i; + struct domain *dp; /* * Remove routes and flush queues. @@ -538,6 +580,12 @@ /* Announce that the interface is gone. */ rt_ifannouncemsg(ifp, IFAN_DEPARTURE); + for (dp = domains; dp; dp = dp->dom_next) { + if (dp->dom_ifdetach && ifp->if_afdata[dp->dom_family]) + (*dp->dom_ifdetach)(ifp, + ifp->if_afdata[dp->dom_family]); + } + #ifdef MAC mac_destroy_ifnet(ifp); #endif /* MAC */ ==== //depot/projects/netperf/sys/net/if_var.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)if.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/net/if_var.h,v 1.58 2003/01/01 18:48:54 schweikh Exp $ + * $FreeBSD: src/sys/net/if_var.h,v 1.59 2003/10/17 15:46:30 ume Exp $ */ #ifndef _NET_IF_VAR_H_ @@ -178,6 +178,8 @@ struct ifprefixhead if_prefixhead; /* list of prefixes per if */ u_int8_t *if_broadcastaddr; /* linklevel broadcast bytestring */ struct label if_label; /* interface MAC label */ + + void *if_afdata[AF_MAX]; }; typedef void if_init_f_t(void *); ==== //depot/projects/netperf/sys/net/route.c#16 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)route.c 8.3.1.1 (Berkeley) 2/23/95 - * $FreeBSD: src/sys/net/route.c,v 1.86 2003/10/11 04:48:35 sam Exp $ + * $FreeBSD: src/sys/net/route.c,v 1.87 2003/10/16 16:17:17 sam Exp $ */ #include "opt_inet.h" ==== //depot/projects/netperf/sys/netinet/icmp6.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet/icmp6.h,v 1.11 2003/10/07 15:14:33 ume Exp $ */ +/* $FreeBSD: src/sys/netinet/icmp6.h,v 1.12 2003/10/17 15:46:30 ume Exp $ */ /* $KAME: icmp6.h,v 1.46 2001/04/27 15:09:48 itojun Exp $ */ /* @@ -649,11 +649,8 @@ /* XXX: is this the right place for these macros? */ #define icmp6_ifstat_inc(ifp, tag) \ do { \ - if ((ifp) && (ifp)->if_index <= if_index \ - && (ifp)->if_index < icmp6_ifstatmax \ - && icmp6_ifstat && icmp6_ifstat[(ifp)->if_index]) { \ - icmp6_ifstat[(ifp)->if_index]->tag++; \ - } \ + if (ifp) \ + ((struct in6_ifextra *)((ifp)->if_afdata[AF_INET6]))->icmp6_ifstat->tag++; \ } while (/*CONSTCOND*/ 0) #define icmp6_ifoutstat_inc(ifp, type, code) \ @@ -661,7 +658,7 @@ icmp6_ifstat_inc(ifp, ifs6_out_msg); \ if (type < ICMP6_INFOMSG_MASK) \ icmp6_ifstat_inc(ifp, ifs6_out_error); \ - switch(type) { \ + switch (type) { \ case ICMP6_DST_UNREACH: \ icmp6_ifstat_inc(ifp, ifs6_out_dstunreach); \ if (code == ICMP6_DST_UNREACH_ADMIN) \ ==== //depot/projects/netperf/sys/netinet/ip_dummynet.c#11 (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/netinet/ip_dummynet.c,v 1.69 2003/09/17 00:54:04 sam Exp $ + * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.70 2003/10/16 16:21:25 sam Exp $ */ #define DUMMYNET_DEBUG ==== //depot/projects/netperf/sys/netinet/ip_input.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 - * $FreeBSD: src/sys/netinet/ip_input.c,v 1.245 2003/10/15 18:19:28 sam Exp $ + * $FreeBSD: src/sys/netinet/ip_input.c,v 1.246 2003/10/16 16:25:25 sam Exp $ */ #include "opt_bootp.h" ==== //depot/projects/netperf/sys/netinet/tcp_input.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.208 2003/08/13 08:46:54 harti Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.209 2003/10/17 15:46:30 ume Exp $ */ #include "opt_ipfw.h" /* for ipfw_fwd */ @@ -2712,8 +2712,7 @@ mss = rt->rt_rmx.rmx_mtu - min_protoh; else { if (isipv6) { - mss = nd_ifinfo[rt->rt_ifp->if_index].linkmtu - - min_protoh; + mss = ND_IFINFO(rt->rt_ifp)->linkmtu - min_protoh; if (!in6_localaddr(&inp->in6p_faddr)) mss = min(mss, tcp_v6mssdflt); } else { ==== //depot/projects/netperf/sys/netinet6/icmp6.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/icmp6.c,v 1.38 2003/10/10 16:04:00 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/icmp6.c,v 1.39 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: icmp6.c,v 1.211 2001/04/04 05:56:20 itojun Exp $ */ /* @@ -2158,7 +2158,7 @@ ip6->ip6_nxt = IPPROTO_ICMPV6; if (m->m_pkthdr.rcvif) { /* XXX: This may not be the outgoing interface */ - ip6->ip6_hlim = nd_ifinfo[m->m_pkthdr.rcvif->if_index].chlim; + ip6->ip6_hlim = ND_IFINFO(m->m_pkthdr.rcvif)->chlim; } else ip6->ip6_hlim = ip6_defhlim; ==== //depot/projects/netperf/sys/netinet6/in6.c#8 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/in6.c,v 1.30 2003/10/10 16:04:00 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/in6.c,v 1.33 2003/10/17 17:50:09 ume Exp $ */ /* $KAME: in6.c,v 1.259 2002/01/21 11:37:50 keiichi Exp $ */ /* @@ -281,30 +281,6 @@ } int -in6_ifindex2scopeid(idx) - int idx; -{ - struct ifnet *ifp; - struct ifaddr *ifa; - struct sockaddr_in6 *sin6; - - if (idx < 0 || if_index < idx) - return -1; - ifp = ifnet_byindex(idx); - - TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) - { - if (ifa->ifa_addr->sa_family != AF_INET6) - continue; - sin6 = (struct sockaddr_in6 *)ifa->ifa_addr; - if (IN6_IS_ADDR_SITELOCAL(&sin6->sin6_addr)) - return sin6->sin6_scope_id & 0xffff; - } - - return -1; -} - -int in6_mask2len(mask, lim0) struct in6_addr *mask; u_char *lim0; @@ -342,20 +318,6 @@ return x * 8 + y; } -void -in6_len2mask(mask, len) - struct in6_addr *mask; - int len; -{ - int i; - - bzero(mask, sizeof(*mask)); - for (i = 0; i < len / 8; i++) - mask->s6_addr8[i] = 0xff; - if (len % 8) - mask->s6_addr8[i] = (0xff00 >> (len % 8)) & 0xff; -} - #define ifa2ia6(ifa) ((struct in6_ifaddr *)(ifa)) #define ia62ifa(ia6) (&((ia6)->ia_ifa)) @@ -420,14 +382,14 @@ case SIOCSSCOPE6: if (!privileged) return (EPERM); - return (scope6_set(ifp, ifr->ifr_ifru.ifru_scope_id)); - break; + return (scope6_set(ifp, + (struct scope6_id *)ifr->ifr_ifru.ifru_scope_id)); case SIOCGSCOPE6: - return (scope6_get(ifp, ifr->ifr_ifru.ifru_scope_id)); - break; + return (scope6_get(ifp, + (struct scope6_id *)ifr->ifr_ifru.ifru_scope_id)); case SIOCGSCOPE6DEF: - return (scope6_get_default(ifr->ifr_ifru.ifru_scope_id)); - break; + return (scope6_get_default((struct scope6_id *) + ifr->ifr_ifru.ifru_scope_id)); } switch (cmd) { @@ -562,26 +524,19 @@ case SIOCGIFSTAT_IN6: if (ifp == NULL) return EINVAL; - if (in6_ifstat == NULL || ifp->if_index >= in6_ifstatmax - || in6_ifstat[ifp->if_index] == NULL) { - /* return EAFNOSUPPORT? */ - bzero(&ifr->ifr_ifru.ifru_stat, - sizeof(ifr->ifr_ifru.ifru_stat)); - } else - ifr->ifr_ifru.ifru_stat = *in6_ifstat[ifp->if_index]; + bzero(&ifr->ifr_ifru.ifru_stat, + sizeof(ifr->ifr_ifru.ifru_stat)); + ifr->ifr_ifru.ifru_stat = + *((struct in6_ifextra *)ifp->if_afdata[AF_INET6])->in6_ifstat; break; case SIOCGIFSTAT_ICMP6: if (ifp == NULL) return EINVAL; - if (icmp6_ifstat == NULL || ifp->if_index >= icmp6_ifstatmax || - icmp6_ifstat[ifp->if_index] == NULL) { - /* return EAFNOSUPPORT? */ - bzero(&ifr->ifr_ifru.ifru_stat, - sizeof(ifr->ifr_ifru.ifru_icmp6stat)); - } else - ifr->ifr_ifru.ifru_icmp6stat = - *icmp6_ifstat[ifp->if_index]; + bzero(&ifr->ifr_ifru.ifru_stat, + sizeof(ifr->ifr_ifru.ifru_icmp6stat)); + ifr->ifr_ifru.ifru_icmp6stat = + *((struct in6_ifextra *)ifp->if_afdata[AF_INET6])->icmp6_ifstat; break; case SIOCGIFALIFETIME_IN6: @@ -1110,13 +1065,6 @@ ia->ia6_lifetime.ia6t_preferred = 0; /* - * make sure to initialize ND6 information. this is to workaround - * issues with interfaces with IPv6 addresses, which have never brought - * up. We are assuming that it is safe to nd6_ifattach multiple times. - */ - nd6_ifattach(ifp); - - /* * Perform DAD, if needed. * XXX It may be of use, if we can administratively * disable DAD. @@ -1401,7 +1349,7 @@ } ifra.ifra_prefixmask.sin6_len = sizeof(struct sockaddr_in6); - in6_len2mask(&ifra.ifra_prefixmask.sin6_addr, prefixlen); + in6_prefixlen2mask(&ifra.ifra_prefixmask.sin6_addr, prefixlen); ifra.ifra_flags = iflr->flags & ~IFLR_PREFIX; return in6_control(so, SIOCAIFADDR_IN6, (caddr_t)&ifra, ifp, td); @@ -1417,7 +1365,7 @@ bzero(&mask, sizeof(mask)); if (iflr->flags & IFLR_PREFIX) { /* lookup a prefix rather than address. */ - in6_len2mask(&mask, iflr->prefixlen); + in6_prefixlen2mask(&mask, iflr->prefixlen); sin6 = (struct sockaddr_in6 *)&iflr->addr; bcopy(&sin6->sin6_addr, &match, sizeof(match)); @@ -1437,7 +1385,7 @@ cmp = 0; /* XXX */ } else { /* on deleting an address, do exact match */ - in6_len2mask(&mask, 128); + in6_prefixlen2mask(&mask, 128); sin6 = (struct sockaddr_in6 *)&iflr->addr; bcopy(&sin6->sin6_addr, &match, sizeof(match)); @@ -2341,14 +2289,51 @@ IFNET_RLOCK(); for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) { if ((ifp->if_flags & IFF_LOOPBACK) == 0 && - nd_ifinfo[ifp->if_index].linkmtu > maxmtu) - maxmtu = nd_ifinfo[ifp->if_index].linkmtu; + ND_IFINFO(ifp)->linkmtu > maxmtu) + maxmtu = ND_IFINFO(ifp)->linkmtu; } IFNET_RUNLOCK(); if (maxmtu) /* update only when maxmtu is positive */ in6_maxmtu = maxmtu; } +void * +in6_domifattach(ifp) + struct ifnet *ifp; +{ + struct in6_ifextra *ext; + + ext = (struct in6_ifextra *)malloc(sizeof(*ext), M_IFADDR, M_WAITOK); + bzero(ext, sizeof(*ext)); + + ext->in6_ifstat = (struct in6_ifstat *)malloc(sizeof(struct in6_ifstat), + M_IFADDR, M_WAITOK); + bzero(ext->in6_ifstat, sizeof(*ext->in6_ifstat)); + + ext->icmp6_ifstat = + (struct icmp6_ifstat *)malloc(sizeof(struct icmp6_ifstat), + M_IFADDR, M_WAITOK); + bzero(ext->icmp6_ifstat, sizeof(*ext->icmp6_ifstat)); + + ext->nd_ifinfo = nd6_ifattach(ifp); + ext->scope6_id = scope6_ifattach(ifp); + return ext; +} + +void +in6_domifdetach(ifp, aux) + struct ifnet *ifp; + void *aux; +{ + struct in6_ifextra *ext = (struct in6_ifextra *)aux; + + scope6_ifdetach(ext->scope6_id); + nd6_ifdetach(ext->nd_ifinfo); + free(ext->in6_ifstat, M_IFADDR); + free(ext->icmp6_ifstat, M_IFADDR); + free(ext, M_IFADDR); +} + /* * Convert sockaddr_in6 to sockaddr_in. Original sockaddr_in6 must be * v4 mapped addr or v4 compat addr ==== //depot/projects/netperf/sys/netinet6/in6_ifattach.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/in6_ifattach.c,v 1.17 2003/10/10 16:04:00 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/in6_ifattach.c,v 1.18 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: in6_ifattach.c,v 1.118 2001/05/24 07:44:00 itojun Exp $ */ /* @@ -60,10 +60,6 @@ #include -struct in6_ifstat **in6_ifstat = NULL; -struct icmp6_ifstat **icmp6_ifstat = NULL; -size_t in6_ifstatmax = 0; -size_t icmp6_ifstatmax = 0; unsigned long in6_maxmtu = 0; #ifdef IP6_AUTO_LINKLOCAL @@ -727,7 +723,6 @@ struct ifnet *ifp; struct ifnet *altifp; /* secondary EUI64 source */ { - static size_t if_indexlim = 8; struct in6_ifaddr *ia; struct in6_addr in6; @@ -740,50 +735,6 @@ } /* - * We have some arrays that should be indexed by if_index. - * since if_index will grow dynamically, they should grow too. - * struct in6_ifstat **in6_ifstat - * struct icmp6_ifstat **icmp6_ifstat - */ - if (in6_ifstat == NULL || icmp6_ifstat == NULL || - if_index >= if_indexlim) { - size_t n; - caddr_t q; - size_t olim; - - olim = if_indexlim; - while (if_index >= if_indexlim) - if_indexlim <<= 1; - - /* grow in6_ifstat */ - n = if_indexlim * sizeof(struct in6_ifstat *); - q = (caddr_t)malloc(n, M_IFADDR, M_WAITOK); - bzero(q, n); - if (in6_ifstat) { - bcopy((caddr_t)in6_ifstat, q, - olim * sizeof(struct in6_ifstat *)); - free((caddr_t)in6_ifstat, M_IFADDR); - } - in6_ifstat = (struct in6_ifstat **)q; - in6_ifstatmax = if_indexlim; - - /* grow icmp6_ifstat */ - n = if_indexlim * sizeof(struct icmp6_ifstat *); - q = (caddr_t)malloc(n, M_IFADDR, M_WAITOK); - bzero(q, n); - if (icmp6_ifstat) { - bcopy((caddr_t)icmp6_ifstat, q, - olim * sizeof(struct icmp6_ifstat *)); - free((caddr_t)icmp6_ifstat, M_IFADDR); - } - icmp6_ifstat = (struct icmp6_ifstat **)q; - icmp6_ifstatmax = if_indexlim; - } - - /* initialize scope identifiers */ - scope6_ifattach(ifp); - - /* * quirks based on interface type */ switch (ifp->if_type) { @@ -844,20 +795,6 @@ /* update dynamically. */ if (in6_maxmtu < ifp->if_mtu) in6_maxmtu = ifp->if_mtu; - - if (in6_ifstat[ifp->if_index] == NULL) { - in6_ifstat[ifp->if_index] = (struct in6_ifstat *) - malloc(sizeof(struct in6_ifstat), M_IFADDR, M_WAITOK); - bzero(in6_ifstat[ifp->if_index], sizeof(struct in6_ifstat)); - } - if (icmp6_ifstat[ifp->if_index] == NULL) { - icmp6_ifstat[ifp->if_index] = (struct icmp6_ifstat *) - malloc(sizeof(struct icmp6_ifstat), M_IFADDR, M_WAITOK); - bzero(icmp6_ifstat[ifp->if_index], sizeof(struct icmp6_ifstat)); - } - - /* initialize NDP variables */ - nd6_ifattach(ifp); } /* @@ -987,7 +924,7 @@ int generate; { u_int8_t nullbuf[8]; - struct nd_ifinfo *ndi = &nd_ifinfo[ifp->if_index]; + struct nd_ifinfo *ndi = ND_IFINFO(ifp); bzero(nullbuf, sizeof(nullbuf)); if (bcmp(ndi->randomid, nullbuf, sizeof(nullbuf)) == 0) { @@ -1009,9 +946,9 @@ in6_tmpaddrtimer(ignored_arg) void *ignored_arg; { - int i; struct nd_ifinfo *ndi; u_int8_t nullbuf[8]; + struct ifnet *ifp; int s = splnet(); callout_reset(&in6_tmpaddrtimer_ch, @@ -1019,8 +956,8 @@ ip6_temp_regen_advance) * hz, in6_tmpaddrtimer, NULL); bzero(nullbuf, sizeof(nullbuf)); - for (i = 1; i < if_index + 1; i++) { - ndi = &nd_ifinfo[i]; + for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) { + ndi = ND_IFINFO(ifp); if (bcmp(ndi->randomid, nullbuf, sizeof(nullbuf)) != 0) { /* * We've been generating a random ID on this interface. ==== //depot/projects/netperf/sys/netinet6/in6_proto.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/in6_proto.c,v 1.24 2003/10/08 18:26:08 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/in6_proto.c,v 1.25 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: in6_proto.c,v 1.91 2001/05/27 13:28:35 itojun Exp $ */ /* @@ -264,7 +264,8 @@ (struct protosw *)&inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])], 0, in6_inithead, offsetof(struct sockaddr_in6, sin6_addr) << 3, - sizeof(struct sockaddr_in6) }; + sizeof(struct sockaddr_in6), + in6_domifattach, in6_domifdetach, }; DOMAIN_SET(inet6); ==== //depot/projects/netperf/sys/netinet6/in6_src.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/in6_src.c,v 1.13 2003/10/08 18:26:08 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/in6_src.c,v 1.14 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: in6_src.c,v 1.37 2001/03/29 05:34:31 itojun Exp $ */ /* @@ -300,7 +300,7 @@ if (in6p && in6p->in6p_hops >= 0) return (in6p->in6p_hops); else if (ifp) - return (nd_ifinfo[ifp->if_index].chlim); + return (ND_IFINFO(ifp)->chlim); else return (ip6_defhlim); } ==== //depot/projects/netperf/sys/netinet6/in6_var.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/in6_var.h,v 1.13 2003/10/08 18:26:08 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/in6_var.h,v 1.15 2003/10/17 17:50:09 ume Exp $ */ /* $KAME: in6_var.h,v 1.56 2001/03/29 05:34:31 itojun Exp $ */ /* @@ -90,6 +90,15 @@ u_int32_t ia6t_pltime; /* prefix lifetime */ }; +struct nd_ifinfo; +struct scope6_id; +struct in6_ifextra { + struct in6_ifstat *in6_ifstat; + struct icmp6_ifstat *icmp6_ifstat; + struct nd_ifinfo *nd_ifinfo; + struct scope6_id *scope6_id; +}; + struct in6_ifaddr { struct ifaddr ia_ifa; /* protocol-independent info */ #define ia_ifp ia_ifa.ifa_ifp @@ -445,18 +454,11 @@ #ifdef _KERNEL extern struct in6_ifaddr *in6_ifaddr; -extern struct in6_ifstat **in6_ifstat; -extern size_t in6_ifstatmax; extern struct icmp6stat icmp6stat; -extern struct icmp6_ifstat **icmp6_ifstat; -extern size_t icmp6_ifstatmax; #define in6_ifstat_inc(ifp, tag) \ do { \ - if ((ifp) && (ifp)->if_index <= if_index \ - && (ifp)->if_index < in6_ifstatmax \ - && in6_ifstat && in6_ifstat[(ifp)->if_index]) { \ - in6_ifstat[(ifp)->if_index]->tag++; \ - } \ + if (ifp) \ + ((struct in6_ifextra *)((ifp)->if_afdata[AF_INET6]))->in6_ifstat->tag++; \ } while (/*CONSTCOND*/ 0) extern struct in6_addr zeroin6_addr; @@ -565,9 +567,7 @@ struct in6_multi *in6_addmulti __P((struct in6_addr *, struct ifnet *, int *)); void in6_delmulti __P((struct in6_multi *)); -extern int in6_ifindex2scopeid __P((int)); -extern int in6_mask2len __P((struct in6_addr *, u_char *)); -extern void in6_len2mask __P((struct in6_addr *, int)); +int in6_mask2len __P((struct in6_addr *, u_char *)); int in6_control __P((struct socket *, u_long, caddr_t, struct ifnet *, struct thread *)); int in6_update_ifa __P((struct ifnet *, struct in6_aliasreq *, @@ -576,6 +576,8 @@ int in6if_do_dad __P((struct ifnet *)); void in6_purgeif __P((struct ifnet *)); void in6_savemkludge __P((struct in6_ifaddr *)); +void *in6_domifattach __P((struct ifnet *)); +void in6_domifdetach __P((struct ifnet *, void *)); void in6_setmaxmtu __P((void)); void in6_restoremkludge __P((struct in6_ifaddr *, struct ifnet *)); void in6_purgemkludge __P((struct ifnet *)); ==== //depot/projects/netperf/sys/netinet6/ip6_input.c#10 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/ip6_input.c,v 1.54 2003/10/10 19:49:52 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/ip6_input.c,v 1.57 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: ip6_input.c,v 1.259 2002/01/21 04:58:09 jinmei Exp $ */ /* @@ -106,6 +106,7 @@ #include #include #include +#include #include #include #include @@ -196,6 +197,7 @@ ip6intrq.ifq_maxlen = ip6qmaxlen; mtx_init(&ip6intrq.ifq_mtx, "ip6_inq", NULL, MTX_DEF); netisr_register(NETISR_IPV6, ip6_input, &ip6intrq); + scope6_init(); nd6_init(); frag6_init(); #ifndef RANDOM_IP_ID @@ -209,12 +211,6 @@ void *dummy; { - /* - * to route local address of p2p link to loopback, - * assign loopback address first. - */ - in6_ifattach(&loif[0], NULL); - /* nd6_timer_init */ callout_init(&nd6_timer_ch, 0); callout_reset(&nd6_timer_ch, hz, nd6_timer, NULL); ==== //depot/projects/netperf/sys/netinet6/ip6_output.c#14 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.58 2003/10/10 16:04:00 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.59 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ /* @@ -794,7 +794,7 @@ } } if (ro_pmtu->ro_rt != NULL) { - u_int32_t ifmtu = nd_ifinfo[ifp->if_index].linkmtu; + u_int32_t ifmtu = ND_IFINFO(ifp)->linkmtu; mtu = ro_pmtu->ro_rt->rt_rmx.rmx_mtu; if (mtu > ifmtu || mtu == 0) { @@ -814,7 +814,7 @@ ro_pmtu->ro_rt->rt_rmx.rmx_mtu = mtu; /* XXX */ } } else { - mtu = nd_ifinfo[ifp->if_index].linkmtu; + mtu = ND_IFINFO(ifp)->linkmtu; } /* ==== //depot/projects/netperf/sys/netinet6/nd6.c#11 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/nd6.c,v 1.31 2003/10/14 18:49:08 sam Exp $ */ +/* $FreeBSD: src/sys/netinet6/nd6.c,v 1.32 2003/10/17 15:46:31 ume Exp $ */ /* $KAME: nd6.c,v 1.144 2001/05/24 07:44:00 itojun Exp $ */ /* @@ -98,14 +98,13 @@ static int nd6_inuse, nd6_allocated; struct llinfo_nd6 llinfo_nd6 = {&llinfo_nd6, &llinfo_nd6}; -static size_t nd_ifinfo_indexlim = 8; -struct nd_ifinfo *nd_ifinfo = NULL; struct nd_drhead nd_defrouter; struct nd_prhead nd_prefix = { 0 }; int nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; static struct sockaddr_in6 all1_sa; +static void nd6_setmtu0 __P((struct ifnet *, struct nd_ifinfo *)); static void nd6_slowtimo __P((void *)); static int regen_tmpaddr __P((struct in6_ifaddr *)); @@ -139,59 +138,42 @@ nd6_slowtimo, NULL); } -void +struct nd_ifinfo * nd6_ifattach(ifp) struct ifnet *ifp; { + struct nd_ifinfo *nd; - /* - * We have some arrays that should be indexed by if_index. - * since if_index will grow dynamically, they should grow too. - */ - if (nd_ifinfo == NULL || if_index >= nd_ifinfo_indexlim) { - size_t n; - caddr_t q; + nd = (struct nd_ifinfo *)malloc(sizeof(*nd), M_IP6NDP, M_WAITOK); + bzero(nd, sizeof(*nd)); - while (if_index >= nd_ifinfo_indexlim) - nd_ifinfo_indexlim <<= 1; + nd->initialized = 1; - /* grow nd_ifinfo */ - n = nd_ifinfo_indexlim * sizeof(struct nd_ifinfo); - q = (caddr_t)malloc(n, M_IP6NDP, M_WAITOK); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Oct 17 12:30:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B675416A4C0; Fri, 17 Oct 2003 12:30: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 828FA16A4B3 for ; Fri, 17 Oct 2003 12:30:34 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EE6A743F3F for ; Fri, 17 Oct 2003 12:30:33 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HJUXXJ028013 for ; Fri, 17 Oct 2003 12:30:33 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HJUXFZ028010 for perforce@freebsd.org; Fri, 17 Oct 2003 12:30:33 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 12:30:33 -0700 (PDT) Message-Id: <200310171930.h9HJUXFZ028010@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 39850 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, 17 Oct 2003 19:30:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=39850 Change 39850 by sam@sam_ebb on 2003/10/17 12:29:42 add missing \n to debug msg Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_input.c#11 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_input.c#11 (text+ko) ==== @@ -129,7 +129,7 @@ */ if (m->m_pkthdr.len < sizeof(struct ieee80211_frame)) { /* XXX statistic */ - IEEE80211_DPRINTF2(("%s: frame too short, len %u", + IEEE80211_DPRINTF2(("%s: frame too short, len %u\n", __func__, m->m_pkthdr.len)); ic->ic_stats.is_rx_tooshort++; goto out; /* XXX */ From owner-p4-projects@FreeBSD.ORG Fri Oct 17 12:31:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F26E16A4C0; Fri, 17 Oct 2003 12:31: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 79ED316A4B3 for ; Fri, 17 Oct 2003 12:31:36 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D807943FD7 for ; Fri, 17 Oct 2003 12:31:35 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HJVZXJ028048 for ; Fri, 17 Oct 2003 12:31:35 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HJVZYS028045 for perforce@freebsd.org; Fri, 17 Oct 2003 12:31:35 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 12:31:35 -0700 (PDT) Message-Id: <200310171931.h9HJVZYS028045@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 39851 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, 17 Oct 2003 19:31:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=39851 Change 39851 by sam@sam_ebb on 2003/10/17 12:31:32 o add capability to indicate if device receives all management frames o use recv mgmt capability to decide if outbound frames should be discarded if no node table entry is present o add missing \n in debug msg Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_output.c#9 edit .. //depot/projects/netperf/sys/net80211/ieee80211_var.h#8 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_output.c#9 (text+ko) ==== @@ -165,14 +165,23 @@ ni = ieee80211_find_node(ic, eh.ether_dhost); if (ni == NULL) { /* - * When not in station mode the - * destination address should always be - * in the node table unless this is a - * multicast/broadcast frame. + * When not in station mode the destination + * address should always be in the node table + * if the device sends management frames to us, + * unless this is a multicast/broadcast frame. + * For devices that don't send management frames + * to the host we have to cheat; use the bss + * node instead; the card will/should clobber + * the bssid address as necessary. + * + * XXX this handles AHDEMO because all devices + * that support it don't send mgmt frames; + * but it might be better to test explicitly */ - if (!IEEE80211_IS_MULTICAST(eh.ether_dhost)) { + if (!IEEE80211_IS_MULTICAST(eh.ether_dhost) && + (ic->ic_caps & IEEE80211_C_RCVMGT)) { IEEE80211_DPRINTF(("%s: no node for dst %s, " - "discard frame", __func__, + "discard frame\n", __func__, ether_sprintf(eh.ether_dhost))); ic->ic_stats.is_tx_nonode++; goto bad; ==== //depot/projects/netperf/sys/net80211/ieee80211_var.h#8 (text+ko) ==== @@ -219,7 +219,7 @@ #define IEEE80211_F_SHSLOT 0x00020000 /* CONF: short slot time */ #define IEEE80211_F_SHPREAMBLE 0x00040000 /* CONF: short preamble */ -/* ic_capabilities */ +/* ic_caps */ #define IEEE80211_C_WEP 0x00000001 /* CAPABILITY: WEP available */ #define IEEE80211_C_IBSS 0x00000002 /* CAPABILITY: IBSS available */ #define IEEE80211_C_PMGT 0x00000004 /* CAPABILITY: Power mgmt */ @@ -230,6 +230,7 @@ #define IEEE80211_C_SHSLOT 0x00000080 /* CAPABILITY: short slottime */ #define IEEE80211_C_SHPREAMBLE 0x00000100 /* CAPABILITY: short preamble */ #define IEEE80211_C_MONITOR 0x00000200 /* CAPABILITY: monitor mode */ +#define IEEE80211_C_RCVMGT 0x00000400 /* CAPABILITY: rcv mgt frames */ /* flags for ieee80211_fix_rate() */ #define IEEE80211_F_DOSORT 0x00000001 /* sort rate list */ From owner-p4-projects@FreeBSD.ORG Fri Oct 17 12:32:38 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CFA316A4C0; Fri, 17 Oct 2003 12:32: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 382FE16A4B3 for ; Fri, 17 Oct 2003 12:32:38 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B203A43FB1 for ; Fri, 17 Oct 2003 12:32:37 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HJWbXJ028069 for ; Fri, 17 Oct 2003 12:32:37 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HJWbpS028066 for perforce@freebsd.org; Fri, 17 Oct 2003 12:32:37 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 12:32:37 -0700 (PDT) Message-Id: <200310171932.h9HJWbpS028066@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 39852 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, 17 Oct 2003 19:32:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=39852 Change 39852 by sam@sam_ebb on 2003/10/17 12:31:52 indicate device receives all management frames Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#24 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#24 (text+ko) ==== @@ -278,8 +278,12 @@ /* XXX not right but it's not used anywhere important */ ic->ic_phytype = IEEE80211_T_OFDM; ic->ic_opmode = IEEE80211_M_STA; - ic->ic_caps = IEEE80211_C_WEP | IEEE80211_C_IBSS | IEEE80211_C_HOSTAP - | IEEE80211_C_MONITOR | IEEE80211_C_SHPREAMBLE; + ic->ic_caps = IEEE80211_C_WEP /* wep supported */ + | IEEE80211_C_IBSS /* ibss, nee adhoc, mode */ + | IEEE80211_C_HOSTAP /* hostap mode */ + | IEEE80211_C_MONITOR /* monitor mode */ + | IEEE80211_C_SHPREAMBLE /* short preamble supported */ + | IEEE80211_C_RCVMGT; /* recv management frames */ /* get mac address from hardware */ ath_hal_getmac(ah, ic->ic_myaddr); From owner-p4-projects@FreeBSD.ORG Fri Oct 17 14:29:04 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B07F16A4C0; Fri, 17 Oct 2003 14:29: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 5064316A4B3 for ; Fri, 17 Oct 2003 14:29:04 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A703043FB1 for ; Fri, 17 Oct 2003 14:29:03 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9HLT3XJ040007 for ; Fri, 17 Oct 2003 14:29:03 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9HLT3rh040004 for perforce@freebsd.org; Fri, 17 Oct 2003 14:29:03 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Fri, 17 Oct 2003 14:29:03 -0700 (PDT) Message-Id: <200310172129.h9HLT3rh040004@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 39860 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, 17 Oct 2003 21:29:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=39860 Change 39860 by sam@sam_ebb on 2003/10/17 14:28:03 o consolidate rx filter calculations in one place o enable beacon reception when operating in adhoc mode so the 802.11 layer can use them to create nodes for peers Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#25 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#25 (text+ko) ==== @@ -919,20 +919,30 @@ } } -static void -ath_mode_init(struct ath_softc *sc) +/* + * Calculate the receive filter according to the + * operating mode and state: + * + * o always accept unicast, broadcast, and multicast traffic + * o maintain current state of phy error reception + * o probe request frames are accepted only when operating in + * hostap, adhoc, or monitor modes + * o enable promiscuous mode according to the interface state + * o accept beacons: + * - when operating in adhoc mode so the 802.11 layer creates + * node table entries for peers, + * - when operating in station mode for collecting rssi data when + * the station is otherwise quiet, or + * - when scanning + */ +static u_int32_t +ath_calcrxfilter(struct ath_softc *sc) { struct ieee80211com *ic = &sc->sc_ic; struct ath_hal *ah = sc->sc_ah; struct ifnet *ifp = &ic->ic_if; - u_int32_t rfilt, mfilt[2], val; - u_int8_t pos; - struct ifmultiaddr *ifma; + u_int32_t rfilt; - /* configure operational mode */ - ath_hal_setopmode(ah, ic->ic_opmode); - - /* receive filter */ rfilt = (ath_hal_getrxfilter(ah) & HAL_RX_FILTER_PHYERR) | HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST; if (ic->ic_opmode != IEEE80211_M_STA) @@ -941,10 +951,29 @@ (ifp->if_flags & IFF_PROMISC)) rfilt |= HAL_RX_FILTER_PROM; if (ic->ic_opmode == IEEE80211_M_STA || + ic->ic_opmode == IEEE80211_M_IBSS || ic->ic_state == IEEE80211_S_SCAN) rfilt |= HAL_RX_FILTER_BEACON; + return rfilt; +} + +static void +ath_mode_init(struct ath_softc *sc) +{ + struct ieee80211com *ic = &sc->sc_ic; + struct ath_hal *ah = sc->sc_ah; + struct ifnet *ifp = &ic->ic_if; + u_int32_t rfilt, mfilt[2], val; + u_int8_t pos; + struct ifmultiaddr *ifma; + + /* configure rx filter */ + rfilt = ath_calcrxfilter(sc); ath_hal_setrxfilter(ah, rfilt); + /* configure operational mode */ + ath_hal_setopmode(ah, ic->ic_opmode); + /* calculate and install multicast filter */ if ((ifp->if_flags & IFF_ALLMULTI) == 0) { mfilt[0] = mfilt[1] = 0; @@ -2370,16 +2399,7 @@ error = ath_chan_set(sc, ni->ni_chan); if (error != 0) goto bad; - rfilt = (ath_hal_getrxfilter(ah) & HAL_RX_FILTER_PHYERR) - | HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST; - if (ic->ic_opmode != IEEE80211_M_STA) - rfilt |= HAL_RX_FILTER_PROBEREQ; - if (ic->ic_opmode != IEEE80211_M_HOSTAP && - (ifp->if_flags & IFF_PROMISC)) - rfilt |= HAL_RX_FILTER_PROM; - if (ic->ic_opmode == IEEE80211_M_STA || - ic->ic_state == IEEE80211_S_SCAN) - rfilt |= HAL_RX_FILTER_BEACON; + rfilt = ath_calcrxfilter(sc); if (nstate == IEEE80211_S_SCAN) { callout_reset(&sc->sc_scan_ch, (hz * ath_dwelltime) / 1000, ath_next_scan, sc); From owner-p4-projects@FreeBSD.ORG Fri Oct 17 19:00:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4ABA316A4C1; Fri, 17 Oct 2003 19:00: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 0B3C916A4BF for ; Fri, 17 Oct 2003 19:00:47 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8794A43FA3 for ; Fri, 17 Oct 2003 19:00:46 -0700 (PDT) (envelope-from Hrishikesh_Dandekar@NAI.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9I20kXJ060008 for ; Fri, 17 Oct 2003 19:00:46 -0700 (PDT) (envelope-from Hrishikesh_Dandekar@NAI.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9I20kmO060005 for perforce@freebsd.org; Fri, 17 Oct 2003 19:00:46 -0700 (PDT) (envelope-from Hrishikesh_Dandekar@NAI.com) Date: Fri, 17 Oct 2003 19:00:46 -0700 (PDT) Message-Id: <200310180200.h9I20kmO060005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to Hrishikesh_Dandekar@NAI.com using -f From: Hrishikesh Dandekar To: Perforce Change Reviews Subject: PERFORCE change 39880 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, 18 Oct 2003 02:00:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=39880 Change 39880 by hdandeka@hdandeka_yash on 2003/10/17 19:00:11 Add Posix.1b semaphore to the list of allowed classes. Affected files ... .. //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/unused/postgresql.te#2 edit Differences ... ==== //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/unused/postgresql.te#2 (text+ko) ==== @@ -86,6 +86,7 @@ allow postgresql_t postgresql_exec_t:lnk_file read; allow postgresql_t self:sem create_sem_perms; +allow postgresql_t self:posix_sem create_posix_sem_perms; allow postgresql_t self:udp_socket recvfrom; From owner-p4-projects@FreeBSD.ORG Fri Oct 17 20:15:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D22516A4C0; Fri, 17 Oct 2003 20:15:29 -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 DDAB216A4B3 for ; Fri, 17 Oct 2003 20:15:28 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1A51443FA3 for ; Fri, 17 Oct 2003 20:15:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9I3FRXJ064804 for ; Fri, 17 Oct 2003 20:15:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9I3FOku064801 for perforce@freebsd.org; Fri, 17 Oct 2003 20:15:24 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Fri, 17 Oct 2003 20:15:24 -0700 (PDT) Message-Id: <200310180315.h9I3FOku064801@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 39890 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, 18 Oct 2003 03:15:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=39890 Change 39890 by marcel@marcel_nfs on 2003/10/17 20:14:58 IFC @39883 Affected files ... .. //depot/projects/vm/alpha/alpha/trap.c#2 integrate .. //depot/projects/vm/amd64/amd64/exception.S#2 integrate .. //depot/projects/vm/amd64/amd64/trap.c#2 integrate .. //depot/projects/vm/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/vm/amd64/include/frame.h#2 integrate .. //depot/projects/vm/amd64/include/signal.h#2 integrate .. //depot/projects/vm/amd64/include/ucontext.h#2 integrate .. //depot/projects/vm/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/vm/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/vm/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/vm/compat/linux/linux_socket.c#2 integrate .. //depot/projects/vm/conf/files#2 integrate .. //depot/projects/vm/conf/files.amd64#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/Makefile#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx.h#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_context.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_env.h#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_self.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_step.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_step.h#1 branch .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_trace.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_trace.h#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_ttrace.c#2 integrate .. //depot/projects/vm/contrib/ia64/libuwx/src/uwx_uinfo.c#2 integrate .. //depot/projects/vm/contrib/ipfilter/netinet/ip_fil.c#2 integrate .. //depot/projects/vm/crypto/blowfish/bf_ecb.c#1 branch .. //depot/projects/vm/crypto/blowfish/blowfish.h#2 integrate .. //depot/projects/vm/crypto/cast128/cast128.c#2 integrate .. //depot/projects/vm/crypto/cast128/cast128.h#2 integrate .. //depot/projects/vm/crypto/cast128/cast128_subkey.h#2 delete .. //depot/projects/vm/crypto/cast128/cast128sb.h#1 branch .. //depot/projects/vm/crypto/rijndael/boxes-fst.dat#2 delete .. //depot/projects/vm/crypto/rijndael/rijndael-alg-fst.c#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael-alg-fst.h#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael-api-fst.c#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael-api-fst.h#2 integrate .. //depot/projects/vm/crypto/rijndael/rijndael_local.h#2 integrate .. //depot/projects/vm/dev/aac/aac.c#2 integrate .. //depot/projects/vm/dev/aac/aacreg.h#2 integrate .. //depot/projects/vm/dev/amr/amr.c#2 integrate .. //depot/projects/vm/dev/amr/amr_disk.c#2 integrate .. //depot/projects/vm/dev/amr/amrvar.h#2 integrate .. //depot/projects/vm/dev/an/if_an_pccard.c#2 integrate .. //depot/projects/vm/dev/ata/ata-all.c#2 integrate .. //depot/projects/vm/dev/ata/ata-card.c#2 integrate .. //depot/projects/vm/dev/ata/ata-disk.c#2 integrate .. //depot/projects/vm/dev/ata/ata-dma.c#2 integrate .. //depot/projects/vm/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/vm/dev/ata/ata-queue.c#2 integrate .. //depot/projects/vm/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/vm/dev/ath/if_ath.c#2 integrate .. //depot/projects/vm/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/vm/dev/ath/if_athvar.h#2 integrate .. //depot/projects/vm/dev/cardbus/cardbus_cis.c#2 integrate .. //depot/projects/vm/dev/cardbus/cardbus_cis.h#2 integrate .. //depot/projects/vm/dev/ciss/ciss.c#2 integrate .. //depot/projects/vm/dev/ed/if_ed.c#2 integrate .. //depot/projects/vm/dev/ed/if_ed_cbus.c#2 integrate .. //depot/projects/vm/dev/ed/if_ed_isa.c#2 integrate .. //depot/projects/vm/dev/ed/if_edreg.h#2 integrate .. //depot/projects/vm/dev/ed/if_edvar.h#2 integrate .. //depot/projects/vm/dev/em/if_em.c#2 integrate .. //depot/projects/vm/dev/em/if_em.h#2 integrate .. //depot/projects/vm/dev/exca/exca.c#2 integrate .. //depot/projects/vm/dev/hifn/hifn7751.c#2 integrate .. //depot/projects/vm/dev/hifn/hifn7751reg.h#2 integrate .. //depot/projects/vm/dev/hifn/hifn7751var.h#2 integrate .. //depot/projects/vm/dev/kbd/atkbd.c#2 integrate .. //depot/projects/vm/dev/owi/if_owi.c#2 integrate .. //depot/projects/vm/dev/pccard/card_if.m#2 integrate .. //depot/projects/vm/dev/pccard/pccard.c#2 integrate .. //depot/projects/vm/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/vm/dev/pccard/pccard_cis.h#1 branch .. //depot/projects/vm/dev/pccard/pccard_cis_quirks.c#2 integrate .. //depot/projects/vm/dev/pccard/pccarddevs#2 integrate .. //depot/projects/vm/dev/pccard/pccarddevs.h#2 integrate .. //depot/projects/vm/dev/pccard/pccardreg.h#2 integrate .. //depot/projects/vm/dev/pci/pci_user.c#2 integrate .. //depot/projects/vm/dev/sio/sio_pccard.c#2 integrate .. //depot/projects/vm/dev/sound/pci/au88x0.c#2 integrate .. //depot/projects/vm/dev/sound/pci/au88x0.h#2 integrate .. //depot/projects/vm/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/vm/dev/uart/uart_bus_pccard.c#2 integrate .. //depot/projects/vm/dev/usb/ugen.c#2 integrate .. //depot/projects/vm/dev/usb/usbdevs#2 integrate .. //depot/projects/vm/dev/usb/usbdevs.h#2 integrate .. //depot/projects/vm/dev/usb/usbdevs_data.h#2 integrate .. //depot/projects/vm/dev/xe/if_xe.c#2 integrate .. //depot/projects/vm/dev/xe/if_xe_pccard.c#2 integrate .. //depot/projects/vm/dev/xe/if_xereg.h#2 integrate .. //depot/projects/vm/dev/xe/if_xevar.h#2 integrate .. //depot/projects/vm/fs/specfs/spec_vnops.c#2 integrate .. //depot/projects/vm/geom/bde/g_bde.h#2 integrate .. //depot/projects/vm/geom/bde/g_bde_lock.c#2 integrate .. //depot/projects/vm/geom/geom_dev.c#2 integrate .. //depot/projects/vm/geom/geom_event.c#2 integrate .. //depot/projects/vm/i386/i386/locore.s#2 integrate .. //depot/projects/vm/i386/i386/machdep.c#2 integrate .. //depot/projects/vm/i386/i386/trap.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_signal.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_util.c#2 integrate .. //depot/projects/vm/i386/ibcs2/ibcs2_util.h#2 integrate .. //depot/projects/vm/i386/ibcs2/imgact_coff.c#2 integrate .. //depot/projects/vm/i386/isa/apic_vector.s#2 integrate .. //depot/projects/vm/i386/isa/isa_compat.c#2 integrate .. //depot/projects/vm/ia64/ia64/machdep.c#2 integrate .. //depot/projects/vm/ia64/ia64/trap.c#2 integrate .. //depot/projects/vm/ia64/ia64/unwind.c#2 integrate .. //depot/projects/vm/kern/kern_clock.c#2 integrate .. //depot/projects/vm/kern/kern_idle.c#2 integrate .. //depot/projects/vm/kern/kern_poll.c#2 integrate .. //depot/projects/vm/kern/kern_proc.c#2 integrate .. //depot/projects/vm/kern/kern_sig.c#2 integrate .. //depot/projects/vm/kern/kern_switch.c#2 integrate .. //depot/projects/vm/kern/kern_synch.c#2 integrate .. //depot/projects/vm/kern/sched_4bsd.c#2 integrate .. //depot/projects/vm/kern/sched_ule.c#2 integrate .. //depot/projects/vm/kern/subr_bus.c#2 integrate .. //depot/projects/vm/kern/subr_disk.c#2 integrate .. //depot/projects/vm/kern/subr_kobj.c#2 integrate .. //depot/projects/vm/kern/sys_pipe.c#2 integrate .. //depot/projects/vm/kern/sys_process.c#2 integrate .. //depot/projects/vm/kern/tty_cons.c#2 integrate .. //depot/projects/vm/kern/vfs_bio.c#2 integrate .. //depot/projects/vm/kern/vfs_subr.c#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/bluetooth/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/bt3c/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/h4/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/hci/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/l2cap/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/ubt/Makefile#2 integrate .. //depot/projects/vm/modules/netgraph/bluetooth/ubtbcmfw/Makefile#2 integrate .. //depot/projects/vm/net/if.c#2 integrate .. //depot/projects/vm/net/if_ethersubr.c#2 integrate .. //depot/projects/vm/net/if_var.h#2 integrate .. //depot/projects/vm/net/net_osdep.c#2 integrate .. //depot/projects/vm/net/pfkeyv2.h#2 integrate .. //depot/projects/vm/net/route.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_input.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/vm/net80211/ieee80211_node.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_node.h#2 integrate .. //depot/projects/vm/net80211/ieee80211_output.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/vm/net80211/ieee80211_var.h#2 integrate .. //depot/projects/vm/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_evnt.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_misc.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_misc.h#2 integrate .. //depot/projects/vm/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/vm/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vm/netinet/icmp6.h#2 integrate .. //depot/projects/vm/netinet/in_gif.c#2 integrate .. //depot/projects/vm/netinet/in_gif.h#2 integrate .. //depot/projects/vm/netinet/in_rmx.c#2 integrate .. //depot/projects/vm/netinet/ip_dummynet.c#2 integrate .. //depot/projects/vm/netinet/ip_fw2.c#2 integrate .. //depot/projects/vm/netinet/ip_input.c#2 integrate .. //depot/projects/vm/netinet/ip_var.h#2 integrate .. //depot/projects/vm/netinet/tcp_input.c#2 integrate .. //depot/projects/vm/netinet6/ah.h#2 integrate .. //depot/projects/vm/netinet6/ah6.h#2 integrate .. //depot/projects/vm/netinet6/ah_aesxcbcmac.c#1 branch .. //depot/projects/vm/netinet6/ah_aesxcbcmac.h#1 branch .. //depot/projects/vm/netinet6/ah_core.c#2 integrate .. //depot/projects/vm/netinet6/ah_input.c#2 integrate .. //depot/projects/vm/netinet6/ah_output.c#2 integrate .. //depot/projects/vm/netinet6/dest6.c#2 integrate .. //depot/projects/vm/netinet6/esp.h#2 integrate .. //depot/projects/vm/netinet6/esp_aesctr.c#1 branch .. //depot/projects/vm/netinet6/esp_aesctr.h#1 branch .. //depot/projects/vm/netinet6/esp_core.c#2 integrate .. //depot/projects/vm/netinet6/esp_input.c#2 integrate .. //depot/projects/vm/netinet6/esp_output.c#2 integrate .. //depot/projects/vm/netinet6/esp_rijndael.c#2 integrate .. //depot/projects/vm/netinet6/esp_rijndael.h#2 integrate .. //depot/projects/vm/netinet6/frag6.c#2 integrate .. //depot/projects/vm/netinet6/icmp6.c#2 integrate .. //depot/projects/vm/netinet6/in6.c#2 integrate .. //depot/projects/vm/netinet6/in6.h#2 integrate .. //depot/projects/vm/netinet6/in6_cksum.c#2 integrate .. //depot/projects/vm/netinet6/in6_gif.c#2 integrate .. //depot/projects/vm/netinet6/in6_gif.h#2 integrate .. //depot/projects/vm/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/vm/netinet6/in6_pcb.c#2 integrate .. //depot/projects/vm/netinet6/in6_proto.c#2 integrate .. //depot/projects/vm/netinet6/in6_rmx.c#2 integrate .. //depot/projects/vm/netinet6/in6_src.c#2 integrate .. //depot/projects/vm/netinet6/in6_var.h#2 integrate .. //depot/projects/vm/netinet6/ip6_forward.c#2 integrate .. //depot/projects/vm/netinet6/ip6_fw.c#2 integrate .. //depot/projects/vm/netinet6/ip6_fw.h#2 integrate .. //depot/projects/vm/netinet6/ip6_input.c#2 integrate .. //depot/projects/vm/netinet6/ip6_mroute.c#2 integrate .. //depot/projects/vm/netinet6/ip6_output.c#2 integrate .. //depot/projects/vm/netinet6/ip6_var.h#2 integrate .. //depot/projects/vm/netinet6/ip6protosw.h#2 integrate .. //depot/projects/vm/netinet6/ipcomp_core.c#2 integrate .. //depot/projects/vm/netinet6/ipcomp_input.c#2 integrate .. //depot/projects/vm/netinet6/ipsec.c#2 integrate .. //depot/projects/vm/netinet6/ipsec.h#2 integrate .. //depot/projects/vm/netinet6/mld6.c#2 integrate .. //depot/projects/vm/netinet6/mld6_var.h#2 integrate .. //depot/projects/vm/netinet6/nd6.c#2 integrate .. //depot/projects/vm/netinet6/nd6.h#2 integrate .. //depot/projects/vm/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/vm/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/vm/netinet6/raw_ip6.c#2 integrate .. //depot/projects/vm/netinet6/scope6.c#2 integrate .. //depot/projects/vm/netinet6/scope6_var.h#2 integrate .. //depot/projects/vm/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/vm/netkey/key_var.h#2 integrate .. //depot/projects/vm/pc98/i386/machdep.c#2 integrate .. //depot/projects/vm/pci/if_ti.c#2 integrate .. //depot/projects/vm/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/vm/sys/bus.h#2 integrate .. //depot/projects/vm/sys/conf.h#2 integrate .. //depot/projects/vm/sys/cons.h#2 integrate .. //depot/projects/vm/sys/domain.h#2 integrate .. //depot/projects/vm/sys/endian.h#2 integrate .. //depot/projects/vm/sys/kernel.h#2 integrate .. //depot/projects/vm/sys/kobj.h#2 integrate .. //depot/projects/vm/sys/mutex.h#2 integrate .. //depot/projects/vm/sys/param.h#2 integrate .. //depot/projects/vm/sys/ptrace.h#2 integrate .. //depot/projects/vm/sys/sched.h#2 integrate .. //depot/projects/vm/tools/makeobjops.awk#2 integrate .. //depot/projects/vm/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/vm/vm/vm_fault.c#2 integrate Differences ... ==== //depot/projects/vm/alpha/alpha/trap.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.116 2003/08/22 07:20:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.117 2003/10/09 10:17:15 robert Exp $"); /* #include "opt_fix_unaligned_vax_fp.h" */ #include "opt_ddb.h" @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -729,6 +730,8 @@ STOPEVENT(p, S_SCE, (callp->sy_narg & SYF_ARGMASK)); + PTRACESTOP_SC(p, td, S_PT_SCE); + error = (*callp->sy_call)(td, args + hidden); } @@ -775,6 +778,8 @@ */ STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef DIAGNOSTIC cred_free_thread(td); #endif ==== //depot/projects/vm/amd64/amd64/exception.S#2 (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/amd64/amd64/exception.S,v 1.112 2003/09/22 22:54:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.113 2003/10/15 02:04:52 peter Exp $ */ #include @@ -228,7 +228,7 @@ movq %rsp,PCPU(SCRATCH_RSP) movq common_tss+COMMON_TSS_RSP0,%rsp /* Now emulate a trapframe. Make the 8 byte alignment odd for call. */ - subq $TF_SIZE+8,%rsp + subq $TF_SIZE,%rsp /* defer TF_RSP till we have a spare register */ movq %r11,TF_RFLAGS(%rsp) movq %rcx,TF_RIP(%rsp) /* %rcx original value is in %r10 */ ==== //depot/projects/vm/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.264 2003/09/22 22:52:46 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.266 2003/10/15 02:04:52 peter Exp $"); /* * AMD64 Trap and System call handling @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -257,6 +258,9 @@ default: ucode = code + BUS_SEGM_FAULT ; i = SIGBUS; +printf("trap %d: pid %d err %p eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", type, p->p_pid, (void *)frame.tf_err, +(void *)frame.tf_addr, (void *)frame.tf_rip, (void *)frame.tf_rax, (void *)frame.tf_rbx, (void *)frame.tf_rcx, (void *)frame.tf_rdx, (void *)frame.tf_rsp, (void *)frame.tf_rbp, (void *)frame.tf_rsi, (void *)frame.tf_rdi); + break; case T_PAGEFLT: /* page fault */ @@ -541,6 +545,12 @@ return (-1); } +printf("trap_pfault: pid %d %s %s %s eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", p->p_pid, + frame->tf_err & PGEX_U ? "user" : "supervisor", + frame->tf_err & PGEX_W ? "write" : "read", + frame->tf_err & PGEX_P ? "protection violation" : "page not present", +(void *)eva, (void *)frame->tf_rip, (void *)frame->tf_rax, (void *)frame->tf_rbx, (void *)frame->tf_rcx, (void *)frame->tf_rdx, (void *)frame->tf_rsp, (void *)frame->tf_rbp, (void *)frame->tf_rsi, (void *)frame->tf_rdi); + return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } @@ -740,6 +750,8 @@ STOPEVENT(p, S_SCE, narg); + PTRACESTOP_SC(p, td, S_PT_SCE); + error = (*callp->sy_call)(td, argp); } @@ -808,6 +820,8 @@ */ STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef DIAGNOSTIC cred_free_thread(td); #endif ==== //depot/projects/vm/amd64/include/frame.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/frame.h,v 1.24 2003/05/12 18:33:19 peter Exp $ + * $FreeBSD: src/sys/amd64/include/frame.h,v 1.25 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_FRAME_H_ @@ -69,6 +69,7 @@ register_t tf_r15; register_t tf_trapno; register_t tf_addr; + register_t tf_flags; /* below portion defined in hardware */ register_t tf_err; register_t tf_rip; @@ -98,6 +99,7 @@ register_t if_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t if_rip; @@ -127,6 +129,7 @@ register_t cf_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t cf_rip; ==== //depot/projects/vm/amd64/include/signal.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/signal.h,v 1.23 2003/09/08 18:31:48 peter Exp $ + * $FreeBSD: src/sys/amd64/include/signal.h,v 1.24 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_SIGNAL_H_ @@ -91,6 +91,7 @@ long sc_r15; long sc_trapno; long sc_addr; + long sc_flags; long sc_err; long sc_rip; long sc_cs; @@ -104,9 +105,8 @@ */ long sc_fpformat; long sc_ownedfp; - long sc_spare1[1]; long sc_fpstate[64] __aligned(16); - long sc_spare2[8]; + long sc_spare[8]; }; #endif /* __BSD_VISIBLE */ ==== //depot/projects/vm/amd64/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/amd64/include/ucontext.h,v 1.15 2003/10/01 01:08:04 peter Exp $ + * $FreeBSD: src/sys/amd64/include/ucontext.h,v 1.16 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_UCONTEXT_H_ @@ -55,6 +55,7 @@ __register_t mc_r15; __register_t mc_trapno; __register_t mc_addr; + __register_t mc_flags; __register_t mc_err; __register_t mc_rip; __register_t mc_cs; @@ -70,12 +71,11 @@ #define _MC_FPOWNED_FPU 0x20001 /* FP state came from FPU */ #define _MC_FPOWNED_PCB 0x20002 /* FP state came from PCB */ long mc_ownedfp; - long mc_spare1[1]; /* align mc_fpstate to 16 bytes */ /* * See for the internals of mc_fpstate[]. */ long mc_fpstate[64] __aligned(16); - long mc_spare2[8]; + long mc_spare[8]; } mcontext_t; #endif /* !_MACHINE_UCONTEXT_H_ */ ==== //depot/projects/vm/cam/scsi/scsi_cd.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.85 2003/10/06 10:39:13 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.86 2003/10/07 14:46:59 thomas Exp $"); #include "opt_cd.h" @@ -92,17 +92,18 @@ } cd_quirks; typedef enum { - CD_FLAG_INVALID = 0x001, - CD_FLAG_NEW_DISC = 0x002, - CD_FLAG_DISC_LOCKED = 0x004, - CD_FLAG_DISC_REMOVABLE = 0x008, - CD_FLAG_TAGGED_QUEUING = 0x010, - CD_FLAG_CHANGER = 0x040, - CD_FLAG_ACTIVE = 0x080, - CD_FLAG_SCHED_ON_COMP = 0x100, - CD_FLAG_RETRY_UA = 0x200, - CD_FLAG_VALID_MEDIA = 0x400, - CD_FLAG_VALID_TOC = 0x800 + CD_FLAG_INVALID = 0x0001, + CD_FLAG_NEW_DISC = 0x0002, + CD_FLAG_DISC_LOCKED = 0x0004, + CD_FLAG_DISC_REMOVABLE = 0x0008, + CD_FLAG_TAGGED_QUEUING = 0x0010, + CD_FLAG_CHANGER = 0x0040, + CD_FLAG_ACTIVE = 0x0080, + CD_FLAG_SCHED_ON_COMP = 0x0100, + CD_FLAG_RETRY_UA = 0x0200, + CD_FLAG_VALID_MEDIA = 0x0400, + CD_FLAG_VALID_TOC = 0x0800, + CD_FLAG_SCTX_INIT = 0x1000 } cd_flags; typedef enum { @@ -421,7 +422,8 @@ xpt_print_path(periph->path); printf("removing device entry\n"); - if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) { + if ((softc->flags & CD_FLAG_SCTX_INIT) != 0 + && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print_path(periph->path); printf("can't remove sysctl context\n"); } @@ -581,6 +583,7 @@ mtx_lock(&Giant); sysctl_ctx_init(&softc->sysctl_ctx); + softc->flags |= CD_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_kern_cam_cd), OID_AUTO, tmpstr2, CTLFLAG_RD, 0, tmpstr); ==== //depot/projects/vm/cam/scsi/scsi_da.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.159 2003/09/04 01:01:20 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.160 2003/10/08 07:12:30 thomas Exp $"); #ifdef _KERNEL #include "opt_da.h" @@ -89,7 +89,8 @@ DA_FLAG_NEED_OTAG = 0x020, DA_FLAG_WENT_IDLE = 0x040, DA_FLAG_RETRY_UA = 0x080, - DA_FLAG_OPEN = 0x100 + DA_FLAG_OPEN = 0x100, + DA_FLAG_SCTX_INIT = 0x200 } da_flags; typedef enum { @@ -838,7 +839,8 @@ /* * If we can't free the sysctl tree, oh well... */ - if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) { + if ((softc->flags & DA_FLAG_SCTX_INIT) != 0 + && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print_path(periph->path); printf("can't remove sysctl context\n"); } @@ -925,6 +927,7 @@ mtx_lock(&Giant); sysctl_ctx_init(&softc->sysctl_ctx); + softc->flags |= DA_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_kern_cam_da), OID_AUTO, tmpstr2, CTLFLAG_RD, 0, tmpstr); ==== //depot/projects/vm/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.75 2003/09/30 13:35:19 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.76 2003/10/08 18:05:59 gallatin Exp $"); #include #include @@ -413,7 +413,7 @@ static int linprocfs_dostat(PFS_FILL_ARGS) { - unsigned int olen, plen; + size_t olen, plen; int name[2]; int i, ncpu; ==== //depot/projects/vm/compat/linux/linux_socket.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.42 2003/06/10 21:27:39 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.43 2003/10/11 15:08:32 iwasaki Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -225,6 +225,17 @@ } static int +bsd_to_linux_sockopt_level(int level) +{ + + switch (level) { + case SOL_SOCKET: + return (LINUX_SOL_SOCKET); + } + return (level); +} + +static int linux_to_bsd_ip_sockopt(int opt) { @@ -995,9 +1006,9 @@ } */ bsd_args; struct msghdr msg; struct msghdr *nmsg = NULL; + struct cmsghdr *cmsg; int error; - int level; - caddr_t control; + caddr_t sg; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); @@ -1006,54 +1017,39 @@ if (error) return (error); - if (msg.msg_name) { + sg = stackgap_init(); + nmsg = (struct msghdr *)stackgap_alloc(&sg, sizeof(struct msghdr)); + if (nmsg == NULL) + return (ENOMEM); + + bcopy(&msg, nmsg, sizeof(struct msghdr)); + + if (msg.msg_name != NULL) { struct sockaddr *sa; - caddr_t sg = stackgap_init(); - nmsg = (struct msghdr *) stackgap_alloc(&sg, - sizeof(struct msghdr)); - if (!nmsg) - return (ENOMEM); - error = linux_sa_get(&sg, &sa, (struct osockaddr *) msg.msg_name, &msg.msg_namelen); if (error) return (error); - msg.msg_name = (struct sockaddr *) sa; - error = copyout(&msg, nmsg, sizeof(struct msghdr)); - if (error) - return (error); + nmsg->msg_name = sa; } - error = copyin(&linux_args.msg->msg_control, &control, - sizeof(caddr_t)); - if (error) - return (error); + if (msg.msg_control != NULL) { + nmsg->msg_control = (struct cmsghdr *)stackgap_alloc(&sg, + msg.msg_controllen); + if (nmsg->msg_control == NULL) + return (ENOMEM); - if (control == NULL) - goto done; + bcopy(msg.msg_control, nmsg->msg_control, msg.msg_controllen); + cmsg = (struct cmsghdr*)nmsg->msg_control; - error = copyin(&((struct cmsghdr*)control)->cmsg_level, &level, - sizeof(int)); - if (error) - return (error); + cmsg->cmsg_level = linux_to_bsd_sockopt_level(cmsg->cmsg_level); + } - if (level == 1) { - /* - * Linux thinks that SOL_SOCKET is 1; we know - * that it's really 0xffff, of course. - */ - level = SOL_SOCKET; - error = copyout(&level, - &((struct cmsghdr *)control)->cmsg_level, sizeof(int)); - if (error) - return (error); - } -done: bsd_args.s = linux_args.s; bsd_args.msg = (caddr_t)nmsg; - bsd_args.flags = linux_args.flags; + bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags); return (sendmsg(td, &bsd_args)); } @@ -1073,6 +1069,7 @@ int flags; } */ bsd_args; struct msghdr msg; + struct cmsghdr *cmsg; int error; if ((error = copyin(args, &linux_args, sizeof(linux_args)))) @@ -1085,6 +1082,11 @@ if (error) return (error); + if (bsd_args.msg->msg_control != NULL) { + cmsg = (struct cmsghdr*)bsd_args.msg->msg_control; + cmsg->cmsg_level = bsd_to_linux_sockopt_level(cmsg->cmsg_level); + } + error = copyin(linux_args.msg, &msg, sizeof(msg)); if (error) return (error); ==== //depot/projects/vm/conf/files#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.828 2003/10/01 15:13:29 ume Exp $ +# $FreeBSD: src/sys/conf/files,v 1.834 2003/10/15 08:53:04 phk Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -201,12 +201,14 @@ contrib/ipfilter/netinet/ip_proxy.c optional ipfilter inet contrib/ipfilter/netinet/ip_state.c optional ipfilter inet contrib/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet +crypto/blowfish/bf_ecb.c optional ipsec ipsec_esp crypto/blowfish/bf_skey.c optional ipsec ipsec_esp crypto/cast128/cast128.c optional ipsec ipsec_esp crypto/des/des_ecb.c optional ipsec ipsec_esp crypto/des/des_setkey.c optional ipsec ipsec_esp -crypto/rijndael/rijndael-alg-fst.c optional ipsec ipsec_esp -crypto/rijndael/rijndael-api-fst.c optional ipsec ipsec_esp +crypto/rijndael/rijndael-alg-fst.c optional ipsec +crypto/rijndael/rijndael-api-fst.c optional ipsec +opencrypto/rmd160.c optional ipsec crypto/sha1.c optional ipsec crypto/sha2/sha2.c optional ipsec ddb/db_access.c optional ddb @@ -947,6 +949,9 @@ geom/bde/g_bde_crypt.c optional geom_bde geom/bde/g_bde_lock.c optional geom_bde geom/bde/g_bde_work.c optional geom_bde +crypto/rijndael/rijndael-alg-fst.c optional geom_bde +crypto/rijndael/rijndael-api-fst.c optional geom_bde +crypto/sha2/sha2.c optional geom_bde geom/geom_aes.c optional geom_aes geom/geom_apple.c optional geom_apple geom/geom_bsd.c optional geom_bsd @@ -972,8 +977,6 @@ geom/geom_sunlabel.c optional geom_sunlabel geom/geom_sunlabel_enc.c optional geom_sunlabel geom/geom_vol_ffs.c optional geom_vol -crypto/rijndael/rijndael-alg-fst.c optional geom -crypto/rijndael/rijndael-api-fst.c optional geom gnu/ext2fs/ext2_alloc.c optional ext2fs \ warning "kernel contains GPL contaminated ext2fs filesystem" gnu/ext2fs/ext2_balloc.c optional ext2fs @@ -1435,10 +1438,12 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet +netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 +netinet6/esp_aesctr.c optional ipsec ipsec_esp netinet6/esp_core.c optional ipsec ipsec_esp netinet6/esp_input.c optional ipsec ipsec_esp netinet6/esp_output.c optional ipsec ipsec_esp ==== //depot/projects/vm/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.23 2003/09/06 23:23:25 marcel Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.24 2003/10/14 05:51:31 alc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -73,6 +73,7 @@ amd64/amd64/sys_machdep.c standard amd64/amd64/trap.c standard amd64/amd64/tsc.c standard +amd64/amd64/uma_machdep.c standard amd64/amd64/vm_machdep.c standard amd64/amd64/in_cksum.c optional inet ==== //depot/projects/vm/contrib/ia64/libuwx/src/Makefile#2 (text+ko) ==== @@ -8,11 +8,11 @@ AR = ar RANLIB = : +OTHERCFLAGS = # OTHERCFLAGS = -DUWX_TRACE_ENABLE # Enables trace output # OTHERCFLAGS = +DD64 # Builds 64-bit library -OTHERCFLAGS = -CFLAGS = +W944 -O $(OTHERCFLAGS) +CFLAGS = -O $(OTHERCFLAGS) OBJS = uwx_bstream.o uwx_context.o uwx_env.o uwx_scoreboard.o \ uwx_step.o uwx_str.o uwx_swap.o uwx_trace.o uwx_uinfo.o \ @@ -36,7 +36,7 @@ uwx_bstream.o: uwx.h uwx_env.h uwx_bstream.h -uwx_context.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_trace.h +uwx_context.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_step.h uwx_trace.h uwx_env.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_str.h uwx_trace.h ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx.h#2 (text+ko) ==== @@ -208,18 +208,26 @@ #define UWX_REG_CFM 3 /* cfm (no spill info) */ #define UWX_REG_RP 4 /* rp (pseudo-register) */ #define UWX_REG_PSP 5 /* psp (pseudo-register) */ -#define UWX_REG_PFS 6 /* ar.pfs */ +#define UWX_REG_PFS 6 /* pfs (pseudo-register) */ #define UWX_REG_PREDS 7 /* p0 - p63 */ #define UWX_REG_PRIUNAT 8 /* primary unat (pseudo-register) */ -#define UWX_REG_BSPSTORE 9 /* ar.bspstore */ -#define UWX_REG_RNAT 10 /* ar.rnat */ -#define UWX_REG_UNAT 11 /* ar.unat */ -#define UWX_REG_FPSR 12 /* ar.fpsr */ -#define UWX_REG_LC 13 /* ar.lc */ +#define UWX_REG_AR_PFS 9 /* ar.pfs */ +#define UWX_REG_AR_BSPSTORE 10 /* ar.bspstore */ +#define UWX_REG_AR_RNAT 11 /* ar.rnat */ +#define UWX_REG_AR_UNAT 12 /* ar.unat */ +#define UWX_REG_AR_FPSR 13 /* ar.fpsr */ +#define UWX_REG_AR_LC 14 /* ar.lc */ #define UWX_REG_GR(gr) (0x100 | (gr)) #define UWX_REG_FR(fr) (0x200 | (fr)) #define UWX_REG_BR(br) (0x300 | (br)) +/* for backwards compatibility with previous releases... */ +#define UWX_REG_BSPSTORE UWX_REG_AR_BSPSTORE +#define UWX_REG_RNAT UWX_REG_AR_RNAT +#define UWX_REG_UNAT UWX_REG_AR_UNAT +#define UWX_REG_FPSR UWX_REG_AR_FPSR +#define UWX_REG_LC UWX_REG_AR_LC + /* Values corresponding to UWX_KEY_SPILL keys indicate the disposition */ /* of the spilled register -- either in the memory stack or in another */ /* register. The PSP register may also have a disposition of "SPPLUS", */ ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx_context.c#2 (text+ko) ==== @@ -23,6 +23,7 @@ #include "uwx_env.h" #include "uwx_context.h" #include "uwx_scoreboard.h" +#include "uwx_step.h" #include "uwx_trace.h" int uwx_init_context( @@ -46,6 +47,7 @@ for (i = 0; i < NPRESERVEDGR; i++) env->context.gr[i] = 0; env->context.valid_regs = VALID_BASIC4; + env->context.valid_frs = 0; env->rstate = 0; (void)uwx_init_history(env); return UWX_OK; @@ -64,8 +66,17 @@ status = UWX_OK; + if (regid == UWX_REG_GR(12)) + regid = UWX_REG_SP; if (regid < NSPECIALREG && (env->context.valid_regs & (1 << regid))) *valp = env->context.special[regid]; + else if (regid == UWX_REG_PSP || regid == UWX_REG_RP || + regid == UWX_REG_PFS) { + status = uwx_restore_markers(env); + if (status != UWX_OK) + return status; + *valp = env->context.special[regid]; + } else if (regid >= UWX_REG_GR(4) && regid <= UWX_REG_GR(7) && (env->context.valid_regs & (1 << (regid - UWX_REG_GR(4) + VALID_GR_SHIFT))) ) @@ -94,13 +105,13 @@ (env->context.valid_regs & (1 << (regid - UWX_REG_BR(1) + VALID_BR_SHIFT))) ) *valp = env->context.br[regid - UWX_REG_BR(1)]; - else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_BR(5) && - (env->context.valid_frs & (1 << (regid - UWX_REG_FR(2)))) ) { + else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_FR(5) && + (env->context.valid_frs & (1 << (regid - UWX_REG_FR(2)))) ) { valp[0] = env->context.fr[regid - UWX_REG_FR(2)].part0; valp[1] = env->context.fr[regid - UWX_REG_FR(2)].part1; } - else if (regid >= UWX_REG_FR(16) && regid <= UWX_REG_BR(31) && - (env->context.valid_frs & (1 << (regid - UWX_REG_FR(2)))) ) { + else if (regid >= UWX_REG_FR(16) && regid <= UWX_REG_FR(31) && + (env->context.valid_frs & (1 << (regid - UWX_REG_FR(16) + 4))) ) { valp[0] = env->context.fr[regid - UWX_REG_FR(16) + 4].part0; valp[1] = env->context.fr[regid - UWX_REG_FR(16) + 4].part1; } @@ -114,7 +125,7 @@ if (n != DWORDSZ) status = UWX_ERR_COPYIN_REG; } - else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_BR(127)) { + else if (regid >= UWX_REG_FR(2) && regid <= UWX_REG_FR(127)) { if (env->copyin == 0) return UWX_ERR_NOCALLBACKS; n = (*env->copyin)(UWX_COPYIN_REG, (char *)valp, @@ -170,7 +181,7 @@ natcollp = bsp | 0x01f8; if (natcollp >= bsp) n = (*env->copyin)(UWX_COPYIN_REG, (char *)&natcoll, - (uint64_t)UWX_REG_RNAT, DWORDSZ, env->cb_token); + (uint64_t)UWX_REG_AR_RNAT, DWORDSZ, env->cb_token); else n = (*env->copyin)(UWX_COPYIN_RSTACK, (char *)&natcoll, bsp, DWORDSZ, env->cb_token); @@ -197,6 +208,8 @@ status = UWX_OK; + if (regid == UWX_REG_GR(12)) + regid = UWX_REG_SP; if (regid < NSPECIALREG) *dispp = env->history.special[regid]; else if (regid >= UWX_REG_GR(4) && regid <= UWX_REG_GR(7)) @@ -233,6 +246,8 @@ if (env == 0) return UWX_ERR_NOENV; + if (regid == UWX_REG_GR(12)) + regid = UWX_REG_SP; if (regid < NSPECIALREG) { env->context.special[regid] = val; env->context.valid_regs |= 1 << regid; ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx_env.h#2 (text+ko) ==== @@ -39,7 +39,7 @@ #define NSCOREBOARDS 8 /* Initial allocation of scoreboards */ -#define NSPECIALREG 14 +#define NSPECIALREG 16 /* Must be even, so FRs are aligned */ #define NPRESERVEDGR 4 #define NPRESERVEDBR 5 #define NPRESERVEDFR 20 @@ -61,7 +61,8 @@ #define VALID_GR_SHIFT NSPECIALREG #define VALID_BR_SHIFT (NSPECIALREG + NPRESERVEDGR) -#define VALID_BASIC4 0x0f /* IP, SP, BSP, PFS */ +#define VALID_BASIC4 0x0f /* IP, SP, BSP, CFM */ +#define VALID_MARKERS 0x70 /* RP, PSP, PFS */ struct uwx_history { uint64_t special[NSPECIALREG]; ==== //depot/projects/vm/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 (text+ko) ==== @@ -63,8 +63,8 @@ sb->rstate[i] = UWX_DISP_NONE; sb->rstate[SBREG_RP] = UWX_DISP_REG(UWX_REG_BR(0)); sb->rstate[SBREG_PSP] = UWX_DISP_SPPLUS(0); - sb->rstate[SBREG_PFS] = UWX_DISP_REG(UWX_REG_PFS); - sb->rstate[SBREG_PRIUNAT] = UWX_DISP_REG(UWX_REG_UNAT); + sb->rstate[SBREG_PFS] = UWX_DISP_REG(UWX_REG_AR_PFS); + sb->rstate[SBREG_PRIUNAT] = UWX_DISP_REG(UWX_REG_AR_UNAT); sb->label = 0; return sb; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Oct 18 15:48:20 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E80C16A4C0; Sat, 18 Oct 2003 15:48: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 51EAB16A4B3 for ; Sat, 18 Oct 2003 15:48:20 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 539CC43FB1 for ; Sat, 18 Oct 2003 15:48:19 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9IMmJXJ060548 for ; Sat, 18 Oct 2003 15:48:19 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9IMmIg2060545 for perforce@freebsd.org; Sat, 18 Oct 2003 15:48:18 -0700 (PDT) (envelope-from sam@freebsd.org) Date: Sat, 18 Oct 2003 15:48:18 -0700 (PDT) Message-Id: <200310182248.h9IMmIg2060545@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 39940 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, 18 Oct 2003 22:48:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=39940 Change 39940 by sam@sam_ebb on 2003/10/18 15:47:50 IFC Affected files ... .. //depot/projects/netperf/sys/contrib/ipfilter/netinet/ip_fil.c#6 integrate .. //depot/projects/netperf/sys/dev/aac/aac.c#7 integrate .. //depot/projects/netperf/sys/dev/aac/aacreg.h#2 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath.c#26 integrate .. //depot/projects/netperf/sys/kern/kern_switch.c#3 integrate .. //depot/projects/netperf/sys/kern/tty_cons.c#5 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_crypto.c#3 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_input.c#12 edit .. //depot/projects/netperf/sys/net80211/ieee80211_ioctl.c#5 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_node.c#13 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_node.h#10 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_output.c#10 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_proto.c#6 integrate .. //depot/projects/netperf/sys/net80211/ieee80211_var.h#9 integrate .. //depot/projects/netperf/sys/sys/cons.h#4 integrate Differences ... ==== //depot/projects/netperf/sys/contrib/ipfilter/netinet/ip_fil.c#6 (text+ko) ==== @@ -131,7 +131,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)ip_fil.c 2.41 6/5/96 (C) 1993-2000 Darren Reed"; /* static const char rcsid[] = "@(#)$Id: ip_fil.c,v 2.42.2.34 2001/07/23 13:49:57 darrenr Exp $"; */ -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.40 2003/09/24 05:08:58 sam Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.41 2003/10/17 20:20:14 ume Exp $"; #endif extern struct protosw inetsw[]; @@ -2018,8 +2018,12 @@ error = ip6_getpmtu(ro_pmtu, ro, ifp, &finaldst, &mtu); if (error == 0) { #else +#ifdef ND_IFINFO + mtu = ND_IFINFO(ifp)->linkmtu; +#else mtu = nd_ifinfo[ifp->if_index].linkmtu; #endif +#endif if (m0->m_pkthdr.len <= mtu) error = nd6_output(ifp, fin->fin_ifp, m0, dst6, ro->ro_rt); ==== //depot/projects/netperf/sys/dev/aac/aac.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.79 2003/09/29 14:10:04 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.80 2003/10/17 21:44:06 scottl Exp $"); /* * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters. @@ -241,6 +241,8 @@ AAC_LOCK_INIT(&sc->aac_container_lock, "AAC container lock"); TAILQ_INIT(&sc->aac_container_tqh); + /* Initialize the local AIF queue pointers */ + sc->aac_aifq_head = sc->aac_aifq_tail = AAC_AIFQ_LENGTH; /* * Initialise the adapter. @@ -2803,23 +2805,25 @@ static int aac_return_aif(struct aac_softc *sc, caddr_t uptr) { - int error; + int next, error; debug_called(2); AAC_LOCK_ACQUIRE(&sc->aac_aifq_lock); if (sc->aac_aifq_tail == sc->aac_aifq_head) { - error = EAGAIN; - } else { - error = copyout(&sc->aac_aifq[sc->aac_aifq_tail], uptr, - sizeof(struct aac_aif_command)); - if (error) - device_printf(sc->aac_dev, - "aac_return_aif: copyout returned %d\n", error); - if (!error) - sc->aac_aifq_tail = (sc->aac_aifq_tail + 1) % - AAC_AIFQ_LENGTH; + AAC_LOCK_RELEASE(&sc->aac_aifq_lock); + return (EAGAIN); } + + next = (sc->aac_aifq_tail + 1) % AAC_AIFQ_LENGTH; + error = copyout(&sc->aac_aifq[next], uptr, + sizeof(struct aac_aif_command)); + if (error) + device_printf(sc->aac_dev, + "aac_return_aif: copyout returned %d\n", error); + else + sc->aac_aifq_tail = next; + AAC_LOCK_RELEASE(&sc->aac_aifq_lock); return(error); } ==== //depot/projects/netperf/sys/dev/aac/aacreg.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aac/aacreg.h,v 1.16 2003/03/26 17:50:11 scottl Exp $ + * $FreeBSD: src/sys/dev/aac/aacreg.h,v 1.17 2003/10/17 21:44:06 scottl Exp $ */ /* @@ -851,9 +851,10 @@ u_int32_t seqNumber; /* To allow ordering of * reports (if necessary) */ union { - struct aac_AifEventNotify EN; /* Event notify structure */ - struct aac_AifJobProgressReport PR[1]; /* Progress report */ - u_int8_t AR[AAC_AIF_REPORT_MAX_SIZE]; + struct aac_AifEventNotify EN; /* Event notify */ + struct aac_AifJobProgressReport PR[1]; /* Progress report */ + u_int8_t AR[AAC_AIF_REPORT_MAX_SIZE]; + u_int8_t data[AAC_FIB_DATASIZE - 8]; } data; } __packed; ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#26 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.26 2003/10/16 16:13:11 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.28 2003/10/17 21:58:39 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. ==== //depot/projects/netperf/sys/kern/kern_switch.c#3 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.61 2003/10/16 08:39:15 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.62 2003/10/17 20:53:04 jeff Exp $"); #include #include @@ -356,11 +356,11 @@ * None free, but there is one we can commandeer. */ ke = tda->td_kse; + sched_rem(tda); tda->td_kse = NULL; ke->ke_thread = NULL; tda = kg->kg_last_assigned = TAILQ_PREV(tda, threadqueue, td_runq); - sched_rem(td); } } else { /* ==== //depot/projects/netperf/sys/kern/tty_cons.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/tty_cons.c,v 1.115 2003/09/26 19:35:50 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty_cons.c,v 1.117 2003/10/18 02:23:57 rwatson Exp $"); #include "opt_ddb.h" @@ -538,10 +538,16 @@ return (-1); STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) { cn = cnd->cnd_cn; - c = cn->cn_checkc(cn); - if (c != -1) { - return (c); +#ifdef DDB + if (!db_active || (cn->cn_flags & CN_FLAG_NODEBUG)) { +#endif + c = cn->cn_checkc(cn); + if (c != -1) { + return (c); + } +#ifdef DDB } +#endif } return (-1); } @@ -557,9 +563,15 @@ return; STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) { cn = cnd->cnd_cn; - if (c == '\n') - cn->cn_putc(cn, '\r'); - cn->cn_putc(cn, c); +#ifdef DDB + if (!db_active || (cn->cn_flags & CN_FLAG_NODEBUG)) { +#endif + if (c == '\n') + cn->cn_putc(cn, '\r'); + cn->cn_putc(cn, c); +#ifdef DDB + } +#endif } #ifdef DDB if (console_pausing && !db_active && (c == '\n')) { ==== //depot/projects/netperf/sys/net80211/ieee80211_crypto.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_crypto.c,v 1.2 2003/06/27 05:13:52 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_crypto.c,v 1.3 2003/10/17 23:15:30 sam Exp $"); #include "opt_inet.h" @@ -114,7 +114,7 @@ if ((ctx = ic->ic_wep_ctx) == NULL) { ctx = malloc(arc4_ctxlen(), M_DEVBUF, M_NOWAIT); if (ctx == NULL) { - /* XXX statistic */ + ic->ic_stats.is_crypto_nomem++; goto fail; } ic->ic_wep_ctx = ctx; ==== //depot/projects/netperf/sys/net80211/ieee80211_input.c#12 (text+ko) ==== @@ -1,4 +1,4 @@ -/*- +/* $NetBSD: ieee80211_input.c,v 1.8 2003/10/18 03:33:51 onoe Exp $ */ * Copyright (c) 2001 Atsushi Onoe * Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting * All rights reserved. @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.9 2003/09/15 19:38:29 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.12 2003/10/17 23:59:11 sam Exp $"); #include "opt_inet.h" @@ -317,7 +317,7 @@ goto err; } if (ic->ic_opmode == IEEE80211_M_AHDEMO) { - /* XXX statistic */ + ic->ic_stats.is_rx_ahdemo_mgt++; goto out; } subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; @@ -914,8 +914,12 @@ switch (ic->ic_opmode) { case IEEE80211_M_IBSS: if (ic->ic_state != IEEE80211_S_RUN || seq != 1) { - /* XXX statistic */ - return; + IEEE80211_DPRINTF(("%s: discard auth from %s; " + "state %u, seq %u\n", __func__, + ether_sprintf(wh->i_addr2), + ic->ic_state, seq)); + ic->ic_stats.is_rx_bad_auth++; + break; } ieee80211_new_state(ic, IEEE80211_S_AUTH, wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK); @@ -926,8 +930,14 @@ break; case IEEE80211_M_HOSTAP: - if (ic->ic_state != IEEE80211_S_RUN || seq != 1) - return; + if (ic->ic_state != IEEE80211_S_RUN || seq != 1) { + IEEE80211_DPRINTF(("%s: discard auth from %s; " + "state %u, seq %u\n", __func__, + ether_sprintf(wh->i_addr2), + ic->ic_state, seq)); + ic->ic_stats.is_rx_bad_auth++; + break; + } if (ni == ic->ic_bss) { ni = ieee80211_alloc_node(ic, wh->i_addr2); if (ni == NULL) { @@ -951,8 +961,12 @@ case IEEE80211_M_STA: if (ic->ic_state != IEEE80211_S_AUTH || seq != 2) { - /* XXX statistic */ - return; + IEEE80211_DPRINTF(("%s: discard auth from %s; " + "state %u, seq %u\n", __func__, + ether_sprintf(wh->i_addr2), + ic->ic_state, seq)); + ic->ic_stats.is_rx_bad_auth++; + break; } if (status != 0) { if_printf(&ic->ic_if, ==== //depot/projects/netperf/sys/net80211/ieee80211_ioctl.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.6 2003/09/26 16:48:39 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.7 2003/10/17 23:15:30 sam Exp $"); /* * IEEE 802.11 ioctl support (FreeBSD-specific) ==== //depot/projects/netperf/sys/net80211/ieee80211_ioctl.h#4 (text+ko) ==== @@ -29,7 +29,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/net80211/ieee80211_ioctl.h,v 1.3 2003/09/26 16:48:39 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_ioctl.h,v 1.4 2003/10/17 23:15:30 sam Exp $ */ #ifndef _NET80211_IEEE80211_IOCTL_H_ #define _NET80211_IEEE80211_IOCTL_H_ @@ -38,6 +38,50 @@ * IEEE 802.11 ioctls. */ +struct ieee80211_stats { + u_int32_t is_rx_badversion; /* rx frame with bad version */ + u_int32_t is_rx_tooshort; /* rx frame too short */ + u_int32_t is_rx_wrongbss; /* rx from wrong bssid */ + u_int32_t is_rx_dup; /* rx discard 'cuz dup */ + u_int32_t is_rx_wrongdir; /* rx w/ wrong direction */ + u_int32_t is_rx_mcastecho; /* rx discard 'cuz mcast echo */ + u_int32_t is_rx_notassoc; /* rx discard 'cuz sta !assoc */ + u_int32_t is_rx_nowep; /* rx w/ wep but wep !config */ + u_int32_t is_rx_wepfail; /* rx wep processing failed */ + u_int32_t is_rx_decap; /* rx decapsulation failed */ + u_int32_t is_rx_mgtdiscard; /* rx discard mgt frames */ + u_int32_t is_rx_ctl; /* rx discard ctrl frames */ + u_int32_t is_rx_rstoobig; /* rx rate set truncated */ + u_int32_t is_rx_elem_missing; /* rx required element missing*/ + u_int32_t is_rx_elem_toobig; /* rx element too big */ + u_int32_t is_rx_elem_toosmall; /* rx element too small */ + u_int32_t is_rx_elem_unknown; /* rx element unknown */ + u_int32_t is_rx_badchan; /* rx frame w/ invalid chan */ + u_int32_t is_rx_chanmismatch; /* rx frame chan mismatch */ + u_int32_t is_rx_nodealloc; /* rx frame dropped */ + u_int32_t is_rx_ssidmismatch; /* rx frame ssid mismatch */ + u_int32_t is_rx_auth_unsupported; /* rx w/ unsupported auth alg */ + u_int32_t is_rx_auth_fail; /* rx sta auth failure */ + u_int32_t is_rx_assoc_bss; /* rx assoc from wrong bssid */ + u_int32_t is_rx_assoc_notauth; /* rx assoc w/o auth */ + u_int32_t is_rx_assoc_capmismatch;/* rx assoc w/ cap mismatch */ + u_int32_t is_rx_assoc_norate; /* rx assoc w/ no rate match */ + u_int32_t is_rx_deauth; /* rx deauthentication */ + u_int32_t is_rx_disassoc; /* rx disassociation */ + u_int32_t is_rx_badsubtype; /* rx frame w/ unknown subtype*/ + u_int32_t is_rx_nombuf; /* rx failed for lack of mbuf */ + u_int32_t is_rx_decryptcrc; /* rx decrypt failed on crc */ + u_int32_t is_rx_ahdemo_mgt; /* rx discard ahdemo mgt frame*/ + u_int32_t is_rx_bad_auth; /* rx bad auth request */ + u_int32_t is_tx_nombuf; /* tx failed for lack of mbuf */ + u_int32_t is_tx_nonode; /* tx failed for no node */ + u_int32_t is_tx_unknownmgt; /* tx of unknown mgt frame */ + u_int32_t is_scan_active; /* active scans started */ + u_int32_t is_scan_passive; /* passive scans started */ + u_int32_t is_node_timeout; /* nodes timed out inactivity */ + u_int32_t is_crypto_nomem; /* no memory for crypto ctx */ +}; + #ifdef __FreeBSD__ /* * FreeBSD-style ioctls. @@ -80,47 +124,6 @@ #define IEEE80211_CHAN_ANY 0xffff /* token for ``any channel'' */ #endif -struct ieee80211_stats { - u_int32_t is_rx_badversion; /* rx frame with bad version */ - u_int32_t is_rx_tooshort; /* rx frame too short */ - u_int32_t is_rx_wrongbss; /* rx from wrong bssid */ - u_int32_t is_rx_dup; /* rx discard 'cuz dup */ - u_int32_t is_rx_wrongdir; /* rx w/ wrong direction */ - u_int32_t is_rx_mcastecho; /* rx discard 'cuz mcast echo */ - u_int32_t is_rx_notassoc; /* rx discard 'cuz sta !assoc */ - u_int32_t is_rx_nowep; /* rx w/ wep but wep !config */ - u_int32_t is_rx_wepfail; /* rx wep processing failed */ - u_int32_t is_rx_decap; /* rx decapsulation failed */ - u_int32_t is_rx_mgtdiscard; /* rx discard mgt frames */ - u_int32_t is_rx_ctl; /* rx discard ctrl frames */ - u_int32_t is_rx_rstoobig; /* rx rate set truncated */ - u_int32_t is_rx_elem_missing; /* rx required element missing*/ - u_int32_t is_rx_elem_toobig; /* rx element too big */ - u_int32_t is_rx_elem_toosmall; /* rx element too small */ - u_int32_t is_rx_elem_unknown; /* rx element unknown */ - u_int32_t is_rx_badchan; /* rx frame w/ invalid chan */ - u_int32_t is_rx_chanmismatch; /* rx frame chan mismatch */ - u_int32_t is_rx_nodealloc; /* rx frame dropped */ - u_int32_t is_rx_ssidmismatch; /* rx frame ssid mismatch */ - u_int32_t is_rx_auth_unsupported; /* rx w/ unsupported auth alg */ - u_int32_t is_rx_auth_fail; /* rx sta auth failure */ - u_int32_t is_rx_assoc_bss; /* rx assoc from wrong bssid */ - u_int32_t is_rx_assoc_notauth; /* rx assoc w/o auth */ - u_int32_t is_rx_assoc_capmismatch;/* rx assoc w/ cap mismatch */ - u_int32_t is_rx_assoc_norate; /* rx assoc w/ no rate match */ - u_int32_t is_rx_deauth; /* rx deauthentication */ - u_int32_t is_rx_disassoc; /* rx disassociation */ - u_int32_t is_rx_badsubtype; /* rx frame w/ unknown subtype*/ - u_int32_t is_rx_nombuf; /* rx failed for lack of mbuf */ - u_int32_t is_rx_decryptcrc; /* rx decrypt failed on crc */ - u_int32_t is_tx_nombuf; /* tx failed for lack of mbuf */ - u_int32_t is_tx_nonode; /* tx failed for no node */ - u_int32_t is_tx_unknownmgt; /* tx of unknown mgt frame */ - u_int32_t is_scan_active; /* active scans started */ - u_int32_t is_scan_passive; /* passive scans started */ - u_int32_t is_node_timeout; /* nodes timed out inactivity */ -}; - #define SIOCG80211STATS _IOWR('i', 236, struct ifreq) #endif /* __FreeBSD__ */ ==== //depot/projects/netperf/sys/net80211/ieee80211_node.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.9 2003/09/26 17:00:44 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.11 2003/10/17 23:15:30 sam Exp $"); #include "opt_inet.h" ==== //depot/projects/netperf/sys/net80211/ieee80211_node.h#10 (text+ko) ==== @@ -29,7 +29,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/net80211/ieee80211_node.h,v 1.6 2003/09/26 17:00:44 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_node.h,v 1.7 2003/10/17 21:41:52 sam Exp $ */ #ifndef _NET80211_IEEE80211_NODE_H_ #define _NET80211_IEEE80211_NODE_H_ ==== //depot/projects/netperf/sys/net80211/ieee80211_output.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.6 2003/09/14 22:34:24 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.9 2003/10/17 23:15:30 sam Exp $"); #include "opt_inet.h" @@ -167,7 +167,7 @@ /* * When not in station mode the destination * address should always be in the node table - * if the device sends management frames to us, + * if the device sends management frames to us; * unless this is a multicast/broadcast frame. * For devices that don't send management frames * to the host we have to cheat; use the bss @@ -366,7 +366,7 @@ * [2] cabability information * [tlv] ssid * [tlv] supported rates - * [tlv] parameter set (DS) + * [tlv] parameter set (FH/DS) * [tlv] parameter set (IBSS) * [tlv] extended supported rates */ @@ -374,7 +374,7 @@ 8 + 2 + 2 + 2 + 2 + ni->ni_esslen + 2 + IEEE80211_RATE_SIZE - + (ic->ic_phytype != IEEE80211_T_FH ? 3 : 0) + + (ic->ic_phytype == IEEE80211_T_FH ? 7 : 3) + 6 + 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE)); if (m == NULL) @@ -402,8 +402,17 @@ ic->ic_bss->ni_esslen); frm = ieee80211_add_rates(frm, &ic->ic_bss->ni_rates); - /* XXX insert FH parameter set */ - if (ic->ic_phytype != IEEE80211_T_FH) { + if (ic->ic_phytype == IEEE80211_T_FH) { + *frm++ = IEEE80211_ELEMID_FHPARMS; + *frm++ = 5; + *frm++ = ni->ni_fhdwell & 0x00ff; + *frm++ = (ni->ni_fhdwell >> 8) & 0x00ff; + *frm++ = IEEE80211_FH_CHANSET( + ieee80211_chan2ieee(ic, ni->ni_chan)); + *frm++ = IEEE80211_FH_CHANPAT( + ieee80211_chan2ieee(ic, ni->ni_chan)); + *frm++ = ni->ni_fhindex; + } else { *frm++ = IEEE80211_ELEMID_DSPARMS; *frm++ = 1; *frm++ = ieee80211_chan2ieee(ic, ni->ni_chan); ==== //depot/projects/netperf/sys/net80211/ieee80211_proto.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.4 2003/09/26 16:54:55 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.5 2003/10/17 21:41:52 sam Exp $"); /* * IEEE 802.11 protocol support. ==== //depot/projects/netperf/sys/net80211/ieee80211_var.h#9 (text+ko) ==== @@ -29,7 +29,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/net80211/ieee80211_var.h,v 1.7 2003/09/26 17:00:44 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.10 2003/10/17 23:15:30 sam Exp $ */ #ifndef _NET80211_IEEE80211_VAR_H_ #define _NET80211_IEEE80211_VAR_H_ ==== //depot/projects/netperf/sys/sys/cons.h#4 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)cons.h 7.2 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/sys/cons.h,v 1.32 2003/09/28 05:36:30 jake Exp $ + * $FreeBSD: src/sys/sys/cons.h,v 1.33 2003/10/18 02:13:39 rwatson Exp $ */ #ifndef _MACHINE_CONS_H_ @@ -70,6 +70,7 @@ short cn_pri; /* pecking order; the higher the better */ void *cn_arg; /* drivers method argument */ int cn_unit; /* some drivers prefer this */ + int cn_flags; /* capabilities of this console */ char cn_name[SPECNAMELEN + 1]; /* console (device) name */ }; @@ -80,6 +81,9 @@ #define CN_INTERNAL 3 /* "internal" bit-mapped display */ #define CN_REMOTE 4 /* serial interface with remote bit set */ +/* Values for cn_flags. */ +#define CN_FLAG_NODEBUG 0x00000001 /* Not supported with debugger. */ + #ifdef _KERNEL extern int cons_unavail; From owner-p4-projects@FreeBSD.ORG Sat Oct 18 19:12:30 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 292ED16A4C0; Sat, 18 Oct 2003 19:12: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 01CB916A4B3 for ; Sat, 18 Oct 2003 19:12:30 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 68F1943FBF for ; Sat, 18 Oct 2003 19:12:29 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J2CTXJ078093 for ; Sat, 18 Oct 2003 19:12:29 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J2CSVi078089 for perforce@freebsd.org; Sat, 18 Oct 2003 19:12:28 -0700 (PDT) (envelope-from jmallett@freebsd.org) Date: Sat, 18 Oct 2003 19:12:28 -0700 (PDT) Message-Id: <200310190212.h9J2CSVi078089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 39946 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, 19 Oct 2003 02:12:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=39946 Change 39946 by jmallett@jmallett_dalek on 2003/10/18 19:12:27 forward declare struct thread. Affected files ... .. //depot/projects/mips/sys/mips/include/reg.h#6 edit Differences ... ==== //depot/projects/mips/sys/mips/include/reg.h#6 (text+ko) ==== @@ -28,6 +28,8 @@ #ifndef _MACHINE_REG_H_ #define _MACHINE_REG_H_ +struct thread; + /* * A structure representing the registers we have. */ From owner-p4-projects@FreeBSD.ORG Sat Oct 18 19:13:32 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4076F16A4C0; Sat, 18 Oct 2003 19:13:32 -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 0288816A4B3 for ; Sat, 18 Oct 2003 19:13:32 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C92043F75 for ; Sat, 18 Oct 2003 19:13:31 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J2DVXJ078189 for ; Sat, 18 Oct 2003 19:13:31 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J2DUeq078182 for perforce@freebsd.org; Sat, 18 Oct 2003 19:13:30 -0700 (PDT) (envelope-from jmallett@freebsd.org) Date: Sat, 18 Oct 2003 19:13:30 -0700 (PDT) Message-Id: <200310190213.h9J2DUeq078182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 39947 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, 19 Oct 2003 02:13:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=39947 Change 39947 by jmallett@jmallett_dalek on 2003/10/18 19:12:50 Remove managed stuff, artifact from alpha pmap. Affected files ... .. //depot/projects/mips/sys/mips/include/pte.h#9 edit .. //depot/projects/mips/sys/mips/mips/pmap.c#17 edit .. //depot/projects/mips/sys/mips/mips/tlb.c#2 edit Differences ... ==== //depot/projects/mips/sys/mips/include/pte.h#9 (text+ko) ==== @@ -108,11 +108,9 @@ * RO: Read only. Never set PG_D on this page, and don't * listen to requests to write to it. * W: Wired. - * M: Managed. */ #define PG_RO (0x01 << MIPS_TLB_SWSHIFT) #define PG_W (0x02 << MIPS_TLB_SWSHIFT) -#define PG_M (0x04 << MIPS_TLB_SWSHIFT) /* * Amalgamations of flags in software: @@ -127,7 +125,6 @@ #define pte_set(pte,bit) ((*(pte)) |= (bit)) #define pte_test(pte,bit) (((*(pte)) & (bit)) == (bit)) -#define pte_managed(pte) (pte_test((pte), PG_M)) #define pte_valid(pte) (pte_test((pte), PG_V)) #define pte_ro(pte) (pte_test((pte), PG_RO)) #define pte_dirty(pte) (pte_test((pte), PG_D)) ==== //depot/projects/mips/sys/mips/mips/pmap.c#17 (text+ko) ==== @@ -141,7 +141,6 @@ */ #define pmap_pte_ro(pte) ((*(pte) & PG_RO) != 0) #define pmap_pte_w(pte) ((*(pte) & PG_W) != 0) -#define pmap_pte_managed(pte) ((*(pte) & PG_M) != 0) #define pmap_pte_v(pte) ((*(pte) & PG_V) != 0) #define pmap_pte_pa(pte) MIPS_PTE_TO_PA(*(pte)) #define pmap_pte_prot(pte) (*(pte) & PG_PROT) @@ -1135,18 +1134,14 @@ pmap->pm_stats.wired_count -= 1; pmap->pm_stats.resident_count -= 1; - if (pmap_pte_managed(&oldpte)) { - m = PHYS_TO_VM_PAGE(pmap_pte_pa(&oldpte)); - if ((oldpte & PG_RO) == 0) { - if (pmap_track_modified(va)) - vm_page_dirty(m); - } - if ((oldpte & PG_D) == 0) - vm_page_flag_set(m, PG_REFERENCED); - return pmap_remove_entry(pmap, m, va); - } else { - /* return pmap_unuse_pt(pmap, va, NULL); */ + m = PHYS_TO_VM_PAGE(pmap_pte_pa(&oldpte)); + if ((oldpte & PG_RO) == 0) { + if (pmap_track_modified(va)) + vm_page_dirty(m); } + if ((oldpte & PG_D) == 0) + vm_page_flag_set(m, PG_REFERENCED); + return pmap_remove_entry(pmap, m, va); return 0; } @@ -1358,9 +1353,9 @@ } if (pte_dirty(pte)) { /* - * If it's not read-only, is managed, and modified, dirty it. + * If it's not read-only and is modified, dirty it. */ - if (pte_managed(pte) && !pte_ro(pte) && pte_dirty(pte)) { + if (!pte_ro(pte) && pte_dirty(pte)) { KASSERT(pmap_track_modified(va), ("pmap modified")); vm_page_dirty(PHYS_TO_VM_PAGE(opa)); } @@ -1823,10 +1818,6 @@ #endif pa = pmap_pte_pa(pte); - KASSERT(pmap_pte_managed(pte), - ("pmap_emulate_reference(%p, 0x%lx, %d, %d): pa 0x%lx not managed", - curthread, v, user, write, pa)); - /* * Twiddle the appropriate bits to reflect the reference * and/or modification.. @@ -1894,8 +1885,6 @@ vm_offset_t pa; val = MINCORE_INCORE; - if (!pmap_pte_managed(pte)) - return val; pa = pmap_pte_pa(pte); ==== //depot/projects/mips/sys/mips/mips/tlb.c#2 (text+ko) ==== @@ -178,12 +178,6 @@ /* * Do we really want to dirty this page? */ -#if 0 /* XXX ? */ - if (!pte_managed(pte)) - panic("tlb modified unmanaged page"); -#endif - if (!pte_valid(pte)) - panic("tlb modified invalid page"); if (pte_ro(pte)) panic("write to ro page"); if (pte_dirty(pte)) From owner-p4-projects@FreeBSD.ORG Sat Oct 18 19:25:57 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C3F716A4C0; Sat, 18 Oct 2003 19:25: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 07C8116A4B3 for ; Sat, 18 Oct 2003 19:25:57 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1BA4F43F85 for ; Sat, 18 Oct 2003 19:25:56 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J2PtXJ079010 for ; Sat, 18 Oct 2003 19:25:55 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J2Pt5V079007 for perforce@freebsd.org; Sat, 18 Oct 2003 19:25:55 -0700 (PDT) (envelope-from jmallett@freebsd.org) Date: Sat, 18 Oct 2003 19:25:55 -0700 (PDT) Message-Id: <200310190225.h9J2Pt5V079007@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 39949 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, 19 Oct 2003 02:25:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=39949 Change 39949 by jmallett@jmallett_dalek on 2003/10/18 19:25:29 remove dynamic status mask stuff Affected files ... .. //depot/projects/mips/sys/mips/include/asm.h#10 edit .. //depot/projects/mips/sys/mips/mips/locore_mips3.S#10 edit .. //depot/projects/mips/sys/mips/mips/mips_subr.S#10 edit Differences ... ==== //depot/projects/mips/sys/mips/include/asm.h#10 (text+ko) ==== @@ -160,27 +160,4 @@ #define REG_LI dli #define SZREG 8 -/* - * The DYNAMIC_STATUS_MASK option adds an additional masking operation - * when updating the hardware interrupt mask in the status register. - * - * This is useful for platforms that need to at run-time mask - * interrupts based on motherboard configuration or to handle - * slowly clearing interrupts. - * - * XXX this is only currently implemented for mips3. - */ -#ifdef MIPS_DYNAMIC_STATUS_MASK -#define DYNAMIC_STATUS_MASK(sr,scratch) \ - lw scratch, mips_dynamic_status_mask; \ - and sr, sr, scratch - -#define DYNAMIC_STATUS_MASK_TOUSER(sr,scratch1) \ - ori sr, (MIPS_INT_MASK | MIPS_SR_INT_IE); \ - DYNAMIC_STATUS_MASK(sr,scratch1) -#else -#define DYNAMIC_STATUS_MASK(sr,scratch) -#define DYNAMIC_STATUS_MASK_TOUSER(sr,scratch1) -#endif - #endif /* !_MACHINE_ASM_H_ */ ==== //depot/projects/mips/sys/mips/mips/locore_mips3.S#10 (text+ko) ==== @@ -213,7 +213,6 @@ nop #endif li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE) - DYNAMIC_STATUS_MASK(t0,t1) # machine dependent masking mtc0 t0, MIPS_COP_0_STATUS # enable all interrupts COP0_SYNC nop @@ -228,14 +227,6 @@ nop #endif 1: -#ifdef MIPS_DYNAMIC_STATUS_MASK - # Do this again since the mask may have changed. - li t3, (MIPS_INT_MASK | MIPS_SR_INT_IE) - DYNAMIC_STATUS_MASK(t3,t1) # machine dependent masking - mtc0 t3, MIPS_COP_0_STATUS # enable all interrupts - COP0_SYNC - nop -#endif #if XXX lw t0, sched_whichqs # look for non-empty queue bne t0, zero, 1f @@ -303,7 +294,6 @@ LEAF(longjmp) REG_L v0, SF_REG_SR(a0) - DYNAMIC_STATUS_MASK(v0,ra) # machine dependent masking REG_L ra, SF_REG_RA(a0) REG_L s0, SF_REG_S0(a0) REG_L s1, SF_REG_S1(a0) ==== //depot/projects/mips/sys/mips/mips/mips_subr.S#10 (text+ko) ==== @@ -441,7 +441,6 @@ REG_L t8, FRAME_T8(k1) REG_L t9, FRAME_T9(k1) REG_L k0, FRAME_SR(k1) - DYNAMIC_STATUS_MASK(k0, sp) # machine dependent masking REG_L gp, FRAME_GP(k1) REG_L s8, FRAME_S8(k1) REG_L ra, FRAME_RA(k1) From owner-p4-projects@FreeBSD.ORG Sat Oct 18 19:29:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3218D16A4C0; Sat, 18 Oct 2003 19:29:01 -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 0D3EA16A4B3 for ; Sat, 18 Oct 2003 19:29:01 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 81CA043FBF for ; Sat, 18 Oct 2003 19:29:00 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J2T0XJ079143 for ; Sat, 18 Oct 2003 19:29:00 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J2T0Fo079140 for perforce@freebsd.org; Sat, 18 Oct 2003 19:29:00 -0700 (PDT) (envelope-from jmallett@freebsd.org) Date: Sat, 18 Oct 2003 19:29:00 -0700 (PDT) Message-Id: <200310190229.h9J2T0Fo079140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 39950 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, 19 Oct 2003 02:29:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=39950 Change 39950 by jmallett@jmallett_dalek on 2003/10/18 19:28:03 Remove VR4100 bits. Affected files ... .. //depot/projects/mips/sys/mips/include/cpuregs.h#11 edit .. //depot/projects/mips/sys/mips/mips/mips_subr.S#11 edit Differences ... ==== //depot/projects/mips/sys/mips/include/cpuregs.h#11 (text+ko) ==== @@ -313,15 +313,8 @@ #define MIPS3_CONFIG_IC_MASK 0x00000e00 /* Primary I-cache size */ #define MIPS3_CONFIG_IC_SHIFT 9 #define MIPS3_CONFIG_C_DEFBASE 0x1000 /* default base 2^12 */ -#ifdef MIPS3_4100 /* VR4100 core */ -/* XXXCDC: THIS MIPS3_4100 SPECIAL CASE SHOULD GO AWAY */ -#define MIPS3_CONFIG_CS 0x00001000 /* cache size mode indication*/ -#define MIPS3_CONFIG_CACHE_SIZE(config, mask, dummy, shift) \ - ((((config)&MIPS3_CONFIG_CS)?0x400:0x1000) << (((config) & (mask)) >> (shift))) -#else #define MIPS3_CONFIG_CACHE_SIZE(config, mask, base, shift) \ ((base) << (((config) & (mask)) >> (shift))) -#endif /* External cache enable: Controls L2 for R5000/Rm527x and L3 for Rm7000 */ #define MIPS3_CONFIG_SE 0x00001000 ==== //depot/projects/mips/sys/mips/mips/mips_subr.S#11 (text+ko) ==== @@ -236,12 +236,7 @@ b 4f nop 1: -#if defined(MIPS3) && defined(MIPS3_4100) /* VR4100 core */ - lw v0, _C_LABEL(default_pg_mask) # default_pg_mask declared - mtc0 v0, MIPS_COP_0_TLB_PG_MASK # in mips_machdep.c -#else mtc0 zero, MIPS_COP_0_TLB_PG_MASK # init mask. -#endif COP0_SYNC _MTC0 a0, MIPS_COP_0_TLB_HI # init high reg. COP0_SYNC @@ -280,12 +275,7 @@ b 4f nop 3: -#if defined(MIPS3) && defined(MIPS3_4100) /* VR4100 core */ - lw v0, _C_LABEL(default_pg_mask) # default_pg_mask declared - mtc0 v0, MIPS_COP_0_TLB_PG_MASK # in mips_machdep.c -#else mtc0 zero, MIPS_COP_0_TLB_PG_MASK # init mask. -#endif COP0_SYNC _MTC0 a0, MIPS_COP_0_TLB_HI # init high reg. COP0_SYNC From owner-p4-projects@FreeBSD.ORG Sat Oct 18 19:32:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FF4416A4C0; Sat, 18 Oct 2003 19:32: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 6B76E16A4B3 for ; Sat, 18 Oct 2003 19:32:05 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E508043FDD for ; Sat, 18 Oct 2003 19:32:04 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J2W4XJ079335 for ; Sat, 18 Oct 2003 19:32:04 -0700 (PDT) (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J2W4lM079332 for perforce@freebsd.org; Sat, 18 Oct 2003 19:32:04 -0700 (PDT) (envelope-from jmallett@freebsd.org) Date: Sat, 18 Oct 2003 19:32:04 -0700 (PDT) Message-Id: <200310190232.h9J2W4lM079332@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 39951 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, 19 Oct 2003 02:32:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=39951 Change 39951 by jmallett@jmallett_dalek on 2003/10/18 19:31:09 remove 3900/5900 things. Affected files ... .. //depot/projects/mips/sys/mips/include/cpuregs.h#12 edit Differences ... ==== //depot/projects/mips/sys/mips/include/cpuregs.h#12 (text+ko) ==== @@ -229,11 +229,6 @@ #define MIPS3_SR_EXL 0x00000002 #define MIPS3_SR_IE 0x00000001 -#ifdef MIPS3_5900 -#undef MIPS_SR_INT_IE -#define MIPS_SR_INT_IE 0x00010001 /* XXX */ -#endif - #define MIPS_SR_SOFT_RESET MIPS3_SR_SOFT_RESET #define MIPS_SR_DIAG_CH MIPS3_SR_DIAG_CH #define MIPS_SR_DIAG_CE MIPS3_SR_DIAG_CE @@ -382,12 +377,6 @@ #define MIPS3_GEN_EXC_VEC 0xFFFFFFFF80000180 /* - * TX79 (R5900) exception vectors - */ -#define MIPS_R5900_COUNTER_EXC_VEC 0x80000080 -#define MIPS_R5900_DEBUG_EXC_VEC 0x80000100 - -/* * MIPS32/MIPS64 (and some MIPS3) dedicated interrupt vector. */ #define MIPS3_INTR_EXC_VEC 0xFFFFFFFF80000200 @@ -764,11 +753,4 @@ #define MIPS_R31LSI 0x06 /* LSI Logic derivate ISA I */ #define MIPS_R3TOSH 0x22 /* Toshiba R3000 based FPU ISA I */ -#ifdef ENABLE_MIPS_TX3900 -#include -#endif -#ifdef MIPS3_5900 -#include -#endif - #endif /* _MIPS_CPUREGS_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Oct 18 21:55:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FBC416A4C0; Sat, 18 Oct 2003 21:55: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 0737416A4B3 for ; Sat, 18 Oct 2003 21:55:36 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60D2943F3F for ; Sat, 18 Oct 2003 21:55:34 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J4tYXJ092066 for ; Sat, 18 Oct 2003 21:55:34 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J4tM5e092035 for perforce@freebsd.org; Sat, 18 Oct 2003 21:55:22 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sat, 18 Oct 2003 21:55:22 -0700 (PDT) Message-Id: <200310190455.h9J4tM5e092035@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 39955 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, 19 Oct 2003 04:55:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=39955 Change 39955 by marcel@marcel_nfs on 2003/10/18 21:54:44 IFC @39953 Affected files ... .. //depot/projects/uart/alpha/alpha/machdep.c#8 integrate .. //depot/projects/uart/alpha/alpha/trap.c#3 integrate .. //depot/projects/uart/alpha/include/pmap.h#2 integrate .. //depot/projects/uart/amd64/amd64/exception.S#4 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#7 integrate .. //depot/projects/uart/amd64/amd64/pmap.c#20 integrate .. //depot/projects/uart/amd64/amd64/trap.c#4 integrate .. //depot/projects/uart/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/uart/amd64/include/frame.h#2 integrate .. //depot/projects/uart/amd64/include/pmap.h#4 integrate .. //depot/projects/uart/amd64/include/signal.h#3 integrate .. //depot/projects/uart/amd64/include/ucontext.h#4 integrate .. //depot/projects/uart/cam/cam_periph.c#4 integrate .. //depot/projects/uart/cam/scsi/scsi_cd.c#6 integrate .. //depot/projects/uart/cam/scsi/scsi_da.c#9 integrate .. //depot/projects/uart/coda/coda_subr.c#3 integrate .. //depot/projects/uart/compat/linprocfs/linprocfs.c#8 integrate .. //depot/projects/uart/compat/linux/linux_socket.c#2 integrate .. //depot/projects/uart/conf/files#27 integrate .. //depot/projects/uart/conf/files.amd64#7 integrate .. //depot/projects/uart/conf/majors#5 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/Makefile#3 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx.h#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_context.c#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_env.h#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_self.c#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_step.c#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_step.h#1 branch .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_trace.c#3 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_trace.h#3 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_ttrace.c#2 integrate .. //depot/projects/uart/contrib/ia64/libuwx/src/uwx_uinfo.c#3 integrate .. //depot/projects/uart/contrib/ipfilter/netinet/ip_fil.c#3 integrate .. //depot/projects/uart/crypto/blowfish/bf_ecb.c#1 branch .. //depot/projects/uart/crypto/blowfish/blowfish.h#2 integrate .. //depot/projects/uart/crypto/cast128/cast128.c#2 integrate .. //depot/projects/uart/crypto/cast128/cast128.h#2 integrate .. //depot/projects/uart/crypto/cast128/cast128_subkey.h#2 delete .. //depot/projects/uart/crypto/cast128/cast128sb.h#1 branch .. //depot/projects/uart/crypto/rijndael/boxes-fst.dat#2 delete .. //depot/projects/uart/crypto/rijndael/rijndael-alg-fst.c#2 integrate .. //depot/projects/uart/crypto/rijndael/rijndael-alg-fst.h#2 integrate .. //depot/projects/uart/crypto/rijndael/rijndael-api-fst.c#4 integrate .. //depot/projects/uart/crypto/rijndael/rijndael-api-fst.h#2 integrate .. //depot/projects/uart/crypto/rijndael/rijndael_local.h#2 integrate .. //depot/projects/uart/dev/aac/aac.c#9 integrate .. //depot/projects/uart/dev/aac/aacreg.h#2 integrate .. //depot/projects/uart/dev/amr/amr.c#4 integrate .. //depot/projects/uart/dev/amr/amr_disk.c#3 integrate .. //depot/projects/uart/dev/amr/amrvar.h#2 integrate .. //depot/projects/uart/dev/an/if_an_pccard.c#3 integrate .. //depot/projects/uart/dev/ata/ata-all.c#8 integrate .. //depot/projects/uart/dev/ata/ata-card.c#4 integrate .. //depot/projects/uart/dev/ata/ata-disk.c#4 integrate .. //depot/projects/uart/dev/ata/ata-dma.c#6 integrate .. //depot/projects/uart/dev/ata/ata-lowlevel.c#11 integrate .. //depot/projects/uart/dev/ata/ata-queue.c#5 integrate .. //depot/projects/uart/dev/ata/atapi-cd.c#9 integrate .. //depot/projects/uart/dev/ath/if_ath.c#11 integrate .. //depot/projects/uart/dev/ath/if_ath_pci.c#4 integrate .. //depot/projects/uart/dev/ath/if_athvar.h#7 integrate .. //depot/projects/uart/dev/cardbus/cardbus.c#4 integrate .. //depot/projects/uart/dev/cardbus/cardbus_cis.c#4 integrate .. //depot/projects/uart/dev/cardbus/cardbus_cis.h#2 integrate .. //depot/projects/uart/dev/ciss/ciss.c#7 integrate .. //depot/projects/uart/dev/ed/if_ed.c#3 integrate .. //depot/projects/uart/dev/ed/if_ed_cbus.c#3 integrate .. //depot/projects/uart/dev/ed/if_ed_isa.c#3 integrate .. //depot/projects/uart/dev/ed/if_edreg.h#2 integrate .. //depot/projects/uart/dev/ed/if_edvar.h#2 integrate .. //depot/projects/uart/dev/em/if_em.c#6 integrate .. //depot/projects/uart/dev/em/if_em.h#8 integrate .. //depot/projects/uart/dev/ep/if_ep.c#6 integrate .. //depot/projects/uart/dev/ep/if_ep_eisa.c#4 integrate .. //depot/projects/uart/dev/ep/if_ep_isa.c#5 integrate .. //depot/projects/uart/dev/ep/if_ep_pccard.c#5 integrate .. //depot/projects/uart/dev/ep/if_epreg.h#3 integrate .. //depot/projects/uart/dev/ep/if_epvar.h#3 integrate .. //depot/projects/uart/dev/exca/exca.c#6 integrate .. //depot/projects/uart/dev/firewire/firewire.c#8 integrate .. //depot/projects/uart/dev/firewire/sbp.c#10 integrate .. //depot/projects/uart/dev/firewire/sbp_targ.c#1 branch .. //depot/projects/uart/dev/hifn/hifn7751.c#7 integrate .. //depot/projects/uart/dev/hifn/hifn7751reg.h#3 integrate .. //depot/projects/uart/dev/hifn/hifn7751var.h#2 integrate .. //depot/projects/uart/dev/ips/ips_commands.c#4 integrate .. //depot/projects/uart/dev/kbd/atkbd.c#5 integrate .. //depot/projects/uart/dev/matcd/matcd.c#3 integrate .. //depot/projects/uart/dev/mcd/mcd.c#3 integrate .. //depot/projects/uart/dev/md/md.c#5 integrate .. //depot/projects/uart/dev/null/null.c#4 integrate .. //depot/projects/uart/dev/ofw/ofw_disk.c#3 integrate .. //depot/projects/uart/dev/owi/if_owi.c#2 integrate .. //depot/projects/uart/dev/pccard/card_if.m#2 integrate .. //depot/projects/uart/dev/pccard/pccard.c#6 integrate .. //depot/projects/uart/dev/pccard/pccard_cis.c#4 integrate .. //depot/projects/uart/dev/pccard/pccard_cis.h#1 branch .. //depot/projects/uart/dev/pccard/pccard_cis_quirks.c#3 integrate .. //depot/projects/uart/dev/pccard/pccarddevs#10 integrate .. //depot/projects/uart/dev/pccard/pccarddevs.h#10 integrate .. //depot/projects/uart/dev/pccard/pccardreg.h#2 integrate .. //depot/projects/uart/dev/pccard/pccardvar.h#4 integrate .. //depot/projects/uart/dev/pci/pci_user.c#4 integrate .. //depot/projects/uart/dev/raidframe/rf_freebsdkintf.c#5 integrate .. //depot/projects/uart/dev/scd/scd.c#3 integrate .. //depot/projects/uart/dev/sio/sio_pccard.c#4 integrate .. //depot/projects/uart/dev/sound/pci/au88x0.c#5 integrate .. //depot/projects/uart/dev/sound/pci/au88x0.h#2 integrate .. //depot/projects/uart/dev/sound/pcm/ac97.c#6 integrate .. //depot/projects/uart/dev/uart/uart_bus_pccard.c#5 integrate .. //depot/projects/uart/dev/usb/if_aue.c#6 integrate .. //depot/projects/uart/dev/usb/if_auereg.h#2 integrate .. //depot/projects/uart/dev/usb/if_cue.c#5 integrate .. //depot/projects/uart/dev/usb/if_cuereg.h#2 integrate .. //depot/projects/uart/dev/usb/if_kue.c#4 integrate .. //depot/projects/uart/dev/usb/if_kuereg.h#2 integrate .. //depot/projects/uart/dev/usb/if_rue.c#4 integrate .. //depot/projects/uart/dev/usb/if_ruereg.h#2 integrate .. //depot/projects/uart/dev/usb/ubsa.c#4 integrate .. //depot/projects/uart/dev/usb/ufm.c#5 integrate .. //depot/projects/uart/dev/usb/ugen.c#8 integrate .. //depot/projects/uart/dev/usb/uhid.c#7 integrate .. //depot/projects/uart/dev/usb/ukbd.c#4 integrate .. //depot/projects/uart/dev/usb/ums.c#6 integrate .. //depot/projects/uart/dev/usb/usb.c#5 integrate .. //depot/projects/uart/dev/usb/usb_mem.c#5 integrate .. //depot/projects/uart/dev/usb/usb_port.h#5 integrate .. //depot/projects/uart/dev/usb/usbdevs#8 integrate .. //depot/projects/uart/dev/usb/usbdevs.h#7 integrate .. //depot/projects/uart/dev/usb/usbdevs_data.h#7 integrate .. //depot/projects/uart/dev/vinum/vinumrequest.c#3 integrate .. //depot/projects/uart/dev/xe/if_xe.c#3 integrate .. //depot/projects/uart/dev/xe/if_xe_pccard.c#4 integrate .. //depot/projects/uart/dev/xe/if_xereg.h#2 integrate .. //depot/projects/uart/dev/xe/if_xevar.h#2 integrate .. //depot/projects/uart/fs/hpfs/hpfs_vnops.c#2 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_vfsops.c#5 integrate .. //depot/projects/uart/fs/msdosfs/msdosfs_vnops.c#5 integrate .. //depot/projects/uart/fs/ntfs/ntfs_vnops.c#3 integrate .. //depot/projects/uart/fs/nwfs/nwfs_io.c#4 integrate .. //depot/projects/uart/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/uart/fs/nwfs/nwfs_vnops.c#2 integrate .. //depot/projects/uart/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/uart/fs/smbfs/smbfs_io.c#4 integrate .. //depot/projects/uart/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/uart/fs/smbfs/smbfs_vnops.c#4 integrate .. //depot/projects/uart/fs/specfs/spec_vnops.c#5 integrate .. //depot/projects/uart/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/uart/geom/bde/g_bde.h#2 integrate .. //depot/projects/uart/geom/bde/g_bde_lock.c#2 integrate .. //depot/projects/uart/geom/geom.h#4 integrate .. //depot/projects/uart/geom/geom_dev.c#7 integrate .. //depot/projects/uart/geom/geom_disk.c#5 integrate .. //depot/projects/uart/geom/geom_event.c#2 integrate .. //depot/projects/uart/geom/geom_io.c#5 integrate .. //depot/projects/uart/geom/geom_subr.c#3 integrate .. //depot/projects/uart/gnu/ext2fs/ext2_bmap.c#2 integrate .. //depot/projects/uart/gnu/ext2fs/ext2_inode.c#2 integrate .. //depot/projects/uart/gnu/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/uart/gnu/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/uart/i386/i386/locore.s#5 integrate .. //depot/projects/uart/i386/i386/machdep.c#7 integrate .. //depot/projects/uart/i386/i386/pmap.c#21 integrate .. //depot/projects/uart/i386/i386/trap.c#5 integrate .. //depot/projects/uart/i386/i386/vm_machdep.c#5 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_signal.c#2 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_util.c#2 integrate .. //depot/projects/uart/i386/ibcs2/ibcs2_util.h#2 integrate .. //depot/projects/uart/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/uart/i386/include/pmap.h#4 integrate .. //depot/projects/uart/i386/isa/apic_vector.s#3 integrate .. //depot/projects/uart/i386/isa/isa_compat.c#3 integrate .. //depot/projects/uart/ia64/ia64/machdep.c#15 integrate .. //depot/projects/uart/ia64/ia64/pmap.c#13 integrate .. //depot/projects/uart/ia64/ia64/trap.c#8 integrate .. //depot/projects/uart/ia64/ia64/unwind.c#4 integrate .. //depot/projects/uart/ia64/include/pmap.h#2 integrate .. //depot/projects/uart/isa/fd.c#6 integrate .. //depot/projects/uart/isofs/cd9660/cd9660_node.c#2 integrate .. //depot/projects/uart/isofs/cd9660/cd9660_vnops.c#3 integrate .. //depot/projects/uart/kern/kern_clock.c#2 integrate .. //depot/projects/uart/kern/kern_exec.c#5 integrate .. //depot/projects/uart/kern/kern_idle.c#2 integrate .. //depot/projects/uart/kern/kern_physio.c#3 integrate .. //depot/projects/uart/kern/kern_poll.c#2 integrate .. //depot/projects/uart/kern/kern_proc.c#6 integrate .. //depot/projects/uart/kern/kern_sig.c#11 integrate .. //depot/projects/uart/kern/kern_switch.c#2 integrate .. //depot/projects/uart/kern/kern_synch.c#6 integrate .. //depot/projects/uart/kern/kern_sysctl.c#2 integrate .. //depot/projects/uart/kern/sched_4bsd.c#4 integrate .. //depot/projects/uart/kern/sched_ule.c#7 integrate .. //depot/projects/uart/kern/subr_bus.c#4 integrate .. //depot/projects/uart/kern/subr_disk.c#2 integrate .. //depot/projects/uart/kern/subr_kobj.c#3 integrate .. //depot/projects/uart/kern/sys_pipe.c#10 integrate .. //depot/projects/uart/kern/sys_process.c#5 integrate .. //depot/projects/uart/kern/tty_cons.c#4 integrate .. //depot/projects/uart/kern/vfs_bio.c#8 integrate .. //depot/projects/uart/kern/vfs_cache.c#2 integrate .. //depot/projects/uart/kern/vfs_cluster.c#4 integrate .. //depot/projects/uart/kern/vfs_subr.c#5 integrate .. //depot/projects/uart/kern/vfs_vnops.c#4 integrate .. //depot/projects/uart/modules/firewire/Makefile#2 integrate .. //depot/projects/uart/modules/firewire/sbp_targ/Makefile#1 branch .. //depot/projects/uart/modules/netgraph/bluetooth/bluetooth/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/bt3c/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/h4/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/hci/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/l2cap/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/socket/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/ubt/Makefile#2 integrate .. //depot/projects/uart/modules/netgraph/bluetooth/ubtbcmfw/Makefile#2 integrate .. //depot/projects/uart/net/if.c#5 integrate .. //depot/projects/uart/net/if_ethersubr.c#5 integrate .. //depot/projects/uart/net/if_var.h#2 integrate .. //depot/projects/uart/net/net_osdep.c#2 integrate .. //depot/projects/uart/net/pfkeyv2.h#2 integrate .. //depot/projects/uart/net/route.c#3 integrate .. //depot/projects/uart/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/uart/net80211/ieee80211_input.c#6 integrate .. //depot/projects/uart/net80211/ieee80211_ioctl.c#6 integrate .. //depot/projects/uart/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/uart/net80211/ieee80211_node.c#8 integrate .. //depot/projects/uart/net80211/ieee80211_node.h#6 integrate .. //depot/projects/uart/net80211/ieee80211_output.c#6 integrate .. //depot/projects/uart/net80211/ieee80211_proto.c#4 integrate .. //depot/projects/uart/net80211/ieee80211_var.h#6 integrate .. //depot/projects/uart/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 integrate .. //depot/projects/uart/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/uart/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/hci/ng_hci_evnt.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/hci/ng_hci_misc.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/hci/ng_hci_misc.h#2 integrate .. //depot/projects/uart/netgraph/bluetooth/hci/ng_hci_ulpi.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#2 integrate .. //depot/projects/uart/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/uart/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/uart/netinet/icmp6.h#3 integrate .. //depot/projects/uart/netinet/in_gif.c#2 integrate .. //depot/projects/uart/netinet/in_gif.h#2 integrate .. //depot/projects/uart/netinet/in_rmx.c#3 integrate .. //depot/projects/uart/netinet/ip_dummynet.c#5 integrate .. //depot/projects/uart/netinet/ip_fw2.c#8 integrate .. //depot/projects/uart/netinet/ip_input.c#5 integrate .. //depot/projects/uart/netinet/ip_var.h#5 integrate .. //depot/projects/uart/netinet/tcp_input.c#4 integrate .. //depot/projects/uart/netinet6/ah.h#2 integrate .. //depot/projects/uart/netinet6/ah6.h#2 integrate .. //depot/projects/uart/netinet6/ah_aesxcbcmac.c#1 branch .. //depot/projects/uart/netinet6/ah_aesxcbcmac.h#1 branch .. //depot/projects/uart/netinet6/ah_core.c#2 integrate .. //depot/projects/uart/netinet6/ah_input.c#2 integrate .. //depot/projects/uart/netinet6/ah_output.c#2 integrate .. //depot/projects/uart/netinet6/dest6.c#2 integrate .. //depot/projects/uart/netinet6/esp.h#2 integrate .. //depot/projects/uart/netinet6/esp_aesctr.c#1 branch .. //depot/projects/uart/netinet6/esp_aesctr.h#1 branch .. //depot/projects/uart/netinet6/esp_core.c#2 integrate .. //depot/projects/uart/netinet6/esp_input.c#2 integrate .. //depot/projects/uart/netinet6/esp_output.c#2 integrate .. //depot/projects/uart/netinet6/esp_rijndael.c#2 integrate .. //depot/projects/uart/netinet6/esp_rijndael.h#2 integrate .. //depot/projects/uart/netinet6/frag6.c#3 integrate .. //depot/projects/uart/netinet6/icmp6.c#3 integrate .. //depot/projects/uart/netinet6/in6.c#3 integrate .. //depot/projects/uart/netinet6/in6.h#2 integrate .. //depot/projects/uart/netinet6/in6_cksum.c#2 integrate .. //depot/projects/uart/netinet6/in6_gif.c#2 integrate .. //depot/projects/uart/netinet6/in6_gif.h#2 integrate .. //depot/projects/uart/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/uart/netinet6/in6_pcb.c#4 integrate .. //depot/projects/uart/netinet6/in6_prefix.c#2 integrate .. //depot/projects/uart/netinet6/in6_proto.c#3 integrate .. //depot/projects/uart/netinet6/in6_rmx.c#3 integrate .. //depot/projects/uart/netinet6/in6_src.c#3 integrate .. //depot/projects/uart/netinet6/in6_var.h#2 integrate .. //depot/projects/uart/netinet6/ip6_forward.c#4 integrate .. //depot/projects/uart/netinet6/ip6_fw.c#3 integrate .. //depot/projects/uart/netinet6/ip6_fw.h#2 integrate .. //depot/projects/uart/netinet6/ip6_input.c#4 integrate .. //depot/projects/uart/netinet6/ip6_mroute.c#2 integrate .. //depot/projects/uart/netinet6/ip6_output.c#4 integrate .. //depot/projects/uart/netinet6/ip6_var.h#4 integrate .. //depot/projects/uart/netinet6/ip6protosw.h#3 integrate .. //depot/projects/uart/netinet6/ipcomp_core.c#2 integrate .. //depot/projects/uart/netinet6/ipcomp_input.c#2 integrate .. //depot/projects/uart/netinet6/ipsec.c#3 integrate .. //depot/projects/uart/netinet6/ipsec.h#2 integrate .. //depot/projects/uart/netinet6/mld6.c#2 integrate .. //depot/projects/uart/netinet6/mld6_var.h#2 integrate .. //depot/projects/uart/netinet6/nd6.c#5 integrate .. //depot/projects/uart/netinet6/nd6.h#3 integrate .. //depot/projects/uart/netinet6/nd6_nbr.c#3 integrate .. //depot/projects/uart/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/uart/netinet6/raw_ip6.c#2 integrate .. //depot/projects/uart/netinet6/route6.c#2 integrate .. //depot/projects/uart/netinet6/scope6.c#2 integrate .. //depot/projects/uart/netinet6/scope6_var.h#2 integrate .. //depot/projects/uart/netinet6/udp6_output.c#2 integrate .. //depot/projects/uart/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/uart/netkey/key_var.h#2 integrate .. //depot/projects/uart/nfsclient/bootp_subr.c#5 integrate .. //depot/projects/uart/nfsclient/krpc_subr.c#2 integrate .. //depot/projects/uart/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/uart/nfsclient/nfs_node.c#3 integrate .. //depot/projects/uart/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/uart/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/uart/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#6 integrate .. //depot/projects/uart/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/uart/pc98/i386/machdep.c#5 integrate .. //depot/projects/uart/pc98/pc98/clock.c#6 integrate .. //depot/projects/uart/pc98/pc98/fd.c#6 integrate .. //depot/projects/uart/pc98/pc98/sio.c#6 integrate .. //depot/projects/uart/pc98/pc98/wd.c#2 integrate .. //depot/projects/uart/pc98/pc98/wd_cd.c#2 integrate .. //depot/projects/uart/pci/if_dc.c#14 integrate .. //depot/projects/uart/pci/if_dcreg.h#6 integrate .. //depot/projects/uart/pci/if_ti.c#4 integrate .. //depot/projects/uart/powerpc/include/pmap.h#2 integrate .. //depot/projects/uart/powerpc/powerpc/machdep.c#4 integrate .. //depot/projects/uart/sparc64/include/pmap.h#2 integrate .. //depot/projects/uart/sparc64/sparc64/machdep.c#6 integrate .. //depot/projects/uart/sparc64/sparc64/trap.c#3 integrate .. //depot/projects/uart/sys/bio.h#2 integrate .. //depot/projects/uart/sys/buf.h#5 integrate .. //depot/projects/uart/sys/bus.h#4 integrate .. //depot/projects/uart/sys/conf.h#4 integrate .. //depot/projects/uart/sys/cons.h#4 integrate .. //depot/projects/uart/sys/domain.h#2 integrate .. //depot/projects/uart/sys/endian.h#2 integrate .. //depot/projects/uart/sys/kernel.h#4 integrate .. //depot/projects/uart/sys/kobj.h#3 integrate .. //depot/projects/uart/sys/mutex.h#5 integrate .. //depot/projects/uart/sys/param.h#12 integrate .. //depot/projects/uart/sys/proc.h#8 integrate .. //depot/projects/uart/sys/ptrace.h#3 integrate .. //depot/projects/uart/sys/sched.h#2 integrate .. //depot/projects/uart/sys/sysctl.h#4 integrate .. //depot/projects/uart/sys/vnode.h#4 integrate .. //depot/projects/uart/tools/makeobjops.awk#2 integrate .. //depot/projects/uart/ufs/ffs/ffs_inode.c#2 integrate .. //depot/projects/uart/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/uart/ufs/ffs/ffs_softdep.c#5 integrate .. //depot/projects/uart/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/uart/ufs/ffs/ffs_vnops.c#4 integrate .. //depot/projects/uart/ufs/ufs/ufs_bmap.c#2 integrate .. //depot/projects/uart/ufs/ufs/ufs_ihash.c#2 integrate .. //depot/projects/uart/ufs/ufs/ufs_inode.c#3 integrate .. //depot/projects/uart/ufs/ufs/ufs_quota.c#3 integrate .. //depot/projects/uart/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/uart/vm/device_pager.c#3 integrate .. //depot/projects/uart/vm/pmap.h#7 integrate .. //depot/projects/uart/vm/swap_pager.c#11 integrate .. //depot/projects/uart/vm/vm_contig.c#7 integrate .. //depot/projects/uart/vm/vm_extern.h#3 integrate .. //depot/projects/uart/vm/vm_fault.c#5 integrate .. //depot/projects/uart/vm/vm_glue.c#6 integrate .. //depot/projects/uart/vm/vm_kern.c#7 integrate .. //depot/projects/uart/vm/vm_map.c#11 integrate .. //depot/projects/uart/vm/vm_map.h#7 integrate .. //depot/projects/uart/vm/vm_mmap.c#7 integrate .. //depot/projects/uart/vm/vm_object.c#7 integrate .. //depot/projects/uart/vm/vm_page.c#8 integrate .. //depot/projects/uart/vm/vm_page.h#4 integrate .. //depot/projects/uart/vm/vm_pageout.c#9 integrate .. //depot/projects/uart/vm/vm_pageout.h#3 integrate .. //depot/projects/uart/vm/vnode_pager.c#7 integrate Differences ... ==== //depot/projects/uart/alpha/alpha/machdep.c#8 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.212 2003/08/25 03:43:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.213 2003/10/19 02:36:06 peter Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -1731,6 +1731,12 @@ prom_halt(1); } +void +cpu_idle(void) +{ + /* Insert code to halt (until next interrupt) for the idle loop */ +} + /* * Clear registers on exec */ ==== //depot/projects/uart/alpha/alpha/trap.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.116 2003/08/22 07:20:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.117 2003/10/09 10:17:15 robert Exp $"); /* #include "opt_fix_unaligned_vax_fp.h" */ #include "opt_ddb.h" @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -729,6 +730,8 @@ STOPEVENT(p, S_SCE, (callp->sy_narg & SYF_ARGMASK)); + PTRACESTOP_SC(p, td, S_PT_SCE); + error = (*callp->sy_call)(td, args + hidden); } @@ -775,6 +778,8 @@ */ STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef DIAGNOSTIC cred_free_thread(td); #endif ==== //depot/projects/uart/alpha/include/pmap.h#2 (text+ko) ==== @@ -43,7 +43,7 @@ * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.23 2003/04/10 18:42:06 jhb Exp $ + * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.24 2003/10/06 01:47:11 bms Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -183,7 +183,6 @@ }; #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) -#define pmap_resident_count(pmap) (pmap)->pm_stats.resident_count #define PM_FLAG_LOCKED 0x1 #define PM_FLAG_WANTED 0x2 ==== //depot/projects/uart/amd64/amd64/exception.S#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/amd64/amd64/exception.S,v 1.112 2003/09/22 22:54:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.113 2003/10/15 02:04:52 peter Exp $ */ #include @@ -228,7 +228,7 @@ movq %rsp,PCPU(SCRATCH_RSP) movq common_tss+COMMON_TSS_RSP0,%rsp /* Now emulate a trapframe. Make the 8 byte alignment odd for call. */ - subq $TF_SIZE+8,%rsp + subq $TF_SIZE,%rsp /* defer TF_RSP till we have a spare register */ movq %r11,TF_RFLAGS(%rsp) movq %rcx,TF_RIP(%rsp) /* %rcx original value is in %r10 */ ==== //depot/projects/uart/amd64/amd64/machdep.c#7 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.593 2003/09/23 00:45:55 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.594 2003/10/18 22:25:07 njl Exp $"); #include "opt_atalk.h" #include "opt_compat.h" @@ -455,6 +455,17 @@ SYSCTL_INT(_machdep, OID_AUTO, cpu_idle_hlt, CTLFLAG_RW, &cpu_idle_hlt, 0, "Idle loop HLT enable"); +static void +cpu_idle_default(void) +{ + /* + * we must absolutely guarentee that hlt is the + * absolute next instruction after sti or we + * introduce a timing window. + */ + __asm __volatile("sti; hlt"); +} + /* * Note that we have to be careful here to avoid a race between checking * sched_runnable() and actually halting. If we don't do this, we may waste @@ -467,19 +478,16 @@ if (cpu_idle_hlt) { disable_intr(); - if (sched_runnable()) { + if (sched_runnable()) enable_intr(); - } else { - /* - * we must absolutely guarentee that hlt is the - * absolute next instruction after sti or we - * introduce a timing window. - */ - __asm __volatile("sti; hlt"); - } + else + (*cpu_idle_hook)(); } } +/* Other subsystems (e.g., ACPI) can hook this later. */ +void (*cpu_idle_hook)(void) = cpu_idle_default; + /* * Clear registers on exec */ ==== //depot/projects/uart/amd64/amd64/pmap.c#20 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.441 2003/10/03 22:46:52 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.443 2003/10/14 05:51:31 alc Exp $"); /* * Manages physical address maps. @@ -127,7 +127,6 @@ #include #include #include -#include #include #include @@ -529,52 +528,6 @@ return (void *)kmem_alloc(kernel_map, bytes); } -void * -uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait) -{ - static vm_pindex_t colour; - vm_page_t m; - int pflags; - void *va; - - *flags = UMA_SLAB_PRIV; - - if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; - else - pflags = VM_ALLOC_SYSTEM; - - if (wait & M_ZERO) - pflags |= VM_ALLOC_ZERO; - - for (;;) { - m = vm_page_alloc(NULL, colour++, pflags | VM_ALLOC_NOOBJ); - if (m == NULL) { - if (wait & M_NOWAIT) - return (NULL); - else - VM_WAIT; - } else - break; - } - - va = (void *)PHYS_TO_DMAP(m->phys_addr); - if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) - pagezero(va); - return (va); -} - -void -uma_small_free(void *mem, int size, u_int8_t flags) -{ - vm_page_t m; - - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)mem)); - vm_page_lock_queues(); - vm_page_free(m); - vm_page_unlock_queues(); -} - /* * Initialize the pmap module. * Called by vm_init, to initialize any structures that the pmap @@ -1022,7 +975,6 @@ VM_WAIT; vm_page_lock_queues(); vm_page_flag_clear(pml4pg, PG_BUSY); - pml4pg->valid = VM_PAGE_BITS_ALL; vm_page_unlock_queues(); pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pg)); @@ -1196,7 +1148,6 @@ } vm_page_lock_queues(); - m->valid = VM_PAGE_BITS_ALL; vm_page_flag_clear(m, PG_ZERO); vm_page_wakeup(m); vm_page_unlock_queues(); ==== //depot/projects/uart/amd64/amd64/trap.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.264 2003/09/22 22:52:46 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.266 2003/10/15 02:04:52 peter Exp $"); /* * AMD64 Trap and System call handling @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -257,6 +258,9 @@ default: ucode = code + BUS_SEGM_FAULT ; i = SIGBUS; +printf("trap %d: pid %d err %p eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", type, p->p_pid, (void *)frame.tf_err, +(void *)frame.tf_addr, (void *)frame.tf_rip, (void *)frame.tf_rax, (void *)frame.tf_rbx, (void *)frame.tf_rcx, (void *)frame.tf_rdx, (void *)frame.tf_rsp, (void *)frame.tf_rbp, (void *)frame.tf_rsi, (void *)frame.tf_rdi); + break; case T_PAGEFLT: /* page fault */ @@ -541,6 +545,12 @@ return (-1); } +printf("trap_pfault: pid %d %s %s %s eva %p, rip %p, rax %p, rbx %p, rcx %p, rdx %p, rsp %p, rbp %p, rsi %p, rdi %p\n", p->p_pid, + frame->tf_err & PGEX_U ? "user" : "supervisor", + frame->tf_err & PGEX_W ? "write" : "read", + frame->tf_err & PGEX_P ? "protection violation" : "page not present", +(void *)eva, (void *)frame->tf_rip, (void *)frame->tf_rax, (void *)frame->tf_rbx, (void *)frame->tf_rcx, (void *)frame->tf_rdx, (void *)frame->tf_rsp, (void *)frame->tf_rbp, (void *)frame->tf_rsi, (void *)frame->tf_rdi); + return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } @@ -740,6 +750,8 @@ STOPEVENT(p, S_SCE, narg); + PTRACESTOP_SC(p, td, S_PT_SCE); + error = (*callp->sy_call)(td, argp); } @@ -808,6 +820,8 @@ */ STOPEVENT(p, S_SCX, code); + PTRACESTOP_SC(p, td, S_PT_SCX); + #ifdef DIAGNOSTIC cred_free_thread(td); #endif ==== //depot/projects/uart/amd64/include/frame.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/frame.h,v 1.24 2003/05/12 18:33:19 peter Exp $ + * $FreeBSD: src/sys/amd64/include/frame.h,v 1.25 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_FRAME_H_ @@ -69,6 +69,7 @@ register_t tf_r15; register_t tf_trapno; register_t tf_addr; + register_t tf_flags; /* below portion defined in hardware */ register_t tf_err; register_t tf_rip; @@ -98,6 +99,7 @@ register_t if_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t if_rip; @@ -127,6 +129,7 @@ register_t cf_r15; register_t :64; /* compat with trap frame - trapno */ register_t :64; /* compat with trap frame - addr */ + register_t :64; /* compat with trap frame - flags */ register_t :64; /* compat with trap frame - err */ /* below portion defined in hardware */ register_t cf_rip; ==== //depot/projects/uart/amd64/include/pmap.h#4 (text+ko) ==== @@ -42,7 +42,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.106 2003/09/27 20:53:01 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.107 2003/10/06 01:47:11 bms Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -226,7 +226,6 @@ }; #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) -#define pmap_resident_count(pmap) (pmap)->pm_stats.resident_count typedef struct pmap *pmap_t; ==== //depot/projects/uart/amd64/include/signal.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/signal.h,v 1.23 2003/09/08 18:31:48 peter Exp $ + * $FreeBSD: src/sys/amd64/include/signal.h,v 1.24 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_SIGNAL_H_ @@ -91,6 +91,7 @@ long sc_r15; long sc_trapno; long sc_addr; + long sc_flags; long sc_err; long sc_rip; long sc_cs; @@ -104,9 +105,8 @@ */ long sc_fpformat; long sc_ownedfp; - long sc_spare1[1]; long sc_fpstate[64] __aligned(16); - long sc_spare2[8]; + long sc_spare[8]; }; #endif /* __BSD_VISIBLE */ ==== //depot/projects/uart/amd64/include/ucontext.h#4 (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/amd64/include/ucontext.h,v 1.15 2003/10/01 01:08:04 peter Exp $ + * $FreeBSD: src/sys/amd64/include/ucontext.h,v 1.16 2003/10/15 02:04:52 peter Exp $ */ #ifndef _MACHINE_UCONTEXT_H_ @@ -55,6 +55,7 @@ __register_t mc_r15; __register_t mc_trapno; __register_t mc_addr; + __register_t mc_flags; __register_t mc_err; __register_t mc_rip; __register_t mc_cs; @@ -70,12 +71,11 @@ #define _MC_FPOWNED_FPU 0x20001 /* FP state came from FPU */ #define _MC_FPOWNED_PCB 0x20002 /* FP state came from PCB */ long mc_ownedfp; - long mc_spare1[1]; /* align mc_fpstate to 16 bytes */ /* * See for the internals of mc_fpstate[]. */ long mc_fpstate[64] __aligned(16); - long mc_spare2[8]; + long mc_spare[8]; } mcontext_t; #endif /* !_MACHINE_UCONTEXT_H_ */ ==== //depot/projects/uart/cam/cam_periph.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.53 2003/09/21 08:42:32 thomas Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.54 2003/10/18 11:01:11 phk Exp $"); #include #include @@ -638,9 +638,6 @@ /* set the transfer length, we know it's < DFLTPHYS */ mapinfo->bp[i]->b_bufsize = lengths[i]; - /* set the flags */ - mapinfo->bp[i]->b_flags = B_PHYS; - /* set the direction */ mapinfo->bp[i]->b_iocmd = flags[i]; @@ -656,10 +653,8 @@ for (j = 0; j < i; ++j) { *data_ptrs[j] = mapinfo->bp[j]->b_saveaddr; vunmapbuf(mapinfo->bp[j]); - mapinfo->bp[j]->b_flags &= ~B_PHYS; relpbuf(mapinfo->bp[j], NULL); } - mapinfo->bp[i]->b_flags &= ~B_PHYS; relpbuf(mapinfo->bp[i], NULL); PRELE(curproc); return(EACCES); @@ -720,9 +715,6 @@ /* unmap the buffer */ vunmapbuf(mapinfo->bp[i]); - /* clear the flags we set above */ - mapinfo->bp[i]->b_flags &= ~B_PHYS; - /* release the buffer */ relpbuf(mapinfo->bp[i], NULL); } ==== //depot/projects/uart/cam/scsi/scsi_cd.c#6 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.84 2003/09/30 07:52:15 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.87 2003/10/18 17:24:05 phk Exp $"); #include "opt_cd.h" @@ -92,17 +92,18 @@ } cd_quirks; typedef enum { - CD_FLAG_INVALID = 0x001, - CD_FLAG_NEW_DISC = 0x002, - CD_FLAG_DISC_LOCKED = 0x004, - CD_FLAG_DISC_REMOVABLE = 0x008, - CD_FLAG_TAGGED_QUEUING = 0x010, - CD_FLAG_CHANGER = 0x040, - CD_FLAG_ACTIVE = 0x080, - CD_FLAG_SCHED_ON_COMP = 0x100, - CD_FLAG_RETRY_UA = 0x200, - CD_FLAG_VALID_MEDIA = 0x400, - CD_FLAG_VALID_TOC = 0x800 + CD_FLAG_INVALID = 0x0001, + CD_FLAG_NEW_DISC = 0x0002, + CD_FLAG_DISC_LOCKED = 0x0004, + CD_FLAG_DISC_REMOVABLE = 0x0008, + CD_FLAG_TAGGED_QUEUING = 0x0010, + CD_FLAG_CHANGER = 0x0040, + CD_FLAG_ACTIVE = 0x0080, + CD_FLAG_SCHED_ON_COMP = 0x0100, + CD_FLAG_RETRY_UA = 0x0200, + CD_FLAG_VALID_MEDIA = 0x0400, + CD_FLAG_VALID_TOC = 0x0800, + CD_FLAG_SCTX_INIT = 0x1000 } cd_flags; typedef enum { @@ -421,7 +422,8 @@ xpt_print_path(periph->path); printf("removing device entry\n"); - if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) { + if ((softc->flags & CD_FLAG_SCTX_INIT) != 0 + && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print_path(periph->path); printf("can't remove sysctl context\n"); } @@ -496,6 +498,7 @@ free(softc->changer, M_DEVBUF); num_changers--; } + disk_destroy(&softc->disk); free(softc, M_DEVBUF); splx(s); } @@ -580,6 +583,7 @@ mtx_lock(&Giant); sysctl_ctx_init(&softc->sysctl_ctx); + softc->flags |= CD_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_kern_cam_cd), OID_AUTO, tmpstr2, CTLFLAG_RD, 0, tmpstr); @@ -1514,8 +1518,8 @@ /* read */bp->bio_cmd == BIO_READ, /* byte2 */ 0, /* minimum_cmd_size */ 10, - /* lba */ bp->bio_blkno / - (softc->params.blksize / DEV_BSIZE), + /* lba */ bp->bio_offset / + softc->params.blksize, bp->bio_bcount / softc->params.blksize, /* data_ptr */ bp->bio_data, /* dxfer_len */ bp->bio_bcount, @@ -2852,6 +2856,20 @@ ccb = cdgetccb(periph, /* priority */ 1); + scsi_test_unit_ready(&ccb->csio, 0, cddone, + MSG_SIMPLE_Q_TAG, SSD_FULL_SIZE, 1000); + ccb->ccb_h.ccb_bp = NULL; + + error = cam_periph_runccb(ccb, NULL, + /*cam_flags*/0, + /*sense_flags*/SF_RETRY_UA, + softc->disk.d_devstat); + + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + xpt_release_ccb(ccb); + return (ENXIO); + } + rcap_buf = malloc(sizeof(struct scsi_read_capacity_data), M_TEMP, M_WAITOK); ==== //depot/projects/uart/cam/scsi/scsi_da.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.159 2003/09/04 01:01:20 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.160 2003/10/08 07:12:30 thomas Exp $"); #ifdef _KERNEL #include "opt_da.h" @@ -89,7 +89,8 @@ DA_FLAG_NEED_OTAG = 0x020, DA_FLAG_WENT_IDLE = 0x040, DA_FLAG_RETRY_UA = 0x080, - DA_FLAG_OPEN = 0x100 + DA_FLAG_OPEN = 0x100, + DA_FLAG_SCTX_INIT = 0x200 } da_flags; typedef enum { @@ -838,7 +839,8 @@ /* * If we can't free the sysctl tree, oh well... */ - if (sysctl_ctx_free(&softc->sysctl_ctx) != 0) { + if ((softc->flags & DA_FLAG_SCTX_INIT) != 0 + && sysctl_ctx_free(&softc->sysctl_ctx) != 0) { xpt_print_path(periph->path); printf("can't remove sysctl context\n"); } @@ -925,6 +927,7 @@ mtx_lock(&Giant); sysctl_ctx_init(&softc->sysctl_ctx); + softc->flags |= DA_FLAG_SCTX_INIT; softc->sysctl_tree = SYSCTL_ADD_NODE(&softc->sysctl_ctx, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Oct 18 22:11:49 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BFBCB16A4C0; Sat, 18 Oct 2003 22:11: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 955F416A4B3 for ; Sat, 18 Oct 2003 22:11:48 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21AA343FDD for ; Sat, 18 Oct 2003 22:11:46 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9J5BjXJ093569 for ; Sat, 18 Oct 2003 22:11:45 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9J5AqmU093561 for perforce@freebsd.org; Sat, 18 Oct 2003 22:10:52 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sat, 18 Oct 2003 22:10:52 -0700 (PDT) Message-Id: <200310190510.h9J5AqmU093561@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 39956 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, 19 Oct 2003 05:11:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=39956 Change 39956 by marcel@marcel_nfs on 2003/10/18 22:10:46 IFC @39953 Affected files ... .. //depot/projects/ia64/Makefile#33 integrate .. //depot/projects/ia64/Makefile.inc1#85 integrate .. //depot/projects/ia64/bin/date/date.c#6 integrate .. //depot/projects/ia64/bin/echo/echo.c#6 integrate .. //depot/projects/ia64/bin/ls/print.c#13 integrate .. //depot/projects/ia64/bin/rcp/rcp.c#11 integrate .. //depot/projects/ia64/contrib/sendmail/FREEBSD-upgrade#15 integrate .. //depot/projects/ia64/crypto/heimdal/ChangeLog#6 integrate .. //depot/projects/ia64/crypto/heimdal/ChangeLog.2002#1 branch .. //depot/projects/ia64/crypto/heimdal/FREEBSD-Xlist#1 branch .. //depot/projects/ia64/crypto/heimdal/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/NEWS#5 integrate .. //depot/projects/ia64/crypto/heimdal/aclocal.m4#6 integrate .. //depot/projects/ia64/crypto/heimdal/admin/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/admin/change.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/admin/copy.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/admin/get.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/admin/ktutil.8#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/afsutil/ChangeLog#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/afsutil/Makefile.am#2 integrate .. //depot/projects/ia64/crypto/heimdal/appl/afsutil/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/afsutil/afslog.1#1 branch .. //depot/projects/ia64/crypto/heimdal/appl/afsutil/afslog.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ChangeLog#6 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/common/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftp/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftp/ftp.1#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftp/ftp.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftp/gssapi.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftp/main.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/ftpd.8#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/ftpd.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/ftpd_locl.h#2 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/gss_userok.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/ls.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/ftp/ftpd/pathnames.h#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/kf/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/kf/kf.1#2 integrate .. //depot/projects/ia64/crypto/heimdal/appl/kf/kfd.8#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/kf/kfd.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/login/ChangeLog#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/login/Makefile.am#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/login/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/login/login.1#1 branch .. //depot/projects/ia64/crypto/heimdal/appl/login/login.access.5#1 branch .. //depot/projects/ia64/crypto/heimdal/appl/login/login.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/push/ChangeLog#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/push/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/push/pfrom.1#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/push/push.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rcp/ChangeLog#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rcp/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rcp/rcp.1#1 branch .. //depot/projects/ia64/crypto/heimdal/appl/rcp/rcp.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/ChangeLog#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/rsh.1#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/rsh.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/rsh_locl.h#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/rshd.8#3 integrate .. //depot/projects/ia64/crypto/heimdal/appl/rsh/rshd.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/su/ChangeLog#4 integrate .. //depot/projects/ia64/crypto/heimdal/appl/su/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/su/su.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/telnet/ChangeLog#6 integrate .. //depot/projects/ia64/crypto/heimdal/appl/telnet/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/telnet/libtelnet/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/telnet/libtelnet/kerberos5.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/appl/telnet/telnet/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/telnet/telnetd/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/appl/test/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/cf/ChangeLog#5 integrate .. //depot/projects/ia64/crypto/heimdal/cf/Makefile.am.common#4 integrate .. //depot/projects/ia64/crypto/heimdal/cf/check-compile-et.m4#2 integrate .. //depot/projects/ia64/crypto/heimdal/cf/check-var.m4#3 integrate .. //depot/projects/ia64/crypto/heimdal/cf/crypto.m4#4 integrate .. //depot/projects/ia64/crypto/heimdal/cf/make-proto.pl#4 integrate .. //depot/projects/ia64/crypto/heimdal/cf/roken-frag.m4#5 integrate .. //depot/projects/ia64/crypto/heimdal/cf/sunos.m4#3 integrate .. //depot/projects/ia64/crypto/heimdal/configure#6 integrate .. //depot/projects/ia64/crypto/heimdal/configure.in#6 integrate .. //depot/projects/ia64/crypto/heimdal/doc/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/doc/ack.texi#3 integrate .. //depot/projects/ia64/crypto/heimdal/doc/intro.texi#2 integrate .. //depot/projects/ia64/crypto/heimdal/doc/misc.texi#2 integrate .. //depot/projects/ia64/crypto/heimdal/doc/programming.texi#2 integrate .. //depot/projects/ia64/crypto/heimdal/doc/setup.texi#3 integrate .. //depot/projects/ia64/crypto/heimdal/include/Makefile.in#6 integrate .. //depot/projects/ia64/crypto/heimdal/include/kadm5/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/include/make_crypto.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/ChangeLog#6 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/ank.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/init.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/kadm_conn.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/kadmin.8#3 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/kadmin.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/kadmind.8#5 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/kadmind.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/mod.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/server.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/util.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kadmin/version4.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/524.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/Makefile.am#3 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/config.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/connect.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/hprop.8#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/hpropd.8#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/hpropd.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/kaserver.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/kdc.8#3 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/kdc_locl.h#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/kerberos4.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/kerberos5.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/string2key.8#3 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/string2key.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/kdc/v4_dump.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/kpasswd/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/kpasswd/kpasswd.1#3 integrate .. //depot/projects/ia64/crypto/heimdal/kpasswd/kpasswdd.8#4 integrate .. //depot/projects/ia64/crypto/heimdal/kpasswd/kpasswdd.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/Makefile.am#3 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/kdestroy.1#2 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/kdestroy.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/kgetcred.1#3 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/kinit.1#6 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/kinit.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/klist.1#4 integrate .. //depot/projects/ia64/crypto/heimdal/kuser/klist.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/45/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/Makefile.am#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/check-common.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/asn1/check-common.h#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/asn1/check-der.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/check-gen.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/asn1/der_copy.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/der_put.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/gen.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/asn1/k5.asn1#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/auth/ChangeLog#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/auth/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/auth/afskauthlib/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/auth/pam/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/auth/sia/Makefile.am#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/auth/sia/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/com_err/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/8003.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/ChangeLog#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/Makefile.am#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/accept_sec_context.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/acquire_cred.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/add_cred.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/add_oid_set_member.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/compare_name.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/compat.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/context_time.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/copy_ccache.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/create_emtpy_oid_set.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/delete_sec_context.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/display_name.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/display_status.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/duplicate_name.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/export_name.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/export_sec_context.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/get_mic.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/gss_acquire_cred.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/gssapi.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/gssapi.h#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/gssapi_locl.h#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/import_name.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/import_sec_context.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/indicate_mechs.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/init_sec_context.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/inquire_context.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/inquire_cred.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/inquire_cred_by_mech.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/inquire_mechs_for_name.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/inquire_names_for_mech.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/process_context_token.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/release_buffer.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/release_cred.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/release_name.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/release_oid_set.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/test_acquire_cred.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/test_oid_set_member.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/unwrap.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/verify_mic.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/gssapi/wrap.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/hdb/Makefile.am#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/hdb/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/hdb/common.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/hdb/mkey.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/ChangeLog#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/Makefile.am#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/dump_log.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/init_c.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/ipropd_master.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/ipropd_slave.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/log.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kadm5/send_recv.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/ChangeLog#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/Makefile.am#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/afskrb.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/afskrb5.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/afssys.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/afssysdefs.h#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/common.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/dlfcn.h#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/kafs.3#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/kafs.h#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/kafs/kafs_locl.h#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/Makefile.am#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/Makefile.in#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/addr_families.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/aes-test.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/aname_to_localname.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/cache.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/changepw.c#7 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/context.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/convert_creds.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/crypto.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/data.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/get_addrs.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/get_in_tkt.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/init_creds_pw.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/kerberos.8#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/keytab.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/keytab_any.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/keytab_file.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/keytab_keyfile.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5-private.h#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5-protos.h#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5-v4compat.h#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5.3#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5.conf.5#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5.h#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_425_conv_principal.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_address.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_aname_to_localname.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_appdefault.3#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_auth_context.3#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_build_principal.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_ccache.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_config.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_context.3#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_create_checksum.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_crypto_init.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_data.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_encrypt.3#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_free_addresses.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_free_principal.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_get_all_client_addrs.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_get_krbhst.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_init_context.3#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_keytab.3#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_krbhst_init.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_kuserok.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_openlog.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_parse_name.3#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_principal_get_realm.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_set_default_realm.3#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_sname_to_principal.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_timeofday.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_unparse_name.3#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_verify_user.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krb5_warn.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/krbhst.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/kuserok.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/mk_rep.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/name-45-test.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/principal.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/prompter_posix.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/store_emem.c#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/test_alname.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/test_cc.c#1 branch .. //depot/projects/ia64/crypto/heimdal/lib/krb5/transited.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/verify_krb5_conf.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/krb5/warn.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/ChangeLog#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/Makefile.am#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/Makefile.in#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/getarg.3#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/getcap.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/parse_bytes.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/parse_time.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/parse_units.h#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/resolve.c#6 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/roken.awk#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/snprintf.c#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/socket.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/strcasecmp.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/strlwr.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/strncasecmp.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/roken/strupr.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/sl/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/vers/ChangeLog#4 integrate .. //depot/projects/ia64/crypto/heimdal/lib/vers/Makefile.in#5 integrate .. //depot/projects/ia64/crypto/heimdal/lib/vers/make-print-version.c#2 integrate .. //depot/projects/ia64/crypto/heimdal/lib/vers/print_version.c#3 integrate .. //depot/projects/ia64/crypto/heimdal/tools/Makefile.in#6 integrate .. //depot/projects/ia64/crypto/heimdal/tools/build.sh#1 branch .. //depot/projects/ia64/crypto/heimdal/tools/krb5-config.1#2 integrate .. //depot/projects/ia64/etc/bluetooth/hcsecd.conf#1 branch .. //depot/projects/ia64/etc/bluetooth/hosts#1 branch .. //depot/projects/ia64/etc/bluetooth/protocols#1 branch .. //depot/projects/ia64/etc/defaults/pccard.conf#26 integrate .. //depot/projects/ia64/etc/mtree/BSD.include.dist#17 integrate .. //depot/projects/ia64/etc/mtree/BSD.usr.dist#27 integrate .. //depot/projects/ia64/etc/netstart#4 integrate .. //depot/projects/ia64/etc/rc.d/atm3#2 integrate .. //depot/projects/ia64/etc/rc.d/diskless#10 integrate .. //depot/projects/ia64/etc/rc.d/initdiskless#10 integrate .. //depot/projects/ia64/etc/rc.d/ipfilter#13 integrate .. //depot/projects/ia64/etc/rc.d/ipnat#8 integrate .. //depot/projects/ia64/etc/rc.d/jail#6 integrate .. //depot/projects/ia64/etc/rc.d/motd#7 integrate .. //depot/projects/ia64/etc/rc.sendmail#4 integrate .. //depot/projects/ia64/etc/sendmail/Makefile#15 integrate .. //depot/projects/ia64/etc/sendmail/freebsd.submit.mc#1 branch .. //depot/projects/ia64/etc/services#12 integrate .. //depot/projects/ia64/games/fortune/datfiles/fortunes#32 integrate .. //depot/projects/ia64/games/fortune/datfiles/fortunes.sp.ok#2 integrate .. //depot/projects/ia64/games/fortune/datfiles/fortunes2#18 integrate .. //depot/projects/ia64/games/fortune/datfiles/limerick#3 integrate .. //depot/projects/ia64/gnu/usr.bin/man/man/man.c#9 integrate .. //depot/projects/ia64/kerberos5/include/Makefile#2 integrate .. //depot/projects/ia64/kerberos5/include/config.h#8 integrate .. //depot/projects/ia64/kerberos5/include/krb5-private.h#3 integrate .. //depot/projects/ia64/kerberos5/include/version.h#8 integrate .. //depot/projects/ia64/kerberos5/lib/Makefile#5 integrate .. //depot/projects/ia64/kerberos5/lib/Makefile.inc#5 integrate .. //depot/projects/ia64/kerberos5/lib/libgssapi/Makefile#5 integrate .. //depot/projects/ia64/kerberos5/lib/libhdb/Makefile#11 integrate .. //depot/projects/ia64/kerberos5/lib/libkadm5clnt/Makefile#3 integrate .. //depot/projects/ia64/kerberos5/lib/libkafs5/Makefile#3 branch .. //depot/projects/ia64/kerberos5/lib/libkrb5/Makefile#7 integrate .. //depot/projects/ia64/kerberos5/libexec/kdc/Makefile#9 integrate .. //depot/projects/ia64/kerberos5/usr.bin/Makefile#4 integrate .. //depot/projects/ia64/kerberos5/usr.bin/kdestroy/Makefile#4 integrate .. //depot/projects/ia64/kerberos5/usr.bin/kinit/Makefile#4 integrate .. //depot/projects/ia64/kerberos5/usr.bin/klist/Makefile#4 integrate .. //depot/projects/ia64/kerberos5/usr.bin/krb5-config/Makefile#10 integrate .. //depot/projects/ia64/kerberos5/usr.bin/ksu/Makefile#4 integrate .. //depot/projects/ia64/kerberos5/usr.bin/verify_krb5_conf/Makefile#1 branch .. //depot/projects/ia64/lib/Makefile#39 integrate .. //depot/projects/ia64/lib/csu/common/crtbrand.c#4 integrate .. //depot/projects/ia64/lib/libbluetooth/Makefile#1 branch .. //depot/projects/ia64/lib/libbluetooth/bluetooth.3#1 branch .. //depot/projects/ia64/lib/libbluetooth/bluetooth.c#1 branch .. //depot/projects/ia64/lib/libbluetooth/bluetooth.h#1 branch .. //depot/projects/ia64/lib/libc/amd64/gen/Makefile.inc#6 integrate .. //depot/projects/ia64/lib/libc/amd64/gen/rfork_thread.S#1 branch .. //depot/projects/ia64/lib/libc/sys/write.2#6 integrate .. //depot/projects/ia64/lib/libdevstat/devstat.c#8 integrate .. //depot/projects/ia64/lib/libipsec/pfkey_dump.c#4 integrate .. //depot/projects/ia64/lib/libkiconv/kiconv.3#2 integrate .. //depot/projects/ia64/lib/libkvm/kvm.h#5 integrate .. //depot/projects/ia64/lib/libmd/mdX.3#4 integrate .. //depot/projects/ia64/lib/libmd/ripemd.3#4 integrate .. //depot/projects/ia64/lib/libmd/sha.3#3 integrate .. //depot/projects/ia64/lib/libpam/modules/pam_self/pam_self.8#7 integrate .. //depot/projects/ia64/lib/libpthread/arch/amd64/amd64/context.S#4 integrate .. //depot/projects/ia64/lib/libpthread/arch/sparc64/Makefile.inc#1 branch .. //depot/projects/ia64/lib/libpthread/arch/sparc64/include/atomic_ops.h#1 branch .. //depot/projects/ia64/lib/libpthread/arch/sparc64/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libpthread/arch/sparc64/sparc64/assym.s#1 branch .. //depot/projects/ia64/lib/libpthread/arch/sparc64/sparc64/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libpthread/arch/sparc64/sparc64/thr_getcontext.S#1 branch .. //depot/projects/ia64/lib/libpthread/thread/thr_cancel.c#14 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#39 integrate .. //depot/projects/ia64/lib/libpthread/thread/thr_private.h#26 integrate .. //depot/projects/ia64/lib/libsdp/Makefile#1 branch .. //depot/projects/ia64/lib/libsdp/sdp-int.h#1 branch .. //depot/projects/ia64/lib/libsdp/sdp.3#1 branch .. //depot/projects/ia64/lib/libsdp/sdp.h#1 branch .. //depot/projects/ia64/lib/libsdp/search.c#1 branch .. //depot/projects/ia64/lib/libsdp/session.c#1 branch .. //depot/projects/ia64/lib/libsdp/util.c#1 branch .. //depot/projects/ia64/lib/libufs/block.c#9 integrate .. //depot/projects/ia64/lib/libufs/bread.3#2 integrate .. //depot/projects/ia64/lib/libufs/cgread.3#2 integrate .. //depot/projects/ia64/lib/libufs/getino.3#2 integrate .. //depot/projects/ia64/lib/libufs/libufs.3#2 integrate .. //depot/projects/ia64/lib/libufs/sbread.3#2 integrate .. //depot/projects/ia64/lib/libufs/ufs_disk_close.3#2 integrate .. //depot/projects/ia64/lib/libutil/Makefile#7 integrate .. //depot/projects/ia64/lib/libutil/_secure_path.c#3 integrate .. //depot/projects/ia64/lib/libutil/fparseln.c#3 integrate .. //depot/projects/ia64/lib/libutil/libutil.h#4 integrate .. //depot/projects/ia64/lib/libutil/login.c#5 integrate .. //depot/projects/ia64/lib/libutil/login_cap.c#6 integrate .. //depot/projects/ia64/lib/libutil/login_cap.h#6 integrate .. //depot/projects/ia64/lib/libutil/login_class.c#7 integrate .. //depot/projects/ia64/lib/libutil/login_ok.c#3 integrate .. //depot/projects/ia64/lib/libutil/login_tty.c#3 integrate .. //depot/projects/ia64/lib/libutil/logout.c#6 integrate .. //depot/projects/ia64/lib/libutil/logwtmp.c#6 integrate .. //depot/projects/ia64/lib/libutil/pty.c#4 integrate .. //depot/projects/ia64/lib/libutil/pw_util.c#9 integrate .. //depot/projects/ia64/lib/libutil/realhostname.c#4 integrate .. //depot/projects/ia64/lib/libutil/stub.c#2 integrate .. //depot/projects/ia64/lib/libutil/trimdomain.c#2 integrate .. //depot/projects/ia64/lib/libutil/uucplock.c#3 integrate .. //depot/projects/ia64/libexec/makekey/makekey.8#3 integrate .. //depot/projects/ia64/release/Makefile#72 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/errata/article.sgml#28 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#129 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/early-adopter/article.sgml#8 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/errata/article.sgml#16 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/hardware/amd64/proc-amd64.sgml#2 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#17 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/hardware/i386/proc-i386.sgml#6 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/alpha/article.sgml#3 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/amd64/article.sgml#2 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/common/new.sgml#28 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/i386/article.sgml#4 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/ia64/article.sgml#2 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/pc98/article.sgml#2 integrate .. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/sparc64/article.sgml#3 integrate .. //depot/projects/ia64/sbin/bsdlabel/bsdlabel.c#12 integrate .. //depot/projects/ia64/sbin/fdisk/fdisk.8#5 integrate .. //depot/projects/ia64/sbin/fsck_ffs/main.c#12 integrate .. //depot/projects/ia64/sbin/gbde/Makefile#7 integrate .. //depot/projects/ia64/sbin/gbde/gbde.c#11 integrate .. //depot/projects/ia64/sbin/gbde/image.uu#1 branch .. //depot/projects/ia64/sbin/gbde/test.sh#2 integrate .. //depot/projects/ia64/sbin/ip6fw/ip6fw.c#7 integrate .. //depot/projects/ia64/sbin/mdconfig/mdconfig.8#9 integrate .. //depot/projects/ia64/sbin/mount_msdosfs/mount_msdosfs.c#6 integrate .. //depot/projects/ia64/sbin/newfs/newfs.8#18 integrate .. //depot/projects/ia64/sbin/savecore/savecore.c#18 integrate .. //depot/projects/ia64/share/colldef/Makefile#17 integrate .. //depot/projects/ia64/share/colldef/sl_SI.ISO8859-2.src#1 branch .. //depot/projects/ia64/share/doc/IPv6/IMPLEMENTATION#3 integrate .. //depot/projects/ia64/share/examples/scsi_target/scsi_cmds.c#4 integrate .. //depot/projects/ia64/share/examples/scsi_target/scsi_target.8#3 integrate .. //depot/projects/ia64/share/examples/scsi_target/scsi_target.c#5 integrate .. //depot/projects/ia64/share/examples/scsi_target/scsi_target.h#2 integrate .. //depot/projects/ia64/share/man/man4/Makefile#60 integrate .. //depot/projects/ia64/share/man/man4/ddb.4#5 integrate .. //depot/projects/ia64/share/man/man4/hifn.4#3 integrate .. //depot/projects/ia64/share/man/man4/inet.4#6 integrate .. //depot/projects/ia64/share/man/man4/man4.i386/ep.4#4 integrate .. //depot/projects/ia64/share/man/man4/man4.i386/pae.4#5 integrate .. //depot/projects/ia64/share/man/man4/multicast.4#1 branch .. //depot/projects/ia64/share/man/man4/ng_bluetooth.4#6 integrate .. //depot/projects/ia64/share/man/man4/ng_bt3c.4#6 integrate .. //depot/projects/ia64/share/man/man4/ng_btsocket.4#6 integrate .. //depot/projects/ia64/share/man/man4/ng_h4.4#5 integrate .. //depot/projects/ia64/share/man/man4/ng_hci.4#6 integrate .. //depot/projects/ia64/share/man/man4/ng_l2cap.4#6 integrate .. //depot/projects/ia64/share/man/man4/ng_ubt.4#5 integrate .. //depot/projects/ia64/share/man/man4/pim.4#1 branch .. //depot/projects/ia64/share/man/man4/ubtbcmfw.4#3 integrate .. //depot/projects/ia64/share/man/man4/umass.4#11 integrate .. //depot/projects/ia64/share/man/man4/vpo.4#4 integrate .. //depot/projects/ia64/share/man/man4/xl.4#4 integrate .. //depot/projects/ia64/share/man/man5/Makefile#15 integrate .. //depot/projects/ia64/share/man/man5/bluetooth.hosts.5#1 branch .. //depot/projects/ia64/share/man/man5/bluetooth.protocols.5#1 branch .. //depot/projects/ia64/share/man/man7/release.7#26 integrate .. //depot/projects/ia64/share/man/man9/Makefile#34 integrate .. //depot/projects/ia64/share/man/man9/panic.9#2 integrate .. //depot/projects/ia64/share/man/man9/pmap.9#3 integrate .. //depot/projects/ia64/share/man/man9/pmap_resident_count.9#1 branch .. //depot/projects/ia64/share/man/man9/vm_fault_prefault.9#2 integrate .. //depot/projects/ia64/share/man/man9/vm_page_alloc.9#4 integrate .. //depot/projects/ia64/share/mk/bsd.libnames.mk#20 integrate .. //depot/projects/ia64/share/zoneinfo/asia#7 integrate .. //depot/projects/ia64/share/zoneinfo/australasia#7 integrate .. //depot/projects/ia64/share/zoneinfo/backward#4 integrate .. //depot/projects/ia64/share/zoneinfo/europe#6 integrate .. //depot/projects/ia64/share/zoneinfo/leapseconds#5 integrate .. //depot/projects/ia64/share/zoneinfo/northamerica#6 integrate .. //depot/projects/ia64/share/zoneinfo/southamerica#7 integrate .. //depot/projects/ia64/share/zoneinfo/zone.tab#9 integrate .. //depot/projects/ia64/sys/alpha/alpha/machdep.c#37 integrate .. //depot/projects/ia64/sys/alpha/alpha/trap.c#30 integrate .. //depot/projects/ia64/sys/alpha/include/pmap.h#10 integrate .. //depot/projects/ia64/sys/amd64/amd64/exception.S#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#15 integrate .. //depot/projects/ia64/sys/amd64/amd64/pmap.c#28 integrate .. //depot/projects/ia64/sys/amd64/amd64/trap.c#10 integrate .. //depot/projects/ia64/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/ia64/sys/amd64/include/frame.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/pmap.h#7 integrate .. //depot/projects/ia64/sys/amd64/include/signal.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/ucontext.h#5 integrate .. //depot/projects/ia64/sys/cam/cam_periph.c#15 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_cd.c#22 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#53 integrate .. //depot/projects/ia64/sys/coda/coda_subr.c#8 integrate .. //depot/projects/ia64/sys/compat/linprocfs/linprocfs.c#25 integrate .. //depot/projects/ia64/sys/compat/linux/linux_socket.c#11 integrate .. //depot/projects/ia64/sys/conf/files#105 integrate .. //depot/projects/ia64/sys/conf/files.amd64#12 integrate .. //depot/projects/ia64/sys/conf/majors#27 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/Makefile#3 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx.h#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_context.c#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_env.h#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_self.c#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_step.c#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_step.h#1 branch .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_trace.c#3 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_trace.h#3 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#2 integrate .. //depot/projects/ia64/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#3 integrate .. //depot/projects/ia64/sys/contrib/ipfilter/netinet/ip_fil.c#10 integrate .. //depot/projects/ia64/sys/crypto/blowfish/bf_ecb.c#1 branch .. //depot/projects/ia64/sys/crypto/blowfish/blowfish.h#4 integrate .. //depot/projects/ia64/sys/crypto/cast128/cast128.c#4 integrate .. //depot/projects/ia64/sys/crypto/cast128/cast128.h#4 integrate .. //depot/projects/ia64/sys/crypto/cast128/cast128_subkey.h#2 delete .. //depot/projects/ia64/sys/crypto/cast128/cast128sb.h#1 branch .. //depot/projects/ia64/sys/crypto/rijndael/boxes-fst.dat#2 delete .. //depot/projects/ia64/sys/crypto/rijndael/rijndael-alg-fst.c#3 integrate .. //depot/projects/ia64/sys/crypto/rijndael/rijndael-alg-fst.h#2 integrate .. //depot/projects/ia64/sys/crypto/rijndael/rijndael-api-fst.c#7 integrate .. //depot/projects/ia64/sys/crypto/rijndael/rijndael-api-fst.h#3 integrate .. //depot/projects/ia64/sys/crypto/rijndael/rijndael_local.h#2 integrate .. //depot/projects/ia64/sys/dev/aac/aac.c#33 integrate .. //depot/projects/ia64/sys/dev/aac/aacreg.h#10 integrate .. //depot/projects/ia64/sys/dev/amr/amr.c#20 integrate .. //depot/projects/ia64/sys/dev/amr/amr_disk.c#11 integrate .. //depot/projects/ia64/sys/dev/amr/amrvar.h#12 integrate .. //depot/projects/ia64/sys/dev/an/if_an_pccard.c#10 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#44 integrate .. //depot/projects/ia64/sys/dev/ata/ata-card.c#15 integrate .. //depot/projects/ia64/sys/dev/ata/ata-disk.c#27 integrate .. //depot/projects/ia64/sys/dev/ata/ata-dma.c#29 integrate .. //depot/projects/ia64/sys/dev/ata/ata-lowlevel.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-queue.c#6 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cd.c#32 integrate .. //depot/projects/ia64/sys/dev/ath/if_ath.c#11 integrate .. //depot/projects/ia64/sys/dev/ath/if_ath_pci.c#4 integrate .. //depot/projects/ia64/sys/dev/ath/if_athvar.h#7 integrate .. //depot/projects/ia64/sys/dev/cardbus/cardbus.c#18 integrate .. //depot/projects/ia64/sys/dev/cardbus/cardbus_cis.c#18 integrate .. //depot/projects/ia64/sys/dev/cardbus/cardbus_cis.h#4 integrate .. //depot/projects/ia64/sys/dev/ciss/ciss.c#26 integrate .. //depot/projects/ia64/sys/dev/ed/if_ed.c#13 integrate .. //depot/projects/ia64/sys/dev/ed/if_ed_cbus.c#8 integrate .. //depot/projects/ia64/sys/dev/ed/if_ed_isa.c#6 integrate .. //depot/projects/ia64/sys/dev/ed/if_edreg.h#2 integrate .. //depot/projects/ia64/sys/dev/ed/if_edvar.h#3 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#28 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#21 integrate .. //depot/projects/ia64/sys/dev/ep/if_ep.c#13 integrate .. //depot/projects/ia64/sys/dev/ep/if_ep_eisa.c#6 integrate .. //depot/projects/ia64/sys/dev/ep/if_ep_isa.c#8 integrate .. //depot/projects/ia64/sys/dev/ep/if_ep_pccard.c#11 integrate .. //depot/projects/ia64/sys/dev/ep/if_epreg.h#3 integrate .. //depot/projects/ia64/sys/dev/ep/if_epvar.h#4 integrate .. //depot/projects/ia64/sys/dev/exca/exca.c#12 integrate .. //depot/projects/ia64/sys/dev/firewire/firewire.c#38 integrate .. //depot/projects/ia64/sys/dev/firewire/sbp.c#44 integrate .. //depot/projects/ia64/sys/dev/firewire/sbp_targ.c#1 branch .. //depot/projects/ia64/sys/dev/hifn/hifn7751.c#17 integrate .. //depot/projects/ia64/sys/dev/hifn/hifn7751reg.h#3 integrate .. //depot/projects/ia64/sys/dev/hifn/hifn7751var.h#4 integrate .. //depot/projects/ia64/sys/dev/ips/ips_commands.c#5 integrate .. //depot/projects/ia64/sys/dev/kbd/atkbd.c#10 integrate .. //depot/projects/ia64/sys/dev/matcd/matcd.c#3 integrate .. //depot/projects/ia64/sys/dev/mcd/mcd.c#8 integrate .. //depot/projects/ia64/sys/dev/md/md.c#35 integrate .. //depot/projects/ia64/sys/dev/null/null.c#15 integrate .. //depot/projects/ia64/sys/dev/ofw/ofw_disk.c#7 integrate .. //depot/projects/ia64/sys/dev/owi/if_owi.c#2 integrate .. //depot/projects/ia64/sys/dev/pccard/card_if.m#7 integrate .. //depot/projects/ia64/sys/dev/pccard/pccard.c#25 integrate .. //depot/projects/ia64/sys/dev/pccard/pccard_cis.c#11 integrate .. //depot/projects/ia64/sys/dev/pccard/pccard_cis.h#1 branch .. //depot/projects/ia64/sys/dev/pccard/pccard_cis_quirks.c#5 integrate .. //depot/projects/ia64/sys/dev/pccard/pccarddevs#38 integrate .. //depot/projects/ia64/sys/dev/pccard/pccarddevs.h#38 integrate .. //depot/projects/ia64/sys/dev/pccard/pccardreg.h#2 integrate .. //depot/projects/ia64/sys/dev/pccard/pccardvar.h#13 integrate .. //depot/projects/ia64/sys/dev/pci/pci_user.c#10 integrate .. //depot/projects/ia64/sys/dev/raidframe/rf_freebsdkintf.c#16 integrate .. //depot/projects/ia64/sys/dev/scd/scd.c#6 integrate .. //depot/projects/ia64/sys/dev/sio/sio_pccard.c#13 integrate .. //depot/projects/ia64/sys/dev/sound/pci/au88x0.c#5 integrate .. //depot/projects/ia64/sys/dev/sound/pci/au88x0.h#2 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/ac97.c#23 integrate .. //depot/projects/ia64/sys/dev/uart/uart_bus_pccard.c#4 integrate .. //depot/projects/ia64/sys/dev/usb/if_aue.c#24 integrate .. //depot/projects/ia64/sys/dev/usb/if_auereg.h#8 integrate .. //depot/projects/ia64/sys/dev/usb/if_cue.c#17 integrate .. //depot/projects/ia64/sys/dev/usb/if_cuereg.h#5 integrate .. //depot/projects/ia64/sys/dev/usb/if_kue.c#16 integrate .. //depot/projects/ia64/sys/dev/usb/if_kuereg.h#6 integrate .. //depot/projects/ia64/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/ia64/sys/dev/usb/if_ruereg.h#2 integrate .. //depot/projects/ia64/sys/dev/usb/ubsa.c#8 integrate .. //depot/projects/ia64/sys/dev/usb/ufm.c#12 integrate .. //depot/projects/ia64/sys/dev/usb/ugen.c#20 integrate .. //depot/projects/ia64/sys/dev/usb/uhid.c#17 integrate .. //depot/projects/ia64/sys/dev/usb/ukbd.c#10 integrate .. //depot/projects/ia64/sys/dev/usb/ums.c#14 integrate .. //depot/projects/ia64/sys/dev/usb/usb.c#17 integrate .. //depot/projects/ia64/sys/dev/usb/usb_mem.c#5 integrate .. //depot/projects/ia64/sys/dev/usb/usb_port.h#14 integrate .. //depot/projects/ia64/sys/dev/usb/usbdevs#49 integrate .. //depot/projects/ia64/sys/dev/usb/usbdevs.h#47 integrate .. //depot/projects/ia64/sys/dev/usb/usbdevs_data.h#47 integrate .. //depot/projects/ia64/sys/dev/vinum/vinumrequest.c#14 integrate .. //depot/projects/ia64/sys/dev/xe/if_xe.c#11 integrate .. //depot/projects/ia64/sys/dev/xe/if_xe_pccard.c#10 integrate .. //depot/projects/ia64/sys/dev/xe/if_xereg.h#2 integrate .. //depot/projects/ia64/sys/dev/xe/if_xevar.h#3 integrate .. //depot/projects/ia64/sys/fs/hpfs/hpfs_vnops.c#23 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_denode.c#13 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_vfsops.c#22 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_vnops.c#23 integrate .. //depot/projects/ia64/sys/fs/ntfs/ntfs_vnops.c#14 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_io.c#10 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_node.c#8 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_vnops.c#8 integrate .. //depot/projects/ia64/sys/fs/pseudofs/pseudofs_vncache.c#13 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_io.c#13 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_node.c#11 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_vnops.c#20 integrate .. //depot/projects/ia64/sys/fs/specfs/spec_vnops.c#24 integrate .. //depot/projects/ia64/sys/fs/udf/udf_vnops.c#20 integrate .. //depot/projects/ia64/sys/geom/bde/g_bde.h#5 integrate .. //depot/projects/ia64/sys/geom/bde/g_bde_lock.c#9 integrate .. //depot/projects/ia64/sys/geom/geom.h#37 integrate .. //depot/projects/ia64/sys/geom/geom_dev.c#44 integrate .. //depot/projects/ia64/sys/geom/geom_disk.c#40 integrate .. //depot/projects/ia64/sys/geom/geom_event.c#23 integrate .. //depot/projects/ia64/sys/geom/geom_io.c#31 integrate .. //depot/projects/ia64/sys/geom/geom_subr.c#34 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_bmap.c#5 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_inode.c#11 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_vfsops.c#21 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_vnops.c#17 integrate .. //depot/projects/ia64/sys/i386/i386/locore.s#15 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#47 integrate .. //depot/projects/ia64/sys/i386/i386/pmap.c#68 integrate .. //depot/projects/ia64/sys/i386/i386/trap.c#37 integrate .. //depot/projects/ia64/sys/i386/i386/vm_machdep.c#30 integrate .. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_misc.c#12 integrate .. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_signal.c#10 integrate .. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_socksys.c#6 integrate .. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_util.c#6 integrate .. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_util.h#4 integrate .. //depot/projects/ia64/sys/i386/ibcs2/imgact_coff.c#16 integrate .. //depot/projects/ia64/sys/i386/include/pmap.h#16 integrate .. //depot/projects/ia64/sys/i386/isa/apic_vector.s#10 integrate .. //depot/projects/ia64/sys/i386/isa/isa_compat.c#4 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#97 integrate .. //depot/projects/ia64/sys/ia64/ia64/pmap.c#79 integrate .. //depot/projects/ia64/sys/ia64/ia64/trap.c#65 integrate .. //depot/projects/ia64/sys/ia64/ia64/unwind.c#10 integrate .. //depot/projects/ia64/sys/ia64/include/pmap.h#14 integrate .. //depot/projects/ia64/sys/isa/fd.c#23 integrate .. //depot/projects/ia64/sys/isofs/cd9660/cd9660_node.c#8 integrate .. //depot/projects/ia64/sys/isofs/cd9660/cd9660_vnops.c#18 integrate .. //depot/projects/ia64/sys/kern/kern_clock.c#25 integrate .. //depot/projects/ia64/sys/kern/kern_exec.c#55 integrate .. //depot/projects/ia64/sys/kern/kern_idle.c#13 integrate .. //depot/projects/ia64/sys/kern/kern_physio.c#11 integrate .. //depot/projects/ia64/sys/kern/kern_poll.c#10 integrate .. //depot/projects/ia64/sys/kern/kern_proc.c#47 integrate .. //depot/projects/ia64/sys/kern/kern_sig.c#67 integrate .. //depot/projects/ia64/sys/kern/kern_switch.c#27 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#46 integrate .. //depot/projects/ia64/sys/kern/kern_sysctl.c#21 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#16 integrate .. //depot/projects/ia64/sys/kern/sched_ule.c#26 integrate .. //depot/projects/ia64/sys/kern/subr_bus.c#26 integrate .. //depot/projects/ia64/sys/kern/subr_disk.c#18 integrate .. //depot/projects/ia64/sys/kern/subr_kobj.c#5 integrate .. //depot/projects/ia64/sys/kern/sys_pipe.c#43 integrate .. //depot/projects/ia64/sys/kern/sys_process.c#25 integrate .. //depot/projects/ia64/sys/kern/tty_cons.c#17 integrate .. //depot/projects/ia64/sys/kern/vfs_bio.c#62 integrate .. //depot/projects/ia64/sys/kern/vfs_cache.c#16 integrate .. //depot/projects/ia64/sys/kern/vfs_cluster.c#26 integrate .. //depot/projects/ia64/sys/kern/vfs_subr.c#56 integrate .. //depot/projects/ia64/sys/kern/vfs_vnops.c#35 integrate .. //depot/projects/ia64/sys/modules/firewire/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/firewire/sbp_targ/Makefile#1 branch .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/bluetooth/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/bt3c/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/h4/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/hci/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/l2cap/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/socket/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/ubt/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile#2 integrate .. //depot/projects/ia64/sys/net/if.c#27 integrate .. //depot/projects/ia64/sys/net/if_ethersubr.c#34 integrate .. //depot/projects/ia64/sys/net/if_var.h#17 integrate .. //depot/projects/ia64/sys/net/net_osdep.c#3 integrate .. //depot/projects/ia64/sys/net/pfkeyv2.h#3 integrate .. //depot/projects/ia64/sys/net/route.c#14 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_crypto.c#3 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_ioctl.c#7 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_node.c#9 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_node.h#7 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_output.c#7 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_proto.c#5 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_var.h#7 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#9 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/hci/ng_hci_cmds.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/hci/ng_hci_evnt.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/hci/ng_hci_misc.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/hci/ng_hci_misc.h#3 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#3 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#5 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#3 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket.c#4 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#9 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#8 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#7 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#3 integrate .. //depot/projects/ia64/sys/netinet/icmp6.h#7 integrate .. //depot/projects/ia64/sys/netinet/in_gif.c#7 integrate .. //depot/projects/ia64/sys/netinet/in_gif.h#5 integrate .. //depot/projects/ia64/sys/netinet/in_rmx.c#6 integrate .. //depot/projects/ia64/sys/netinet/ip_dummynet.c#23 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#28 integrate .. //depot/projects/ia64/sys/netinet/ip_input.c#35 integrate .. //depot/projects/ia64/sys/netinet/ip_var.h#16 integrate .. //depot/projects/ia64/sys/netinet/tcp_input.c#44 integrate .. //depot/projects/ia64/sys/netinet6/ah.h#3 integrate .. //depot/projects/ia64/sys/netinet6/ah6.h#2 integrate .. //depot/projects/ia64/sys/netinet6/ah_aesxcbcmac.c#1 branch .. //depot/projects/ia64/sys/netinet6/ah_aesxcbcmac.h#1 branch .. //depot/projects/ia64/sys/netinet6/ah_core.c#5 integrate .. //depot/projects/ia64/sys/netinet6/ah_input.c#8 integrate .. //depot/projects/ia64/sys/netinet6/ah_output.c#6 integrate .. //depot/projects/ia64/sys/netinet6/dest6.c#3 integrate .. //depot/projects/ia64/sys/netinet6/esp.h#3 integrate .. //depot/projects/ia64/sys/netinet6/esp_aesctr.c#1 branch .. //depot/projects/ia64/sys/netinet6/esp_aesctr.h#1 branch .. //depot/projects/ia64/sys/netinet6/esp_core.c#7 integrate .. //depot/projects/ia64/sys/netinet6/esp_input.c#12 integrate .. //depot/projects/ia64/sys/netinet6/esp_output.c#6 integrate .. //depot/projects/ia64/sys/netinet6/esp_rijndael.c#3 integrate .. //depot/projects/ia64/sys/netinet6/esp_rijndael.h#2 integrate .. //depot/projects/ia64/sys/netinet6/frag6.c#6 integrate .. //depot/projects/ia64/sys/netinet6/icmp6.c#19 integrate .. //depot/projects/ia64/sys/netinet6/in6.c#11 integrate .. //depot/projects/ia64/sys/netinet6/in6.h#10 integrate .. //depot/projects/ia64/sys/netinet6/in6_cksum.c#5 integrate .. //depot/projects/ia64/sys/netinet6/in6_gif.c#6 integrate .. //depot/projects/ia64/sys/netinet6/in6_gif.h#3 integrate .. //depot/projects/ia64/sys/netinet6/in6_ifattach.c#8 integrate .. //depot/projects/ia64/sys/netinet6/in6_pcb.c#17 integrate .. //depot/projects/ia64/sys/netinet6/in6_prefix.c#3 integrate .. //depot/projects/ia64/sys/netinet6/in6_proto.c#6 integrate .. //depot/projects/ia64/sys/netinet6/in6_rmx.c#5 integrate .. //depot/projects/ia64/sys/netinet6/in6_src.c#7 integrate .. //depot/projects/ia64/sys/netinet6/in6_var.h#5 integrate .. //depot/projects/ia64/sys/netinet6/ip6_forward.c#8 integrate .. //depot/projects/ia64/sys/netinet6/ip6_fw.c#12 integrate .. //depot/projects/ia64/sys/netinet6/ip6_fw.h#3 integrate .. //depot/projects/ia64/sys/netinet6/ip6_input.c#19 integrate .. //depot/projects/ia64/sys/netinet6/ip6_mroute.c#12 integrate .. //depot/projects/ia64/sys/netinet6/ip6_output.c#16 integrate .. //depot/projects/ia64/sys/netinet6/ip6_var.h#8 integrate .. //depot/projects/ia64/sys/netinet6/ip6protosw.h#5 integrate .. //depot/projects/ia64/sys/netinet6/ipcomp_core.c#7 integrate .. //depot/projects/ia64/sys/netinet6/ipcomp_input.c#3 integrate .. //depot/projects/ia64/sys/netinet6/ipsec.c#13 integrate .. //depot/projects/ia64/sys/netinet6/ipsec.h#5 integrate .. //depot/projects/ia64/sys/netinet6/mld6.c#6 integrate .. //depot/projects/ia64/sys/netinet6/mld6_var.h#2 integrate .. //depot/projects/ia64/sys/netinet6/nd6.c#14 integrate .. //depot/projects/ia64/sys/netinet6/nd6.h#4 integrate .. //depot/projects/ia64/sys/netinet6/nd6_nbr.c#9 integrate .. //depot/projects/ia64/sys/netinet6/nd6_rtr.c#10 integrate .. //depot/projects/ia64/sys/netinet6/raw_ip6.c#11 integrate .. //depot/projects/ia64/sys/netinet6/route6.c#4 integrate .. //depot/projects/ia64/sys/netinet6/scope6.c#5 integrate .. //depot/projects/ia64/sys/netinet6/scope6_var.h#2 integrate .. //depot/projects/ia64/sys/netinet6/udp6_output.c#7 integrate .. //depot/projects/ia64/sys/netinet6/udp6_usrreq.c#15 integrate .. //depot/projects/ia64/sys/netkey/key_var.h#4 integrate .. //depot/projects/ia64/sys/nfsclient/bootp_subr.c#18 integrate .. //depot/projects/ia64/sys/nfsclient/krpc_subr.c#5 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_bio.c#17 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_node.c#11 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_socket.c#17 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_subs.c#10 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vfsops.c#23 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#28 integrate .. //depot/projects/ia64/sys/nfsserver/nfs_syscalls.c#17 integrate .. //depot/projects/ia64/sys/pc98/i386/machdep.c#41 integrate .. //depot/projects/ia64/sys/pc98/pc98/clock.c#21 integrate .. //depot/projects/ia64/sys/pc98/pc98/fd.c#24 integrate .. //depot/projects/ia64/sys/pc98/pc98/sio.c#28 integrate .. //depot/projects/ia64/sys/pc98/pc98/wd.c#12 integrate .. //depot/projects/ia64/sys/pc98/pc98/wd_cd.c#10 integrate .. //depot/projects/ia64/sys/pci/if_dc.c#50 integrate .. //depot/projects/ia64/sys/pci/if_dcreg.h#17 integrate .. //depot/projects/ia64/sys/pci/if_ti.c#27 integrate .. //depot/projects/ia64/sys/powerpc/include/pmap.h#7 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/machdep.c#31 integrate .. //depot/projects/ia64/sys/sparc64/include/pmap.h#19 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/machdep.c#46 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/trap.c#31 integrate .. //depot/projects/ia64/sys/sys/bio.h#18 integrate .. //depot/projects/ia64/sys/sys/buf.h#27 integrate .. //depot/projects/ia64/sys/sys/bus.h#13 integrate .. //depot/projects/ia64/sys/sys/conf.h#25 integrate .. //depot/projects/ia64/sys/sys/cons.h#7 integrate .. //depot/projects/ia64/sys/sys/domain.h#3 integrate .. //depot/projects/ia64/sys/sys/endian.h#4 integrate .. //depot/projects/ia64/sys/sys/kernel.h#15 integrate .. //depot/projects/ia64/sys/sys/kobj.h#4 integrate .. //depot/projects/ia64/sys/sys/mutex.h#17 integrate .. //depot/projects/ia64/sys/sys/param.h#46 integrate .. //depot/projects/ia64/sys/sys/proc.h#77 integrate .. //depot/projects/ia64/sys/sys/ptrace.h#5 integrate .. //depot/projects/ia64/sys/sys/sched.h#4 integrate .. //depot/projects/ia64/sys/sys/sysctl.h#18 integrate .. //depot/projects/ia64/sys/sys/vnode.h#33 integrate .. //depot/projects/ia64/sys/tools/makeobjops.awk#3 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_inode.c#15 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_snapshot.c#30 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_softdep.c#31 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_vfsops.c#38 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_vnops.c#32 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_bmap.c#10 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_ihash.c#8 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_inode.c#13 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_quota.c#17 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_vnops.c#33 integrate .. //depot/projects/ia64/sys/vm/device_pager.c#15 integrate .. //depot/projects/ia64/sys/vm/pmap.h#23 integrate .. //depot/projects/ia64/sys/vm/swap_pager.c#42 integrate .. //depot/projects/ia64/sys/vm/vm_contig.c#19 integrate .. //depot/projects/ia64/sys/vm/vm_extern.h#15 integrate .. //depot/projects/ia64/sys/vm/vm_fault.c#38 integrate .. //depot/projects/ia64/sys/vm/vm_glue.c#35 integrate .. //depot/projects/ia64/sys/vm/vm_kern.c#30 integrate .. //depot/projects/ia64/sys/vm/vm_map.c#66 integrate .. //depot/projects/ia64/sys/vm/vm_map.h#28 integrate .. //depot/projects/ia64/sys/vm/vm_mmap.c#26 integrate .. //depot/projects/ia64/sys/vm/vm_object.c#68 integrate .. //depot/projects/ia64/sys/vm/vm_page.c#56 integrate .. //depot/projects/ia64/sys/vm/vm_page.h#24 integrate .. //depot/projects/ia64/sys/vm/vm_pageout.c#48 integrate .. //depot/projects/ia64/sys/vm/vm_pageout.h#11 integrate .. //depot/projects/ia64/sys/vm/vnode_pager.c#40 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/Makefile#2 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/releng_4.rc#3 integrate .. //depot/projects/ia64/tools/tools/tinderbox/etc/releng_5.rc#1 branch .. //depot/projects/ia64/tools/tools/tinderbox/tbmaster.1#6 integrate .. //depot/projects/ia64/tools/tools/tinderbox/tbmaster.pl#20 integrate .. //depot/projects/ia64/tools/tools/tinderbox/tinderbox.1#4 integrate .. //depot/projects/ia64/tools/tools/tinderbox/tinderbox.pl#11 integrate .. //depot/projects/ia64/tools/tools/tinderbox/www/index.cgi#7 integrate .. //depot/projects/ia64/tools/tools/tinderbox/www/tb.css#3 integrate .. //depot/projects/ia64/usr.bin/Makefile#56 integrate .. //depot/projects/ia64/usr.bin/bluetooth/Makefile#5 integrate .. //depot/projects/ia64/usr.bin/bluetooth/Makefile.inc#1 branch .. //depot/projects/ia64/usr.bin/bluetooth/bthost/Makefile#1 branch .. //depot/projects/ia64/usr.bin/bluetooth/bthost/bthost.1#1 branch .. //depot/projects/ia64/usr.bin/bluetooth/bthost/bthost.c#1 branch .. //depot/projects/ia64/usr.bin/bluetooth/btsockstat/Makefile#5 integrate .. //depot/projects/ia64/usr.bin/bluetooth/btsockstat/btsockstat.1#7 integrate .. //depot/projects/ia64/usr.bin/bluetooth/btsockstat/btsockstat.c#5 integrate .. //depot/projects/ia64/usr.bin/bluetooth/rfcomm_sppd/Makefile#2 integrate .. //depot/projects/ia64/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sdp.c#1 branch .. //depot/projects/ia64/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1#3 integrate .. //depot/projects/ia64/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c#2 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.christian#2 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.freebsd#37 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.history#12 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.lotr#2 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.music#5 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag#3 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte#4 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur#2 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik#3 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft#3 integrate .. //depot/projects/ia64/usr.bin/enigma/Makefile#3 integrate .. //depot/projects/ia64/usr.bin/enigma/enigma.c#4 integrate .. //depot/projects/ia64/usr.bin/make/var.c#14 integrate .. //depot/projects/ia64/usr.bin/stat/stat.c#6 integrate .. //depot/projects/ia64/usr.bin/su/su.c#13 integrate .. //depot/projects/ia64/usr.bin/tftp/main.c#9 integrate .. //depot/projects/ia64/usr.bin/time/time.c#7 integrate .. //depot/projects/ia64/usr.sbin/Makefile#52 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/Makefile.inc#1 branch .. //depot/projects/ia64/usr.sbin/bluetooth/bcmfw/Makefile#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bcmfw/bcmfw.8#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bt3cfw/Makefile#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bt3cfw/bt3cfw.8#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bt3cfw/bt3cfw.c#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/hccontrol.8#7 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/hccontrol.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/hccontrol.h#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/host_controller_baseband.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/info.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/link_control.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/link_policy.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/node.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/send_recv.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/status.c#6 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hccontrol/util.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcsecd/Makefile#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcsecd/hcsecd.8#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcsecd/hcsecd.c#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcsecd/hcsecd.conf.5#1 branch .. //depot/projects/ia64/usr.sbin/bluetooth/hcsecd/hcsecd.h#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcsecd/parser.y#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcseriald/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcseriald/hcseriald.8#7 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/hcseriald/hcseriald.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2control/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2control/l2cap.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2control/l2control.8#7 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2control/l2control.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2ping/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2ping/l2ping.8#7 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/l2ping/l2ping.c#5 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/rfcomm_pppd/Makefile#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/sdpcontrol/Makefile#1 branch .. //depot/projects/ia64/usr.sbin/bluetooth/sdpcontrol/sdpcontrol.8#1 branch .. //depot/projects/ia64/usr.sbin/bluetooth/sdpcontrol/sdpcontrol.c#1 branch .. //depot/projects/ia64/usr.sbin/bluetooth/sdpcontrol/sdpcontrol.h#1 branch .. //depot/projects/ia64/usr.sbin/bluetooth/sdpcontrol/search.c#1 branch .. //depot/projects/ia64/usr.sbin/lpr/lpc/lpc.c#5 integrate .. //depot/projects/ia64/usr.sbin/ndp/ndp.c#4 integrate .. //depot/projects/ia64/usr.sbin/pccard/pccardd/file.c#4 integrate .. //depot/projects/ia64/usr.sbin/setkey/setkey.8#6 integrate .. //depot/projects/ia64/usr.sbin/setkey/setkey.c#3 integrate .. //depot/projects/ia64/usr.sbin/setkey/token.l#2 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/dist.c#24 integrate .. //depot/projects/ia64/usr.sbin/timed/timed/timed.8#5 integrate .. //depot/projects/ia64/usr.sbin/timed/timedc/timedc.c#3 integrate .. //depot/projects/ia64/usr.sbin/wicontrol/wicontrol.8#16 integrate Differences ... ==== //depot/projects/ia64/Makefile#33 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.289 2003/08/30 13:33:41 ru Exp $ +# $FreeBSD: src/Makefile,v 1.290 2003/10/04 18:53:38 ru Exp $ # # The user-driven targets are: # @@ -16,8 +16,6 @@ # reinstallkernel.debug # kernel - buildkernel + installkernel. # update - Convenient way to update your source tree (cvs). -# most - Build user commands, no libraries or include files. -# installmost - Install user commands, no libraries or include files. # # This makefile is simple by design. The FreeBSD make automatically reads # the /usr/share/mk/sys.mk unless the -m argument is specified on the @@ -63,9 +61,9 @@ TGTS= all all-man buildkernel buildworld checkdpadd clean \ cleandepend cleandir depend distribute distributeworld everything \ hierarchy install installcheck installkernel installkernel.debug\ - reinstallkernel reinstallkernel.debug installmost installworld \ + reinstallkernel reinstallkernel.debug installworld \ libraries lint maninstall \ - most obj objlink regress rerelease tags update + obj objlink regress rerelease tags update BITGTS= files includes BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/} >>> TRUNCATED FOR MAIL (1000 lines) <<<