From owner-p4-projects@FreeBSD.ORG Sun Jun 28 01:25:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20CD1106566C; Sun, 28 Jun 2009 01:25:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC7F71065674 for ; Sun, 28 Jun 2009 01:25:18 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A99028FC14 for ; Sun, 28 Jun 2009 01:25:18 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5S1PIOJ026856 for ; Sun, 28 Jun 2009 01:25:18 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5S1PI4E026853 for perforce@freebsd.org; Sun, 28 Jun 2009 01:25:18 GMT (envelope-from fangwang@FreeBSD.org) Date: Sun, 28 Jun 2009 01:25:18 GMT Message-Id: <200906280125.n5S1PI4E026853@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 165334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 01:25:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165334 Change 165334 by fangwang@fangwang_utobsd on 2009/06/28 01:25:08 Impelement tcputo regression test code, not finish yet. Affected files ... .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/Makefile#1 add .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#2 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#2 (text+ko) ==== @@ -1,0 +1,179 @@ +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +static void +usage(void) +{ + + fprintf(stderr, "tcpconnect server port\n"); + fprintf(stderr, "tcpconnect client ip port\n"); + exit(-1); +} + +static int +tcputo_timer(void) +{ + static time_t start_time = 0; + time_t end_time; + time_t interval; + + if (start_time == 0) { + time(&start_time); + interval = 0; + } + else { + time(&end_time); + interval = end_time - start_time; + start_time = 0; + } + + return (int)(interval); +} + +static void +tcputo_server(int argc, char *argv[]) +{ + int listen_sock, accept_sock; + struct sockaddr_in sin; + char *dummy; + char buf[16*1024]; + long port; + int user_timeout; + int optval = 4*1024; + + if (argc != 1) + usage(); + + bzero(&sin, sizeof(sin)); + sin.sin_len = sizeof(sin); + sin.sin_family = AF_INET; + sin.sin_addr.s_addr = htonl(INADDR_ANY); + + port = strtoul(argv[0], &dummy, 10); + if (port < 1 || port > 65535 || *dummy != '\0') + usage(); + sin.sin_port = htons(port); + + listen_sock = socket(PF_INET, SOCK_STREAM, 0); + if (listen_sock == -1) + err(-1, "socket"); + + if (bind(listen_sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) + err(-1, "bind"); + + if (listen(listen_sock, -1) == -1) + err(-1, "listen"); + + accept_sock = accept(listen_sock, NULL, NULL); + close(listen_sock); + if (setsockopt(accept_sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) + err(-1, "setsockopt"); + while(1) { + sleep(1); + printf("server again %d\n", optval++); + (void)recv(accept_sock, buf, 16*1024, MSG_DONTWAIT); + (void)tcputo_timer(); + if (send(accept_sock, buf, 16*1024, MSG_NOSIGNAL) >= 0) { + (void)tcputo_timer(); + continue; + } + puts(strerror(errno)); + user_timeout = tcputo_timer(); + printf("Connection timeout, %d seconds.\n", user_timeout); + break; + } + + close(accept_sock); +} + +static void +tcputo_client(int argc, char *argv[]) +{ + struct sockaddr_in sin; + long count, i, port; + char *dummy; + char buf[16*1024]; + int sock; + int nonblock = 0, md5enable = 0; + int user_timeout; + int optval = 4*1024; + + if (argc != 2) + usage(); + + bzero(&sin, sizeof(sin)); + sin.sin_len = sizeof(sin); + sin.sin_family = AF_INET; + if (inet_aton(argv[0], &sin.sin_addr) == 0) + err(-1, "convert address"); + + port = strtoul(argv[1], &dummy, 10); + if (port < 1 || port > 65535 || *dummy != '\0') + usage(); + sin.sin_port = htons(port); + + sock = socket(PF_INET, SOCK_STREAM, 0); + if (sock == -1) + err(-1, "socket"); + if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) + err(-1, "setsockopt"); + + /* No warning in default case on ENOPROTOOPT. */ + /* if (setsockopt(sock, IPPROTO_TCP, TCP_MD5SIG, + &md5enable, sizeof(md5enable)) != 0) { + if (errno == ENOPROTOOPT && md5enable > 0) + err(-1, "setsockopt(TCP_MD5SIG)"); + else if (errno != ENOPROTOOPT) + warn("setsockopt(TCP_MD5SIG)"); + } */ + + if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) + err(-1, "connect"); + + while (1) { + sleep(1); + printf("client again %d\n", optval++); + (void)recv(sock, buf, 16*1024, MSG_DONTWAIT); + (void)tcputo_timer(); + if (send(sock, buf, 16*1024, MSG_NOSIGNAL) > 0) { + (void)tcputo_timer(); + continue; + } + puts(strerror(errno)); + user_timeout = tcputo_timer(); + printf("Connection timeout, %d seconds.\n", user_timeout); + break; + } + + close(sock); +} + +int +main(int argc, char *argv[]) +{ + + if (argc < 2) + usage(); + + if (strcmp(argv[1], "server") == 0) + tcputo_server(argc - 2, argv + 2); + else if (strcmp(argv[1], "client") == 0) + tcputo_client(argc - 2, argv + 2); + else + usage(); + + exit(0); +} From owner-p4-projects@FreeBSD.ORG Sun Jun 28 05:41:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6ACA91065672; Sun, 28 Jun 2009 05:40:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 294FA106564A for ; Sun, 28 Jun 2009 05:40:59 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 14B088FC13 for ; Sun, 28 Jun 2009 05:40:59 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5S5exh4059228 for ; Sun, 28 Jun 2009 05:40:59 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5S5evk5059226 for perforce@freebsd.org; Sun, 28 Jun 2009 05:40:57 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 28 Jun 2009 05:40:57 GMT Message-Id: <200906280540.n5S5evk5059226@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165337 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 05:41:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165337 Change 165337 by thompsa@thompsa_burger on 2009/06/28 05:40:08 IFC @165332 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/intr_machdep.c#10 integrate .. //depot/projects/usb/src/sys/amd64/amd64/io_apic.c#7 integrate .. //depot/projects/usb/src/sys/amd64/amd64/msi.c#9 integrate .. //depot/projects/usb/src/sys/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/usb/src/sys/amd64/include/intr_machdep.h#8 integrate .. //depot/projects/usb/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/usb/src/sys/arm/at91/if_ate.c#15 integrate .. //depot/projects/usb/src/sys/arm/conf/CAMBRIA.hints#6 integrate .. //depot/projects/usb/src/sys/arm/include/vm.h#1 branch .. //depot/projects/usb/src/sys/arm/xscale/ixp425/if_npe.c#13 integrate .. //depot/projects/usb/src/sys/boot/i386/libi386/biosdisk.c#12 integrate .. //depot/projects/usb/src/sys/cam/scsi/scsi_target.c#6 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#19 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_signal.c#5 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#17 integrate .. //depot/projects/usb/src/sys/conf/NOTES#42 integrate .. //depot/projects/usb/src/sys/conf/files#71 integrate .. //depot/projects/usb/src/sys/dev/ae/if_ae.c#4 integrate .. //depot/projects/usb/src/sys/dev/age/if_age.c#10 integrate .. //depot/projects/usb/src/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/usb/src/sys/dev/ale/if_ale.c#4 integrate .. //depot/projects/usb/src/sys/dev/asmc/asmc.c#6 integrate .. //depot/projects/usb/src/sys/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.c#7 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.h#6 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah_internal.h#6 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#6 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#5 integrate .. //depot/projects/usb/src/sys/dev/ath/if_ath.c#28 integrate .. //depot/projects/usb/src/sys/dev/ath/if_athvar.h#20 integrate .. //depot/projects/usb/src/sys/dev/bce/if_bce.c#21 integrate .. //depot/projects/usb/src/sys/dev/bfe/if_bfe.c#10 integrate .. //depot/projects/usb/src/sys/dev/bge/if_bge.c#19 integrate .. //depot/projects/usb/src/sys/dev/bm/if_bm.c#7 integrate .. //depot/projects/usb/src/sys/dev/cas/if_cas.c#3 integrate .. //depot/projects/usb/src/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/usb/src/sys/dev/cs/if_cs.c#5 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_adapter.h#12 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_sge.c#17 integrate .. //depot/projects/usb/src/sys/dev/cxgb/sys/mvec.h#7 integrate .. //depot/projects/usb/src/sys/dev/cxgb/sys/uipc_mvec.c#8 integrate .. //depot/projects/usb/src/sys/dev/dc/if_dc.c#12 integrate .. //depot/projects/usb/src/sys/dev/de/if_de.c#7 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_irq.c#11 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_dma.c#13 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_drv.h#9 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_irq.c#10 integrate .. //depot/projects/usb/src/sys/dev/drm/radeon_cp.c#10 integrate .. //depot/projects/usb/src/sys/dev/drm/radeon_irq.c#9 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_em.c#9 integrate .. //depot/projects/usb/src/sys/dev/e1000/if_igb.c#10 integrate .. //depot/projects/usb/src/sys/dev/ed/if_ed.c#9 integrate .. //depot/projects/usb/src/sys/dev/et/if_et.c#3 integrate .. //depot/projects/usb/src/sys/dev/ex/if_ex.c#4 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fe.c#6 integrate .. //depot/projects/usb/src/sys/dev/fxp/if_fxp.c#14 integrate .. //depot/projects/usb/src/sys/dev/gem/if_gem.c#11 integrate .. //depot/projects/usb/src/sys/dev/hme/if_hme.c#6 integrate .. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_logging.c#8 integrate .. //depot/projects/usb/src/sys/dev/hwpmc/hwpmc_mod.c#12 integrate .. //depot/projects/usb/src/sys/dev/ie/if_ie.c#4 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#30 integrate .. //depot/projects/usb/src/sys/dev/iscsi/initiator/isc_soc.c#4 integrate .. //depot/projects/usb/src/sys/dev/ixgb/if_ixgb.c#7 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/usb/src/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/usb/src/sys/dev/le/lance.c#3 integrate .. //depot/projects/usb/src/sys/dev/lge/if_lge.c#7 integrate .. //depot/projects/usb/src/sys/dev/malo/if_malo.c#5 integrate .. //depot/projects/usb/src/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/usb/src/sys/dev/msk/if_msk.c#13 integrate .. //depot/projects/usb/src/sys/dev/mxge/if_mxge.c#14 integrate .. //depot/projects/usb/src/sys/dev/my/if_my.c#8 integrate .. //depot/projects/usb/src/sys/dev/nfe/if_nfe.c#11 integrate .. //depot/projects/usb/src/sys/dev/nge/if_nge.c#9 integrate .. //depot/projects/usb/src/sys/dev/nve/if_nve.c#9 integrate .. //depot/projects/usb/src/sys/dev/nxge/if_nxge.c#3 integrate .. //depot/projects/usb/src/sys/dev/pcn/if_pcn.c#4 integrate .. //depot/projects/usb/src/sys/dev/pdq/pdq_ifsubr.c#3 integrate .. //depot/projects/usb/src/sys/dev/re/if_re.c#20 integrate .. //depot/projects/usb/src/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/usb/src/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/usb/src/sys/dev/sk/if_sk.c#10 integrate .. //depot/projects/usb/src/sys/dev/sn/if_sn.c#3 integrate .. //depot/projects/usb/src/sys/dev/snc/dp83932.c#4 integrate .. //depot/projects/usb/src/sys/dev/sound/midi/midi.c#7 integrate .. //depot/projects/usb/src/sys/dev/sound/midi/sequencer.c#10 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#51 integrate .. //depot/projects/usb/src/sys/dev/speaker/spkr.c#7 integrate .. //depot/projects/usb/src/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/usb/src/sys/dev/stge/if_stge.c#8 integrate .. //depot/projects/usb/src/sys/dev/ti/if_ti.c#8 integrate .. //depot/projects/usb/src/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/usb/src/sys/dev/tsec/if_tsec.c#6 integrate .. //depot/projects/usb/src/sys/dev/tx/if_tx.c#6 integrate .. //depot/projects/usb/src/sys/dev/txp/if_txp.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#26 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#36 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#26 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#18 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#16 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#42 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_if.m#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#159 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdevs#65 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#10 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_upgt.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#21 integrate .. //depot/projects/usb/src/sys/dev/vge/if_vge.c#10 integrate .. //depot/projects/usb/src/sys/dev/vr/if_vr.c#6 integrate .. //depot/projects/usb/src/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/usb/src/sys/dev/wi/if_wi.c#14 integrate .. //depot/projects/usb/src/sys/dev/wl/if_wl.c#5 integrate .. //depot/projects/usb/src/sys/dev/xe/if_xe.c#4 integrate .. //depot/projects/usb/src/sys/dev/xl/if_xl.c#6 integrate .. //depot/projects/usb/src/sys/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/usb/src/sys/fs/coda/coda_vnops.c#7 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#7 integrate .. //depot/projects/usb/src/sys/fs/pseudofs/pseudofs_vnops.c#16 integrate .. //depot/projects/usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#5 integrate .. //depot/projects/usb/src/sys/i386/i386/intr_machdep.c#11 integrate .. //depot/projects/usb/src/sys/i386/i386/io_apic.c#7 integrate .. //depot/projects/usb/src/sys/i386/i386/msi.c#9 integrate .. //depot/projects/usb/src/sys/i386/i386/sys_machdep.c#10 integrate .. //depot/projects/usb/src/sys/i386/include/intr_machdep.h#7 integrate .. //depot/projects/usb/src/sys/i386/include/vm.h#1 branch .. //depot/projects/usb/src/sys/i386/linux/linux_machdep.c#11 integrate .. //depot/projects/usb/src/sys/ia64/include/vm.h#1 branch .. //depot/projects/usb/src/sys/kern/kern_descrip.c#25 integrate .. //depot/projects/usb/src/sys/kern/kern_exec.c#18 integrate .. //depot/projects/usb/src/sys/kern/kern_exit.c#19 integrate .. //depot/projects/usb/src/sys/kern/kern_fork.c#18 integrate .. //depot/projects/usb/src/sys/kern/kern_intr.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_lockf.c#12 integrate .. //depot/projects/usb/src/sys/kern/kern_mbuf.c#13 integrate .. //depot/projects/usb/src/sys/kern/kern_prot.c#16 integrate .. //depot/projects/usb/src/sys/kern/kern_sig.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_thr.c#12 integrate .. //depot/projects/usb/src/sys/kern/sys_generic.c#15 integrate .. //depot/projects/usb/src/sys/kern/sys_process.c#12 integrate .. //depot/projects/usb/src/sys/kern/sysv_shm.c#12 integrate .. //depot/projects/usb/src/sys/kern/vfs_cluster.c#7 integrate .. //depot/projects/usb/src/sys/kern/vfs_extattr.c#9 integrate .. //depot/projects/usb/src/sys/kern/vfs_lookup.c#19 integrate .. //depot/projects/usb/src/sys/kern/vfs_mount.c#26 integrate .. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#24 integrate .. //depot/projects/usb/src/sys/mips/adm5120/if_admsw.c#5 integrate .. //depot/projects/usb/src/sys/mips/include/vm.h#1 branch .. //depot/projects/usb/src/sys/net/if.c#32 integrate .. //depot/projects/usb/src/sys/net/if_spppsubr.c#12 integrate .. //depot/projects/usb/src/sys/net/if_stf.c#13 integrate .. //depot/projects/usb/src/sys/net/if_tap.c#11 integrate .. //depot/projects/usb/src/sys/net/if_tun.c#15 integrate .. //depot/projects/usb/src/sys/net/if_var.h#22 integrate .. //depot/projects/usb/src/sys/net/netisr.c#11 integrate .. //depot/projects/usb/src/sys/netgraph/ng_eiface.c#11 integrate .. //depot/projects/usb/src/sys/netgraph/ng_ether.c#13 integrate .. //depot/projects/usb/src/sys/netgraph/ng_iface.c#13 integrate .. //depot/projects/usb/src/sys/netinet/if_ether.c#23 integrate .. //depot/projects/usb/src/sys/netinet/in.c#29 integrate .. //depot/projects/usb/src/sys/netinet/in_gif.c#13 integrate .. //depot/projects/usb/src/sys/netinet/in_mcast.c#16 integrate .. //depot/projects/usb/src/sys/netinet/in_pcb.c#28 integrate .. //depot/projects/usb/src/sys/netinet/in_var.h#14 integrate .. //depot/projects/usb/src/sys/netinet/ip_carp.c#16 integrate .. //depot/projects/usb/src/sys/netinet/ip_divert.c#20 integrate .. //depot/projects/usb/src/sys/netinet/ip_icmp.c#16 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#27 integrate .. //depot/projects/usb/src/sys/netinet/ipfw/ip_fw2.c#3 integrate .. //depot/projects/usb/src/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/usb/src/sys/netinet/raw_ip.c#25 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#27 integrate .. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#25 integrate .. //depot/projects/usb/src/sys/netinet6/in6_src.c#18 integrate .. //depot/projects/usb/src/sys/netinet6/in6_var.h#10 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_input.c#25 integrate .. //depot/projects/usb/src/sys/netinet6/nd6.c#21 integrate .. //depot/projects/usb/src/sys/netinet6/nd6_rtr.c#19 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#21 integrate .. //depot/projects/usb/src/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vnops.c#25 integrate .. //depot/projects/usb/src/sys/pc98/include/vm.h#1 branch .. //depot/projects/usb/src/sys/pci/if_rl.c#12 integrate .. //depot/projects/usb/src/sys/powerpc/conf/MPC85XX#9 integrate .. //depot/projects/usb/src/sys/powerpc/include/vm.h#1 branch .. //depot/projects/usb/src/sys/security/audit/audit.h#11 integrate .. //depot/projects/usb/src/sys/security/audit/audit_syscalls.c#15 integrate .. //depot/projects/usb/src/sys/sparc64/include/vm.h#1 branch .. //depot/projects/usb/src/sys/sun4v/conf/GENERIC#14 integrate .. //depot/projects/usb/src/sys/sun4v/include/vm.h#1 branch .. //depot/projects/usb/src/sys/sun4v/sun4v/pmap.c#8 integrate .. //depot/projects/usb/src/sys/sys/acl.h#5 integrate .. //depot/projects/usb/src/sys/sys/conf.h#18 integrate .. //depot/projects/usb/src/sys/sys/uio.h#4 integrate .. //depot/projects/usb/src/sys/sys/unistd.h#4 integrate .. //depot/projects/usb/src/sys/sys/vnode.h#23 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_dirhash.c#10 integrate .. //depot/projects/usb/src/sys/vm/vm.h#5 integrate .. //depot/projects/usb/src/sys/vm/vm_contig.c#13 integrate .. //depot/projects/usb/src/sys/vm/vm_extern.h#7 integrate .. //depot/projects/usb/src/sys/vm/vm_fault.c#15 integrate .. //depot/projects/usb/src/sys/vm/vm_kern.c#12 integrate .. //depot/projects/usb/src/sys/vm/vm_map.c#16 integrate .. //depot/projects/usb/src/sys/vm/vm_map.h#10 integrate .. //depot/projects/usb/src/sys/vm/vm_mmap.c#19 integrate .. //depot/projects/usb/src/sys/vm/vm_object.c#18 integrate .. //depot/projects/usb/src/sys/vm/vm_object.h#8 integrate .. //depot/projects/usb/src/sys/vm/vm_pageout.c#17 integrate .. //depot/projects/usb/src/sys/vm/vm_pager.c#4 integrate .. //depot/projects/usb/src/sys/vm/vm_pager.h#3 integrate .. //depot/projects/usb/src/sys/vm/vm_phys.c#6 integrate .. //depot/projects/usb/src/sys/vm/vm_phys.h#4 integrate .. //depot/projects/usb/src/sys/vm/vnode_pager.c#18 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/intr_machdep.c#10 (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/amd64/amd64/intr_machdep.c,v 1.42 2008/12/02 14:19:53 ganbold Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ */ /* @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -73,14 +72,12 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct sx intr_table_lock; +static struct mtx intr_table_lock; static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; - -static void intr_assign_next_cpu(struct intsrc *isrc); #endif static int intr_assign_cpu(void *arg, u_char cpu); @@ -114,14 +111,14 @@ { int error; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (error); } @@ -145,16 +142,16 @@ vector); if (error) return (error); - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_handlers = 0; - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (0); } @@ -178,18 +175,14 @@ error = intr_event_add_handler(isrc->is_event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); intrcnt_updatename(isrc); isrc->is_handlers++; if (isrc->is_handlers == 1) { -#ifdef SMP - if (assign_cpu) - intr_assign_next_cpu(isrc); -#endif isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -203,14 +196,14 @@ isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -284,12 +277,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } void @@ -297,12 +290,12 @@ { struct pic *pic; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } static int @@ -317,9 +310,9 @@ */ if (assign_cpu && cpu != NOCPU) { isrc = arg; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (0); #else @@ -378,7 +371,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - sx_init(&intr_table_lock, "intr sources"); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -435,19 +428,28 @@ static cpumask_t intr_cpus = (1 << 0); static int current_cpu; -static void -intr_assign_next_cpu(struct intsrc *isrc) +/* + * Return the CPU that the next interrupt source should use. For now + * this just returns the next local APIC according to round-robin. + */ +u_int +intr_next_cpu(void) { + u_int apic_id; - /* - * Assign this source to a local APIC in a round-robin fashion. - */ - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[current_cpu]); + /* Leave all interrupts on the BSP during boot. */ + if (!assign_cpu) + return (cpu_apic_ids[0]); + + mtx_lock(&intr_table_lock); + apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); + mtx_unlock(&intr_table_lock); + return (apic_id); } /* Attempt to bind the specified IRQ to the specified CPU. */ @@ -487,6 +489,7 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; + u_int apic_id; int i; /* Don't bother on UP. */ @@ -494,7 +497,7 @@ return; /* Round-robin assign a CPU to each enabled source. */ - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); assign_cpu = 1; for (i = 0; i < NUM_IO_INTS; i++) { isrc = interrupt_sources[i]; @@ -505,14 +508,24 @@ * of picking one via round-robin. */ if (isrc->is_event->ie_cpu != NOCPU) - isrc->is_pic->pic_assign_cpu(isrc, - cpu_apic_ids[isrc->is_event->ie_cpu]); + apic_id = isrc->is_event->ie_cpu; else - intr_assign_next_cpu(isrc); + apic_id = intr_next_cpu(); + isrc->is_pic->pic_assign_cpu(isrc, apic_id); } } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } SYSINIT(intr_shuffle_irqs, SI_SUB_SMP, SI_ORDER_SECOND, intr_shuffle_irqs, NULL); +#else +/* + * Always route interrupts to the current processor in the UP case. + */ +u_int +intr_next_cpu(void) +{ + + return (PCPU_GET(apic_id)); +} #endif ==== //depot/projects/usb/src/sys/amd64/amd64/io_apic.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.32 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); #include "opt_isa.h" @@ -372,7 +372,7 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, pcpu_find(0)->pc_apic_id); + ioapic_assign_cpu(isrc, intr_next_cpu()); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } ==== //depot/projects/usb/src/sys/amd64/amd64/msi.c#9 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); #include #include @@ -161,8 +161,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - if (msi->msi_vector == 0) - msi_assign_cpu(isrc, 0); apic_enable_vector(msi->msi_cpu, msi->msi_vector); } @@ -208,10 +206,11 @@ /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; - if (old_vector && old_id == apic_id) + if (old_id == apic_id) return; - if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + if (!msi->msi_msix && msi->msi_first->msi_count > 1) return; + /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) @@ -223,15 +222,14 @@ msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); + /* * Free the old vector after the new one is established. This is done * to prevent races where we could miss an interrupt. */ - if (old_vector) - apic_free_vector(old_id, old_vector, msi->msi_irq); + apic_free_vector(old_id, old_vector, msi->msi_irq); } - void msi_init(void) { @@ -287,7 +285,8 @@ msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; - int cnt, i; + u_int cpu; + int cnt, i, vector; if (!msi_enabled) return (ENXIO); @@ -333,12 +332,25 @@ /* Ok, we now have the IRQs allocated. */ KASSERT(cnt == count, ("count mismatch")); + /* Allocate 'count' IDT vectors. */ + cpu = intr_next_cpu(); + vector = apic_alloc_vectors(cpu, irqs, count, maxcount); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } + /* Assign IDT vectors and make these messages owned by 'dev'. */ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); + msi->msi_cpu = cpu; msi->msi_dev = dev; - msi->msi_vector = 0; + msi->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: routing MSI IRQ %d to local APIC %u vector %u\n", + msi->msi_irq, msi->msi_cpu, msi->msi_vector); msi->msi_first = fsrc; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI has handlers")); @@ -391,18 +403,14 @@ KASSERT(msi->msi_dev == first->msi_dev, ("owner mismatch")); msi->msi_first = NULL; msi->msi_dev = NULL; - if (msi->msi_vector) - apic_free_vector(msi->msi_cpu, msi->msi_vector, - msi->msi_irq); + apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; } /* Clear out the first message. */ first->msi_first = NULL; first->msi_dev = NULL; - if (first->msi_vector) - apic_free_vector(first->msi_cpu, first->msi_vector, - first->msi_irq); + apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; @@ -451,7 +459,8 @@ msix_alloc(device_t dev, int *irq) { struct msi_intsrc *msi; - int i; + u_int cpu; + int i, vector; if (!msi_enabled) return (ENXIO); @@ -486,9 +495,17 @@ goto again; } + /* Allocate an IDT vector. */ + cpu = intr_next_cpu(); + vector = apic_alloc_vector(cpu, i); + if (bootverbose) + printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", + msi->msi_irq, cpu, vector); + /* Setup source. */ + msi->msi_cpu = cpu; msi->msi_dev = dev; - msi->msi_vector = 0; + msi->msi_vector = vector; msi->msi_msix = 1; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); @@ -520,8 +537,7 @@ /* Clear out the message. */ msi->msi_dev = NULL; - if (msi->msi_vector) - apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); + apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; ==== //depot/projects/usb/src/sys/amd64/amd64/sys_machdep.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.91 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.93 2009/06/27 15:03:50 rwatson Exp $"); #include #include @@ -87,7 +87,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); if (uap_space == UIO_USERSPACE) { error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args)); if (error != 0) @@ -170,7 +170,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); switch (uap->op) { case I386_GET_IOPERM: case I386_SET_IOPERM: ==== //depot/projects/usb/src/sys/amd64/include/intr_machdep.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.21 2009/02/03 09:01:45 jkoshy Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -152,6 +152,7 @@ int intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol); void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame); +u_int intr_next_cpu(void); struct intsrc *intr_lookup_source(int vector); int intr_register_pic(struct pic *pic); int intr_register_source(struct intsrc *isrc); ==== //depot/projects/usb/src/sys/arm/at91/if_ate.c#15 (text) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.38 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.39 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -413,7 +413,7 @@ */ mcaf[0] = 0; mcaf[1] = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -421,14 +421,14 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; af[index >> 3] |= 1 << (index & 7); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); /* * Write the hash to the hash register. This card can also * accept unicast packets as well as multicast packets using this * register for easier bridging operations, but we don't take * advantage of that. Locks here are to avoid LOR with the - * IF_ADDR_LOCK, but might not be strictly necessary. + * if_maddr_rlock, but might not be strictly necessary. */ WR4(sc, ETH_HSL, mcaf[0]); WR4(sc, ETH_HSH, mcaf[1]); ==== //depot/projects/usb/src/sys/arm/conf/CAMBRIA.hints#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.9 2009/06/22 23:22:38 sam Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.10 2009/06/25 18:07:19 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -14,16 +14,16 @@ # NB: no UART1 on ixp435 # optional GPS serial port -hint.uart.1.at="ixp0" -hint.uart.1.addr=0x53fc0000 -hint.uart.1.irq=20 -hint.uart.1.ier_rxbits=0x1 -hint.uart.1.rclk=1843200 +#hint.uart.1.at="ixp0" +#hint.uart.1.addr=0x53fc0000 +#hint.uart.1.irq=20 +#hint.uart.1.ier_rxbits=0x1 +#hint.uart.1.rclk=1843200 # optional RS485 serial port -hint.uart.2.at="ixp0" -hint.uart.2.addr=0x53f80000 -hint.uart.2.irq=21 -hint.uart.2.rclk=1843200 +#hint.uart.2.at="ixp0" +#hint.uart.2.addr=0x53f80000 +#hint.uart.2.irq=21 +#hint.uart.2.rclk=1843200 # NPE Hardware Queue Manager hint.ixpqmgr.0.at="ixp0" ==== //depot/projects/usb/src/sys/arm/xscale/ixp425/if_npe.c#13 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.20 2009/06/26 11:45:06 rwatson Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -435,7 +435,7 @@ memset(clr, 0, ETHER_ADDR_LEN); memset(set, 0xff, ETHER_ADDR_LEN); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -445,7 +445,7 @@ set[i] &= mac[i]; } } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); for (i = 0; i < ETHER_ADDR_LEN; i++) { mask[i] = set[i] | ~clr[i]; ==== //depot/projects/usb/src/sys/boot/i386/libi386/biosdisk.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.61 2009/06/08 15:07:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.62 2009/06/26 09:32:31 rpaulo Exp $"); /* * BIOS disk device handling. @@ -880,7 +880,7 @@ for (i = 0; i < NDOSPART; i++) { if (dp[i].dp_typ == 0xee) part++; - else if (dp[i].dp_typ != 0x00) + else if ((part != 1) && (dp[i].dp_typ != 0x00)) return (EINVAL); } if (part != 1) ==== //depot/projects/usb/src/sys/cam/scsi/scsi_target.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.77 2009/06/10 20:59:32 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.78 2009/06/25 18:46:30 kib Exp $"); #include @@ -552,7 +552,7 @@ softc = (struct targ_softc *)dev->si_drv1; write_len = error = 0; CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH, - ("write - uio_resid %d\n", uio->uio_resid)); + ("write - uio_resid %zd\n", uio->uio_resid)); while (uio->uio_resid >= sizeof(user_ccb) && error == 0) { union ccb *ccb; ==== //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.91 2009/06/24 21:10:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.92 2009/06/27 13:58:44 rwatson Exp $"); #include "opt_compat.h" #include "opt_inet.h" @@ -2924,7 +2924,7 @@ struct uio *auio; int error; - AUDIT_ARG(fflags, uap->flags); + AUDIT_ARG_FFLAGS(uap->flags); /* * Filter out MNT_ROOTFS. We do not want clients of nmount() in ==== //depot/projects/usb/src/sys/compat/linux/linux_signal.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.66 2008/10/19 10:02:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.67 2009/06/27 13:58:44 rwatson Exp $"); #include #include @@ -546,8 +546,8 @@ ksiginfo_t ksi; int error; - AUDIT_ARG(signum, signum); - AUDIT_ARG(pid, pid); + AUDIT_ARG_SIGNUM(signum); + AUDIT_ARG_PID(pid); /* * Allow signal 0 as a means to check for privileges @@ -563,7 +563,7 @@ return (ESRCH); } - AUDIT_ARG(process, p); + AUDIT_ARG_PROCESS(p); error = p_cansignal(td, p, signum); if (error) goto out; ==== //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#17 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.18 2009/06/23 06:00:31 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.19 2009/06/26 01:42:41 weongyo Exp $"); #include #include @@ -82,10 +82,11 @@ #define USBD_CTRL_WRITE_PIPE 1 #define USBD_CTRL_MAX_PIPE 2 #define USBD_CTRL_READ_BUFFER_SP 256 +#define USBD_CTRL_WRITE_BUFFER_SP 256 #define USBD_CTRL_READ_BUFFER_SIZE \ (sizeof(struct usb_device_request) + USBD_CTRL_READ_BUFFER_SP) #define USBD_CTRL_WRITE_BUFFER_SIZE \ - (sizeof(struct usb_device_request)) + (sizeof(struct usb_device_request) + USBD_CTRL_WRITE_BUFFER_SP) static struct usb_config usbd_default_epconfig[USBD_CTRL_MAX_PIPE] = { [USBD_CTRL_READ_PIPE] = { .type = UE_CONTROL, @@ -1065,7 +1066,7 @@ vcreq->uvc_trans_buflen)); usbd_xfer_set_frames(xfer, 2); } else { - if (nx->nx_urblen > 0) + if (nx->nx_urblen > USBD_CTRL_WRITE_BUFFER_SP) device_printf(sc->ndis_dev, "warning: not enough write buffer space" " (%d).\n", nx->nx_urblen); ==== //depot/projects/usb/src/sys/conf/NOTES#42 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1548 2009/06/23 06:11:04 zec Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1549 2009/06/26 17:50:52 jhb Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -301,6 +301,9 @@ # Old tty interface. options COMPAT_43TTY +# Note that as a general rule, COMPAT_FREEBSD depends on +# COMPAT_FREEBSD, COMPAT_FREEBSD, etc. + # Enable FreeBSD4 compatibility syscalls options COMPAT_FREEBSD4 ==== //depot/projects/usb/src/sys/conf/files#71 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1445 2009/06/24 15:38:17 raj Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1446 2009/06/25 18:09:23 raj Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -489,10 +489,10 @@ # dev/ata/ata_if.m optional ata | atacore dev/ata/ata-all.c optional ata | atacore +dev/ata/ata-dma.c optional ata | atacore dev/ata/ata-lowlevel.c optional ata | atacore dev/ata/ata-queue.c optional ata | atacore -dev/ata/ata-dma.c optional ata | atadma -dev/ata/ata-sata.c optional ata | atasata +dev/ata/ata-sata.c optional ata | atacore dev/ata/ata-card.c optional ata pccard | atapccard dev/ata/ata-cbus.c optional ata pc98 | atapc98 dev/ata/ata-isa.c optional ata isa | ataisa ==== //depot/projects/usb/src/sys/dev/ae/if_ae.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ae/if_ae.c,v 1.3 2009/02/04 20:35:31 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ae/if_ae.c,v 1.4 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -2073,7 +2073,7 @@ * Load multicast tables. */ bzero(mchash, sizeof(mchash)); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -2081,7 +2081,7 @@ ifma->ifma_addr), ETHER_ADDR_LEN); mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); AE_WRITE_4(sc, AE_REG_MHT0, mchash[0]); AE_WRITE_4(sc, AE_REG_MHT1, mchash[1]); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 28 11:47:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 879E31065676; Sun, 28 Jun 2009 11:47:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 434531065674 for ; Sun, 28 Jun 2009 11:47:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F5678FC12 for ; Sun, 28 Jun 2009 11:47:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SBld2Y003580 for ; Sun, 28 Jun 2009 11:47:39 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SBldL6003578 for perforce@freebsd.org; Sun, 28 Jun 2009 11:47:39 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 28 Jun 2009 11:47:39 GMT Message-Id: <200906281147.n5SBldL6003578@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165343 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 11:47:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=165343 Change 165343 by syl@syl_atuin on 2009/06/28 11:47:24 - Update test3 transfer function. - move dprintf to a macro. - update libusb_proxy to use usb_handle_transfer_completion. - Add more transfer debug. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#5 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#50 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#12 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#17 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#18 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#5 (text+ko) ==== @@ -52,14 +52,15 @@ #define EP_OUT 0x2 -void +int do_io(unsigned char ep, void *buff, uint32_t len, uint32_t timeout) { int transferred = 0; + int ret= 0; printf("do_io\n"); - libusb_bulk_transfer(devh, ep, buff, len, &transferred, timeout); - while(!transferred); + ret = libusb_bulk_transfer(devh, ep, buff, len, &transferred, timeout); + return ret; } void @@ -67,6 +68,7 @@ { umass_bbb_cbw_t cbw; umass_bbb_csw_t csw; + int ret = 0; printf("do_msc\n"); bzero(&cbw, sizeof(cbw)); @@ -80,11 +82,24 @@ cbw.bCDBLength = cmdlen; bcopy(pcmd, cbw.CBWCDB, cmdlen); - do_io(EP_OUT, &cbw, sizeof(cbw), 10000); + ret = do_io(EP_OUT, &cbw, sizeof(cbw), 10000); + if (ret != sizeof(cbw)) + printf("CBW write failed\n"); + if (datalen != 0) { do_io(EP_IN, buffer, datalen, 10000); } - do_io(EP_IN, &csw, sizeof(csw), 10000); + ret = do_io(EP_IN, &csw, sizeof(csw), 10000); + if (ret != sizeof(csw)) { + libusb_clear_halt(devh, EP_IN); + ret = do_io(EP_IN, &csw, sizeof(csw), 10000); + if (ret != sizeof(csw)) { + printf("Could not read CSW\n"); + return ; + } + + } + if (csw.bCSWStatus != 0) { printf("command (0x%02x) cursig=0x%08x failed\n", pcmd[0], cursig); } else { @@ -179,7 +194,7 @@ for (i = 0 ; i < BLOCK_SIZE ; i++) { if (i != 0 && (i % 0x10) == 0) printf("\n"); - printf("0.2x ", buffer[i]); + printf("0x%.2x ", buffer[i]); } printf("\n"); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#50 (text+ko) ==== @@ -44,28 +44,6 @@ /* Library initialisation / deinitialisation */ -UNEXPORTED void -dprintf(libusb_context *ctx, int debug, char *str) -{ - if (ctx->debug != debug) - return ; - - switch (ctx->debug) { - case LIBUSB_DEBUG_NO: - break ; - case LIBUSB_DEBUG_FUNCTION: - printf("LIBUSB FUNCTION : %s\n", str); - break ; - case LIBUSB_DEBUG_TRANSFER: - printf("LIBUSB TRANSFER : %s\n", str); - break ; - default: - printf("LIBUSB UNKNOW DEBUG\n"); - break ; - } - return ; -} - void libusb_set_debug(libusb_context * ctx, int level) { @@ -144,7 +122,7 @@ { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); usb_remove_pollfd(ctx, ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[1]); @@ -156,7 +134,7 @@ pthread_mutex_unlock(&default_context_lock); free(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); } /* Device handling and initialisation. */ @@ -171,7 +149,7 @@ int i; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); usb_backend = libusb20_be_alloc_default(); if (usb_backend == NULL) @@ -228,7 +206,7 @@ (*list)[i] = NULL; libusb20_be_free(usb_backend); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); return (i); } @@ -244,7 +222,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); if (list == NULL) return ; @@ -254,7 +232,7 @@ libusb_unref_device(list[i]); } free(list); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); } uint8_t @@ -264,11 +242,11 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); return (dev->bus_number); } @@ -279,11 +257,11 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); return (dev->device_address); } @@ -299,7 +277,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); @@ -324,7 +302,7 @@ out: libusb_free_config_descriptor(pdconf); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); return (ret); } @@ -335,7 +313,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); if (dev == NULL) return (NULL); @@ -344,7 +322,7 @@ dev->refcnt++; pthread_mutex_unlock(&dev->lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); return (dev); } @@ -355,7 +333,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); if (dev == NULL) return; @@ -372,7 +350,7 @@ libusb20_dev_free(dev->os_priv); free(dev); } - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); } int @@ -385,7 +363,7 @@ int err; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); dummy = 1; if (devh == NULL) @@ -439,7 +417,7 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); return (0); } @@ -454,7 +432,7 @@ int i, j; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); devh = NULL; @@ -473,7 +451,7 @@ } libusb_free_device_list(devs, 1); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); return (devh); } @@ -492,7 +470,7 @@ pdev = devh->os_priv; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); ctx->pollfd_modify++; @@ -532,7 +510,7 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close leave"); } libusb_device * @@ -542,12 +520,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); if (devh == NULL) return (NULL); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device leave"); return (devh->dev); } @@ -558,7 +536,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); if (devh == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -566,7 +544,7 @@ *config = libusb20_dev_get_config_index((struct libusb20_device *) devh->dev->os_priv); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration leave"); return (0); } @@ -578,7 +556,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -586,7 +564,7 @@ pdev = (struct libusb20_device *)devh->dev->os_priv; libusb20_dev_set_config_index(pdev, configuration); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration leave"); return (0); } @@ -598,7 +576,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -614,7 +592,7 @@ dev->claimed_interfaces |= (1 << interface_number); pthread_mutex_unlock(&(dev->lock)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface leave"); return (ret); } @@ -626,7 +604,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); ret = 0; if (dev == NULL) @@ -643,7 +621,7 @@ dev->claimed_interfaces &= ~(1 << interface_number); pthread_mutex_unlock(&(dev->lock)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface leave"); return (ret); } @@ -656,7 +634,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -675,7 +653,7 @@ alternate_setting) != 0) return (LIBUSB_ERROR_OTHER); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting leave"); return (0); } @@ -689,7 +667,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); pdev = devh->os_priv; xfer = libusb20_tr_get_pointer(pdev, @@ -709,7 +687,7 @@ libusb20_tr_close(xfer); pthread_mutex_unlock(&libusb20_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt leave"); return (0); } @@ -720,13 +698,13 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); if (dev == NULL) return (LIBUSB20_ERROR_INVALID_PARAM); libusb20_dev_reset(dev->os_priv); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device leave"); return (0); } @@ -737,12 +715,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active leave"); return (libusb20_dev_kernel_driver_active(devh->os_priv, interface)); } @@ -754,7 +732,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -763,7 +741,7 @@ if (libusb20_dev_detach_kernel_driver(pdev, interface) == LIBUSB20_ERROR_OTHER) return (LIBUSB_ERROR_OTHER); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver leave"); return (0); } @@ -778,12 +756,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver leave"); return (0); } @@ -799,7 +777,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); len = sizeof(struct libusb_transfer) + sizeof(struct usb_transfer) + @@ -815,7 +793,7 @@ xfer = (struct libusb_transfer *) ((uint8_t *)bxfer + sizeof(struct usb_transfer)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer leave"); return (xfer); } @@ -827,7 +805,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); if (xfer == NULL) return ; @@ -836,7 +814,7 @@ sizeof(struct usb_transfer)); free(bxfer); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer leave"); return; } @@ -861,27 +839,25 @@ switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); - usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); - usb_xfer->callback(usb_xfer); - - pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&usb_backend->list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); + + usb_backend->transferred += libusb20_tr_get_actual_length(xfer); + usb_handle_transfer_completion(usb_backend, LIBUSB_TRANSFER_COMPLETED); + break ; case LIBUSB20_TRANSFER_START: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); usb_xfer->actual_length = 0; switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); libusb20_tr_setup_control(xfer, usb_xfer->buffer, (void *)(((uint8_t *) usb_xfer->buffer) + sizeof(libusb_control_setup)), usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE ISO"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE ISO"); iso_packets = libusb20_tr_get_max_frames(xfer); if (usb_xfer->num_iso_packets > iso_packets) usb_xfer->num_iso_packets = iso_packets; @@ -892,60 +868,54 @@ libusb20_tr_set_total_frames(xfer, i); break ; case LIBUSB_TRANSFER_TYPE_BULK: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, usb_xfer->length, usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_INTERRUPT: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); libusb20_tr_setup_intr(xfer, usb_xfer->buffer, usb_xfer->length, usb_xfer->timeout); break ; } libusb20_tr_submit(xfer); - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); break ; default: - if (ctx->debug == LIBUSB_DEBUG_TRANSFER) - printf("LIBUSB TRANSFER DEFAULT 0x%x\n", status); - usb_xfer->actual_length = 0; - usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; - - pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&usb_backend->list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); - usb_xfer->callback(usb_xfer); - + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TRANSFER DEFAULT 0x%x\n", + status); + usb_backend->transferred = 0; + usb_handle_transfer_completion(usb_backend, LIBUSB_TRANSFER_CANCELLED); break ; } switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS COMPLETED"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS COMPLETED"); usb_xfer->status = LIBUSB_TRANSFER_COMPLETED; break ; case LIBUSB20_TRANSFER_OVERFLOW: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR OVERFLOW"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR OVERFLOW"); usb_xfer->status = LIBUSB_TRANSFER_OVERFLOW; break ; case LIBUSB20_TRANSFER_NO_DEVICE: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR NO DEVICE"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR NO DEVICE"); usb_xfer->status = LIBUSB_TRANSFER_NO_DEVICE; break ; case LIBUSB20_TRANSFER_STALL: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR STALL"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR STALL"); usb_xfer->status = LIBUSB_TRANSFER_STALL; break ; case LIBUSB20_TRANSFER_CANCELLED: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR CANCELLED"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR CANCELLED"); usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; break ; case LIBUSB20_TRANSFER_TIMED_OUT: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); usb_xfer->status = LIBUSB_TRANSFER_TIMED_OUT; break ; case LIBUSB20_TRANSFER_ERROR: - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); usb_xfer->status = LIBUSB_TRANSFER_ERROR; break ; } @@ -1054,7 +1024,7 @@ ctx = xfer->dev_handle->dev->ctx; pdev = xfer->dev_handle->os_priv; - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer enter"); usb_backend = (struct usb_transfer *) ((uint8_t *)xfer - sizeof(struct usb_transfer)); @@ -1135,13 +1105,14 @@ libusb20_tr_set_callback(usb20_xfer[1], libusb10_proxy); } + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_TR_START"); libusb20_tr_start(usb20_xfer[0]); if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) libusb20_tr_start(usb20_xfer[1]); pthread_mutex_unlock(&libusb20_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer leave"); return (0); } @@ -1152,7 +1123,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer enter"); if (xfer == NULL) return (LIBUSB_ERROR_NO_MEM); @@ -1161,7 +1132,7 @@ libusb20_tr_stop(xfer->os_priv); pthread_mutex_unlock(&libusb20_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer leave"); return (0); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#12 (text+ko) ==== @@ -89,7 +89,20 @@ uint8_t flags; }; -UNEXPORTED void dprintf(libusb_context *ctx, int debug, char *str); +#define DPRINTF(ctx, dbg, format, args...) \ +if (ctx->debug == dbg) { \ + printf("LIBUSB_%s : ", (ctx->debug == LIBUSB_DEBUG_FUNCTION) ? "FUNCTION" : "TRANSFER"); \ + switch(ctx->debug) { \ + case LIBUSB_DEBUG_FUNCTION: \ + printf(format, ## args);\ + break ; \ + case LIBUSB_DEBUG_TRANSFER: \ + printf(format, ## args);\ + break ; \ + } \ + printf("\n"); \ +} + UNEXPORTED int usb_add_pollfd(libusb_context *ctx, int fd, short events); UNEXPORTED void usb_remove_pollfd(libusb_context *ctx, int fd); UNEXPORTED void usb_handle_transfer_completion(struct usb_transfer *uxfer, ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#17 (text+ko) ==== @@ -46,7 +46,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor enter"); if ((dev == NULL) || (desc == NULL)) return (LIBUSB_ERROR_INVALID_PARAM); @@ -69,7 +69,7 @@ desc->iSerialNumber = pdesc->iSerialNumber; desc->bNumConfigurations = pdesc->bNumConfigurations; - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor leave"); return (0); } @@ -83,12 +83,12 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor enter"); pdev = dev->os_priv; idx = libusb20_dev_get_config_index(pdev); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor leave"); return (libusb_get_config_descriptor(dev, idx, config)); } @@ -112,7 +112,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor enter"); if (dev == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -224,7 +224,7 @@ } free(pconf); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor leave"); return (0); } @@ -240,7 +240,7 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value enter"); if (dev == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -258,7 +258,7 @@ free(pconf); } - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value leave"); return (LIBUSB_ERROR_NOT_FOUND); } @@ -269,10 +269,10 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor enter"); free(config); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor leave"); } int @@ -285,13 +285,13 @@ ctx = NULL; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii enter"); if (dev == NULL || data == NULL) return (LIBUSB20_ERROR_INVALID_PARAM); pdev = dev->os_priv; - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii leave"); if (libusb20_dev_req_string_simple_sync(pdev, desc_index, data, length) == 0) return (strlen(data)); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#18 (text+ko) ==== @@ -245,7 +245,7 @@ int i; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events enter"); nfds = 0; i = -1; @@ -316,7 +316,7 @@ pthread_mutex_lock(&libusb20_lock); - dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS"); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS"); ret = libusb20_dev_process(devh->os_priv); pthread_mutex_unlock(&libusb20_lock); @@ -333,7 +333,7 @@ handled: free(fds); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events leave"); return ret; } @@ -345,7 +345,7 @@ int ret; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); ret = ctx->pollfd_modify; @@ -361,7 +361,7 @@ ctx->event_handler_active = 1; - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events leave"); return (0); } @@ -369,19 +369,19 @@ libusb_lock_events(libusb_context * ctx) { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events enter"); pthread_mutex_lock(&ctx->events_lock); ctx->event_handler_active = 1; - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events leave"); } void libusb_unlock_events(libusb_context * ctx) { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events enter"); ctx->event_handler_active = 0; pthread_mutex_unlock(&ctx->events_lock); @@ -390,7 +390,7 @@ pthread_cond_broadcast(&ctx->event_waiters_cond); pthread_mutex_unlock(&ctx->event_waiters_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events leave"); } int @@ -399,7 +399,7 @@ int ret; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); ret = ctx->pollfd_modify; @@ -408,7 +408,7 @@ if (ret != 0) return (0); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok leave"); return (1); } @@ -418,7 +418,7 @@ int ret; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active enter"); pthread_mutex_lock(&ctx->pollfd_modify_lock); ret = ctx->pollfd_modify; @@ -427,7 +427,7 @@ if (ret != 0) return (1); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active leave"); return (ctx->event_handler_active); } @@ -435,22 +435,22 @@ libusb_lock_event_waiters(libusb_context * ctx) { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters enter"); pthread_mutex_lock(&ctx->event_waiters_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters leave"); } void libusb_unlock_event_waiters(libusb_context * ctx) { GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters enter"); pthread_mutex_unlock(&ctx->event_waiters_lock); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters leave"); } int @@ -460,7 +460,7 @@ struct timespec ts; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event enter"); if (tv == NULL) { pthread_cond_wait(&ctx->event_waiters_cond, @@ -485,7 +485,7 @@ if (ret == ETIMEDOUT) return (1); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event leave"); return (0); } @@ -497,7 +497,7 @@ int ret; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout enter"); ret = get_next_timeout(ctx, tv, &poll_timeout); if (ret != 0) { @@ -524,7 +524,7 @@ else if (ret == 1) return (handle_timeouts(ctx)); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout leave"); return (0); } @@ -535,13 +535,13 @@ int ret; GET_CONTEXT(ctx); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events enter"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events enter"); tv.tv_sec = 2; tv.tv_usec = 0; ret = libusb_handle_events_timeout(ctx, &tv); - dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events leave"); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events leave"); return (ret); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 28 13:37:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE58610656DC; Sun, 28 Jun 2009 13:37:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A63710656D9 for ; Sun, 28 Jun 2009 13:37:39 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8834D8FC1D for ; Sun, 28 Jun 2009 13:37:39 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SDbdNN023299 for ; Sun, 28 Jun 2009 13:37:39 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SDbdDd023297 for perforce@freebsd.org; Sun, 28 Jun 2009 13:37:39 GMT (envelope-from mav@freebsd.org) Date: Sun, 28 Jun 2009 13:37:39 GMT Message-Id: <200906281337.n5SDbdDd023297@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165346 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 13:37:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=165346 Change 165346 by mav@mav_mavbook on 2009/06/28 13:37:33 Do not drop the lock at the end of atapi_action() on error. It is the real reason of crash when ATA XPT tried to scan this emulated SPI bus. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#16 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#16 (text+ko) ==== @@ -666,13 +666,11 @@ xpt_freeze_simq(sim, /*count*/ 1); ccb_h->status = CAM_REQUEUE_REQ; xpt_done(ccb); - mtx_unlock(&softc->state_lock); return; action_invalid: ccb_h->status = CAM_REQ_INVALID; xpt_done(ccb); - mtx_unlock(&softc->state_lock); return; } From owner-p4-projects@FreeBSD.ORG Sun Jun 28 17:18:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F70E10656D8; Sun, 28 Jun 2009 17:18:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C229210656DF for ; Sun, 28 Jun 2009 17:18:41 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 95C118FC13 for ; Sun, 28 Jun 2009 17:18:41 +0000 (UTC) (envelope-from pvaibhav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SHIeU9053199 for ; Sun, 28 Jun 2009 17:18:40 GMT (envelope-from pvaibhav@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SHIec0053197 for perforce@freebsd.org; Sun, 28 Jun 2009 17:18:40 GMT (envelope-from pvaibhav@FreeBSD.org) Date: Sun, 28 Jun 2009 17:18:40 GMT Message-Id: <200906281718.n5SHIec0053197@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pvaibhav@FreeBSD.org using -f From: Prashant Vaibhav To: Perforce Change Reviews Cc: Subject: PERFORCE change 165347 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 17:18:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165347 Change 165347 by pvaibhav@pvaibhav_matrix on 2009/06/28 17:17:50 Modified callout_reset_on() to change the key of existing callouts instead of removing and reinserting the callout. This should fix problem of some callouts not being rescheduled properly, in addition to being more efficient in general. Affected files ... .. //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#5 edit Differences ... ==== //depot/projects/soc2009/calloutapi/src/sys/kern/kern_timeout.c#5 (text+ko) ==== @@ -330,7 +330,8 @@ * cc_monoticks might be modified by hardclock, so cache it */ curticks = cc->cc_monoticks; - CTR1(KTR_CALLOUT, "softclock run at %d", curticks); + CTR2(KTR_CALLOUT, "softclock run at %d, qsize %u", + curticks, MINHEAP_SIZE(&cc->cc_callqueue)); while (!MINHEAP_EMPTY(&cc->cc_callqueue)) { if (steps++ > MAX_SOFTCLOCK_STEPS) { /* @@ -594,14 +595,6 @@ return (cancelled); } } - if (c->c_flags & CALLOUT_PENDING) { - /* TODO: Just modify the key of existing callouts instead of - * removing and re-inserting it - */ - MINHEAP_REMOVE(&cc->cc_callqueue, c, c_qe, c_time); - cancelled = 1; - c->c_flags &= ~(CALLOUT_ACTIVE | CALLOUT_PENDING); - } /* * If the lock must migrate we have to check the state again as * we can't hold both the new and old locks simultaneously. @@ -615,12 +608,21 @@ if (to_ticks <= 0) to_ticks = 1; - c->c_arg = arg; - c->c_flags |= (CALLOUT_ACTIVE | CALLOUT_PENDING); - c->c_func = ftn; - c->c_time = cc->cc_monoticks + to_ticks; + if (c->c_flags & CALLOUT_PENDING) { + /* pending callout on the queue, just change the key */ + cancelled = 1; + c->c_time = cc->cc_monoticks + to_ticks; + + MINHEAP_KEY_CHANGE(&cc->cc_callqueue, c, c_qe, c_time); + } else { + /* new callout */ + c->c_arg = arg; + c->c_flags |= (CALLOUT_ACTIVE | CALLOUT_PENDING); + c->c_func = ftn; + c->c_time = cc->cc_monoticks + to_ticks; - MINHEAP_INSERT(&cc->cc_callqueue, c, c_qe, c_time); + MINHEAP_INSERT(&cc->cc_callqueue, c, c_qe, c_time); + } CTR5(KTR_CALLOUT, "%sscheduled %p func %p arg %p at %d", cancelled ? "re" : "", c, c->c_func, c->c_arg, c->c_time); From owner-p4-projects@FreeBSD.ORG Sun Jun 28 17:55:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A3BA106567B; Sun, 28 Jun 2009 17:55:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA2B11065670 for ; Sun, 28 Jun 2009 17:55:20 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AF8F58FC17 for ; Sun, 28 Jun 2009 17:55:20 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SHtKi0055811 for ; Sun, 28 Jun 2009 17:55:20 GMT (envelope-from antab@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SHtKxx055807 for perforce@freebsd.org; Sun, 28 Jun 2009 17:55:20 GMT (envelope-from antab@FreeBSD.org) Date: Sun, 28 Jun 2009 17:55:20 GMT Message-Id: <200906281755.n5SHtKxx055807@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to antab@FreeBSD.org using -f From: Arnar Mar Sig To: Perforce Change Reviews Cc: Subject: PERFORCE change 165349 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 17:55:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=165349 Change 165349 by antab@antab_farm on 2009/06/28 17:55:18 * Disable building utilities that binutils fails with "Can't relax section" on to be able to finish buildworld. * Fix build error when relax debug is on in avr32 bfd. Affected files ... .. //depot/projects/avr32/src/contrib/binutils/bfd/elf32-avr32.c#3 edit .. //depot/projects/avr32/src/libexec/Makefile#3 edit .. //depot/projects/avr32/src/sbin/Makefile#4 edit .. //depot/projects/avr32/src/usr.bin/Makefile#7 edit .. //depot/projects/avr32/src/usr.sbin/Makefile#7 edit Differences ... ==== //depot/projects/avr32/src/contrib/binutils/bfd/elf32-avr32.c#3 (text+ko) ==== @@ -2297,7 +2297,7 @@ BFD_ASSERT(state->id == frag->state); - RDBG(" 0x%04lx%c%d: %s [size %ld]", rela ? rela->r_offset : sec->rawsize, + RDBG(" 0x%04lx%c%d: %s [size %ld]", rela ? rela->r_offset : sec->_raw_size, (frag->offset_adjust < 0)?'-':'+', abs(frag->offset_adjust), state->name, state->size); @@ -3266,7 +3266,7 @@ asection *srelgot; pr_debug("(6) relocate section %s:<%s> (size 0x%lx)\n", - input_bfd->filename, input_section->name, input_section->size); + input_bfd->filename, input_section->name, input_section->_cooked_size); /* If we're doing a partial link, we don't have to do anything since we're using RELA relocations */ ==== //depot/projects/avr32/src/libexec/Makefile#3 (text+ko) ==== @@ -17,7 +17,6 @@ revnetgroup \ ${_rlogind} \ rpc.rquotad \ - rpc.rstatd \ rpc.rusersd \ rpc.rwalld \ rpc.sprayd \ @@ -32,6 +31,10 @@ ${_tftp-proxy} \ ${_ypxfr} +# Not working with avr32 bintuils +# rpc.rstatd \ +# + .if ${MK_AT} != "no" _atrun= atrun .endif ==== //depot/projects/avr32/src/sbin/Makefile#4 (text+ko) ==== @@ -77,7 +77,6 @@ route \ ${_routed} \ ${_rtsol} \ - savecore \ ${_sconfig} \ setkey \ shutdown \ @@ -88,6 +87,10 @@ tunefs \ umount \ +# Not working with avr32 binutils +# savecore \ +# + .if ${MK_ATM} != "no" _atm= atm .endif ==== //depot/projects/avr32/src/usr.bin/Makefile#7 (text+ko) ==== @@ -60,7 +60,6 @@ expand \ false \ fetch \ - file \ ${_file2c} \ find \ finger \ @@ -76,7 +75,6 @@ getent \ getopt \ ${_gprof} \ - gzip \ head \ ${_hesinfo} \ hexdump \ @@ -117,16 +115,13 @@ m4 \ ${_mail} \ ${_make} \ - makewhatis \ mesg \ - minigzip \ ministat \ mkdep \ mkfifo \ mklocale \ ${_mkstr} \ mktemp \ - mkuzip \ ${_msgs} \ mt \ ${_nc} \ @@ -181,7 +176,6 @@ tabs \ tail \ talk \ - tar \ tcopy \ tee \ ${_telnet} \ @@ -234,6 +228,14 @@ ${_ypmatch} \ ${_ypwhich} +# Not working with avr32 binutils +# file \ +# gzip \ +# makewhatis \ +# minigzip \ +# mkuzip \ +# tar \ +# .if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "avr32" _truss= truss .endif ==== //depot/projects/avr32/src/usr.sbin/Makefile#7 (text+ko) ==== @@ -58,7 +58,6 @@ ${_fdformat} \ ${_fdread} \ ${_fdwrite} \ - fifolog \ ${_flowctl} \ ${_freebsd-update} \ ${_ftp-proxy} \ @@ -204,6 +203,10 @@ zic \ ${_zzz} +# Not working with avr32 binutils +# fifolog \ +# + # NB: keep these sorted by MK_* knobs .if ${MK_ACCT} != "no" From owner-p4-projects@FreeBSD.ORG Sun Jun 28 18:16:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC4DB1065672; Sun, 28 Jun 2009 18:16:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BFC8106564A for ; Sun, 28 Jun 2009 18:16:44 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 79DFC8FC0A for ; Sun, 28 Jun 2009 18:16:44 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SIGilv060137 for ; Sun, 28 Jun 2009 18:16:44 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SIGiU8060135 for perforce@freebsd.org; Sun, 28 Jun 2009 18:16:44 GMT (envelope-from fangwang@FreeBSD.org) Date: Sun, 28 Jun 2009 18:16:44 GMT Message-Id: <200906281816.n5SIGiU8060135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 165351 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 18:16:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165351 Change 165351 by fangwang@fangwang_utobsd on 2009/06/28 18:15:46 Refine setsockopt and getsockopt for tcp uto, change some details. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp.h#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#7 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#7 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#3 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#10 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp.h#5 (text+ko) ==== @@ -153,6 +153,15 @@ #define TCP_INFO 0x20 /* retrieve tcp_info structure */ #define TCP_CONGESTION 0x40 /* get/set congestion control algorithm */ #define TCP_UTO 0x80 /* set tcp user timeout */ +/* Used with TCP_UTO through setsockopt and getsockopt */ +struct tcp_uto { + int uto; + int flags; +}; +/* Values for flags in struct tcp_uto */ +#define STORE_UTO 0x01 +#define ENABLE_UTO 0x02 +#define ENABLE_CHANGE 0x04 #define TCP_CA_NAME_MAX 16 /* max congestion control name length */ ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#5 (text+ko) ==== @@ -1189,7 +1189,7 @@ /* * If TCP user timeout option is received, because it's an * optional option, we do nothing at this moment. And we will - * process when we need retransmission in synchronized states. + * process when we need to use it. */ if (to.to_flags & TOF_UTO) { tp->uto_flags |= TCPUTO_RCVD; @@ -1207,12 +1207,6 @@ if (TSTMP_GT(to.to_tsecr, ticks)) to.to_tsecr = 0; } - if (tp->uto_flags & TCPUTO_SENDING) - if (th->th_ack > tp->uto_carrier) { - tp->uto_flags &= ~TCPUTO_SENDING; - tp->uto_flags |= TCPUTO_SENT; - } - /* * Process options only when we get SYN/ACK back. The SYN case @@ -2252,6 +2246,12 @@ } process_ACK: + if (tp->uto_flags & TCPUTO_SENDING) + if (SEQ_GT(th->th_ack, tp->uto_carrier)) { + tp->uto_flags &= ~TCPUTO_SENDING; + tp->uto_flags |= TCPUTO_SENT; + } + INP_INFO_LOCK_ASSERT(&V_tcbinfo); KASSERT(ti_locked == TI_RLOCKED || ti_locked == TI_WLOCKED, ("tcp_input: process_ACK ti_locked %d", ti_locked)); ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#7 (text+ko) ==== @@ -1472,6 +1472,7 @@ *optp++ = TCPOPT_UTO; *optp++ = TCPOLEN_UTO; optlen += TCPOLEN_UTO; + to->to_uto = htons(to->to_uto); bcopy((u_char *)&to->to_uto, optp, sizeof(to->to_uto)); optp += sizeof(to->to_uto); to->to_flags &= ~TOF_UTO; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#7 (text+ko) ==== @@ -1228,7 +1228,7 @@ } if (uto_flags & TCPUTO_NEED) { sc->sc_uto = snd_uto; - sc->sc_flags = SCF_UTO; + sc->sc_flags = SCF_NEED_UTO; } if (V_tcp_syncookies) { @@ -1397,17 +1397,12 @@ if (sc->sc_flags & SCF_SIGNATURE) to.to_flags |= TOF_SIGNATURE; #endif - if (sc->sc_flags & SCF_UTO) { + if (sc->sc_flags & SCF_NEED_UTO) { to.to_uto = sc->sc_uto; to.to_flags |= TOF_UTO; } optlen = tcp_addoptions(&to, (u_char *)(th + 1)); - if ((to.to_flags & TOF_UTO) == 0 && - (sc->sc_flags & SCF_UTO) == 1) { - sc->sc_flags &= ~SCF_UTO; - sc->sc_flags |= SCF_SENT_UTO; - } /* Adjust headers by option size. */ th->th_off = (sizeof(struct tcphdr) + optlen) >> 2; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#5 (text+ko) ==== @@ -93,9 +93,8 @@ #define SCF_SIGNATURE 0x20 /* send MD5 digests */ #define SCF_SACK 0x80 /* send SACK option */ #define SCF_ECN 0x100 /* send ECN setup packet */ -#define SCF_UTO 0x200 /* send UTO option */ +#define SCF_NEED_UTO 0x200 /* send UTO option */ #define SCF_RCVD_UTO 0x400 /* received UTO option */ -#define SCF_SENT_UTO 0x800 /* send UTO option successfully */ #define SYNCOOKIE_SECRET_SIZE 8 /* dwords */ #define SYNCOOKIE_LIFETIME 16 /* seconds */ ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#5 (text+ko) ==== @@ -447,6 +447,7 @@ INP_INFO_WUNLOCK(&V_tcbinfo); CURVNET_RESTORE(); } + static int tcp_timer_uto_interval(struct tcpcb *tp) { @@ -466,6 +467,7 @@ return (interval); } + void tcp_timer_rexmt(void * xtp) { @@ -540,17 +542,13 @@ tp->t_flags &= ~TF_WASFRECOVERY; tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); - if (tp->uto_flags & TCPUTO_ENABLE && (tp->uto_flags & TCPUTO_SET || - (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET)) { + if (tp->uto_flags & TCPUTO_ENABLE && + (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { u_int utoval; - if (tp->uto_flags & TCPUTO_SET) { - TCP_UTOVAL(utoval, tp->snd_uto); - tp->t_uto_impl = min(tcp_uto_min, max(utoval, tcp_uto_max)); - } else { - TCP_UTOVAL(utoval, tp->rcv_uto); - tp->t_uto_impl = min(tcp_uto_max, - max(tp->t_uto_adv, max(utoval, tcp_uto_min))); - } + TCP_UTOVAL(utoval, tp->rcv_uto); + tp->t_uto_impl = min(tcp_uto_max, + max(tp->t_uto_adv, max(utoval, tcp_uto_min))); + tp->uto_flags &= ~TCPUTO_PEER_SET; tp->uto_flags |= TCPUTO_IMPL; } tp->t_uto_left = tp->t_uto_impl; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#3 (text+ko) ==== @@ -1256,6 +1256,7 @@ struct inpcb *inp; struct tcpcb *tp; struct tcp_info ti; + struct tcp_uto tu; error = 0; inp = sotoinpcb(so); @@ -1367,26 +1368,35 @@ case TCP_UTO: INP_WUNLOCK(inp); - error = sooptcopyin(sopt, &optval, sizeof optval, - sizeof optval); + error = sooptcopyin(sopt, &tu, sizeof tu, + sizeof tu); if (error) return (error); INP_WLOCK_RECHECK(inp); - if (optval > 0 && optval <= 0x8FFF * 60) { + if (tu.uto > 0 && tu.uto <= 0x8FFF * 60) { if (optval > 0x8FFF) { - tp->snd_uto = optval / 60; + tp->snd_uto = tu.uto / 60; tp->snd_uto <<= 1; tp->snd_uto |= 1; } else { - tp->snd_uto = optval; + tp->snd_uto = tu.uto; tp->snd_uto <<= 1; } - tp->t_uto_adv = optval; - tp->uto_flags |= TCPUTO_NEED; - tp->uto_flags |= TCPUTO_ENABLE; - tp->uto_flags &= ~TCPUTO_CHANGEABLE; - } + if (tu.flags & ENABLE_UTO) + tp->uto_flags |= TCPUTO_ENABLE; + if (tu.flags & STORE_UTO) + tp->uto_flags |= TCPUTO_NEED; + if (tp->uto_flags & TCPUTO_ENABLE && + tp->uto_flags & TCPUTO_NEED) { + tp->t_uto_impl = min(tcp_uto_max, + max(tu.uto, tcp_uto_min)); + tp->t_uto_adv = tp->t_uto_impl; + tp->uto_flags &= ~TCPUTO_CHANGEABLE; + tp->uto_flags |= TCPUTO_IMPL; + } + if (tu.flags & ENABLE_CHANGE) + tp->uto_flags |= TCPUTO_CHANGEABLE; else error = EINVAL; INP_WUNLOCK(inp); @@ -1435,6 +1445,28 @@ INP_WUNLOCK(inp); error = sooptcopyout(sopt, &ti, sizeof ti); break; + case TCP_UTO: + tu.flags = 0; + if (tp->uto_flags & TCPUTO_ENABLE) + tu.flags |= ENABLE_UTO; + if (tp->uto_flags & TCPUTO_CHANGEABLE) + tu.flags |= ENABLE_CHANGE; + if (tp->uto_flags & TCPUTO_ENABLE && + (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { + u_int utoval; + TCP_UTOVAL(tu.uto, tp->rcv_uto); + tp->t_uto_impl = min(tcp_uto_max, + max(tp->t_uto_adv, max(tu.uto, tcp_uto_min))); + tp->uto_flags &= ~TCPUTO_PEER_SET; + tp->uto_flags |= TCPUTO_IMPL; + } + if (tp->uto_flags & TCPUTO_IMPL) { + tu.flags |= STORE_UTO; + tu.uto = tp->t_uto_impl; + } + INP_WUNLOCK(inp); + error = sooptcopyout(sopt, &tu, sizeof tu); + break; default: INP_WUNLOCK(inp); error = ENOPROTOOPT; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#10 (text+ko) ==== @@ -251,7 +251,6 @@ #define TCPUTO_NEED 0x10 /* user timeout need to be sent */ #define TCPUTO_SENDING 0x20 /* user timeout is in the process of sending */ #define TCPUTO_SENT 0x40 /* user timeout is sent successfully */ -#define TCPUTO_SET (TCPUTO_NEED | TCPUTO_SENDING | TCPUTO_SENT) #define TCPUTO_PEER_SET (TCPUTO_CHANGEABLE | TCPUTO_RCVD) #define TCP_UTOVAL(utoval, uto) do { \ From owner-p4-projects@FreeBSD.ORG Sun Jun 28 18:20:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34DD9106568E; Sun, 28 Jun 2009 18:20:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E06491065679 for ; Sun, 28 Jun 2009 18:20:48 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF2078FC22 for ; Sun, 28 Jun 2009 18:20:48 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SIKms4068760 for ; Sun, 28 Jun 2009 18:20:48 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SIKm3j068758 for perforce@freebsd.org; Sun, 28 Jun 2009 18:20:48 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 28 Jun 2009 18:20:48 GMT Message-Id: <200906281820.n5SIKm3j068758@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 18:20:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=165352 Change 165352 by pgj@beehive on 2009/06/28 18:20:06 IFC Affected files ... .. //depot/projects/docproj_hu/www/en/donations/donors.sgml#17 integrate .. //depot/projects/docproj_hu/www/en/favicon.ico#2 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/press.xml#16 integrate Differences ... ==== //depot/projects/docproj_hu/www/en/donations/donors.sgml#17 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -2579,6 +2579,20 @@ lioux Received + + + Charles Smeijer + HP JetDirect 175x print server + rpaulo + Received + + + + Gateworks Corporation + Cambria GW2358-4 board + rpaulo + Received + &footer; ==== //depot/projects/docproj_hu/www/en/favicon.ico#2 (text+ko) ==== @@ -1,10 +1,18 @@ --Œ-©--ÃÇÊÍÏ"Ñ&Ï,Â0Ö5Ø7Ø:ÛAáIèMëMê IÞMᇟð¨°Ò-ÆÊÎÐÓ"Õ'×+Ð#¶À-±ÍÐÔÖ"Ù'Û#Ö ©-à-“hh¿$$h-»•33¬+6+¸ÿ+—ÿ‚™»å+ +###%%$ + g'&(œ01QÀ24hÜ7 - $FreeBSD: www/hu/share/sgml/press.xml,v 1.6 2009/06/05 12:12:54 pgj Exp $ + $FreeBSD: www/hu/share/sgml/press.xml,v 1.7 2009/06/26 18:13:26 pgj Exp $ From owner-p4-projects@FreeBSD.ORG Sun Jun 28 18:25:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBDE21065673; Sun, 28 Jun 2009 18:25:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BE74106566C for ; Sun, 28 Jun 2009 18:25:54 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7B2BC8FC1B for ; Sun, 28 Jun 2009 18:25:54 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SIPsFR069144 for ; Sun, 28 Jun 2009 18:25:54 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SIPsA8069142 for perforce@freebsd.org; Sun, 28 Jun 2009 18:25:54 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 28 Jun 2009 18:25:54 GMT Message-Id: <200906281825.n5SIPsA8069142@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165353 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 18:25:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165353 Change 165353 by pgj@beehive on 2009/06/28 18:25:15 MFen (doc): 1.85 -> 1.86 hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#6 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#6 (text+ko) ==== @@ -6,7 +6,7 @@ @@ -629,11 +629,6 @@ állomány. - The BSD Release Announcements collection. - 1997. - - Networked Computer Science Technical Reports Library. From owner-p4-projects@FreeBSD.ORG Sun Jun 28 19:51:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68E9E106567C; Sun, 28 Jun 2009 19:51:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D4FF1065679 for ; Sun, 28 Jun 2009 19:51:28 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFBD88FC18 for ; Sun, 28 Jun 2009 19:51:27 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SJpRee076450 for ; Sun, 28 Jun 2009 19:51:27 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SJpR92076448 for perforce@freebsd.org; Sun, 28 Jun 2009 19:51:27 GMT (envelope-from gabor@freebsd.org) Date: Sun, 28 Jun 2009 19:51:27 GMT Message-Id: <200906281951.n5SJpR92076448@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165355 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 19:51:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=165355 Change 165355 by gabor@gabor_server on 2009/06/28 19:51:22 MFHg: - Checked UTF-8 differences compared to GNU, found out that GNU is the buggy one, fixed test cases to ignore this. - Checked UTF-7 conversion, actually the only difference is a warning, which is fine. - Added glue for mapper_parallel. - Use statically initialized tail length table for UTF-8 instead of generating it with for loops. - Fix Kazakh conversion table paths. Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/genutf8.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/mapper.dir.KAZAKH.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/esdb.alias.KAZAKH.src#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/esdb.dir.KAZAKH.src#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/esdb.alias.MISC.src#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/esdb.dir.MISC.src#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/esdb.alias.TCVN.src#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/esdb.dir.TCVN.src#2 delete Differences ... ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#3 (text+ko) ==== @@ -61,9 +61,9 @@ -$(srcdir)/check-stateless $(srcdir) ISO-8859-14 -$(srcdir)/check-stateless $(srcdir) ISO-8859-15 -$(srcdir)/check-stateless $(srcdir) ISO-8859-16 - -$(srcdir)/check-stateless $(srcdir) KOI8-R - -$(srcdir)/check-stateless $(srcdir) KOI8-U - -$(srcdir)/check-stateless $(srcdir) KOI8-RU +# -$(srcdir)/check-stateless $(srcdir) KOI8-R +# -$(srcdir)/check-stateless $(srcdir) KOI8-U +# -$(srcdir)/check-stateless $(srcdir) KOI8-RU -$(srcdir)/check-stateless $(srcdir) CP1250 -$(srcdir)/check-stateless $(srcdir) CP1251 -$(srcdir)/check-stateless $(srcdir) CP1252 @@ -79,30 +79,30 @@ -$(srcdir)/check-stateless $(srcdir) CP862 -$(srcdir)/check-stateless $(srcdir) CP866 -$(srcdir)/check-stateless $(srcdir) CP1131 - -$(srcdir)/check-stateless $(srcdir) MacRoman - -$(srcdir)/check-stateless $(srcdir) MacCentralEurope - -$(srcdir)/check-stateless $(srcdir) MacIceland - -$(srcdir)/check-stateless $(srcdir) MacCroatian +# -$(srcdir)/check-stateless $(srcdir) MacRoman +# -$(srcdir)/check-stateless $(srcdir) MacCentralEurope +# -$(srcdir)/check-stateless $(srcdir) MacIceland +# -$(srcdir)/check-stateless $(srcdir) MacCroatian -$(srcdir)/check-stateless $(srcdir) MacRomania - -$(srcdir)/check-stateless $(srcdir) MacCyrillic - -$(srcdir)/check-stateless $(srcdir) MacUkraine - -$(srcdir)/check-stateless $(srcdir) MacGreek - -$(srcdir)/check-stateless $(srcdir) MacTurkish +# -$(srcdir)/check-stateless $(srcdir) MacCyrillic +# -$(srcdir)/check-stateless $(srcdir) MacUkraine +# -$(srcdir)/check-stateless $(srcdir) MacGreek +# -$(srcdir)/check-stateless $(srcdir) MacTurkish -$(srcdir)/check-stateless $(srcdir) MacHebrew -$(srcdir)/check-stateless $(srcdir) MacArabic - -$(srcdir)/check-stateless $(srcdir) MacThai - -$(srcdir)/check-stateless $(srcdir) HP-ROMAN8 - -$(srcdir)/check-stateless $(srcdir) NEXTSTEP - -$(srcdir)/check-stateless $(srcdir) ARMSCII-8 - -$(srcdir)/check-stateless $(srcdir) Georgian-Academy - -$(srcdir)/check-stateless $(srcdir) Georgian-PS - -$(srcdir)/check-stateless $(srcdir) KOI8-T +# -$(srcdir)/check-stateless $(srcdir) MacThai +# -$(srcdir)/check-stateless $(srcdir) HP-ROMAN8 +# -$(srcdir)/check-stateless $(srcdir) NEXTSTEP +# -$(srcdir)/check-stateless $(srcdir) ARMSCII-8 +# -$(srcdir)/check-stateless $(srcdir) Georgian-Academy +# -$(srcdir)/check-stateless $(srcdir) Georgian-PS +# -$(srcdir)/check-stateless $(srcdir) KOI8-T -$(srcdir)/check-stateless $(srcdir) PT154 -$(srcdir)/check-stateless $(srcdir) RK1048 - -$(srcdir)/check-stateless $(srcdir) MuleLao-1 - -$(srcdir)/check-stateless $(srcdir) CP1133 +# -$(srcdir)/check-stateless $(srcdir) MuleLao-1 +# -$(srcdir)/check-stateless $(srcdir) CP1133 -$(srcdir)/check-stateless $(srcdir) TIS-620 - -$(srcdir)/check-stateless $(srcdir) CP874 + #-$(srcdir)/check-stateless $(srcdir) CP874 -$(srcdir)/check-stateless $(srcdir) VISCII -$(srcdir)/check-stateless $(srcdir) TCVN -$(srcdir)/check-stateful $(srcdir) TCVN @@ -153,9 +153,9 @@ -$(srcdir)/check-translit $(srcdir) Translit1 ISO-8859-1 ASCII -$(srcdir)/check-translitfailure $(srcdir) TranslitFail1 ISO-8859-1 ASCII # /* substitution */ - -$(srcdir)/check-subst +# -$(srcdir)/check-subst # /* shift sequence before invalid multibyte character */ - -./test-shiftseq +# -./test-shiftseq check-extra: check-extra-no check-extra-no: ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/genutf8.c#2 (text+ko) ==== @@ -39,8 +39,10 @@ /* Range 0x0800..0xffff */ for (i1 = 0; i1 < 16; i1++) for (i2 = (i1==0 ? 32 : 0); i2 < 64; i2++) - for (i3 = 0; i3 < 64; i3++) - printf("0x%02X%02X%02X\t0x%04X\n", 0xe0+i1,0x80+i2,0x80+i3, (i1<<12)+(i2<<6)+i3); + for (i3 = 0; i3 < 64; i3++) { + if ((i1<<12)+(i2<<6)+i3 < 0xD800 || (i1<<12)+(i2<<6)+i3 > 0xDFFF) + printf("0x%02X%02X%02X\t0x%04X\n", 0xe0+i1,0x80+i2,0x80+i3, (i1<<12)+(i2<<6)+i3); + } if (ferror(stdout) || fclose(stdout)) exit(1); ==== //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.c#2 (text+ko) ==== @@ -82,8 +82,26 @@ * private stuffs used by templates */ -static int _UTF8_count_array[256]; -static int const *_UTF8_count = NULL; +static int _UTF8_count_array[256] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 00 - 0F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 10 - 1F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 20 - 2F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 30 - 3F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 40 - 4F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 50 - 5F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 60 - 6F */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 70 - 7F */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 80 - 8F */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 90 - 9F */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A0 - AF */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* B0 - BF */ + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /* C0 - CF */ + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /* D0 - DF */ + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* E0 - EF */ + 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 0, 0 /* F0 - FF */ +}; + +static int const *_UTF8_count = _UTF8_count_array; static const u_int32_t _UTF8_range[] = { 0, /*dummy*/ @@ -125,29 +143,6 @@ #define _ENCODING_IS_STATE_DEPENDENT 0 #define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0 - -static __inline void -_UTF8_init_count(void) -{ - int i; - if (!_UTF8_count) { - memset(_UTF8_count_array, 0, sizeof(_UTF8_count_array)); - for (i = 0; i <= 0x7f; i++) - _UTF8_count_array[i] = 1; - for (i = 0xc0; i <= 0xdf; i++) - _UTF8_count_array[i] = 2; - for (i = 0xe0; i <= 0xef; i++) - _UTF8_count_array[i] = 3; - for (i = 0xf0; i <= 0xf7; i++) - _UTF8_count_array[i] = 4; - for (i = 0xf8; i <= 0xfb; i++) - _UTF8_count_array[i] = 5; - for (i = 0xfc; i <= 0xfd; i++) - _UTF8_count_array[i] = 6; - _UTF8_count = _UTF8_count_array; - } -} - static int _UTF8_findlen(wchar_t v) { @@ -350,8 +345,6 @@ _citrus_UTF8_encoding_module_init(_UTF8EncodingInfo * __restrict ei, const void * __restrict var, size_t lenvar) { - _UTF8_init_count(); - return 0; } ==== //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/mapper.dir.KAZAKH.src#2 (text+ko) ==== @@ -1,6 +1,6 @@ # $NetBSD: mapper.dir.KAZAKH.src,v 1.1 2007/03/13 16:34:38 tnozaki Exp $ -KZ1048/UCS mapper_std MISC/KZ1048%UCS.mps -PTCP154/UCS mapper_std MISC/PTCP154%UCS.mps -UCS/KZ1048 mapper_std MISC/UCS%KZ1048.mps -UCS/PTCP154 mapper_std MISC/UCS%PTCP154.mps +KZ1048/UCS mapper_std KAZAKH/KZ1048%UCS.mps +PTCP154/UCS mapper_std KAZAKH/PTCP154%UCS.mps +UCS/KZ1048 mapper_std KAZAKH/UCS%KZ1048.mps +UCS/PTCP154 mapper_std KAZAKH/UCS%PTCP154.mps From owner-p4-projects@FreeBSD.ORG Sun Jun 28 20:57:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36BF21065675; Sun, 28 Jun 2009 20:57:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EAE8B1065673 for ; Sun, 28 Jun 2009 20:57:40 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BFA9D8FC08 for ; Sun, 28 Jun 2009 20:57:40 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SKve55092150 for ; Sun, 28 Jun 2009 20:57:40 GMT (envelope-from marinosi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SKveCB092148 for perforce@freebsd.org; Sun, 28 Jun 2009 20:57:40 GMT (envelope-from marinosi@FreeBSD.org) Date: Sun, 28 Jun 2009 20:57:40 GMT Message-Id: <200906282057.n5SKveCB092148@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marinosi@FreeBSD.org using -f From: Ilias Marinos To: Perforce Change Reviews Cc: Subject: PERFORCE change 165358 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 20:57:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=165358 Change 165358 by marinosi@marinosi_redrum on 2009/06/28 20:56:55 Start mapping of bsm record's elements(e.g header, token), to be used for record validating. Affected files ... .. //depot/projects/soc2009/marinosi_appaudit/src/sys/bsm/audit_internal.h#2 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#7 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.c#3 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#5 edit Differences ... ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/bsm/audit_internal.h#2 (text) ==== @@ -115,4 +115,38 @@ #define ADD_STRING(loc, data, size) ADD_MEM(loc, data, size) +/* + * BSM record - token mapping. + * Based on Sun description. + * XXX: Test them both on i386/amd64 architectures. + */ +/* + * token ID 1 byte + * record byte count 4 bytes + * version # 1 byte [2] + * event type 2 bytes + * event modifier 2 bytes + * seconds of time 4 bytes/8 bytes (32-bit/64-bit value) + * milliseconds of time 4 bytes/8 bytes (32-bit/64-bit value) + */ +struct bsm_record_header { + u_char token_id; + u_int32_t rec_byte_count; + u_char version; + u_int16_t e_type; + u_int16_t e_mod; + struct timespec tm; +}; + +/* + * token ID 1 byte + * trailer magic number 2 bytes + * record byte count 4 bytes + */ +struct bsm_record_trailer { + u_char token_id; + u_int16_t trailer_num; + u_int32_t rec_byte_count; +}; + #endif /* !_AUDIT_INTERNAL_H_ */ ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#7 (text) ==== ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.c#3 (text+ko) ==== @@ -157,6 +157,9 @@ /* Actual work here */ int c, error = 0; void *audit_slice_dev_buf; + struct audit_slice *as; + + as = dev->si_drv1; /* Safe malloc the pagesz of the system.*/ audit_slice_dev_buf = (void *)malloc(PAGE_SIZE, M_TEMP, M_WAITOK); ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#5 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Jun 28 21:50:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 030481065676; Sun, 28 Jun 2009 21:50:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 936E21065675 for ; Sun, 28 Jun 2009 21:50:38 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 809658FC27 for ; Sun, 28 Jun 2009 21:50:38 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SLocQB096903 for ; Sun, 28 Jun 2009 21:50:38 GMT (envelope-from tsel@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5SLocS0096901 for perforce@freebsd.org; Sun, 28 Jun 2009 21:50:38 GMT (envelope-from tsel@FreeBSD.org) Date: Sun, 28 Jun 2009 21:50:38 GMT Message-Id: <200906282150.n5SLocS0096901@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tsel@FreeBSD.org using -f From: Tatsiana Elavaya To: Perforce Change Reviews Cc: Subject: PERFORCE change 165359 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 21:50:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=165359 Change 165359 by tsel@tsel_mz on 2009/06/28 21:50:04 Finish per rule optimization instruction rewrite. Add negative match optimization Affected files ... .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#8 edit .. //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#5 edit Differences ... ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#8 (text+ko) ==== @@ -1619,8 +1619,14 @@ break; case O_OPTIMIZE: - if (co.verbose) - printf(" [optimize %d %u]", cmd->arg1, ((ipfw_insn_u32*)cmd)->d[0]); + if (co.verbose) { + int i, cnt = (F_LEN(cmd) - 1) * 2; + printf(" [optimize"); + for (i = 0; i < cnt; i++) + if (((ipfw_insn_u16*)cmd)->ports[i]) + printf(" %d", ((ipfw_insn_u16*)cmd)->ports[i]); + printf("]"); + } break; default: @@ -2067,9 +2073,9 @@ int insn_eq(ipfw_insn *a, ipfw_insn *b) { - if ((a->len | b->len) & (F_NOT | F_OR)) + if ((a->len | b->len) & F_OR) return 0; - if (F_LEN(a) != F_LEN(b) || a->arg1 != b->arg1 || a->opcode != b->opcode) + if (a->len != b->len || a->arg1 != b->arg1 || a->opcode != b->opcode) return 0; switch (a->opcode) { case O_IP_SRC: @@ -2228,7 +2234,7 @@ &labels_max, &group_count, NULL, 0) == -1) { errx(EX_DATAERR, "optimization not supported"); } - labels_max *= 8; + labels_max *= 8 / 2; /* one label is 2 bits long */ group_count = 0; LIST_FOREACH_SAFE(g, head, group_entries, g_tmp) { @@ -2239,7 +2245,7 @@ LIST_REMOVE(g, group_entries); continue; } - g->label = group_count++; + g->label = (group_count++) + 1; printf("sorted: %d; opcode %d; match_count %d; rank %d\n", g->label, LIST_FIRST(&g->match_head)->cmd->opcode, g->match_count, g->rank); @@ -2251,7 +2257,7 @@ optimization_setup(int enable, int labels) { if (enable) { - labels = (labels + 7)/8; + labels = (labels + 3)/4; if (sysctlbyname("net.inet.ip.fw.optimization_buf", NULL, 0, &labels, sizeof(labels)) == -1) { errx(EX_DATAERR, "optimization not supported"); @@ -2333,24 +2339,13 @@ for (i = 0; rules[i]; i++) { ipfw_insn *cmd, *rcmd; struct insn_match *m; - ipfw_insn_u32 *optimize_cmd; + ipfw_insn_u16 *optimize_cmd; + int optimize_cnt = 0; int l; if (LIST_EMPTY(&match_rules[i].rule_head)) continue; - printf("rule %d; before sort: ", rules[i]->rulenum); - LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { - printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); - } - printf("\n"); - insn_match_rule_cmd_sort(&match_rules[i].rule_head, insn_match_rule_cmd_cmp); - printf("rule %d; after sort: ", rules[i]->rulenum); - LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { - printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); - } - printf("\n"); - memcpy(orule, rules[i], sizeof(struct ip_fw) - 4); cmd = orule->cmd; rcmd = rules[i]->cmd; @@ -2362,12 +2357,29 @@ l -= F_LEN(rcmd); } - // FIXME - optimize_cmd = (ipfw_insn_u32 *) cmd; - optimize_cmd->o.len = F_INSN_SIZE(ipfw_insn_u32); + optimize_cmd = (ipfw_insn_u16 *) cmd; optimize_cmd->o.opcode = O_OPTIMIZE; optimize_cmd->o.arg1 = 0; - optimize_cmd->d[0] = 0; + + /* + printf("rule %d; before sort: ", rules[i]->rulenum); + LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { + printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); + } + printf("\n"); + */ + insn_match_rule_cmd_sort(&match_rules[i].rule_head, insn_match_rule_cmd_cmp); + //printf("rule %d; after sort: ", rules[i]->rulenum); + LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { + //printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); + optimize_cmd->ports[optimize_cnt] = m->group->label; + if (optimize_cnt % 2 == 0) + optimize_cmd->ports[optimize_cnt + 1] = 0; + optimize_cnt++; + } + //printf("\n"); + + optimize_cmd->o.len = F_INSN_SIZE(ipfw_insn) + (optimize_cnt + 1) / 2; cmd += optimize_cmd->o.len; orule->cmd_len += optimize_cmd->o.len; orule->act_ofs += optimize_cmd->o.len; @@ -2394,35 +2406,10 @@ } rcmd += F_LEN(rcmd); } - printf(" insn original: "); + + printf("before optimization: "); show_ipfw(rules[i], 0, 0); - printf("insn reordered: "); - show_ipfw(orule, 0, 0); - - /* - LIST_FOREACH_SAFE(m, &match_rules[i].rule_head, rule_entries, m_tmp) { - ipfw_insn_u32 optimize_cmd; - int cmd_offset = ((int32_t*) m->cmd) - ((int32_t*) rules[i]->cmd); - - optimize_cmd.o.len = F_INSN_SIZE(ipfw_insn_u32); - optimize_cmd.o.opcode = O_OPTIMIZE; - optimize_cmd.o.arg1 = m->cmd->opcode; - optimize_cmd.d[0] = m->group->label; - if (cmd_offset >= orule->act_ofs) - errx(EX_DATAERR, "optimizing action: rule %d\n", orule->rulenum); - if (orule->cmd_len + F_LEN(&optimize_cmd.o) > 255) - errx(EX_DATAERR, "option list is too long: rule %d", orule->rulenum); - memcpy(orule->cmd + cmd_offset + F_LEN(&optimize_cmd.o), - orule->cmd + cmd_offset, - (orule->cmd_len - cmd_offset) * 4); - memcpy(orule->cmd + cmd_offset, &optimize_cmd, F_LEN(&optimize_cmd.o) * 4); - orule->cmd_len += F_LEN(&optimize_cmd.o); - orule->act_ofs += F_LEN(&optimize_cmd.o); - // printf("rule %d; cmd %d; offset %d\n", orule->rulenum, m->cmd->opcode, cmd_offset); - } - */ - l = orule->rulenum & 0xffff; if (do_cmd(IP_FW_DEL, &l, sizeof(l))) errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_DEL)", orule->rulenum); @@ -2434,7 +2421,8 @@ show_ipfw(orule, 0, 0); } - optimization_setup(1, group_count); + if (group_count) + optimization_setup(1, group_count); } static int ==== //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#5 (text+ko) ==== @@ -362,7 +362,7 @@ if (sz > OPTIMIZATION_BUF_MAX) sz = OPTIMIZATION_BUF_MAX; - /* do not shrink buffers. ruleset may contain old o_optimize insn's */ + /* do not shrink buffers. ruleset may contain old o_optimize instructions */ if (sz <= *(int *)arg1) return 0; @@ -2378,8 +2378,10 @@ /* end of ipv6 variables */ int is_ipv4 = 0; -#define GET_OPTIMIZ_LABEL(a) (optimiz_buf ? optimiz_buf[(a) / 32] & (1 << ((a) % 32)) : 0) -#define SET_OPTIMIZ_LABEL(a) (optimiz_buf ? optimiz_buf[(a) / 32] |= (1 << ((a) % 32)) : 0) +#define GET_OPTIMIZ_LABEL(a) (optimiz_buf ? optimiz_buf[((a) - 1) / 32] & (1 << (((a) - 1) % 32)) : 0) +#define SET_OPTIMIZ_LABEL(a) (optimiz_buf ? optimiz_buf[((a) - 1) / 32] |= (1 << (((a) - 1) % 32)) : 0) +#define GET_NEG_OPTIMIZ_LABEL(a) GET_OPTIMIZ_LABEL((a) + V_optimization_buf_sz*4) +#define SET_NEG_OPTIMIZ_LABEL(a) SET_OPTIMIZ_LABEL((a) + V_optimization_buf_sz*4) uint32_t *optimiz_buf = NULL; uint32_t optimiz_buf_ind = 0; @@ -2693,9 +2695,10 @@ ipfw_insn *cmd; uint32_t tablearg = 0; int l, cmdlen, skip_or; /* skip rest of OR block */ - int optimiz_match = 0; + ipfw_insn_u16 *optimiz_cmd = NULL; + int optimiz_ind = 0, optimiz_match = 0; #ifdef IPFW_OPTIMIZE_DEBUG - ipfw_insn_u32 *optimiz_cmd = NULL; + int optimiz_match_neg = 0; #endif again: @@ -2729,23 +2732,39 @@ } match = 0; /* set to 1 if we succeed */ - if (V_optimization_enable && optimiz_match > 0 && cmd->opcode != O_OPTIMIZE) { -#ifdef IPFW_OPTIMIZE_DEBUG - if (optimiz_cmd->o.arg1 != cmd->opcode || - optimiz_cmd->d[0] + 1 != optimiz_match) { - printf("ipfw: optimization error %d %d; expected %d %d\n", - cmd->opcode, optimiz_match - 1, - optimiz_cmd->o.arg1, optimiz_cmd->d[0] + 1); - } + if (V_optimization_enable && optimiz_cmd != NULL && cmd->opcode != O_OPTIMIZE) { + int label = optimiz_cmd->ports[optimiz_ind]; + + if (optimiz_ind >= (F_LEN(&optimiz_cmd->o) - 1) * 2 || label == 0) { + optimiz_cmd = NULL; + optimiz_ind = 0; + optimiz_match = 0; + } else { + optimiz_ind++; + if (GET_OPTIMIZ_LABEL(label)) { + optimiz_match = label; + printf("ipfw: rule %d: optimized %d %d\n", f->rulenum, cmd->opcode, optimiz_match); +#ifndef IPFW_OPTIMIZE_DEBUG + continue; #else - printf("ipfw: optimized %d %d\n", cmd->opcode, optimiz_match - 1); - optimiz_match = 0; - match = !(cmd->len & F_NOT); + optimiz_match_neg = 0; #endif - } + } if (GET_NEG_OPTIMIZ_LABEL(label)) { + optimiz_match = label; + printf("ipfw: rule %d: negative optimized %d %d\n", f->rulenum, cmd->opcode, optimiz_match); #ifndef IPFW_OPTIMIZE_DEBUG - else + goto next_rule; +#else + optimiz_match_neg = 1; #endif + + } else { + optimiz_match = -label; + } + } + + } + switch (cmd->opcode) { /* * The first set of opcodes compares the packet's @@ -3291,23 +3310,25 @@ break; } case O_OPTIMIZE: { - int label = ((ipfw_insn_u32 *) cmd)->d[0]; + optimiz_cmd = (ipfw_insn_u16 *) cmd; + optimiz_ind = 0; - if (!V_optimization_enable || !optimiz_buf || - label > V_optimization_buf_sz * 8) + if (!V_optimization_enable || !optimiz_buf) { + optimiz_cmd = NULL; continue; + } + + for (int i = 0; i < (F_LEN(cmd) - 1) * 2; i++) + if (optimiz_cmd->ports[i] > V_optimization_buf_sz * 8 / 2) { + printf("ipfw: invalid O_OPTIMIZE instruction. ignoring"); + optimiz_cmd = NULL; + continue; + } if (optimiz_match) { printf("ipfw: unexpected O_OPTIMIZE instruction. ignoring"); continue; } -#ifdef IPFW_OPTIMIZE_DEBUG - optimiz_cmd = (ipfw_insn_u32 *) cmd; -#endif - if (GET_OPTIMIZ_LABEL(label)) - optimiz_match = label + 1; - else - optimiz_match = -(label + 1); continue; } @@ -3613,26 +3634,25 @@ panic("-- unknown opcode %d\n", cmd->opcode); } /* end of switch() on opcodes */ + if (cmd->len & F_NOT) + match = !match; + #ifdef IPFW_OPTIMIZE_DEBUG - if (optimiz_match > 0 && !match) - printf("ipfw: optimization error: cmd mismatch %d (optimiz_cmd=%d) %d\n", cmd->opcode, optimiz_cmd->o.arg1, optimiz_match); + if (optimiz_match > 0 && (match != !optimiz_match_neg || cmd->len & F_OR)) + printf("ipfw: rule %d: optimization error: cmd mismatch %d (optimiz_ind=%d, neg=%d) %d\n", f->rulenum, cmd->opcode, optimiz_ind, optimiz_match_neg, optimiz_match); #endif if (V_optimization_enable) { - if (match) { - if (optimiz_match < 0) { - optimiz_match = -optimiz_match - 1; + if (optimiz_match < 0) { + optimiz_match = -optimiz_match; + if (match) SET_OPTIMIZ_LABEL(optimiz_match); - printf("ipfw: set optimize match %d %d\n", cmd->opcode, optimiz_match); - optimiz_match = 0; - } - } else { - optimiz_match = 0; + else + SET_NEG_OPTIMIZ_LABEL(optimiz_match); + printf("ipfw: rule %d: set %soptimize match %d %d\n", f->rulenum, match ? "" : "negative ", cmd->opcode, optimiz_match); } + optimiz_match = 0; } - if (cmd->len & F_NOT) - match = !match; - if (match) { if (cmd->len & F_OR) skip_or = 1; @@ -4230,7 +4250,7 @@ break; case O_OPTIMIZE: - if (cmdlen < F_INSN_SIZE(ipfw_insn_u32)) + if (cmdlen < F_INSN_SIZE(ipfw_insn_u16)) goto bad_size; break; From owner-p4-projects@FreeBSD.ORG Mon Jun 29 03:35:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D98A106566C; Mon, 29 Jun 2009 03:35:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F67D1065673 for ; Mon, 29 Jun 2009 03:35:56 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3D8BC8FC19 for ; Mon, 29 Jun 2009 03:35:56 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T3Zu5t039189 for ; Mon, 29 Jun 2009 03:35:56 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T3Zup4039187 for perforce@freebsd.org; Mon, 29 Jun 2009 03:35:56 GMT (envelope-from fangwang@FreeBSD.org) Date: Mon, 29 Jun 2009 03:35:56 GMT Message-Id: <200906290335.n5T3Zup4039187@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 165364 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 03:35:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165364 Change 165364 by fangwang@fangwang_utobsd on 2009/06/29 03:34:56 Fix compile error. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#8 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#4 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#8 (text+ko) ==== @@ -776,10 +776,6 @@ tp->uto_flags |= TCPUTO_RCVD; tp->rcv_uto = sc->sc_peer_uto; } - if (sc->sc_flags & SCF_SENT_UTO) { - tp->uto_flags |= TCPUTO_SENT; - tp->snd_uto = sc->sc_uto; - } } if (sc->sc_flags & SCF_ECN) ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#4 (text+ko) ==== @@ -1374,8 +1374,15 @@ return (error); INP_WLOCK_RECHECK(inp); - if (tu.uto > 0 && tu.uto <= 0x8FFF * 60) { - if (optval > 0x8FFF) { + if (tu.flags & ENABLE_UTO) + tp->uto_flags |= TCPUTO_ENABLE; + if (tu.flags & STORE_UTO) + tp->uto_flags |= TCPUTO_NEED; + if ( tu.flags & ENABLE_CHANGE) + tp->uto_flags |= TCPUTO_CHANGEABLE; + if (tu.flags & STORE_UTO && + tu.uto > 0 && tu.uto <= 0x8FFF * 60) { + if (tu.uto > 0x8FFF) { tp->snd_uto = tu.uto / 60; tp->snd_uto <<= 1; tp->snd_uto |= 1; @@ -1383,10 +1390,6 @@ tp->snd_uto = tu.uto; tp->snd_uto <<= 1; } - if (tu.flags & ENABLE_UTO) - tp->uto_flags |= TCPUTO_ENABLE; - if (tu.flags & STORE_UTO) - tp->uto_flags |= TCPUTO_NEED; if (tp->uto_flags & TCPUTO_ENABLE && tp->uto_flags & TCPUTO_NEED) { tp->t_uto_impl = min(tcp_uto_max, @@ -1395,8 +1398,7 @@ tp->uto_flags &= ~TCPUTO_CHANGEABLE; tp->uto_flags |= TCPUTO_IMPL; } - if (tu.flags & ENABLE_CHANGE) - tp->uto_flags |= TCPUTO_CHANGEABLE; + } else error = EINVAL; INP_WUNLOCK(inp); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 06:51:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 59C801065675; Mon, 29 Jun 2009 06:51:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18D45106566C for ; Mon, 29 Jun 2009 06:51:31 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F10E38FC08 for ; Mon, 29 Jun 2009 06:51:30 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T6pTga066110 for ; Mon, 29 Jun 2009 06:51:29 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T6pTZc066108 for perforce@freebsd.org; Mon, 29 Jun 2009 06:51:29 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 06:51:29 GMT Message-Id: <200906290651.n5T6pTZc066108@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 06:51:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=165366 Change 165366 by mav@mav_mavbook on 2009/06/29 06:50:33 Fix language. Affected files ... .. //depot/projects/scottl-camlock/src/share/man/man4/ahci.4#2 edit Differences ... ==== //depot/projects/scottl-camlock/src/share/man/man4/ahci.4#2 (text+ko) ==== @@ -51,7 +51,7 @@ The following tunables are settable from the loader: .Bl -ohang .It Va hint.ahci.X.msi -controls Message Signaled Interrupts (MSI) usage by specified controller +controls Message Signaled Interrupts (MSI) usage by the specified controller .Bl -tag -compact .It 0 MSI disabled; @@ -62,7 +62,8 @@ .El .It Va hint.ahcich.X.pm_level controls SATA interface Power Management for specified channel, -allowing to save some power by the cost of additional command latency. +allowing some power to be saved at the cost of additional command +latency. Possible values: .Bl -tag -compact .It 0 @@ -74,7 +75,7 @@ .It 3 host initiates SLUMBER PM state transition every time port becomes idle. .El -Note, that interface Power Management is not compatible with +Note that interface Power Management is not compatible with device presence detection. You will have to reset bus manually on device hot-plug. .It Va hint.ahcich.X.sata_rev @@ -82,15 +83,16 @@ Values 1, 2 and 3 are respectively 1.5, 3 and 6Gbps. .El .Sh DESCRIPTION -This driver provides CAM subsystem a native access to the +This driver provides the CAM subsystem with native access to the .Tn SATA -ports of AHCI compatible controllers. -Each found SATA port represented to CAM as separate bus with one, -or, if HBA supports Port Multipliers, 15 targets. -Most of bus management specifics handled by SATA-specific transport of CAM. -Connected ATA disks handled by ATA protocol disk peripherial driver +ports of AHCI-compatible controllers. +Each SATA port found is represented to CAM as a separate bus with one +target, or, if HBA supports Port Multipliers, 15 targets. +Most of the bus-management details are handled by the SATA-specific +transport of CAM. +Connected ATA disks are handled by the ATA protocol disk peripheral driver .Xr ada 4 . -ATAPI devices handled by SCSI protocol peripherial drivers +ATAPI devices are handled by the SCSI protocol peripheral drivers .Xr cd 4 , .Xr da 4 , .Xr sa 4 , @@ -101,14 +103,14 @@ Native Command Queuing, SATA interface Power Management, device hot-plug and Message Signaled Interrupts. .Pp -Port Multiplier FIS Based Switching feature, added by AHCI 1.2 -specification, required for effective paralel operation devices behind -Port Multiplier, is not yet supported. +The Port Multiplier FIS Based Switching feature added in the AHCI 1.2 +specification, which is required for effective parallel operation of devices +behind Port Multipliers, is not yet supported. .Pp -Same AHCI hardware is also supported by ataahci driver from +AHCI hardware is also supported by ataahci driver from .Xr ata 4 -subsystem. If both drivers are loaded same time, this one will be prefered -as more functional. +subsystem. If both drivers are loaded at the same time, this one will be +given precedence as the more functional of the two. .Sh HARDWARE The .Nm From owner-p4-projects@FreeBSD.ORG Mon Jun 29 07:02:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A42C51065672; Mon, 29 Jun 2009 07:02:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 643BF106566C for ; Mon, 29 Jun 2009 07:02:42 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3788E8FC15 for ; Mon, 29 Jun 2009 07:02:42 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T72fcR066850 for ; Mon, 29 Jun 2009 07:02:41 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T72fDE066848 for perforce@freebsd.org; Mon, 29 Jun 2009 07:02:41 GMT (envelope-from fangwang@FreeBSD.org) Date: Mon, 29 Jun 2009 07:02:41 GMT Message-Id: <200906290702.n5T72fDE066848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 165367 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 07:02:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165367 Change 165367 by fangwang@fangwang_utobsd on 2009/06/29 07:02:26 Fix warnning. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#5 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#5 (text+ko) ==== @@ -1455,7 +1455,6 @@ tu.flags |= ENABLE_CHANGE; if (tp->uto_flags & TCPUTO_ENABLE && (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { - u_int utoval; TCP_UTOVAL(tu.uto, tp->rcv_uto); tp->t_uto_impl = min(tcp_uto_max, max(tp->t_uto_adv, max(tu.uto, tcp_uto_min))); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:07:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B38F1065674; Mon, 29 Jun 2009 08:07:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B5CC106566C for ; Mon, 29 Jun 2009 08:07:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 189148FC16 for ; Mon, 29 Jun 2009 08:07:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T87qPX073617 for ; Mon, 29 Jun 2009 08:07:52 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T87qBh073615 for perforce@freebsd.org; Mon, 29 Jun 2009 08:07:52 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 08:07:52 GMT Message-Id: <200906290807.n5T87qBh073615@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165368 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:07:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165368 Change 165368 by mav@mav_mavbook on 2009/06/29 08:07:02 Expose ATA functions to user-level. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#10 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#10 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#24 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.h#2 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#10 (text+ko) ==== @@ -36,6 +36,12 @@ #include #include #include +#else +#include +#include +#include +#include +#endif #include #include @@ -45,7 +51,7 @@ #include #include -static int +int ata_version(int ver) { int bit; @@ -171,4 +177,47 @@ ataio->cmd.sector_count_exp = val >> 32; } -#endif /* _KERNEL */ +void +ata_bswap(int8_t *buf, int len) +{ + u_int16_t *ptr = (u_int16_t*)(buf + len); + + while (--ptr >= (u_int16_t*)buf) + *ptr = ntohs(*ptr); +} + +void +ata_btrim(int8_t *buf, int len) +{ + int8_t *ptr; + + for (ptr = buf; ptr < buf+len; ++ptr) + if (!*ptr || *ptr == '_') + *ptr = ' '; + for (ptr = buf + len - 1; ptr >= buf && *ptr == ' '; --ptr) + *ptr = 0; +} + +void +ata_bpack(int8_t *src, int8_t *dst, int len) +{ + int i, j, blank; + + for (i = j = blank = 0 ; i < len; i++) { + if (blank && src[i] == ' ') continue; + if (blank && src[i] != ' ') { + dst[j++] = src[i]; + blank = 0; + continue; + } + if (src[i] == ' ') { + blank = 1; + if (i == 0) + continue; + } + dst[j++] = src[i]; + } + while (j < len) + dst[j++] = 0x00; +} + ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#10 (text+ko) ==== @@ -78,6 +78,7 @@ u_int8_t sector_count_exp; }; +int ata_version(int ver); void ata_print_ident(struct ata_params *ident_data); void ata_36bit_cmd(struct ccb_ataio *ataio, uint8_t cmd, uint8_t features, @@ -90,4 +91,8 @@ void ata_pm_read_cmd(struct ccb_ataio *ataio, int reg, int port); void ata_pm_write_cmd(struct ccb_ataio *ataio, int reg, int port, uint64_t val); +void ata_bswap(int8_t *buf, int len); +void ata_btrim(int8_t *buf, int len); +void ata_bpack(int8_t *src, int8_t *dst, int len); + #endif ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#24 (text+ko) ==== @@ -206,50 +206,6 @@ } static void -bswap(int8_t *buf, int len) -{ - u_int16_t *ptr = (u_int16_t*)(buf + len); - - while (--ptr >= (u_int16_t*)buf) - *ptr = ntohs(*ptr); -} - -static void -btrim(int8_t *buf, int len) -{ - int8_t *ptr; - - for (ptr = buf; ptr < buf+len; ++ptr) - if (!*ptr || *ptr == '_') - *ptr = ' '; - for (ptr = buf + len - 1; ptr >= buf && *ptr == ' '; --ptr) - *ptr = 0; -} - -static void -bpack(int8_t *src, int8_t *dst, int len) -{ - int i, j, blank; - - for (i = j = blank = 0 ; i < len; i++) { - if (blank && src[i] == ' ') continue; - if (blank && src[i] != ' ') { - dst[j++] = src[i]; - blank = 0; - continue; - } - if (src[i] == ' ') { - blank = 1; - if (i == 0) - continue; - } - dst[j++] = src[i]; - } - while (j < len) - dst[j++] = 0x00; -} - -static void probe_periph_init() { } @@ -706,16 +662,16 @@ strncmp(ident_buf->model, "NEC", 3) && strncmp(ident_buf->model, "Pioneer", 7) && strncmp(ident_buf->model, "SHARP", 5)) { - bswap(ident_buf->model, sizeof(ident_buf->model)); - bswap(ident_buf->revision, sizeof(ident_buf->revision)); - bswap(ident_buf->serial, sizeof(ident_buf->serial)); + ata_bswap(ident_buf->model, sizeof(ident_buf->model)); + ata_bswap(ident_buf->revision, sizeof(ident_buf->revision)); + ata_bswap(ident_buf->serial, sizeof(ident_buf->serial)); } - btrim(ident_buf->model, sizeof(ident_buf->model)); - bpack(ident_buf->model, ident_buf->model, sizeof(ident_buf->model)); - btrim(ident_buf->revision, sizeof(ident_buf->revision)); - bpack(ident_buf->revision, ident_buf->revision, sizeof(ident_buf->revision)); - btrim(ident_buf->serial, sizeof(ident_buf->serial)); - bpack(ident_buf->serial, ident_buf->serial, sizeof(ident_buf->serial)); + ata_btrim(ident_buf->model, sizeof(ident_buf->model)); + ata_bpack(ident_buf->model, ident_buf->model, sizeof(ident_buf->model)); + ata_btrim(ident_buf->revision, sizeof(ident_buf->revision)); + ata_bpack(ident_buf->revision, ident_buf->revision, sizeof(ident_buf->revision)); + ata_btrim(ident_buf->serial, sizeof(ident_buf->serial)); + ata_bpack(ident_buf->serial, ident_buf->serial, sizeof(ident_buf->serial)); if ((periph->path->device->flags & CAM_DEV_UNCONFIGURED) == 0) { /* Check that it is the same device. */ ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.h#2 (text+ko) ==== @@ -1,0 +1,1 @@ + From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:08:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A86691065679; Mon, 29 Jun 2009 08:08:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 609C71065670 for ; Mon, 29 Jun 2009 08:08:54 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4E3828FC16 for ; Mon, 29 Jun 2009 08:08:54 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T88sa1073681 for ; Mon, 29 Jun 2009 08:08:54 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T88sGQ073679 for perforce@freebsd.org; Mon, 29 Jun 2009 08:08:54 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 08:08:54 GMT Message-Id: <200906290808.n5T88sGQ073679@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165369 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:08:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165369 Change 165369 by mav@mav_mavbook on 2009/06/29 08:08:28 Include ATA functions to the library. Affected files ... .. //depot/projects/scottl-camlock/src/lib/libcam/Makefile#2 edit Differences ... ==== //depot/projects/scottl-camlock/src/lib/libcam/Makefile#2 (text+ko) ==== @@ -2,7 +2,8 @@ LIB= cam SHLIBDIR?= /lib -SRCS= camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c +SRCS= camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c \ + ata_all.c INCS= camlib.h DPADD= ${LIBSBUF} @@ -34,7 +35,8 @@ cam_cdbparse.3 csio_encode_visit.3 \ cam_cdbparse.3 buff_encode_visit.3 -.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam +.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam/ata \ + ${.CURDIR}/../../sys/cam SDIR= ${.CURDIR}/../../sys CFLAGS+= -I${.CURDIR} -I${SDIR} From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:17:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A31FD1065673; Mon, 29 Jun 2009 08:17:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 62F411065670 for ; Mon, 29 Jun 2009 08:17:03 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FB498FC0C for ; Mon, 29 Jun 2009 08:17:03 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T8H3v2074284 for ; Mon, 29 Jun 2009 08:17:03 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T8H3Lh074282 for perforce@freebsd.org; Mon, 29 Jun 2009 08:17:03 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 08:17:03 GMT Message-Id: <200906290817.n5T8H3Lh074282@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165370 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:17:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165370 Change 165370 by mav@mav_mavbook on 2009/06/29 08:16:02 Add ATA identify command support. Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#5 edit .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#10 edit Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#5 (text+ko) ==== @@ -27,7 +27,7 @@ .\" .\" $FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.44 2007/09/08 20:24:12 ken Exp $ .\" -.Dd August 21, 2006 +.Dd June 29, 2009 .Dt CAMCONTROL 8 .Os .Sh NAME @@ -59,6 +59,10 @@ .Op Fl S .Op Fl R .Nm +.Ic identify +.Op device id +.Op generic args +.Nm .Ic reportluns .Op device id .Op generic args @@ -283,6 +287,8 @@ .It Fl R Print out transfer rate information. .El +.It Ic identify +Send a ATA identify command (0xec) to a device. .It Ic reportluns Send the SCSI REPORT LUNS (0xA0) command to the given device. By default, ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#10 (text+ko) ==== @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -49,6 +50,7 @@ #include #include #include +#include #include #include "camcontrol.h" @@ -71,7 +73,8 @@ CAM_CMD_RATE = 0x0000000f, CAM_CMD_DETACH = 0x00000010, CAM_CMD_REPORTLUNS = 0x00000011, - CAM_CMD_READCAP = 0x00000012 + CAM_CMD_READCAP = 0x00000012, + CAM_CMD_IDENTIFY = 0x00000013 } cam_cmdmask; typedef enum { @@ -126,6 +129,7 @@ #ifndef MINIMALISTIC {"tur", CAM_CMD_TUR, CAM_ARG_NONE, NULL}, {"inquiry", CAM_CMD_INQUIRY, CAM_ARG_NONE, "DSR"}, + {"identify", CAM_CMD_IDENTIFY, CAM_ARG_NONE, NULL}, {"start", CAM_CMD_STARTSTOP, CAM_ARG_START_UNIT, NULL}, {"stop", CAM_CMD_STARTSTOP, CAM_ARG_NONE, NULL}, {"load", CAM_CMD_STARTSTOP, CAM_ARG_START_UNIT | CAM_ARG_EJECT, NULL}, @@ -990,6 +994,224 @@ return(retval); } + +static void +atacapprint(struct ata_params *parm) +{ + u_int32_t lbasize = (u_int32_t)parm->lba_size_1 | + ((u_int32_t)parm->lba_size_2 << 16); + + u_int64_t lbasize48 = ((u_int64_t)parm->lba_size48_1) | + ((u_int64_t)parm->lba_size48_2 << 16) | + ((u_int64_t)parm->lba_size48_3 << 32) | + ((u_int64_t)parm->lba_size48_4 << 48); + + printf("\n"); + printf("Protocol "); + if (parm->satacapabilities && parm->satacapabilities != 0xffff) { + if (parm->satacapabilities & ATA_SATA_GEN2) + printf("SATA revision 2.x\n"); + else if (parm->satacapabilities & ATA_SATA_GEN1) + printf("SATA revision 1.x\n"); + else + printf("Unknown SATA revision\n"); + } + else + printf("ATA/ATAPI revision %d\n", ata_version(parm->version_major)); + printf("device model %.40s\n", parm->model); + printf("serial number %.20s\n", parm->serial); + printf("firmware revision %.8s\n", parm->revision); + + printf("cylinders %d\n", parm->cylinders); + printf("heads %d\n", parm->heads); + printf("sectors/track %d\n", parm->sectors); + + if (parm->config == ATA_PROTO_CFA || + (parm->support.command2 & ATA_SUPPORT_CFA)) + printf("CFA supported\n"); + + printf("lba%ssupported ", + parm->capabilities1 & ATA_SUPPORT_LBA ? " " : " not "); + if (lbasize) + printf("%d sectors\n", lbasize); + else + printf("\n"); + + printf("lba48%ssupported ", + parm->support.command2 & ATA_SUPPORT_ADDRESS48 ? " " : " not "); + if (lbasize48) + printf("%ju sectors\n", (uintmax_t)lbasize48); + else + printf("\n"); + + printf("dma%ssupported\n", + parm->capabilities1 & ATA_SUPPORT_DMA ? " " : " not "); + + printf("overlap%ssupported\n", + parm->capabilities1 & ATA_SUPPORT_OVERLAP ? " " : " not "); + + printf("\nFeature " + "Support Enable Value Vendor\n"); + + printf("write cache %s %s\n", + parm->support.command1 & ATA_SUPPORT_WRITECACHE ? "yes" : "no", + parm->enabled.command1 & ATA_SUPPORT_WRITECACHE ? "yes" : "no"); + + printf("read ahead %s %s\n", + parm->support.command1 & ATA_SUPPORT_LOOKAHEAD ? "yes" : "no", + parm->enabled.command1 & ATA_SUPPORT_LOOKAHEAD ? "yes" : "no"); + + if (parm->satacapabilities && parm->satacapabilities != 0xffff) { + printf("Native Command Queuing (NCQ) %s %s" + " %d/0x%02X\n", + parm->satacapabilities & ATA_SUPPORT_NCQ ? + "yes" : "no", " -", + (parm->satacapabilities & ATA_SUPPORT_NCQ) ? + ATA_QUEUE_LEN(parm->queue) : 0, + (parm->satacapabilities & ATA_SUPPORT_NCQ) ? + ATA_QUEUE_LEN(parm->queue) : 0); + } + printf("Tagged Command Queuing (TCQ) %s %s %d/0x%02X\n", + parm->support.command2 & ATA_SUPPORT_QUEUED ? "yes" : "no", + parm->enabled.command2 & ATA_SUPPORT_QUEUED ? "yes" : "no", + ATA_QUEUE_LEN(parm->queue), ATA_QUEUE_LEN(parm->queue)); + + printf("SMART %s %s\n", + parm->support.command1 & ATA_SUPPORT_SMART ? "yes" : "no", + parm->enabled.command1 & ATA_SUPPORT_SMART ? "yes" : "no"); + + printf("microcode download %s %s\n", + parm->support.command2 & ATA_SUPPORT_MICROCODE ? "yes" : "no", + parm->enabled.command2 & ATA_SUPPORT_MICROCODE ? "yes" : "no"); + + printf("security %s %s\n", + parm->support.command1 & ATA_SUPPORT_SECURITY ? "yes" : "no", + parm->enabled.command1 & ATA_SUPPORT_SECURITY ? "yes" : "no"); + + printf("power management %s %s\n", + parm->support.command1 & ATA_SUPPORT_POWERMGT ? "yes" : "no", + parm->enabled.command1 & ATA_SUPPORT_POWERMGT ? "yes" : "no"); + + printf("advanced power management %s %s %d/0x%02X\n", + parm->support.command2 & ATA_SUPPORT_APM ? "yes" : "no", + parm->enabled.command2 & ATA_SUPPORT_APM ? "yes" : "no", + parm->apm_value, parm->apm_value); + + printf("automatic acoustic management %s %s " + "%d/0x%02X %d/0x%02X\n", + parm->support.command2 & ATA_SUPPORT_AUTOACOUSTIC ? "yes" :"no", + parm->enabled.command2 & ATA_SUPPORT_AUTOACOUSTIC ? "yes" :"no", + ATA_ACOUSTIC_CURRENT(parm->acoustic), + ATA_ACOUSTIC_CURRENT(parm->acoustic), + ATA_ACOUSTIC_VENDOR(parm->acoustic), + ATA_ACOUSTIC_VENDOR(parm->acoustic)); +} + + +static int +ataidentify(struct cam_device *device, int retry_count, int timeout) +{ + union ccb *ccb; + struct ata_params *ident_buf; + int error = 0; + int16_t *ptr; + + ccb = cam_getccb(device); + + if (ccb == NULL) { + warnx("couldn't allocate CCB"); + return(1); + } + + /* cam_getccb cleans up the header, caller has to zero the payload */ + bzero(&(&ccb->ccb_h)[1], + sizeof(struct ccb_ataio) - sizeof(struct ccb_hdr)); + + ident_buf = (struct ata_params *)malloc( + sizeof(struct ata_params)); + + if (ident_buf == NULL) { + cam_freeccb(ccb); + warnx("can't malloc memory for identify\n"); + return(1); + } + bzero(ident_buf, sizeof(*ident_buf)); + + cam_fill_ataio(&ccb->ataio, + retry_count, + NULL, + /*flags*/CAM_DIR_IN, + MSG_SIMPLE_Q_TAG, + /*data_ptr*/(u_int8_t *)ident_buf, + /*dxfer_len*/sizeof(struct ata_params), + timeout ? timeout : 30 * 1000); +// if (periph->path->device->protocol == PROTO_ATA) + ata_36bit_cmd(&ccb->ataio, ATA_ATA_IDENTIFY, 0, 0, 0); +// else +// ata_36bit_cmd(&ccb->ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0); + + /* Disable freezing the device queue */ + ccb->ccb_h.flags |= CAM_DEV_QFRZDIS; + + if (arglist & CAM_ARG_ERR_RECOVER) + ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER; + + if (cam_send_ccb(device, ccb) < 0) { + perror("error sending ATA identify"); + + if (arglist & CAM_ARG_VERBOSE) { + cam_error_print(device, ccb, CAM_ESF_ALL, + CAM_EPF_ALL, stderr); + } + + cam_freeccb(ccb); + return(1); + } + + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + error = 1; + + if (arglist & CAM_ARG_VERBOSE) { + cam_error_print(device, ccb, CAM_ESF_ALL, + CAM_EPF_ALL, stderr); + } + } + + cam_freeccb(ccb); + + if (error != 0) { + free(ident_buf); + return(error); + } + + for (ptr = (int16_t *)ident_buf; + ptr < (int16_t *)ident_buf + sizeof(struct ata_params)/2; ptr++) { + *ptr = le16toh(*ptr); + } + if (strncmp(ident_buf->model, "FX", 2) && + strncmp(ident_buf->model, "NEC", 3) && + strncmp(ident_buf->model, "Pioneer", 7) && + strncmp(ident_buf->model, "SHARP", 5)) { + ata_bswap(ident_buf->model, sizeof(ident_buf->model)); + ata_bswap(ident_buf->revision, sizeof(ident_buf->revision)); + ata_bswap(ident_buf->serial, sizeof(ident_buf->serial)); + } + ata_btrim(ident_buf->model, sizeof(ident_buf->model)); + ata_bpack(ident_buf->model, ident_buf->model, sizeof(ident_buf->model)); + ata_btrim(ident_buf->revision, sizeof(ident_buf->revision)); + ata_bpack(ident_buf->revision, ident_buf->revision, sizeof(ident_buf->revision)); + ata_btrim(ident_buf->serial, sizeof(ident_buf->serial)); + ata_bpack(ident_buf->serial, ident_buf->serial, sizeof(ident_buf->serial)); + + fprintf(stdout, "%s%d: ", device->device_name, + device->dev_unit_num); + ata_print_ident(ident_buf); + atacapprint(ident_buf); + + free(ident_buf); + + return(0); +} #endif /* MINIMALISTIC */ /* @@ -3691,6 +3913,7 @@ " camcontrol periphlist [dev_id][-n dev_name] [-u unit]\n" " camcontrol tur [dev_id][generic args]\n" " camcontrol inquiry [dev_id][generic args] [-D] [-S] [-R]\n" +" camcontrol identify [dev_id][generic args]\n" " camcontrol reportluns [dev_id][generic args] [-c] [-l] [-r report]\n" " camcontrol readcap [dev_id][generic args] [-b] [-h] [-H] [-N]\n" " [-q] [-s]\n" @@ -3726,6 +3949,7 @@ "periphlist list all CAM peripheral drivers attached to a device\n" "tur send a test unit ready to the named device\n" "inquiry send a SCSI inquiry command to the named device\n" +"identify send a ATA identify command to the named device\n" "reportluns send a SCSI report luns command to the device\n" "readcap send a SCSI read capacity command to the device\n" "start send a Start Unit command to the device\n" @@ -4051,6 +4275,9 @@ error = scsidoinquiry(cam_dev, argc, argv, combinedopt, retry_count, timeout); break; + case CAM_CMD_IDENTIFY: + error = ataidentify(cam_dev, retry_count, timeout); + break; case CAM_CMD_STARTSTOP: error = scsistart(cam_dev, arglist & CAM_ARG_START_UNIT, arglist & CAM_ARG_EJECT, retry_count, From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:21:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 305EE1065672; Mon, 29 Jun 2009 08:21:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4D5F106566C for ; Mon, 29 Jun 2009 08:21:07 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2BFC8FC08 for ; Mon, 29 Jun 2009 08:21:07 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T8L7jC074594 for ; Mon, 29 Jun 2009 08:21:07 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T8L7dB074592 for perforce@freebsd.org; Mon, 29 Jun 2009 08:21:07 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 08:21:07 GMT Message-Id: <200906290821.n5T8L7dB074592@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165371 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:21:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165371 Change 165371 by mav@mav_mavbook on 2009/06/29 08:20:10 Use the right constant. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#38 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#38 (text+ko) ==== @@ -1029,7 +1029,7 @@ ahci_end_transaction(slot, AHCI_ERR_INVALID); return; } - KASSERT(nsegs <= AHCI_DMA_ENTRIES, ("too many DMA segment entries\n")); + KASSERT(nsegs <= AHCI_SG_ENTRIES, ("too many DMA segment entries\n")); /* Get a piece of the workspace for this request */ ctp = (struct ahci_cmd_tab *) (ch->dma.work + AHCI_CT_OFFSET + (AHCI_CT_SIZE * slot->slot)); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:36:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA0D21065673; Mon, 29 Jun 2009 08:36:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8A4F106566C for ; Mon, 29 Jun 2009 08:36:24 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 969858FC17 for ; Mon, 29 Jun 2009 08:36:24 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T8aO5C075838 for ; Mon, 29 Jun 2009 08:36:24 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T8aO7P075836 for perforce@freebsd.org; Mon, 29 Jun 2009 08:36:24 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 08:36:24 GMT Message-Id: <200906290836.n5T8aO7P075836@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165372 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:36:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165372 Change 165372 by mav@mav_mavbook on 2009/06/29 08:35:31 Report base transfer speed if SIM does not provide detailed info. Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#11 edit Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#11 (text+ko) ==== @@ -919,6 +919,14 @@ if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) { freq = scsi_calc_syncsrate(spi->sync_period); speed = freq; + } else { + struct ccb_pathinq cpi; + + retval = get_cpi(device, &cpi); + if (retval == 0) { + speed = cpi.base_transfer_speed; + freq = 0; + } } fprintf(stdout, "%s%d: ", device->device_name, From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:38:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 625DE1065675; Mon, 29 Jun 2009 08:38:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2200F106566C for ; Mon, 29 Jun 2009 08:38:27 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E81F48FC1E for ; Mon, 29 Jun 2009 08:38:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T8cQjn076018 for ; Mon, 29 Jun 2009 08:38:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T8cQRf076016 for perforce@freebsd.org; Mon, 29 Jun 2009 08:38:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 29 Jun 2009 08:38:26 GMT Message-Id: <200906290838.n5T8cQRf076016@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165373 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:38:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=165373 Change 165373 by rwatson@rwatson_freebsd_capabilities on 2009/06/29 08:37:33 Add a sandbox "hello world" application. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_world/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_world/sandbox_world.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 29 08:41:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 285031065673; Mon, 29 Jun 2009 08:41:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB4D0106566C for ; Mon, 29 Jun 2009 08:41:30 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C74AF8FC13 for ; Mon, 29 Jun 2009 08:41:30 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T8fUhN076350 for ; Mon, 29 Jun 2009 08:41:30 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T8fU2x076346 for perforce@freebsd.org; Mon, 29 Jun 2009 08:41:30 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 08:41:30 GMT Message-Id: <200906290841.n5T8fU2x076346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165374 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:41:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=165374 Change 165374 by mav@mav_mavbook on 2009/06/29 08:40:35 IFC Affected files ... .. //depot/projects/scottl-camlock/src/Makefile.inc1#5 integrate .. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#7 integrate .. //depot/projects/scottl-camlock/src/UPDATING#8 integrate .. //depot/projects/scottl-camlock/src/gnu/lib/libgcc/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/gnu/usr.bin/cc/cc_tools/freebsd-native.h#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/Symbol.map#6 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/scottl-camlock/src/libexec/rtld-elf/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/release/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/release/scripts/package-split.py#3 integrate .. //depot/projects/scottl-camlock/src/sbin/ipfw/ipfw.8#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/sys_machdep.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_misc.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_signal.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/conf/NOTES#31 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ale/if_ale.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah_internal.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/if_athvar.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/at91dci.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/avr32dci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uss820dci.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cdce.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/usb_serial.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/ustorage_fs.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_controller.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_handle_request.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_if.m#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdevs#27 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/sys_machdep.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_machdep.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_descrip.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_event.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exec.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_fork.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_prot.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_sig.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_thr.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_generic.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_process.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_socket.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_cluster.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_extattr.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_lookup.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_mount.c#28 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/mips/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.c#28 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_spppsubr.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/net/netisr.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_ksocket.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/include/vm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/powerpc/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_syscalls.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/pmap.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/machdep.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/pmap.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/include/vm.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sys/event.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/filio.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mount.h#21 integrate .. //depot/projects/scottl-camlock/src/sys/sys/vnode.h#20 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_object.c#18 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/dist.c#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/dist.h#3 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/doc.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/menus.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/sysinstall/sysinstall.h#4 integrate Differences ... ==== //depot/projects/scottl-camlock/src/Makefile.inc1#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.625 2009/06/14 15:16:24 markm Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.627 2009/06/29 01:33:59 kan Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir ==== //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#7 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.197 2009/06/24 17:01:17 thompsa Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.198 2009/06/27 10:11:15 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -15,57 +15,72 @@ # # 20090624: update usbdi(9) -OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9 -OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9 -OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9 -OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9 -OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9 -OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9 -OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9 -OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9 -OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9 -OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9 -OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9 -OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9 -OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9 -OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9 -OLD_FILES+=usr/share/man/man9/usbd_get_speed.9 -OLD_FILES+=usr/share/man/man9/usbd_get_string.9 -OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9 -OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9 -OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9 -OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9 -OLD_FILES+=usr/share/man/man9/usbd_interface_count.9 -OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9 -OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9 -OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9 -OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9 -OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9 -OLD_FILES+=usr/share/man/man9/usbd_set_interface.9 -OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9 -OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9 -OLD_FILES+=usr/share/man/man9/usbd_transfer.9 -OLD_FILES+=usr/share/man/man9/usb_find_desc.9 +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9.gz +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usb_find_desc.9.gz +# 20090623: number of headers needed for a usb driver reduced +OLD_FILES+=usr/include/dev/usb/usb_defs.h +OLD_FILES+=usr/include/dev/usb/usb_error.h +OLD_FILES+=usr/include/dev/usb/usb_handle_request.h +OLD_FILES+=usr/include/dev/usb/usb_hid.h +OLD_FILES+=usr/include/dev/usb/usb_lookup.h +OLD_FILES+=usr/include/dev/usb/usb_mfunc.h +OLD_FILES+=usr/include/dev/usb/usb_parse.h +OLD_FILES+=usr/include/dev/usb/usb_revision.h +# 20090609: devclass_add_driver is no longer public +OLD_FILES+=usr/share/man/man9/devclass_add_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_delete_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_find_driver.9.gz # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) OLD_FILES+=usr/bin/window OLD_FILES+=usr/share/man/man1/window.1.gz +# 20090531: bind 9.6.1rc1 import +OLD_LIBS+=usr/lib/liblwres.so.30 # 20090530: removal of early.sh OLD_FILES+=etc/rc.d/early.sh # 20090527: renaming of S{LIST,TAILQ}_REMOVE_NEXT() to _REMOVE_AFTER() @@ -105,7 +120,7 @@ OLD_DIRS+=usr/include/legacy/dev OLD_DIRS+=usr/include/legacy # 20090526: removal of makekey(8) -OLD_FILES+=libexec/makekey +OLD_FILES+=usr/libexec/makekey OLD_FILES+=usr/share/man/man8/makekey.8.gz # 20090522: removal of University of Michigan NFSv4 client OLD_FILES+=etc/rc.d/idmapd ==== //depot/projects/scottl-camlock/src/UPDATING#8 (text+ko) ==== @@ -22,6 +22,18 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + +20090624: + The ABI of various structures related to the SYSV IPC API have + been changed. As a result, the COMPAT_FREEBSD[456] kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version + to 800100. + 20090622: Layout of struct vnet has changed as routing related variables were moved to their own Vimage module. Modules need to be @@ -1618,4 +1630,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.622 2009/06/26 01:10:10 dougb Exp $ +$FreeBSD: src/UPDATING,v 1.624 2009/06/28 08:59:46 blackend Exp $ ==== //depot/projects/scottl-camlock/src/gnu/lib/libgcc/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.63 2009/02/13 16:51:36 jkim Exp $ +# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.65 2009/06/29 01:33:59 kan Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs ==== //depot/projects/scottl-camlock/src/gnu/lib/libssp/libssp_nonshared/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libssp/libssp_nonshared/Makefile,v 1.1 2007/05/19 04:25:56 kan Exp $ +# $FreeBSD: src/gnu/lib/libssp/libssp_nonshared/Makefile,v 1.3 2009/06/29 01:33:59 kan Exp $ GCCDIR= ${.CURDIR}/../../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../../contrib/gcclibs ==== //depot/projects/scottl-camlock/src/gnu/usr.bin/cc/cc_tools/freebsd-native.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.29 2007/10/12 17:49:12 obrien Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.31 2009/06/29 01:33:59 kan Exp $ */ /* FREEBSD_NATIVE is defined when gcc is integrated into the FreeBSD source tree so it can be configured appropriately without using ==== //depot/projects/scottl-camlock/src/lib/libc/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.75 2009/03/13 10:40:38 gabor Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.77 2009/06/29 01:33:59 kan Exp $ SHLIBDIR?= /lib ==== //depot/projects/scottl-camlock/src/lib/libc/sys/Symbol.map#6 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.24 2009/06/24 21:10:52 jhb Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $ */ /* ==== //depot/projects/scottl-camlock/src/lib/libc/sys/stack_protector.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $ */ +/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $ */ /* $NetBSD: stack_protector.c,v 1.4 2006/11/22 17:23:25 christos Exp $ */ /* $OpenBSD: stack_protector.c,v 1.10 2006/03/31 05:34:44 deraadt Exp $ */ /* @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $"); #include #include ==== //depot/projects/scottl-camlock/src/libexec/rtld-elf/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.43 2009/02/21 15:04:31 ru Exp $ +# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.45 2009/06/29 01:33:59 kan Exp $ .include MK_SSP= no ==== //depot/projects/scottl-camlock/src/release/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.942 2009/06/25 04:25:26 marcel Exp $ +# $FreeBSD: src/release/Makefile,v 1.943 2009/06/28 08:59:46 blackend Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -39,6 +39,10 @@ # checking out from a local CVS repository, set this option. #EXTPORTSDIR=/usr/ports # +# To use a checked-out doc/ directory instead of +# checking out from a local CVS repository, set this option. +#EXTDOCDIR=/usr/doc +# # To add other options to the CVS subcommands (co,up), set #CVSCMDARGS="-D '01/01/2002 00:00:00 UTC'" # @@ -91,15 +95,13 @@ # the ports tree, so NOPORTS can be set together with NODOC in order # to have neither ports or docs. If only NOPORTS is set to YES, but # docs are still desired, the DOMINIMALDOCPORTS logic below will only -# install the ports that are minimally required for the docs. This is +# install the ports that are minimally required for the release note documentation. This is # intended as a compromise, less disk space is required than for using # the entire ports collection (and much less time due to the huge number # of directories it would create), but still quite a bit as well as some # CPU cycles (some of the programs are C++, and things like ghostscript # belong to the required ports nevertheless). # -# Setting this also disables building of release note documentation -# (RELNOTESng). #NODOC= YES #NOPORTS= YES @@ -141,11 +143,6 @@ # # Doing 'make index' in /usr/ports requires Perl. MAKEINDEXPORTS= lang/perl5.8 -# By default, documentation (Handbook, FAQ, etc.) is built for all -# the languages. To speed up building, set the DOC_LANG to just -# the languages you need. (The language for the release notes is -# controlled by the RELNOTES_LANG variable above.) -#DOC_LANG= en_US.ISO8859-1 DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by release procedures. .if defined(DOCDISTFILES) @@ -348,7 +345,7 @@ @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false .endif .if defined(NOPORTSATALL) && !defined(NODOC) - @echo "Ports are required for building the docs. Either set NODOC or" + @echo "Ports are required for building the release docs. Either set NODOC or" @echo "unset NOPORTS, or set at least DOMINIMALDOCPORTS to YES!" @exit 1 .endif @@ -477,7 +474,6 @@ BUILDNAME \ CD_PACKAGE_TREE \ DISTRIBUTIONS \ - DOC_LANG \ DOMINIMALDOCPORTS \ EXTRA_SRC \ FTP_PASSIVE_MODE \ @@ -1037,22 +1033,8 @@ @echo "Building CDROM docs filesystem image" @mkdir -p ${CD_DOCS} @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf - @mkdir -p ${CD_DOCS}/usr/share/doc -.if defined(MAKE_DVD) - @mkdir -p ${CD_DVD1}/usr/share/doc + @echo "CD_VOLUME = 3" >> ${CD_DOCS}/cdrom.inf .endif - @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ - if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ - -d /usr/doc/$$i ]; then \ - mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DOCS}/usr/share/doc; \ - fi \ - done -.if defined(MAKE_DVD) - @cd ${CD_DOCS}/usr/share/doc && find . -print | \ - cpio -dumpl ${CD_DVD1}/usr/share/doc -.endif -.endif touch ${.TARGET} # @@ -1082,6 +1064,11 @@ .if exists(${CD_PACKAGE_TREE}/disc2) CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2 .endif +# scripts/package-trees.sh names all discs according to the "discX" +# scheme where X is the number of the disc +.if exists(${CD_PACKAGE_TREE}/disc3) +CD_DOCS_PKGS= ${CD_PACKAGE_TREE}/disc3 +.endif .if exists(${CD_PACKAGE_TREE}/dvd1) CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1 .endif @@ -1113,7 +1100,8 @@ .if !defined(NODOC) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ FreeBSD_Documentation \ - ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} + ${CD}/${BUILDNAME}-${TARGET}-disc3.iso ${CD_DOCS} \ + ${CD_DOCS_PKGS} .endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ @@ -1139,9 +1127,6 @@ make all install clean BATCH=yes WITHOUT_X11=yes JADETEX=no \ WITHOUT_PYTHON=yes FORCE_PKG_REGISTER=yes; \ done - @cd /usr/doc && make all install 'FORMATS=html html-split txt' \ - INSTALL_COMPRESSED='' DOCDIR=${RD}/trees/base/usr/share/doc \ - URLS_ABSOLUTE=YES touch ${.TARGET} # ==== //depot/projects/scottl-camlock/src/release/scripts/package-split.py#3 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.17 2007/11/07 09:11:45 kris Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.18 2009/06/28 08:59:46 blackend Exp $ import os import sys @@ -86,11 +86,34 @@ 'ports-mgmt/portaudit']) return pkgs +def docs_packages(): + pkgs = ['misc/freebsd-doc-bn', + 'misc/freebsd-doc-da', + 'misc/freebsd-doc-de', + 'misc/freebsd-doc-el', + 'misc/freebsd-doc-en', + 'misc/freebsd-doc-es', + 'misc/freebsd-doc-fr', + 'misc/freebsd-doc-hu', + 'misc/freebsd-doc-it', + 'misc/freebsd-doc-ja', + 'misc/freebsd-doc-mn', + 'misc/freebsd-doc-nl', + 'misc/freebsd-doc-pl', + 'misc/freebsd-doc-pt', + 'misc/freebsd-doc-ru', + 'misc/freebsd-doc-sr', + 'misc/freebsd-doc-tr', + 'misc/freebsd-doc-zh_cn', + 'misc/freebsd-doc-zh_tw'] + return pkgs + # The list of desired packages def desired_packages(): disc1 = disc1_packages() disc2 = disc2_packages() - return [disc1, disc2] + docs = docs_packages() + return [disc1, disc2, docs] # Suck the entire INDEX file into a two different dictionaries. The first # dictionary maps port names (origins) to package names. The second ==== //depot/projects/scottl-camlock/src/sbin/ipfw/ipfw.8#6 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.230 2009/06/26 05:09:00 maxim Exp $ +.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.231 2009/06/26 19:49:06 oleg Exp $ .\" .Dd June 24, 2009 .Dt IPFW 8 @@ -1944,13 +1944,18 @@ The default value is 0, meaning no delay. .Pp .It Cm burst Ar size -If the data rate exceeds the pipe bandwith limit -(and pipe was idle long enough), +If the data to be sent exceeds the pipe's bandwidth limit +(and the pipe was previously idle), up to .Ar size -bytes of data is allowed to bypass the +bytes of data are allowed to bypass the .Nm dummynet -scheduler (i.e. it will be sent without shaping), then transmission rate -will not exceed pipe bandwidth. Effective burst size calculated as follows: +scheduler, and will be sent as fast as the physical link allows. +Any additional data will be transmitted at the rate specified +by the +.Nm pipe +bandwidth. +The burst size depends on how long the pipe has been idle; +the effective burst size is calculated as follows: MAX( .Ar size , ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/sys_machdep.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.91 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.93 2009/06/27 15:03:50 rwatson Exp $"); #include #include @@ -87,7 +87,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); if (uap_space == UIO_USERSPACE) { error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args)); if (error != 0) @@ -170,7 +170,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); switch (uap->op) { case I386_GET_IOPERM: case I386_SET_IOPERM: ==== //depot/projects/scottl-camlock/src/sys/amd64/include/vm.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/amd64/include/vm.h,v 1.1 2009/06/26 04:47:43 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vm.h,v 1.2 2009/06/26 16:22:24 alc Exp $ */ #ifndef _MACHINE_VM_H_ @@ -42,4 +42,4 @@ #define VM_CACHE_DEFAULT VM_CACHE_WRITE_BACK -#endif /* !_MACHINE_PMAP_H_ */ +#endif /* !_MACHINE_VM_H_ */ ==== //depot/projects/scottl-camlock/src/sys/arm/include/vm.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vm.h,v 1.1 2009/06/26 04:47:43 alc Exp $ + * $FreeBSD: src/sys/arm/include/vm.h,v 1.2 2009/06/26 16:22:24 alc Exp $ */ #ifndef _MACHINE_VM_H_ @@ -32,4 +32,4 @@ /* Cache control is not (yet) implemented. */ #define VM_CACHE_DEFAULT 0 -#endif /* !_MACHINE_PMAP_H_ */ +#endif /* !_MACHINE_VM_H_ */ ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_misc.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.91 2009/06/24 21:10:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.92 2009/06/27 13:58:44 rwatson Exp $"); #include "opt_compat.h" #include "opt_inet.h" @@ -2924,7 +2924,7 @@ struct uio *auio; int error; - AUDIT_ARG(fflags, uap->flags); + AUDIT_ARG_FFLAGS(uap->flags); /* * Filter out MNT_ROOTFS. We do not want clients of nmount() in ==== //depot/projects/scottl-camlock/src/sys/compat/linux/linux_signal.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.66 2008/10/19 10:02:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.67 2009/06/27 13:58:44 rwatson Exp $"); #include #include @@ -546,8 +546,8 @@ ksiginfo_t ksi; int error; - AUDIT_ARG(signum, signum); - AUDIT_ARG(pid, pid); + AUDIT_ARG_SIGNUM(signum); + AUDIT_ARG_PID(pid); /* * Allow signal 0 as a means to check for privileges @@ -563,7 +563,7 @@ return (ESRCH); } - AUDIT_ARG(process, p); + AUDIT_ARG_PROCESS(p); error = p_cansignal(td, p, signum); if (error) goto out; ==== //depot/projects/scottl-camlock/src/sys/conf/NOTES#31 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1548 2009/06/23 06:11:04 zec Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1549 2009/06/26 17:50:52 jhb Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -301,6 +301,9 @@ # Old tty interface. options COMPAT_43TTY +# Note that as a general rule, COMPAT_FREEBSD depends on +# COMPAT_FREEBSD, COMPAT_FREEBSD, etc. + # Enable FreeBSD4 compatibility syscalls options COMPAT_FREEBSD4 ==== //depot/projects/scottl-camlock/src/sys/dev/ale/if_ale.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Atheros AR8121/AR8113/AR8114 PCIe Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.5 2009/06/26 11:45:06 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ale/if_ale.c,v 1.6 2009/06/29 05:12:21 yongari Exp $"); #include #include @@ -620,6 +620,14 @@ ifp->if_capabilities |= IFCAP_VLAN_MTU; ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM; ifp->if_capenable = ifp->if_capabilities; + /* + * Even though controllers supported by ale(3) have Rx checksum + * offload bug the workaround for fragmented frames seemed to + * work so far. However it seems Rx checksum offload does not + * work under certain conditions. So disable Rx checksum offload + * until I find more clue about it but allow users to override it. + */ + ifp->if_capenable &= ~IFCAP_RXCSUM; /* Tell the upper layer(s) we support long frames. */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah.c,v 1.10 2009/05/19 17:30:13 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah.c,v 1.11 2009/06/27 20:06:56 sam Exp $ */ #include "opt_ah.h" @@ -503,6 +503,8 @@ case HAL_CAP_INTRMASK: /* mask of supported interrupts */ *result = pCap->halIntrMask; return HAL_OK; + case HAL_CAP_BSSIDMATCH: /* hardware has disable bssid match */ + return pCap->halBssidMatchSupport ? HAL_OK : HAL_ENOTSUPP; default: return HAL_EINVAL; } ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah.h#3 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.11 2009/05/19 17:54:32 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.12 2009/06/27 20:06:56 sam Exp $ */ #ifndef _ATH_AH_H_ @@ -110,6 +110,7 @@ HAL_CAP_BB_HANG = 35, /* can baseband hang */ HAL_CAP_MAC_HANG = 36, /* can MAC hang */ HAL_CAP_INTRMASK = 37, /* bitmask of supported interrupts */ + HAL_CAP_BSSIDMATCH = 38, /* hardware has disable bssid match */ } HAL_CAPABILITY_TYPE; /* @@ -296,6 +297,7 @@ HAL_RX_FILTER_PHYERR = 0x00000100, /* Allow phy errors */ HAL_RX_FILTER_PHYRADAR = 0x00000200, /* Allow phy radar errors */ HAL_RX_FILTER_COMPBAR = 0x00000400, /* Allow compressed BAR */ + HAL_RX_FILTER_BSSID = 0x00000800, /* Disable BSSID match */ } HAL_RX_FILTER; typedef enum { ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah_internal.h#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah_internal.h,v 1.12 2009/05/19 17:30:13 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah_internal.h,v 1.13 2009/06/27 20:06:56 sam Exp $ */ #ifndef _ATH_AH_INTERAL_H_ #define _ATH_AH_INTERAL_H_ @@ -193,7 +193,8 @@ halExtChanDfsSupport : 1, halForcePpmSupport : 1, halEnhancedPmSupport : 1, - halMbssidAggrSupport : 1; + halMbssidAggrSupport : 1, + halBssidMatchSupport : 1; uint32_t halWirelessModes; uint16_t halTotalQueues; uint16_t halKeyCacheSize; ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.7 2009/05/19 17:53:53 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.8 2009/06/27 20:06:56 sam Exp $ */ #include "opt_ah.h" @@ -833,11 +833,15 @@ ahpriv->ah_rxornIsFatal = (AH_PRIVATE(ah)->ah_macVersion < AR_SREV_VERSION_VENICE); - /* h/w phy counters first appeared in Hainan */ - pCap->halHwPhyCounterSupport = - (AH_PRIVATE(ah)->ah_macVersion == AR_SREV_VERSION_VENICE && + /* enable features that first appeared in Hainan */ + if ((AH_PRIVATE(ah)->ah_macVersion == AR_SREV_VERSION_VENICE && AH_PRIVATE(ah)->ah_macRev == AR_SREV_HAINAN) || - AH_PRIVATE(ah)->ah_macVersion > AR_SREV_VERSION_VENICE; + AH_PRIVATE(ah)->ah_macVersion > AR_SREV_VERSION_VENICE) { + /* h/w phy counters */ + pCap->halHwPhyCounterSupport = AH_TRUE; + /* bssid match disable */ + pCap->halBssidMatchSupport = AH_TRUE; + } pCap->halTstampPrecision = 15; pCap->halIntrMask = HAL_INT_COMMON ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: ar5212_recv.c,v 1.4 2008/11/10 04:08:03 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c,v 1.2 2009/06/27 20:06:56 sam Exp $ */ #include "opt_ah.h" @@ -163,6 +163,9 @@ bits |= HAL_RX_FILTER_PHYRADAR; if (phybits & (AR_PHY_ERR_OFDM_TIMING|AR_PHY_ERR_CCK_TIMING)) bits |= HAL_RX_FILTER_PHYERR; + if (AH_PRIVATE(ah)->ah_caps.halBssidMatchSupport && + (OS_REG_READ(ah, AR_MISC_MODE) & AR_MISC_MODE_BSSID_MATCH_FORCE)) + bits |= HAL_RX_FILTER_BSSID; return bits; } @@ -175,7 +178,8 @@ uint32_t phybits; OS_REG_WRITE(ah, AR_RX_FILTER, - bits &~ (HAL_RX_FILTER_PHYRADAR|HAL_RX_FILTER_PHYERR)); + bits &~ (HAL_RX_FILTER_PHYRADAR|HAL_RX_FILTER_PHYERR| + HAL_RX_FILTER_BSSID)); phybits = 0; if (bits & HAL_RX_FILTER_PHYRADAR) phybits |= AR_PHY_ERR_RADAR; @@ -189,6 +193,14 @@ OS_REG_WRITE(ah, AR_RXCFG, OS_REG_READ(ah, AR_RXCFG) &~ AR_RXCFG_ZLFDMA); } + if (AH_PRIVATE(ah)->ah_caps.halBssidMatchSupport) { + uint32_t miscbits = OS_REG_READ(ah, AR_MISC_MODE); + if (bits & HAL_RX_FILTER_BSSID) + miscbits |= AR_MISC_MODE_BSSID_MATCH_FORCE; + else + miscbits &= ~AR_MISC_MODE_BSSID_MATCH_FORCE; + OS_REG_WRITE(ah, AR_MISC_MODE, miscbits); + } } /* ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c,v 1.9 2009/05/19 17:30:13 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c,v 1.10 2009/06/27 20:06:56 sam Exp $ */ #include "opt_ah.h" @@ -811,6 +811,7 @@ pCap->halMbssidAggrSupport = AH_TRUE; pCap->halForcePpmSupport = AH_TRUE; pCap->halEnhancedPmSupport = AH_TRUE; + pCap->halBssidMatchSupport = AH_TRUE; if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) && ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) { ==== //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c,v 1.8 2009/05/08 00:23:00 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c,v 1.10 2009/06/28 11:32:52 phk Exp $ */ #include "opt_ah.h" ==== //depot/projects/scottl-camlock/src/sys/dev/ath/if_athvar.h#18 (text+ko) ==== @@ -26,7 +26,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.87 2009/05/20 20:00:40 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.88 2009/06/27 20:06:56 sam Exp $ */ /* @@ -590,6 +590,8 @@ (ath_hal_getcapability(_ah, HAL_CAP_FASTFRAME, 0, NULL) == HAL_OK) #define ath_hal_hasbssidmask(_ah) \ (ath_hal_getcapability(_ah, HAL_CAP_BSSIDMASK, 0, NULL) == HAL_OK) +#define ath_hal_hasbssidmatch(_ah) \ + (ath_hal_getcapability(_ah, HAL_CAP_BSSIDMATCH, 0, NULL) == HAL_OK) #define ath_hal_hastsfadjust(_ah) \ (ath_hal_getcapability(_ah, HAL_CAP_TSF_ADJUST, 0, NULL) == HAL_OK) #define ath_hal_gettsfadjust(_ah) \ ==== //depot/projects/scottl-camlock/src/sys/dev/cpuctl/cpuctl.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cpuctl/cpuctl.c,v 1.3 2008/09/27 08:51:18 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cpuctl/cpuctl.c,v 1.4 2009/06/26 22:13:15 stas Exp $"); #include #include @@ -222,14 +222,17 @@ * Explicitly clear cpuid data to avoid returning stale * info */ - data->data = 0; DPRINTF("[cpuctl,%d]: operating on MSR %#0x for %d cpu\n", __LINE__, data->msr, cpu); oldcpu = td->td_oncpu; is_bound = cpu_sched_is_bound(td); set_cpu(cpu, td); - ret = cmd == CPUCTL_RDMSR ? rdmsr_safe(data->msr, &data->data) : - wrmsr_safe(data->msr, data->data); + if (cmd == CPUCTL_RDMSR) { + data->data = 0; + ret = rdmsr_safe(data->msr, &data->data); + } else { + ret = wrmsr_safe(data->msr, data->data); + } restore_cpu(oldcpu, is_bound, td); return (ret); } @@ -368,7 +371,7 @@ /* * Perform update. */ - wrmsr_safe(MSR_K8_UCODE_UPDATE, (uintptr_t)args->data); + wrmsr_safe(MSR_K8_UCODE_UPDATE, (uintptr_t)ptr); /* * Serialize instruction flow. ==== //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_adapter.h#8 (text+ko) ==== @@ -25,7 +25,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -$FreeBSD: src/sys/dev/cxgb/cxgb_adapter.h,v 1.46 2009/06/19 23:34:32 kmacy Exp $ +$FreeBSD: src/sys/dev/cxgb/cxgb_adapter.h,v 1.47 2009/06/26 19:04:08 rwatson Exp $ ***************************************************************************/ @@ -467,7 +467,7 @@ struct ifmultiaddr *ifma; int i = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -477,8 +477,7 @@ } i++; } - IF_ADDR_UNLOCK(ifp); - + if_maddr_runlock(ifp); rm->idx++; return (macaddr); ==== //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#20 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:16:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED90A1065678; Mon, 29 Jun 2009 09:16:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD2D11065673 for ; Mon, 29 Jun 2009 09:16:08 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B58B8FC0A for ; Mon, 29 Jun 2009 09:16:08 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9G85A090050 for ; Mon, 29 Jun 2009 09:16:08 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9G8CY090048 for perforce@freebsd.org; Mon, 29 Jun 2009 09:16:08 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:16:08 GMT Message-Id: <200906290916.n5T9G8CY090048@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165375 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:16:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=165375 Change 165375 by pgj@petymeg-current on 2009/06/29 09:15:43 Add an initial version of stream structures for inet connections. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/in_pcb.h#3 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/in_pcb.h#3 (text+ko) ==== @@ -253,6 +253,50 @@ }; #endif /* _SYS_SOCKETVAR_H_ */ +/* + * Statistics structures for user space monitoring tools. + */ + +#define INPCB_STREAM_VERSION 0x00000001 + +struct inpcb_stream { + u_int32_t is_version; + u_int32_t is_count; + u_int64_t is_gencnt; +}; + +struct inpcb_data { + u_int64_t id_gencnt; + u_int16_t id_qlen; + u_int16_t id_incqlen; + u_int16_t id_qlimit; + u_int32_t id_snd_cc; + u_int32_t id_snd_mcnt; + u_int32_t id_snd_ccnt; + u_int32_t id_snd_hiwat; + u_int32_t id_snd_lowat; + u_int32_t id_snd_mbcnt; + u_int32_t id_snd_mbmax; + u_int32_t id_rcv_cc; + u_int32_t id_rcv_mcnt; + u_int32_t id_rcv_ccnt; + u_int32_t id_rcv_hiwat; + u_int32_t id_rcv_lowat; + u_int32_t id_rcv_mbcnt; + u_int32_t id_rcv_mbmax; + u_int64_t id_pcb; + u_int16_t id_protocol; + u_int8_t id_state; + u_int16_t id_flags; + u_int8_t id_vflag; + u_int16_t id_lport; + u_int16_t id_fport; + u_int8_t id_laddr[16]; + u_int8_t id_faddr[16]; + u_int8_t _id_pad[8]; +}; + + struct inpcbport { LIST_ENTRY(inpcbport) phd_hash; struct inpcbhead phd_pcblist; From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:18:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B6FE1065670; Mon, 29 Jun 2009 09:18:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF5331065677 for ; Mon, 29 Jun 2009 09:18:10 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CD15D8FC17 for ; Mon, 29 Jun 2009 09:18:10 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9IAXQ090172 for ; Mon, 29 Jun 2009 09:18:10 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9IAOL090170 for perforce@freebsd.org; Mon, 29 Jun 2009 09:18:10 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:18:10 GMT Message-Id: <200906290918.n5T9IAOL090170@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165376 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:18:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=165376 Change 165376 by pgj@petymeg-current on 2009/06/29 09:17:15 Add "spcblist" sysctl(8) variable for TCP connnections. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/tcp_subr.c#3 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/tcp_subr.c#3 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include #ifdef INET6 #include #endif @@ -1154,6 +1155,137 @@ tcp_pcblist, "S,xtcpcb", "List of active TCP connections"); static int +tcp_spcblist(SYSCTL_HANDLER_ARGS) +{ + struct inpcb_stream is; + struct inpcb_data id; + struct sbuf sbuf; + int error, i, buflen; + char *buffer; + + struct inpcb *inp, **inp_list; + struct socket *sock; + struct tcpcb *pcb; + + bzero(&is, sizeof(is)); + is.is_version = INPCB_STREAM_VERSION; + + INP_INFO_RLOCK(&V_tcbinfo); + is.is_gencnt = V_tcbinfo.ipi_gencnt; + is.is_count = V_tcbinfo.ipi_count; + INP_INFO_RUNLOCK(&V_tcbinfo); + + inp_list = malloc(is.is_count * sizeof(*inp_list), M_TEMP, M_WAITOK); + if (inp_list == NULL) + return (ENOMEM); + + INP_INFO_RLOCK(&V_tcbinfo); + for (inp = LIST_FIRST(V_tcbinfo.ipi_listhead), i = 0; + inp != NULL && i < is.is_count; inp = LIST_NEXT(inp, inp_list)) { + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt) { + if (inp->inp_flags & INP_TIMEWAIT) { + if (intotw(inp) != NULL) + error = cr_cansee(req->td->td_ucred, + intotw(inp)->tw_cred); + else + error = EINVAL; + } else + error = cr_canseeinpcb(req->td->td_ucred, inp); + if (error == 0) + inp_list[i++] = inp; + } + INP_RUNLOCK(inp); + } + INP_INFO_RUNLOCK(&V_tcbinfo); + is.is_count = i; + + error = 0; + buflen = sizeof(is) + is.is_count * sizeof(id) + 1; + buffer = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + sbuf_new(&sbuf, buffer, buflen, SBUF_FIXEDLEN); + + if (sbuf_bcat(&sbuf, &is, sizeof(is)) < 0) { + error = ENOMEM; + goto out; + } + + for (i = 0; i < is.is_count; i++) { + inp = inp_list[i]; + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt) { + bzero(&id, sizeof(id)); + id.id_gencnt = inp->inp_gencnt; + sock = inp->inp_socket; + if (sock != NULL) { + id.id_qlen = sock->so_qlen; + id.id_incqlen = sock->so_incqlen; + id.id_qlimit = sock->so_qlimit; + id.id_snd_cc = sock->so_snd.sb_cc; + id.id_snd_mcnt = sock->so_snd.sb_mcnt; + id.id_snd_ccnt = sock->so_snd.sb_ccnt; + id.id_snd_hiwat = sock->so_snd.sb_hiwat; + id.id_snd_lowat = sock->so_snd.sb_lowat; + id.id_snd_mbcnt = sock->so_snd.sb_mbcnt; + id.id_snd_mbmax = sock->so_snd.sb_mbmax; + id.id_rcv_cc = sock->so_rcv.sb_cc; + id.id_rcv_mcnt = sock->so_rcv.sb_mcnt; + id.id_rcv_ccnt = sock->so_rcv.sb_ccnt; + id.id_rcv_hiwat = sock->so_rcv.sb_hiwat; + id.id_rcv_lowat = sock->so_rcv.sb_lowat; + id.id_rcv_mbcnt = sock->so_rcv.sb_mbcnt; + id.id_rcv_mbmax = sock->so_rcv.sb_mbmax; + id.id_pcb = (u_long)sock->so_pcb; + id.id_protocol = sock->so_proto->pr_protocol; + } else { + id.id_protocol = IPPROTO_TCP; + } + pcb = (struct tcpcb *)inp->inp_ppcb; + if (pcb != NULL) { + if (inp->inp_flags & INP_TIMEWAIT) + id.id_state = TCPS_TIME_WAIT; + else + id.id_state = pcb->t_state; + } + id.id_flags = inp->inp_flags; + id.id_vflag = inp->inp_vflag; + id.id_lport = inp->inp_lport; + id.id_fport = inp->inp_fport; + if (inp->inp_vflag & INP_IPV4) { + bcopy(&inp->inp_laddr, &id.id_laddr, + sizeof(inp->inp_laddr)); + bcopy(&inp->inp_faddr, &id.id_faddr, + sizeof(inp->inp_faddr)); + } +#ifdef INET6 + else if (inp->inp_vflag & INP_IPV6) { + bcopy(&inp->in6p_laddr, &id.id_laddr, + sizeof(inp->in6p_laddr)); + bcopy(&inp->in6p_faddr, &id.id_faddr, + sizeof(inp->in6p_faddr)); + } +#endif + if (sbuf_bcat(&sbuf, &id, sizeof(id)) < 0) { + INP_RUNLOCK(inp); + error = ENOMEM; + goto out; + } + } + INP_RUNLOCK(inp); + } + sbuf_finish(&sbuf); + error = SYSCTL_OUT(req, sbuf_data(&sbuf), sbuf_len(&sbuf)); +out: + free(inp_list, M_TEMP); + free(buffer, M_TEMP); + return (error); +} + +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, spcblist, CTLFLAG_RD|CTLTYPE_STRUCT, + 0, 0, tcp_spcblist, "s,struct inpcb_data", + "List of active TCP connections (stream)"); + +static int tcp_getcred(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:18:12 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86A9A1065726; Mon, 29 Jun 2009 09:18:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BF1E1065678 for ; Mon, 29 Jun 2009 09:18:11 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EDC738FC18 for ; Mon, 29 Jun 2009 09:18:10 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9IAoU090177 for ; Mon, 29 Jun 2009 09:18:10 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9IAM4090175 for perforce@freebsd.org; Mon, 29 Jun 2009 09:18:10 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:18:10 GMT Message-Id: <200906290918.n5T9IAM4090175@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165377 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:18:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=165377 Change 165377 by pgj@petymeg-current on 2009/06/29 09:17:47 Add "spcblist" sysctl(8) variable for UDP connections. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/udp_usrreq.c#3 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/udp_usrreq.c#3 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -772,6 +773,118 @@ udp_pcblist, "S,xinpcb", "List of active UDP sockets"); static int +udp_spcblist(SYSCTL_HANDLER_ARGS) +{ + struct inpcb_stream is; + struct inpcb_data id; + struct sbuf sbuf; + int error, i, buflen; + char *buffer; + + struct inpcb *inp, **inp_list; + struct socket *sock; + + bzero(&is, sizeof(is)); + is.is_version = INPCB_STREAM_VERSION; + + INP_INFO_RLOCK(&V_udbinfo); + is.is_gencnt = V_udbinfo.ipi_gencnt; + is.is_count = V_udbinfo.ipi_count; + INP_INFO_RUNLOCK(&V_udbinfo); + + inp_list = malloc(is.is_count * sizeof(*inp_list), M_TEMP, M_WAITOK); + if (inp_list == NULL) + return (ENOMEM); + + INP_INFO_RLOCK(&V_udbinfo); + for (inp = LIST_FIRST(V_udbinfo.ipi_listhead), i = 0; + inp != NULL && i < is.is_count; inp = LIST_NEXT(inp, inp_list)) { + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt && + cr_canseeinpcb(req->td->td_ucred, inp) == 0) + inp_list[i++] = inp; + INP_RUNLOCK(inp); + } + INP_INFO_RUNLOCK(&V_udbinfo); + is.is_count = i; + + error = 0; + buflen = sizeof(is) + is.is_count * sizeof(id) + 1; + buffer = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + sbuf_new(&sbuf, buffer, buflen, SBUF_FIXEDLEN); + + if (sbuf_bcat(&sbuf, &is, sizeof(is)) < 0) { + error = ENOMEM; + goto out; + } + + for (i = 0; i < is.is_count; i++) { + inp = inp_list[i]; + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt) { + bzero(&id, sizeof(id)); + id.id_gencnt = inp->inp_gencnt; + sock = inp->inp_socket; + if (sock != NULL) { + id.id_qlen = sock->so_qlen; + id.id_incqlen = sock->so_incqlen; + id.id_qlimit = sock->so_qlimit; + id.id_snd_cc = sock->so_snd.sb_cc; + id.id_snd_mcnt = sock->so_snd.sb_mcnt; + id.id_snd_ccnt = sock->so_snd.sb_ccnt; + id.id_snd_hiwat = sock->so_snd.sb_hiwat; + id.id_snd_lowat = sock->so_snd.sb_lowat; + id.id_snd_mbcnt = sock->so_snd.sb_mbcnt; + id.id_snd_mbmax = sock->so_snd.sb_mbmax; + id.id_rcv_cc = sock->so_rcv.sb_cc; + id.id_rcv_mcnt = sock->so_rcv.sb_mcnt; + id.id_rcv_ccnt = sock->so_rcv.sb_ccnt; + id.id_rcv_hiwat = sock->so_rcv.sb_hiwat; + id.id_rcv_lowat = sock->so_rcv.sb_lowat; + id.id_rcv_mbcnt = sock->so_rcv.sb_mbcnt; + id.id_rcv_mbmax = sock->so_rcv.sb_mbmax; + id.id_pcb = (u_long)sock->so_pcb; + id.id_protocol = sock->so_proto->pr_protocol; + } + id.id_flags = inp->inp_flags; + id.id_vflag = inp->inp_vflag; + id.id_lport = inp->inp_lport; + id.id_fport = inp->inp_fport; + if (inp->inp_vflag & INP_IPV4) { + bcopy(&inp->inp_laddr, &id.id_laddr, + sizeof(inp->inp_laddr)); + bcopy(&inp->inp_faddr, &id.id_faddr, + sizeof(inp->inp_faddr)); + } +#ifdef INET6 + else if (inp->inp_vflag & INP_IPV6) { + bcopy(&inp->in6p_laddr, &id.id_laddr, + sizeof(inp->in6p_laddr)); + bcopy(&inp->in6p_faddr, &id.id_faddr, + sizeof(inp->in6p_faddr)); + } +#endif + if (sbuf_bcat(&sbuf, &id, sizeof(id)) < 0) { + INP_RUNLOCK(inp); + error = ENOMEM; + goto out; + } + } + INP_RUNLOCK(inp); + } + sbuf_finish(&sbuf); + error = SYSCTL_OUT(req, sbuf_data(&sbuf), sbuf_len(&sbuf)); +out: + free(inp_list, M_TEMP); + free(buffer, M_TEMP); + return (error); +} + +SYSCTL_PROC(_net_inet_udp, OID_AUTO, spcblist, CTLFLAG_RD|CTLTYPE_STRUCT, + 0, 0, udp_spcblist, "s,struct inpcb_data", + "List of active UDP sockets (stream)"); + +static int udp_getcred(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:19:12 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8361B1065677; Mon, 29 Jun 2009 09:19:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41A5B106566C for ; Mon, 29 Jun 2009 09:19:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F5C48FC39 for ; Mon, 29 Jun 2009 09:19:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9JCCa090253 for ; Mon, 29 Jun 2009 09:19:12 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9JChM090251 for perforce@freebsd.org; Mon, 29 Jun 2009 09:19:12 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:19:12 GMT Message-Id: <200906290919.n5T9JChM090251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165378 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:19:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=165378 Change 165378 by pgj@petymeg-current on 2009/06/29 09:18:20 Add "spcblist" sysctl(8) variable for raw IP connections. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/raw_ip.c#2 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/raw_ip.c#2 (text+ko) ==== @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -1040,6 +1041,118 @@ SYSCTL_PROC(_net_inet_raw, OID_AUTO/*XXX*/, pcblist, CTLFLAG_RD, 0, 0, rip_pcblist, "S,xinpcb", "List of active raw IP sockets"); +static int +rip_spcblist(SYSCTL_HANDLER_ARGS) +{ + struct inpcb_stream is; + struct inpcb_data id; + struct sbuf sbuf; + int error, i, buflen; + char *buffer; + + struct inpcb *inp, **inp_list; + struct socket *sock; + + bzero(&is, sizeof(is)); + is.is_version = INPCB_STREAM_VERSION; + + INP_INFO_RLOCK(&V_ripcbinfo); + is.is_gencnt = V_ripcbinfo.ipi_gencnt; + is.is_count = V_ripcbinfo.ipi_count; + INP_INFO_RUNLOCK(&V_ripcbinfo); + + inp_list = malloc(is.is_count * sizeof(*inp_list), M_TEMP, M_WAITOK); + if (inp_list == NULL) + return (ENOMEM); + + INP_INFO_RLOCK(&V_ripcbinfo); + for (inp = LIST_FIRST(V_ripcbinfo.ipi_listhead), i = 0; + inp != NULL && i < is.is_count; inp = LIST_NEXT(inp, inp_list)) { + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt && + cr_canseeinpcb(req->td->td_ucred, inp) == 0) { + inp_list[i++] = inp; + } + INP_RUNLOCK(inp); + } + INP_INFO_RUNLOCK(&V_ripcbinfo); + is.is_count = i; + + error = 0; + buflen = sizeof(is) + is.is_count * sizeof(id) + 1; + buffer = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + sbuf_new(&sbuf, buffer, buflen, SBUF_FIXEDLEN); + + if (sbuf_bcat(&sbuf, &is, sizeof(is)) < 0) { + error = ENOMEM; + goto out; + } + + for (i = 0; i < is.is_count; i++) { + inp = inp_list[i]; + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt) { + bzero(&id, sizeof(id)); + id.id_gencnt = inp->inp_gencnt; + sock = inp->inp_socket; + if (sock != NULL) { + id.id_qlen = sock->so_qlen; + id.id_qlimit = sock->so_qlimit; + id.id_snd_cc = sock->so_snd.sb_cc; + id.id_snd_mcnt = sock->so_snd.sb_mcnt; + id.id_snd_ccnt = sock->so_snd.sb_ccnt; + id.id_snd_hiwat = sock->so_snd.sb_hiwat; + id.id_snd_lowat = sock->so_snd.sb_lowat; + id.id_snd_mbcnt = sock->so_snd.sb_mbcnt; + id.id_snd_mbmax = sock->so_snd.sb_mbmax; + id.id_rcv_cc = sock->so_rcv.sb_cc; + id.id_rcv_mcnt = sock->so_rcv.sb_mcnt; + id.id_rcv_ccnt = sock->so_rcv.sb_ccnt; + id.id_rcv_hiwat = sock->so_rcv.sb_hiwat; + id.id_rcv_lowat = sock->so_rcv.sb_lowat; + id.id_rcv_mbcnt = sock->so_rcv.sb_mbcnt; + id.id_rcv_mbmax = sock->so_rcv.sb_mbmax; + id.id_pcb = (u_long)sock->so_pcb; + id.id_protocol = sock->so_proto->pr_protocol; + } + id.id_flags = inp->inp_flags; + id.id_vflag = inp->inp_vflag; + id.id_lport = inp->inp_lport; + id.id_fport = inp->inp_fport; + if (inp->inp_vflag & INP_IPV4) { + bcopy(&inp->inp_laddr, &id.id_laddr, + sizeof(inp->inp_laddr)); + bcopy(&inp->inp_faddr, &id.id_faddr, + sizeof(inp->inp_faddr)); + } +#ifdef INET6 + else if (inp->inp_vflag & INP_IPV6) { + bcopy(&inp->in6p_laddr, &id.id_laddr, + sizeof(inp->in6p_laddr)); + bcopy(&inp->in6p_faddr, &id.id_faddr, + sizeof(inp->in6p_faddr)); + } +#endif + if (sbuf_bcat(&sbuf, &id, sizeof(id)) < 0) { + INP_RUNLOCK(inp); + error = ENOMEM; + goto out; + } + } + INP_RUNLOCK(inp); + } + sbuf_finish(&sbuf); + error = SYSCTL_OUT(req, sbuf_data(&sbuf), sbuf_len(&sbuf)); +out: + free(inp_list, M_TEMP); + free(buffer, M_TEMP); + return (error); +} + +SYSCTL_PROC(_net_inet_raw, OID_AUTO, spcblist, CTLFLAG_RD|CTLTYPE_STRUCT, + 0, 0, rip_spcblist, "s,struct inpcb_data", + "List of active raw IP sockets (stream)"); + struct pr_usrreqs rip_usrreqs = { .pru_abort = rip_abort, .pru_attach = rip_attach, From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:19:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 892061065740; Mon, 29 Jun 2009 09:19:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 79FDE1065674 for ; Mon, 29 Jun 2009 09:19:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 67EC98FC3F for ; Mon, 29 Jun 2009 09:19:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9JC7s090258 for ; Mon, 29 Jun 2009 09:19:12 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9JC7T090256 for perforce@freebsd.org; Mon, 29 Jun 2009 09:19:12 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:19:12 GMT Message-Id: <200906290919.n5T9JC7T090256@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165379 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:19:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=165379 Change 165379 by pgj@petymeg-current on 2009/06/29 09:18:49 Add "spcblist" sysctl(8) variable for diverted IP connections. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_divert.c#2 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/ip_divert.c#2 (text+ko) ==== @@ -54,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -695,10 +696,121 @@ return error; } +static int +div_spcblist(SYSCTL_HANDLER_ARGS) +{ + struct inpcb_stream is; + struct inpcb_data id; + struct sbuf sbuf; + int error, i, buflen; + char *buffer; + + struct inpcb *inp, **inp_list; + struct socket *sock; + + bzero(&is, sizeof(is)); + is.is_version = INPCB_STREAM_VERSION; + + INP_INFO_RLOCK(&V_divcbinfo); + is.is_gencnt = V_divcbinfo.ipi_gencnt; + is.is_count = V_divcbinfo_ipi_count; + INP_INFO_RUNLOCK(&V_divcbinfo); + + inp_list = malloc(is.is_count * sizeof(*inp_list), M_TEMP, M_WAITOK); + if (inp_list == NULL) + return (ENOMEM); + + INP_INFO_RLOCK(&V_divcbinfo); + for (inp = LIST_FIRST(V_divcbinfo.ipi_listhead), i = 0; + inp != NULL && i < is.is_count; inp = LIST_NEXT(inp, inp_list)) { + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt && + cr_canseeinpcb(req->td->td_ucred) == 0) + inp_list[i++] = inp; + INP_RUNLOCK(inp); + } + INP_INFO_RUNLOCK(&V_divcbinfo); + is.is_count = i; + + error = 0; + buflen = sizeof(is) + is.is_count * sizeof(id) + 1; + buffer = malloc(buflen, M_TEMP, M_WAITOK | M_ZERO); + sbuf_new(&sbuf, buffer, buflen, SBUF_FIXEDLEN); + + if (sbuf_bcat(&sbuf, &is, sizeof(is)) < 0) { + error = ENOMEM; + goto out; + } + + for (i = 0; i < is.is_count; i++) { + inp = inp_list[i]; + INP_RLOCK(inp); + if (inp->inp_gencnt <= is.is_gencnt) { + bzero(&id, sizeof(id)); + id.id_gencnt = inp->inp_gencnt; + sock = inp->inp_socket; + if (sock != NULL) { + id.id_qlen = sock->so_qlen; + id.id_incqlen = sock->so_incqlen; + id.id_qlimit = sock->so_qlimit; + id.id_snd_cc = sock->so_snd.sb_cc; + id.id_snd_mcnt = sock->so_snd.sb_mcnt; + id.id_snd_ccnt = sock->so_snd.sb_ccnt; + id.id_snd_hiwat = sock->so_snd.sb_hiwat; + id.id_snd_lowat = sock->so_snd.sb_lowat; + id.id_snd_mbcnt = sock->so_snd.sb_mbcnt; + id.id_snd_mbmax = sock->so_snd.sb_mbmax; + id.id_rcv_cc = sock->so_rcv.sb_cc; + id.id_rcv_mcnt = sock->so_rcv.sb_mcnt; + id.id_rcv_ccnt = sock->so_rcv.sb_ccnt; + id.id_rcv_hiwat = sock->so_rcv.sb_hiwat; + id.id_rcv_lowat = sock->so_rcv.sb_lowat; + id.id_rcv_mbcnt = sock->so_rcv.sb_mbcnt; + id.id_rcv_mbmax = sock->so_rcv.sb_mbmax; + id.id_pcb = (u_long)sock->so_pcb; + id.id_protocol = sock->so_proto->pr_protocol; + } + id.id_flags = inp->inp_flags; + id.id_vflag = inp->inp_vflag; + id.id_lport = inp->inp_lport; + id.id_fport = inp->inp_fport; + if (inp->inp_vflag & INP_IPV4) { + bcopy(&inp->inp_laddr, &id.id_laddr, + sizeof(inp->inp_laddr)); + bcopy(&inp->inp_faddr, &id.id_faddr, + sizeof(inp->inp_faddr)); + } +#ifdef INET6 + else if (inp->inp_vflag & INP_IPV6) { + bcopy(&inp->in6p_laddr, &id.id_laddr, + sizeof(inp->in6p_laddr)); + bcopy(&inp->in6p_faddr, &id.id_faddr, + sizeof(inp->in6p_faddr)); + } +#endif + if (sbuf_bcat(&sbuf, &id, sizeof(id)) < 0) { + INP_RUNLOCK(inp); + error = ENOMEM; + goto out; + } + } + INP_RUNLOCK(inp); + } + sbuf_finish(&sbuf); + error = SYSCTL_OUT(req, sbuf_data(&sbuf), sbuf_len(&sbuf)); +out: + free(inp_list, M_TEMP); + free(buffer, M_TEMP); + return (error); +} + #ifdef SYSCTL_NODE SYSCTL_NODE(_net_inet, IPPROTO_DIVERT, divert, CTLFLAG_RW, 0, "IPDIVERT"); SYSCTL_PROC(_net_inet_divert, OID_AUTO, pcblist, CTLFLAG_RD, 0, 0, div_pcblist, "S,xinpcb", "List of active divert sockets"); +SYSCTL_PROC(_net_inet_divert, OID_AUTO, spcblist, CTLFLAG_RD|CTLTYPE_STRUCT, + 0, 0, div_spcblist, "s,struct inpcb_data", + "List of active divert sockets (stream)"); #endif struct pr_usrreqs div_usrreqs = { From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:21:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23258106567A; Mon, 29 Jun 2009 09:21:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5AA5106566C for ; Mon, 29 Jun 2009 09:21:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B8BEC8FC17 for ; Mon, 29 Jun 2009 09:21:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9LEjb090500 for ; Mon, 29 Jun 2009 09:21:14 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9LEKv090498 for perforce@freebsd.org; Mon, 29 Jun 2009 09:21:14 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:21:14 GMT Message-Id: <200906290921.n5T9LEKv090498@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165380 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:21:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165380 Change 165380 by pgj@petymeg-current on 2009/06/29 09:20:38 Modify libnetstat to use spcblist structures for monitoring inet connections. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#36 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#36 (text+ko) ==== @@ -54,6 +54,7 @@ static void extract_unpcb_data(struct unpcb_data *, struct socket_type *); static void extract_inet_data(struct tcpcb *, struct inpcb *, struct xsocket *, struct socket_type *); +static void extract_inpcb_data(struct inpcb_data *, struct socket_type *); static char ntop_buf[INET_ADDRSTRLEN]; static char ntop_buf6[INET6_ADDRSTRLEN]; @@ -167,18 +168,17 @@ net_inet_pcblist_sysctl(int family, int protocol, struct socket_type_list *list, int flags) { - char *buf; + char *buf, *p; size_t len; char mibvar[64]; - struct xinpgen *xig, *oxig; - struct tcpcb *tp = NULL; - struct inpcb *inp; - struct xsocket *so; + u_int i; - struct socket_type *stp; + struct inpcb_stream *isp; + struct inpcb_data *idp; + struct socket_type *stp; - sprintf(mibvar, "net.inet.%s.pcblist", ipproto(protocol)); + sprintf(mibvar, "net.inet.%s.spcblist", ipproto(protocol)); len = 0; if (sysctlbyname(mibvar, 0, &len, 0, 0) < 0) { @@ -195,60 +195,65 @@ free(buf); return (-2); } + if (len < sizeof(*isp)) { + list->stl_error = NETSTAT_ERROR_VERSION; + free(buf); + return (-2); + } - oxig = xig = (struct xinpgen *)buf; - for (xig = (struct xinpgen *)((char *)xig + xig->xig_len); - xig->xig_len > sizeof(struct xinpgen); - xig = (struct xinpgen *)((char *)xig + xig->xig_len)) { - if (protocol == IPPROTO_TCP) { - tp = &((struct xtcpcb *)xig)->xt_tp; - inp = &((struct xtcpcb *)xig)->xt_inp; - so = &((struct xtcpcb *)xig)->xt_socket; - } else { - inp = &((struct xinpcb *)xig)->xi_inp; - so = &((struct xinpcb *)xig)->xi_socket; - } + p = buf; + isp = (struct inpcb_stream *)p; + p += sizeof(*isp); + + if (isp->is_version != INPCB_STREAM_VERSION) { + list->stl_error = NETSTAT_ERROR_VERSION; + free(buf); + return (-1); + } + + for (i = 0; i < isp->is_count; i++) { + idp = (struct inpcb_data *)p; + p += sizeof(*idp); - /* Ignore sockets for protocols other than the desired one. - XXX: is this needed? */ - if (so->xso_protocol != protocol) + if (idp->id_protocol != protocol) continue; /* Keep active PCBs only. */ - if (inp->inp_gencnt > oxig->xig_gen) + if (idp->id_gencnt > isp->is_gencnt) continue; /* Not a valid IPv4/IPv6 connection. */ - if (((inp->inp_vflag & INP_IPV4) == 0) + if (((idp->id_vflag & INP_IPV4) == 0) #ifdef INET6 - && ((inp->inp_vflag & INP_IPV6) == 0) + && ((idp->id_vflag & INP_IPV6) == 0) #endif ) continue; #ifdef INET6 - if ((family == PF_INET && ((inp->inp_vflag & INP_IPV4) == 0)) || - (family == PF_INET6 && ((inp->inp_vflag & INP_IPV6) == 0))) + if ((family == PF_INET && ((idp->id_vflag & INP_IPV4) == 0)) || + (family == PF_INET6 && ((idp->id_vflag & INP_IPV6) == 0))) continue; #endif if ((flags & NETSTAT_SOCKET_ALL) == 0 && ( - (protocol == IPPROTO_TCP && tp->t_state == TCPS_LISTEN) - || ((inp->inp_vflag & INP_IPV4) != 0 && - inet_lnaof(inp->inp_laddr) == INADDR_ANY) + (protocol == IPPROTO_TCP && idp->id_state == TCPS_LISTEN) + || ((idp->id_vflag & INP_IPV4) != 0 && + inet_lnaof(*((struct in_addr *)&idp->id_laddr)) + == INADDR_ANY) #ifdef INET6 - || ((inp->inp_vflag & INP_IPV6) != 0 && - IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) + || ((idp->id_vflag & INP_IPV6) != 0 && + IN6_IS_ADDR_UNSPECIFIED((struct in6_addr *)&idp->id_laddr)) #endif - )) + )) continue; stp = _netstat_st_allocate(list, family, protocol, ipproto(protocol)); - extract_inet_data(tp, inp, so, stp); + extract_inpcb_data(idp, stp); } - + free(buf); return (0); } @@ -768,6 +773,84 @@ #endif } +void +extract_inpcb_data(struct inpcb_data *idp, struct socket_type *stp) +{ + const char *vchar; + + stp->st_qlen = idp->id_qlen; + stp->st_incqlen = idp->id_incqlen; + stp->st_qlimit = idp->id_qlimit; + stp->st_snd.sbt_cc = idp->id_snd_cc; + stp->st_snd.sbt_mcnt = idp->id_snd_mcnt; + stp->st_snd.sbt_ccnt = idp->id_snd_ccnt; + stp->st_snd.sbt_hiwat = idp->id_snd_hiwat; + stp->st_snd.sbt_lowat = idp->id_snd_lowat; + stp->st_snd.sbt_mbcnt = idp->id_snd_mbcnt; + stp->st_snd.sbt_mbmax = idp->id_snd_mbmax; + stp->st_rcv.sbt_cc = idp->id_rcv_cc; + stp->st_rcv.sbt_mcnt = idp->id_rcv_mcnt; + stp->st_rcv.sbt_ccnt = idp->id_rcv_ccnt; + stp->st_rcv.sbt_hiwat = idp->id_rcv_hiwat; + stp->st_rcv.sbt_lowat = idp->id_rcv_lowat; + stp->st_rcv.sbt_mbcnt = idp->id_rcv_mbcnt; + stp->st_rcv.sbt_mbmax = idp->id_rcv_mbmax; + stp->st_pcb = idp->id_pcb; + if (idp->id_protocol == IPPROTO_TCP) { + if (idp->id_state >= TCP_NSTATES) + sprintf(stp->st_tcpstate, "%d", idp->id_state); + else { + sprintf(stp->st_tcpstate, "%s", + tcpstates[idp->id_state]); +#if defined(TF_NEEDSYN) && defined(TF_NEEDFIN) + /* T/TCP `hidden state` */ + if (idp->id_flags & (TF_NEEDSYN | TF_NEEDFIN)) + strcpy(stp->st_tcpstate, "*"); +#endif /* defined(TF_NEEDSYN) && defined(TF_NEEDFIN) */ + } + stp->st_flags |= SOCKTYPE_TCP; + } +#ifdef INET6 + if ((idp->id_vflag & INP_IPV6) != 0) + vchar = ((idp->id_vflag & INP_IPV4) != 0) ? "46" : "6"; + else +#endif + vchar = ((idp->id_vflag & INP_IPV4) != 0) ? "4 " : " "; + sprintf(stp->st_extname, "%-3.3s%-2.2s", stp->st_name, vchar); + /* Local address. */ + if (idp->id_vflag & INP_IPV4) { + stp->st_address[stp->st_addrcnt] = + extract_inet_address(stp, NETSTAT_ADDRTYPE_INET_LOCAL, + (struct in_addr *)&idp->id_laddr, idp->id_lport, + idp->id_vflag & INP_ANONPORT); + stp->st_addrcnt += 1; + } +#ifdef INET6 + else if (idp->id_vflag & INP_IPV6) { + stp->st_address[stp->st_addrcnt] = + extract_inet6_address(stp, NETSTAT_ADDRTYPE_INET6_LOCAL, + (struct in6_addr *)&idp->id_laddr, idp->id_lport); + stp->st_addrcnt += 1; + } +#endif + /* Foreign address. */ + if (idp->id_vflag & INP_IPV4) { + stp->st_address[stp->st_addrcnt] = + extract_inet_address(stp, NETSTAT_ADDRTYPE_INET_FOREIGN, + (struct in_addr *)&idp->id_faddr, idp->id_fport, + idp->id_vflag & INP_ANONPORT); + stp->st_addrcnt += 1; + } +#ifdef INET6 + else if (idp->id_vflag & INP_IPV6) { + stp->st_address[stp->st_addrcnt] = + extract_inet6_address(stp, NETSTAT_ADDRTYPE_INET6_FOREIGN, + (struct in6_addr *)&idp->id_faddr, idp->id_fport); + stp->st_addrcnt += 1; + } +#endif +} + struct addr_type * extract_inet_address(struct socket_type *parent, int type, struct in_addr *in, u_short port, int anonport) From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:51:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A75CB1065674; Mon, 29 Jun 2009 09:51:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67A841065672 for ; Mon, 29 Jun 2009 09:51:48 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 564578FC0C for ; Mon, 29 Jun 2009 09:51:48 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9pmbX092623 for ; Mon, 29 Jun 2009 09:51:48 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9pmDq092621 for perforce@freebsd.org; Mon, 29 Jun 2009 09:51:48 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:51:48 GMT Message-Id: <200906290951.n5T9pmDq092621@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165381 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:51:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165381 Change 165381 by pgj@petymeg-current on 2009/06/29 09:51:18 Add padding for unpcb streamed data. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#4 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#4 (text+ko) ==== @@ -160,11 +160,11 @@ /* Exported data for user applications (not complete) */ struct unpcb_data { u_int64_t ud_gencnt; - uint8_t ud_address_len; + u_int8_t ud_address_len; char ud_address[104]; - uint16_t ud_qlen; - uint16_t ud_incqlen; - uint16_t ud_qlimit; + u_int16_t ud_qlen; + u_int16_t ud_incqlen; + u_int16_t ud_qlimit; u_int32_t ud_snd_cc; u_int32_t ud_snd_mcnt; u_int32_t ud_snd_ccnt; @@ -184,6 +184,7 @@ u_int64_t ud_conn; u_int64_t ud_refs; u_int64_t ud_reflink; + u_int8_t _ud_pad[51]; }; #endif /* _SYS_UNPCB_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:52:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B13E0106567C; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6866E1065670 for ; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 567128FC14 for ; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9qnwQ092681 for ; Mon, 29 Jun 2009 09:52:49 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9qneJ092679 for perforce@freebsd.org; Mon, 29 Jun 2009 09:52:49 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 29 Jun 2009 09:52:49 GMT Message-Id: <200906290952.n5T9qneJ092679@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165382 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:52:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=165382 Change 165382 by pgj@petymeg-current on 2009/06/29 09:52:22 Add some additional checks to spcblist routine. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/sys/kern/uipc_usrreq.c#5 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/sys/kern/uipc_usrreq.c#5 (text+ko) ==== @@ -1514,17 +1514,18 @@ UNP_LIST_UNLOCK(); unp_list = malloc(us.us_count * sizeof(*unp_list), M_TEMP, M_WAITOK); + if (unp_list == NULL) + return (ENOMEM); UNP_LIST_LOCK(); for (unp = LIST_FIRST(head), i = 0; (unp != NULL) && (i < us.us_count); unp = LIST_NEXT(unp, unp_link)) { UNP_PCB_LOCK(unp); - if (unp->unp_gencnt <= us.us_gencnt) { - if (cr_cansee(req->td->td_ucred, - unp->unp_socket->so_cred) == 0) { - unp_list[i++] = unp; - unp->unp_refcount++; - } + if (unp->unp_gencnt <= us.us_gencnt && + cr_cansee(req->td->td_ucred, + unp->unp_socket->so_cred) == 0) { + unp_list[i++] = unp; + unp->unp_refcount++; } UNP_PCB_UNLOCK(unp); } @@ -1546,25 +1547,27 @@ unp->unp_refcount--; if (unp->unp_refcount != 0 && unp->unp_gencnt <= us.us_gencnt) { bzero(&ud, sizeof(ud)); + ud.ud_gencnt = unp->unp_gencnt; sock = unp->unp_socket; - ud.ud_gencnt = unp->unp_gencnt; - ud.ud_qlen = sock->so_qlen; - ud.ud_incqlen = sock->so_incqlen; - ud.ud_qlimit = sock->so_qlimit; - ud.ud_snd_cc = sock->so_snd.sb_cc; - ud.ud_snd_mcnt = sock->so_snd.sb_mcnt; - ud.ud_snd_ccnt = sock->so_snd.sb_ccnt; - ud.ud_snd_hiwat = sock->so_snd.sb_hiwat; - ud.ud_snd_lowat = sock->so_snd.sb_lowat; - ud.ud_snd_mbcnt = sock->so_snd.sb_mbcnt; - ud.ud_snd_mbmax = sock->so_snd.sb_mbmax; - ud.ud_rcv_cc = sock->so_rcv.sb_cc; - ud.ud_rcv_mcnt = sock->so_rcv.sb_mcnt; - ud.ud_rcv_ccnt = sock->so_rcv.sb_ccnt; - ud.ud_rcv_hiwat = sock->so_rcv.sb_hiwat; - ud.ud_rcv_lowat = sock->so_rcv.sb_lowat; - ud.ud_rcv_mbcnt = sock->so_rcv.sb_mbcnt; - ud.ud_rcv_mbmax = sock->so_rcv.sb_mbmax; + if (sock != NULL) { + ud.ud_qlen = sock->so_qlen; + ud.ud_incqlen = sock->so_incqlen; + ud.ud_qlimit = sock->so_qlimit; + ud.ud_snd_cc = sock->so_snd.sb_cc; + ud.ud_snd_mcnt = sock->so_snd.sb_mcnt; + ud.ud_snd_ccnt = sock->so_snd.sb_ccnt; + ud.ud_snd_hiwat = sock->so_snd.sb_hiwat; + ud.ud_snd_lowat = sock->so_snd.sb_lowat; + ud.ud_snd_mbcnt = sock->so_snd.sb_mbcnt; + ud.ud_snd_mbmax = sock->so_snd.sb_mbmax; + ud.ud_rcv_cc = sock->so_rcv.sb_cc; + ud.ud_rcv_mcnt = sock->so_rcv.sb_mcnt; + ud.ud_rcv_ccnt = sock->so_rcv.sb_ccnt; + ud.ud_rcv_hiwat = sock->so_rcv.sb_hiwat; + ud.ud_rcv_lowat = sock->so_rcv.sb_lowat; + ud.ud_rcv_mbcnt = sock->so_rcv.sb_mbcnt; + ud.ud_rcv_mbmax = sock->so_rcv.sb_mbmax; + } ud.ud_pcb = (u_long)sock->so_pcb; ud.ud_vnode = (u_long)unp->unp_vnode; ud.ud_conn = (u_long)unp->unp_conn; @@ -1580,7 +1583,7 @@ UNP_PCB_UNLOCK(unp); if (sbuf_bcat(&sbuf, &ud, sizeof(ud)) < 0) { error = ENOMEM; - goto uout; + goto out; } } else { freeunp = (unp->unp_refcount == 0); @@ -1593,9 +1596,8 @@ } sbuf_finish(&sbuf); error = SYSCTL_OUT(req, sbuf_data(&sbuf), sbuf_len(&sbuf)); -uout: +out: free(unp_list, M_TEMP); -out: free(buffer, M_TEMP); return (error); } From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:52:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50A2A106566C; Mon, 29 Jun 2009 09:52:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 944F61065678 for ; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 774AA8FC15 for ; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9qnqN092686 for ; Mon, 29 Jun 2009 09:52:49 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9qnaQ092684 for perforce@freebsd.org; Mon, 29 Jun 2009 09:52:49 GMT (envelope-from fangwang@FreeBSD.org) Date: Mon, 29 Jun 2009 09:52:49 GMT Message-Id: <200906290952.n5T9qnaQ092684@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 165383 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=165383 Change 165383 by fangwang@fangwang_utobsd on 2009/06/29 09:52:37 Tmp submit. Affected files ... .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#3 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#3 (text+ko) ==== @@ -1,8 +1,37 @@ +/*- + * Copyright (c) + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 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. + * + * $FreeBSD: src/tools/regression/netinet/tcputo/tcputo.c $ + */ + #include #include #include -#include +//#include +#include "tcp.h" #include @@ -52,7 +81,7 @@ char buf[16*1024]; long port; int user_timeout; - int optval = 4*1024; + int optval; if (argc != 1) usage(); @@ -70,7 +99,10 @@ listen_sock = socket(PF_INET, SOCK_STREAM, 0); if (listen_sock == -1) err(-1, "socket"); - + optval = 150; + /*if (setsockopt(listen_sock, IPPROTO_TCP, TCP_UTO, &optval, sizeof(optval)) == -1) + err(-1, "setsockopt"); +*/ if (bind(listen_sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) err(-1, "bind"); @@ -79,6 +111,7 @@ accept_sock = accept(listen_sock, NULL, NULL); close(listen_sock); + optval = 4*1024; if (setsockopt(accept_sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); while(1) { @@ -103,11 +136,10 @@ tcputo_client(int argc, char *argv[]) { struct sockaddr_in sin; - long count, i, port; + long port; char *dummy; char buf[16*1024]; int sock; - int nonblock = 0, md5enable = 0; int user_timeout; int optval = 4*1024; @@ -130,7 +162,10 @@ err(-1, "socket"); if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); - + optval = 150; +/* if (setsockopt(sock, IPPROTO_TCP, TCP_UTO, &optval, sizeof(optval)) == -1) + err(-1, "setsockopt"); +*/ /* No warning in default case on ENOPROTOOPT. */ /* if (setsockopt(sock, IPPROTO_TCP, TCP_MD5SIG, &md5enable, sizeof(md5enable)) != 0) { From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:52:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5722E1065672; Mon, 29 Jun 2009 09:52:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA8D31065679 for ; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 983C18FC0C for ; Mon, 29 Jun 2009 09:52:49 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9qnVx092691 for ; Mon, 29 Jun 2009 09:52:49 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9qnLt092689 for perforce@freebsd.org; Mon, 29 Jun 2009 09:52:49 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 09:52:49 GMT Message-Id: <200906290952.n5T9qnLt092689@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165384 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=165384 Change 165384 by mav@mav_mavbook on 2009/06/29 09:52:48 Fix lock recursion on polling. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#39 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#39 (text+ko) ==== @@ -63,6 +63,7 @@ static int ahci_resume(device_t dev); static int ahci_ch_suspend(device_t dev); static int ahci_ch_resume(device_t dev); +static void ahci_ch_intr_locked(void *data); static void ahci_ch_intr(void *data); static int ahci_ctlr_reset(device_t dev); static void ahci_begin_transaction(device_t dev, union ccb *ccb); @@ -552,7 +553,7 @@ return (ENXIO); } if ((bus_setup_intr(dev, ch->r_irq, ATA_INTR_FLAGS, NULL, - ahci_ch_intr, dev, &ch->ih))) { + ahci_ch_intr_locked, dev, &ch->ih))) { device_printf(dev, "Unable to setup interrupt\n"); error = ENXIO; goto err1; @@ -847,6 +848,17 @@ } static void +ahci_ch_intr_locked(void *data) +{ + device_t dev = (device_t)data; + struct ahci_channel *ch = device_get_softc(dev); + + mtx_lock(&ch->mtx); + ahci_ch_intr(data); + mtx_unlock(&ch->mtx); +} + +static void ahci_ch_intr(void *data) { device_t dev = (device_t)data; @@ -855,7 +867,6 @@ enum ahci_err_type et; int i, ccs, ncq_err = 0; - mtx_lock(&ch->mtx); /* Read and clear interrupt statuses. */ istatus = ATA_INL(ch->r_mem, AHCI_P_IS); ATA_OUTL(ch->r_mem, AHCI_P_IS, istatus); @@ -924,7 +935,6 @@ if (ncq_err) ahci_issue_read_log(dev); } - mtx_unlock(&ch->mtx); } /* Must be called with channel locked. */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 09:55:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 638DA10656A7; Mon, 29 Jun 2009 09:55:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20EAB10656A3 for ; Mon, 29 Jun 2009 09:55:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0E63D8FC1A for ; Mon, 29 Jun 2009 09:55:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T9tqYx092970 for ; Mon, 29 Jun 2009 09:55:52 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5T9tqUA092968 for perforce@freebsd.org; Mon, 29 Jun 2009 09:55:52 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 09:55:52 GMT Message-Id: <200906290955.n5T9tqUA092968@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165385 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:55:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165385 Change 165385 by mav@mav_mavbook on 2009/06/29 09:55:13 Fix locking issue. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#15 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#15 (text+ko) ==== @@ -714,6 +714,17 @@ softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE; adasetgeom(periph, cgd); + softc->disk->d_sectorsize = softc->params.secsize; + softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors; + /* XXX: these are not actually "firmware" values, so they may be wrong */ + softc->disk->d_fwsectors = softc->params.secs_per_track; + softc->disk->d_fwheads = softc->params.heads; +// softc->disk->d_devstat->block_size = softc->params.secsize; +// softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE; + + disk_create(softc->disk, DISK_VERSION); + mtx_lock(periph->sim->mtx); + dp = &softc->params; snprintf(announce_buf, sizeof(announce_buf), "%juMB (%ju %u byte sectors: %dH %dS/T %dC)", @@ -728,17 +739,6 @@ periph->periph_name, periph->unit_number); } - softc->disk->d_sectorsize = softc->params.secsize; - softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors; - /* XXX: these are not actually "firmware" values, so they may be wrong */ - softc->disk->d_fwsectors = softc->params.secs_per_track; - softc->disk->d_fwheads = softc->params.heads; -// softc->disk->d_devstat->block_size = softc->params.secsize; -// softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE; - - disk_create(softc->disk, DISK_VERSION); - mtx_lock(periph->sim->mtx); - /* * Add async callbacks for bus reset and * bus device reset calls. I don't bother From owner-p4-projects@FreeBSD.ORG Mon Jun 29 11:11:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 584CC106567F; Mon, 29 Jun 2009 11:11:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9DA2F106568C for ; Mon, 29 Jun 2009 11:11:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8685C8FC08 for ; Mon, 29 Jun 2009 11:11:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TBBFPH000555 for ; Mon, 29 Jun 2009 11:11:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TBBFrR000553 for perforce@freebsd.org; Mon, 29 Jun 2009 11:11:15 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 29 Jun 2009 11:11:15 GMT Message-Id: <200906291111.n5TBBFrR000553@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165387 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 11:11:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=165387 Change 165387 by hselasky@hselasky_laptop001 on 2009/06/29 11:11:10 USB CORE: busdma improvement For single segment allocations the boundary field of the BUSDMA tag should be zero. Currently all single segment allocations are less than or equal to 4096 bytes, so the limit does not kick in. If any single segment USB allocations would be greater than 4K, then it would be a problem. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#13 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#13 (text+ko) ==== @@ -359,7 +359,8 @@ if (bus_dma_tag_create ( /* parent */ udt->tag_parent->tag, /* alignment */ align, - /* boundary */ USB_PAGE_SIZE, + /* boundary */ (align == 1) ? + USB_PAGE_SIZE : 0, /* lowaddr */ (2ULL << (udt->tag_parent->dma_bits - 1)) - 1, /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, From owner-p4-projects@FreeBSD.ORG Mon Jun 29 11:47:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B9AF10656A5; Mon, 29 Jun 2009 11:47:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B075E1065692 for ; Mon, 29 Jun 2009 11:47:55 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E8088FC25 for ; Mon, 29 Jun 2009 11:47:55 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TBltam003097 for ; Mon, 29 Jun 2009 11:47:55 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TBltBH003095 for perforce@freebsd.org; Mon, 29 Jun 2009 11:47:55 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 11:47:55 GMT Message-Id: <200906291147.n5TBltBH003095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165388 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 11:47:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165388 Change 165388 by mav@mav_mavbook on 2009/06/29 11:46:55 Add user-level memory map/unmap support for XPT_ATA_IO. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#30 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#28 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#30 (text+ko) ==== @@ -604,6 +604,15 @@ dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; numbufs = 1; break; + case XPT_ATA_IO: + if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) + return(0); + + data_ptrs[0] = &ccb->ataio.data_ptr; + lengths[0] = ccb->ataio.dxfer_len; + dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; + numbufs = 1; + break; default: return(EINVAL); break; /* NOTREACHED */ @@ -739,6 +748,10 @@ data_ptrs[0] = &ccb->csio.data_ptr; numbufs = min(mapinfo->num_bufs_used, 1); break; + case XPT_ATA_IO: + data_ptrs[0] = &ccb->ataio.data_ptr; + numbufs = min(mapinfo->num_bufs_used, 1); + break; default: /* allow ourselves to be swapped once again */ PRELE(curproc); ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#28 (text+ko) ==== @@ -528,7 +528,8 @@ * ready), it will save a few cycles if we check for it here. */ if (((ccb->ccb_h.flags & CAM_DATA_PHYS) == 0) - && (((ccb->ccb_h.func_code == XPT_SCSI_IO) + && (((ccb->ccb_h.func_code == XPT_SCSI_IO || + ccb->ccb_h.func_code == XPT_ATA_IO) && ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE)) || (ccb->ccb_h.func_code == XPT_DEV_MATCH))) { From owner-p4-projects@FreeBSD.ORG Mon Jun 29 14:09:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 333CD1065677; Mon, 29 Jun 2009 14:09:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7982106564A for ; Mon, 29 Jun 2009 14:09:30 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D60D58FC16 for ; Mon, 29 Jun 2009 14:09:30 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TE9UUU029490 for ; Mon, 29 Jun 2009 14:09:30 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TE9U7R029488 for perforce@freebsd.org; Mon, 29 Jun 2009 14:09:30 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 14:09:30 GMT Message-Id: <200906291409.n5TE9U7R029488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 14:09:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=165400 Change 165400 by mav@mav_mavbook on 2009/06/29 14:09:08 Remove extra capitalization. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#16 edit .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#92 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#16 (text+ko) ==== @@ -735,7 +735,7 @@ dp->secs_per_track, dp->cylinders); xpt_announce_periph(periph, announce_buf); if (softc->flags & ADA_FLAG_CAN_NCQ) { - printf("%s%d: Native Command Queueing Enabled\n", + printf("%s%d: Native Command Queueing enabled\n", periph->periph_name, periph->unit_number); } ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#92 (text+ko) ==== @@ -1143,7 +1143,7 @@ if (path->device->inq_flags & SID_CmdQue || path->device->flags & CAM_DEV_TAG_AFTER_COUNT) { - printf("\n%s%d: Command Queueing Enabled", + printf("\n%s%d: Command Queueing enabled", periph->periph_name, periph->unit_number); } printf("\n"); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 14:20:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85E8E1065678; Mon, 29 Jun 2009 14:20:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 464DA1065670 for ; Mon, 29 Jun 2009 14:20:43 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3400A8FC0A for ; Mon, 29 Jun 2009 14:20:43 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TEKhVF030421 for ; Mon, 29 Jun 2009 14:20:43 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TEKhSd030419 for perforce@freebsd.org; Mon, 29 Jun 2009 14:20:43 GMT (envelope-from anchie@FreeBSD.org) Date: Mon, 29 Jun 2009 14:20:43 GMT Message-Id: <200906291420.n5TEKhSd030419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165401 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 14:20:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=165401 Change 165401 by anchie@anchie_malimis on 2009/06/29 14:20:10 Fixes of the code for accepting NS/NA/Redirect on the routing socket. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#9 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#5 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd_local.h#3 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#9 (text+ko) ==== @@ -37,6 +37,9 @@ #include #include #include +#include +#include +#include #include "config.h" #include @@ -71,6 +74,7 @@ return (b); } +#if 0 /* Per-interface info */ struct snd_ifinfo { struct list_head list; @@ -129,6 +133,7 @@ */ } } +#endif void snd_put_buf(struct sbuff *b) @@ -174,12 +179,10 @@ void snd_sock_read(void) { - char buf[2048]; struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; - struct ip6_hdr *ip6; struct sbuff *b; - int in = -1; + int in = -1, n, ifidx = -1; if ((b = snd_get_buf()) == NULL) { return; @@ -194,14 +197,14 @@ rtm = (struct rt_msghdr *) b; if (rtm->rtm_version != RTM_VERSION) { - applog(LOG_ERROR, "%s: Unsupported routing message version.", __FUNCTION__); + applog(LOG_ERR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; } switch (rtm->rtm_type) { case RTM_IFANNOUNCE: /* XXX: Do we need this? */ - break: + break; case RTM_SND: ifan = (struct if_announcemsghdr *) rtm; switch (ifan->ifan_what) { @@ -209,7 +212,7 @@ in = 1; /* n = RTM hdr + m as passed to nd6_ns_input() */ - m = (struct rt_msghdr *) &ifan[1]; + b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ snd_recv_pkt(b, ifidx, in); break; @@ -217,14 +220,14 @@ in = 0; /* n = RTM hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ - m = (struct rt_msghdr *) &ifan[1]; + b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ snd_recv_pkt(b, ifidx, in); break; } break; default: - applog(LOG_ERROR, "%s: Unsupported routing message type.", __FUNTCION__); + applog(LOG_ERR, "%s: Unsupported routing message type.", __FUNCTION__); goto done; } @@ -242,7 +245,6 @@ snd_icmp_sock_read(void) { struct sockaddr_in6 sin[1]; - struct input_hook_packet_info *pi; struct sbuff *b; uint8_t *type; socklen_t slen; @@ -271,12 +273,6 @@ goto done; } - /* Populate input_hook_packet_info structure! */ - /* Determine if the packet was sent to sendd by kernel or other sendd. */ - pi->from_kernel = 1; - - pi->in = 1; - type = sbuff_data(b); switch (*type) { case ICMP6_SND_CPS: @@ -298,7 +294,7 @@ snd_put_buf(b); } -void +int snd_net_init(int *icmp6sock, int *sndsock) { int v; @@ -314,27 +310,29 @@ } #endif - if ((icmp6sock = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) { + if ((*icmp6sock = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) { applog(LOG_ERR, "%s: socket: %s", __FUNCTION__, strerror(errno)); return (-1); } - if ((sndsock = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) { + if ((*sndsock = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) { applog(LOG_ERR, "%s: socket: %s", __FUNCTION__, strerror(errno)); return(-1); + } else { + applog(LOG_ERR, "%s: routing socket created.", __FUNCTION__); } v = 255; - if (setsockopt(icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, + if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, sizeof (v)) < 0) { applog(LOG_ERR, "%s: setsockopt(IPV6_UNICAST_HOPS): %s", __FUNCTION__, strerror(errno)); return (-1); } v = 255; - if (setsockopt(icmp6sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &v, + if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &v, sizeof (v)) < 0) { applog(LOG_ERR, "%s: setsockopt(IPV6_MULTICAST_HOPS): %s", __FUNCTION__, strerror(errno)); @@ -346,11 +344,10 @@ ICMP6_FILTER_SETPASS(ICMP6_SND_CPA, &filter); ICMP6_FILTER_SETPASS(ND_ROUTER_ADVERT, &filter); - if (setsockopt(icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, + if (setsockopt(*icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, sizeof (filter)) < 0) { applog(LOG_ERR, "%s: setsockopt(ICMP6_FILTER): %s", __FUNCTION__, strerror(errno)); return (-1); } - } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#5 (text+ko) ==== @@ -77,7 +77,7 @@ } static int -do_select(int icmps, int ctlfd) +do_select(int icmps, int snds, int ctlfd) { fd_set fds[1]; int maxfd = -1; @@ -116,7 +116,7 @@ #endif /* USE_READLINE */ } #endif /* USE_CONSOLE */ - if (FD_ISSET(icmps, fds) { + if (FD_ISSET(icmps, fds)) { snd_icmp_sock_read(); } if (FD_ISSET(ctlfd, fds)) { @@ -160,7 +160,7 @@ { const char **lm = applog_get_methods(); - fprintf(stderr, "Usage: %s [-fV] [-c ] [-i ] " + fprintf(stderr, "-> Usage: %s [-fV] [-c ] [-i ] " "[-l ]\n", this); fprintf(stderr, " log methods: "); for (; *lm; lm++) { @@ -239,8 +239,6 @@ exit(1); } - snd_net_init(&icmps, &snds); - thrpool_init(); if (timer_init() < 0 || pkixip_init() < 0 || @@ -248,6 +246,7 @@ snd_ssl_init() < 0 || snd_cga_init() < 0 || snd_params_init() < 0 || + snd_net_init(&icmps, &snds) < 0 || icmps < 0 || snds < 0 || snd_init_cert() < 0 || @@ -278,7 +277,7 @@ } #endif - r = do_select(icmps, ctlfd); + r = do_select(icmps, snds, ctlfd); snd_cleanup(); exit(r); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd_local.h#3 (text+ko) ==== @@ -131,7 +131,7 @@ /* net.c */ extern void snd_icmp_sock_read(void); extern void snd_sock_read(void); -extern void snd_net_init(void); +extern int snd_net_init(int *, int *); extern struct sbuff *snd_get_buf(void); extern void snd_put_buf(struct sbuff *); extern int snd_send_icmp(struct sbuff *, struct sockaddr_in6 *, int); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 14:24:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 266991065674; Mon, 29 Jun 2009 14:24:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0BBC1065670 for ; Mon, 29 Jun 2009 14:24:47 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD6068FC23 for ; Mon, 29 Jun 2009 14:24:47 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TEOlEm030656 for ; Mon, 29 Jun 2009 14:24:47 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TEOlXV030654 for perforce@freebsd.org; Mon, 29 Jun 2009 14:24:47 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 29 Jun 2009 14:24:47 GMT Message-Id: <200906291424.n5TEOlXV030654@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 14:24:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165402 Change 165402 by rwatson@rwatson_cinnamon on 2009/06/29 14:24:21 When disabling LD_PRELOAD object loading and initializing, I accidentially also disabled init functions on other shared objects, which broke libthr. Fix this. Reported by: jona Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#22 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#22 (text+ko) ==== @@ -360,11 +360,9 @@ const char *argv0; Objlist_Entry *entry; Obj_Entry *obj; -#ifndef IN_RTLD_CAP Obj_Entry **preload_tail; Objlist initlist; int lockstate; -#endif /* * On entry, the dynamic linker itself has not been relocated yet. @@ -571,8 +569,8 @@ dbg("loading LD_PRELOAD libraries"); if (load_preload_objects() == -1) die(); +#endif preload_tail = obj_tail; -#endif dbg("loading needed objects"); if (load_needed_objects(obj_main) == -1) @@ -629,20 +627,16 @@ dbg("initializing thread locks"); lockdflt_init(); -#ifndef IN_RTLD_CAP /* Make a list of init functions to call. */ objlist_init(&initlist); initlist_add_objects(obj_list, preload_tail, &initlist); -#endif r_debug_state(NULL, &obj_main->linkmap); /* say hello to gdb! */ -#ifndef IN_RTLD_CAP lockstate = wlock_acquire(rtld_bind_lock); objlist_call_init(&initlist, &lockstate); objlist_clear(&initlist); wlock_release(rtld_bind_lock, lockstate); -#endif dbg("transferring control to program entry point = %p", obj_main->entry); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 14:33:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57FE51065675; Mon, 29 Jun 2009 14:33:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F34C1065672 for ; Mon, 29 Jun 2009 14:33:58 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D7BA08FC08 for ; Mon, 29 Jun 2009 14:33:57 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TEXv3E031337 for ; Mon, 29 Jun 2009 14:33:57 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TEXv9Q031335 for perforce@freebsd.org; Mon, 29 Jun 2009 14:33:57 GMT (envelope-from mav@freebsd.org) Date: Mon, 29 Jun 2009 14:33:57 GMT Message-Id: <200906291433.n5TEXv9Q031335@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165403 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 14:33:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=165403 Change 165403 by mav@mav_mavbook on 2009/06/29 14:33:10 Fix slots busy management sanity check logic. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#40 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#40 (text+ko) ==== @@ -986,7 +986,7 @@ if (ch->slot[tag].state == AHCI_SLOT_EMPTY) break; } while (tag != ch->lastslot); - if (tag == ch->lastslot) + if (ch->slot[tag].state != AHCI_SLOT_EMPTY) device_printf(ch->dev, "ALL SLOTS BUSY!\n"); ch->lastslot = tag; /* Occupy chosen slot. */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 15:26:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89E9810656A5; Mon, 29 Jun 2009 15:26:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 458B61065695 for ; Mon, 29 Jun 2009 15:26:56 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 33D378FC1B for ; Mon, 29 Jun 2009 15:26:56 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TFQtkU036226 for ; Mon, 29 Jun 2009 15:26:55 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TFQtov036224 for perforce@freebsd.org; Mon, 29 Jun 2009 15:26:55 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 15:26:55 GMT Message-Id: <200906291526.n5TFQtov036224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 15:26:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165406 Change 165406 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 15:26:14 Added ua_set(), fixed flag handling in ua_open() Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#6 (text+ko) ==== @@ -150,6 +150,10 @@ +void ua_set(int fd) { angel = fd; } + + + int ua_open(const char *path, int flags) { if(angel < 0) angel = ua_find(); @@ -157,9 +161,9 @@ cap_rights_t rights = CAP_SEEK | CAP_FSYNC; - if((flags & O_RDONLY) || (flags & O_RDWR)) rights |= CAP_READ; - if((flags & O_WRONLY) || (flags & O_RDWR)) - rights |= CAP_WRITE | CAP_FTRUNCATE; + if(flags & O_WRONLY) rights |= CAP_WRITE | CAP_FTRUNCATE; + else if(flags & O_RDWR) rights |= CAP_READ | CAP_WRITE | CAP_FTRUNCATE; + else rights |= CAP_READ; if(flags & O_EXEC) rights |= CAP_FEXECVE; ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#6 (text+ko) ==== @@ -48,12 +48,15 @@ /** The last angel/sandbox protocol error */ const char* ua_protocol_error(void); +/** Find the user angel (at $HOME/.user-angel or the like) */ +int ua_find(void); + +/** Set the user angel */ +void ua_set(int fd); + /** Open a file via the User Angel */ int ua_open(const char *path, int flags); -/** Find the user angel (at $HOME/.user-angel or the like) */ -int ua_find(void); - /* Low-level API */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 16:13:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF8661065675; Mon, 29 Jun 2009 16:13:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F545106564A for ; Mon, 29 Jun 2009 16:13:47 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 42EB78FC08 for ; Mon, 29 Jun 2009 16:13:47 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGDl3M040535 for ; Mon, 29 Jun 2009 16:13:47 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TGDl0Q040533 for perforce@freebsd.org; Mon, 29 Jun 2009 16:13:47 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 16:13:47 GMT Message-Id: <200906291613.n5TGDl0Q040533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165408 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:13:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165408 Change 165408 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 16:12:49 ua_fopen(), a wrapper around fopen() Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#7 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#7 (text+ko) ==== @@ -237,6 +237,60 @@ +FILE* ua_fopen(const char *path, const char *mode) +{ + if(angel < 0) angel = ua_find(); + if(angel < 0) return NULL; + + int flags = 0; + cap_rights_t rights = CAP_SEEK | CAP_FSYNC; + + if(strstr(mode, "r+")) + { + flags |= O_RDWR; + rights |= CAP_READ | CAP_WRITE | CAP_FTRUNCATE; + } + else if(strstr(mode, "r")) + { + flags |= O_RDONLY; + rights |= CAP_READ; + } + else if(strstr(mode, "w+")) + { + flags |= O_RDWR | O_CREAT | O_TRUNC; + rights |= CAP_READ | CAP_WRITE | CAP_FTRUNCATE; + } + else if(strstr(mode, "w")) + { + flags |= O_WRONLY | O_CREAT | O_TRUNC; + rights |= CAP_WRITE | CAP_FTRUNCATE; + } + else if(strstr(mode, "a+")) + { + flags |= O_RDWR | O_CREAT | O_APPEND; + rights |= CAP_READ | CAP_WRITE | CAP_FTRUNCATE; + } + else if(strstr(mode, "a")) + { + flags |= O_WRONLY | O_CREAT | O_APPEND; + rights |= CAP_WRITE | CAP_FTRUNCATE; + } + + int fd = ua_open(path, flags); + if(flags & O_APPEND) + if(lseek(fd, 0, SEEK_END) < 0) + { + sprintf(errmsg, "Error seeking to end of %s: %i (%s)", + path, errno, strerror(errno)); + close(fd); + return NULL; + } + + return fdopen(fd, mode); +} + + + int ua_send(int sock, datum *d, int32_t fds[], int32_t fdlen) { // the datum is the I/O vector ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#7 (text+ko) ==== @@ -35,6 +35,8 @@ #define _LIBUSERANGEL_H_ #include +#include + #include __BEGIN_DECLS @@ -57,6 +59,9 @@ /** Open a file via the User Angel */ int ua_open(const char *path, int flags); +/** Open a file stream via the User Angel */ +FILE* ua_fopen(const char *path, const char *mode); + /* Low-level API */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 16:13:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A748C10656DE; Mon, 29 Jun 2009 16:13:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80AE51065672 for ; Mon, 29 Jun 2009 16:13:47 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6EE108FC0C for ; Mon, 29 Jun 2009 16:13:47 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGDlTT040542 for ; Mon, 29 Jun 2009 16:13:47 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TGDl6c040538 for perforce@freebsd.org; Mon, 29 Jun 2009 16:13:47 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 16:13:47 GMT Message-Id: <200906291613.n5TGDl6c040538@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165409 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:13:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=165409 Change 165409 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 16:13:27 More comments Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#8 (text+ko) ==== @@ -66,7 +66,13 @@ /* Low-level API */ /** Requests that clients can make */ -enum ua_request_t { UA_NO_OP = 0, UA_OPEN_PATH, UA_LOAD_LIBRARY, UA_POWERBOX }; +enum ua_request_t +{ + UA_NO_OP = 0, /* do nothing (useful for debugging) */ + UA_OPEN_PATH, /* open() substitute */ + UA_LOAD_LIBRARY, /* load a shared library */ + UA_POWERBOX /* ask the user for file descriptor(s) */ +} /** Represents information "on the wire" between the user angel and the sandbox */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 16:14:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12513106567C; Mon, 29 Jun 2009 16:14:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C551F106564A for ; Mon, 29 Jun 2009 16:14:48 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9959A8FC29 for ; Mon, 29 Jun 2009 16:14:48 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGEmjx040602 for ; Mon, 29 Jun 2009 16:14:48 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TGEm1E040600 for perforce@freebsd.org; Mon, 29 Jun 2009 16:14:48 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 16:14:48 GMT Message-Id: <200906291614.n5TGEm1E040600@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165410 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:14:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165410 Change 165410 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 16:14:11 A missing semicolon Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#9 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.h#9 (text+ko) ==== @@ -72,7 +72,7 @@ UA_OPEN_PATH, /* open() substitute */ UA_LOAD_LIBRARY, /* load a shared library */ UA_POWERBOX /* ask the user for file descriptor(s) */ -} +}; /** Represents information "on the wire" between the user angel and the sandbox */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 17:10:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F1E71065672; Mon, 29 Jun 2009 17:10:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F15D106566C for ; Mon, 29 Jun 2009 17:10:50 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F05008FC1E for ; Mon, 29 Jun 2009 17:10:49 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5THAnC2055613 for ; Mon, 29 Jun 2009 17:10:49 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5THAnf0055611 for perforce@freebsd.org; Mon, 29 Jun 2009 17:10:49 GMT (envelope-from trasz@freebsd.org) Date: Mon, 29 Jun 2009 17:10:49 GMT Message-Id: <200906291710.n5THAnf0055611@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 17:10:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=165412 Change 165412 by trasz@trasz_victim on 2009/06/29 17:10:19 Kinda sorta working file descriptors accounting. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#8 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#18 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#13 edit .. //depot/projects/soc2009/trasz_limits/sys/vm/vm_map.c#3 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#8 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -279,7 +280,6 @@ td->td_retval[0] = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); PROC_UNLOCK(p); - /* XXX: Use HRL? */ return (0); } @@ -722,7 +722,6 @@ return (flags & DUP_FCNTL ? EINVAL : EBADF); PROC_LOCK(p); maxfd = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); - /* XXX: Add HRL accounting. */ PROC_UNLOCK(p); if (new >= maxfd) return (flags & DUP_FCNTL ? EINVAL : EMFILE); @@ -748,6 +747,12 @@ * out for a race. */ if (flags & DUP_FIXED) { + error = hrl_alloc_proc(p, HRL_RESOURCE_OPENFILES, 1); + if (error) { + FILEDESC_XUNLOCK(fdp); + fdrop(fp, td); + return (error); + } if (new >= fdp->fd_nfiles) fdgrowtable(fdp, new + 1); if (fdp->fd_ofiles[new] == NULL) @@ -770,6 +775,7 @@ if (fdp->fd_ofiles[new] == NULL) fdunused(fdp, new); FILEDESC_XUNLOCK(fdp); + hrl_free_proc(p, HRL_RESOURCE_OPENFILES, 1); fdrop(fp, td); return (EBADF); } @@ -814,6 +820,7 @@ */ if (delfp != NULL) { knote_fdclose(td, new); + hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); if (delfp->f_type == DTYPE_MQUEUE) mq_fdclose(td, new, delfp); FILEDESC_XUNLOCK(fdp); @@ -1112,6 +1119,7 @@ * added, and deleteing a knote for the new fd. */ knote_fdclose(td, fd); + hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); if (fp->f_type == DTYPE_MQUEUE) mq_fdclose(td, fd, fp); FILEDESC_XUNLOCK(fdp); @@ -1395,17 +1403,16 @@ { struct proc *p = td->td_proc; struct filedesc *fdp = p->p_fd; - int fd = -1, maxfd; + int fd = -1, error; FILEDESC_XLOCK_ASSERT(fdp); if (fdp->fd_freefile > minfd) minfd = fdp->fd_freefile; - PROC_LOCK(p); - maxfd = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); - /* XXX: Add HRL accounting. */ - PROC_UNLOCK(p); + error = hrl_alloc_proc(p, HRL_RESOURCE_OPENFILES, 1); + if (error) + return (EMFILE); /* * Search the bitmap for a free descriptor. If none is found, try @@ -1415,11 +1422,9 @@ */ for (;;) { fd = fd_first_free(fdp, minfd, fdp->fd_nfiles); - if (fd >= maxfd) - return (EMFILE); if (fd < fdp->fd_nfiles) break; - fdgrowtable(fdp, min(fdp->fd_nfiles * 2, maxfd)); + fdgrowtable(fdp, fdp->fd_nfiles * 2); } /* @@ -1452,7 +1457,6 @@ PROC_LOCK(p); lim = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); - /* XXX: Add HRL accounting. */ PROC_UNLOCK(p); if ((i = lim - fdp->fd_nfiles) > 0 && (n -= i) <= 0) return (1); @@ -1697,6 +1701,8 @@ if (fdp == NULL) return; + hrl_allocated_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 0); + /* Check for special need to clear POSIX style locks */ fdtol = td->td_proc->p_fdtol; if (fdtol != NULL) { @@ -1873,6 +1879,7 @@ struct file *fp; knote_fdclose(td, i); + hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. @@ -1937,6 +1944,7 @@ struct file *fp; knote_fdclose(td, i); + hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#18 (text+ko) ==== @@ -186,22 +186,17 @@ { int i; + /* + * XXX: Free these two some other way. + */ + hrl_allocated_proc(p, HRL_RESOURCE_FILESIZE, 0); + hrl_allocated_proc(p, HRL_RESOURCE_COREDUMPSIZE, 0); + mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (p->p_accounting.ha_resources[i] != 0) { -#if 0 + if (p->p_accounting.ha_resources[i] != 0) KASSERT(p->p_accounting.ha_resources == 0, ("dead process still holding resources")); - printf("hrl_proc_exiting: %s = %lld\n", - hrl_resource_name(i), - p->p_accounting.ha_resources[i]); -#else - if (p->p_accounting.ha_resources[i] > 0) - hrl_free_proc(p, i, p->p_accounting.ha_resources[i]); - else - p->p_accounting.ha_resources[i] = 0; - } -#endif } mtx_unlock(&hrl_lock); } @@ -257,8 +252,6 @@ KASSERT(amount > 0, ("hrl_alloc_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); - if (amount <= 0) - panic("bleh."); mtx_lock(&hrl_lock); p->p_accounting.ha_resources[resource] += amount; @@ -290,7 +283,11 @@ mtx_unlock(&hrl_lock); /* - * XXX: When denying, return proper errno - EFSIZ, ENOMEM etc. + * XXX: When denying, return proper errno - EFSIZ, ENOMEM, EMFILE etc. + */ + + /* + * Check maxfilesperproc. */ return (0); @@ -311,10 +308,8 @@ struct ucred *cred; struct prison *pr; - KASSERT(amount > 0, ("hrl_allocated_proc: invalid amount for %s: %lld", + KASSERT(amount >= 0, ("hrl_allocated_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); - if (amount <= 0) - panic("bleh."); mtx_lock(&hrl_lock); diff = amount - p->p_accounting.ha_resources[resource]; @@ -361,8 +356,6 @@ KASSERT(amount > 0, ("hrl_free_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); - if (amount <= 0) - panic("bleh."); mtx_lock(&hrl_lock); p->p_accounting.ha_resources[resource] -= amount; ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#13 (text+ko) ==== ==== //depot/projects/soc2009/trasz_limits/sys/vm/vm_map.c#3 (text+ko) ==== @@ -67,6 +67,7 @@ #include #include +#include #include #include #include @@ -410,6 +411,11 @@ pmap_activate(td); vmspace_dofree(vm); } + hrl_allocated_proc(p, HRL_RESOURCE_DATASIZE, 0); + hrl_allocated_proc(p, HRL_RESOURCE_STACKSIZE, 0); + hrl_allocated_proc(p, HRL_RESOURCE_MEMORYUSE, 0); + hrl_allocated_proc(p, HRL_RESOURCE_MEMORYLOCKED, 0); + hrl_allocated_proc(p, HRL_RESOURCE_VMEMORYUSE, 0); } /* Acquire reference to vmspace owned by another process. */ From owner-p4-projects@FreeBSD.ORG Mon Jun 29 17:12:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF16D1065678; Mon, 29 Jun 2009 17:12:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F7261065676 for ; Mon, 29 Jun 2009 17:12:52 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 540818FC1F for ; Mon, 29 Jun 2009 17:12:52 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5THCqd4055738 for ; Mon, 29 Jun 2009 17:12:52 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5THCqgf055736 for perforce@freebsd.org; Mon, 29 Jun 2009 17:12:52 GMT (envelope-from trasz@freebsd.org) Date: Mon, 29 Jun 2009 17:12:52 GMT Message-Id: <200906291712.n5THCqgf055736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165413 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 17:12:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=165413 Change 165413 by trasz@trasz_victim on 2009/06/29 17:12:05 Update TODO. Affected files ... .. //depot/projects/soc2009/trasz_limits/TODO#3 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/TODO#3 (text+ko) ==== @@ -20,13 +20,9 @@ - HRL_RESOURCE_VMEMORYUSE -Limits marked with XXX: +Limits done: - HRL_RESOURCE_OPENFILES - - -Limits done: - - HRL_RESOURCE_DATASIZE - HRL_RESOURCE_FILESIZE - HRL_RESOURCE_MAXPROCESSES From owner-p4-projects@FreeBSD.ORG Mon Jun 29 18:16:02 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD1321065672; Mon, 29 Jun 2009 18:16:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D2601065670 for ; Mon, 29 Jun 2009 18:16:01 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7B8BB8FC0A for ; Mon, 29 Jun 2009 18:16:01 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIG1Yf061243 for ; Mon, 29 Jun 2009 18:16:01 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TIG11m061241 for perforce@freebsd.org; Mon, 29 Jun 2009 18:16:01 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 18:16:01 GMT Message-Id: <200906291816.n5TIG11m061241@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165415 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:16:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165415 Change 165415 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 18:15:58 Changed names of constants, removed old (and commented-out) constants Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#13 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#13 (text+ko) ==== @@ -280,14 +280,11 @@ switch(req) { -// case FD_FROM_PATH: case UA_OPEN_PATH: - puts("FD_FROM_PATH"); return handle_path_request(client); -// case FD_POWERBOX: case UA_POWERBOX: - puts("FD_POWERBOX"); + puts("UA_POWERBOX"); return handle_powerbox_request(client); default: @@ -305,6 +302,8 @@ char path[256] = ""; unsigned int pathlen = 256; + printf("UA_OPEN_PATH"); + struct ua_datum *d = ua_recv(client, NULL, &fdlen); if(ua_unmarshall_string(d, path, &pathlen) < 0) { @@ -313,6 +312,8 @@ } free(d); + printf(": %s\n", path); + int32_t flags, rights; if(ua_unmarshall_int(ua_recv(client, NULL, NULL), &flags) < 0) { From owner-p4-projects@FreeBSD.ORG Mon Jun 29 18:18:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 428451065675; Mon, 29 Jun 2009 18:18:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 026D11065672 for ; Mon, 29 Jun 2009 18:18:04 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CAF918FC13 for ; Mon, 29 Jun 2009 18:18:03 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TII35v061383 for ; Mon, 29 Jun 2009 18:18:03 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TII3xS061381 for perforce@freebsd.org; Mon, 29 Jun 2009 18:18:03 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 18:18:03 GMT Message-Id: <200906291818.n5TII3xS061381@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165416 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:18:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=165416 Change 165416 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 18:17:46 Added QtCore patch which allows QFile to work within a sandbox by talking to the user angel Affected files ... .. //depot/projects/trustedbsd/capabilities/qt-patches/devel/qt4-corelib/files/patch-bsd-capabilities.diff#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 29 18:20:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9248D1065670; Mon, 29 Jun 2009 18:20:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51F60106564A for ; Mon, 29 Jun 2009 18:20:06 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2627F8FC23 for ; Mon, 29 Jun 2009 18:20:06 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIK6CW061542 for ; Mon, 29 Jun 2009 18:20:06 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TIK6dX061540 for perforce@freebsd.org; Mon, 29 Jun 2009 18:20:06 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 29 Jun 2009 18:20:06 GMT Message-Id: <200906291820.n5TIK6dX061540@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165417 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:20:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=165417 Change 165417 by jona@jona-trustedbsd-belle-vmware on 2009/06/29 18:19:07 Added a sandboxed Qt app which opens files via the user angel Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_qt/sandbox_qt.cpp#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_qt/sandbox_qt.pro#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 29 18:44:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BFC531065679; Mon, 29 Jun 2009 18:44:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E19A1065678 for ; Mon, 29 Jun 2009 18:44:04 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5BBB48FC2C for ; Mon, 29 Jun 2009 18:44:04 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIi43n064319 for ; Mon, 29 Jun 2009 18:44:04 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TIi4Cf064317 for perforce@freebsd.org; Mon, 29 Jun 2009 18:44:04 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 29 Jun 2009 18:44:04 GMT Message-Id: <200906291844.n5TIi4Cf064317@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165422 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:44:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165422 Change 165422 by syl@syl_atuin on 2009/06/29 18:43:49 Add a libusb20_tr_close() call into completion. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#51 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#19 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#51 (text+ko) ==== ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#19 (text+ko) ==== @@ -125,6 +125,8 @@ if (xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER) libusb_free_transfer(xfer); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_TR_CLOSE"); + libusb20_tr_close(xfer->os_priv); pthread_mutex_lock(&ctx->event_waiters_lock); pthread_cond_broadcast(&ctx->event_waiters_cond); pthread_mutex_unlock(&ctx->event_waiters_lock); From owner-p4-projects@FreeBSD.ORG Mon Jun 29 18:52:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E63211065679; Mon, 29 Jun 2009 18:51:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C3A01065673 for ; Mon, 29 Jun 2009 18:51:59 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6A1718FC1B for ; Mon, 29 Jun 2009 18:51:59 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIpxaf065520 for ; Mon, 29 Jun 2009 18:51:59 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TIpxOA065518 for perforce@freebsd.org; Mon, 29 Jun 2009 18:51:59 GMT (envelope-from trasz@freebsd.org) Date: Mon, 29 Jun 2009 18:51:59 GMT Message-Id: <200906291851.n5TIpxOA065518@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165426 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:52:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=165426 Change 165426 by trasz@trasz_victim on 2009/06/29 18:51:23 Little renaming. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#9 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#19 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#9 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#14 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#9 (text+ko) ==== @@ -747,7 +747,7 @@ * out for a race. */ if (flags & DUP_FIXED) { - error = hrl_alloc_proc(p, HRL_RESOURCE_OPENFILES, 1); + error = hrl_alloc_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (error) { FILEDESC_XUNLOCK(fdp); fdrop(fp, td); @@ -775,7 +775,7 @@ if (fdp->fd_ofiles[new] == NULL) fdunused(fdp, new); FILEDESC_XUNLOCK(fdp); - hrl_free_proc(p, HRL_RESOURCE_OPENFILES, 1); + hrl_free_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); fdrop(fp, td); return (EBADF); } @@ -820,7 +820,7 @@ */ if (delfp != NULL) { knote_fdclose(td, new); - hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); + hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (delfp->f_type == DTYPE_MQUEUE) mq_fdclose(td, new, delfp); FILEDESC_XUNLOCK(fdp); @@ -1119,7 +1119,7 @@ * added, and deleteing a knote for the new fd. */ knote_fdclose(td, fd); - hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); + hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (fp->f_type == DTYPE_MQUEUE) mq_fdclose(td, fd, fp); FILEDESC_XUNLOCK(fdp); @@ -1410,7 +1410,7 @@ if (fdp->fd_freefile > minfd) minfd = fdp->fd_freefile; - error = hrl_alloc_proc(p, HRL_RESOURCE_OPENFILES, 1); + error = hrl_alloc_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (error) return (EMFILE); @@ -1701,7 +1701,7 @@ if (fdp == NULL) return; - hrl_allocated_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 0); + hrl_allocated_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 0); /* Check for special need to clear POSIX style locks */ fdtol = td->td_proc->p_fdtol; @@ -1879,7 +1879,7 @@ struct file *fp; knote_fdclose(td, i); - hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); + hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. @@ -1944,7 +1944,7 @@ struct file *fp; knote_fdclose(td, i); - hrl_free_proc(td->td_proc, HRL_RESOURCE_OPENFILES, 1); + hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#19 (text+ko) ==== @@ -79,7 +79,7 @@ { "memoryuse", HRL_RESOURCE_MEMORYUSE }, { "memorylocked", HRL_RESOURCE_MEMORYLOCKED }, { "maxprocesses", HRL_RESOURCE_MAXPROCESSES }, - { "openfiles", HRL_RESOURCE_OPENFILES }, + { "filedescriptors", HRL_RESOURCE_FILEDESCRIPTORS }, { "sbsize", HRL_RESOURCE_SBSIZE }, { "vmemoryuse", HRL_RESOURCE_VMEMORYUSE }, { NULL, -1 }}; ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#9 (text+ko) ==== @@ -691,7 +691,7 @@ id = td->td_ucred->cr_uid; break; case RLIMIT_NOFILE: - resource = HRL_RESOURCE_OPENFILES; + resource = HRL_RESOURCE_FILEDESCRIPTORS; action = HRL_ACTION_SIGXFSZ; break; case RLIMIT_SBSIZE: ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#14 (text+ko) ==== @@ -75,7 +75,7 @@ #define HRL_RESOURCE_MEMORYUSE 0x0006 #define HRL_RESOURCE_MEMORYLOCKED 0x0007 #define HRL_RESOURCE_MAXPROCESSES 0x0008 -#define HRL_RESOURCE_OPENFILES 0x0009 +#define HRL_RESOURCE_FILEDESCRIPTORS 0x0009 #define HRL_RESOURCE_SBSIZE 0x000a #define HRL_RESOURCE_VMEMORYUSE 0x000b #define HRL_RESOURCE_PTY 0x000c From owner-p4-projects@FreeBSD.ORG Mon Jun 29 18:59:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 248511065674; Mon, 29 Jun 2009 18:59:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADF851065670 for ; Mon, 29 Jun 2009 18:59:07 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B6278FC0C for ; Mon, 29 Jun 2009 18:59:07 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIx7Ne066186 for ; Mon, 29 Jun 2009 18:59:07 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TIx7dr066184 for perforce@freebsd.org; Mon, 29 Jun 2009 18:59:07 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 29 Jun 2009 18:59:07 GMT Message-Id: <200906291859.n5TIx7dr066184@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165427 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:59:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165427 Change 165427 by truncs@aditya on 2009/06/29 18:58:19 Included a GPL'd function ie get_group_desc2 included from ext2_linux_ialloc but I will soon be migrating to NetBSD's scheme for group descriptors. Currently touch foobar works fine but something like mkdir barfoo gives a panic. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#20 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#20 (text+ko) ==== @@ -56,6 +56,7 @@ #endif static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); +static struct ext2_gd * get_group_desc2(struct m_ext2fs *, int, struct buf **); static ino_t ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, int)); @@ -63,7 +64,6 @@ #ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); #endif -static void mark_buffer_dirty2(struct buf *); /* * Linux calls this functions at the following locations: @@ -388,12 +388,15 @@ * else obtain it using ino_to_cg. The preferred inode is always the next * inode. */ + uprintf("a\n"); if((mode & IFMT) == IFDIR) cg = ext2_dirpref(fs); else cg = ino_to_cg(fs, pip->i_number); ipref = cg * fs->e2fs->e2fs_ipg + 1; + uprintf("b\n"); ino = ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); + uprintf("c\n"); if (ino == 0) goto noinodes; @@ -734,23 +737,26 @@ struct m_ext2fs *fs; char *ibp; struct buf *bp; +/* struct buf *bh;*/ struct ext2_gd *gdp = NULL; int error, start, len, loc, map, i; - + uprintf("1\n"); ipref--; /* to avoid a lot of (ipref -1) */ if (ipref == -1) ipref = 0; fs = ip->i_e2fs; - gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + gdp = get_group_desc2(fs, cg, NULL); + uprintf("2\n"); if (gdp->ext2bgd_nifree == 0) return (0); - lock_super(DEVVP(ip)); +/* lock_super(DEVVP(ip)); */ error = bread(ip->i_devvp, fsbtodb(fs, gdp->ext2bgd_i_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); - unlock_super(DEVVP(ip)); +/* unlock_super(DEVVP(ip)); */ + uprintf("3\n"); return (0); } ibp = (char *)bp->b_data; @@ -792,8 +798,12 @@ if ((mode & IFMT) == IFDIR) { gdp->ext2bgd_ndirs++; } - mark_buffer_dirty2(bp); - unlock_super(DEVVP(ip)); +/* mark_buffer_dirty2(bh); */ +/* mark_buffer_dirty2(bp); */ + +/* unlock_super(DEVVP(ip)); */ + uprintf("4\n"); + bdwrite(bp); return (cg * fs->e2fs->e2fs_ipg + ipref +1); } @@ -843,12 +853,35 @@ /* NOTREACHED */ } #endif -void mark_buffer_dirty2(struct buf *bh) -{ - int s; + +/* + * This function is taken from ext2_linux_ialloc.c and is under GPL. NetBSD has e2fs_gd which contains all the group desc and is + * intialized at the time of mounting. + */ +struct ext2_gd * get_group_desc2(struct m_ext2fs * fs, int cg, struct buf ** bh) { + + unsigned long group_desc; + unsigned long desc; + struct ext2_gd * gdp; + + if (cg >= fs->e2fs_gcount) + panic ("get_group_desc: " + "block_group >= groups_count - " + "block_group = %d, groups_count = %d", + cg, fs->e2fs_gcount); - s = splbio(); - bh->b_flags |= B_DIRTY; - splx(s); + group_desc = cg / EXT2_DESC_PER_BLOCK(fs); + desc = cg % EXT2_DESC_PER_BLOCK(fs); + if (!fs->e2fs_group_desc[group_desc]) + panic ( "get_group_desc:" + "Group descriptor not loaded - " + "block_group = %d, group_desc = %lu, desc = %lu", + cg, group_desc, desc); + gdp = (struct ext2_gd *) + fs->e2fs_group_desc[group_desc]->b_data; + if (bh) + *bh = fs->e2fs_group_desc[group_desc]; + return gdp + desc; } + From owner-p4-projects@FreeBSD.ORG Mon Jun 29 19:05:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F5401065677; Mon, 29 Jun 2009 19:05:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D6461065673 for ; Mon, 29 Jun 2009 19:05:14 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2BD3F8FC1B for ; Mon, 29 Jun 2009 19:05:14 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TJ5Esv067599 for ; Mon, 29 Jun 2009 19:05:14 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TJ5El0067597 for perforce@freebsd.org; Mon, 29 Jun 2009 19:05:14 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 29 Jun 2009 19:05:14 GMT Message-Id: <200906291905.n5TJ5El0067597@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165428 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 19:05:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=165428 Change 165428 by truncs@aditya on 2009/06/29 19:05:09 Obtain group descriptor in ext2_dirpref using get_group_desc2. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#21 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#21 (text+ko) ==== @@ -573,7 +573,7 @@ maxspace = 0; mincg = -1; for (cg = 0; cg < fs->e2fs_gcount; cg++) { - gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + gdp = get_group_desc2(fs, cg, NULL); if ( gdp->ext2bgd_nifree >= avgifree) { if (mincg == -1 || gdp->ext2bgd_nbfree > maxspace) { mincg = cg; From owner-p4-projects@FreeBSD.ORG Mon Jun 29 19:11:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C839106566C; Mon, 29 Jun 2009 19:11:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 296EC1065674 for ; Mon, 29 Jun 2009 19:11:21 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 164FD8FC0C for ; Mon, 29 Jun 2009 19:11:21 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TJBKWp068089 for ; Mon, 29 Jun 2009 19:11:20 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TJBKhN068087 for perforce@freebsd.org; Mon, 29 Jun 2009 19:11:20 GMT (envelope-from dforsyth@FreeBSD.org) Date: Mon, 29 Jun 2009 19:11:20 GMT Message-Id: <200906291911.n5TJBKhN068087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 165430 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 19:11:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=165430 Change 165430 by dforsyth@squirrel on 2009/06/29 19:11:00 Tweaked some things to make pkg_sub work correctly. Reorganization imminent. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#28 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_private.h#11 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#19 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#13 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#10 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#4 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#28 (text+ko) ==== @@ -12,6 +12,7 @@ #include "pkgdb_hierdb.h" #include "pkgdb.h" #include "pkg_private.h" +#include "pkg_sub.h" #include "pkg.h" struct pkg { @@ -25,11 +26,7 @@ char *required_by; struct pkg_plist plist; - struct pkgdb_sub *sub; -#if 0 - TAILQ_ENTRY(pkg) next; -#endif short dirty; /* Add an owner field? */ }; @@ -54,6 +51,8 @@ * name from plist, but it generally is. This is the name used for the * directory in a hierdb. */ + +/* TODO: All of these assignments need mem checks. */ int pkg_set_ident(struct pkg *p, const char *ident) { ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_private.h#11 (text+ko) ==== @@ -8,5 +8,4 @@ #define MTREE_DIRS_FILE "+MTREE_DIRS" #define REQUIRED_BY_FILE "+REQUIRED_BY" - #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#3 (text+ko) ==== @@ -13,25 +13,32 @@ #include "pkg.h" #include "pkg_sub.h" +int +pkg_sub_cmp(struct pkg_sub *ps1, struct pkg_sub *ps2) +{ + return (strcmp(ps1->ident, ps2->ident)); +} + +/* TODO: Individual read flags. */ int -pkg_sub_mark_dirty(struct pkg_sub *ps) +pkg_sub_mark_read(struct pkg_sub *ps) { if (ps == NULL) arg_rage_quit(__func__, "Not a valid package directory.", RAGE_AT_LIBPKG); - ps->dirty = 1; + ps->read = 1; return (PKG_SUB_OK); } int -pkg_sub_mark_clean(struct pkg_sub *ps) +pkg_sub_mark_unread(struct pkg_sub *ps) { if (ps == NULL) arg_rage_quit(__func__, "Not a valid package directory.", RAGE_AT_LIBPKG); - ps->dirty = 0; + ps->read = 0; return (PKG_SUB_OK); } @@ -152,14 +159,36 @@ status |= pkg_sub_read_file_to_text(ps, MTREE_DIRS_FILE_ID); status |= pkg_sub_read_file_to_text(ps, REQUIRED_BY_FILE_ID); - + pkg_sub_mark_read(ps); return (status); } int pkg_sub_reset(struct pkg_sub *ps) { - if (ps) ;; + if (ps == NULL) { + printf("%s: got null.\n", __func__); + exit(1); + } + + free(ps->ident); + free(ps->path); + free(ps->comment_text); + free(ps->contents_text); + free(ps->desc_text); + free(ps->display_text); + free(ps->mtree_dirs_text); + free(ps->required_by_text); + + ps->ident = NULL; + ps->comment_text = NULL; + ps->contents_text = NULL; + ps->desc_text = NULL; + ps->display_text = NULL; + ps->mtree_dirs_text = NULL; + ps->required_by_text = NULL; + + pkg_sub_mark_unread(ps); return (PKG_SUB_OK); } @@ -178,33 +207,22 @@ pathp = path_build(pkgdb_db_root(db), ident); if (pathp == NULL) { - free(pathp); + free(ps->ident); + ps->ident = NULL; return (PKG_SUB_NOT_OK | PKG_SUB_MEMORY_ERR); } - ps->path = pathp; -/* - pkg_plist_delete(ps->pl); - ps->pl = NULL; -*/ - free(ps->comment_text); - free(ps->contents_text); - free(ps->desc_text); - free(ps->display_text); - free(ps->mtree_dirs_text); - free(ps->required_by_text); - ps->comment_text = NULL; - ps->contents_text = NULL; - ps->desc_text = NULL; - ps->display_text = NULL; - ps->mtree_dirs_text = NULL; - ps->required_by_text = NULL; + return (PKG_SUB_OK); +} - pkg_sub_mark_clean(ps); - ps->error = PKG_SUB_OK; +const char * +pkg_sub_ident(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); - return (PKG_SUB_OK); + return (ps->ident); } int @@ -219,3 +237,119 @@ return (PKG_SUB_OK); } + +const char * +pkg_sub_comment(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + return (ps->comment_text); +} + +int +pkg_sub_set_comment(struct pkg_sub *ps, const char *comment) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + ps->comment_text = (comment == NULL) ? NULL : strdup(comment); + return (PKG_SUB_OK); +} + +const char * +pkg_sub_contents(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + return (ps->contents_text); +} + +int +pkg_sub_set_contents(struct pkg_sub *ps, const char *contents) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + ps->contents_text = (contents == NULL) ? NULL : strdup(contents); + return (PKG_SUB_OK); +} + +const char * +pkg_sub_desc(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + return (ps->desc_text); +} + +int +pkg_sub_set_desc(struct pkg_sub *ps, const char *desc) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + ps->desc_text = (desc == NULL) ? NULL : strdup(desc); + return (PKG_SUB_OK); +} + +const char * +pkg_sub_display(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + return (ps->display_text); +} + +int +pkg_sub_set_display(struct pkg_sub *ps, const char *display) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + ps->display_text = (display == NULL) ? NULL : strdup(display); + return (PKG_SUB_OK); +} + +const char * +pkg_sub_mtree_dirs(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + return (ps->mtree_dirs_text); +} + +int +pkg_sub_set_mtree_dirs(struct pkg_sub *ps, const char *mtree_dirs) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + ps->mtree_dirs_text = (mtree_dirs == NULL) ? + NULL : strdup(mtree_dirs); + return (PKG_SUB_OK); +} + +const char * +pkg_sub_required_by(struct pkg_sub *ps) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + return (ps->required_by_text); +} + +int +pkg_sub_set_required_by(struct pkg_sub *ps, const char *required_by) +{ + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + ps->required_by_text = (required_by == NULL) ? + NULL : strdup(required_by); + return (PKG_SUB_OK); +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#3 (text+ko) ==== @@ -18,7 +18,7 @@ char *path; /* parsed plist. */ - struct pkg_plist *pl; + // struct pkg_plist *pl; /* relevant text. */ char *comment_text; @@ -29,8 +29,7 @@ char *required_by_text; /* status and error. */ - short dirty; - int error; + short read; }; enum pkg_sub_file_ident { @@ -44,9 +43,11 @@ struct pkg_sub; -int pkg_sub_mark_dirty(struct pkg_sub *ps); +int pkg_sub_cmp(struct pkg_sub *ps1, struct pkg_sub *ps2); + +int pkg_sub_mark_read(struct pkg_sub *ps); -int pkg_sub_mark_clean(struct pkg_sub *ps); +int pkg_sub_mark_unread(struct pkg_sub *ps); int pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident); @@ -63,6 +64,10 @@ int pkg_sub_set_ident(struct pkg_sub *ps, const char *ident); +const char *pkg_sub_path(struct pkg_sub *ps); + +int pkg_sub_set_path(struct pkg_sub *ps); + const char *pkg_sub_contents(struct pkg_sub *ps); int pkg_sub_set_contents(struct pkg_sub *ps, const char *contents); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#19 (text+ko) ==== @@ -52,7 +52,7 @@ { if (!db->open) return (DB_NOT_OPEN); - + return (db->pkgdb_db_init(db)); } @@ -99,14 +99,15 @@ /* Whenever a package is pulled from the db, we parse it again. User * can have multiple copies of a package which do not share a state. * Is this a terrible idea? Stay tuned to find out. */ + pkg_reset(p); ps = pkgdb_pkg_sub_list_next(db); if (ps == NULL) { return (DB_NO_PKG); /* Already at the end. */ } - status = OK; + pkgdb_hierdb_read_pkg_sub(db, ps); + status = pkgdb_generate_pkg_from_pkg_sub(db, p, ps); - return (status); } @@ -146,10 +147,43 @@ if (db || ident) ;; + + ps = (struct pkg_sub *)bsearch(ident, db->ps_list, db->ps_count, + sizeof(*ps), pkg_sub_cmp); - ps = NULL; + return (ps); +} + +/* Populate a package based on a pkg subdirectory in the db. */ + +int +pkgdb_generate_pkg_from_pkg_sub(struct pkgdb *db, struct pkg *p, + struct pkg_sub *ps) +{ + /* Does this need to be a pkgdb_ function? */ + int status; + + if (db == NULL) + arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - return (ps); + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_LIBPKG); + + if (ps == NULL) + arg_rage_quit(__func__, "Not a valid pkg_sub.", RAGE_AT_LIBPKG); + + pkg_reset(p); + + status = PKG_OK; + status |= pkg_set_ident(p, pkg_sub_ident(ps)); + status |= pkg_set_comment(p, pkg_sub_comment(ps)); + status |= pkg_set_contents(p, pkg_sub_comment(ps)); + status |= pkg_set_description(p, pkg_sub_desc(ps)); + status |= pkg_set_display(p, pkg_sub_display(ps)); + status |= pkg_set_mtree_dirs(p, pkg_sub_mtree_dirs(ps)); + status |= pkg_set_required_by(p, pkg_sub_required_by(ps)); + + return (status); } void @@ -167,7 +201,13 @@ if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); - ps = NULL; + if (db->ps_curr == NULL) + ps = db->ps_curr = db->ps_list; + else if (db->ps_curr < db->ps_last) + ps = ++db->ps_curr; + else + ps = NULL; + return (ps); } @@ -202,6 +242,7 @@ arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); db->ps_curr = NULL; + return; } char * ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#13 (text+ko) ==== @@ -3,7 +3,7 @@ #define VALID_DB(x) (x == NULL || x->MAGIC != DB_MAGIC) /* unused. */ -struct pkgdb; +#include "pkg.h" void pkgdb_pkg_sub_list_free(struct pkgdb *db); @@ -19,4 +19,9 @@ struct pkg_sub *pkgdb_pkg_sub_get(struct pkgdb *db, const char *ident); +int pkgdb_pkg_sub_list_create(struct pkgdb *db, int size); + +int pkgdb_generate_pkg_from_pkg_sub(struct pkgdb *db, struct pkg *p, + struct pkg_sub *ps); + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#10 (text+ko) ==== @@ -68,17 +68,18 @@ c = scandir(db->db_root, &ents, subdir_sel, alphasort); if (c < 1) return (NOT_OK | MEMORY_ERR); - - ps_list = calloc(c, sizeof(*ps_list)); - if (ps_list == NULL) + + ps_list = calloc(c, sizeof(struct pkg_sub)); + if (status != OK) return (NOT_OK | MEMORY_ERR); + - for (i = 0, cnt = 0; i < c; ++i) { + for (i = 0, cnt = 0; i < c; ++i, ++cnt) { if (ents[i]->d_type != DT_DIR) { --cnt; continue; } - status |= pkg_sub_init(ps_list + i, db, ents[i]->d_name); + status |= pkg_sub_init(ps_list + cnt, db, ents[i]->d_name); if (PKG_SUB_MEM_ERR(status)) { pkgdb_pkg_sub_list_free(db); for (; i < c; ++i) @@ -89,7 +90,9 @@ free(ents[i]); } free(ents); + db->ps_list = ps_list; + db->ps_last = db->ps_list + (cnt - 1); db->ps_curr = NULL; db->ps_count = cnt; @@ -99,8 +102,7 @@ } int -pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps, - const char *ident) +pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps) { int status; #if 0 /* The client doesn't know about the functions in this file. */ @@ -108,12 +110,9 @@ #endif if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); - if (ident == NULL) - arg_rage_quit(__func__, "Not a valid identification string.", - RAGE_AT_CLIENT); - pkg_sub_reset(ps); + status = OK; - status |= pkg_sub_set_ident(ps, ident); + // status |= pkg_sub_set_ident(ps, ident); /* Directory is verified here. */ // status |= pkgdb_sub_set_assign_db(db, ps); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#6 (text+ko) ==== @@ -8,8 +8,7 @@ int pkgdb_hierdb_db_init(struct pkgdb *db); -int pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps, - const char *ident); +int pkgdb_hierdb_read_pkg_sub(struct pkgdb *db, struct pkg_sub *ps); /* int pkgdb_hierdb_db_close(struct pkgdb *db); */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#4 (text+ko) ==== @@ -15,11 +15,11 @@ struct pkg_sub *ps_curr; struct pkg_sub *ps_list; + struct pkg_sub *ps_last; int (*pkgdb_db_open) (struct pkgdb *db, const char *db_root); int (*pkgdb_db_init) (struct pkgdb *db); - int (*pkgdb_db_read_sub) (struct pkgdb *db, struct pkg_sub *ps, - const char *ident); + int (*pkgdb_db_read_sub) (struct pkgdb *db, struct pkg_sub *ps); int (*pkgdb_db_close) (struct pkgdb *db); int (*pkgdb_db_sync) (struct pkgdb *db); }; From owner-p4-projects@FreeBSD.ORG Mon Jun 29 19:15:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E444E1065672; Mon, 29 Jun 2009 19:15:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A18CA1065678 for ; Mon, 29 Jun 2009 19:15:25 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8E1248FC1D for ; Mon, 29 Jun 2009 19:15:25 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TJFPVX068361 for ; Mon, 29 Jun 2009 19:15:25 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TJFPtU068359 for perforce@freebsd.org; Mon, 29 Jun 2009 19:15:25 GMT (envelope-from trasz@freebsd.org) Date: Mon, 29 Jun 2009 19:15:25 GMT Message-Id: <200906291915.n5TJFPtU068359@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165431 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 19:15:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=165431 Change 165431 by trasz@trasz_victim on 2009/06/29 19:15:05 s/accounting/usage/g. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#20 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#6 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#12 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#10 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#15 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#5 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#6 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#6 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#11 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#20 (text+ko) ==== @@ -156,7 +156,7 @@ #ifdef INVARIANTS /* - * Go through the accounting info and verify that it makes sense. + * Go through the resource usage info and verify that it makes sense. */ static void hrl_assert_proc(const struct proc *p __unused) @@ -169,13 +169,13 @@ cred = p->p_ucred; mtx_assert(&hrl_lock, MA_OWNED); for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) - KASSERT(p->p_accounting.ha_resources[resource] >= 0, ("resource usage propagation meltdown")); - KASSERT(cred->cr_ruidinfo->ui_accounting.ha_resources[resource] >= 0, ("resource usage propagation meltdown")); + KASSERT(p->p_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); + KASSERT(cred->cr_ruidinfo->ui_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) - KASSERT(pr->pr_accounting.ha_resources[resource] >= 0, ("resource usage propagation meltdown")); + KASSERT(pr->pr_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); for (i = 0; i < cred->cr_ngroups; i++) { for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) - KASSERT(cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] >= 0, ("resource usage propagation meltdown")); + KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); } #endif } @@ -194,8 +194,8 @@ mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (p->p_accounting.ha_resources[i] != 0) - KASSERT(p->p_accounting.ha_resources == 0, + if (p->p_usage.hu_resources[i] != 0) + KASSERT(p->p_usage.hu_resources == 0, ("dead process still holding resources")); } mtx_unlock(&hrl_lock); @@ -233,8 +233,8 @@ mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (parent->p_accounting.ha_resources[i] != 0 && hrl_resource_inheritable(i)) - hrl_allocated_proc(child, i, parent->p_accounting.ha_resources[i]); + if (parent->p_usage.hu_resources[i] != 0 && hrl_resource_inheritable(i)) + hrl_allocated_proc(child, i, parent->p_usage.hu_resources[i]); } mtx_unlock(&hrl_lock); } @@ -254,13 +254,13 @@ hrl_resource_name(resource), amount)); mtx_lock(&hrl_lock); - p->p_accounting.ha_resources[resource] += amount; + p->p_usage.hu_resources[resource] += amount; cred = p->p_ucred; - cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; + cred->cr_ruidinfo->ui_usage.hu_resources[resource] += amount; if (cred->cr_ruidinfo != cred->cr_uidinfo) - cred->cr_uidinfo->ui_accounting.ha_resources[resource] += amount; + cred->cr_uidinfo->ui_usage.hu_resources[resource] += amount; for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) - pr->pr_accounting.ha_resources[resource] += amount; + pr->pr_usage.hu_resources[resource] += amount; /* * XXX: Slow. */ @@ -273,7 +273,7 @@ if (cred->cr_groups[i] == cred->cr_groups[j]) goto skip_group; } - cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += amount; + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += amount; skip_group: continue; } @@ -312,14 +312,14 @@ hrl_resource_name(resource), amount)); mtx_lock(&hrl_lock); - diff = amount - p->p_accounting.ha_resources[resource]; - p->p_accounting.ha_resources[resource] = amount; + diff = amount - p->p_usage.hu_resources[resource]; + p->p_usage.hu_resources[resource] = amount; cred = p->p_ucred; - cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; + cred->cr_ruidinfo->ui_usage.hu_resources[resource] += diff; if (cred->cr_ruidinfo != cred->cr_uidinfo) - cred->cr_uidinfo->ui_accounting.ha_resources[resource] += diff; + cred->cr_uidinfo->ui_usage.hu_resources[resource] += diff; for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) - pr->pr_accounting.ha_resources[resource] += diff; + pr->pr_usage.hu_resources[resource] += diff; /* * XXX: Slow. */ @@ -332,7 +332,7 @@ if (cred->cr_groups[i] == cred->cr_groups[j]) goto skip_group; } - cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += diff; + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += diff; skip_group: continue; } @@ -358,19 +358,19 @@ hrl_resource_name(resource), amount)); mtx_lock(&hrl_lock); - p->p_accounting.ha_resources[resource] -= amount; + p->p_usage.hu_resources[resource] -= amount; #ifdef notyet - KASSERT(amount <= p->p_accounting.ha_resources[resource], + KASSERT(amount <= p->p_usage.hu_resources[resource], ("hrl_free_proc: freeing %lld, which is more than allocated %lld " - "for %s", amount, p->p_accounting.ha_resources[resource], + "for %s", amount, p->p_usage.hu_resources[resource], hrl_resource_name(resource))); #endif cred = p->p_ucred; - cred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; + cred->cr_ruidinfo->ui_usage.hu_resources[resource] -= amount; if (cred->cr_ruidinfo != cred->cr_uidinfo) - cred->cr_uidinfo->ui_accounting.ha_resources[resource] -= amount; + cred->cr_uidinfo->ui_usage.hu_resources[resource] -= amount; for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) - pr->pr_accounting.ha_resources[resource] -= amount; + pr->pr_usage.hu_resources[resource] -= amount; /* * XXX: Slow. */ @@ -383,7 +383,7 @@ if (cred->cr_groups[i] == cred->cr_groups[j]) goto skip_group; } - cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] -= amount; + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] -= amount; skip_group: continue; } @@ -456,39 +456,39 @@ } void -hrl_acc_add(struct hrl_acc *dest, const struct hrl_acc *src) +hrl_usage_add(struct hrl_usage *dest, const struct hrl_usage *src) { int i; mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { #ifdef notyet - KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); - KASSERT(src->ha_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(dest->hu_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(src->hu_resources[i] >= 0, ("resource usage propagation meltdown")); #endif - dest->ha_resources[i] += src->ha_resources[i]; + dest->hu_resources[i] += src->hu_resources[i]; #ifdef notyet - KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(dest->hu_resources[i] >= 0, ("resource usage propagation meltdown")); #endif } mtx_unlock(&hrl_lock); } void -hrl_acc_subtract(struct hrl_acc *dest, const struct hrl_acc *src) +hrl_usage_subtract(struct hrl_usage *dest, const struct hrl_usage *src) { int i; mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { #ifdef notyet - KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); - KASSERT(src->ha_resources[i] >= 0, ("resource usage propagation meltdown")); - KASSERT(src->ha_resources[i] <= dest->ha_resources[i], ("resource usage propagation meltdown")); + KASSERT(dest->hu_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(src->hu_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(src->hu_resources[i] <= dest->hu_resources[i], ("resource usage propagation meltdown")); #endif - dest->ha_resources[i] -= src->ha_resources[i]; + dest->hu_resources[i] -= src->hu_resources[i]; #ifdef notyet - KASSERT(dest->ha_resources[i] >= 0, ("resource usage propagation meltdown")); + KASSERT(dest->hu_resources[i] >= 0, ("resource usage propagation meltdown")); #endif } mtx_unlock(&hrl_lock); @@ -793,7 +793,7 @@ } static int -hrl_get_acc_pid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_pid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; id_t pid; @@ -806,14 +806,14 @@ if ((p = zpfind(pid)) == NULL) return (ESRCH); } - error = copyout(&p->p_accounting, bufp, sizeof(p->p_accounting)); + error = copyout(&p->p_usage, bufp, sizeof(p->p_usage)); PROC_UNLOCK(p); return (error); } static int -hrl_get_acc_uid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_uid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; id_t uid; @@ -825,14 +825,14 @@ uip = uifind_existing(uid); if (uip == NULL) return (ESRCH); - error = copyout(&uip->ui_accounting, bufp, sizeof(uip->ui_accounting)); + error = copyout(&uip->ui_usage, bufp, sizeof(uip->ui_usage)); uifree(uip); return (error); } static int -hrl_get_acc_gid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_gid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; id_t gid; @@ -844,14 +844,14 @@ gip = gifind_existing(gid); if (gip == NULL) return (ESRCH); - error = copyout(&gip->gi_accounting, bufp, sizeof(gip->gi_accounting)); + error = copyout(&gip->gi_usage, bufp, sizeof(gip->gi_usage)); gifree(gip); return (error); } static int -hrl_get_acc_jid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_jid(struct thread *td, char *inputstr, void *bufp, size_t buflen) { int error; id_t jid; @@ -867,7 +867,7 @@ sx_xunlock(&allprison_lock); return (ENOENT); } - error = copyout(&pr->pr_accounting, bufp, sizeof(pr->pr_accounting)); + error = copyout(&pr->pr_usage, bufp, sizeof(pr->pr_usage)); prison_free(pr); sx_xunlock(&allprison_lock); @@ -900,17 +900,17 @@ case HRL_OP_REMOVE_RULE: error = hrl_remove_rule(td, inputstr); break; - case HRL_OP_GET_ACC_PID: - error = hrl_get_acc_pid(td, inputstr, uap->outbufp, uap->outbuflen); + case HRL_OP_GET_USAGE_PID: + error = hrl_get_usage_pid(td, inputstr, uap->outbufp, uap->outbuflen); break; - case HRL_OP_GET_ACC_UID: - error = hrl_get_acc_uid(td, inputstr, uap->outbufp, uap->outbuflen); + case HRL_OP_GET_USAGE_UID: + error = hrl_get_usage_uid(td, inputstr, uap->outbufp, uap->outbuflen); break; - case HRL_OP_GET_ACC_GID: - error = hrl_get_acc_gid(td, inputstr, uap->outbufp, uap->outbuflen); + case HRL_OP_GET_USAGE_GID: + error = hrl_get_usage_gid(td, inputstr, uap->outbufp, uap->outbuflen); break; - case HRL_OP_GET_ACC_JAILID: - error = hrl_get_acc_jid(td, inputstr, uap->outbufp, uap->outbuflen); + case HRL_OP_GET_USAGE_JAILID: + error = hrl_get_usage_jid(td, inputstr, uap->outbufp, uap->outbuflen); break; default: error = EINVAL; @@ -936,7 +936,7 @@ uip = p->p_ucred->cr_ruidinfo; for (i = 0; i < HRL_RESOURCE_MAX + 1; i++) - uip->ui_accounting.ha_resources[i] -= p->p_accounting.ha_resources[i]; + uip->ui_usage.hu_resources[i] -= p->p_usage.hu_resources[i]; /* * Remove temporary rules created via setrlimit(2). ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#6 (text+ko) ==== @@ -2448,9 +2448,9 @@ cpuset_rel(pr->pr_cpuset); osd_jail_exit(pr); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (pr->pr_accounting.ha_resources[i] != 0) + if (pr->pr_usage.hu_resources[i] != 0) printf("prison_deref: resource %d = %lld\n", - i, pr->pr_accounting.ha_resources[i]); + i, pr->pr_usage.hu_resources[i]); } free(pr, M_PRISON); ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#12 (text+ko) ==== @@ -2047,8 +2047,8 @@ newuip = newcred->cr_uidinfo; olduip = p->p_ucred->cr_uidinfo; if (newuip != olduip) { - hrl_acc_subtract(&olduip->ui_accounting, &p->p_accounting); - hrl_acc_add(&newuip->ui_accounting, &p->p_accounting); + hrl_usage_subtract(&olduip->ui_usage, &p->p_usage); + hrl_usage_add(&newuip->ui_usage, &p->p_usage); } /* @@ -2057,17 +2057,17 @@ newuip = newcred->cr_ruidinfo; olduip = p->p_ucred->cr_ruidinfo; if (newuip != olduip) { - hrl_acc_subtract(&olduip->ui_accounting, &p->p_accounting); - hrl_acc_add(&newuip->ui_accounting, &p->p_accounting); + hrl_usage_subtract(&olduip->ui_usage, &p->p_usage); + hrl_usage_add(&newuip->ui_usage, &p->p_usage); } /* * Fix up per-group resource consumption. */ for (i = 0; i < p->p_ucred->cr_ngroups; i++) - hrl_acc_subtract(&p->p_ucred->cr_gidinfos[i]->gi_accounting, &p->p_accounting); + hrl_usage_subtract(&p->p_ucred->cr_gidinfos[i]->gi_usage, &p->p_usage); for (i = 0; i < newcred->cr_ngroups; i++) - hrl_acc_add(&newcred->cr_gidinfos[i]->gi_accounting, &p->p_accounting); + hrl_usage_add(&newcred->cr_gidinfos[i]->gi_usage, &p->p_usage); p->p_ucred = newcred; } ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#10 (text+ko) ==== @@ -1371,10 +1371,10 @@ printf("freeing uidinfo: uid = %d, proccnt = %ld\n", uip->ui_uid, uip->ui_proccnt); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (uip->ui_accounting.ha_resources[i] != 0) + if (uip->ui_usage.hu_resources[i] != 0) printf("uifree: freeing uidinfo: uid = %d, " "resource %d = %lld \n", uip->ui_uid, i, - uip->ui_accounting.ha_resources[i]); + uip->ui_usage.hu_resources[i]); } free(uip, M_UIDINFO); return; @@ -1516,10 +1516,10 @@ LIST_REMOVE(gip, gi_hash); rw_wunlock(&gihashtbl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (gip->gi_accounting.ha_resources[i] != 0) + if (gip->gi_usage.hu_resources[i] != 0) printf("gifree: freeing gidinfo: gid = %d, " "resource %d = %lld \n", gip->gi_gid, i, - gip->gi_accounting.ha_resources[i]); + gip->gi_usage.hu_resources[i]); } free(gip, M_GIDINFO); return; ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#15 (text+ko) ==== @@ -98,17 +98,17 @@ #define HRL_OP_GET_RULES 1 #define HRL_OP_ADD_RULE 6 #define HRL_OP_REMOVE_RULE 7 -#define HRL_OP_GET_ACC_PID 2 -#define HRL_OP_GET_ACC_UID 3 -#define HRL_OP_GET_ACC_GID 4 -#define HRL_OP_GET_ACC_JAILID 5 +#define HRL_OP_GET_USAGE_PID 2 +#define HRL_OP_GET_USAGE_UID 3 +#define HRL_OP_GET_USAGE_GID 4 +#define HRL_OP_GET_USAGE_JAILID 5 /* - * 'hrl_acc' defines resource consumption for a particular + * 'hrl_usage' defines resource consumption for a particular * object, such as process or user. */ -struct hrl_acc { - int64_t ha_resources[HRL_RESOURCE_MAX + 1]; +struct hrl_usage { + int64_t hu_resources[HRL_RESOURCE_MAX + 1]; }; #ifdef _KERNEL @@ -123,8 +123,8 @@ void hrl_free_proc(struct proc *p, int object, uint64_t amount); void hrl_adjust(int subject, id_t subject_id, int per, int resource, int action, int64_t amount); -void hrl_acc_add(struct hrl_acc *dest, const struct hrl_acc *src); -void hrl_acc_subtract(struct hrl_acc *dest, const struct hrl_acc *src); +void hrl_usage_add(struct hrl_usage *dest, const struct hrl_usage *src); +void hrl_usage_subtract(struct hrl_usage *dest, const struct hrl_usage *src); void hrl_proc_exiting(struct proc *p); void hrl_proc_fork(struct proc *parent, struct proc *child); ==== //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#5 (text+ko) ==== @@ -174,7 +174,7 @@ char pr_hostuuid[HOSTUUIDLEN]; /* (p) jail hostuuid */ unsigned long pr_hostid; /* (p) jail hostid */ struct vnet *pr_vnet; /* (c) network stack */ - struct hrl_acc pr_accounting; /* (*) HRL resource accounting */ + struct hrl_usage pr_usage; /* (*) HRL resource accounting */ }; #endif /* _KERNEL || _WANT_PRISON */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#6 (text+ko) ==== @@ -514,7 +514,7 @@ int p_boundary_count;/* (c) Num threads at user boundary */ int p_pendingcnt; /* how many signals are pending */ struct itimers *p_itimers; /* (c) POSIX interval timers. */ - struct hrl_acc p_accounting; /* (*) HRL resource accounting */ + struct hrl_usage p_usage; /* (*) HRL resource accounting */ /* End area that is zeroed on creation. */ #define p_endzero p_magic ==== //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#6 (text+ko) ==== @@ -95,7 +95,7 @@ long ui_ptscnt; /* (b) number of pseudo-terminals */ uid_t ui_uid; /* (a) uid */ u_int ui_ref; /* (b) reference count */ - struct hrl_acc ui_accounting; /* (*) HRL resource accounting */ + struct hrl_usage ui_usage; /* (*) HRL resource accounting */ }; /* @@ -110,7 +110,7 @@ LIST_ENTRY(gidinfo) gi_hash; /* (c) hash chain of gidinfos */ gid_t gi_gid; /* (a) gid */ u_int gi_ref; /* (b) reference count */ - struct hrl_acc gi_accounting; /* (*) HRL resource accounting */ + struct hrl_usage gi_usage; /* (*) HRL resource accounting */ }; struct proc; ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#11 (text+ko) ==== @@ -105,8 +105,8 @@ case HRL_RESOURCE_MAXPROCESSES: printf("maxprocesses"); break; - case HRL_RESOURCE_OPENFILES: - printf("openfiles"); + case HRL_RESOURCE_FILEDESCRIPTORS: + printf("filedescriptors"); break; case HRL_RESOURCE_SBSIZE: printf("sbsize"); @@ -293,17 +293,17 @@ } static void -print_accounting(int op, id_t id) +print_usage(int op, id_t id) { int error, i; - struct hrl_acc acc; + struct hrl_usage usage; char *str; asprintf(&str, "%d", (int)id); if (str == NULL) err(1, "asprintf"); - error = hrl(op, str, strlen(str) + 1, &acc, sizeof(acc)); + error = hrl(op, str, strlen(str) + 1, &usage, sizeof(usage)); if (error) err(1, "hrl"); @@ -312,7 +312,7 @@ for (i = 1; i < HRL_RESOURCE_MAX + 1; i++) { print_resource(i); printf("="); - printf("%jd\n", acc.ha_resources[i]); + printf("%jd\n", usage.hu_resources[i]); } } @@ -386,17 +386,17 @@ break; case 'g': gflag = 1; - op = HRL_OP_GET_ACC_GID; + op = HRL_OP_GET_USAGE_GID; id = parse_group(optarg); break; case 'j': jflag = 1; - op = HRL_OP_GET_ACC_JAILID; + op = HRL_OP_GET_USAGE_JAILID; id = parse_group(optarg); break; case 'p': pflag = 1; - op = HRL_OP_GET_ACC_PID; + op = HRL_OP_GET_USAGE_PID; id = parse_pid(optarg); break; case 'r': @@ -406,7 +406,7 @@ break; case 'u': uflag = 1; - op = HRL_OP_GET_ACC_UID; + op = HRL_OP_GET_USAGE_UID; id = parse_user(optarg); break; case '?': @@ -433,11 +433,11 @@ print_rules(rule); break; - case HRL_OP_GET_ACC_PID: - case HRL_OP_GET_ACC_UID: - case HRL_OP_GET_ACC_GID: - case HRL_OP_GET_ACC_JAILID: - print_accounting(op, id); + case HRL_OP_GET_USAGE_PID: + case HRL_OP_GET_USAGE_UID: + case HRL_OP_GET_USAGE_GID: + case HRL_OP_GET_USAGE_JAILID: + print_usage(op, id); break; case HRL_OP_ADD_RULE: From owner-p4-projects@FreeBSD.ORG Mon Jun 29 20:28:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A15591065678; Mon, 29 Jun 2009 20:28:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61A6D1065674 for ; Mon, 29 Jun 2009 20:28:46 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 504778FC0A for ; Mon, 29 Jun 2009 20:28:46 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TKSkWC074484 for ; Mon, 29 Jun 2009 20:28:46 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TKSkGK074482 for perforce@freebsd.org; Mon, 29 Jun 2009 20:28:46 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 29 Jun 2009 20:28:46 GMT Message-Id: <200906292028.n5TKSkGK074482@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165438 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 20:28:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=165438 Change 165438 by truncs@aditya on 2009/06/29 20:28:02 Freeing an inode implementation. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#22 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#22 (text+ko) ==== @@ -517,7 +517,11 @@ { struct m_ext2fs *fs; struct inode *pip; - mode_t save_i_mode; + struct buf *bp; + struct ext2_gd * gdp = NULL; + int error, cg; + char * ibp; +/* mode_t save_i_mode; */ pip = VTOI(pvp); fs = pip->i_e2fs; @@ -534,10 +538,35 @@ really like to know what the rationale behind this 'set i_mode to zero to denote an unused inode' is */ - save_i_mode = pip->i_mode; +/* save_i_mode = pip->i_mode; pip->i_mode = mode; ext2_free_inode(pip); - pip->i_mode = save_i_mode; + pip->i_mode = save_i_mode; */ + cg = ino_to_cg(fs, ino); + gdp = get_group_desc2(fs, cg, NULL); + error = bread(pip->i_devvp, + fsbtodb(fs, gdp->ext2bgd_i_bitmap), + (int)fs->e2fs_bsize, NOCRED, &bp); + if (error) { + brelse(bp); + return (0); + } + ibp = (char *)bp->b_data; + ino = (ino - 1) % fs->e2fs->e2fs_ipg; + if (isclr(ibp, ino)) { + printf("ino = %llu, fs = %s\n", + (unsigned long long)ino, fs->e2fs_fsmnt); + if (fs->e2fs_ronly == 0) + panic("ifree: freeing free inode"); + } + clrbit(ibp, ino); + fs->e2fs->e2fs_ficount++; + gdp->ext2bgd_nifree++; + if ((mode & IFMT) == IFDIR) { + gdp->ext2bgd_ndirs--; + } + fs->e2fs_fmod = 1; + bdwrite(bp); return (0); } From owner-p4-projects@FreeBSD.ORG Mon Jun 29 20:58:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FCA31065677; Mon, 29 Jun 2009 20:58:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FA1C1065672 for ; Mon, 29 Jun 2009 20:58:19 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F129A8FC15 for ; Mon, 29 Jun 2009 20:58:18 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TKwIex087568 for ; Mon, 29 Jun 2009 20:58:18 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TKwIuJ087566 for perforce@freebsd.org; Mon, 29 Jun 2009 20:58:18 GMT (envelope-from trasz@freebsd.org) Date: Mon, 29 Jun 2009 20:58:18 GMT Message-Id: <200906292058.n5TKwIuJ087566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165445 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 20:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=165445 Change 165445 by trasz@trasz_victim on 2009/06/29 20:57:56 Make syscall interface for resource usage completely strings based; no more passing of 'struct hrl_usage'. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_filio.c#3 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#21 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#16 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#12 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_filio.c#3 (text+ko) ==== @@ -78,7 +78,7 @@ } PROC_UNLOCK(td->td_proc); - hrl_alloc(HRL_RESOURCE_OPENFILES, uap->nfds); + hrl_alloc(HRL_RESOURCE_FILEDESCRIPTORS, uap->nfds); pa.fds = uap->fds; pa.nfds = uap->nfds; @@ -105,7 +105,7 @@ forget to update it if I add more code */ } done: - hrl_free(HRL_RESOURCE_OPENFILES, uap->nfds); + hrl_free(HRL_RESOURCE_FILEDESCRIPTORS, uap->nfds); free(pfd, M_TEMP); return error; } ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#21 (text+ko) ==== @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -792,12 +793,27 @@ return (error); } +static struct sbuf * +hrl_usage_to_sbuf(struct hrl_usage *usage) +{ + int i; + struct sbuf *sb; + + sb = sbuf_new_auto(); + for (i = 1; i < HRL_RESOURCE_MAX; i++) { + sbuf_printf(sb, "%s=%jd,", hrl_resource_name(i), + usage->hu_resources[i]); + } + return (sb); +} + static int -hrl_get_usage_pid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_pid(struct thread *td, char *inputstr, struct sbuf **outputsbuf) { int error; id_t pid; struct proc *p; + struct hrl_usage usage; error = str2id(inputstr, &pid); if (error) @@ -806,14 +822,16 @@ if ((p = zpfind(pid)) == NULL) return (ESRCH); } - error = copyout(&p->p_usage, bufp, sizeof(p->p_usage)); + usage = p->p_usage; PROC_UNLOCK(p); + *outputsbuf = hrl_usage_to_sbuf(&usage); + return (error); } static int -hrl_get_usage_uid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_uid(struct thread *td, char *inputstr, struct sbuf **outputsbuf) { int error; id_t uid; @@ -825,14 +843,14 @@ uip = uifind_existing(uid); if (uip == NULL) return (ESRCH); - error = copyout(&uip->ui_usage, bufp, sizeof(uip->ui_usage)); + *outputsbuf = hrl_usage_to_sbuf(&uip->ui_usage); uifree(uip); return (error); } static int -hrl_get_usage_gid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_gid(struct thread *td, char *inputstr, struct sbuf **outputsbuf) { int error; id_t gid; @@ -844,14 +862,14 @@ gip = gifind_existing(gid); if (gip == NULL) return (ESRCH); - error = copyout(&gip->gi_usage, bufp, sizeof(gip->gi_usage)); + *outputsbuf = hrl_usage_to_sbuf(&gip->gi_usage); gifree(gip); return (error); } static int -hrl_get_usage_jid(struct thread *td, char *inputstr, void *bufp, size_t buflen) +hrl_get_usage_jid(struct thread *td, char *inputstr, struct sbuf **outputsbuf) { int error; id_t jid; @@ -867,7 +885,7 @@ sx_xunlock(&allprison_lock); return (ENOENT); } - error = copyout(&pr->pr_usage, bufp, sizeof(pr->pr_usage)); + *outputsbuf = hrl_usage_to_sbuf(&pr->pr_usage); prison_free(pr); sx_xunlock(&allprison_lock); @@ -879,6 +897,7 @@ { int error; char *inputstr = NULL; + struct sbuf *outputsbuf = NULL; if (uap->inbufp != NULL && uap->inbuflen != 0) { if (uap->inbuflen <= 0) @@ -901,28 +920,39 @@ error = hrl_remove_rule(td, inputstr); break; case HRL_OP_GET_USAGE_PID: - error = hrl_get_usage_pid(td, inputstr, uap->outbufp, uap->outbuflen); + error = hrl_get_usage_pid(td, inputstr, &outputsbuf); break; case HRL_OP_GET_USAGE_UID: - error = hrl_get_usage_uid(td, inputstr, uap->outbufp, uap->outbuflen); + error = hrl_get_usage_uid(td, inputstr, &outputsbuf); break; case HRL_OP_GET_USAGE_GID: - error = hrl_get_usage_gid(td, inputstr, uap->outbufp, uap->outbuflen); + error = hrl_get_usage_gid(td, inputstr, &outputsbuf); break; case HRL_OP_GET_USAGE_JAILID: - error = hrl_get_usage_jid(td, inputstr, uap->outbufp, uap->outbuflen); + error = hrl_get_usage_jid(td, inputstr, &outputsbuf); break; default: error = EINVAL; } /* - * XXX: Move copyouts into this place. + * XXX: Finish moving copyouts into this place. */ + if (outputsbuf != NULL) { + sbuf_finish(outputsbuf); + if (uap->outbuflen < sbuf_len(outputsbuf) + 1) { + error = EFBIG; + goto out; + } + error = copyout(sbuf_data(outputsbuf), uap->outbufp, sbuf_len(outputsbuf) + 1); + } + out: if (inputstr != NULL) free(inputstr, M_HRL); + if (outputsbuf != NULL) + sbuf_delete(outputsbuf); return (error); } ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#16 (text+ko) ==== @@ -103,6 +103,8 @@ #define HRL_OP_GET_USAGE_GID 4 #define HRL_OP_GET_USAGE_JAILID 5 +#ifdef _KERNEL + /* * 'hrl_usage' defines resource consumption for a particular * object, such as process or user. @@ -111,8 +113,6 @@ int64_t hu_resources[HRL_RESOURCE_MAX + 1]; }; -#ifdef _KERNEL - struct proc; int hrl_alloc(int object, uint64_t amount); @@ -131,7 +131,7 @@ #else /* !_KERNEL */ __BEGIN_DECLS -int hrl(int op, const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); +int hrl(int op, const char *inbufp, size_t inbuflen, char *outbufp, size_t outbuflen); __END_DECLS #endif /* !_KERNEL */ ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#12 (text+ko) ==== @@ -295,25 +295,31 @@ static void print_usage(int op, id_t id) { - int error, i; - struct hrl_usage usage; - char *str; + int error; + char *inbuf, *outbuf = NULL, *tmp; + size_t outbuflen = BUFLEN_DEFAULT / 4; - asprintf(&str, "%d", (int)id); - if (str == NULL) + asprintf(&inbuf, "%d", (int)id); + if (inbuf == NULL) err(1, "asprintf"); - error = hrl(op, str, strlen(str) + 1, &usage, sizeof(usage)); - if (error) - err(1, "hrl"); + do { + outbuflen *= 4; + outbuf = realloc(outbuf, outbuflen); + if (outbuf == NULL) + err(1, "realloc"); + + error = hrl(op, inbuf, strlen(inbuf) + 1, outbuf, outbuflen); + if (error && errno != EFBIG) + err(1, "hrl"); + } while (error && errno == EFBIG); - printf("Resource utilisation:\n"); + for (tmp = outbuf; *tmp != '\0'; tmp++) + if (*tmp == ',') + *tmp = '\n'; - for (i = 1; i < HRL_RESOURCE_MAX + 1; i++) { - print_resource(i); - printf("="); - printf("%jd\n", usage.hu_resources[i]); - } + printf("Resource utilisation:\n%s\n", outbuf); + free(outbuf); } /* From owner-p4-projects@FreeBSD.ORG Mon Jun 29 22:13:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0F891065670; Mon, 29 Jun 2009 22:13:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB421106564A for ; Mon, 29 Jun 2009 22:13:41 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 97CD98FC0A for ; Mon, 29 Jun 2009 22:13:41 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TMDfDb095054 for ; Mon, 29 Jun 2009 22:13:41 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5TMDfHt095052 for perforce@freebsd.org; Mon, 29 Jun 2009 22:13:41 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 29 Jun 2009 22:13:41 GMT Message-Id: <200906292213.n5TMDfHt095052@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165451 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 22:13:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=165451 Change 165451 by rene@rene_self on 2009/06/29 22:13:13 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#26 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/nanobsd/article.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/article.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#35 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#6 integrate .. //depot/projects/docproj_nl/www/en/donations/donors.sgml#16 integrate .. //depot/projects/docproj_nl/www/en/donations/wantlist.sgml#11 integrate .. //depot/projects/docproj_nl/www/en/favicon.ico#2 integrate .. //depot/projects/docproj_nl/www/en/gnome/images/pav.jpg#2 delete .. //depot/projects/docproj_nl/www/en/releng/index.sgml#26 integrate .. //depot/projects/docproj_nl/www/share/sgml/notices.xml#3 integrate .. //depot/projects/docproj_nl/www/share/sgml/press.xml#13 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#26 (text+ko) ==== @@ -1,4 +1,4 @@ - + - Lessons Learned from FreeBSD 4.4 + Lessons Learned from &os; 4.4 The release engineering process for 4.4 formally began on August 1st, 2001. After that date all commits to the - RELENG_4 branch of FreeBSD had to be explicitly + RELENG_4 branch of &os; had to be explicitly approved by the &a.re;. The first release candidate for the x86 architecture was released on August 16, followed by 4 more release candidates leading up to the final @@ -1029,11 +1029,11 @@ little over a month. Our user community has made it very clear that the security - and stability of a FreeBSD release should not be sacrificed for - any self-imposed deadlines or target release dates. The FreeBSD + and stability of a &os; release should not be sacrificed for + any self-imposed deadlines or target release dates. The &os; Project has grown tremendously over its lifetime and the need for standardized release engineering procedures has never been more - apparent. This will become even more important as FreeBSD is + apparent. This will become even more important as &os; is ported to new platforms. @@ -1043,7 +1043,7 @@ It is imperative for our release engineering activities to scale with our growing userbase. Along these lines we are working - very hard to document the procedures involved in producing FreeBSD + very hard to document the procedures involved in producing &os; releases. @@ -1071,7 +1071,7 @@ Regression Testing - We need better - automated correctness testing for FreeBSD. + automated correctness testing for &os;. @@ -1092,14 +1092,14 @@ I would like to thank Jordan Hubbard for giving me the opportunity to take on some of the release engineering - responsibilities for FreeBSD 4.4 and also for all of his work - throughout the years making FreeBSD what it is today. Of course + responsibilities for &os; 4.4 and also for all of his work + throughout the years making &os; what it is today. Of course the release would not have been possible without all of the release-related work done by &a.asami;, &a.steve;, &a.bmah;, &a.nik;, - &a.obrien;, &a.kris;, &a.jhb; and the rest of the FreeBSD development + &a.obrien;, &a.kris;, &a.jhb; and the rest of the &os; development community. I would also like to thank &a.rgrimes;, &a.phk;, and others who worked on the release engineering tools in the very early days - of FreeBSD. This article was influenced by release engineering + of &os;. This article was influenced by release engineering documents from the CSRG[13], the NetBSD Project[10], and John Baldwin's proposed release engineering process notes[11]. @@ -1116,17 +1116,17 @@ [3] - [4] FreeBSD Ports Collection + [4] &os; Ports Collection - [5] FreeBSD Committers [5] &os; Committers - [6] FreeBSD Core Team + [6] &os; Core Team - [7] FreeBSD Handbook + [7] &os; Handbook @@ -1134,14 +1134,14 @@ - [9] FreeBSD PR Statistics + [9] &os; PR Statistics [10] NetBSD Developer Documentation: Release Engineering - [11] John Baldwin's FreeBSD Release Engineering Proposal + [11] John Baldwin's &os; Release Engineering Proposal ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml#4 (text+ko) ==== @@ -6,7 +6,7 @@ and Tom Rhodes For the FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml,v 1.46 2008/12/22 21:51:29 trhodes Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml,v 1.47 2009/06/29 18:51:34 manolis Exp $ --> @@ -46,7 +46,7 @@ implemented. One way some users safeguard themselves against such issues is through the use of multiple, and sometimes redundant, disks. In addition to supporting various cards and controllers - for hardware RAID systems, the base FreeBSD system includes the + for hardware RAID systems, the base &os; system includes the Vinum Volume Manager, a block device driver that implements virtual disk drives. Vinum is a so-called Volume Manager, a virtual disk @@ -60,7 +60,7 @@ Manager. - Starting with FreeBSD 5, Vinum has been rewritten in order + Starting with &os; 5, Vinum has been rewritten in order to fit into the GEOM architecture (), retaining the original ideas, terminology, and on-disk metadata. This rewrite is called gvinum @@ -72,8 +72,8 @@ kernel module has been changed from vinum.ko to geom_vinum.ko, and all device nodes - reside under /dev/gvinum instead - of /dev/vinum. As of FreeBSD 6, the old + reside under /dev/gvinum instead + of /dev/vinum. As of &os; 6, the old Vinum implementation is no longer available in the code base. @@ -272,7 +272,7 @@ 5. Of these, RAID-5 is the most interesting. As implemented in Vinum, it is a variant on a striped organization which dedicates one block of each stripe - to parity of the other blocks. As implemented by Vinum, a + to parity one of the other blocks. As implemented by Vinum, a RAID-5 plex is similar to a striped plex, except that it implements RAID-5 by including a parity block in each stripe. As required by @@ -394,7 +394,7 @@ Which Plex Organization? - The version of Vinum supplied with FreeBSD &rel.current; implements + The version of Vinum supplied with &os; &rel.current; implements two kinds of plex: @@ -761,7 +761,7 @@ drives may be up to 32 characters long. Vinum objects are assigned device nodes in the hierarchy - /dev/gvinum. The configuration shown above + /dev/gvinum. The configuration shown above would cause Vinum to create the following device nodes: @@ -770,8 +770,8 @@ implemenation. The control devices - /dev/vinum/control and - /dev/vinum/controld, which are used + /dev/vinum/control and + /dev/vinum/controld, which are used by &man.gvinum.8; and the Vinum daemon respectively. @@ -779,31 +779,31 @@ Device entries for each volume. These are the main devices used by Vinum. Thus the configuration above would include the devices - /dev/gvinum/myvol, - /dev/gvinum/mirror, - /dev/gvinum/striped, - /dev/gvinum/raid5 and - /dev/gvinum/raid10. + /dev/gvinum/myvol, + /dev/gvinum/mirror, + /dev/gvinum/striped, + /dev/gvinum/raid5 and + /dev/gvinum/raid10. This only applies to the historic Vinum implemenation. - A directory /dev/vinum/drive + A directory /dev/vinum/drive with entries for each drive. These entries are in fact symbolic links to the corresponding disk nodes. All volumes get direct entries under - /dev/gvinum/. + /dev/gvinum/. The directories - /dev/gvinum/plex, and - /dev/gvinum/sd, which contain + /dev/gvinum/plex, and + /dev/gvinum/sd, which contain device nodes for each plex and for each subdisk, respectively. @@ -823,7 +823,7 @@ sd length 100m drive drive4 After processing this file, &man.gvinum.8; creates the following - structure in /dev/gvinum: + structure in /dev/gvinum: drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex @@ -857,14 +857,14 @@ utilities, notably &man.newfs.8;, which previously tried to interpret the last letter of a Vinum volume name as a partition identifier. For example, a disk drive may have a - name like /dev/ad0a or - /dev/da2h. These names represent + name like /dev/ad0a or + /dev/da2h. These names represent the first partition (a) on the first (0) IDE disk (ad) and the eighth partition (h) on the third (2) SCSI disk (da) respectively. By contrast, a Vinum volume might be called - /dev/gvinum/concat, a name which has + /dev/gvinum/concat, a name which has no relationship with a partition name. Normally, &man.newfs.8; interprets the name of the disk and @@ -879,10 +879,10 @@ &prompt.root; newfs /dev/gvinum/concat On &os; versions prior to 5.0 &man.newfs.8; requires - an additional -v flag and the old device naming - scheme: + an additional flag and the old device naming + scheme: - &prompt.root; newfs -v /dev/vinum/concat + &prompt.root; newfs -v /dev/vinum/concat @@ -1055,7 +1055,7 @@ start command. The following paragraphs are outlining the steps - needed for FreeBSD. + needed for &os;. By placing the line: @@ -1081,7 +1081,7 @@ Making a Vinum-based Root Volume Accessible to the Bootstrap - Since the current FreeBSD bootstrap is only 7.5 KB of + Since the current &os; bootstrap is only 7.5 KB of code, and already has the burden of reading files (like /boot/loader) from the UFS filesystem, it is sheer impossible to also teach it about internal Vinum @@ -1235,10 +1235,10 @@ The values to note are 135680 for the offset (relative to partition - /dev/da0h). This translates to 265 + /dev/da0h). This translates to 265 512-byte disk blocks in bsdlabel's terms. Likewise, the size of this root volume is 245760 512-byte - blocks. /dev/da1h, containing the + blocks. /dev/da1h, containing the second replica of this root volume, has a symmetric setup. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#35 (text+ko) ==== @@ -1,7 +1,7 @@ + + 800098 + June 14, 2009 + 8.0-CURRENT after OpenSSL 0.9.8k import. + + + 800099 + June 22, 2009 + 8.0-CURRENT after NGROUPS update and moving + route virtualization into its own VImage module. + + + 800100 + June 24, 2009 + 8.0-CURRENT after SYSVIPC ABI change. + ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ %.*s\n", __func__, d_namelen, + de->d_namlen, de->d_name, + d_namelen < 0 ? 0 : d_namelen, buf); + if (d_namelen == namelen && memcmp(name, buf, namelen) == 0) { + PEFSDEBUG("%s: check dirent: %s\n", __func__, name); + return de; + } + } + return NULL; +} + +static int +pefs_enccn_lookup(struct pefs_enccn *pec, struct vnode *dvp, struct componentname *cnp) +{ + struct dirent *de; + struct pefs_chunk *pc; + struct uio *uio; + struct vnode *ldvp = PEFS_LOWERVP(dvp); + char *namebuf; + off_t offset; + int error, eofflag; + + MPASS(pec != NULL && dvp != NULL && cnp != NULL); + + if ((cnp->cn_flags & ISDOTDOT) || pefs_name_skip(cnp->cn_nameptr, cnp->cn_namelen)) { + pefs_enccn_init(pec, cnp->cn_nameptr, cnp->cn_namelen, cnp); + return (0); + } + + const char *op; + switch (cnp->cn_nameiop & OPMASK) { + case LOOKUP: + op = "LOOKUP"; + break; + case CREATE: + op = "CREATE"; + break; + case DELETE: + op = "DELETE"; + break; + case RENAME: + op = "RENAME"; + break; + default: + op = NULL; + } + PEFSDEBUG("XXX pefs_enccn_lookup: name=%.*s op=%s\n", (int) cnp->cn_namelen, cnp->cn_nameptr, op); + + pc = pefs_chunk_create(PAGE_SIZE); + namebuf = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); + offset = 0; + eofflag = 0; + de = NULL; + while (!eofflag && de == NULL) { + long arg = 0; + + uio = pefs_chunk_uio(pc, offset, UIO_READ); + offset = uio->uio_offset; + error = VOP_READDIR(ldvp, uio, cnp->cn_cred, &eofflag, NULL, NULL); + if (error) { + pefs_chunk_free(pc); + free(namebuf, M_PEFSBUF); + return (error); + } + + printf("%s: size = %d\n", __func__, pc->pc_size - uio->uio_resid); + pefs_chunk_shrink(pc, pc->pc_size - uio->uio_resid); + while (1) { + size_t size; + char *mem; + + mem = pefs_chunk_get(pc, &size, &arg); + if (mem == NULL) + break; + de = pefs_enccn_lookup_dirent(mem, size, + cnp->cn_nameptr, cnp->cn_namelen, + namebuf, MAXNAMLEN + 1); + if (de != NULL) + break; + } + pefs_chunk_restore(pc); + } + + if (de != NULL) { + PEFSDEBUG("%s: dirent found: %.*s\n", __func__, de->d_namlen, de->d_name); + pefs_enccn_init(pec, de->d_name, de->d_namlen, cnp); + } + + pefs_chunk_free(pc); + free(namebuf, M_PEFSBUF); + + if (de == NULL) + return (ENOENT); + return (0); +} + +static int +pefs_enccn_lookup_create(struct pefs_enccn *pec, struct vnode *dvp, struct componentname *cnp) { - uma_zfree(namei_zone, cnp->cn_pnbuf); - cnp->cn_pnbuf = o_cnp->cn_pnbuf; - cnp->cn_nameptr = o_cnp->cn_nameptr; - cnp->cn_namelen = o_cnp->cn_namelen; - cnp->cn_consume = o_cnp->cn_consume; + int error; + + error = pefs_enccn_lookup(pec, dvp, cnp); + PEFSDEBUG("%s: lookup error = %d\n", __func__, error); + if (error == ENOENT) + error = pefs_enccn_create(pec, NULL, cnp); + PEFSDEBUG("%s: returning = %d\n", __func__, error); + + return (error); } /* @@ -151,8 +305,8 @@ * - all mapped vnodes are of our vnode-type (NEEDSWORK: * problems on rmdir'ing mount points and renaming?) */ -int -pefs_bypass(struct vop_generic_args *ap) +static int +pefs_bypass(struct vop_generic_args *ap, struct pefs_enccn *enccn) { struct vnode **this_vp_p; int error; @@ -195,7 +349,7 @@ old_vps[i] = NULLVP; } else { old_vps[i] = *this_vp_p; - *(vps_p[i]) = PEVPTOLOWERVP(*this_vp_p); + *(vps_p[i]) = PEFS_LOWERVP(*this_vp_p); /* * XXX - Several operations have the side effect * of vrele'ing their vp's. We must account for @@ -246,6 +400,10 @@ if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET && !(descp->vdesc_flags & VDESC_NOMAP_VPP) && !error) { + if (enccn == NULL) { + printf("PANIC: vop_bypass: map of outgoing vnode without encrypted name: %s", descp->vdesc_name); + // panic("vop_bypass: map of outgoing vnode without encrypted name: %s", descp->vdesc_name); + } /* * XXX - even though some ops have vpp returned vp's, * several ops actually vrele this before returning. @@ -257,7 +415,7 @@ vppp = VOPARG_OFFSETTO(struct vnode***, descp->vdesc_vpp_offset,ap); if (*vppp) - error = pefs_nodeget(old_vps[0]->v_mount, **vppp, *vppp); + error = pefs_node_get(old_vps[0]->v_mount, **vppp, *vppp); } out: @@ -270,14 +428,13 @@ * if this layer is mounted read-only. */ static int -pefs_lookup(struct vop_lookup_args *ap) +pefs_lookup(struct vop_cachedlookup_args *ap) { struct componentname *cnp = ap->a_cnp; - struct componentname o_cnp = *ap->a_cnp; struct vnode *dvp = ap->a_dvp; struct vnode *vp, *ldvp, *lvp; + struct pefs_enccn enccn; int flags = cnp->cn_flags; - int shadow; int error; PEFSDEBUG("%s: cn_nameiop=%lx, cn_pnbuf=%s; cn_nameptr=%.*s; cn_consume=%d, cn_namelen=%d\n", @@ -288,38 +445,53 @@ (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) return (EROFS); - shadow = pefs_name_shadow(cnp->cn_nameptr, cnp->cn_namelen, cnp); - if (shadow) - pefs_cn_shadow_create(cnp, &o_cnp); + error = pefs_enccn_lookup(&enccn, dvp, cnp); + if (error == ENOENT && (cnp->cn_flags & ISLASTCN) && + (cnp->cn_nameiop == CREATE || + cnp->cn_nameiop == RENAME)) + return EJUSTRETURN; + else if (error) + return (error); /* * Although it is possible to call pefs_bypass(), we'll do * a direct call to reduce overhead */ - ldvp = PEVPTOLOWERVP(dvp); + ldvp = PEFS_LOWERVP(dvp); vp = lvp = NULL; - error = VOP_LOOKUP(ldvp, &lvp, cnp); + error = VOP_LOOKUP(ldvp, &lvp, &enccn.pec_cn); if (error == EJUSTRETURN && (flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && (cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME)) error = EROFS; - if (shadow) - pefs_cn_shadow_finish(cnp, &o_cnp); + PEFSDEBUG("XXX %s: result=%d\n", __func__, error); + + pefs_enccn_free(&enccn); - if ((error == 0 || error == EJUSTRETURN) && lvp != NULL) { + if (error == ENOENT && (cnp->cn_flags & MAKEENTRY) && cnp->cn_nameiop != CREATE) { + PEFSDEBUG("%s: cache_enter negative %.*s\n", __func__, (int) cnp->cn_namelen, cnp->cn_nameptr); + cache_enter(dvp, NULLVP, cnp); + } else if ((error == 0 || error == EJUSTRETURN) && lvp != NULL) { if (ldvp == lvp) { *ap->a_vpp = dvp; VREF(dvp); vrele(lvp); } else { - error = pefs_nodeget(dvp->v_mount, lvp, &vp); - if (error) + error = pefs_node_get(dvp->v_mount, lvp, &vp); + if (error) { vput(lvp); - else + } else { *ap->a_vpp = vp; + if ((cnp->cn_flags & MAKEENTRY) && cnp->cn_nameiop != CREATE) { + PEFSDEBUG("%s: cache_enter %.*s\n", __func__, (int) cnp->cn_namelen, cnp->cn_nameptr); + cache_enter(dvp, vp, cnp); + } + } } } + + return (error); } @@ -330,14 +502,10 @@ struct vnode *vp, *ldvp; vp = ap->a_vp; - ldvp = PEVPTOLOWERVP(vp); - retval = pefs_bypass(&ap->a_gen); + ldvp = PEFS_LOWERVP(vp); + retval = pefs_bypass(&ap->a_gen, NULL); if (retval == 0) { - if (vp->v_type == VSOCK || vp->v_type == VFIFO) { - vp->v_object = ldvp->v_object; - } else { - vnode_create_vobject(vp, 0, ap->a_td); - } + vnode_create_vobject(vp, 0, ap->a_td); } return (retval); } @@ -353,7 +521,7 @@ int resid, size; int error; - lvp = PEVPTOLOWERVP(vp); + lvp = PEFS_LOWERVP(vp); error = VOP_GETATTR(lvp, &o_va, cred); if (error) return (error); @@ -377,7 +545,7 @@ for (off=o_va.va_size; size > 0;) { int inc = min(size, pc_size_max); - if (inc != size && (off + inc) % PEFS_BLOCK) + if (inc != size && (off + inc) % PEFS_BLOCK) inc -= (off + inc) % PEFS_BLOCK; puio = pefs_chunk_uio_range(pc, 0, inc, off, UIO_WRITE); @@ -472,7 +640,7 @@ } } - lvp = PEVPTOLOWERVP(vp); + lvp = PEFS_LOWERVP(vp); return VOP_SETATTR(lvp, vap, cred); } @@ -485,7 +653,7 @@ struct vattr *vap = ap->a_vap; int error; - if ((error = pefs_bypass((struct vop_generic_args *)ap)) != 0) + if ((error = pefs_bypass((struct vop_generic_args *)ap, NULL)) != 0) return (error); vap->va_fsid = ap->a_vp->v_mount->mnt_stat.f_fsid.val[0]; @@ -521,7 +689,7 @@ break; } } - return (pefs_bypass((struct vop_generic_args *)ap)); + return (pefs_bypass((struct vop_generic_args *)ap, NULL)); } /* @@ -532,14 +700,15 @@ static int pefs_rename(struct vop_rename_args *ap) { + struct vnode *fdvp = ap->a_fdvp; + struct vnode *fvp = ap->a_fvp; struct vnode *tdvp = ap->a_tdvp; - struct vnode *fvp = ap->a_fvp; - struct vnode *fdvp = ap->a_fdvp; struct vnode *tvp = ap->a_tvp; struct componentname *fcnp = ap->a_fcnp; struct componentname *tcnp = ap->a_tcnp; - struct componentname o_fcnp, o_tcnp; - int fshadow, tshadow, error; + struct pefs_enccn fenccn; + struct pefs_enccn tenccn; + int error; /* Check for cross-device rename. */ if ((fvp->v_mount != tdvp->v_mount) || @@ -556,22 +725,32 @@ } - fshadow = pefs_name_shadow(fcnp->cn_nameptr, fcnp->cn_namelen, fcnp); - if (fshadow) - pefs_cn_shadow_create(fcnp, &o_fcnp); - tshadow = pefs_name_shadow(tcnp->cn_nameptr, tcnp->cn_namelen, tcnp); - if (tshadow) - pefs_cn_shadow_create(tcnp, &o_tcnp); + error = pefs_enccn_lookup(&fenccn, fdvp, fcnp); + if (error) { + return (error); + } + error = pefs_enccn_lookup_create(&tenccn, tdvp, tcnp); + if (error) { + pefs_enccn_free(&fenccn); + return (error); + } PEFSDEBUG("%s: %.*s -> %.*s\n", __func__, (int) fcnp->cn_namelen, fcnp->cn_nameptr, (int) tcnp->cn_namelen, tcnp->cn_nameptr); - error = pefs_bypass((struct vop_generic_args *)ap); + ap->a_fcnp = &fenccn.pec_cn; + ap->a_tcnp = &tenccn.pec_cn; + error = pefs_bypass((struct vop_generic_args *)ap, NULL); + ap->a_fcnp = fcnp; + ap->a_tcnp = tcnp; + + pefs_enccn_free(&fenccn); + pefs_enccn_free(&tenccn); - if (fshadow) - pefs_cn_shadow_finish(fcnp, &o_fcnp); - if (tshadow) - pefs_cn_shadow_finish(tcnp, &o_tcnp); + if (!error) { + cache_purge(fdvp); + cache_purge(fvp); + } return (error); } @@ -595,13 +774,13 @@ VI_LOCK(vp); ap->a_flags = flags |= LK_INTERLOCK; } - nn = VTOPE(vp); + nn = VP_TO_PN(vp); /* * If we're still active we must ask the lower layer to * lock as ffs has special lock considerations in it's * vop lock. */ - if (nn != NULL && (lvp = PEVPTOLOWERVP(vp)) != NULL) { + if (nn != NULL && (lvp = PEFS_LOWERVP(vp)) != NULL) { VI_LOCK_FLAGS(lvp, MTX_DUPOK); VI_UNLOCK(vp); /* >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 30 14:24:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 523301065670; Tue, 30 Jun 2009 14:24:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E60F5106566C for ; Tue, 30 Jun 2009 14:24:22 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D3D5E8FC1D for ; Tue, 30 Jun 2009 14:24:22 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UEOMs6021834 for ; Tue, 30 Jun 2009 14:24:22 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5UEOMtQ021832 for perforce@freebsd.org; Tue, 30 Jun 2009 14:24:22 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Tue, 30 Jun 2009 14:24:22 GMT Message-Id: <200906301424.n5UEOMtQ021832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165469 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:24:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=165469 Change 165469 by zhaoshuai@zhaoshuai on 2009/06/30 14:23:35 add new test in the regression tests bugs found in fifo_poll, not fixed Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#2 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#2 (text+ko) ==== @@ -1,6 +1,8 @@ /*- * Copyright (c) 2005 Robert N. M. Watson * All rights reserved. + * Copyright (c) 2009 Zhao Shuai + * Google Summer of Code Project * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -1069,8 +1071,8 @@ * based on earlier semantic tests: specifically, whether or not poll/select/ * kevent will correctly inform on readable/writable state following I/O. * - * It would be nice to also test status changes as a result of closing of one - * or another fifo endpoint. + * test_events() also tests status changes as a result of closing of one or + * another fifo endpoint. */ static void test_events_outofbox(void) @@ -1380,6 +1382,120 @@ cleanfifo2("testfifo", fd, kqueue_fd); } +/* + * Test fifo status change after we close the reader side. + */ +static void +test_events_close_reader(void) +{ + int kqueue_fd, reader_fd, writer_fd; + + makefifo("testfifo", __func__); + if (openfifo("testfifo", __func__, &reader_fd, &writer_fd) + < 0) { + warn("test_events_write_read_byte: openfifo: testfifo"); + cleanfifo2("testfifo", -1, -1); + exit(-1); + } + + kqueue_fd = kqueue(); + if (kqueue_fd < 0) { + warn("%s: kqueue", __func__); + cleanfifo2("testfifo", reader_fd, writer_fd); + exit(-1); + } + + if (kqueue_setup(kqueue_fd, reader_fd, __func__) < 0) { + cleanfifo3("testfifo", reader_fd, writer_fd, kqueue_fd); + exit(-1); + } + + if (kqueue_setup(kqueue_fd, writer_fd, __func__) < 0) { + cleanfifo3("testfifo", reader_fd, writer_fd, kqueue_fd); + exit(-1); + } + + /* + * close the reader, which should cause + * - reader_fd unreadable, unwritable, not exceptional + * - writer_fd unreadable, unwritable, not exceptional + */ + close(reader_fd); + + /* + if (assert_status(reader_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, + NOT_EXCEPTION, __func__, "close_reader", "reader_fd") < 0) { + cleanfifo2("testfifo", writer_fd, kqueue_fd); + exit(-1); + } + */ + + if (assert_status(writer_fd, kqueue_fd, READABLE, WRITABLE, + EXCEPTION, __func__, "close_reader", "writer_fd") < 0) { + cleanfifo2("testfifo", writer_fd, kqueue_fd); + exit(-1); + } + + cleanfifo2("testfifo", writer_fd, kqueue_fd); +} + +/* + * Test fifo status change after we close the writer side. + */ +static void +test_events_close_writer(void) +{ + int kqueue_fd, reader_fd, writer_fd; + + makefifo("testfifo", __func__); + if (openfifo("testfifo", __func__, &reader_fd, &writer_fd) + < 0) { + warn("test_events_write_read_byte: openfifo: testfifo"); + cleanfifo2("testfifo", -1, -1); + exit(-1); + } + + kqueue_fd = kqueue(); + if (kqueue_fd < 0) { + warn("%s: kqueue", __func__); + cleanfifo2("testfifo", reader_fd, writer_fd); + exit(-1); + } + + if (kqueue_setup(kqueue_fd, reader_fd, __func__) < 0) { + cleanfifo3("testfifo", reader_fd, writer_fd, kqueue_fd); + exit(-1); + } + + if (kqueue_setup(kqueue_fd, writer_fd, __func__) < 0) { + cleanfifo3("testfifo", reader_fd, writer_fd, kqueue_fd); + exit(-1); + } + + /* + * close the writer, which should cause + * - reader_fd readable, unwritable, exceptional + * - writer_fd unreadable, unwritable, not exceptional + */ + close(writer_fd); + + if (assert_status(reader_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, + NOT_EXCEPTION, __func__, "close_writer", "reader_fd") < 0) { + cleanfifo2("testfifo", reader_fd, kqueue_fd); + exit(-1); + } + + /* + if (assert_status(writer_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, + NOT_EXCEPTION, __func__, "close_writer", "writer_fd") < 0) { + cleanfifo2("testfifo", reader_fd, kqueue_fd); + exit(-1); + } + */ + + cleanfifo2("testfifo", reader_fd, kqueue_fd); +} + int main(int argc, char *argv[]) { @@ -1392,6 +1508,7 @@ if (chdir(temp_dir) < 0) err(-1, "chdir %s", temp_dir); + /* test_simpleio(); test_blocking_read_empty(); test_blocking_one_byte(); @@ -1404,6 +1521,9 @@ test_events_write_read_byte(); test_events_partial_write(); test_events_rdwr(); + */ + test_events_close_reader(); + test_events_close_writer(); return (0); } From owner-p4-projects@FreeBSD.ORG Tue Jun 30 19:21:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0A111065674; Tue, 30 Jun 2009 19:21:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90128106564A for ; Tue, 30 Jun 2009 19:21:48 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7D9BF8FC13 for ; Tue, 30 Jun 2009 19:21:48 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJLmCh058829 for ; Tue, 30 Jun 2009 19:21:48 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5UJLmE2058827 for perforce@freebsd.org; Tue, 30 Jun 2009 19:21:48 GMT (envelope-from syl@FreeBSD.org) Date: Tue, 30 Jun 2009 19:21:48 GMT Message-Id: <200906301921.n5UJLmE2058827@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165479 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:21:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165479 Change 165479 by syl@syl_atuin on 2009/06/30 19:21:11 Replace libusb list by queue(3). Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#14 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#52 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#13 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#18 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#20 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#14 (text+ko) ==== @@ -26,14 +26,16 @@ #ifndef __LIBUSB_H__ #define __LIBUSB_H__ +#include +#include +#include +#include + #include #include #include #include -#include -#include -#include #ifdef __cplusplus extern "C" { @@ -43,10 +45,6 @@ #endif -struct list_head { - struct list_head *prev, *next; -}; - /* libusb enums */ enum libusb_class_code { @@ -182,6 +180,26 @@ LIBUSB_DEBUG_TRANSFER=2, }; +/* internal structures */ + +typedef struct libusb_pollfd { + int fd; + short events; +} libusb_pollfd; + +struct usb_pollfd { + TAILQ_ENTRY(usb_pollfd) list; + struct libusb_pollfd pollfd; +}; + +struct usb_transfer { + TAILQ_ENTRY(usb_transfer) list; + int num_iso_packets; + struct timeval timeout; + int transferred; + uint8_t flags; +}; + /* libusb structures */ typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data); @@ -193,16 +211,16 @@ int ctrl_pipe[2]; - struct list_head usb_devs; + TAILQ_HEAD(usb_devs_list, libusb_device) usb_devs; pthread_mutex_t usb_devs_lock; - struct list_head open_devs; + TAILQ_HEAD(open_devs_list, libusb_device_handle) open_devs; pthread_mutex_t open_devs_lock; - struct list_head flying_transfers; + TAILQ_HEAD(flying_transfers_list, usb_transfer) flying_transfers; pthread_mutex_t flying_transfers_lock; - struct list_head pollfds; + TAILQ_HEAD(pollfds_list, usb_pollfd) pollfds; pthread_mutex_t pollfds_lock; unsigned int pollfd_modify; @@ -229,7 +247,7 @@ uint8_t device_address; uint8_t num_configurations; - struct list_head list; + TAILQ_ENTRY(libusb_device) list; unsigned long session_data; void *os_priv; } libusb_device; @@ -238,7 +256,7 @@ pthread_mutex_t lock; unsigned long claimed_interfaces; - struct list_head list; + TAILQ_ENTRY(libusb_device_handle) list; struct libusb_device *dev; void *os_priv; } libusb_device_handle; @@ -342,11 +360,6 @@ struct libusb_iso_packet_descriptor iso_packet_desc[0]; } libusb_transfer __aligned(sizeof(void *)); -typedef struct libusb_pollfd { - int fd; - short events; -} libusb_pollfd; - /* Library initialisation */ void libusb_set_debug(libusb_context * ctx, int level); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#52 (text+ko) ==== @@ -74,8 +74,8 @@ pthread_mutex_init(&ctx->usb_devs_lock, NULL); pthread_mutex_init(&ctx->open_devs_lock, NULL); - USB_LIST_INIT(&ctx->usb_devs); - USB_LIST_INIT(&ctx->open_devs); + TAILQ_INIT(&ctx->usb_devs); + TAILQ_INIT(&ctx->open_devs); pthread_mutex_init(&ctx->flying_transfers_lock, NULL); pthread_mutex_init(&ctx->pollfds_lock, NULL); @@ -84,8 +84,8 @@ pthread_mutex_init(&ctx->event_waiters_lock, NULL); pthread_cond_init(&ctx->event_waiters_cond, NULL); - USB_LIST_INIT(&ctx->flying_transfers); - USB_LIST_INIT(&ctx->pollfds); + TAILQ_INIT(&ctx->flying_transfers); + TAILQ_INIT(&ctx->pollfds); ret = pipe(ctx->ctrl_pipe); if (ret < 0) { @@ -197,7 +197,7 @@ dev->os_priv = pdev; pthread_mutex_lock(&ctx->usb_devs_lock); - LIST_ADD(&dev->list, &ctx->usb_devs); + TAILQ_INSERT_HEAD(&ctx->usb_devs, dev, list); pthread_mutex_unlock(&ctx->usb_devs_lock); (*list)[i] = libusb_ref_device(dev); @@ -344,7 +344,7 @@ if (dev->refcnt == 0) { pthread_mutex_lock(&dev->ctx->usb_devs_lock); - LIST_DEL(&dev->list); + TAILQ_REMOVE(&ctx->usb_devs, dev, list); pthread_mutex_unlock(&dev->ctx->usb_devs_lock); libusb20_dev_free(dev->os_priv); @@ -393,7 +393,7 @@ } pthread_mutex_lock(&ctx->open_devs_lock); - LIST_ADD(&hdl->list, &ctx->open_devs); + TAILQ_INSERT_HEAD(&ctx->open_devs, hdl, list); pthread_mutex_unlock(&ctx->open_devs_lock); *devh = hdl; @@ -480,7 +480,7 @@ if (err <= 0) { pthread_mutex_lock(&ctx->open_devs_lock); - LIST_DEL(&devh->list); + TAILQ_REMOVE(&ctx->open_devs, devh, list); pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); @@ -497,7 +497,7 @@ read(ctx->ctrl_pipe[0], &dummy, sizeof(dummy)); pthread_mutex_lock(&ctx->open_devs_lock); - LIST_DEL(&devh->list); + TAILQ_REMOVE(&ctx->open_devs, devh, list); pthread_mutex_unlock(&ctx->open_devs_lock); usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); @@ -1046,25 +1046,27 @@ /*Add to flying list*/ pthread_mutex_lock(&ctx->flying_transfers_lock); - if (USB_LIST_EMPTY(&ctx->flying_transfers)) { - LIST_ADD(&usb_backend->list, &ctx->flying_transfers); + if (TAILQ_EMPTY(&ctx->flying_transfers)) { + TAILQ_INSERT_HEAD(&ctx->flying_transfers, usb_backend, list); goto out; } if (timerisset(&usb_backend->timeout) == 0) { - LIST_ADD_TAIL(&usb_backend->list, &ctx->flying_transfers); + TAILQ_INSERT_HEAD(&ctx->flying_transfers, usb_backend, list); goto out; } - LIST_FOREACH_ENTRY(usb_node, &ctx->flying_transfers, list) { + TAILQ_FOREACH(usb_node, &ctx->flying_transfers, list) { cur_tv = &usb_node->timeout; if (timerisset(cur_tv) == 0 || (cur_tv->tv_sec > usb_backend->timeout.tv_sec) || (cur_tv->tv_sec == usb_backend->timeout.tv_sec && cur_tv->tv_usec > usb_backend->timeout.tv_usec)) { - LIST_ADD_TAIL(&usb_backend->list, &usb_node->list); + /*XXX need to check with libusb-1*/ + TAILQ_INSERT_TAIL(&ctx->flying_transfers, usb_node, list); goto out; } } - LIST_ADD_TAIL(&usb_backend->list, &ctx->flying_transfers); + /*XXX*/ + TAILQ_INSERT_TAIL(&ctx->flying_transfers, usb_backend, list); out: pthread_mutex_unlock(&ctx->flying_transfers_lock); @@ -1093,7 +1095,7 @@ if (ret != 0) { pthread_mutex_unlock(&libusb20_lock); pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&usb_backend->list); + TAILQ_REMOVE(&ctx->flying_transfers, usb_backend, list); pthread_mutex_unlock(&ctx->flying_transfers_lock); return (LIBUSB_ERROR_OTHER); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#13 (text+ko) ==== @@ -30,37 +30,7 @@ * The two following macros were taken from the original LibUSB v1.0 * for sake of compatibility: */ -#define USB_LIST_INIT(entry) \ - (entry)->prev = (entry)->next = entry; -#define USB_LIST_EMPTY(entry) \ - ((entry)->next = (entry)) - -#define LIST_ADD(entry, head) \ - (entry)->next = (head)->next; \ - (entry)->prev = (head); \ - (head)->next->prev = (entry); \ - (head)->next = (entry); -#define LIST_ADD_TAIL(entry, head) \ - (entry)->next = (head); \ - (entry)->prev = (head)->prev; \ - (head)->prev->next = (entry); \ - (head)->prev = (entry); -#define LIST_DEL(entry) \ - (entry)->next->prev = (entry)->prev; \ - (entry)->prev->next = (entry)->next; -#define LIST_ENT(ptr, type, member) \ - ((type *)((char *)(ptr) - (unsigned long) (&((type*)0L)->member))) -#define LIST_FOREACH_ENTRY(pos, head, member) \ - for (pos = LIST_ENT((head)->next, typeof(*pos), member) ; \ - &pos->member != head ; \ - pos = LIST_ENT(pos->member.next, typeof(*pos), member)) -#define LIST_FOREACH_ENTRY_SAFE(pos, n, head, member) \ - for (pos = LIST_ENT((head)->next, typeof(*pos), member), \ - n = LIST_ENT(pos->member.next, typeof(*pos), member); \ - &pos->member != (head); \ - pos = n, n = LIST_ENT(n->member.next, typeof(*n), member)) - static int get_next_timeout(libusb_context *ctx, struct timeval *tv, struct timeval *out); static int handle_timeouts(struct libusb_context *ctx); static int handle_events(struct libusb_context *ctx, struct timeval *tv); @@ -76,19 +46,6 @@ #define USB_TIMED_OUT (1<<0) #define UNEXPORTED __attribute__((__visibility__("hidden"))) -struct usb_pollfd { - struct libusb_pollfd pollfd; - struct list_head list; -}; - -struct usb_transfer { - int num_iso_packets; - struct list_head list; - struct timeval timeout; - int transferred; - uint8_t flags; -}; - #define DPRINTF(ctx, dbg, format, args...) \ if (ctx->debug == dbg) { \ printf("LIBUSB_%s : ", (ctx->debug == LIBUSB_DEBUG_FUNCTION) ? "FUNCTION" : "TRANSFER"); \ ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#18 (text+ko) ==== ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#20 (text+ko) ==== @@ -54,7 +54,7 @@ pollfd->pollfd.events = events; pthread_mutex_lock(&ctx->pollfds_lock); - LIST_ADD_TAIL(&pollfd->list, &ctx->pollfds); + TAILQ_INSERT_TAIL(&ctx->pollfds, pollfd, list); pthread_mutex_unlock(&ctx->pollfds_lock); if (ctx->fd_added_cb) @@ -71,7 +71,7 @@ found = 0; pthread_mutex_lock(&ctx->pollfds_lock); - LIST_FOREACH_ENTRY(pollfd, &ctx->pollfds, list) { + TAILQ_FOREACH(pollfd, &ctx->pollfds, list) { if (pollfd->pollfd.fd == fd) { found = 1; break ; @@ -83,7 +83,7 @@ return ; } - LIST_DEL(&pollfd->list); + TAILQ_REMOVE(&ctx->pollfds, pollfd, list); pthread_mutex_unlock(&ctx->pollfds_lock); free(pollfd); @@ -104,7 +104,7 @@ ctx = xfer->dev_handle->dev->ctx; pthread_mutex_lock(&ctx->flying_transfers_lock); - LIST_DEL(&uxfer->list); + TAILQ_REMOVE(&ctx->flying_transfers, uxfer, list); pthread_mutex_unlock(&ctx->flying_transfers_lock); if (status == LIBUSB_TRANSFER_COMPLETED && xfer->flags & @@ -145,7 +145,7 @@ while (1) { pthread_mutex_lock(&ctx->flying_transfers_lock); to_cancel = NULL; - LIST_FOREACH_ENTRY(cur, &ctx->flying_transfers, list) { + TAILQ_FOREACH(cur, &ctx->flying_transfers, list) { xfer = (struct libusb_transfer *) ((uint8_t *)cur + sizeof(struct usb_transfer)); if (xfer->dev_handle == devh) { @@ -199,13 +199,13 @@ ret = 0; pthread_mutex_lock(&ctx->flying_transfers_lock); - if (USB_LIST_EMPTY(&ctx->flying_transfers)) + if (TAILQ_EMPTY(&ctx->flying_transfers)) goto out; ret = clock_gettime(CLOCK_MONOTONIC, &sys_ts); TIMESPEC_TO_TIMEVAL(&sys_tv, &sys_ts); - LIST_FOREACH_ENTRY(xfer, &ctx->flying_transfers, list) { + TAILQ_FOREACH(xfer, &ctx->flying_transfers, list) { cur_tv = &xfer->timeout; if (timerisset(cur_tv) == 0) @@ -253,14 +253,14 @@ i = -1; pthread_mutex_lock(&ctx->pollfds_lock); - LIST_FOREACH_ENTRY(ipollfd, &ctx->pollfds, list) + TAILQ_FOREACH(ipollfd, &ctx->pollfds, list) nfds++; fds = malloc(sizeof(*fds) * nfds); if (fds == NULL) return (LIBUSB_ERROR_NO_MEM); - LIST_FOREACH_ENTRY(ipollfd, &ctx->pollfds, list) { + TAILQ_FOREACH(ipollfd, &ctx->pollfds, list) { tmppollfd = &ipollfd->pollfd; tmpfd = tmppollfd->fd; i++; @@ -305,7 +305,7 @@ continue; ret--; - LIST_FOREACH_ENTRY(devh, &ctx->open_devs, list) { + TAILQ_FOREACH(devh, &ctx->open_devs, list) { if (libusb20_dev_get_fd(devh->os_priv) == tfds->fd) break ; } @@ -582,12 +582,12 @@ found = 0; pthread_mutex_lock(&ctx->flying_transfers_lock); - if (USB_LIST_EMPTY(&ctx->flying_transfers)) { + if (TAILQ_EMPTY(&ctx->flying_transfers)) { pthread_mutex_unlock(&ctx->flying_transfers_lock); return (0); } - LIST_FOREACH_ENTRY(xfer, &ctx->flying_transfers, list) { + TAILQ_FOREACH(xfer, &ctx->flying_transfers, list) { if (!(xfer->flags & USB_TIMED_OUT)) { found = 1; break ; @@ -644,7 +644,7 @@ i = 0; pthread_mutex_lock(&ctx->pollfds_lock); - LIST_FOREACH_ENTRY(pollfd, &ctx->pollfds, list) + TAILQ_FOREACH(pollfd, &ctx->pollfds, list) i++; ret = calloc(i + 1 , sizeof(struct libusb_pollfd *)); @@ -654,7 +654,7 @@ } i = 0; - LIST_FOREACH_ENTRY(pollfd, &ctx->pollfds, list) + TAILQ_FOREACH(pollfd, &ctx->pollfds, list) ret[i++] = (struct libusb_pollfd *) pollfd; ret[i] = NULL; From owner-p4-projects@FreeBSD.ORG Tue Jun 30 19:36:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75CF61065675; Tue, 30 Jun 2009 19:36:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35AE3106564A for ; Tue, 30 Jun 2009 19:36:04 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2413C8FC08 for ; Tue, 30 Jun 2009 19:36:04 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJa4IH061566 for ; Tue, 30 Jun 2009 19:36:04 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5UJa4eL061564 for perforce@freebsd.org; Tue, 30 Jun 2009 19:36:04 GMT (envelope-from syl@FreeBSD.org) Date: Tue, 30 Jun 2009 19:36:04 GMT Message-Id: <200906301936.n5UJa4eL061564@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:36:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=165480 Change 165480 by syl@syl_atuin on 2009/06/30 19:35:24 Update flying_list code following sourceforge lisbusb. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#53 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#53 (text+ko) ==== @@ -1042,7 +1042,7 @@ } TIMESPEC_TO_TIMEVAL(&usb_backend->timeout, &cur_ts); - } + } /*Add to flying list*/ pthread_mutex_lock(&ctx->flying_transfers_lock); @@ -1060,12 +1060,10 @@ (cur_tv->tv_sec > usb_backend->timeout.tv_sec) || (cur_tv->tv_sec == usb_backend->timeout.tv_sec && cur_tv->tv_usec > usb_backend->timeout.tv_usec)) { - /*XXX need to check with libusb-1*/ - TAILQ_INSERT_TAIL(&ctx->flying_transfers, usb_node, list); + TAILQ_INSERT_TAIL(&ctx->flying_transfers, usb_backend, list); goto out; } } - /*XXX*/ TAILQ_INSERT_TAIL(&ctx->flying_transfers, usb_backend, list); out: From owner-p4-projects@FreeBSD.ORG Tue Jun 30 20:08:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 52FA81065672; Tue, 30 Jun 2009 20:08:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F72D106566C for ; Tue, 30 Jun 2009 20:08:40 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F1BED8FC08 for ; Tue, 30 Jun 2009 20:08:39 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UK8d4j064887 for ; Tue, 30 Jun 2009 20:08:39 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5UK8dFB064885 for perforce@freebsd.org; Tue, 30 Jun 2009 20:08:39 GMT (envelope-from trasz@freebsd.org) Date: Tue, 30 Jun 2009 20:08:39 GMT Message-Id: <200906302008.n5UK8dFB064885@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165483 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:08:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=165483 Change 165483 by trasz@trasz_victim on 2009/06/30 20:08:13 Remove comma (",") from the end of the returned strings. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#23 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#23 (text+ko) ==== @@ -713,6 +713,8 @@ else sbuf_printf(sb, ","); } + if (sbuf_len(sb) > 0) + sbuf_setpos(sb, sbuf_len(sb) - 1); return (sb); } @@ -845,6 +847,7 @@ sbuf_printf(sb, "%s=%jd,", hrl_resource_name(i), usage->hu_resources[i]); } + sbuf_setpos(sb, sbuf_len(sb) - 1); return (sb); } From owner-p4-projects@FreeBSD.ORG Tue Jun 30 20:46:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02CC41065673; Tue, 30 Jun 2009 20:46:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B51E0106564A for ; Tue, 30 Jun 2009 20:46:29 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A0E808FC20 for ; Tue, 30 Jun 2009 20:46:29 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UKkTBJ067692 for ; Tue, 30 Jun 2009 20:46:29 GMT (envelope-from antab@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5UKkLF0067684 for perforce@freebsd.org; Tue, 30 Jun 2009 20:46:21 GMT (envelope-from antab@FreeBSD.org) Date: Tue, 30 Jun 2009 20:46:21 GMT Message-Id: <200906302046.n5UKkLF0067684@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to antab@FreeBSD.org using -f From: Arnar Mar Sig To: Perforce Change Reviews Cc: Subject: PERFORCE change 165484 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:46:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=165484 Change 165484 by antab@antab_farm on 2009/06/30 20:45:46 IFC @ 165440 Affected files ... .. //depot/projects/avr32/src/MAINTAINERS#3 integrate .. //depot/projects/avr32/src/Makefile.inc1#7 integrate .. //depot/projects/avr32/src/ObsoleteFiles.inc#9 integrate .. //depot/projects/avr32/src/UPDATING#11 integrate .. //depot/projects/avr32/src/bin/chflags/chflags.c#3 integrate .. //depot/projects/avr32/src/bin/chmod/chmod.c#2 integrate .. //depot/projects/avr32/src/bin/df/df.c#3 integrate .. //depot/projects/avr32/src/bin/hostname/hostname.c#2 integrate .. //depot/projects/avr32/src/bin/sh/eval.c#4 integrate .. //depot/projects/avr32/src/bin/sh/exec.c#3 integrate .. //depot/projects/avr32/src/bin/sh/expand.c#2 integrate .. //depot/projects/avr32/src/bin/sh/histedit.c#3 integrate .. //depot/projects/avr32/src/bin/sh/miscbltin.c#4 integrate .. //depot/projects/avr32/src/bin/sh/parser.c#4 integrate .. //depot/projects/avr32/src/bin/sh/sh.1#3 integrate .. //depot/projects/avr32/src/bin/sh/var.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/CHANGES#4 integrate .. //depot/projects/avr32/src/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/avr32/src/contrib/bind9/bin/check/named-checkzone.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#3 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#3 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/bin/dnssec/dnssectool.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/Bv9ARM.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dig.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.host.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.named-checkconf.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.named-checkzone.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.named.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.rndc-confgen.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.rndc.conf.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/doc/arm/man.rndc.html#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/api#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/bind9/check.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/api#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/dnssec.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/dnssec.h#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/include/dns/keyvalues.h#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/dns/resolver.c#3 integrate .. //depot/projects/avr32/src/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/avr32/src/contrib/bind9/version#4 integrate .. //depot/projects/avr32/src/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/avr32/src/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/avr32/src/etc/login.conf#2 integrate .. //depot/projects/avr32/src/etc/network.subr#5 integrate .. //depot/projects/avr32/src/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/avr32/src/etc/rc.d/ipfw#4 integrate .. //depot/projects/avr32/src/etc/rc.d/netif#3 integrate .. //depot/projects/avr32/src/etc/rc.d/pf#3 integrate .. //depot/projects/avr32/src/etc/rc.d/pflog#3 integrate .. //depot/projects/avr32/src/etc/rc.d/pfsync#3 integrate .. //depot/projects/avr32/src/gnu/lib/libgcc/Makefile#4 integrate .. //depot/projects/avr32/src/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/avr32/src/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 integrate .. //depot/projects/avr32/src/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate .. //depot/projects/avr32/src/include/stdio.h#4 integrate .. //depot/projects/avr32/src/lib/Makefile#3 integrate .. //depot/projects/avr32/src/lib/libc/Makefile#4 integrate .. //depot/projects/avr32/src/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/avr32/src/lib/libc/arm/string/strncmp.S#3 integrate .. //depot/projects/avr32/src/lib/libc/db/btree/bt_split.c#3 integrate .. //depot/projects/avr32/src/lib/libc/db/mpool/mpool.c#3 integrate .. //depot/projects/avr32/src/lib/libc/gen/Symbol.map#5 integrate .. //depot/projects/avr32/src/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/avr32/src/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/avr32/src/lib/libc/gen/semctl.c#2 integrate .. //depot/projects/avr32/src/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/avr32/src/lib/libc/i386/stdlib/abs.S#2 delete .. //depot/projects/avr32/src/lib/libc/i386/stdlib/div.S#2 integrate .. //depot/projects/avr32/src/lib/libc/i386/stdlib/labs.S#2 delete .. //depot/projects/avr32/src/lib/libc/i386/stdlib/ldiv.S#2 integrate .. //depot/projects/avr32/src/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/avr32/src/lib/libc/include/compat.h#1 branch .. //depot/projects/avr32/src/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/avr32/src/lib/libc/posix1e/Makefile.inc#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/Symbol.map#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl.3#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_add_perm.3#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_calc_mask.c#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_copy.c#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_create_entry.3#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_delete_entry.c#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_entry.c#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_get.3#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_get.c#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_set.3#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_set.c#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_set_tag_type.3#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_support.h#3 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_to_text.c#2 integrate .. //depot/projects/avr32/src/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/avr32/src/lib/libc/posix1e/acl_valid.c#3 integrate .. //depot/projects/avr32/src/lib/libc/rpc/getnetconfig.c#3 integrate .. //depot/projects/avr32/src/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/avr32/src/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/avr32/src/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/avr32/src/lib/libc/stdtime/strptime.c#2 integrate .. //depot/projects/avr32/src/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/avr32/src/lib/libc/sys/Symbol.map#5 integrate .. //depot/projects/avr32/src/lib/libc/sys/getrlimit.2#2 integrate .. //depot/projects/avr32/src/lib/libc/sys/jail.2#4 integrate .. //depot/projects/avr32/src/lib/libc/sys/pathconf.2#2 integrate .. //depot/projects/avr32/src/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/avr32/src/lib/libc/sys/shmctl.2#3 integrate .. //depot/projects/avr32/src/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/avr32/src/lib/libcompat/4.3/cfree.c#2 integrate .. //depot/projects/avr32/src/lib/libcompat/4.3/regex.c#2 integrate .. //depot/projects/avr32/src/lib/libcompat/4.4/cuserid.c#2 integrate .. //depot/projects/avr32/src/lib/libjail/Makefile#1 branch .. //depot/projects/avr32/src/lib/libjail/jail.3#1 branch .. //depot/projects/avr32/src/lib/libjail/jail.c#1 branch .. //depot/projects/avr32/src/lib/libjail/jail.h#1 branch .. //depot/projects/avr32/src/lib/libjail/jail_getid.c#1 branch .. //depot/projects/avr32/src/lib/libkiconv/Makefile#2 integrate .. //depot/projects/avr32/src/lib/libkiconv/kiconv_sysctl.c#1 branch .. //depot/projects/avr32/src/lib/libkiconv/quirks.c#2 integrate .. //depot/projects/avr32/src/lib/libkiconv/xlat16_iconv.c#2 integrate .. //depot/projects/avr32/src/lib/libkiconv/xlat16_sysctl.c#2 integrate .. //depot/projects/avr32/src/lib/libusb/Makefile#2 integrate .. //depot/projects/avr32/src/lib/libusb/libusb.3#6 integrate .. //depot/projects/avr32/src/lib/libusb/libusb.h#1 branch .. //depot/projects/avr32/src/lib/libusb/libusb10.c#1 branch .. //depot/projects/avr32/src/lib/libusb/libusb10.h#1 branch .. //depot/projects/avr32/src/lib/libusb/libusb10_desc.c#1 branch .. //depot/projects/avr32/src/lib/libusb/libusb10_io.c#1 branch .. //depot/projects/avr32/src/lib/libusb/libusb20.3#1 branch .. //depot/projects/avr32/src/lib/libusb/libusb20_compat10.c#2 delete .. //depot/projects/avr32/src/lib/libusb/libusb20_compat10.h#2 delete .. //depot/projects/avr32/src/lib/libusb/libusb20_ugen20.c#4 integrate .. //depot/projects/avr32/src/lib/libutil/humanize_number.c#2 integrate .. //depot/projects/avr32/src/lib/libutil/kinfo_getvmmap.3#3 integrate .. //depot/projects/avr32/src/lib/libutil/login_class.c#2 integrate .. //depot/projects/avr32/src/lib/ncurses/ncurses/pathnames.h#2 integrate .. //depot/projects/avr32/src/libexec/rtld-elf/Makefile#3 integrate .. //depot/projects/avr32/src/libexec/rtld-elf/rtld.c#5 integrate .. //depot/projects/avr32/src/release/Makefile#3 integrate .. //depot/projects/avr32/src/release/amd64/boot_crunch.conf#3 integrate .. //depot/projects/avr32/src/release/i386/boot_crunch.conf#3 integrate .. //depot/projects/avr32/src/release/ia64/boot_crunch.conf#3 integrate .. //depot/projects/avr32/src/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/avr32/src/release/picobsd/build/picobsd#4 integrate .. //depot/projects/avr32/src/release/powerpc/boot_crunch.conf#3 integrate .. //depot/projects/avr32/src/release/scripts/package-split.py#2 integrate .. //depot/projects/avr32/src/release/sparc64/boot_crunch.conf#3 integrate .. //depot/projects/avr32/src/release/sun4v/boot_crunch.conf#3 integrate .. //depot/projects/avr32/src/rescue/rescue/Makefile#6 integrate .. //depot/projects/avr32/src/sbin/ifconfig/Makefile#3 integrate .. //depot/projects/avr32/src/sbin/ifconfig/af_atalk.c#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/af_inet.c#3 integrate .. //depot/projects/avr32/src/sbin/ifconfig/af_inet6.c#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifclone.c#4 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifconfig.8#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifconfig.c#4 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifconfig.h#3 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifgif.c#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifgre.c#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifmac.c#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifmedia.c#2 integrate .. //depot/projects/avr32/src/sbin/ifconfig/ifvlan.c#3 integrate .. //depot/projects/avr32/src/sbin/ipfw/Makefile#3 integrate .. //depot/projects/avr32/src/sbin/ipfw/dummynet.c#4 integrate .. //depot/projects/avr32/src/sbin/ipfw/ipfw.8#6 integrate .. //depot/projects/avr32/src/sbin/ipfw/ipfw2.h#3 integrate .. //depot/projects/avr32/src/sbin/kldload/kldload.8#3 integrate .. //depot/projects/avr32/src/sbin/mount_nfs/mount_nfs.c#5 integrate .. //depot/projects/avr32/src/sbin/sysctl/sysctl.c#2 integrate .. //depot/projects/avr32/src/sbin/umount/umount.c#2 integrate .. //depot/projects/avr32/src/share/doc/bind9/Makefile#3 integrate .. //depot/projects/avr32/src/share/man/man4/Makefile#8 integrate .. //depot/projects/avr32/src/share/man/man4/acpi_hp.4#1 branch .. //depot/projects/avr32/src/share/man/man4/acpi_wmi.4#1 branch .. //depot/projects/avr32/src/share/man/man4/ata.4#2 integrate .. //depot/projects/avr32/src/share/man/man4/bridge.4#1 branch .. //depot/projects/avr32/src/share/man/man4/epair.4#1 branch .. //depot/projects/avr32/src/share/man/man4/gem.4#2 integrate .. //depot/projects/avr32/src/share/man/man4/if_bridge.4#4 delete .. //depot/projects/avr32/src/share/man/man4/pcm.4#3 integrate .. //depot/projects/avr32/src/share/man/man4/usb.4#4 integrate .. //depot/projects/avr32/src/share/man/man7/tuning.7#4 integrate .. //depot/projects/avr32/src/share/man/man8/picobsd.8#2 integrate .. //depot/projects/avr32/src/share/man/man8/yp.8#2 integrate .. //depot/projects/avr32/src/share/man/man9/Makefile#8 integrate .. //depot/projects/avr32/src/share/man/man9/stack.9#2 integrate .. //depot/projects/avr32/src/share/man/man9/usbdi.9#2 integrate .. //depot/projects/avr32/src/share/man/man9/vm_map.9#2 integrate .. //depot/projects/avr32/src/share/misc/bsd-family-tree#4 integrate .. //depot/projects/avr32/src/share/mk/bsd.libnames.mk#2 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/machdep.c#7 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/mp_machdep.c#8 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/msi.c#4 integrate .. //depot/projects/avr32/src/sys/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/amd64/include/intr_machdep.h#3 integrate .. //depot/projects/avr32/src/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/avr32/src/sys/amd64/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/avr32/src/sys/arm/arm/elf_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/avr32/src/sys/arm/arm/pmap.c#5 integrate .. //depot/projects/avr32/src/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/avr32/src/sys/arm/conf/AVILA.hints#4 integrate .. //depot/projects/avr32/src/sys/arm/conf/CAMBRIA.hints#5 integrate .. //depot/projects/avr32/src/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/avr32/src/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/avr32/src/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/avr32/src/sys/arm/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/avr32/src/sys/arm/mv/files.mv#3 integrate .. //depot/projects/avr32/src/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/avr32/src/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/avr32/src/sys/arm/mv/mvreg.h#4 integrate .. //depot/projects/avr32/src/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/avr32/src/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/avr32/src/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/if_npe.c#6 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/ixp425.c#5 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/ixp425reg.h#4 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/ixp425var.h#3 integrate .. //depot/projects/avr32/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/avr32/src/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/avr32/avr32/machdep.c#13 edit .. //depot/projects/avr32/src/sys/avr32/avr32/trap.c#12 edit .. //depot/projects/avr32/src/sys/avr32/include/vm.h#1 add .. //depot/projects/avr32/src/sys/boot/i386/libi386/biosdisk.c#5 integrate .. //depot/projects/avr32/src/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/avr32/src/sys/cam/cam_periph.c#4 integrate .. //depot/projects/avr32/src/sys/cam/cam_periph.h#2 integrate .. //depot/projects/avr32/src/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/avr32/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/avr32/src/sys/cddl/compat/opensolaris/sys/vnode.h#4 integrate .. //depot/projects/avr32/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/projects/avr32/src/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/avr32/src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/freebsd32_proto.h#5 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/avr32/src/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/avr32/src/sys/compat/linprocfs/linprocfs.c#6 integrate .. //depot/projects/avr32/src/sys/compat/linux/linux_ioctl.c#6 integrate .. //depot/projects/avr32/src/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/avr32/src/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/avr32/src/sys/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/avr32/src/sys/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/avr32/src/sys/compat/ndis/subr_usbd.c#8 integrate .. //depot/projects/avr32/src/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/avr32/src/sys/compat/svr4/svr4_sockio.c#4 integrate .. //depot/projects/avr32/src/sys/conf/NOTES#10 integrate .. //depot/projects/avr32/src/sys/conf/files#13 integrate .. //depot/projects/avr32/src/sys/conf/files.amd64#7 integrate .. //depot/projects/avr32/src/sys/conf/files.i386#8 integrate .. //depot/projects/avr32/src/sys/conf/files.powerpc#8 integrate .. //depot/projects/avr32/src/sys/conf/kmod.mk#3 integrate .. //depot/projects/avr32/src/sys/conf/options#9 integrate .. //depot/projects/avr32/src/sys/contrib/altq/altq/altq_subr.c#6 integrate .. //depot/projects/avr32/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/avr32/src/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/avr32/src/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/avr32/src/sys/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/avr32/src/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/avr32/src/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/avr32/src/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/avr32/src/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/avr32/src/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/avr32/src/sys/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ae/if_ae.c#3 integrate .. //depot/projects/avr32/src/sys/dev/age/if_age.c#4 integrate .. //depot/projects/avr32/src/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ale/if_ale.c#3 integrate .. //depot/projects/avr32/src/sys/dev/asmc/asmc.c#3 integrate .. //depot/projects/avr32/src/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/ata-all.h#6 integrate .. //depot/projects/avr32/src/sys/dev/ata/ata-dma.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ata/ata-pci.h#7 integrate .. //depot/projects/avr32/src/sys/dev/ata/ata-sata.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ata/ata-usb.c#6 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-acard.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-acerlabs.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-ati.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-highpoint.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-intel.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-jmicron.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-marvell.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-netcell.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-nvidia.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-promise.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-serverworks.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-siliconimage.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-sis.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ata/chipsets/ata-via.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ah.c#6 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ah.h#5 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ah_internal.h#5 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#5 integrate .. //depot/projects/avr32/src/sys/dev/ath/if_ath.c#9 integrate .. //depot/projects/avr32/src/sys/dev/ath/if_athvar.h#6 integrate .. //depot/projects/avr32/src/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/avr32/src/sys/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/avr32/src/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/avr32/src/sys/dev/bge/if_bge.c#7 integrate .. //depot/projects/avr32/src/sys/dev/bm/if_bm.c#3 integrate .. //depot/projects/avr32/src/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/avr32/src/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/avr32/src/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/avr32/src/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/cxgb_adapter.h#5 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#4 integrate .. //depot/projects/avr32/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/avr32/src/sys/dev/dc/if_dc.c#4 integrate .. //depot/projects/avr32/src/sys/dev/de/if_de.c#3 integrate .. //depot/projects/avr32/src/sys/dev/drm/drmP.h#4 integrate .. //depot/projects/avr32/src/sys/dev/drm/drm_drv.c#5 integrate .. //depot/projects/avr32/src/sys/dev/drm/drm_irq.c#4 integrate .. //depot/projects/avr32/src/sys/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/avr32/src/sys/dev/drm/i915_dma.c#5 integrate .. //depot/projects/avr32/src/sys/dev/drm/i915_drv.c#4 integrate .. //depot/projects/avr32/src/sys/dev/drm/i915_drv.h#5 integrate .. //depot/projects/avr32/src/sys/dev/drm/i915_irq.c#5 integrate .. //depot/projects/avr32/src/sys/dev/drm/radeon_cp.c#5 integrate .. //depot/projects/avr32/src/sys/dev/drm/radeon_irq.c#4 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_82540.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_82541.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_82571.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_82575.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_82575.h#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_api.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_defines.h#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_hw.h#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_ich8lan.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_ich8lan.h#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_mac.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_phy.c#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_phy.h#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/e1000_regs.h#3 integrate .. //depot/projects/avr32/src/sys/dev/e1000/if_em.c#7 integrate .. //depot/projects/avr32/src/sys/dev/e1000/if_em.h#4 integrate .. //depot/projects/avr32/src/sys/dev/e1000/if_igb.c#6 integrate .. //depot/projects/avr32/src/sys/dev/e1000/if_igb.h#3 integrate .. //depot/projects/avr32/src/sys/dev/ed/if_ed.c#6 integrate .. //depot/projects/avr32/src/sys/dev/et/if_et.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/avr32/src/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/avr32/src/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/avr32/src/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/avr32/src/sys/dev/fxp/if_fxp.c#7 integrate .. //depot/projects/avr32/src/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/avr32/src/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/avr32/src/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/avr32/src/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/avr32/src/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/avr32/src/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/avr32/src/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/avr32/src/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/avr32/src/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/avr32/src/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/avr32/src/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/avr32/src/sys/dev/if_ndis/if_ndis.c#9 integrate .. //depot/projects/avr32/src/sys/dev/if_ndis/if_ndis_pccard.c#4 integrate .. //depot/projects/avr32/src/sys/dev/if_ndis/if_ndis_pci.c#4 integrate .. //depot/projects/avr32/src/sys/dev/if_ndis/if_ndis_usb.c#6 integrate .. //depot/projects/avr32/src/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_82598.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_api.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_api.h#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_common.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_osdep.h#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_phy.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_phy.h#3 integrate .. //depot/projects/avr32/src/sys/dev/ixgbe/ixgbe_type.h#3 integrate .. //depot/projects/avr32/src/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/avr32/src/sys/dev/le/lance.c#2 integrate .. //depot/projects/avr32/src/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/avr32/src/sys/dev/malo/if_malo.c#4 integrate .. //depot/projects/avr32/src/sys/dev/md/md.c#5 integrate .. //depot/projects/avr32/src/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/avr32/src/sys/dev/mge/if_mge.c#5 integrate .. //depot/projects/avr32/src/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/avr32/src/sys/dev/msk/if_msk.c#5 integrate .. //depot/projects/avr32/src/sys/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/avr32/src/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/avr32/src/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/avr32/src/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/avr32/src/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/avr32/src/sys/dev/mxge/eth_z8e.h#3 integrate .. //depot/projects/avr32/src/sys/dev/mxge/ethp_z8e.h#3 integrate .. //depot/projects/avr32/src/sys/dev/mxge/if_mxge.c#5 integrate .. //depot/projects/avr32/src/sys/dev/mxge/if_mxge_var.h#5 integrate .. //depot/projects/avr32/src/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/avr32/src/sys/dev/mxge/rss_eth_z8e.h#3 integrate .. //depot/projects/avr32/src/sys/dev/mxge/rss_ethp_z8e.h#3 integrate .. //depot/projects/avr32/src/sys/dev/my/if_my.c#4 integrate .. //depot/projects/avr32/src/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/avr32/src/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/avr32/src/sys/dev/nve/if_nve.c#4 integrate .. //depot/projects/avr32/src/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/avr32/src/sys/dev/pci/pci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/pcn/if_pcn.c#3 integrate .. //depot/projects/avr32/src/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/avr32/src/sys/dev/re/if_re.c#6 integrate .. //depot/projects/avr32/src/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/avr32/src/sys/dev/sis/if_sis.c#4 integrate .. //depot/projects/avr32/src/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/avr32/src/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/avr32/src/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/avr32/src/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/avr32/src/sys/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/avr32/src/sys/dev/sound/pci/hda/hdac.c#7 integrate .. //depot/projects/avr32/src/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/avr32/src/sys/dev/speaker/spkr.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/avr32/src/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/avr32/src/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/avr32/src/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/avr32/src/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/avr32/src/sys/dev/tx/if_tx.c#3 integrate .. //depot/projects/avr32/src/sys/dev/txp/if_txp.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/at91dci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/at91dci_atmelarm.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/atmegadci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/atmegadci_atmelarm.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ehci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ehci_ixp4xx.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ehci_mbus.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ehci_pci.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/musb_otg.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/musb_otg_atmelarm.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ohci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ohci_atmelarm.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/ohci_pci.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/uhci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/uhci_pci.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/usb_controller.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/uss820dci.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/controller/uss820dci_atmelarm.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/input/uhid.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/input/ukbd.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/input/ums.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/misc/udbp.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/misc/ufm.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_aue.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_axe.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_cdce.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_cue.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_kue.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_rue.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/if_udav.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/net/usb_ethernet.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/u3g.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uark.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/ubsa.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/ubser.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uchcom.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/ucycom.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/ufoma.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uftdi.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/ugensa.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uipaq.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/ulpt.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/umct.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/umodem.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/umoscom.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uplcom.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uslcom.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uvisor.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/serial/uvscom.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/storage/urio.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/storage/ustorage_fs.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/template/usb_template.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb.h#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_busdma.h#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_compat_linux.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_compat_linux.h#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_controller.h#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_core.h#9 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_defs.h#4 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_dev.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_dev.h#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_device.c#9 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_device.h#9 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_dynamic.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_dynamic.h#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/avr32/src/sys/dev/usb/usb_generic.c#9 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_handle_request.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_hid.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_hid.h#7 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_hub.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_if.m#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_ioctl.h#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_lookup.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_lookup.h#6 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_mbuf.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_mbuf.h#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_msctest.c#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_parse.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_parse.h#5 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_process.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_process.h#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_request.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_request.h#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_revision.h#5 delete .. //depot/projects/avr32/src/sys/dev/usb/usb_transfer.c#8 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_transfer.h#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_util.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/usb_util.h#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/avr32/src/sys/dev/usb/usbhid.h#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/wlan/if_rum.c#9 integrate .. //depot/projects/avr32/src/sys/dev/usb/wlan/if_uath.c#6 integrate .. //depot/projects/avr32/src/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/avr32/src/sys/dev/usb/wlan/if_ural.c#9 integrate .. //depot/projects/avr32/src/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/avr32/src/sys/dev/usb/wlan/if_zyd.c#9 integrate .. //depot/projects/avr32/src/sys/dev/vge/if_vge.c#5 integrate .. //depot/projects/avr32/src/sys/dev/vr/if_vr.c#3 integrate .. //depot/projects/avr32/src/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/avr32/src/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/avr32/src/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/avr32/src/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/avr32/src/sys/dev/xl/if_xl.c#5 integrate .. //depot/projects/avr32/src/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/avr32/src/sys/fs/coda/coda_vnops.c#3 integrate .. //depot/projects/avr32/src/sys/fs/nfsclient/nfs_clvnops.c#4 integrate .. //depot/projects/avr32/src/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/avr32/src/sys/fs/nullfs/null_vnops.c#6 integrate .. //depot/projects/avr32/src/sys/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/avr32/src/sys/fs/pseudofs/pseudofs_vnops.c#6 integrate .. //depot/projects/avr32/src/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/avr32/src/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/avr32/src/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/avr32/src/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/avr32/src/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/avr32/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#2 integrate .. //depot/projects/avr32/src/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/avr32/src/sys/gnu/fs/xfs/xfs_vnodeops.c#2 integrate .. //depot/projects/avr32/src/sys/i386/conf/NOTES#6 integrate .. //depot/projects/avr32/src/sys/i386/i386/elf_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/avr32/src/sys/i386/i386/local_apic.c#5 integrate .. //depot/projects/avr32/src/sys/i386/i386/machdep.c#6 integrate .. //depot/projects/avr32/src/sys/i386/i386/mp_machdep.c#7 integrate .. //depot/projects/avr32/src/sys/i386/i386/msi.c#4 integrate .. //depot/projects/avr32/src/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/avr32/src/sys/i386/include/intr_machdep.h#3 integrate .. //depot/projects/avr32/src/sys/i386/include/pmap.h#4 integrate .. //depot/projects/avr32/src/sys/i386/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/i386/isa/clock.c#4 integrate .. //depot/projects/avr32/src/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/i386/xen/mp_machdep.c#8 integrate .. //depot/projects/avr32/src/sys/ia64/ia64/elf_machdep.c#5 integrate .. //depot/projects/avr32/src/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/avr32/src/sys/ia64/ia64/mp_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/ia64/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/kern/init_sysent.c#4 integrate .. //depot/projects/avr32/src/sys/kern/kern_alq.c#4 integrate .. //depot/projects/avr32/src/sys/kern/kern_cpuset.c#4 integrate .. //depot/projects/avr32/src/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/avr32/src/sys/kern/kern_event.c#3 integrate .. //depot/projects/avr32/src/sys/kern/kern_exec.c#5 integrate .. //depot/projects/avr32/src/sys/kern/kern_exit.c#6 integrate .. //depot/projects/avr32/src/sys/kern/kern_fork.c#5 integrate .. //depot/projects/avr32/src/sys/kern/kern_intr.c#3 integrate .. //depot/projects/avr32/src/sys/kern/kern_jail.c#8 integrate .. //depot/projects/avr32/src/sys/kern/kern_linker.c#6 integrate .. //depot/projects/avr32/src/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/avr32/src/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/avr32/src/sys/kern/kern_poll.c#6 integrate .. //depot/projects/avr32/src/sys/kern/kern_prot.c#6 integrate .. //depot/projects/avr32/src/sys/kern/kern_resource.c#2 integrate .. //depot/projects/avr32/src/sys/kern/kern_sig.c#4 integrate .. //depot/projects/avr32/src/sys/kern/kern_switch.c#2 integrate .. //depot/projects/avr32/src/sys/kern/kern_thr.c#3 integrate .. //depot/projects/avr32/src/sys/kern/kern_uuid.c#5 integrate .. //depot/projects/avr32/src/sys/kern/kern_vimage.c#6 integrate .. //depot/projects/avr32/src/sys/kern/link_elf.c#5 integrate .. //depot/projects/avr32/src/sys/kern/link_elf_obj.c#5 integrate .. //depot/projects/avr32/src/sys/kern/makesyscalls.sh#3 integrate .. //depot/projects/avr32/src/sys/kern/sched_ule.c#5 integrate .. //depot/projects/avr32/src/sys/kern/subr_pcpu.c#3 integrate .. //depot/projects/avr32/src/sys/kern/subr_stack.c#2 integrate .. //depot/projects/avr32/src/sys/kern/sys_generic.c#5 integrate .. //depot/projects/avr32/src/sys/kern/sys_process.c#3 integrate .. //depot/projects/avr32/src/sys/kern/sys_socket.c#4 integrate .. //depot/projects/avr32/src/sys/kern/syscalls.c#4 integrate .. //depot/projects/avr32/src/sys/kern/syscalls.master#4 integrate .. //depot/projects/avr32/src/sys/kern/systrace_args.c#4 integrate .. //depot/projects/avr32/src/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/avr32/src/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/avr32/src/sys/kern/sysv_sem.c#5 integrate .. //depot/projects/avr32/src/sys/kern/sysv_shm.c#5 integrate .. //depot/projects/avr32/src/sys/kern/tty.c#10 integrate .. //depot/projects/avr32/src/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/avr32/src/sys/kern/uipc_shm.c#3 integrate .. //depot/projects/avr32/src/sys/kern/uipc_sockbuf.c#4 integrate .. //depot/projects/avr32/src/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/avr32/src/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/avr32/src/sys/kern/vfs_cache.c#7 integrate .. //depot/projects/avr32/src/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/avr32/src/sys/kern/vfs_default.c#7 integrate .. //depot/projects/avr32/src/sys/kern/vfs_export.c#4 integrate .. //depot/projects/avr32/src/sys/kern/vfs_extattr.c#6 integrate .. //depot/projects/avr32/src/sys/kern/vfs_lookup.c#8 integrate .. //depot/projects/avr32/src/sys/kern/vfs_mount.c#8 integrate .. //depot/projects/avr32/src/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/avr32/src/sys/kern/vfs_vnops.c#7 integrate .. //depot/projects/avr32/src/sys/kern/vnode_if.src#6 integrate .. //depot/projects/avr32/src/sys/libkern/iconv.c#2 integrate .. //depot/projects/avr32/src/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/avr32/src/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/avr32/src/sys/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/avr32/src/sys/mips/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/avr32/src/sys/mips/mips/busdma_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/mips/mips/elf_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/mips/mips/mp_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/mips/mips/pmap.c#6 integrate .. //depot/projects/avr32/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/avr32/src/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/avr32/src/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/avr32/src/sys/modules/gem/Makefile#2 integrate .. //depot/projects/avr32/src/sys/modules/igb/Makefile#2 integrate .. //depot/projects/avr32/src/sys/modules/ixgbe/Makefile#3 integrate .. //depot/projects/avr32/src/sys/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/avr32/src/sys/modules/netgraph/Makefile#3 integrate .. //depot/projects/avr32/src/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/avr32/src/sys/net/bridgestp.c#5 integrate .. //depot/projects/avr32/src/sys/net/fddi.h#2 integrate .. //depot/projects/avr32/src/sys/net/firewire.h#2 integrate .. //depot/projects/avr32/src/sys/net/flowtable.c#4 integrate .. //depot/projects/avr32/src/sys/net/flowtable.h#3 integrate .. //depot/projects/avr32/src/sys/net/if.c#10 integrate .. //depot/projects/avr32/src/sys/net/if_arc.h#3 integrate .. //depot/projects/avr32/src/sys/net/if_arcsubr.c#5 integrate .. //depot/projects/avr32/src/sys/net/if_ef.c#5 integrate .. //depot/projects/avr32/src/sys/net/if_epair.c#1 branch .. //depot/projects/avr32/src/sys/net/if_ethersubr.c#7 integrate .. //depot/projects/avr32/src/sys/net/if_fddisubr.c#4 integrate .. //depot/projects/avr32/src/sys/net/if_fwsubr.c#4 integrate .. //depot/projects/avr32/src/sys/net/if_iso88025subr.c#4 integrate .. //depot/projects/avr32/src/sys/net/if_media.h#2 integrate .. //depot/projects/avr32/src/sys/net/if_mib.c#5 integrate .. //depot/projects/avr32/src/sys/net/if_spppsubr.c#5 integrate .. //depot/projects/avr32/src/sys/net/if_stf.c#5 integrate .. //depot/projects/avr32/src/sys/net/if_tap.c#4 integrate .. //depot/projects/avr32/src/sys/net/if_tun.c#5 integrate .. //depot/projects/avr32/src/sys/net/if_var.h#8 integrate .. //depot/projects/avr32/src/sys/net/if_vlan.c#6 integrate .. //depot/projects/avr32/src/sys/net/iso88025.h#3 integrate .. //depot/projects/avr32/src/sys/net/netisr.c#5 integrate .. //depot/projects/avr32/src/sys/net/raw_cb.c#4 integrate .. //depot/projects/avr32/src/sys/net/raw_usrreq.c#4 integrate .. //depot/projects/avr32/src/sys/net/route.c#6 integrate .. //depot/projects/avr32/src/sys/net/route.h#4 integrate .. //depot/projects/avr32/src/sys/net/rtsock.c#7 integrate .. //depot/projects/avr32/src/sys/net/vnet.h#9 integrate .. //depot/projects/avr32/src/sys/net80211/ieee80211.c#8 integrate .. //depot/projects/avr32/src/sys/net80211/ieee80211_ddb.c#8 integrate .. //depot/projects/avr32/src/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/avr32/src/sys/netatalk/aarp.c#3 integrate .. //depot/projects/avr32/src/sys/netatalk/at_control.c#3 integrate .. //depot/projects/avr32/src/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/avr32/src/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/avr32/src/sys/netatalk/at_var.h#2 integrate .. //depot/projects/avr32/src/sys/netatalk/ddp_input.c#3 integrate .. //depot/projects/avr32/src/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/avr32/src/sys/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/avr32/src/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/avr32/src/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/avr32/src/sys/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/avr32/src/sys/netgraph/ng_eiface.c#5 integrate .. //depot/projects/avr32/src/sys/netgraph/ng_ether.c#5 integrate .. //depot/projects/avr32/src/sys/netgraph/ng_iface.c#5 integrate .. //depot/projects/avr32/src/sys/netgraph/ng_ksocket.c#3 integrate .. //depot/projects/avr32/src/sys/netinet/if_ether.c#8 integrate .. //depot/projects/avr32/src/sys/netinet/igmp.c#8 integrate .. //depot/projects/avr32/src/sys/netinet/in.c#7 integrate .. //depot/projects/avr32/src/sys/netinet/in_gif.c#5 integrate .. //depot/projects/avr32/src/sys/netinet/in_mcast.c#7 integrate .. //depot/projects/avr32/src/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/avr32/src/sys/netinet/in_pcb.h#8 integrate .. //depot/projects/avr32/src/sys/netinet/in_rmx.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/in_var.h#5 integrate .. //depot/projects/avr32/src/sys/netinet/ip_carp.c#5 integrate .. //depot/projects/avr32/src/sys/netinet/ip_divert.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/ip_dummynet.h#4 integrate .. //depot/projects/avr32/src/sys/netinet/ip_icmp.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/ip_input.c#9 integrate .. //depot/projects/avr32/src/sys/netinet/ip_mroute.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/ip_mroute.h#5 integrate .. //depot/projects/avr32/src/sys/netinet/ip_options.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/ip_output.c#10 integrate .. //depot/projects/avr32/src/sys/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/avr32/src/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/avr32/src/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/avr32/src/sys/netinet/raw_ip.c#8 integrate .. //depot/projects/avr32/src/sys/netinet/tcp_hostcache.c#5 integrate .. //depot/projects/avr32/src/sys/netinet/tcp_input.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/avr32/src/sys/netinet/tcp_usrreq.c#6 integrate .. //depot/projects/avr32/src/sys/netinet/vinet.h#8 integrate .. //depot/projects/avr32/src/sys/netinet6/frag6.c#5 integrate .. //depot/projects/avr32/src/sys/netinet6/icmp6.c#8 integrate .. //depot/projects/avr32/src/sys/netinet6/in6.c#8 integrate .. //depot/projects/avr32/src/sys/netinet6/in6_ifattach.c#9 integrate .. //depot/projects/avr32/src/sys/netinet6/in6_pcb.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/avr32/src/sys/netinet6/in6_rmx.c#6 integrate .. //depot/projects/avr32/src/sys/netinet6/in6_src.c#4 integrate .. //depot/projects/avr32/src/sys/netinet6/in6_var.h#3 integrate .. //depot/projects/avr32/src/sys/netinet6/ip6_input.c#8 integrate .. //depot/projects/avr32/src/sys/netinet6/ip6_mroute.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/avr32/src/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/ip6_var.h#5 integrate .. //depot/projects/avr32/src/sys/netinet6/mld6.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/nd6.c#8 integrate .. //depot/projects/avr32/src/sys/netinet6/nd6_nbr.c#5 integrate .. //depot/projects/avr32/src/sys/netinet6/nd6_rtr.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/raw_ip6.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/scope6.c#5 integrate .. //depot/projects/avr32/src/sys/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/avr32/src/sys/netinet6/vinet6.h#6 integrate .. //depot/projects/avr32/src/sys/netipsec/key.c#8 integrate .. //depot/projects/avr32/src/sys/netipx/README#2 integrate .. //depot/projects/avr32/src/sys/netipx/ipx.c#2 integrate .. //depot/projects/avr32/src/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/avr32/src/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/avr32/src/sys/netipx/ipx_outputfl.c#3 integrate .. //depot/projects/avr32/src/sys/netipx/ipx_pcb.c#2 integrate .. //depot/projects/avr32/src/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/avr32/src/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/avr32/src/sys/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/avr32/src/sys/nfsclient/nfs_vnops.c#8 integrate .. //depot/projects/avr32/src/sys/pc98/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/pc98/pc98/machdep.c#5 integrate .. //depot/projects/avr32/src/sys/pci/if_rl.c#4 integrate .. //depot/projects/avr32/src/sys/powerpc/aim/mmu_oea.c#5 integrate .. //depot/projects/avr32/src/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/avr32/src/sys/powerpc/booke/pmap.c#7 integrate .. //depot/projects/avr32/src/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/avr32/src/sys/powerpc/conf/MPC85XX#5 integrate .. //depot/projects/avr32/src/sys/powerpc/conf/NOTES#5 integrate .. //depot/projects/avr32/src/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/avr32/src/sys/powerpc/include/spr.h#6 integrate .. //depot/projects/avr32/src/sys/powerpc/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/avr32/src/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/avr32/src/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/avr32/src/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/avr32/src/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/avr32/src/sys/powerpc/powerpc/elf_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/powerpc/powerpc/mp_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/rpc/clnt_rc.c#4 integrate .. //depot/projects/avr32/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/avr32/src/sys/security/audit/audit.c#4 integrate .. //depot/projects/avr32/src/sys/security/audit/audit.h#3 integrate .. //depot/projects/avr32/src/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/avr32/src/sys/security/audit/audit_private.h#4 integrate .. //depot/projects/avr32/src/sys/security/audit/audit_syscalls.c#6 integrate .. //depot/projects/avr32/src/sys/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/avr32/src/sys/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/avr32/src/sys/sparc64/conf/GENERIC#7 integrate .. //depot/projects/avr32/src/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/avr32/src/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/avr32/src/sys/sparc64/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/sparc64/sparc64/elf_machdep.c#4 integrate .. //depot/projects/avr32/src/sys/sparc64/sparc64/machdep.c#4 integrate .. //depot/projects/avr32/src/sys/sparc64/sparc64/mp_machdep.c#3 integrate .. //depot/projects/avr32/src/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/avr32/src/sys/sun4v/conf/GENERIC#5 integrate .. //depot/projects/avr32/src/sys/sun4v/include/pcpu.h#3 integrate .. //depot/projects/avr32/src/sys/sun4v/include/vm.h#1 branch .. //depot/projects/avr32/src/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/avr32/src/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/avr32/src/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/avr32/src/sys/sys/acl.h#4 integrate .. //depot/projects/avr32/src/sys/sys/ata.h#2 integrate .. //depot/projects/avr32/src/sys/sys/conf.h#4 integrate .. //depot/projects/avr32/src/sys/sys/cpuset.h#3 integrate .. //depot/projects/avr32/src/sys/sys/event.h#3 integrate .. //depot/projects/avr32/src/sys/sys/fcntl.h#4 integrate .. //depot/projects/avr32/src/sys/sys/filio.h#2 integrate .. //depot/projects/avr32/src/sys/sys/iconv.h#2 integrate .. //depot/projects/avr32/src/sys/sys/ipc.h#2 integrate .. //depot/projects/avr32/src/sys/sys/jail.h#8 integrate .. //depot/projects/avr32/src/sys/sys/ktr.h#3 integrate .. //depot/projects/avr32/src/sys/sys/linker.h#2 integrate .. //depot/projects/avr32/src/sys/sys/lock.h#3 integrate .. //depot/projects/avr32/src/sys/sys/lock_profile.h#3 integrate .. //depot/projects/avr32/src/sys/sys/mbuf.h#6 integrate .. //depot/projects/avr32/src/sys/sys/mount.h#7 integrate .. //depot/projects/avr32/src/sys/sys/msg.h#2 integrate .. //depot/projects/avr32/src/sys/sys/mutex.h#3 integrate .. //depot/projects/avr32/src/sys/sys/param.h#11 integrate .. //depot/projects/avr32/src/sys/sys/pcpu.h#4 integrate .. //depot/projects/avr32/src/sys/sys/priv.h#7 integrate .. //depot/projects/avr32/src/sys/sys/resource.h#2 integrate .. //depot/projects/avr32/src/sys/sys/resourcevar.h#2 integrate .. //depot/projects/avr32/src/sys/sys/sched.h#2 integrate .. //depot/projects/avr32/src/sys/sys/sem.h#3 integrate .. //depot/projects/avr32/src/sys/sys/shm.h#3 integrate .. //depot/projects/avr32/src/sys/sys/socketvar.h#4 integrate .. //depot/projects/avr32/src/sys/sys/stack.h#2 integrate .. //depot/projects/avr32/src/sys/sys/sx.h#4 integrate .. //depot/projects/avr32/src/sys/sys/syscall.h#4 integrate .. //depot/projects/avr32/src/sys/sys/syscall.mk#4 integrate .. //depot/projects/avr32/src/sys/sys/sysctl.h#6 integrate .. //depot/projects/avr32/src/sys/sys/sysproto.h#4 integrate .. //depot/projects/avr32/src/sys/sys/tty.h#4 integrate .. //depot/projects/avr32/src/sys/sys/uio.h#3 integrate .. //depot/projects/avr32/src/sys/sys/unistd.h#3 integrate .. //depot/projects/avr32/src/sys/sys/vimage.h#9 integrate .. //depot/projects/avr32/src/sys/sys/vnode.h#7 integrate .. //depot/projects/avr32/src/sys/ufs/ufs/ufs_dirhash.c#3 integrate .. //depot/projects/avr32/src/sys/vm/default_pager.c#2 integrate .. //depot/projects/avr32/src/sys/vm/device_pager.c#3 integrate .. //depot/projects/avr32/src/sys/vm/phys_pager.c#3 integrate .. //depot/projects/avr32/src/sys/vm/swap_pager.c#5 integrate .. //depot/projects/avr32/src/sys/vm/vm.h#2 integrate .. //depot/projects/avr32/src/sys/vm/vm_contig.c#4 integrate .. //depot/projects/avr32/src/sys/vm/vm_extern.h#4 integrate .. //depot/projects/avr32/src/sys/vm/vm_fault.c#6 integrate .. //depot/projects/avr32/src/sys/vm/vm_kern.c#3 integrate .. //depot/projects/avr32/src/sys/vm/vm_map.c#6 integrate .. //depot/projects/avr32/src/sys/vm/vm_map.h#4 integrate .. //depot/projects/avr32/src/sys/vm/vm_mmap.c#5 integrate .. //depot/projects/avr32/src/sys/vm/vm_object.c#6 integrate .. //depot/projects/avr32/src/sys/vm/vm_object.h#4 integrate .. //depot/projects/avr32/src/sys/vm/vm_pageout.c#5 integrate .. //depot/projects/avr32/src/sys/vm/vm_pager.c#3 integrate .. //depot/projects/avr32/src/sys/vm/vm_pager.h#3 integrate .. //depot/projects/avr32/src/sys/vm/vm_phys.c#3 integrate .. //depot/projects/avr32/src/sys/vm/vm_phys.h#2 integrate .. //depot/projects/avr32/src/sys/vm/vnode_pager.c#7 integrate .. //depot/projects/avr32/src/tools/build/mk/OptionalObsoleteFiles.inc#2 integrate .. //depot/projects/avr32/src/tools/regression/bin/sh/builtins/command5.0.stdout#2 integrate .. //depot/projects/avr32/src/tools/regression/bin/sh/builtins/eval2.0#1 branch .. //depot/projects/avr32/src/tools/regression/bin/sh/execution/fork2.0#1 branch .. //depot/projects/avr32/src/tools/regression/bin/sh/expansion/ifs1.0#1 branch .. //depot/projects/avr32/src/tools/tools/ath/athpoke/Makefile#2 integrate .. //depot/projects/avr32/src/tools/tools/ath/athpoke/athpoke.c#2 integrate .. //depot/projects/avr32/src/tools/tools/nanobsd/nanobsd.sh#3 integrate .. //depot/projects/avr32/src/usr.bin/fstat/fstat.c#2 integrate .. //depot/projects/avr32/src/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/avr32/src/usr.bin/gzip/gzip.c#3 integrate .. //depot/projects/avr32/src/usr.bin/gzip/unpack.c#1 branch .. //depot/projects/avr32/src/usr.bin/gzip/zuncompress.c#2 integrate .. //depot/projects/avr32/src/usr.bin/hexdump/parse.c#2 integrate .. //depot/projects/avr32/src/usr.bin/ipcs/ipcs.c#3 integrate .. //depot/projects/avr32/src/usr.bin/keylogout/keylogout.c#2 integrate .. //depot/projects/avr32/src/usr.bin/killall/Makefile#2 integrate .. //depot/projects/avr32/src/usr.bin/killall/killall.c#3 integrate .. //depot/projects/avr32/src/usr.bin/limits/limits.c#2 integrate .. //depot/projects/avr32/src/usr.bin/make/arch.c#2 integrate .. //depot/projects/avr32/src/usr.bin/makewhatis/makewhatis.c#2 integrate .. //depot/projects/avr32/src/usr.bin/nfsstat/nfsstat.c#4 integrate .. //depot/projects/avr32/src/usr.bin/showmount/showmount.c#2 integrate .. //depot/projects/avr32/src/usr.bin/usbhidctl/usbhid.c#3 integrate .. //depot/projects/avr32/src/usr.bin/ypcat/ypcat.c#2 integrate .. //depot/projects/avr32/src/usr.bin/ypmatch/ypmatch.c#2 integrate .. //depot/projects/avr32/src/usr.bin/ypwhich/ypwhich.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/amd/include/config.h#2 integrate .. //depot/projects/avr32/src/usr.sbin/cxgbtool/cxgbtool.c#3 integrate .. //depot/projects/avr32/src/usr.sbin/fdcontrol/fdcontrol.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/fdformat/fdformat.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/fdread/fdread.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/fdwrite/fdwrite.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/jail/Makefile#2 integrate .. //depot/projects/avr32/src/usr.sbin/jail/jail.8#6 integrate .. //depot/projects/avr32/src/usr.sbin/jail/jail.c#5 integrate .. //depot/projects/avr32/src/usr.sbin/jexec/Makefile#3 integrate .. //depot/projects/avr32/src/usr.sbin/jexec/jexec.c#5 integrate .. //depot/projects/avr32/src/usr.sbin/jls/Makefile#3 integrate .. //depot/projects/avr32/src/usr.sbin/jls/jls.c#4 integrate .. //depot/projects/avr32/src/usr.sbin/lpr/common_source/displayq.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/mountd/mountd.c#5 integrate .. //depot/projects/avr32/src/usr.sbin/nfsd/nfsd.c#4 integrate .. //depot/projects/avr32/src/usr.sbin/rpc.lockd/kern.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/rpc.umntall/mounttab.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/rpc.umntall/mounttab.h#2 integrate .. //depot/projects/avr32/src/usr.sbin/rpc.umntall/rpc.umntall.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/Makefile#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/devices.c#6 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/dispatch.c#3 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/dist.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/dist.h#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/doc.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/help/usage.hlp#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/label.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/media.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/menus.c#5 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/options.c#3 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/sysinstall.h#4 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/ufs.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/sysinstall/usb.c#1 branch .. //depot/projects/avr32/src/usr.sbin/wpa/ndis_events/ndis_events.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/ypserv/Makefile.yp#2 integrate .. //depot/projects/avr32/src/usr.sbin/ypserv/yp_access.c#2 integrate .. //depot/projects/avr32/src/usr.sbin/ypserv/ypserv.8#2 integrate Differences ... ==== //depot/projects/avr32/src/MAINTAINERS#3 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.152 2009/03/20 18:51:13 rnoland Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 30 21:02:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 279F21065702; Tue, 30 Jun 2009 21:02:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD81510656EE for ; Tue, 30 Jun 2009 21:02:47 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3F868FC15 for ; Tue, 30 Jun 2009 21:02:47 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UL2l99078862 for ; Tue, 30 Jun 2009 21:02:47 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5UL2lnT078859 for perforce@freebsd.org; Tue, 30 Jun 2009 21:02:47 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 30 Jun 2009 21:02:47 GMT Message-Id: <200906302102.n5UL2lnT078859@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 165485 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:02:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=165485 Change 165485 by rene@rene_self on 2009/06/30 21:02:43 MFen -> 1.47 Remove stale $FreeBSDnl$ line Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml#7 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml#7 (text+ko) ==== @@ -8,10 +8,9 @@ The Dutch FreeBSD Documentation Project $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml,v 1.7 2008/12/28 17:04:23 rene Exp $ - $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml,v 1.31 2005/03/06 00:42:17 siebrand Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/vinum/chapter.sgml - %SRCID% 1.46 + %SRCID% 1.47 --> @@ -87,9 +86,10 @@ de naam van de kernelmodule is veranderd van vinum.ko naar geom_vinum.ko, en alle apparaatknooppunten - bevinden zich in /dev/gvinum in plaats van - /dev/vinum. Sinds &os; 6 is de oude - implementatie van Vinum niet meer beschikbaar in de broncode. + bevinden zich in /dev/gvinum in + plaats van /dev/vinum. Sinds + &os; 6 is de oude implementatie van Vinum niet meer beschikbaar in + de broncode. @@ -308,8 +308,8 @@ Van deze vier is RAID-5 het meest interessant. In Vinum is het geïmplementeerd als een variant van een verdeelde organisatie waarbij één blok van elk deel - is gereserveerd voor de pariteit van de andere blokken. Voor - Vinum is een RAID-5 samenstelling + is gereserveerd voor de pariteit van één van de andere + blokken. Voor Vinum is een RAID-5 samenstelling (plex) dan ook gelijk aan een verdeelde samenstelling, met als verschil dat het een pariteitblok bevat in ieder deel. Zoals voorgeschreven door RAID-5 @@ -841,8 +841,8 @@ namen van schijven kunnen 32 tekens lang zijn. Vinum objecten worden apparaatknooppunten toegekend in de - hiërarchie /dev/gvinum. Met de - instellingen uit de vorige paragraaf creërt Vinum de volgende + hiërarchie /dev/gvinum. Met + de instellingen uit de vorige paragraaf creërt Vinum de volgende apparaatknooppunten: @@ -853,8 +853,8 @@ De controleapparaten - /dev/vinum/control en - /dev/vinum/controld, die door + /dev/vinum/control en + /dev/vinum/controld, die door respectievelijk &man.gvinum.8; en de Vinum daemon gebruikt worden. @@ -863,11 +863,11 @@ Karakterapparaatingangen voor elk volume. Dit zijn de primaire apparaten die door Vinum gebruikt worden. De bovenstaande configuratie zou dus deze apparaten bevatten: - /dev/gvinum/myvol, - /dev/gvinum/mirror, - /dev/gvinum/striped, - /dev/gvinum/raid5 en - /dev/gvinum/raid10. + /dev/gvinum/myvol, + /dev/gvinum/mirror, + /dev/gvinum/striped, + /dev/gvinum/raid5 en + /dev/gvinum/raid10. @@ -876,21 +876,22 @@ Vinum implementatie. - Een map /dev/vinum/drive met ingangen - voor elke schijf. Deze ingangen zijn eigenlijk symbolische - links naar de bijbehorende schijfknooppunten. + Een map /dev/vinum/drive + met ingangen voor elke schijf. Deze ingangen zijn eigenlijk + symbolische links naar de bijbehorende schijfknooppunten. Alle volumes krijgen ingangen direct onder - /dev/gvinum/. + /dev/gvinum/. De mappen - /dev/gvinum/plex, en - /dev/gvinum/sd, welke respectievelijk - apparaatknooppunten voor elke plex en voor subschijf bevatten. + /dev/gvinum/plex, en + /dev/gvinum/sd, welke + respectievelijk apparaatknooppunten voor elke plex en voor elke + subschijf bevatten. @@ -909,7 +910,7 @@ sd length 100m drive drive4 Na verwerking van dit bestand maakt &man.gvinum.8; de volgende - structuur aan in /dev/gvinum: + structuur aan in /dev/gvinum: drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex @@ -944,13 +945,15 @@ schijfhulpprogramma's te veranderen, met name &man.newfs.8;, dat voorheen probeerde om de laatste letter van een Vinum volumenaam als een partitie te zien. Bijvoorbeeld: een schijf - kan een naam hebben als /dev/ad0a of - /dev/da2h. Deze namen stellen + kan een naam hebben als /dev/ad0a of /dev/da2h. Deze namen stellen respectievelijk de eerste partitie (a) op de eerste (0) IDE schijf (ad) en de achtste partitie (h) op de derde (2) SCSI schijf (da) voor. Een Vinum - volume kan daarentegen /dev/gvinum/concat + volume kan daarentegen /dev/gvinum/concat heten, een naam die geen enkele relatie met een partitienaam heeft. @@ -967,10 +970,10 @@ Op versies van &os; voor 5.0 heeft &man.newfs.8; een - aanvullende vlag -v en het oude apparaatnaamgevingsschema: + aanvullende vlag en het oude apparaatnaamgevingsschema: + + &prompt.root; newfs -v /dev/vinum/concat - - &prompt.root; newfs -v /dev/vinum/concat @@ -1332,11 +1335,12 @@ De interessante waarden zijn 135680 voor de offset (relatief ten opzichte van de partitie - /dev/da0h). Dit vertaalt zich naar 265 - 512-byte schijfblokken in bsdlabel termen. - Zo is de grootte van dit rootvolume 245760 512-byte blokken. - /dev/da1h, dat de tweede replica van dit - rootvolume bevat, is symmetrische opgezet. + /dev/da0h). Dit vertaalt zich + naar 265 schijfblokken van 512 bytes in termen van + bsdlabel. + Zo is de grootte van dit rootvolume 245760 blokken van 512 bytes. + /dev/da1h, dat de tweede + replica van dit rootvolume bevat, is symmetrische opgezet. Het bsdlabel voor deze apparaten kan er zo uitzien: From owner-p4-projects@FreeBSD.ORG Tue Jun 30 21:56:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E6FA01065670; Tue, 30 Jun 2009 21:56:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6D49106566C for ; Tue, 30 Jun 2009 21:56:46 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7A7FD8FC13 for ; Tue, 30 Jun 2009 21:56:46 +0000 (UTC) (envelope-from antab@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ULukJ0083761 for ; Tue, 30 Jun 2009 21:56:46 GMT (envelope-from antab@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ULukTX083759 for perforce@freebsd.org; Tue, 30 Jun 2009 21:56:46 GMT (envelope-from antab@FreeBSD.org) Date: Tue, 30 Jun 2009 21:56:46 GMT Message-Id: <200906302156.n5ULukTX083759@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to antab@FreeBSD.org using -f From: Arnar Mar Sig To: Perforce Change Reviews Cc: Subject: PERFORCE change 165487 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:56:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165487 Change 165487 by antab@antab_farm on 2009/06/30 21:56:27 Enable bootp for nfs root Affected files ... .. //depot/projects/avr32/src/sys/avr32/conf/NGW100#15 edit Differences ... ==== //depot/projects/avr32/src/sys/avr32/conf/NGW100#15 (text+ko) ==== @@ -14,10 +14,10 @@ options ROOTDEVNAME=\"ufs:cfid0h1\" # Uncomment to boot from ethernet -#options BOOTP -#options BOOTP_NFSROOT -#options BOOTP_NFSV3 -#options BOOTP_COMPAT +options BOOTP +options BOOTP_NFSROOT +options BOOTP_NFSV3 +options BOOTP_COMPAT makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols From owner-p4-projects@FreeBSD.ORG Tue Jun 30 21:59:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CEBF1065674; Tue, 30 Jun 2009 21:59:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D0741065672 for ; Tue, 30 Jun 2009 21:59:50 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E49648FC15 for ; Tue, 30 Jun 2009 21:59:49 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ULxnEF083931 for ; Tue, 30 Jun 2009 21:59:49 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ULxnCq083929 for perforce@freebsd.org; Tue, 30 Jun 2009 21:59:49 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 30 Jun 2009 21:59:49 GMT Message-Id: <200906302159.n5ULxnCq083929@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165488 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:59:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=165488 Change 165488 by anchie@anchie_malimis on 2009/06/30 21:58:56 Changes introduced in order to remove the netgraph usage - added new per-interaface packet data structure: snd_ifinfo. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.c#2 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#6 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.c#2 (text+ko) ==== @@ -30,6 +30,9 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." */ +#include +#include + #include "config.h" #include "../os_specific.h" #include "snd_freebsd.h" @@ -37,11 +40,52 @@ extern int linux_rand_init(void); extern void linux_rand_fini(void); +/* Per-interface info */ +struct snd_ifinfo { + struct list_head list; + char name[32]; + int ifidx; + int icmps; +}; +static DEFINE_LIST_HEAD(ifaces); + +int +snd_handle_iface(const char *ifname, int ifidx) +{ + struct snd_ifinfo *p; + + if ((p = malloc(sizeof (*p))) == NULL) { + APPLOG_NOMEM(); + return (-1); + } + memset(p, 0, sizeof (*p)); + + snprintf(p->name, sizeof (p->name), "%s", ifname); + p->ifidx = ifidx; + p->icmps = -1; + list_add_tail(&p->list, &ifaces); + + return (0); +} + int +freebsd_snd_init(void) +{ + + if (list_empty(&ifaces)) { + applog(LOG_ERR, "SEND must be active on at least one iface"); + return (-1); + } + return (0); +} + +int os_specific_init(void) { - if (linux_rand_init() < 0 || + if (linux_rand_init() < 0 || freebsd_snd_init() < 0) { +#if 0 freebsd_netgraph_init() < 0) { +#endif return (-1); } return (0); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#6 (text+ko) ==== @@ -92,10 +92,10 @@ if (cfd != -1) FD_SET(cfd, fds); FD_SET(icmps, fds); FD_SET(ctlfd, fds); + /* Routing socket instead of using netgraph for ND/SeND */ + FD_SET(snds, fds); /* os_specific_add_fds(fds, &maxfd); */ /* snd_add_fds(fds, &maxfd); */ - /* Routing socket instead of using netgraph for ND/SeND */ - FD_SET(snds, fds); tv = get_next_wait(tvb); if (select(maxfd + 1, fds, NULL, NULL, tv) < 0) { @@ -256,7 +256,9 @@ snd_ra_init() < 0 || snd_certpath_init() < 0 || snd_addr_init() < 0 || +#if 0 os_specific_init() < 0 || +#endif snd_sigmeth_init() < 0 || snd_replace_non_cga_linklocals() < 0 || (ctlfd = snd_ctl_init()) < 0) { From owner-p4-projects@FreeBSD.ORG Wed Jul 1 08:00:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 241F01065673; Wed, 1 Jul 2009 08:00:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D89B71065670 for ; Wed, 1 Jul 2009 08:00:45 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C4F238FC14 for ; Wed, 1 Jul 2009 08:00:45 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6180jZt057238 for ; Wed, 1 Jul 2009 08:00:45 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6180jQT057236 for perforce@freebsd.org; Wed, 1 Jul 2009 08:00:45 GMT (envelope-from andre@freebsd.org) Date: Wed, 1 Jul 2009 08:00:45 GMT Message-Id: <200907010800.n6180jQT057236@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165494 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 08:00:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=165494 Change 165494 by andre@andre_t61 on 2009/07/01 08:00:14 Dump of WIP from my Laptop. Still much shuffling. Picture is refining a bit all the time blike a progressive jpeg. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_output.c#9 edit .. //depot/projects/tcp_new/netinet/tcp_syncache.c#4 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#9 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_output.c#9 (text+ko) ==== @@ -100,6 +100,20 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_max, CTLFLAG_RW, &tcp_autosndbuf_max, 0, "Max size of automatic send buffer"); +static int +tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags); +static int +tcp_retransmit(struct tcpcb *tp, int *len); +static int +tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, struct tcpopt *opt, + int off, int *olen, int optlen); +static u_int +tcp_rcv_wnd(struct tcpcb *tp, struct socket *so); +static void +tcp_snd_pace(struct tcpcp *tp); +static void +tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags); + /* * Tcp output routine: figure out what should be sent and send it. * @@ -157,30 +171,6 @@ flags = tcp_outflags[tp->t_state]; /* - * Determine our current receive window. - * This value is used for the window field in the TCP - * header and to determine whether we have to send a - * window update. - * - * NB: rwin is already downscaled. - */ - rwin = tcp_rcv_wnd(tp, so); - - /* - * We have been idle for "a while" and no acks are - * expected to clock out any data we send -- - * slow start to get ack "clock" running again. - * RFC2581: Restart window. - * - * XXXAO: Use a decaying algorithm. It's not useful - * to have cwnd to drop of a cliff. See RFC2861. - */ - if (tp->snd_nxt == tp->snd_una && - (ticks - tp->t_rcvtime) >= max(tp->t_rxtcur, tcp_min_idle)) { - tp->snd_cwnd = tcp_init_cwnd(tp); - } - - /* * Determine length of data that should be transmitted, if there * is some data to send, then transmit; otherwise, investigate further. * @@ -230,18 +220,74 @@ return (0); /* next token is pending */ } + /* + * Conservative approximation of data still travelling in the network. + */ inflight = duna - tp->snd_sacked; + /* + * Determine our current receive window. + * This value is used for the window field in the TCP + * header and to determine whether we have to send a + * window update. + * + * NB: rwin is already downscaled. + */ + rwin = tcp_rcv_wnd(tp, so); + + /* + * Act based on the phase we are in. + */ switch (tp->t_phase) { case TP_IDLE: - case TP_SLOWSTART: - case TP_CONGAVOID: + /* + * We have been idle for "a while" and no acks are + * expected to clock out any data we send -- + * slow start to get ack "clock" running again. + * RFC2581: Restart window. + * + * XXXAO: Use a decaying algorithm. It's not useful + * to have cwnd to drop of a cliff. See RFC2861. + */ + if (tp->snd_nxt == tp->snd_una && + (ticks - tp->t_rcvtime) >= max(tp->t_rxtcur, tcp_min_idle)) { + tp->snd_cwnd = tcp_init_cwnd(tp); + } + break; + case TP_SENDING: + break; case TP_LOSSRECOV: + case TP_REXMT: tcp_retransmit(tp, &len); if (len = 0) return (0); - case TP_LOSSREXMT: + break; case TP_PERSIST: + /* + * Persistent mode. + * Send out probe byte if there is data available. + * RFC793: section 3.7, page 42-44 + * RFC1122: section 4.2.2.17 + */ + if (swnd == 0 && dlen > 0 && (tp->t_flags & TF_FORCEDATA)) { + len = 1; + goto send; + } + if (swnd == 0 && duna > tp->snd_wnd) { + /* + * Window shrank + * after we sent into it. If window shrank to 0, + * cancel pending retransmit, pull snd_nxt back + * to (closed) window, and set the persist timer + * if it isn't already going. If the window didn't + * close completely, just wait for an ACK. + */ + tcp_timer_activate(tp, TT_REXMT, 0); + tp->t_rxtshift = 0; + if (!tcp_timer_active(tp, TT_PERSIST)) + tcp_setpersist(tp); + } + break; case TP_RETRY: case TP_URGENT: break; @@ -290,7 +336,7 @@ * a duplicate ACK (if the ack value didn't move forward). The * question whether the other implementations see it the same way. */ - if ((tp->t_flags & TF_DUPACK) && tp->snd_dupack > 0) { + if ((tp->t_flags & TF_DUPACK) && tp->rcv_trqlen > 0) { if (!(tp->t_flags & TF_SACK_PERMIT)) len = 0; goto send; @@ -318,26 +364,30 @@ * b) silly window syndrome: buffer almost full * * Quoting Nagle: - * <> + * <> * http://developers.slashdot.org/comments.pl?sid=174457&threshold=1&commentsort=0&mode=thread&cid=14515105 * * XXXAO: mss - options! @@ -372,31 +422,6 @@ } /* - * Persistent mode. - * Send out probe byte if there is data available. - * RFC793: section 3.7, page 42-44 - * RFC1122: section 4.2.2.17 - */ - if (swnd == 0 && dlen > 0 && (tp->t_flags & TF_FORCEDATA)) { - len = 1; - goto send; - } - if (swnd == 0 && duna > tp->snd_wnd) { - /* - * Window shrank - * after we sent into it. If window shrank to 0, - * cancel pending retransmit, pull snd_nxt back - * to (closed) window, and set the persist timer - * if it isn't already going. If the window didn't - * close completely, just wait for an ACK. - */ - tcp_timer_activate(tp, TT_REXMT, 0); - tp->t_rxtshift = 0; - if (!tcp_timer_active(tp, TT_PERSIST)) - tcp_setpersist(tp); - } - - /* * Send window update? * * The receive window informs the remote side about the @@ -457,7 +482,7 @@ return (tcp_send(tp, &to, flags)); } -int +static int tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags) { @@ -470,6 +495,7 @@ * Be careful not to send data and/or FIN on SYN segments. * This measure is needed to prevent interoperability problems * with not fully conformant TCP implementations. + * * NB: For now we don't send any data with SYN. This will have * to change if some reincarnation of T/TCP comes up again. */ @@ -492,25 +518,18 @@ else if (tp->t_flags & TF_DUPACK) th->th_win = (u_short)tp->rcv_advwin; else - th->th_win = (u_short)(rwin >> tp->rcv_scale); + th->th_win = (u_short)rwin; - SOCKBUF_LOCK(&so->so_snd); /* * Fill in fields. */ - if (tp->snd_nxt == tp->snd_rxmit) { - th->th_seq = tp->snd_nxt; - off = tp->snd_nxt - tp->snd_una; - } else { - th->th_seq = tp->snd_rxmit; - off = min(tp->snd_rxmit - tp->snd_una, so->so_snd.sb_cc); - } - + th->th_seq = tp->snd_nxt; th->th_flags = flags; th->th_ack = tp->rcv_nxt; + SOCKBUF_LOCK(&so->so_snd); + off = tp->snd_nxt - tp->snd_una; error = tcp_send_segments(tp, &ths, opt, off, &len, optlen); - SOCKBUF_UNLOCK(&so->so_snd); /* @@ -735,7 +754,7 @@ static int tcp_retransmit(struct tcpcb *tp, int *len) { - struct tcphdr ths; + struct tcphdr ths, *th; /* * Retransmit over the SACK holes. @@ -744,6 +763,13 @@ * Retransmit only the stuff that was not SACK'ed. */ /* + * The moment we receive a duplicate ACK everything freezes. + * No more new data is sent except for those allowed by limited + * transmit. + * The fast recovery algorithms start their work by the third + * duplicate ACK. + */ + /* * We have the following mechanisms: * 1. Fast recovery: After we get three duplicate ACKs RFC2581 * 2. NewReno RFC3782 @@ -752,6 +778,28 @@ * 5. TCP congestion window validation RFC2861 */ + /* Limited transmit */ + if (tp->snd_dupack < 3) + *len = min(len, tp->snd_mss); /* one mss */ + else + *len = 0; + + if (tp->snd_dupack < 3) + return; + + /* + * XXXAO: Temporary. + */ + tp->snd_rxmit = tp->snd_una; + + /* + * Fill in headers. + */ + th->th_win = (u_short)rwin; + th->th_seq = tp->snd_rxmit; + th->th_flags = flags; + th->th_ack = tp->rcv_nxt; + /* * If resending a SYN or FIN, be sure NOT to use a new sequence number. */ @@ -761,21 +809,11 @@ th->th_seq == tp->snd_nxt) th->th_seq--; - /* - * The moment we receive a duplicate ACK everything freezes. - * No more new data is sent except for those allowed by limited - * transmit. - * The fast recovery algorithms start their work by the third - * duplicate ACK. - */ + SOCKBUF_LOCK(&so->so_snd); + off = min(tp->snd_rxmit - tp->snd_una, so->so_snd.sb_cc); error = tcp_send_segments(tp, &ths, opt, off, olen, optlen); + SOCKBUF_UNLOCK(&so->so_snd); - /* Limited transmit */ - if (tp->snd_dupack < 3) - *len = min(len, tp->snd_mss); /* one mss */ - else - *len = 0; - return; } @@ -879,6 +917,14 @@ ("%s: segment too big", __func__)); /* + * Do not send small fragments unless we empty the buffer + * or this is the only segment. + */ + if (slen < tp->snd_mss - optlen && *olen > 0 && + off + slen == so->so_snd.sb_cc) + break; + + /* * Allocate an mbuf sufficiently large to hold all * headers for this segment plus space for the link * headers to remove the need for prepends in the @@ -987,7 +1033,8 @@ * Set the PUSH bit to indicate that we have reached * the end of the send buffer. */ - if (slen > 0 && off + slen == so->so_snd.sb_cc) + if (slen > 0 && !(tp->t_flags & TF_MORETOCOME) && + off + slen == so->so_snd.sb_cc) th->th_flags |= TH_PUSH; KASSERT(off + slen <= so->so_snd.sb_cc, @@ -1178,7 +1225,7 @@ return; } -void +static void tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags) { /* ==== //depot/projects/tcp_new/netinet/tcp_syncache.c#4 (text+ko) ==== @@ -768,6 +768,10 @@ goto abort; } } + + /* + * Initialize the TCP control block. + */ tp = intotcpcb(inp); tp->t_state = TCPS_SYN_RECEIVED; tp->iss = sc->sc_iss; ==== //depot/projects/tcp_new/netinet/tcp_var.h#9 (text+ko) ==== @@ -139,13 +139,12 @@ u_int t_phase; /* send phase we are currently in */ #define TP_IDLE 0 /* nothing to send */ -#define TP_SLOWSTART 1 /* slow start */ -#define TP_CONGAVOID 2 /* congestion avoidance */ -#define TP_LOSSRECOV 3 /* loss recovery */ -#define TP_LOSSREXMT 4 /* loss recovery failed, retransmit */ -#define TP_PERSIST 5 /* persistent mode */ -#define TP_RETRY 6 /* retry after ENOMEM or ENOBUF */ -#define TP_URGENT 7 /* urgent mode */ +#define TP_SENDING 1 /* sending data */ +#define TP_LOSSRECOV 2 /* loss recovery */ +#define TP_REXMT 3 /* loss recovery failed, retransmit */ +#define TP_PERSIST 4 /* persistent mode */ +#define TP_RETRY 5 /* retry after ENOMEM or ENOBUF */ +#define TP_URGENT 6 /* urgent mode */ int t_softerror; /* possible error not yet reported */ @@ -173,7 +172,7 @@ u_int snd_delackdelay; /* time to delay an ACK in ticks */ int snd_dupack; /* number of duplicate ACK's reveived */ - tcp_seq snd_fr_recover; /* fast retransmit recover */ + tcp_seq snd_recover; /* fast retransmit recover */ int snd_abcack; /* count the ack'ed data for ABC */ tcp_seq snd_rtseq; /* seq# of current RTT measurement */ @@ -200,6 +199,7 @@ uint8_t rcv_scale; /* window scaling for recv window */ struct trq_head rcv_trq; /* segment reassembly queue */ int rcv_trqlen; /* segment reassembly queue length in bytes */ + int rcv_dupack; /* duplicate acks we sent */ tcp_ts tsecr_recent; /* timestamp echo data */ u_long tsecr_age; /* when echo last updated */ @@ -247,7 +247,6 @@ tcp_win snd_ssthresh_prev; /* ssthresh prior to retransmit */ tcp_seq snd_recover_prev; /* snd_recover prior to retransmit */ tcp_win t_badrxtwin; /* window for retransmit recovery */ - int snd_limited; /* segments limited transmitted */ }; /* From owner-p4-projects@FreeBSD.ORG Wed Jul 1 16:43:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 216171065678; Wed, 1 Jul 2009 16:43:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4631106566C for ; Wed, 1 Jul 2009 16:43:16 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C13D08FC28 for ; Wed, 1 Jul 2009 16:43:16 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n61GhGfq026329 for ; Wed, 1 Jul 2009 16:43:16 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n61GhGCh026326 for perforce@freebsd.org; Wed, 1 Jul 2009 16:43:16 GMT (envelope-from anchie@FreeBSD.org) Date: Wed, 1 Jul 2009 16:43:16 GMT Message-Id: <200907011643.n61GhGCh026326@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165506 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 16:43:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=165506 Change 165506 by anchie@anchie_malimis on 2009/07/01 16:43:01 Editorial changes. New function (net/rtsock.c: rt_msg3()) in order to avoide the duplication of the code in rt_ieee80211msg() and rt_securendmsg(). Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/net/route.h#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#8 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#13 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#5 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/net/route.h#5 (text+ko) ==== @@ -234,7 +234,6 @@ u_long rtm_inits; /* which metrics we are initializing */ struct rt_metrics rtm_rmx; /* metrics themselves */ }; - #define RTM_VERSION 5 /* Up the ante and ignore older versions */ /* @@ -380,7 +379,7 @@ struct ifmultiaddr; void rt_ieee80211msg(struct ifnet *, int, void *, size_t); -void rt_sndmsg(struct ifnet *, int, void *, size_t data_len); +void rt_securendmsg(struct ifnet *, int, void *, size_t data_len); void rt_ifannouncemsg(struct ifnet *, int); void rt_ifmsg(struct ifnet *); void rt_missmsg(int, struct rt_addrinfo *, int, int); ==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/*- +/* * Copyright (c) 1988, 1991, 1993 * The Regents of the University of California. All rights reserved. * @@ -60,12 +60,11 @@ #include #include -#include - #include #ifdef INET6 #include #endif +#include #if defined(INET) || defined(INET6) #ifdef SCTP @@ -106,6 +105,7 @@ static struct mbuf *rt_msg1(int type, struct rt_addrinfo *rtinfo); static int rt_msg2(int type, struct rt_addrinfo *rtinfo, caddr_t cp, struct walkarg *w); +static void rt_msg3(struct mbuf *, void *, size_t); static int rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo); static int sysctl_dumpentry(struct radix_node *rn, void *vw); @@ -1179,23 +1179,37 @@ * Generation of the routing socket message indicating SeND event. */ void -rt_sndmsg(struct ifnet *ifp, int in, void *data, size_t data_len) +rt_securendmsg(struct ifnet *ifp, int direction, void *data, size_t data_len) { struct mbuf *m; struct rt_addrinfo info; - if (in) { - /* Incoming traffic sent to userspace for SeND validation */ + switch (direction) { + case SEND_IN: + /* Incoming traffic sent to userspace for SeND validation. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_IN, &info); - } else { - /* Outgoing traffic sent to userspace for SeND protection */ + break; + case SEND_OUT: + /* Outgoing traffic sent to userspace for SeND protection. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_OUT, &info); + break; } + + rt_msg3(m, data, data_len); +} + +void +rt_msg3(struct mbuf *m, void *data, size_t data_len) +{ if (m != NULL) { /* - * Append ND/SeND message to ifannounce hdr. - * Taken from rt_ieee80211msg(). + * Append the ieee80211 or ND/SEND data. Try to stick it in the + * mbuf containing the ifannounce msg; otherwise allocate + * a new mbuf and append. + * + * NB: we assume m is a single mbuf. */ + if (data_len > M_TRAILINGSPACE(m)) { struct mbuf *n = m_get(M_NOWAIT, MT_DATA); if (n == NULL) { @@ -1228,6 +1242,10 @@ struct rt_addrinfo info; m = rt_makeifannouncemsg(ifp, RTM_IEEE80211, what, &info); + + rt_msg3(m, data, data_len); + +#if 0 if (m != NULL) { /* * Append the ieee80211 data. Try to stick it in the @@ -1254,6 +1272,7 @@ mtod(m, struct if_announcemsghdr *)->ifan_msglen += data_len; rt_dispatch(m, NULL); } +#endif } /* ==== //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#8 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#13 (text+ko) ==== @@ -412,8 +412,6 @@ int in; int ip6len; - in = 1; - ifp = m->m_pkthdr.rcvif; #ifndef PULLDOWN_TEST @@ -767,17 +765,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* give up local */ - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { + /* give up local */ nd6_rs_input(m, off, icmp6len); } m = NULL; goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hook(n, ifp, SND_IN, ip6len); else nd6_rs_input(n, off, icmp6len); /* m stays. */ @@ -791,18 +790,16 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { - /* give up local */ + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else nd6_ra_input(m, off, icmp6len); - } m = NULL; goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hoo(n, ifp, SND_IN, ip6len); else nd6_ra_input(n, off, icmp6len); /* m stays. */ @@ -816,23 +813,20 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - /* nd6_ns_input() will be called in X_send_input_hook() */ - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { /* give up local */ nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { - send_output_hook(in, ifp, n, ip6len); - /* nd6_ns_input() will be called in X_send_input_hook() */ - } else { + if (send_output_hook != NULL) + send_output_hook(n, ifp, SND_IN, ip6len); + else nd6_ns_input(n, off, icmp6len); - } /* m stays. */ break; @@ -844,10 +838,10 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { /* give up local */ nd6_na_input(m, off, icmp6len); } @@ -855,7 +849,7 @@ goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hook(n, ifp, SND_IN, ip6len); else nd6_na_input(n, off, icmp6len); /* m stays. */ @@ -869,10 +863,10 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { /* give up local */ icmp6_redirect_input(m, off); } @@ -880,24 +874,12 @@ goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hook(n, ifp, SND_IN, ip6len); else icmp6_redirect_input(n, off); /* m stays. */ break; -#if 0 - case SEND_CERT_PATH_SOLICIT: - /* send CPS packet to sendd */ - send6_cps_input(); - break; - - case SEND_CERT_PATH_ADVERT: - /* send CPA packet to sendd */ - send6_cpa_input(); - break; -#endif - case ICMP6_ROUTER_RENUMBERING: if (code != ICMP6_ROUTER_RENUMBERING_COMMAND && code != ICMP6_ROUTER_RENUMBERING_RESULT) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#11 (text+ko) ==== @@ -113,8 +113,8 @@ static struct sockaddr_in6 all1_sa; -int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int) = NULL; -int (*send_input_hook)(void) = NULL; +int (*send_output_hook)(struct mbuf*, struct ifnet *, int, int); +int (*send_input_hook)(void); static int nd6_is_new_addr_neighbor __P((struct sockaddr_in6 *, struct ifnet *)); @@ -1733,7 +1733,7 @@ printf("%s %d\n", __FUNCTION__, __LINE__); ip6 = mtod(m, struct ip6_hdr *); - ip6len = ntohs(ip6->ip6_plen) + sizeof(struct ip6_hdr); + ip6len = sizeof(struct ip6_hdr) + ntohs(ip6->ip6_plen); #ifdef INVARIANTS if (lle != NULL) { @@ -1910,16 +1910,16 @@ mac_netinet6_nd6_send(ifp, m); #endif - /* send outgoing NS/NA/RS/RA/REDIRECT packet to sendd. */ + /* send outgoing NS/NA/REDIRECT packet to sendd. */ if (send_output_hook != NULL) { mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); if (mtag != NULL) { printf("%s %d: ND_OUTGOING tag found.\n", __FUNCTION__, __LINE__); nd_type = (unsigned short *)(mtag + 1); } else - return(error); + return(ENOMSG); - send_output_hook(0, ifp, m, ip6len); + send_output_hook(m, ifp, 0, ip6len); } else { /* @@ -1930,7 +1930,7 @@ * after the lock is dropped */ - /* This will be done in the input hook.. */ + /* This will be done in the input hook. */ if (lle != NULL) { if (*chain == NULL) *chain = m; @@ -1952,7 +1952,8 @@ * or nd6_na_output(). RS, RA, and Redirect do not have such output * routines. They are handled instead by rtadvd and rtsol daemons. * - * if_output() routines together with previous chaining will be called from input hook. + * if_output() routines together with previous chaining will be called + * from input hook. */ if ((ifp->if_flags & IFF_LOOPBACK) != 0) { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#5 (text+ko) ==== @@ -425,27 +425,6 @@ m_freem(m); } -#if 0 -/* - * Receive Certification Path Solicitation [rfc3971]. - */ -void -send6_cps_input(struct mbuf *m, int off, int icmp6len) -{ -} - -/* - * Receive Certification Path Advertisement [rfc3971]. - */ -void -send6_cpa_input(struct mbuf *m, int off, int icmp6len) -{ -} - -/* send6_cps/cpa_output() should be places here as well.. */ -#endif - - /* * default router list proccessing sub routines */ ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#11 (text+ko) ==== @@ -4,53 +4,48 @@ #include #include #include +#include -#include #include #include -#if 0 -static int X_send_input_hook(void); -static int X_send_output_hook(int, struct ifnet *, struct mbuf *, int); -#endif -#if 0 -int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); -int (*send_input_hook)(void); -#endif - static int -X_send_input_hook(void) +send_input(void) { /* - * send module is loaded, process incoming packets passed from - * sendd to kernel. Outgoing packets are sent out using if_output(). + * Receive incoming (SEND-protected) or outgoing traffic (SEND-validated) + * from the SEND user space application. + * Outgoing packets are sent out using if_output(). */ - return 0; + return (0); } static int -X_send_output_hook(int in, struct ifnet *ifp, struct mbuf *m, int msglen) +send_output(int in, struct ifnet *ifp, struct mbuf *m, int msglen) { - /* send module is loaded, send incoming or outgoing traffic to sendd */ + + /* + * Send incoming or outgoing traffic to the user space either to be + * protected (outgoing) or validated (incoming) according to rfc3971. */ rt_sndmsg(ifp, in, m, msglen); - return 0; + return (0); } static int send_modevent(module_t mod, int type, void *unused) { - int err = 0; + int error = 0; /* Add locking? icmp6.c and nd6.c are maybe using hooks.. */ switch (type) { case MOD_LOAD: - send_output_hook = X_send_output_hook; - send_input_hook = X_send_input_hook; + send_output_hook = send_output; + send_input_hook = send_input; break; case MOD_UNLOAD: @@ -61,7 +56,7 @@ default: break; } - return err; + return (0); } static moduledata_t sendmod = { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#11 (text+ko) ==== @@ -1,11 +1,14 @@ /* send.c */ -extern int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); +extern int (*send_output_hook)(struct mbuf *, struct ifnet *, int, int); extern int (*send_input_hook)(void); -/* Message formats for messages from ND to applications (sendd) via the +/* Message formats for messages from ND to applications (i.e. sendd) via the * routing socket. These messages are appended to an if_announcemsghdr * structure. */ -#define RTM_SND_OUT 0 /* outgoing traffic sent to sendd */ -#define RTM_SND_IN 1 /* incoming traffic sent to sendd */ +#define SEND_OUT 0 /* outgoing traffic sent to sendd */ +#define SEND_IN 1 + +#define RTM_SND_OUT 0 /* outgoing traffic with RTM header sent to sendd */ +#define RTM_SND_IN 1 /* incoming traffic with RTM header sent to sendd */ ==== //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#5 (text+ko) ==== @@ -899,7 +899,7 @@ #define PACKET_TAG_IPOPTIONS 27 /* Saved IP options */ #define PACKET_TAG_CARP 28 /* CARP info */ #define PACKET_TAG_IPSEC_NAT_T_PORTS 29 /* two uint16_t */ -#define PACKET_TAG_ND_OUTGOING 30 /* ND outgoing */ +#define PACKET_TAG_ND_OUTGOING 30 /* ND outgoing */ /* Specific cookies and tags. */ From owner-p4-projects@FreeBSD.ORG Wed Jul 1 20:36:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C95061065679; Wed, 1 Jul 2009 20:36:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88554106564A for ; Wed, 1 Jul 2009 20:36:32 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7653F8FC14 for ; Wed, 1 Jul 2009 20:36:32 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n61KaW0l057578 for ; Wed, 1 Jul 2009 20:36:32 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n61KaW55057576 for perforce@freebsd.org; Wed, 1 Jul 2009 20:36:32 GMT (envelope-from anchie@FreeBSD.org) Date: Wed, 1 Jul 2009 20:36:32 GMT Message-Id: <200907012036.n61KaW55057576@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 20:36:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=165517 Change 165517 by anchie@anchie_malimis on 2009/07/01 20:35:55 Return after passing the mbuf to the user space via the rtm interface. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#12 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#12 (text+ko) ==== @@ -1914,12 +1914,13 @@ if (send_output_hook != NULL) { mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); if (mtag != NULL) { - printf("%s %d: ND_OUTGOING tag found.\n", __FUNCTION__, __LINE__); + printf("%s: ND_OUTGOING tag found.\n", __FUNCTION__); nd_type = (unsigned short *)(mtag + 1); + send_output_hook(m, ifp, 0, ip6len); } else - return(ENOMSG); + error = EOPNOTSUPP; - send_output_hook(m, ifp, 0, ip6len); + return error; } else { /* From owner-p4-projects@FreeBSD.ORG Thu Jul 2 08:50:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70C0E1065672; Thu, 2 Jul 2009 08:50:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2796D106564A for ; Thu, 2 Jul 2009 08:50:04 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EDEBB8FC15 for ; Thu, 2 Jul 2009 08:50:03 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n628o3T5062492 for ; Thu, 2 Jul 2009 08:50:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n628o3S1062490 for perforce@freebsd.org; Thu, 2 Jul 2009 08:50:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 2 Jul 2009 08:50:03 GMT Message-Id: <200907020850.n628o3S1062490@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165531 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 08:50:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=165531 Change 165531 by rwatson@rwatson_cinnamon on 2009/07/02 08:49:43 Add missing errno mapping for some FreeBSD/MAc OS X-specific errno values, which might otherwise prevent these errors from being properly encoded and decoded. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#18 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#18 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#17 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#18 $ */ #include @@ -453,6 +453,104 @@ { BSM_ERRNO_EINPROGRESS, EINPROGRESS, ES("Operation now in progress") }, { BSM_ERRNO_ESTALE, ESTALE, ES("Stale NFS file handle") }, + { BSM_ERRNO_EPROCLIM, +#ifdef EPROCLIM + EPROCLIM, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Too many processes") }, + { BSM_ERRNO_EBADRPC, +#ifdef EBADRPC + EBADRPC, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC struct is bad") }, + { BSM_ERRNO_ERPCMISMATCH, +#ifdef ERPCMISMATCH + ERPCMISMATCH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC version wrong") }, + { BSM_ERRNO_EPROGUNAVAIL, +#ifdef EPROGUNAVAIL + EPROGUNAVAIL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC prog. not avail") }, + { BSM_ERRNO_EPROGMISMATCH, +#ifdef EPROGMISMATCH + EPROGMISMATCH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC version wrong") }, + { BSM_ERRNO_EPROCUNAVAIL, +#ifdef EPROCUNAVAIL + EPROCUNAVAIL, +#else + ERRNO_NO_LOCAL_MAPPING +#endif + ES("Bad procedure for program") }, + { BSM_ERRNO_EFTYPE, +#ifdef EFTYPE + EFTYPE, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Inappropriate file type or format") }, + { BSM_ERRNO_EAUTH, +#ifdef EAUTH + EAUTH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Authenticateion error") }, + { BSM_ERRNO_ENEEDAUTH, +#ifdef ENEEDAUTH + ENEEDAUTH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Need authenticator") }, + { BSM_ERRNO_ENOATTR, +#ifdef ENOATTR + ENOATTR, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Attribute not found") }, + { BSM_ERRNO_EDOOFUS, +#ifdef EDOOFUS + EDOOFUS, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Programming error") }, + { BSM_ERRNO_EJUSTRETURN, +#ifdef EJUSTRETURN + EJUSTRETURN, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Just return") }, + { BSM_ERRNO_ENOIOCTL, +#ifdef ENOIOCTL + ENOIOCTL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("ioctl not handled by this layer") }, + { BSM_ERRNO_EDIRIOCTL, +#ifdef EDIRIOCTL + EDIRIOCTL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("do direct ioctl in GEOM") }, { BSM_ERRNO_EPWROFF, #ifdef EPWROFF EPWROFF, From owner-p4-projects@FreeBSD.ORG Thu Jul 2 08:58:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53D821065674; Thu, 2 Jul 2009 08:58:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 133081065672 for ; Thu, 2 Jul 2009 08:58:13 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F388C8FC16 for ; Thu, 2 Jul 2009 08:58:12 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n628wChV063041 for ; Thu, 2 Jul 2009 08:58:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n628wCoK063039 for perforce@freebsd.org; Thu, 2 Jul 2009 08:58:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 2 Jul 2009 08:58:12 GMT Message-Id: <200907020858.n628wCoK063039@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165532 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 08:58:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165532 Change 165532 by rwatson@rwatson_cinnamon on 2009/07/02 08:57:45 Start to construct an OpenBSM 1.1p1, which will contain fixed errno handling for a few previously omitted error numbers. Affected files ... .. //depot/projects/trustedbsd/openbsm/NEWS#41 edit .. //depot/projects/trustedbsd/openbsm/VERSION#25 edit .. //depot/projects/trustedbsd/openbsm/configure#54 edit .. //depot/projects/trustedbsd/openbsm/configure.ac#53 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/NEWS#41 (text+ko) ==== @@ -1,5 +1,10 @@ OpenBSM Version History +OpenBSM 1.1p1 + +- Add missing conversion of a number of FreeBSD/Mac OS X errnos to/from BSM + error number space. + OpenBSM 1.1 - Change auditon(2) parameters and data structures to be 32/64-bit architecture @@ -449,4 +454,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/NEWS#40 $ +$P4: //depot/projects/trustedbsd/openbsm/NEWS#41 $ ==== //depot/projects/trustedbsd/openbsm/VERSION#25 (text+ko) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_1 +OPENBSM_1_1p1 ==== //depot/projects/trustedbsd/openbsm/configure#54 (xtext) ==== @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#51 . +# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#52 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for OpenBSM 1.1. +# Generated by GNU Autoconf 2.62 for OpenBSM 1.1p1. # # Report bugs to . # @@ -751,8 +751,8 @@ # Identity of this package. PACKAGE_NAME='OpenBSM' PACKAGE_TARNAME='openbsm' -PACKAGE_VERSION='1.1' -PACKAGE_STRING='OpenBSM 1.1' +PACKAGE_VERSION='1.1p1' +PACKAGE_STRING='OpenBSM 1.1p1' PACKAGE_BUGREPORT='trustedbsd-audit@TrustesdBSD.org' ac_unique_file="bin/auditreduce/auditreduce.c" @@ -1492,7 +1492,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenBSM 1.1 to adapt to many kinds of systems. +\`configure' configures OpenBSM 1.1p1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1562,7 +1562,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenBSM 1.1:";; + short | recursive ) echo "Configuration of OpenBSM 1.1p1:";; esac cat <<\_ACEOF @@ -1671,7 +1671,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenBSM configure 1.1 +OpenBSM configure 1.1p1 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1685,7 +1685,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenBSM $as_me 1.1, which was +It was created by OpenBSM $as_me 1.1p1, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -19662,7 +19662,7 @@ # Define the identity of the package. PACKAGE=OpenBSM - VERSION=1.1 + VERSION=1.1p1 cat >>confdefs.h <<_ACEOF @@ -24400,7 +24400,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenBSM $as_me 1.1, which was +This file was extended by OpenBSM $as_me 1.1p1, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -24453,7 +24453,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -OpenBSM config.status 1.1 +OpenBSM config.status 1.1p1 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" ==== //depot/projects/trustedbsd/openbsm/configure.ac#53 (text+ko) ==== @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([OpenBSM], [1.1], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#52 $]) +AC_INIT([OpenBSM], [1.1p1], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#53 $]) AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config/config.h]) From owner-p4-projects@FreeBSD.ORG Thu Jul 2 09:02:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E0A151065676; Thu, 2 Jul 2009 09:02:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E9471065670 for ; Thu, 2 Jul 2009 09:02:17 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8B0768FC14 for ; Thu, 2 Jul 2009 09:02:17 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6292Har063447 for ; Thu, 2 Jul 2009 09:02:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6292HpI063445 for perforce@freebsd.org; Thu, 2 Jul 2009 09:02:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 2 Jul 2009 09:02:17 GMT Message-Id: <200907020902.n6292HpI063445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 165533 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 09:02:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=165533 Change 165533 by rwatson@rwatson_cinnamon on 2009/07/02 09:01:53 Other work since OpenBSM 1.1. Affected files ... .. //depot/projects/trustedbsd/openbsm/NEWS#42 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/NEWS#42 (text+ko) ==== @@ -2,6 +2,10 @@ OpenBSM 1.1p1 +- Fixes to AUT_SOCKUNIX token parsing. +- IPv6 support for au_to_me(3). +- Improved robustness in the parsing of audit_control, especially long + flags/naflags strings and whitespace in all fields. - Add missing conversion of a number of FreeBSD/Mac OS X errnos to/from BSM error number space. @@ -454,4 +458,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/NEWS#41 $ +$P4: //depot/projects/trustedbsd/openbsm/NEWS#42 $ From owner-p4-projects@FreeBSD.ORG Thu Jul 2 09:12:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 399B91065672; Thu, 2 Jul 2009 09:12:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED7F1106566C for ; Thu, 2 Jul 2009 09:12:28 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C12648FC1D for ; Thu, 2 Jul 2009 09:12:28 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n629CS0F065196 for ; Thu, 2 Jul 2009 09:12:28 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n629CSJ3065194 for perforce@freebsd.org; Thu, 2 Jul 2009 09:12:28 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Thu, 2 Jul 2009 09:12:28 GMT Message-Id: <200907020912.n629CSJ3065194@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165534 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 09:12:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=165534 Change 165534 by zhaoshuai@zhaoshuai on 2009/07/02 09:12:20 don't poll/select on a closed file descriptor. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#3 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#3 (text+ko) ==== @@ -1416,22 +1416,13 @@ } /* - * close the reader, which should cause - * - reader_fd unreadable, unwritable, not exceptional - * - writer_fd unreadable, unwritable, not exceptional + * close the reader, which should cause writer_fd unreadable, + * writable, not exceptional */ close(reader_fd); - /* - if (assert_status(reader_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, - NOT_EXCEPTION, __func__, "close_reader", "reader_fd") < 0) { - cleanfifo2("testfifo", writer_fd, kqueue_fd); - exit(-1); - } - */ - - if (assert_status(writer_fd, kqueue_fd, READABLE, WRITABLE, - EXCEPTION, __func__, "close_reader", "writer_fd") < 0) { + if (assert_status(writer_fd, kqueue_fd, NOT_READABLE, WRITABLE, + NOT_EXCEPTION, __func__, "close_reader", "writer_fd") < 0) { cleanfifo2("testfifo", writer_fd, kqueue_fd); exit(-1); } @@ -1473,26 +1464,17 @@ } /* - * close the writer, which should cause - * - reader_fd readable, unwritable, exceptional - * - writer_fd unreadable, unwritable, not exceptional + * close the writer, which should cause reader_fd readable, + * unwritable, not exceptional */ close(writer_fd); - if (assert_status(reader_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, + if (assert_status(reader_fd, kqueue_fd, READABLE, NOT_WRITABLE, NOT_EXCEPTION, __func__, "close_writer", "reader_fd") < 0) { cleanfifo2("testfifo", reader_fd, kqueue_fd); exit(-1); } - /* - if (assert_status(writer_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, - NOT_EXCEPTION, __func__, "close_writer", "writer_fd") < 0) { - cleanfifo2("testfifo", reader_fd, kqueue_fd); - exit(-1); - } - */ - cleanfifo2("testfifo", reader_fd, kqueue_fd); } From owner-p4-projects@FreeBSD.ORG Thu Jul 2 09:27:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02D5D1065674; Thu, 2 Jul 2009 09:27:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6CD3106564A for ; Thu, 2 Jul 2009 09:27:45 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A50828FC12 for ; Thu, 2 Jul 2009 09:27:45 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n629RjPK066377 for ; Thu, 2 Jul 2009 09:27:45 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n629RjAq066375 for perforce@freebsd.org; Thu, 2 Jul 2009 09:27:45 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 2 Jul 2009 09:27:45 GMT Message-Id: <200907020927.n629RjAq066375@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165536 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 09:27:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=165536 Change 165536 by anchie@anchie_malimis on 2009/07/02 09:27:24 Return IPPROTO_DONE after sending the incoming packet to the user space. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#14 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#14 (text+ko) ==== @@ -766,18 +766,20 @@ /* give up local */ /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ nd6_rs_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_rs_input(n, off, icmp6len); /* m stays. */ break; @@ -791,16 +793,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_ra_input(m, off, icmp6len); m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hoo(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_ra_input(n, off, icmp6len); /* m stays. */ break; @@ -814,18 +818,20 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_ns_input(n, off, icmp6len); /* m stays. */ break; @@ -839,9 +845,10 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ nd6_na_input(m, off, icmp6len); } @@ -864,18 +871,20 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ icmp6_redirect_input(m, off); } m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else icmp6_redirect_input(n, off); /* m stays. */ break; From owner-p4-projects@FreeBSD.ORG Thu Jul 2 11:18:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E7791065673; Thu, 2 Jul 2009 11:18:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DC031065670 for ; Thu, 2 Jul 2009 11:18:47 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3A7AB8FC0C for ; Thu, 2 Jul 2009 11:18:47 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62BIkeo076737 for ; Thu, 2 Jul 2009 11:18:46 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62BIktH076734 for perforce@freebsd.org; Thu, 2 Jul 2009 11:18:46 GMT (envelope-from andre@freebsd.org) Date: Thu, 2 Jul 2009 11:18:46 GMT Message-Id: <200907021118.n62BIktH076734@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165539 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 11:18:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=165539 Change 165539 by andre@andre_flirtbox on 2009/07/02 11:18:45 Fix up function prototypes, add variables, comment out gone or currently unresolved stuff, hackery... Makes tcp_new syntactically correct enough to compile but not functional or useable yet. Affected files ... .. //depot/projects/tcp_new/modules/Makefile#3 edit .. //depot/projects/tcp_new/netinet/tcp.h#4 edit .. //depot/projects/tcp_new/netinet/tcp_input.c#12 edit .. //depot/projects/tcp_new/netinet/tcp_output.c#10 edit .. //depot/projects/tcp_new/netinet/tcp_reass.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_sack.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_seq.h#2 edit .. //depot/projects/tcp_new/netinet/tcp_subr.c#5 edit .. //depot/projects/tcp_new/netinet/tcp_syncache.c#5 edit .. //depot/projects/tcp_new/netinet/tcp_syncache.h#2 edit .. //depot/projects/tcp_new/netinet/tcp_timer.c#3 edit .. //depot/projects/tcp_new/netinet/tcp_timewait.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_usrreq.c#4 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#10 edit Differences ... ==== //depot/projects/tcp_new/modules/Makefile#3 (text+ko) ==== @@ -64,7 +64,6 @@ ${_ctau} \ cue \ ${_cx} \ - cxgb \ dc \ dcons \ dcons_crom \ ==== //depot/projects/tcp_new/netinet/tcp.h#4 (text+ko) ==== ==== //depot/projects/tcp_new/netinet/tcp_input.c#12 (text+ko) ==== @@ -128,10 +128,10 @@ &tcp_do_rfc3390, 0, "Enable RFC 3390 (Increasing TCP's Initial Congestion Window)"); -static int tcp_insecure_rst = 0; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, insecure_rst, CTLFLAG_RW, - &tcp_insecure_rst, 0, - "Follow the old (insecure) criteria for accepting RST packets"); +static int tcp_secure_rst = 0; +SYSCTL_INT(_net_inet_tcp, OID_AUTO, secure_rst, CTLFLAG_RW, + &tcp_secure_rst, 0, + "Follow the new (secure) criteria for accepting RST packets"); int tcp_do_autorcvbuf = 1; SYSCTL_INT(_net_inet_tcp, OID_AUTO, recvbuf_auto, CTLFLAG_RW, @@ -150,21 +150,25 @@ #define tcb6 tcb /* for KAME src sync over BSD*'s */ struct inpcbinfo tcbinfo; -static void tcp_dooptions(struct tcpopt *, u_char *, int, int); +static void tcp_do_options(struct tcpopt *, u_char *, int, int); +static void tcp_do_ack(struct tcpcb *tp, struct tcphdr *th, int tiwin, + int acked, int tlen, int sacked); +static int tcp_do_rto(struct tcpcb *tp, int rtt); static void tcp_do_segment(struct mbuf *, struct tcphdr *, struct socket *, struct tcpcb *, int, int); static void tcp_do_time(struct tcpcb *tp, struct tcphdr *th, - struct tcpopt *to, int acked, int tlen); -static void tcp_do_urg(struct tcpcb *tp, struct tcphdr *th, int tlen); -static void tcp_do_wu(struct tcpcb *tp, struct tcphdr *th, + struct tcpopt *to, int acked, int tlen, int sacked); +static void tcp_do_urg(struct tcpcb *tp, struct socket *so, + struct tcphdr *th, int *tlen); +static int tcp_do_wu(struct tcpcb *tp, struct tcphdr *th, struct tcpopt *to, int tiwin, int acked, int tlen, int sacked); static void tcp_dropwithreset(struct mbuf *, struct tcphdr *, struct tcpcb *, int, int); +int tcp_init_cwnd(struct tcpcb *tp); +static void tcp_init_values(struct tcpcb *tp); static void tcp_pulloutofband(struct socket *, struct tcphdr *, struct mbuf *, int); -static void tcp_xmit_timer(struct tcpcb *, int); -static void tcp_newreno_partial_ack(struct tcpcb *, struct tcphdr *); /* Neighbor Discovery, Neighbor Unreachability Detection Upper layer hint. */ #ifdef INET6 @@ -504,7 +508,7 @@ */ if (inp->inp_vflag & INP_TIMEWAIT) { if (thflags & TH_SYN) - tcp_dooptions(&to, optp, optlen, TO_SYN); + tcp_do_options(&to, optp, optlen, TO_SYN); /* * NB: tcp_twcheck unlocks the INP and frees the mbuf. */ @@ -580,7 +584,7 @@ * syncookies need access to the reflected * timestamp. */ - tcp_dooptions(&to, optp, optlen, 0); + tcp_do_options(&to, optp, optlen, 0); /* * NB: syncache_expand() doesn't unlock * inp and tcpinfo locks. @@ -819,7 +823,7 @@ tcp_trace(TA_INPUT, ostate, tp, (void *)tcp_saveipgen, &tcp_savetcp, 0); #endif - tcp_dooptions(&to, optp, optlen, TO_SYN); + tcp_do_options(&to, optp, optlen, TO_SYN); syncache_add(&inc, &to, th, inp, &so, m); /* * Entry added to syncache and mbuf consumed. @@ -856,7 +860,7 @@ return; } -#define tcplog (s = tcp_log_addrs(tcpcbtoinc(tp), th, NULL, NULL)) +#define tcplog(x) (s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL, NULL)) static void tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, @@ -898,7 +902,7 @@ * RFC1122: section 4.2.2.5 */ if ((th->th_off << 2) != sizeof(struct tcphdr)) - tcp_dooptions(&to, (u_char *)(th + 1), + tcp_do_options(&to, (u_char *)(th + 1), (th->th_off << 2) - sizeof(struct tcphdr), (thflags & TH_SYN) ? TO_SYN : 0); else @@ -1021,9 +1025,9 @@ * SYN and once when get back the SYN-ACK. */ if (to.to_flags & TOF_MSS) - tp->snd_mss = tcp_mss(tptoinpinc(tp), to.to_mss, 0); + tp->snd_mss = tcp_mss(tcpcbtoinc(tp), to.to_mss, 0); else - tp->snd_mss = tcp_mss(tptoinpinc(tp), 0, 0); + tp->snd_mss = tcp_mss(tcpcbtoinc(tp), 0, 0); /* * Do window scaling on this connection? @@ -1048,7 +1052,7 @@ */ tcplog("Window Scaling Option unexpected, " "connection aborted"); - tp->t_error = ENETRESET; /* XXXAO: Correct error? */ + tp->t_softerror = ENETRESET; /* XXXAO: Correct error? */ tp = tcp_close(tp); rstreason = BANDLIM_UNLIMITED; goto dropwithreset; @@ -1070,7 +1074,7 @@ */ tcplog("Timestamp Option unexpected, " "connection aborted"); - tp->t_error = ENETRESET; + tp->t_softerror = ENETRESET; tp = tcp_close(tp); rstreason = BANDLIM_UNLIMITED; goto dropwithreset; @@ -1092,7 +1096,7 @@ */ tcplog("SACK Permitted unexpected, " "connection aborted"); - tp->t_error = ENETRESET; + tp->t_softerror = ENETRESET; tp = tcp_close(tp); rstreason = BANDLIM_UNLIMITED; goto dropwithreset; @@ -1102,13 +1106,12 @@ * Initialize receive structure. * XXXAO: TODO */ - tp->rcv_adv += rwin; /* XXX */ - tp->irs = th->th_seq; + tp->rcv_advwin += rwin; /* XXX */ tp->rcv_up = th->th_seq; - tcp_rcvseqinit(tp); - tcp_init_rcv(tp, seq); /* XXXAO */ - tcp_init_snd(tp, ack); /* XXXAO */ + //tcp_init_rcv(tp, seq); /* XXXAO */ + //tcp_init_snd(tp, ack); /* XXXAO */ + tcp_init_values(tp); /* * Process SYN and integrate sequence number. @@ -1132,8 +1135,8 @@ * Otherwise go into idle mode and wait for * either side to start transmitting data. */ - if (tp->snd_una != snd_nxt) { - tcp_timer_activate(tp, TT_RXMIT, ); /* XXXAO */ + if (tp->snd_una != tp->snd_nxt) { + tcp_timer_activate(tp, TT_REXMT, 1); /* XXXAO */ nudgeoutput = 1; } else { tcp_timer_activate(tp, TT_KEEP, tcp_keepidle); /* XXXAO */ @@ -1191,7 +1194,7 @@ * RFC2018: section 1, page 2, last paragraph */ if ((to.to_flags & TOF_SACK) && - !(tp->t_flags & TF_SACK_PERM)) { + !(tp->t_flags & TF_SACK_PERMIT)) { tcplog("SACK unexpected, segment ignored"); goto drop; } @@ -1214,21 +1217,21 @@ * Linux 2.6.25, net/ipv4/tcp_input.c, tcp_disordered_ack() */ if (to.to_flags & TOF_TS) { - time_t uptime = tcp_uptime(); + time_t uptime = (time_t)ticks; /* XXXAO */ if (uptime - tp->t_rcvtime < ((tcp_ts)0x0 - 1) / (hz * 2)) { - if (TSTMP_LT(to.to_tsval, tp->snd_tsecr) { + if (TSTMP_LT(to.to_tsval, tp->snd_tsecr)) { tcplog("Timestamp too old, " "sending challenge ack"); goto dropafterack; } - if (TSTMP_GT(to.to_tsecr, tp->snd_tsval) { + if (TSTMP_GT(to.to_tsecr, tp->snd_tslast)) { tcplog("Timestamp too new, " "sending challenge ack"); goto dropafterack; } } else - to->to_flags &= ~TOF_TS; + to.to_flags &= ~TOF_TS; } /* @@ -1276,7 +1279,7 @@ if (th->th_seq == tp->rcv_nxt - 1 && th->th_ack == tp->snd_nxt && tlen <= 1 && !(thflags & TH_URG) && - !TCPS_HAVERCVDFIN(tp)) { + !TCPS_HAVERCVDFIN(tp->t_state)) { /* * The connection is idle and this * is a keepalive. Force an ACK and @@ -1293,9 +1296,9 @@ thflags &= ~TH_FIN; } tp->t_flags |= TF_ACKNOW; - tcps.tcps_rcv_keepalive++; + //tcpstat.tcps_rcv_keepalive++; } else if (th->th_seq == tp->rcv_nxt - 1 && - TCPS_HAVERCVDFIN(tp) && (thflags & TH_FIN)) { + TCPS_HAVERCVDFIN(tp->t_state) && (thflags & TH_FIN)) { /* * Continue with duplicate FIN. * When we received the orginal FIN @@ -1309,7 +1312,7 @@ */ tp->t_flags |= TF_ACKNOW; } else if (th->th_seq == tp->rcv_nxt && tlen > 0 && - (thflags & TH_URG) && th->th_urg > 0) { + (thflags & TH_URG) && th->th_urp > 0) { /* * We must accept urgent data even when * the window is closed. Continue @@ -1355,7 +1358,7 @@ * XXXAO: Informal. Not part of any RFC. */ if (SEQ_GT(th->th_seq, tp->snd_lastack) && - SEQ_LT(th->th_seq, tp->rcv_nxt) { + SEQ_LT(th->th_seq, tp->rcv_nxt)) { tcplog("Received retransmit before we sent delayed ACK," " no action"); } @@ -1433,7 +1436,7 @@ * a SYN. */ if (th->th_ack != tp->snd_una || - th->th_ack != th->snd_nxt) { + th->th_ack != tp->snd_nxt) { tcplog("RST does not match, segment ignored"); tcpstat.tcps_badrst++; goto drop; @@ -1476,14 +1479,14 @@ */ if (tcp_secure_rst && (SEQ_DELTA(th->th_seq, tp->rcv_nxt) > 1 || - SEQ_DELTA(th->th_seq, tp->snd_last_ack) > 1) || - SEQ_DELTA(th->th_seq, tp->snd_last_ack + rwin) > 1) { + SEQ_DELTA(th->th_seq, tp->snd_lastack) > 1 || + SEQ_DELTA(th->th_seq, tp->snd_lastack + rwin) > 1)) { tcplog("RST does not match (secure), segment ignored"); tcpstat.tcps_badrst++; goto drop; } else if (!tcp_secure_rst && - (SEQ_LT(th->th_seq, tp->snd_last_ack - 1) || - SEQ_GT(th->th_seq, tp->snd_last_ack + rwin))) { + (SEQ_LT(th->th_seq, tp->snd_lastack - 1) || + SEQ_GT(th->th_seq, tp->snd_lastack + rwin))) { tcplog("RST does not match (insecure), segment ignored"); tcpstat.tcps_badrst++; goto drop; @@ -1646,11 +1649,11 @@ * drop trailing data (and PUSH and FIN); * if nothing left, just ACK. */ - todrop = th->th_seq + tlen, tp->rcv_nxt + rwin; + todrop = SEQ_DELTA(th->th_seq + tlen, tp->rcv_nxt + rwin); if (todrop > 0) { KASSERT(todrop <= tlen, ("%s: right todrop > tlen", __func__)); - KASSERT(!TCPS_HAVERCVDFIN(tp), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state), ("%s: FIN received, todrop > 0", __func__)); /* @@ -1760,7 +1763,7 @@ /* * Update congestion control information. */ - tcp_cc_ack(tp, th, tiwin, acked, tlen, sacked); + //tcp_cc_ack(tp, th, tiwin, acked, tlen, sacked); KASSERT(tp->snd_cwnd > tp->snd_mss, ("%s: cwnd < 1*mss after congestion control function", __func__)); @@ -1768,14 +1771,14 @@ * Drop acknowledged data from send socket buffer. * RFC793: section 3.9, page 72, fifth check */ - if (acked > 0) + if (acked > 0) { SOCKBUF_LOCK(&so->so_snd); KASSERT(SEQ_GT(th->th_ack, tp->snd_nxt), ("%s: more acked than sent", __func__)); KASSERT(acked <= so->so_snd.sb_cc + 1, ("%s: more acked than in send buffer", __func__)); - KASSERT(!TCPS_HAVERCVDFIN(tp), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state), ("%s: FIN already processed but acked > 0", __func__)); /* @@ -1810,9 +1813,9 @@ ("%s: got ack for FIN but haven't sent FIN yet", __func__)); - KASSERT(!tcp_timer_active(TT_RXMIT), + KASSERT(!tcp_timer_active(tp, TT_REXMT), ("%s: ourfinisacked but RXMIT still active", - __func__); + __func__)); /* * Handle ack'ed FIN according to previous state. @@ -1903,7 +1906,7 @@ */ if (tlen == 0 && (th->th_flags & TH_FIN) == 0 && !TCPS_HAVERCVDFIN(tp->t_state)) { - INP_INFO_WUNLOCK(&tcpinfo); + INP_INFO_WUNLOCK(&tcbinfo); m_freem(m); m = NULL; th = NULL; @@ -1917,7 +1920,7 @@ */ if ((thflags & TH_URG) && th->th_urp > 0 && tlen > 0 && !TCPS_HAVERCVDFIN(tp->t_state)) { - tcp_do_urg(tp, th, &tlen); + tcp_do_urg(tp, so, th, &tlen); } else if (SEQ_GT(tp->rcv_nxt, tp->rcv_up)) { tp->rcv_up = tp->rcv_nxt; } @@ -1937,7 +1940,7 @@ * segment with urgent that got pulled and now is zero */ if (!TCPS_HAVERCVDFIN(tp->t_state) && - (tlen > 0 || (tp->rcv_trq != NULL && (th->th_flags & TH_FIN)))) { + (tlen > 0 || (!TAILQ_EMPTY(&tp->rcv_trq) && (th->th_flags & TH_FIN)))) { int newsize = 0; /* Rcvbuf autoscaling. */ /* @@ -1955,14 +1958,14 @@ * XXXAO: This breaks with reassembly queue and * tlen == 0 and TH_FIN. */ - m_demote(m); + m_demote(m, 1); while (m->m_len == 0 && m->m_next != NULL) m = m_free(m); KASSERT(m->m_len > 0, ("%s: drop_hdrlen too big or mbuf chain broken", __func__)); } - KASSERT(tlen == m_length(m), + KASSERT(tlen == m_length(m, NULL), ("%s: tlen != mbuf chain length", __func__)); /* @@ -1980,7 +1983,8 @@ * RFC1122: section 4.2.2.21 */ if (th->th_seq != tp->rcv_nxt || !TAILQ_EMPTY(&tp->rcv_trq)) { - m = tcp_reass(tp, m, tlen, thflags); + //m = tcp_reass(tp, m, tlen, thflags); + m = NULL; if (m != NULL && (m->m_flags & M_PROTO1)) thflags |= TH_FIN; @@ -2029,7 +2033,7 @@ */ if (m != NULL && tcp_do_autorcvbuf && (to.to_flags & TOF_TS) && (so->so_rcv.sb_flags & SB_AUTOSIZE)) { - if (TS_GT(to.to_tsecr, tp->rfbuf_ts) && + if (TSTMP_GT(to.to_tsecr, tp->rfbuf_ts) && to.to_tsecr - tp->rfbuf_ts < hz) { if (tp->rfbuf_cnt > (so->so_rcv.sb_hiwat / 8 * 7) && so->so_rcv.sb_hiwat < tcp_autorcvbuf_max) { @@ -2091,7 +2095,7 @@ /* * Update size of receive window. */ - tp->rcv_wnd = sbspace(so->so_rcv); + tp->rcv_wnd = (tcp_seq)sbspace(&so->so_rcv); /* * NB: sorwakeup_locked implicitly unlocks. @@ -2125,10 +2129,10 @@ */ } } else { - KASSERT(!TCPS_HAVERCVDFIN(tp) || TAILQ_EMPTY(&tp->rcv_trq), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state) || TAILQ_EMPTY(&tp->rcv_trq), ("%s: FIN received but reassembly queue not empty", __func__)); KASSERT(tlen == 0, - ("%s: data unexpected", __func__)) + ("%s: data unexpected", __func__)); /* * Dispose of segment. The data was already dropped @@ -2255,7 +2259,7 @@ * XXXAO: Multi-delack? * XXXAO: Always call into tcp_output and have it decide what to do. */ - (void)tcp_output(tp, TPO_TINPUT); + (void)tcp_output(tp); #if 0 if ((tp->t_flags & TF_ACKNOW) || tp->snd_delack > 1 || nudgeoutput || (tp->t_flags & TF_RXWIN0SENT) || @@ -2271,7 +2275,7 @@ return; dropafterack: - INP_INFO_LOCK_ASSERT(&tcpinfo); + INP_INFO_WLOCK_ASSERT(&tcbinfo); INP_LOCK_ASSERT(tp->t_inpcb); KASSERT(!(thflags & TH_RST), ("%s: dropafterack with RST", __func__)); @@ -2290,12 +2294,12 @@ */ tp->t_flags |= TF_ACKNOW; m_freem(m); - (void) tcp_output(tp, TPO_TINPUT); + (void) tcp_output(tp); INP_UNLOCK(tp->t_inpcb); return; dropwithreset: - INP_INFO_LOCK_ASSERT(&tcpinfo); + INP_INFO_WLOCK_ASSERT(&tcbinfo); INP_INFO_WUNLOCK(&tcbinfo); KASSERT(th != NULL, ("%s: th for tcp_dropwithreset() is NULL", __func__)); @@ -2310,7 +2314,7 @@ return; drop: - INP_INFO_LOCK_ASSERT(&tcpinfo); + INP_INFO_WLOCK_ASSERT(&tcbinfo); /* * Drop space held by incoming segment and return. */ @@ -2489,7 +2493,7 @@ int acked, int tlen, int sacked) { int rtt; - tcp_ts tick = tcp_ticks; + tcp_ts tick = ticks; INP_LOCK_ASSERT(tp->t_inpcb); KASSERT(tp != NULL && th != NULL && to != NULL, @@ -2500,8 +2504,7 @@ * * Make note of most recent segment received time. */ - tp->t_rcvtime = tcp_uptime(); - tp->t_rcvticks = tick; + tp->t_rcvtime = time_uptime; /* * 2. If timestamps are used decide which to reflect. @@ -2527,27 +2530,29 @@ * Does this give PAWS problems? */ if (to->to_flags & TOF_TS) { +#define TCP_RFC1323_BRADEN #ifdef TCP_RFC1323_BRADEN - if (TS_GEQ(to->to_tsval, tp->snd_tsecr) && + if (TSTMP_GEQ(to->to_tsval, tp->snd_tsecr) && SEQ_LEQ(th->th_ack, tp->snd_lastack)) { #endif #ifdef TCP_RFC1323bis_plusSACK - if (TS_GT(to->to_tsval, tp->snd_tsecr) && + if (TSTMP_GT(to->to_tsval, tp->snd_tsecr) && ((th->th_seq == tp->rcv_nxt && tp->snd_delack == 0) || - sacked > 0) { + sacked > 0)) { #endif tp->snd_tsecr = to->to_tsval; - tp->snd_tsecrts = tcp_ticks; + //tp->snd_tsecrts = ticks; } - KASSERT(!TS_GT(to->to_secr, tick), + KASSERT(!TSTMP_GT(to->to_tsecr, tick), ("%s: timestamp newer than our time", __func__)); /* * Remember highest most recent reflected TS. */ if (SEQ_LEQ(th->th_seq, tp->snd_lastack) && - TS_GT(to->to_tsecr > tp->ts_recent)) - tp->ts_recent = to->to_tsecr; - tp->ts_recentts = tick; + TSTMP_GT(to->to_tsecr, tp->tsval_recent)) { + tp->tsval_recent = to->to_tsecr; + //tp->ts_recentts = tick; + } } /* @@ -2557,7 +2562,7 @@ rtt = tick - to->to_tsecr; } else if (acked > 0 && tp->snd_rtseq != 0 && SEQ_GT(th->th_ack, tp->snd_rtseq) && - TAILQ_EMPTY(tp->rcv_trq) && tp->snd_rtoshift == 0) { + TAILQ_EMPTY(&tp->rcv_trq) /*&& tp->snd_rtoshift == 0*/ ) { rtt = tick - tp->snd_rtts; tp->snd_rtseq = 0; } else @@ -2587,8 +2592,8 @@ * the time measurement or our estimate will be way off. */ if (tick - tp->snd_tslast > tp->snd_rto) { - if (tp->t_rtseq != 0) - tp->t_rtseq = 0; + if (tp->snd_rtseq != 0) + tp->snd_rtseq = 0; return; } @@ -2878,8 +2883,8 @@ #endif #ifdef TCP_WU_BSDNEW if (((to->to_flags & TOF_TS) && - TS_GT(to->to_tsecr, tp->ts_reflected_last) || - TS_GT(to->to_tsval, tp->ts_recent)) || + (TSTMP_GT(to->to_tsecr, tp->snd_tsecr) || + TSTMP_GT(to->to_tsval, tp->snd_tslast))) || acked > 0 || (SEQ_GT(th->th_seq, tp->snd_wu_seq) && acked >= 0) || (th->th_seq == tp->snd_wu_seq && th->th_ack == tp->snd_una && @@ -2898,8 +2903,9 @@ * RFC793: section 3.7, page 42-44, "Managing the Window" * RFC1122: section 4.2.2.16 */ - if (SEQ_DELTA(tp->snd_nxt, tp->snd_una + acked) + tiwin < tp->snd_wnd) - tcplog("peer shrank the window"); + if (SEQ_DELTA(tp->snd_nxt, tp->snd_una + acked) + tiwin < tp->snd_wnd) { + //tcplog("peer shrank the window"); + } /* * Update the window and keep track of this update. @@ -2920,7 +2926,8 @@ } static void -tcp_do_ack(tp, th, tiwin, acked, tlen, sacked) +tcp_do_ack(struct tcpcb *tp, struct tcphdr *th, int tiwin, int acked, + int tlen, int sacked) { /* * Without SACK detecting a duplicate ACK is based on an @@ -2959,8 +2966,8 @@ if (acked > 0) tp->snd_una += acked; - KASSERT(tp->snd_una == tp->snd_nxt || tcp_timer_active(TT_RXMIT), - ("%s: outstanding data but RXMIT timer not active", __func__)); + KASSERT(tp->snd_una == tp->snd_nxt || tcp_timer_active(tp, TT_REXMT), + ("%s: outstanding data but REXMT timer not active", __func__)); /* * Stop the retransmit timer if all data we sent has been @@ -2970,9 +2977,9 @@ * XXXAO: Handle backoff on multiple retransmits. */ if (acked > 0 && tp->snd_una == tp->snd_nxt) - tcp_timer_activate(TT_RXMIT, 0); + tcp_timer_activate(tp, TT_REXMT, 0); else if (acked > 0) - tcp_timer_activate(TT_RXMIT, tp->snd_rto); + tcp_timer_activate(tp, TT_REXMT, tp->snd_rto); } @@ -2983,14 +2990,16 @@ * Finish this function and validate against all relevant RFCs. */ void -tcp_do_urg(struct tcpcb *tp, struct tcphdr *th, int tlen) +tcp_do_urg(struct tcpcb *tp, struct socket *so, struct tcphdr *th, int *tlen) { + struct mbuf *m = NULL; + int drop_hdrlen = 0; KASSERT(tp != NULL && th != NULL, ("%s: ", __func__)); KASSERT(tlen > 0, ("%s: ", __func__)); - KASSERT(!HAVERCVDFIN(tp), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state), ("%s: ", __func__)); INP_LOCK_ASSERT(tp->t_inpcb); @@ -3003,7 +3012,7 @@ SOCKBUF_LOCK(&so->so_rcv); if (th->th_urp + so->so_rcv.sb_cc > sb_max) { th->th_urp = 0; /* XXX */ - thflags &= ~TH_URG; /* XXX */ + //thflags &= ~TH_URG; /* XXX */ SOCKBUF_UNLOCK(&so->so_rcv); /* XXX */ return; /* XXX */ } @@ -3110,13 +3119,13 @@ #ifdef INET6 if (isipv6) { mss = tcp_v6mssdflt; - maxmtu = tcp_maxmtu6(inc, mtuflags); + maxmtu = tcp_maxmtu6(inc, &mtuflags); min_protoh = sizeof(struct ip6_hdr) + sizeof(struct tcphdr); } else #endif { mss = tcp_mssdflt; - maxmtu = tcp_maxmtu(inc, mtuflags); + maxmtu = tcp_maxmtu(inc, &mtuflags); min_protoh = sizeof(struct tcpiphdr); } thcmtu = tcp_hc_getmtu(inc); /* IPv4 and IPv6 */ @@ -3173,14 +3182,8 @@ if (tcp_do_rfc3390) cwnd = min(4 * tp->snd_mss, max(2 * tp->snd_mss, 4380)); -#ifdef INET6 - else if (isipv6 && in6_localaddr(&inp->in6p_faddr)) - cwnd = tp->snd_mss * ss_fltsz_local; -#endif - else if (in_localaddr(inp->inp_faddr)) - cwnd = tp->snd_mss * ss_fltsz_local; else - cwnd = tp->snd_mss * ss_fltsz; + cwnd = tp->snd_mss; return (cwnd); } @@ -3194,13 +3197,8 @@ struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; u_long bufsize; - u_long maxmtu; - int rtt, mss; - int origoffer = offer; + int rtt, mss = 0; int mtuflags = 0; -#ifdef INET6 - int isipv6 = ((inp->inp_vflag & INP_IPV6) != 0) ? 1 : 0; -#endif struct hc_metrics_lite metrics; /* @@ -3255,7 +3253,7 @@ (void)sbreserve_locked(&so->so_snd, bufsize, so, NULL); } SOCKBUF_UNLOCK(&so->so_snd); - tp->t_maxseg = mss; + //tp->t_maxseg = mss; SOCKBUF_LOCK(&so->so_rcv); if ((so->so_rcv.sb_hiwat == tcp_recvspace) && metrics.rmx_recvpipe) @@ -3276,7 +3274,7 @@ */ if (tp->t_srtt == 0 && (rtt = metrics.rmx_rtt)) { tp->t_srtt = rtt; - tp->t_rttbest = tp->t_srtt + TCP_RTT_SCALE; + //tp->t_rttbest = tp->t_srtt + TCP_RTT_SCALE; tcpstat.tcps_usedrtt++; if (metrics.rmx_rttvar) { tp->t_rttvar = metrics.rmx_rttvar; @@ -3286,9 +3284,9 @@ tp->t_rttvar = tp->t_srtt * TCP_RTTVAR_SCALE / TCP_RTT_SCALE; } - TCPT_RANGESET(tp->t_rxtcur, - ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1, - tp->t_rttmin, TCPTV_REXMTMAX); + //TCPT_RANGESET(tp->t_rxtcur, + // ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1, + // tp->t_rttmin, TCPTV_REXMTMAX); } if (metrics.rmx_ssthresh) { /* ==== //depot/projects/tcp_new/netinet/tcp_output.c#10 (text+ko) ==== @@ -80,6 +80,7 @@ #include +int path_mtu_discovery = 1; /* XXXAO: old style */ int tcp_do_pmtud = 1; SYSCTL_INT(_net_inet_tcp, OID_AUTO, path_mtu_discovery, CTLFLAG_RW, &tcp_do_pmtud, 1, "Enable Path MTU Discovery"); @@ -100,19 +101,21 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_max, CTLFLAG_RW, &tcp_autosndbuf_max, 0, "Max size of automatic send buffer"); -static int -tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags); -static int -tcp_retransmit(struct tcpcb *tp, int *len); -static int -tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, struct tcpopt *opt, - int off, int *olen, int optlen); -static u_int -tcp_rcv_wnd(struct tcpcb *tp, struct socket *so); -static void -tcp_snd_pace(struct tcpcp *tp); -static void -tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags); +static int ip_optlen(struct inpcb *inp); +static int tcp_send(struct tcpcb *tp, struct socket *so, + struct tcpopt *to, u_char *opt, int len, + int optlen, int rwin, int flags); +static int tcp_retransmit(struct tcpcb *tp, struct socket *so, + struct tcpopt *to, u_char *opt, int *len, + int optlen, int rwin, int flags); +static int tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, + u_char *opt, int off, int *olen, int optlen); +static u_int tcp_rcv_wnd(struct tcpcb *tp, struct socket *so); +static int tcp_snd_pace(struct tcpcb *tp, int len); +static void tcp_snd_autoscale(struct tcpcb *tp, struct socket *so, + int swin); +static int tcp_options(struct tcpcb *tp, struct socket *so, + struct tcpopt *to, u_char *opt, int flags); /* * Tcp output routine: figure out what should be sent and send it. @@ -139,13 +142,14 @@ * 7. Send based on flags */ int -tcp_output(struct tcpcb *tp, int reason) +tcp_output(struct tcpcb *tp) { - int off, flags, error, optlen; - tcp_win len, recwin, swin; + int flags, error, optlen = 0; + tcp_win len; + int duna, swnd, cwnd, dlen, inflight, rwin; + int tcp_min_idle = 1; /* XXXAO */ struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; - struct tcphdr ths; struct tcpopt to; u_char opt[TCP_MAXOLEN]; #ifdef TCP_SIGNATURE @@ -159,10 +163,10 @@ KASSERT(tp->t_state < TCPS_TIME_WAIT, ("%s: TCPS_TIME_WAIT invalid", __func__)); - KASSERT(SEQ_GEQ(tp->snd_rxmit, tp->snd_una), - ("%s: snd_rxmit < snd_una", __func__)) - KASSERT(SEQ_LEQ(tp->snd_rxmit, tp->snd_nxt), - ("%s: snd_rxmit > snd_nxt", __func__)) + //KASSERT(SEQ_GEQ(tp->snd_rxmit, tp->snd_una), + // ("%s: snd_rxmit < snd_una", __func__)); + //KASSERT(SEQ_LEQ(tp->snd_rxmit, tp->snd_nxt), + // ("%s: snd_rxmit > snd_nxt", __func__)); /* * Get standard flags. Removal of inappropriate flags for a @@ -251,15 +255,15 @@ */ if (tp->snd_nxt == tp->snd_una && (ticks - tp->t_rcvtime) >= max(tp->t_rxtcur, tcp_min_idle)) { - tp->snd_cwnd = tcp_init_cwnd(tp); + tp->snd_cwnd = tp->snd_mss /*tcp_init_cwnd(tp)*/; } break; case TP_SENDING: break; case TP_LOSSRECOV: case TP_REXMT: - tcp_retransmit(tp, &len); - if (len = 0) + error = tcp_retransmit(tp, so, &to, &opt[0], &len, optlen, rwin, flags); + if (len == 0) return (0); break; case TP_PERSIST: @@ -478,13 +482,21 @@ return (0); send: - tcp_options(tp, &to, flags); - return (tcp_send(tp, &to, flags)); + optlen = tcp_options(tp, so, &to, &opt[0], flags); + error = tcp_send(tp, so, &to, &opt[0], len, optlen, rwin, flags); + + if (!error) + tcp_snd_autoscale(tp, so, swnd); + + return (error); } static int -tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags) +tcp_send(struct tcpcb *tp, struct socket *so, struct tcpopt *to, + u_char *opt, int len, int optlen, int rwin, int flags) { + int off, error; + struct tcphdr ths, *th = &ths; KASSERT((flags & TH_SYN) || (tp->t_flags & TF_SENTSYN), ("%s: retransmitting SYN", __func__)); @@ -552,7 +564,7 @@ /* * Integrate FIN into sequence space. */ - if ((flags & TH_FIN) && !(tp-t_flags & TF_SENTFIN)) { + if ((flags & TH_FIN) && !(tp->t_flags & TF_SENTFIN)) { tp->snd_nxt++; tp->t_flags |= TF_SENTFIN; } @@ -584,7 +596,7 @@ * Clear related flags and disarm the delayed ACK timer. */ tp->t_flags &= ~(TF_ACKNOW | TF_DELACK); - if (SEQ_LT(tp->snd_lastack, tp->rcv_nxt) + if (SEQ_LT(tp->snd_lastack, tp->rcv_nxt)) tp->snd_lastack = tp->rcv_nxt; if (tcp_timer_active(tp, TT_DELACK)) tcp_timer_activate(tp, TT_DELACK, 0); @@ -620,9 +632,9 @@ * Time this transmission if not a retransmission and * not currently timing anything. */ - if (tp->t_rtttime == 0) { - tp->t_rtttime = ticks; - tp->t_rtseq = startseq; + if (tp->snd_rtts == 0) { + tp->snd_rtts = ticks; + tp->snd_rtseq = tp->snd_nxt - len; /* XXXAO */ tcpstat.tcps_segstimed++; } @@ -635,7 +647,7 @@ * of retransmit time. */ if (!tcp_timer_active(tp, TT_REXMT) && - (tp->snd_nxt != tp->snd_una))) { + (tp->snd_nxt != tp->snd_una)) { if (tcp_timer_active(tp, TT_PERSIST)) { tcp_timer_activate(tp, TT_PERSIST, 0); tp->t_rxtshift = 0; @@ -667,7 +679,7 @@ if (!tcp_timer_active(tp, TT_REXMT) && !tcp_timer_active(tp, TT_PERSIST)) tcp_timer_activate(tp, TT_REXMT, tp->t_rxtcur); - tp->snd_cwnd = tp->t_maxseg; + tp->snd_cwnd = tp->snd_mss; error = 0; break; @@ -687,7 +699,7 @@ * immediatly retry with MSS sized segments generated * by this function. */ - if (tso) + if (tp->t_flags & TF_TSO) tp->t_flags &= ~TF_TSO; else tcp_mtudisc(tp->t_inpcb, 0); @@ -724,11 +736,11 @@ * * XXXAO: Account for TSO. */ - if ((tp->t_flags & TF_FORCEDATA) && len == 1) + if ((tp->t_flags & TF_FORCEDATA) && len == 1) { tcpstat.tcps_sndprobe++; - else if (SEQ_LT(tp->snd_nxt, tp->snd_max)) { - tcpstat.tcps_sndrexmitpack++; - tcpstat.tcps_sndrexmitbyte += len; + //} else if (SEQ_LT(tp->snd_nxt, tp->snd_max)) { + // tcpstat.tcps_sndrexmitpack++; + // tcpstat.tcps_sndrexmitbyte += len; } else { tcpstat.tcps_sndpack++; tcpstat.tcps_sndbyte += len; @@ -752,9 +764,11 @@ * from the normal transmit case as the logic is quite a bit different. */ static int -tcp_retransmit(struct tcpcb *tp, int *len) +tcp_retransmit(struct tcpcb *tp, struct socket *so, struct tcpopt *to, + u_char *opt, int *len, int optlen, int rwin, int flags) { - struct tcphdr ths, *th; + int error, off, rlen = 0; + struct tcphdr ths, *th = &ths; /* * Retransmit over the SACK holes. @@ -780,12 +794,12 @@ /* Limited transmit */ if (tp->snd_dupack < 3) - *len = min(len, tp->snd_mss); /* one mss */ + *len = min(*len, tp->snd_mss); /* one mss */ else *len = 0; if (tp->snd_dupack < 3) - return; + return (0); /* * XXXAO: Temporary. @@ -811,10 +825,10 @@ SOCKBUF_LOCK(&so->so_snd); off = min(tp->snd_rxmit - tp->snd_una, so->so_snd.sb_cc); - error = tcp_send_segments(tp, &ths, opt, off, olen, optlen); + error = tcp_send_segments(tp, &ths, opt, off, &rlen, optlen); SOCKBUF_UNLOCK(&so->so_snd); - return; + return (error); } /* @@ -824,17 +838,18 @@ * XXXAO: We may leave some left-overs if we can't drain the whole send buffer. */ static int -tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, struct tcpopt *opt, +tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, u_char *opt, int off, int *olen, int optlen) { - int len, slen, hdrs, hdrlen, linkhdr, optlen, ipoptlen; + int len, slen, hdrs, hdrlen, linkhdr, ipoptlen; int error = 0; + struct mbuf *m; struct tcphdr *th; - struct ip *ip; + struct ip *ip = NULL; struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; #ifdef INET6 - struct ip6_hdr *ip6; + struct ip6_hdr *ip6 = NULL; int isipv6 = (inp->inp_vflag & INP_IPV6) != 0; #endif INP_LOCK_ASSERT(tp->t_inpcb); @@ -905,7 +920,7 @@ * is already reflected in the MSS. */ if (tp->t_flags & TF_TSO) { - if (len > TCP_MAXWIN - (hdrs + linkhdr) { + if (len > TCP_MAXWIN - (hdrs + linkhdr)) { slen = TCP_MAXWIN - (hdrs + linkhdr); slen -= slen % (tp->snd_mss - optlen); } else @@ -975,7 +990,7 @@ * trailing space is available, or we attach an mbuf chain * with references to the mbuf storage in the socket buffer. */ - if (slen <= M_TAILINGSPACE(m)) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 2 12:38:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6BB151065676; Thu, 2 Jul 2009 12:38:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A8841065674 for ; Thu, 2 Jul 2009 12:38:23 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0EB868FC1C for ; Thu, 2 Jul 2009 12:38:23 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62CcLii083542 for ; Thu, 2 Jul 2009 12:38:21 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62CcDi0083534 for perforce@freebsd.org; Thu, 2 Jul 2009 12:38:13 GMT (envelope-from andre@freebsd.org) Date: Thu, 2 Jul 2009 12:38:13 GMT Message-Id: <200907021238.n62CcDi0083534@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165540 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 12:38:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=165540 Change 165540 by andre@andre_flirtbox on 2009/07/02 12:38:12 Integrate. Affected files ... .. //depot/projects/tcp_reass/amd64/amd64/genassym.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/msi.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/tcp_reass/amd64/include/intr_machdep.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pmap.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/vm.h#1 branch .. //depot/projects/tcp_reass/amd64/isa/atpic.c#3 integrate .. //depot/projects/tcp_reass/amd64/isa/clock.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/elf_trampoline.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/if_ate.c#4 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA.hints#4 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/tcp_reass/arm/conf/DB-78XXX#2 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F5XXX#2 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F6XXX#2 integrate .. //depot/projects/tcp_reass/arm/include/vm.h#1 branch .. //depot/projects/tcp_reass/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/files.mv#2 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mv_sata.c#1 branch .. //depot/projects/tcp_reass/arm/mv/mvreg.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/mvwin.h#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/orion.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/crb_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_ata.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.avila#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npe.c#6 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425reg.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425var.h#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosdisk.c#5 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/version#2 integrate .. //depot/projects/tcp_reass/cam/cam_periph.c#5 integrate .. //depot/projects/tcp_reass/cam/cam_periph.h#3 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/tcp_reass/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/tcp_reass/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/tcp_reass/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/tcp_reass/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/tcp_reass/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_misc.c#7 integrate .. //depot/projects/tcp_reass/compat/linux/linux_signal.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_uid16.c#3 integrate .. //depot/projects/tcp_reass/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/tcp_reass/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/tcp_reass/compat/ndis/subr_usbd.c#4 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sockio.c#4 integrate .. //depot/projects/tcp_reass/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/conf/files#7 integrate .. //depot/projects/tcp_reass/conf/files.amd64#6 integrate .. //depot/projects/tcp_reass/conf/files.i386#6 integrate .. //depot/projects/tcp_reass/conf/files.powerpc#6 integrate .. //depot/projects/tcp_reass/conf/kmod.mk#4 integrate .. //depot/projects/tcp_reass/conf/options#6 integrate .. //depot/projects/tcp_reass/contrib/altq/altq/altq_subr.c#4 integrate .. //depot/projects/tcp_reass/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/tcp_reass/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_if.c#5 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/tcp_reass/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/tcp_reass/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/tcp_reass/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/tcp_reass/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/tcp_reass/dev/ae/if_ae.c#2 integrate .. //depot/projects/tcp_reass/dev/age/if_age.c#3 integrate .. //depot/projects/tcp_reass/dev/alc/if_alc.c#2 integrate .. //depot/projects/tcp_reass/dev/ale/if_ale.c#2 integrate .. //depot/projects/tcp_reass/dev/asmc/asmc.c#5 integrate .. //depot/projects/tcp_reass/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.h#6 integrate .. //depot/projects/tcp_reass/dev/ata/ata-dma.c#4 integrate .. //depot/projects/tcp_reass/dev/ata/ata-pci.h#6 integrate .. //depot/projects/tcp_reass/dev/ata/ata-sata.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-acard.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-acerlabs.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-intel.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-nvidia.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-promise.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/if_ath.c#6 integrate .. //depot/projects/tcp_reass/dev/ath/if_athvar.h#5 integrate .. //depot/projects/tcp_reass/dev/bce/if_bce.c#6 integrate .. //depot/projects/tcp_reass/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/tcp_reass/dev/bfe/if_bfe.c#5 integrate .. //depot/projects/tcp_reass/dev/bge/if_bge.c#6 integrate .. //depot/projects/tcp_reass/dev/bm/if_bm.c#2 integrate .. //depot/projects/tcp_reass/dev/cas/if_cas.c#2 integrate .. //depot/projects/tcp_reass/dev/cas/if_casvar.h#2 integrate .. //depot/projects/tcp_reass/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/tcp_reass/dev/cs/if_cs.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_multiq.c#5 delete .. //depot/projects/tcp_reass/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/cxgb_support.c#6 delete .. //depot/projects/tcp_reass/dev/cxgb/sys/mvec.h#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/uipc_mvec.c#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/tcp_reass/dev/dc/if_dc.c#5 integrate .. //depot/projects/tcp_reass/dev/de/if_de.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/drmP.h#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_bufs.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_context.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_drv.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/drm_irq.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/i915_dma.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/i915_drv.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/i915_drv.h#3 integrate .. //depot/projects/tcp_reass/dev/drm/i915_irq.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_cp.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_irq.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/if_em.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/if_em.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/if_igb.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/if_igb.h#2 integrate .. //depot/projects/tcp_reass/dev/ed/if_ed.c#4 integrate .. //depot/projects/tcp_reass/dev/et/if_et.c#2 integrate .. //depot/projects/tcp_reass/dev/ex/if_ex.c#3 integrate .. //depot/projects/tcp_reass/dev/fdc/fdc.c#3 integrate .. //depot/projects/tcp_reass/dev/fe/if_fe.c#3 integrate .. //depot/projects/tcp_reass/dev/firewire/fwdev.c#3 integrate .. //depot/projects/tcp_reass/dev/fxp/if_fxp.c#5 integrate .. //depot/projects/tcp_reass/dev/fxp/if_fxpvar.h#3 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem.c#6 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/tcp_reass/dev/gem/if_gemreg.h#3 integrate .. //depot/projects/tcp_reass/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/tcp_reass/dev/hme/if_hme.c#3 integrate .. //depot/projects/tcp_reass/dev/hptmv/atapi.h#2 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_logging.c#3 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/tcp_reass/dev/ic/ns16550.h#3 integrate .. //depot/projects/tcp_reass/dev/ie/if_ie.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_pccard.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_usb.c#4 integrate .. //depot/projects/tcp_reass/dev/iscsi/initiator/isc_soc.c#5 integrate .. //depot/projects/tcp_reass/dev/ixgb/if_ixgb.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_82598.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_api.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_api.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_common.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_osdep.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_phy.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_phy.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_type.h#3 integrate .. //depot/projects/tcp_reass/dev/jme/if_jme.c#2 integrate .. //depot/projects/tcp_reass/dev/le/lance.c#2 integrate .. //depot/projects/tcp_reass/dev/lge/if_lge.c#4 integrate .. //depot/projects/tcp_reass/dev/malo/if_malo.c#4 integrate .. //depot/projects/tcp_reass/dev/md/md.c#6 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi.c#6 integrate .. //depot/projects/tcp_reass/dev/mge/if_mge.c#3 integrate .. //depot/projects/tcp_reass/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/tcp_reass/dev/msk/if_msk.c#6 integrate .. //depot/projects/tcp_reass/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/tcp_reass/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/tcp_reass/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/tcp_reass/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/tcp_reass/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/tcp_reass/dev/mxge/eth_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/mxge/ethp_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/tcp_reass/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/tcp_reass/dev/mxge/rss_eth_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/mxge/rss_ethp_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/my/if_my.c#3 integrate .. //depot/projects/tcp_reass/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/tcp_reass/dev/nge/if_nge.c#3 integrate .. //depot/projects/tcp_reass/dev/nve/if_nve.c#3 integrate .. //depot/projects/tcp_reass/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/tcp_reass/dev/pci/pci.c#5 integrate .. //depot/projects/tcp_reass/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/tcp_reass/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/tcp_reass/dev/puc/pucdata.c#5 integrate .. //depot/projects/tcp_reass/dev/re/if_re.c#7 integrate .. //depot/projects/tcp_reass/dev/sf/if_sf.c#3 integrate .. //depot/projects/tcp_reass/dev/sis/if_sis.c#3 integrate .. //depot/projects/tcp_reass/dev/sk/if_sk.c#4 integrate .. //depot/projects/tcp_reass/dev/sn/if_sn.c#2 integrate .. //depot/projects/tcp_reass/dev/snc/dp83932.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/midi/midi.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/midi/sequencer.c#4 integrate .. //depot/projects/tcp_reass/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/tcp_reass/dev/speaker/spkr.c#4 integrate .. //depot/projects/tcp_reass/dev/ste/if_ste.c#3 integrate .. //depot/projects/tcp_reass/dev/stge/if_stge.c#5 integrate .. //depot/projects/tcp_reass/dev/ti/if_ti.c#4 integrate .. //depot/projects/tcp_reass/dev/tl/if_tl.c#2 integrate .. //depot/projects/tcp_reass/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/tcp_reass/dev/tx/if_tx.c#3 integrate .. //depot/projects/tcp_reass/dev/txp/if_txp.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_mbus.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/usb_controller.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/input/uhid.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/input/ukbd.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/input/ums.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/misc/udbp.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/misc/ufm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_aue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_axe.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cdce.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_kue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_rue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_udav.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/usb_ethernet.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/u3g.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uark.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ubsa.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ubser.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uchcom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ucycom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ufoma.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uftdi.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ugensa.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uipaq.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ulpt.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umct.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umodem.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umoscom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uplcom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/usb_serial.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uslcom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvisor.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvscom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/storage/umass.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/storage/urio.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/storage/ustorage_fs.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_controller.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_core.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_core.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_debug.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_debug.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_defs.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_dev.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dev.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dynamic.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dynamic.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_error.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_error.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/tcp_reass/dev/usb/usb_generic.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_hid.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_hid.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_hub.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_ioctl.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_lookup.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_lookup.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_mbuf.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_mbuf.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_msctest.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_parse.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_parse.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_process.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_process.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_request.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_request.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_revision.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_transfer.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_transfer.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_util.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_util.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_rum.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_uath.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_upgt.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_ural.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_zyd.c#3 integrate .. //depot/projects/tcp_reass/dev/vge/if_vge.c#4 integrate .. //depot/projects/tcp_reass/dev/vr/if_vr.c#4 integrate .. //depot/projects/tcp_reass/dev/wb/if_wb.c#3 integrate .. //depot/projects/tcp_reass/dev/wi/if_wi.c#5 integrate .. //depot/projects/tcp_reass/dev/wl/if_wl.c#2 integrate .. //depot/projects/tcp_reass/dev/xe/if_xe.c#3 integrate .. //depot/projects/tcp_reass/dev/xl/if_xl.c#3 integrate .. //depot/projects/tcp_reass/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/tcp_reass/fs/coda/coda_vnops.c#5 integrate .. //depot/projects/tcp_reass/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/tcp_reass/fs/nfs/nfs.h#3 integrate .. //depot/projects/tcp_reass/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsclient/nfs_clvnops.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsserver/nfs_nfsdport.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/tcp_reass/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/tcp_reass/fs/nullfs/null_vnops.c#6 integrate .. //depot/projects/tcp_reass/fs/portalfs/portal.h#2 integrate .. //depot/projects/tcp_reass/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/procfs/procfs_map.c#3 integrate .. //depot/projects/tcp_reass/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/tcp_reass/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/tcp_reass/fs/unionfs/union_vnops.c#6 integrate .. //depot/projects/tcp_reass/geom/geom.h#5 integrate .. //depot/projects/tcp_reass/geom/geom_io.c#4 integrate .. //depot/projects/tcp_reass/geom/geom_redboot.c#2 integrate .. //depot/projects/tcp_reass/geom/geom_subr.c#5 integrate .. //depot/projects/tcp_reass/geom/geom_vfs.c#3 integrate .. //depot/projects/tcp_reass/geom/journal/g_journal.c#4 integrate .. //depot/projects/tcp_reass/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_vnode.h#3 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/xfs_vnodeops.c#3 integrate .. //depot/projects/tcp_reass/i386/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/i386/i386/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/i386/i386/genassym.c#3 integrate .. //depot/projects/tcp_reass/i386/i386/intr_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/i386/io_apic.c#3 integrate .. //depot/projects/tcp_reass/i386/i386/local_apic.c#5 integrate .. //depot/projects/tcp_reass/i386/i386/machdep.c#6 integrate .. //depot/projects/tcp_reass/i386/i386/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/i386/i386/msi.c#4 integrate .. //depot/projects/tcp_reass/i386/i386/sys_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/tcp_reass/i386/ibcs2/ibcs2_misc.c#5 integrate .. //depot/projects/tcp_reass/i386/include/intr_machdep.h#4 integrate .. //depot/projects/tcp_reass/i386/include/pmap.h#6 integrate .. //depot/projects/tcp_reass/i386/include/vm.h#1 branch .. //depot/projects/tcp_reass/i386/isa/atpic.c#3 integrate .. //depot/projects/tcp_reass/i386/isa/clock.c#6 integrate .. //depot/projects/tcp_reass/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/tcp_reass/i386/xen/mp_machdep.c#3 integrate .. //depot/projects/tcp_reass/ia64/ia64/elf_machdep.c#5 integrate .. //depot/projects/tcp_reass/ia64/ia64/machdep.c#6 integrate .. //depot/projects/tcp_reass/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/ia64/include/vm.h#1 branch .. //depot/projects/tcp_reass/kern/init_sysent.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_alq.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_cpuset.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_descrip.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_event.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_exec.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_exit.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_fork.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_intr.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_jail.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_linker.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_lockf.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_mbuf.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_poll.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_proc.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_prot.c#4 integrate .. //depot/projects/tcp_reass/kern/kern_resource.c#4 integrate .. //depot/projects/tcp_reass/kern/kern_sig.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_switch.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_thr.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_uuid.c#4 integrate .. //depot/projects/tcp_reass/kern/kern_vimage.c#3 integrate .. //depot/projects/tcp_reass/kern/link_elf.c#6 integrate .. //depot/projects/tcp_reass/kern/link_elf_obj.c#6 integrate .. //depot/projects/tcp_reass/kern/makesyscalls.sh#5 integrate .. //depot/projects/tcp_reass/kern/sched_ule.c#6 integrate .. //depot/projects/tcp_reass/kern/subr_pcpu.c#3 integrate .. //depot/projects/tcp_reass/kern/subr_stack.c#3 integrate .. //depot/projects/tcp_reass/kern/sys_generic.c#5 integrate .. //depot/projects/tcp_reass/kern/sys_process.c#4 integrate .. //depot/projects/tcp_reass/kern/sys_socket.c#4 integrate .. //depot/projects/tcp_reass/kern/syscalls.c#6 integrate .. //depot/projects/tcp_reass/kern/syscalls.master#6 integrate .. //depot/projects/tcp_reass/kern/systrace_args.c#6 integrate .. //depot/projects/tcp_reass/kern/sysv_ipc.c#2 integrate .. //depot/projects/tcp_reass/kern/sysv_msg.c#3 integrate .. //depot/projects/tcp_reass/kern/sysv_sem.c#4 integrate .. //depot/projects/tcp_reass/kern/sysv_shm.c#5 integrate .. //depot/projects/tcp_reass/kern/tty.c#6 integrate .. //depot/projects/tcp_reass/kern/uipc_mbuf.c#7 integrate .. //depot/projects/tcp_reass/kern/uipc_shm.c#7 integrate .. //depot/projects/tcp_reass/kern/uipc_sockbuf.c#5 integrate .. //depot/projects/tcp_reass/kern/uipc_socket.c#6 integrate .. //depot/projects/tcp_reass/kern/uipc_syscalls.c#7 integrate .. //depot/projects/tcp_reass/kern/uipc_usrreq.c#6 integrate .. //depot/projects/tcp_reass/kern/vfs_cache.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_cluster.c#4 integrate .. //depot/projects/tcp_reass/kern/vfs_default.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_export.c#4 integrate .. //depot/projects/tcp_reass/kern/vfs_extattr.c#6 integrate .. //depot/projects/tcp_reass/kern/vfs_lookup.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_mount.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_syscalls.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_vnops.c#6 integrate .. //depot/projects/tcp_reass/kern/vnode_if.src#7 integrate .. //depot/projects/tcp_reass/libkern/iconv.c#3 integrate .. //depot/projects/tcp_reass/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/tcp_reass/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/tcp_reass/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/tcp_reass/mips/include/vm.h#1 branch .. //depot/projects/tcp_reass/mips/malta/yamon.c#2 integrate .. //depot/projects/tcp_reass/mips/mips/busdma_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/mips/mips/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/intr_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/mp_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/pmap.c#4 integrate .. //depot/projects/tcp_reass/modules/acpi/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/tcp_reass/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/tcp_reass/modules/cxgb/cxgb/Makefile#6 integrate .. //depot/projects/tcp_reass/modules/gem/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/igb/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/ixgbe/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/netgraph/Makefile#3 integrate .. //depot/projects/tcp_reass/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/tcp_reass/modules/nfsclient/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/nfsserver/Makefile#4 integrate .. //depot/projects/tcp_reass/net/bpf.c#6 integrate .. //depot/projects/tcp_reass/net/bridgestp.c#4 integrate .. //depot/projects/tcp_reass/net/fddi.h#2 integrate .. //depot/projects/tcp_reass/net/firewire.h#2 integrate .. //depot/projects/tcp_reass/net/flowtable.c#3 integrate .. //depot/projects/tcp_reass/net/flowtable.h#3 integrate .. //depot/projects/tcp_reass/net/if.c#6 integrate .. //depot/projects/tcp_reass/net/if_arc.h#3 integrate .. //depot/projects/tcp_reass/net/if_arcsubr.c#4 integrate .. //depot/projects/tcp_reass/net/if_ef.c#5 integrate .. //depot/projects/tcp_reass/net/if_epair.c#1 branch .. //depot/projects/tcp_reass/net/if_ethersubr.c#6 integrate .. //depot/projects/tcp_reass/net/if_fddisubr.c#5 integrate .. //depot/projects/tcp_reass/net/if_fwsubr.c#4 integrate .. //depot/projects/tcp_reass/net/if_iso88025subr.c#5 integrate .. //depot/projects/tcp_reass/net/if_media.h#4 integrate .. //depot/projects/tcp_reass/net/if_mib.c#4 integrate .. //depot/projects/tcp_reass/net/if_spppsubr.c#3 integrate .. //depot/projects/tcp_reass/net/if_stf.c#4 integrate .. //depot/projects/tcp_reass/net/if_tap.c#5 integrate .. //depot/projects/tcp_reass/net/if_tun.c#4 integrate .. //depot/projects/tcp_reass/net/if_var.h#5 integrate .. //depot/projects/tcp_reass/net/if_vlan.c#4 integrate .. //depot/projects/tcp_reass/net/iso88025.h#3 integrate .. //depot/projects/tcp_reass/net/netisr.c#5 integrate .. //depot/projects/tcp_reass/net/raw_cb.c#5 integrate .. //depot/projects/tcp_reass/net/raw_usrreq.c#4 integrate .. //depot/projects/tcp_reass/net/route.c#6 integrate .. //depot/projects/tcp_reass/net/route.h#5 integrate .. //depot/projects/tcp_reass/net/rtsock.c#6 integrate .. //depot/projects/tcp_reass/net/vnet.h#3 integrate .. //depot/projects/tcp_reass/net80211/ieee80211.c#5 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_ddb.c#4 integrate .. //depot/projects/tcp_reass/netatalk/COPYRIGHT#2 integrate .. //depot/projects/tcp_reass/netatalk/aarp.c#4 integrate .. //depot/projects/tcp_reass/netatalk/at_control.c#3 integrate .. //depot/projects/tcp_reass/netatalk/at_extern.h#3 integrate .. //depot/projects/tcp_reass/netatalk/at_rmx.c#2 integrate .. //depot/projects/tcp_reass/netatalk/at_var.h#2 integrate .. //depot/projects/tcp_reass/netatalk/ddp_input.c#3 integrate .. //depot/projects/tcp_reass/netatalk/ddp_output.c#3 integrate .. //depot/projects/tcp_reass/netatalk/ddp_pcb.c#3 integrate .. //depot/projects/tcp_reass/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/tcp_reass/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/tcp_reass/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_eiface.c#4 integrate .. //depot/projects/tcp_reass/netgraph/ng_ether.c#4 integrate .. //depot/projects/tcp_reass/netgraph/ng_iface.c#5 integrate .. //depot/projects/tcp_reass/netgraph/ng_ksocket.c#5 integrate .. //depot/projects/tcp_reass/netinet/if_ether.c#4 integrate .. //depot/projects/tcp_reass/netinet/igmp.c#4 integrate .. //depot/projects/tcp_reass/netinet/in.c#5 integrate .. //depot/projects/tcp_reass/netinet/in_gif.c#4 integrate .. //depot/projects/tcp_reass/netinet/in_mcast.c#5 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.c#6 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.h#5 integrate .. //depot/projects/tcp_reass/netinet/in_rmx.c#5 integrate .. //depot/projects/tcp_reass/netinet/in_var.h#3 integrate .. //depot/projects/tcp_reass/netinet/ip_carp.c#4 integrate .. //depot/projects/tcp_reass/netinet/ip_divert.c#5 integrate .. //depot/projects/tcp_reass/netinet/ip_dummynet.h#4 integrate .. //depot/projects/tcp_reass/netinet/ip_icmp.c#5 integrate .. //depot/projects/tcp_reass/netinet/ip_input.c#5 integrate .. //depot/projects/tcp_reass/netinet/ip_mroute.c#4 integrate .. //depot/projects/tcp_reass/netinet/ip_mroute.h#3 integrate .. //depot/projects/tcp_reass/netinet/ip_options.c#6 integrate .. //depot/projects/tcp_reass/netinet/ip_output.c#6 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/tcp_reass/netinet/raw_ip.c#5 integrate .. //depot/projects/tcp_reass/netinet/tcp_hostcache.c#4 integrate .. //depot/projects/tcp_reass/netinet/tcp_input.c#9 integrate .. //depot/projects/tcp_reass/netinet/tcp_offload.c#3 integrate .. //depot/projects/tcp_reass/netinet/tcp_usrreq.c#9 integrate .. //depot/projects/tcp_reass/netinet/vinet.h#3 integrate .. //depot/projects/tcp_reass/netinet6/frag6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/icmp6.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/tcp_reass/netinet6/in6_pcb.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6_pcb.h#3 integrate .. //depot/projects/tcp_reass/netinet6/in6_rmx.c#4 integrate .. //depot/projects/tcp_reass/netinet6/in6_src.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6_var.h#3 integrate .. //depot/projects/tcp_reass/netinet6/ip6_input.c#4 integrate .. //depot/projects/tcp_reass/netinet6/ip6_mroute.c#4 integrate .. //depot/projects/tcp_reass/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/tcp_reass/netinet6/ip6_output.c#6 integrate .. //depot/projects/tcp_reass/netinet6/ip6_var.h#5 integrate .. //depot/projects/tcp_reass/netinet6/mld6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/nd6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/tcp_reass/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/tcp_reass/netinet6/raw_ip6.c#6 integrate .. //depot/projects/tcp_reass/netinet6/scope6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/tcp_reass/netinet6/vinet6.h#3 integrate .. //depot/projects/tcp_reass/netipsec/key.c#6 integrate .. //depot/projects/tcp_reass/netipx/README#2 integrate .. //depot/projects/tcp_reass/netipx/ipx.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_if.h#2 integrate .. //depot/projects/tcp_reass/netipx/ipx_input.c#4 integrate .. //depot/projects/tcp_reass/netipx/ipx_outputfl.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_pcb.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_var.h#2 integrate .. //depot/projects/tcp_reass/netipx/spx.h#3 integrate .. //depot/projects/tcp_reass/netipx/spx_reass.c#2 integrate .. //depot/projects/tcp_reass/netipx/spx_usrreq.c#4 integrate .. //depot/projects/tcp_reass/netipx/spx_var.h#3 integrate .. //depot/projects/tcp_reass/nfs/nfs_common.c#4 integrate .. //depot/projects/tcp_reass/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/tcp_reass/nfs/rpcv2.h#2 delete .. //depot/projects/tcp_reass/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/tcp_reass/nfsclient/krpc_subr.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs.h#4 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_krpc.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_lock.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_node.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_socket.c#7 delete .. //depot/projects/tcp_reass/nfsclient/nfs_subs.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vfsops.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfsm_subs.h#4 integrate .. //depot/projects/tcp_reass/nfsclient/nfsmount.h#4 integrate .. //depot/projects/tcp_reass/nfsserver/nfs.h#4 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_serv.c#7 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_srvcache.c#4 delete .. //depot/projects/tcp_reass/nfsserver/nfs_srvkrpc.c#3 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_srvsock.c#6 delete .. //depot/projects/tcp_reass/nfsserver/nfs_srvsubs.c#6 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_syscalls.c#5 delete .. //depot/projects/tcp_reass/nfsserver/nfsrvcache.h#3 integrate .. //depot/projects/tcp_reass/pc98/include/vm.h#1 branch .. //depot/projects/tcp_reass/pc98/pc98/machdep.c#6 integrate .. //depot/projects/tcp_reass/pci/if_rl.c#6 integrate .. //depot/projects/tcp_reass/powerpc/aim/mmu_oea.c#5 integrate .. //depot/projects/tcp_reass/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/tcp_reass/powerpc/booke/pmap.c#5 integrate .. //depot/projects/tcp_reass/powerpc/conf/GENERIC#6 integrate .. //depot/projects/tcp_reass/powerpc/conf/MPC85XX#5 integrate .. //depot/projects/tcp_reass/powerpc/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/tcp_reass/powerpc/include/spr.h#6 integrate .. //depot/projects/tcp_reass/powerpc/include/vm.h#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/tcp_reass/powerpc/powermac/smu.c#1 branch .. //depot/projects/tcp_reass/powerpc/powerpc/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/rpc/clnt_dg.c#4 integrate .. //depot/projects/tcp_reass/rpc/clnt_rc.c#4 integrate .. //depot/projects/tcp_reass/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/tcp_reass/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/tcp_reass/rpc/svc_auth.c#4 integrate .. //depot/projects/tcp_reass/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/tcp_reass/security/audit/audit.c#5 integrate .. //depot/projects/tcp_reass/security/audit/audit.h#4 integrate .. //depot/projects/tcp_reass/security/audit/audit_arg.c#6 integrate .. //depot/projects/tcp_reass/security/audit/audit_bsm.c#5 integrate .. //depot/projects/tcp_reass/security/audit/audit_private.h#4 integrate .. //depot/projects/tcp_reass/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/tcp_reass/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/tcp_reass/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/tcp_reass/sparc64/conf/GENERIC#6 integrate .. //depot/projects/tcp_reass/sparc64/include/pcpu.h#3 integrate .. //depot/projects/tcp_reass/sparc64/include/pmap.h#2 integrate .. //depot/projects/tcp_reass/sparc64/include/vm.h#1 branch .. //depot/projects/tcp_reass/sparc64/sparc64/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/machdep.c#5 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/mp_machdep.c#5 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/tcp_reass/sun4v/conf/GENERIC#5 integrate .. //depot/projects/tcp_reass/sun4v/include/pcpu.h#4 integrate .. //depot/projects/tcp_reass/sun4v/include/vm.h#1 branch .. //depot/projects/tcp_reass/sun4v/sun4v/machdep.c#5 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/mp_machdep.c#4 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/tcp_reass/sys/acl.h#4 integrate .. //depot/projects/tcp_reass/sys/ata.h#4 integrate .. //depot/projects/tcp_reass/sys/conf.h#5 integrate .. //depot/projects/tcp_reass/sys/cpuctl.h#2 integrate .. //depot/projects/tcp_reass/sys/cpuset.h#5 integrate .. //depot/projects/tcp_reass/sys/event.h#5 integrate .. //depot/projects/tcp_reass/sys/fcntl.h#5 integrate .. //depot/projects/tcp_reass/sys/filio.h#2 integrate .. //depot/projects/tcp_reass/sys/iconv.h#2 integrate .. //depot/projects/tcp_reass/sys/ipc.h#3 integrate .. //depot/projects/tcp_reass/sys/jail.h#5 integrate .. //depot/projects/tcp_reass/sys/ktr.h#3 integrate .. //depot/projects/tcp_reass/sys/linker.h#3 integrate .. //depot/projects/tcp_reass/sys/lock.h#6 integrate .. //depot/projects/tcp_reass/sys/lock_profile.h#3 integrate .. //depot/projects/tcp_reass/sys/mbuf.h#7 integrate .. //depot/projects/tcp_reass/sys/mount.h#6 integrate .. //depot/projects/tcp_reass/sys/msg.h#2 integrate .. //depot/projects/tcp_reass/sys/mutex.h#4 integrate .. //depot/projects/tcp_reass/sys/param.h#7 integrate .. //depot/projects/tcp_reass/sys/pcpu.h#5 integrate .. //depot/projects/tcp_reass/sys/priv.h#5 integrate .. //depot/projects/tcp_reass/sys/resource.h#3 integrate .. //depot/projects/tcp_reass/sys/resourcevar.h#4 integrate .. //depot/projects/tcp_reass/sys/sched.h#5 integrate .. //depot/projects/tcp_reass/sys/sem.h#3 integrate .. //depot/projects/tcp_reass/sys/shm.h#4 integrate .. //depot/projects/tcp_reass/sys/socketvar.h#5 integrate .. //depot/projects/tcp_reass/sys/stack.h#3 integrate .. //depot/projects/tcp_reass/sys/sx.h#4 integrate .. //depot/projects/tcp_reass/sys/syscall.h#6 integrate .. //depot/projects/tcp_reass/sys/syscall.mk#6 integrate .. //depot/projects/tcp_reass/sys/sysctl.h#6 integrate .. //depot/projects/tcp_reass/sys/syslimits.h#2 integrate .. //depot/projects/tcp_reass/sys/sysproto.h#6 integrate .. //depot/projects/tcp_reass/sys/tty.h#4 integrate .. //depot/projects/tcp_reass/sys/ucred.h#4 integrate .. //depot/projects/tcp_reass/sys/uio.h#3 integrate .. //depot/projects/tcp_reass/sys/unistd.h#3 integrate .. //depot/projects/tcp_reass/sys/user.h#6 integrate .. //depot/projects/tcp_reass/sys/vimage.h#3 integrate .. //depot/projects/tcp_reass/sys/vnode.h#7 integrate .. //depot/projects/tcp_reass/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_softdep.c#7 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_vnops.c#6 integrate .. //depot/projects/tcp_reass/ufs/ufs/ufs_dirhash.c#5 integrate .. //depot/projects/tcp_reass/ufs/ufs/ufs_vnops.c#6 integrate .. //depot/projects/tcp_reass/vm/default_pager.c#2 integrate .. //depot/projects/tcp_reass/vm/device_pager.c#3 integrate .. //depot/projects/tcp_reass/vm/phys_pager.c#3 integrate .. //depot/projects/tcp_reass/vm/swap_pager.c#5 integrate .. //depot/projects/tcp_reass/vm/vm.h#2 integrate .. //depot/projects/tcp_reass/vm/vm_contig.c#4 integrate .. //depot/projects/tcp_reass/vm/vm_extern.h#3 integrate .. //depot/projects/tcp_reass/vm/vm_fault.c#5 integrate .. //depot/projects/tcp_reass/vm/vm_kern.c#4 integrate .. //depot/projects/tcp_reass/vm/vm_map.c#6 integrate .. //depot/projects/tcp_reass/vm/vm_map.h#5 integrate .. //depot/projects/tcp_reass/vm/vm_mmap.c#6 integrate .. //depot/projects/tcp_reass/vm/vm_object.c#7 integrate .. //depot/projects/tcp_reass/vm/vm_object.h#4 integrate .. //depot/projects/tcp_reass/vm/vm_page.c#6 integrate .. //depot/projects/tcp_reass/vm/vm_pageout.c#5 integrate .. //depot/projects/tcp_reass/vm/vm_pager.c#3 integrate .. //depot/projects/tcp_reass/vm/vm_pager.h#3 integrate .. //depot/projects/tcp_reass/vm/vm_phys.c#3 integrate .. //depot/projects/tcp_reass/vm/vm_phys.h#2 integrate .. //depot/projects/tcp_reass/vm/vnode_pager.c#5 integrate Differences ... ==== //depot/projects/tcp_reass/amd64/amd64/genassym.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/tcp_reass/amd64/amd64/identcpu.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#5 (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/amd64/amd64/intr_machdep.c,v 1.42 2008/12/02 14:19:53 ganbold Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -73,14 +72,12 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct sx intr_table_lock; +static struct mtx intr_table_lock; static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; - -static void intr_assign_next_cpu(struct intsrc *isrc); #endif static int intr_assign_cpu(void *arg, u_char cpu); @@ -114,14 +111,14 @@ { int error; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (error); } @@ -145,16 +142,16 @@ vector); if (error) return (error); - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_handlers = 0; - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (0); } @@ -166,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -178,18 +175,14 @@ error = intr_event_add_handler(isrc->is_event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); intrcnt_updatename(isrc); isrc->is_handlers++; if (isrc->is_handlers == 1) { -#ifdef SMP - if (assign_cpu) - intr_assign_next_cpu(isrc); -#endif isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -203,14 +196,14 @@ isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -284,12 +277,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } void @@ -297,19 +290,20 @@ { struct pic *pic; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } static int intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -317,11 +311,12 @@ */ if (assign_cpu && cpu != NOCPU) { isrc = arg; - sx_xlock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); - sx_xunlock(&intr_table_lock); - } - return (0); + mtx_lock(&intr_table_lock); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + mtx_unlock(&intr_table_lock); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 2 13:14:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 250ED10656A3; Thu, 2 Jul 2009 13:14:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC1ED1065697 for ; Thu, 2 Jul 2009 13:14:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A90AC8FC1E for ; Thu, 2 Jul 2009 13:14:00 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62DE0x5097249 for ; Thu, 2 Jul 2009 13:14:00 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62DE0jB097247 for perforce@freebsd.org; Thu, 2 Jul 2009 13:14:00 GMT (envelope-from syl@FreeBSD.org) Date: Thu, 2 Jul 2009 13:14:00 GMT Message-Id: <200907021314.n62DE0jB097247@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165541 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 13:14:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=165541 Change 165541 by syl@syl_pablo on 2009/07/02 13:13:34 Add a a queue that contains a list of opened endpoints for a device handle. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#15 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#54 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#21 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#15 (text+ko) ==== @@ -200,6 +200,13 @@ uint8_t flags; }; +struct usb_ep_tr { + TAILQ_ENTRY(usb_ep_tr) list; + uint8_t addr; + uint8_t idx; + uint8_t flags; + void *os_priv; +}; /* libusb structures */ typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data); @@ -259,6 +266,7 @@ TAILQ_ENTRY(libusb_device_handle) list; struct libusb_device *dev; void *os_priv; + TAILQ_HEAD(ep_list, usb_ep_tr) ep_list; } libusb_device_handle; typedef struct libusb_device_descriptor { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#54 (text+ko) ==== @@ -381,6 +381,7 @@ memset(hdl, 0, sizeof(*hdl)); pthread_mutex_init(&hdl->lock, NULL); + TAILQ_INIT(&hdl->ep_list); hdl->dev = libusb_ref_device(dev); hdl->claimed_interfaces = 0; hdl->os_priv = dev->os_priv; @@ -460,6 +461,7 @@ { libusb_context *ctx; struct libusb20_device *pdev; + struct usb_ep_tr *eptr; unsigned char dummy = 1; int err; @@ -486,6 +488,13 @@ usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); libusb20_dev_close(pdev); libusb_unref_device(devh->dev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + TAILQ_REMOVE(&devh->ep_list, eptr, list); + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + if (eptr->flags) + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); + free((libusb20_transfer *)eptr->os_priv); + } free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -503,6 +512,13 @@ usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); libusb20_dev_close(pdev); libusb_unref_device(devh->dev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + TAILQ_REMOVE(&devh->ep_list, eptr, list); + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + if (eptr->flags) + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); + free((libusb20_transfer *)eptr->os_priv); + } free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -1004,9 +1020,11 @@ struct usb_transfer *usb_backend; struct usb_transfer *usb_node; struct libusb20_device *pdev; - struct libusb_context *ctx; + struct usb_ep_tr *eptr; struct timespec cur_ts; struct timeval *cur_tv; + libusb_device_handle *devh; + libusb_context *ctx; int maxframe; int buffsize; int num_frame; @@ -1023,6 +1041,7 @@ ctx = xfer->dev_handle->dev->ctx; pdev = xfer->dev_handle->os_priv; + devh = xfer->dev_handle; DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer enter"); @@ -1069,10 +1088,9 @@ out: pthread_mutex_unlock(&ctx->flying_transfers_lock); - usb20_xfer[0] = libusb20_tr_get_pointer(pdev, - ((xfer->endpoint / 0x40) | (xfer->endpoint * 4)) % (16 * 4)); - usb20_xfer[1] = libusb20_tr_get_pointer(pdev, - (((xfer->endpoint / 0x40) | (xfer->endpoint * 4)) % (16 * 4)) + 1); + ep_idx = (xfer->endpoints / 0x40) | (xfer->endpoints *4) % (16 * 4); + usb20_xfer[0] = libusb20_tr_get_pointer(pdev, ep_idx); + usb20_xfer[1] = libusb20_tr_get_pointer(pdev, ep_idx + 1); if (usb20_xfer[0] == NULL) return (LIBUSB_ERROR_OTHER); @@ -1084,18 +1102,31 @@ buffsize = libusb_get_buffsize(pdev, xfer); maxframe = libusb_get_maxframe(pdev, xfer); - ret = libusb20_tr_open(usb20_xfer[0], buffsize, - maxframe, xfer->endpoint); - if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) - ret |= libusb20_tr_open(usb20_xfer[1], buffsize, - maxframe, xfer->endpoint); + ret = 0; + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + if (xfer->endpoint == eptr->addr) + ret++; + } + if (ret == 0) { + eptr = malloc(sizeof(usb_ep_tr)); + eptr.addr = xfer->endpoint; + eptr.idx = ep_idx; + eptr.os_priv = usb20_xfer; + eptr.flags = (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS)?1:0; + TAILQ_INSERT_HEAD(&devh->ep_list, eptr, list); + ret = libusb20_tr_open(usb20_xfer[0], buffsize, + maxframe, xfer->endpoint); + if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) + ret |= libusb20_tr_open(usb20_xfer[1], buffsize, + maxframe, xfer->endpoint); - if (ret != 0) { - pthread_mutex_unlock(&libusb20_lock); - pthread_mutex_lock(&ctx->flying_transfers_lock); - TAILQ_REMOVE(&ctx->flying_transfers, usb_backend, list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); - return (LIBUSB_ERROR_OTHER); + if (ret != 0) { + pthread_mutex_unlock(&libusb20_lock); + pthread_mutex_lock(&ctx->flying_transfers_lock); + TAILQ_REMOVE(&ctx->flying_transfers, usb_backend, list); + pthread_mutex_unlock(&ctx->flying_transfers_lock); + return (LIBUSB_ERROR_OTHER); + } } libusb20_tr_set_priv_sc0(usb20_xfer[0], xfer); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#21 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Thu Jul 2 14:22:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD44F10656CA; Thu, 2 Jul 2009 14:22:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 688A710656C0 for ; Thu, 2 Jul 2009 14:22:15 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 557C48FC1F for ; Thu, 2 Jul 2009 14:22:15 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62EMF2k003338 for ; Thu, 2 Jul 2009 14:22:15 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62EMF6N003336 for perforce@freebsd.org; Thu, 2 Jul 2009 14:22:15 GMT (envelope-from andre@freebsd.org) Date: Thu, 2 Jul 2009 14:22:15 GMT Message-Id: <200907021422.n62EMF6N003336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165543 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 14:22:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=165543 Change 165543 by andre@andre_flirtbox on 2009/07/02 14:21:57 Use TCPSTAT_INC/ADD macro to update tcp statistics. Move empty queue test up and remove chained if test in later tests. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#26 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#26 (text+ko) ==== @@ -295,8 +295,8 @@ */ if (th_seq != tp->rcv_nxt && tp->t_trqmcnt > (sbspace(&so->so_rcv) / 8 * 11)) { - tcpstat.tcps_reass_overflow++; - tcpstat.tcps_rcvmemdrop++; + TCPSTAT_INC(tcps_reass_overflow); + TCPSTAT_INC(tcps_rcvmemdrop); m_freem(m); *tlenp = 0; return (0); @@ -336,11 +336,15 @@ } else thflags &= ~TH_FIN; + /* Check if this is the first segment. */ + if (TAILQ_EMPTY(&tp->t_trq)) + goto insert; + /* Starting point for the following tests. */ tqe = TAILQ_LAST(&tp->t_trq, trq_head); /* Check if this segment directly attaches to the end. */ - if (tqe && tqe->trq_seq + tqe->trq_len == th_seq) { + if (tqe->trq_seq + tqe->trq_len == th_seq) { tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; tp->t_trqmcnt += mcnt; @@ -357,18 +361,14 @@ LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } /* TCP statistics. */ - tcpstat.tcps_rcvoopack++; - tcpstat.tcps_rcvoobyte += *tlenp; - tcpstat.tcps_reass_tail++; + TCPSTAT_INC(tcps_rcvoopack); + TCPSTAT_ADD(tcps_rcvoobyte, *tlenp); + TCPSTAT_INC(tcps_reass_tail); return (0); } /* Check if beyond last block. */ - if (tqe && SEQ_LT(tqe->trq_seq + tqe->trq_len, th_seq)) - goto insert; - - /* Check if this is the first segment. */ - if (TAILQ_EMPTY(&tp->t_trq)) + if (SEQ_LT(tqe->trq_seq + tqe->trq_len, th_seq)) goto insert; /* Check if this is the missing segment. */ @@ -383,8 +383,8 @@ m_adj(m, -i); *tlenp -= i; /* TCP statistics. */ - tcpstat.tcps_rcvpartduppack++; - tcpstat.tcps_rcvpartdupbyte += i; + TCPSTAT_INC(tcps_rcvpartduppack); + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); /* Update accounting. */ mcnt = m_storagesize(m); } @@ -399,9 +399,10 @@ } goto insert; /* No statistics, this segment is in line. */ } + + /* TCP statistics. */ TCPSTAT_INC(tcps_rcvoopack); TCPSTAT_ADD(tcps_rcvoobyte, *tlenp); - /* TCP statistics. */ /* See where it fits. */ TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { @@ -415,10 +416,13 @@ /* Segment is already fully covered. */ if (SEQ_LEQ(tqe->trq_seq, th_seq) && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, th_seq + *tlenp)) { - tcpstat.tcps_rcvduppack++; - tcpstat.tcps_rcvdupbyte += *tlenp; - tcpstat.tcps_reass_covered++; - /* XXXAO: What to SACK report when duplicate? */ + TCPSTAT_INC(tcps_rcvduppack); + TCPSTAT_ADD(tcps_rcvdupbyte, *tlenp); + TCPSTAT_INC(tcps_reass_covered); + /* + * XXXAO: What to SACK report when duplicate? + * See RFC2883: D-SACK (Duplicate SACK) + */ if (LIST_FIRST(&tp->t_trq_sack) != tqe) { LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); @@ -448,7 +452,7 @@ LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } - tcpstat.tcps_reass_replace++; + TCPSTAT_INC(tcps_reass_replace); return (0); } @@ -463,8 +467,8 @@ m_adj(m, -i); *tlenp -= i; /* TCP statistics. */ - tcpstat.tcps_rcvpartduppack++; - tcpstat.tcps_rcvpartdupbyte += i; + TCPSTAT_INC(tcps_rcvpartduppack); + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); /* Update accounting. */ mcnt = m_storagesize(m); } @@ -479,7 +483,7 @@ LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } - tcpstat.tcps_reass_prepend++; + TCPSTAT_INC(tcps_reass_prepend); return (0); } @@ -492,8 +496,8 @@ m_adj(m, i); *tlenp -= i; /* TCP Statistics. */ - tcpstat.tcps_rcvpartduppack++; - tcpstat.tcps_rcvpartdupbyte += i; + TCPSTAT_INC(tcps_rcvpartduppack); + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); } tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; @@ -508,7 +512,7 @@ LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } - tcpstat.tcps_reass_append++; + TCPSTAT_INC(tcps_reass_append); return (0); } } @@ -525,12 +529,12 @@ } else { tqen = uma_zalloc(tcp_reass_zone, (M_NOWAIT|M_ZERO)); if (tqen == NULL) { - tcpstat.tcps_rcvmemdrop++; + TCPSTAT_INC(tcps_rcvmemdrop); m_freem(m); *tlenp = 0; return (0); } - tcpstat.tcps_reass_blocks++; + TCPSTAT_INC(tcps_reass_blocks); } tcp_reass_qsize++; if (tcp_reass_spacetime) { @@ -576,7 +580,7 @@ ("%s: queue empty at present", __func__)); KASSERT((TAILQ_FIRST(&tp->t_trq))->trq_seq == tp->rcv_nxt, ("%s: first block does not match rcv_nxt", __func__)); - tcpstat.tcps_reass_missingseg++; + TCPSTAT_INC(tcps_reass_missingseg); SOCKBUF_LOCK(&so->so_rcv); TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { @@ -634,8 +638,8 @@ /* Appended block may reach beyond next block. */ while (SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq + tqen->trq_len)) { /* TCP Statistics. */ - tcpstat.tcps_rcvpartdupbyte += tqen->trq_len; - tcpstat.tcps_reass_covered++; + TCPSTAT_ADD(tcps_rcvpartdupbyte, tqen->trq_len); + TCPSTAT_INC(tcps_reass_covered); tp->t_trqmcnt -= tqe->trq_mcnt; m_freem(tqen->trq_m); TAILQ_REMOVE(&tp->t_trq, tqen, trq_q); @@ -651,7 +655,7 @@ if ((i = SEQ_DELTA(tqe->trq_seq + tqe->trq_len, tqen->trq_seq))) { m_adj(tqen->trq_m, i); tqen->trq_len -= i; - tcpstat.tcps_rcvpartdupbyte += i; /* Statistics */ + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); /* Statistics */ /* Dispose of empty mbufs. */ if (tcp_reass_spacetime) { tqen->trq_m = m_trimhead(tqen->trq_m); @@ -670,7 +674,7 @@ LIST_REMOVE(tqen, trq_s); uma_zfree(tcp_reass_zone, tqen); tcp_reass_qsize--; - tcpstat.tcps_reass_merge++; + TCPSTAT_INC(tcps_reass_merge); } /* From owner-p4-projects@FreeBSD.ORG Thu Jul 2 14:56:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 410811065679; Thu, 2 Jul 2009 14:56:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA5191065676 for ; Thu, 2 Jul 2009 14:56:53 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D69DD8FC19 for ; Thu, 2 Jul 2009 14:56:53 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62EurMa005911 for ; Thu, 2 Jul 2009 14:56:53 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62Eur6s005909 for perforce@freebsd.org; Thu, 2 Jul 2009 14:56:53 GMT (envelope-from andre@freebsd.org) Date: Thu, 2 Jul 2009 14:56:53 GMT Message-Id: <200907021456.n62Eur6s005909@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165544 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 14:56:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165544 Change 165544 by andre@andre_flirtbox on 2009/07/02 14:56:13 Integrate some more stuff was missing before. There seems to be a problem with integrations after the cvs->svn switchover. Especially when files are moved or overwritten. It seems to be an artefact of the svn->svc->p4 exporter chain (?). Affected files ... .. //depot/projects/tcp_new/modules/Makefile#4 edit .. //depot/projects/tcp_reass/dev/ata/ata-usb.c#3 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbni.c#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbni_isa.c#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbni_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbnireg.h#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbnivar.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudioreg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_if.m#2 integrate .. //depot/projects/tcp_reass/dev/usb/usbdevs#4 integrate .. //depot/projects/tcp_reass/dev/usb/usbhid.h#2 integrate .. //depot/projects/tcp_reass/kern/vfs_subr.c#7 integrate .. //depot/projects/tcp_reass/modules/sbni/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/usb/Makefile#2 integrate .. //depot/projects/tcp_reass/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/tcp_reass/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 integrate .. //depot/projects/tcp_reass/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/tcp_reass/netinet/tcp_reass.c#27 edit Differences ... ==== //depot/projects/tcp_new/modules/Makefile#4 (text+ko) ==== @@ -218,7 +218,6 @@ rc \ rc4 \ re \ - reiserfs \ rl \ rp \ rue \ ==== //depot/projects/tcp_reass/dev/ata/ata-usb.c#3 (text) ==== @@ -2,6 +2,9 @@ * Copyright (c) 2006 - 2008 Søren Schmidt * All rights reserved. * + * Copyright (c) 2006 Hans Petter Selasky + * All rights reserved. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -25,950 +28,1099 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.8 2008/04/10 13:05:05 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.20 2009/06/23 02:19:59 thompsa Exp $"); -#include "opt_ata.h" +#include +#include #include -#include +#include +#include #include #include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "usbdevs.h" +#include +#include + #include -#include -#include -#include -#include +#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include + #include #include +#define ATAUSB_BULK_SIZE (1<<17) + /* Command Block Wrapper */ struct bbb_cbw { - u_int8_t signature[4]; -#define CBWSIGNATURE 0x43425355 + uint8_t signature[4]; +#define CBWSIGNATURE 0x43425355 - u_int8_t tag[4]; - u_int8_t transfer_length[4]; - u_int8_t flags; -#define CBWFLAGS_OUT 0x00 -#define CBWFLAGS_IN 0x80 + uint8_t tag[4]; + uint8_t transfer_length[4]; + uint8_t flags; +#define CBWFLAGS_OUT 0x00 +#define CBWFLAGS_IN 0x80 - u_int8_t lun; - u_int8_t length; -#define CBWCDBLENGTH 16 + uint8_t lun; + uint8_t length; +#define CBWCDBLENGTH 16 - u_int8_t cdb[CBWCDBLENGTH]; -}; + uint8_t cdb[CBWCDBLENGTH]; +} __packed; /* Command Status Wrapper */ struct bbb_csw { - u_int8_t signature[4]; -#define CSWSIGNATURE 0x53425355 + uint8_t signature[4]; +#define CSWSIGNATURE 0x53425355 - u_int8_t tag[4]; - u_int8_t residue[4]; - u_int8_t status; -#define CSWSTATUS_GOOD 0x0 -#define CSWSTATUS_FAILED 0x1 -#define CSWSTATUS_PHASE 0x2 -}; + uint8_t tag[4]; + uint8_t residue[4]; + uint8_t status; +#define CSWSTATUS_GOOD 0x0 +#define CSWSTATUS_FAILED 0x1 +#define CSWSTATUS_PHASE 0x2 +} __packed; /* USB-ATA 'controller' softc */ -struct atausb_softc { - device_t dev; /* base device */ - usbd_interface_handle iface; /* interface */ - int ifaceno; /* interface number */ - u_int8_t bulkin; /* endpoint address's */ - u_int8_t bulkout; - u_int8_t bulkirq; - usbd_pipe_handle bulkin_pipe; /* pipe handle's */ - usbd_pipe_handle bulkout_pipe; - usbd_pipe_handle bulkirq_pipe; - int maxlun; - int timeout; - struct ata_request *ata_request; - usb_device_request_t usb_request; - struct bbb_cbw cbw; - struct bbb_csw csw; +struct atausb2_softc { + struct bbb_cbw cbw; + struct bbb_csw csw; + struct mtx locked_mtx; + + struct ata_channel *locked_ch; + struct ata_channel *restart_ch; + struct ata_request *ata_request; + +#define ATAUSB_T_BBB_RESET1 0 +#define ATAUSB_T_BBB_RESET2 1 +#define ATAUSB_T_BBB_RESET3 2 +#define ATAUSB_T_BBB_COMMAND 3 +#define ATAUSB_T_BBB_DATA_READ 4 +#define ATAUSB_T_BBB_DATA_RD_CS 5 +#define ATAUSB_T_BBB_DATA_WRITE 6 +#define ATAUSB_T_BBB_DATA_WR_CS 7 +#define ATAUSB_T_BBB_STATUS 8 +#define ATAUSB_T_BBB_MAX 9 + +#define ATAUSB_T_MAX ATAUSB_T_BBB_MAX -#define ATAUSB_T_BBB_CBW 0 -#define ATAUSB_T_BBB_DATA 1 -#define ATAUSB_T_BBB_DCLEAR 2 -#define ATAUSB_T_BBB_CSW1 3 -#define ATAUSB_T_BBB_CSW2 4 -#define ATAUSB_T_BBB_SCLEAR 5 -#define ATAUSB_T_BBB_RESET1 6 -#define ATAUSB_T_BBB_RESET2 7 -#define ATAUSB_T_BBB_RESET3 8 -#define ATAUSB_T_MAX 9 - usbd_xfer_handle transfer[ATAUSB_T_MAX]; + struct usb_xfer *xfer[ATAUSB_T_MAX]; + caddr_t ata_data; + device_t dev; - int state; -#define ATAUSB_S_ATTACH 0 -#define ATAUSB_S_IDLE 1 -#define ATAUSB_S_BBB_COMMAND 2 -#define ATAUSB_S_BBB_DATA 3 -#define ATAUSB_S_BBB_DCLEAR 4 -#define ATAUSB_S_BBB_STATUS1 5 -#define ATAUSB_S_BBB_SCLEAR 6 -#define ATAUSB_S_BBB_STATUS2 7 -#define ATAUSB_S_BBB_RESET1 8 -#define ATAUSB_S_BBB_RESET2 9 -#define ATAUSB_S_BBB_RESET3 10 -#define ATAUSB_S_DETACH 11 + uint32_t timeout; + uint32_t ata_donecount; + uint32_t ata_bytecount; - struct mtx locked_mtx; - struct ata_channel *locked_ch; - struct ata_channel *restart_ch; + uint8_t last_xfer_no; + uint8_t usb2_speed; + uint8_t intr_stalled; + uint8_t maxlun; + uint8_t iface_no; + uint8_t status_try; }; -static int atausbdebug = 0; +static const int atausbdebug = 0; + +/* prototypes */ + +static device_probe_t atausb2_probe; +static device_attach_t atausb2_attach; +static device_detach_t atausb2_detach; + +static usb_callback_t atausb2_t_bbb_reset1_callback; +static usb_callback_t atausb2_t_bbb_reset2_callback; +static usb_callback_t atausb2_t_bbb_reset3_callback; +static usb_callback_t atausb2_t_bbb_command_callback; +static usb_callback_t atausb2_t_bbb_data_read_callback; +static usb_callback_t atausb2_t_bbb_data_rd_cs_callback; +static usb_callback_t atausb2_t_bbb_data_write_callback; +static usb_callback_t atausb2_t_bbb_data_wr_cs_callback; +static usb_callback_t atausb2_t_bbb_status_callback; +static usb_callback_t atausb2_tr_error; + +static void atausb2_cancel_request(struct atausb2_softc *sc); +static void atausb2_transfer_start(struct atausb2_softc *sc, uint8_t xfer_no); +static void atausb2_t_bbb_data_clear_stall_callback(struct usb_xfer *xfer, + uint8_t next_xfer, uint8_t stall_xfer, usb_error_t error); +static int ata_usbchannel_begin_transaction(struct ata_request *request); +static int ata_usbchannel_end_transaction(struct ata_request *request); -/* prototypes*/ -static usbd_status atausb_start(struct atausb_softc *sc, usbd_pipe_handle pipe, void *buffer, int buflen, int flags, usbd_xfer_handle xfer); -static usbd_status atausb_ctl_start(struct atausb_softc *sc, usbd_device_handle udev, usb_device_request_t *req, void *buffer, int buflen, int flags, usbd_xfer_handle xfer); -static void atausb_clear_stall(struct atausb_softc *sc, u_int8_t endpt, usbd_pipe_handle pipe, int state, usbd_xfer_handle xfer); -static void atausb_bbb_reset(struct atausb_softc *sc); -static int atausb_bbb_start(struct ata_request *request); -static void atausb_bbb_finish(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status err); -int ata_usbchannel_begin_transaction(struct ata_request *request); -int ata_usbchannel_end_transaction(struct ata_request *request); +static device_probe_t ata_usbchannel_probe; +static device_attach_t ata_usbchannel_attach; +static device_detach_t ata_usbchannel_detach; +static ata_setmode_t ata_usbchannel_setmode; +static ata_locking_t ata_usbchannel_locking; /* * USB frontend part */ -USB_DECLARE_DRIVER(atausb); -DRIVER_MODULE(atausb, uhub, atausb_driver, atausb_devclass, 0, 0); + +struct usb_config atausb2_config[ATAUSB_T_BBB_MAX] = { + + [ATAUSB_T_BBB_RESET1] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset1_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 500, /* 500 milliseconds */ + }, + + [ATAUSB_T_BBB_RESET2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset2_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ + }, + + [ATAUSB_T_BBB_RESET3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset3_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ + }, + + [ATAUSB_T_BBB_COMMAND] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .bufsize = sizeof(struct bbb_cbw), + .flags = {}, + .callback = &atausb2_t_bbb_command_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_DATA_READ] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_data_read_callback, + .timeout = 0, /* overwritten later */ + }, + + [ATAUSB_T_BBB_DATA_RD_CS] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_data_rd_cs_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_DATA_WRITE] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_data_write_callback, + .timeout = 0, /* overwritten later */ + }, + + [ATAUSB_T_BBB_DATA_WR_CS] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_data_wr_cs_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_STATUS] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .bufsize = sizeof(struct bbb_csw), + .flags = {.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_status_callback, + .timeout = 5000, /* ms */ + }, +}; + +static devclass_t atausb2_devclass; + +static device_method_t atausb2_methods[] = { + DEVMETHOD(device_probe, atausb2_probe), + DEVMETHOD(device_attach, atausb2_attach), + DEVMETHOD(device_detach, atausb2_detach), + {0, 0} +}; + +static driver_t atausb2_driver = { + .name = "atausb", + .methods = atausb2_methods, + .size = sizeof(struct atausb2_softc), +}; + +DRIVER_MODULE(atausb, uhub, atausb2_driver, atausb2_devclass, 0, 0); +MODULE_DEPEND(atausb, usb, 1, 1, 1); MODULE_VERSION(atausb, 1); static int -atausb_match(device_t dev) +atausb2_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb_interface_descriptor *id; + + if (uaa->usb_mode != USB_MODE_HOST) { + return (ENXIO); + } + if (uaa->use_generic == 0) { + /* give other drivers a try first */ + return (ENXIO); + } + id = usbd_get_interface_descriptor(uaa->iface); + if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { + return (ENXIO); + } + switch (id->bInterfaceSubClass) { + case UISUBCLASS_QIC157: + case UISUBCLASS_RBC: + case UISUBCLASS_SCSI: + case UISUBCLASS_SFF8020I: + case UISUBCLASS_SFF8070I: + case UISUBCLASS_UFI: + switch (id->bInterfaceProtocol) { + case UIPROTO_MASS_CBI: + case UIPROTO_MASS_CBI_I: + case UIPROTO_MASS_BBB: + case UIPROTO_MASS_BBB_OLD: + return (0); + default: + return (0); + } + break; + default: + return (0); + } +} + +static int +atausb2_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct atausb2_softc *sc = device_get_softc(dev); + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb_interface_descriptor *id; + const char *proto, *subclass; + struct usb_device_request request; + device_t child; + uint16_t i; + uint8_t maxlun; + uint8_t has_intr; + int err; - if (uaa->iface == NULL) - return UMATCH_NONE; + device_set_usb_desc(dev); - id = usbd_get_interface_descriptor(uaa->iface); - if (!id || id->bInterfaceClass != UICLASS_MASS) - return UMATCH_NONE; + sc->dev = dev; + sc->maxlun = 0; + sc->locked_ch = NULL; + sc->restart_ch = NULL; + sc->usb2_speed = usbd_get_speed(uaa->device); + mtx_init(&sc->locked_mtx, "ATAUSB lock", NULL, (MTX_DEF | MTX_RECURSE)); - switch (id->bInterfaceSubClass) { - case UISUBCLASS_QIC157: - case UISUBCLASS_RBC: - case UISUBCLASS_SCSI: - case UISUBCLASS_SFF8020I: - case UISUBCLASS_SFF8070I: - case UISUBCLASS_UFI: + id = usbd_get_interface_descriptor(uaa->iface); switch (id->bInterfaceProtocol) { + case UIPROTO_MASS_BBB: + case UIPROTO_MASS_BBB_OLD: + proto = "Bulk-Only"; + break; case UIPROTO_MASS_CBI: + proto = "CBI"; + break; case UIPROTO_MASS_CBI_I: - case UIPROTO_MASS_BBB: - case UIPROTO_MASS_BBB_OLD: - return UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + proto = "CBI with CCI"; + break; + default: + proto = "Unknown"; + } + + switch (id->bInterfaceSubClass) { + case UISUBCLASS_RBC: + subclass = "RBC"; + break; + case UISUBCLASS_QIC157: + case UISUBCLASS_SFF8020I: + case UISUBCLASS_SFF8070I: + subclass = "ATAPI"; + break; + case UISUBCLASS_SCSI: + subclass = "SCSI"; + break; + case UISUBCLASS_UFI: + subclass = "UFI"; + break; default: - return UMATCH_IFACECLASS_IFACESUBCLASS; + subclass = "Unknown"; + } + + has_intr = (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I); + sc->iface_no = id->bInterfaceNumber; + + device_printf(dev, "using %s over %s\n", subclass, proto); + if (strcmp(proto, "Bulk-Only") || + (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { + goto detach; + } + err = usbd_transfer_setup(uaa->device, &uaa->info.bIfaceIndex, + sc->xfer, atausb2_config, ATAUSB_T_BBB_MAX, sc, + &sc->locked_mtx); + + /* skip reset first time */ + sc->last_xfer_no = ATAUSB_T_BBB_COMMAND; + + if (err) { + device_printf(sc->dev, "could not setup required " + "transfers, %s\n", usbd_errstr(err)); + goto detach; + } + /* get number of devices so we can add matching channels */ + request.bmRequestType = UT_READ_CLASS_INTERFACE; + request.bRequest = 0xfe; /* GET_MAX_LUN; */ + USETW(request.wValue, 0); + USETW(request.wIndex, sc->iface_no); + USETW(request.wLength, sizeof(maxlun)); + err = usbd_do_request(uaa->device, &Giant, &request, &maxlun); + + if (err) { + if (bootverbose) { + device_printf(sc->dev, "get maxlun not supported %s\n", + usbd_errstr(err)); + } + } else { + sc->maxlun = maxlun; + if (bootverbose) { + device_printf(sc->dev, "maxlun=%d\n", sc->maxlun); + } + } + + /* ata channels are children to this USB control device */ + for (i = 0; i <= sc->maxlun; i++) { + if ((child = device_add_child(sc->dev, "ata", + devclass_find_free_unit(ata_devclass, 2))) == NULL) { + device_printf(sc->dev, "failed to add ata child device\n"); + } else + device_set_ivars(child, (void *)(intptr_t)i); } - break; - default: - return UMATCH_IFACECLASS; - } + bus_generic_attach(sc->dev); + + return (0); + +detach: + atausb2_detach(dev); + return (ENXIO); } static int -atausb_attach(device_t dev) +atausb2_detach(device_t dev) { - struct atausb_softc *sc = device_get_softc(dev); - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; - usb_endpoint_descriptor_t *ed; - usbd_device_handle udev; - usb_device_request_t request; - char devinfo[1024], *proto, *subclass; - u_int8_t maxlun; - int err, i; + struct atausb2_softc *sc = device_get_softc(dev); + device_t *children; + int nchildren, i; + + /* teardown our statemachine */ - sc->dev = dev; - usbd_devinfo(uaa->device, 0, devinfo); - device_set_desc_copy(dev, devinfo); - sc->bulkin = sc->bulkout = sc->bulkirq = -1; - sc->bulkin_pipe = sc->bulkout_pipe= sc->bulkirq_pipe = NULL; - sc->iface = uaa->iface; - sc->ifaceno = uaa->ifaceno; - sc->maxlun = 0; - sc->timeout = 5000; - sc->locked_ch = NULL; - sc->restart_ch = NULL; - mtx_init(&sc->locked_mtx, "ATAUSB lock", NULL, MTX_DEF); + usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); - id = usbd_get_interface_descriptor(sc->iface); - switch (id->bInterfaceProtocol) { - case UIPROTO_MASS_BBB: - case UIPROTO_MASS_BBB_OLD: - proto = "Bulk-Only"; - break; - case UIPROTO_MASS_CBI: - proto = "CBI"; - break; - case UIPROTO_MASS_CBI_I: - proto = "CBI with CCI"; - break; - default: - proto = "Unknown"; - } - switch (id->bInterfaceSubClass) { - case UISUBCLASS_RBC: - subclass = "RBC"; - break; - case UISUBCLASS_QIC157: - case UISUBCLASS_SFF8020I: - case UISUBCLASS_SFF8070I: - subclass = "ATAPI"; - break; - case UISUBCLASS_SCSI: - subclass = "SCSI"; - break; - case UISUBCLASS_UFI: - subclass = "UFI"; - break; - default: - subclass = "Unknown"; - } - device_printf(dev, "using %s over %s\n", subclass, proto); - if (strcmp(proto, "Bulk-Only") || - (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) - return ENXIO; + /* detach & delete all children, if any */ - for (i = 0 ; i < id->bNumEndpoints ; i++) { - if (!(ed = usbd_interface2endpoint_descriptor(sc->iface, i))) { - device_printf(sc->dev, "could not read endpoint descriptor\n"); - return ENXIO; + if (!device_get_children(dev, &children, &nchildren)) { + for (i = 0; i < nchildren; i++) { + device_delete_child(dev, children[i]); + } + free(children, M_TEMP); } - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) { - sc->bulkin = ed->bEndpointAddress; + mtx_destroy(&sc->locked_mtx); + return (0); +} + +static void +atausb2_transfer_start(struct atausb2_softc *sc, uint8_t xfer_no) +{ + if (atausbdebug) { + device_printf(sc->dev, "BBB transfer %d\n", xfer_no); } - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT && - (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) { - sc->bulkout = ed->bEndpointAddress; + if (sc->xfer[xfer_no]) { + sc->last_xfer_no = xfer_no; + usbd_transfer_start(sc->xfer[xfer_no]); + } else { + atausb2_cancel_request(sc); } - if (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I && - UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - (ed->bmAttributes & UE_XFERTYPE) == UE_INTERRUPT) { - sc->bulkirq = ed->bEndpointAddress; +} + +static void +atausb2_t_bbb_reset1_callback(struct usb_xfer *xfer, usb_error_t error) +{ + struct atausb2_softc *sc = usbd_xfer_softc(xfer); + struct usb_device_request req; + struct usb_page_cache *pc; + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + atausb2_transfer_start(sc, ATAUSB_T_BBB_RESET2); + return; + + case USB_ST_SETUP: + req.bmRequestType = UT_WRITE_CLASS_INTERFACE; + req.bRequest = 0xff; /* bulk-only reset */ + USETW(req.wValue, 0); + req.wIndex[0] = sc->iface_no; + req.wIndex[1] = 0; + USETW(req.wLength, 0); + + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_in(pc, 0, &req, sizeof(req)); + + usbd_xfer_set_frame_len(xfer, 0, sizeof(req)); + usbd_xfer_set_frames(xfer, 1); + usbd_transfer_submit(xfer); + return; + + default: /* Error */ + atausb2_tr_error(xfer, error); + return; + } - } +} + +static void +atausb2_t_bbb_reset2_callback(struct usb_xfer *xfer, usb_error_t error) +{ + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_RESET3, + ATAUSB_T_BBB_DATA_READ, error); +} - /* check whether we found at least the endpoints we need */ - if (!sc->bulkin || !sc->bulkout) { - device_printf(sc->dev, "needed endpoints not found (%d,%d)\n", - sc->bulkin, sc->bulkout); - atausb_detach(dev); - return ENXIO; - } +static void +atausb2_t_bbb_reset3_callback(struct usb_xfer *xfer, usb_error_t error) +{ + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_COMMAND, + ATAUSB_T_BBB_DATA_WRITE, error); +} - /* open the pipes */ - if (usbd_open_pipe(sc->iface, sc->bulkout, - USBD_EXCLUSIVE_USE, &sc->bulkout_pipe)) { - device_printf(sc->dev, "cannot open bulkout pipe (%d)\n", sc->bulkout); - atausb_detach(dev); - return ENXIO; - } - if (usbd_open_pipe(sc->iface, sc->bulkin, - USBD_EXCLUSIVE_USE, &sc->bulkin_pipe)) { - device_printf(sc->dev, "cannot open bulkin pipe (%d)\n", sc->bulkin); - atausb_detach(dev); - return ENXIO; - } - if (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I) { - if (usbd_open_pipe(sc->iface, sc->bulkirq, - USBD_EXCLUSIVE_USE, &sc->bulkirq_pipe)) { - device_printf(sc->dev, "cannot open bulkirq pipe (%d)\n", - sc->bulkirq); - atausb_detach(dev); - return ENXIO; - } - } - sc->state = ATAUSB_S_ATTACH; +static void +atausb2_t_bbb_data_clear_stall_callback(struct usb_xfer *xfer, + uint8_t next_xfer, uint8_t stall_xfer, usb_error_t error) +{ + struct atausb2_softc *sc = usbd_xfer_softc(xfer); - /* alloc needed number of transfer handles */ - for (i = 0; i < ATAUSB_T_MAX; i++) { - sc->transfer[i] = usbd_alloc_xfer(uaa->device); - if (!sc->transfer[i]) { - device_printf(sc->dev, "out of memory\n"); - atausb_detach(dev); - return ENXIO; - } - } + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: +tr_transferred: + atausb2_transfer_start(sc, next_xfer); + return; - /* driver is ready to process requests here */ - sc->state = ATAUSB_S_IDLE; + case USB_ST_SETUP: + if (usbd_clear_stall_callback(xfer, sc->xfer[stall_xfer])) { + goto tr_transferred; + } + return; - /* get number of devices so we can add matching channels */ - usbd_interface2device_handle(sc->iface, &udev); - request.bmRequestType = UT_READ_CLASS_INTERFACE; - request.bRequest = 0xfe; //GET_MAX_LUN; - USETW(request.wValue, 0); - USETW(request.wIndex, sc->ifaceno); - USETW(request.wLength, sizeof(maxlun)); - switch ((err = usbd_do_request(udev, &request, &maxlun))) { - case USBD_NORMAL_COMPLETION: - if (bootverbose) - device_printf(sc->dev, "maxlun=%d\n", maxlun); - sc->maxlun = maxlun; - break; - default: - if (bootverbose) - device_printf(sc->dev, "get maxlun not supported %s\n", - usbd_errstr(err)); - } + default: /* Error */ + atausb2_tr_error(xfer, error); + return; - /* ata channels are children to this USB control device */ - for (i = 0; i <= sc->maxlun; i++) { - if (!device_add_child(sc->dev, "ata", - devclass_find_free_unit(ata_devclass, 2))) { - device_printf(sc->dev, "failed to attach ata child device\n"); - atausb_detach(dev); - return ENXIO; } - } - bus_generic_attach(sc->dev); - return 0; } -static int -atausb_detach(device_t dev) +static void +atausb2_t_bbb_command_callback(struct usb_xfer *xfer, usb_error_t error) { - struct atausb_softc *sc = device_get_softc(dev); - usbd_device_handle udev; - device_t *children; - int nchildren, i; + struct atausb2_softc *sc = usbd_xfer_softc(xfer); + struct ata_request *request = sc->ata_request; + struct ata_channel *ch; + struct usb_page_cache *pc; + uint32_t tag; + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + atausb2_transfer_start + (sc, ((request->flags & ATA_R_READ) ? ATAUSB_T_BBB_DATA_READ : + (request->flags & ATA_R_WRITE) ? ATAUSB_T_BBB_DATA_WRITE : + ATAUSB_T_BBB_STATUS)); + return; - /* signal that device is going away */ - sc->state = ATAUSB_S_DETACH; + case USB_ST_SETUP: - /* abort all the pipes in case there are active transfers */ - usbd_interface2device_handle(sc->iface, &udev); - usbd_abort_default_pipe(udev); - if (sc->bulkout_pipe) - usbd_abort_pipe(sc->bulkout_pipe); - if (sc->bulkin_pipe) - usbd_abort_pipe(sc->bulkin_pipe); - if (sc->bulkirq_pipe) - usbd_abort_pipe(sc->bulkirq_pipe); + sc->status_try = 0; - /* detach & delete all children */ - if (!device_get_children(dev, &children, &nchildren)) { - for (i = 0; i < nchildren; i++) - device_delete_child(dev, children[i]); - free(children, M_TEMP); - } + if (request) { + ch = device_get_softc(request->parent); - /* free the transfers */ - for (i = 0; i < ATAUSB_T_MAX; i++) - if (sc->transfer[i]) - usbd_free_xfer(sc->transfer[i]); + sc->timeout = (request->timeout * 1000) + 5000; - /* remove all the pipes */ - if (sc->bulkout_pipe) - usbd_close_pipe(sc->bulkout_pipe); - if (sc->bulkin_pipe) - usbd_close_pipe(sc->bulkin_pipe); - if (sc->bulkirq_pipe) - usbd_close_pipe(sc->bulkirq_pipe); + tag = UGETDW(sc->cbw.tag) + 1; - mtx_destroy(&sc->locked_mtx); - return 0; -} + USETDW(sc->cbw.signature, CBWSIGNATURE); + USETDW(sc->cbw.tag, tag); + USETDW(sc->cbw.transfer_length, request->bytecount); + sc->cbw.flags = (request->flags & ATA_R_READ) ? CBWFLAGS_IN : CBWFLAGS_OUT; + sc->cbw.lun = ch->unit; + sc->cbw.length = 16; + bzero(sc->cbw.cdb, 16); + bcopy(request->u.atapi.ccb, sc->cbw.cdb, 12); /* XXX SOS */ + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_in(pc, 0, &sc->cbw, sizeof(sc->cbw)); -/* - * Generic USB transfer routines - */ -static usbd_status -atausb_start(struct atausb_softc *sc, usbd_pipe_handle pipe, - void *buffer, int buflen, int flags, usbd_xfer_handle xfer) -{ - usbd_status err; + usbd_xfer_set_frame_len(xfer, 0, sizeof(sc->cbw)); + usbd_transfer_submit(xfer); + } + return; - if (sc->state == ATAUSB_S_DETACH) - return USBD_NOT_STARTED; + default: /* Error */ + atausb2_tr_error(xfer, error); + return; - usbd_setup_xfer(xfer, pipe, (void *)sc, buffer, buflen, flags, - sc->timeout, atausb_bbb_finish); - err = usbd_transfer(xfer); - if (err && (err != USBD_IN_PROGRESS)) { - if (atausbdebug) - device_printf(sc->dev, "failed to setup transfer, %s\n", - usbd_errstr(err)); - return err; - } - return USBD_NORMAL_COMPLETION; + } } -static usbd_status -atausb_ctl_start(struct atausb_softc *sc, usbd_device_handle udev, - usb_device_request_t *req, void *buffer, int buflen, int flags, - usbd_xfer_handle xfer) +static void +atausb2_t_bbb_data_read_callback(struct usb_xfer *xfer, usb_error_t error) { - usbd_status err; + struct atausb2_softc *sc = usbd_xfer_softc(xfer); + uint32_t max_bulk = usbd_xfer_max_len(xfer); + struct usb_page_cache *pc; + int actlen, sumlen; + + usbd_xfer_status(xfer, &actlen, &sumlen, NULL, NULL); + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_out(pc, 0, sc->ata_data, actlen); + + sc->ata_bytecount -= actlen; + sc->ata_data += actlen; + sc->ata_donecount += actlen; + + if (actlen < sumlen) { + /* short transfer */ + sc->ata_bytecount = 0; + } + case USB_ST_SETUP: + + if (atausbdebug > 1) { + device_printf(sc->dev, "%s: max_bulk=%d, ata_bytecount=%d\n", + __FUNCTION__, max_bulk, sc->ata_bytecount); + } + if (sc->ata_bytecount == 0) { + atausb2_transfer_start(sc, ATAUSB_T_BBB_STATUS); + return; + } + if (max_bulk > sc->ata_bytecount) { + max_bulk = sc->ata_bytecount; + } + usbd_xfer_set_timeout(xfer, sc->timeout); + usbd_xfer_set_frame_len(xfer, 0, max_bulk); + + usbd_transfer_submit(xfer); + return; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 2 16:17:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1139E1065672; Thu, 2 Jul 2009 16:17:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C58F2106566C for ; Thu, 2 Jul 2009 16:17:21 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3DC28FC13 for ; Thu, 2 Jul 2009 16:17:21 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62GHLQ0013502 for ; Thu, 2 Jul 2009 16:17:21 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62GHLIh013500 for perforce@freebsd.org; Thu, 2 Jul 2009 16:17:21 GMT (envelope-from truncs@FreeBSD.org) Date: Thu, 2 Jul 2009 16:17:21 GMT Message-Id: <200907021617.n62GHLIh013500@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165545 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 16:17:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=165545 Change 165545 by truncs@aditya on 2009/07/02 16:17:10 ext2_hashalloc is also used to find both a free inode and a free block. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#23 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#23 (text+ko) ==== @@ -57,7 +57,7 @@ static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); static struct ext2_gd * get_group_desc2(struct m_ext2fs *, int, struct buf **); -static ino_t ext2_hashalloc(struct inode *, int, long, int, +static u_long ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, int)); static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t, int); @@ -395,7 +395,7 @@ cg = ino_to_cg(fs, pip->i_number); ipref = cg * fs->e2fs->e2fs_ipg + 1; uprintf("b\n"); - ino = ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); + ino = (ino_t)ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); uprintf("c\n"); if (ino == 0) @@ -621,7 +621,7 @@ * 2) quadradically rehash on the cylinder group number. * 3) brute force search for a free block. */ -static ino_t +static u_long ext2_hashalloc(struct inode *ip, int cg, long pref, int size, daddr_t (*allocator)(struct inode *, int, daddr_t, int)) { From owner-p4-projects@FreeBSD.ORG Thu Jul 2 16:46:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 861C71065677; Thu, 2 Jul 2009 16:46:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 464441065672 for ; Thu, 2 Jul 2009 16:46:54 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1A7A78FC15 for ; Thu, 2 Jul 2009 16:46:54 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62GkrH0015661 for ; Thu, 2 Jul 2009 16:46:53 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62GkrU7015659 for perforce@freebsd.org; Thu, 2 Jul 2009 16:46:53 GMT (envelope-from truncs@FreeBSD.org) Date: Thu, 2 Jul 2009 16:46:53 GMT Message-Id: <200907021646.n62GkrU7015659@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165547 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 16:46:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165547 Change 165547 by truncs@aditya on 2009/07/02 16:46:32 1) Remove #ifdef 2) get group descriptors using get_group_desc2() Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#24 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#24 (text+ko) ==== @@ -51,9 +51,7 @@ #include #include -#ifdef notyet static daddr_t ext2_alloccg(struct inode *, int, daddr_t, int); -#endif static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); static struct ext2_gd * get_group_desc2(struct m_ext2fs *, int, struct buf **); @@ -61,9 +59,7 @@ daddr_t (*)(struct inode *, int, daddr_t, int)); static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t, int); -#ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); -#endif /* * Linux calls this functions at the following locations: @@ -670,7 +666,6 @@ * Check to see if a block of the appropriate size is available, * and if it is, allocate it. */ -#ifdef notyet static daddr_t ext2_alloccg(struct inode *ip, int cg, daddr_t bpref, int size) { @@ -682,16 +677,14 @@ int error, bno, start, end, loc; fs = ip->i_e2fs; - gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + gdp = get_group_desc2(fs, cg, NULL); if (gdp->ext2bgd_nbfree == 0) return (0); - lock_super(DEVVP(ip)); error = bread(ip->i_devvp, fsbtodb(fs, gdp->ext2bgd_b_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); - unlock_super(DEVVP(ip)); return (0); } bbp = (char *)bp->b_data; @@ -748,12 +741,10 @@ setbit(bbp, (daddr_t)bno); fs->e2fs->e2fs_fbcount--; gdp->ext2bgd_nbfree--; - mark_buffer_dirty2(bp); fs->e2fs_fmod = 1; - unlock_super(DEVVP(ip)); + bdwrite(bp); return (cg * fs->e2fs->e2fs_fpg + fs->e2fs->e2fs_first_dblock + bno); } -#endif /* * Determine whether an inode can be allocated. * @@ -842,7 +833,6 @@ * It is a panic if a request is made to find a block if none are * available. */ -#ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *fs, char *bbp, daddr_t bpref) { @@ -881,7 +871,6 @@ panic("ext2fs_mapsearch: block not in map"); /* NOTREACHED */ } -#endif /* * This function is taken from ext2_linux_ialloc.c and is under GPL. NetBSD has e2fs_gd which contains all the group desc and is From owner-p4-projects@FreeBSD.ORG Thu Jul 2 18:36:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 312F61065675; Thu, 2 Jul 2009 18:36:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4A231065673 for ; Thu, 2 Jul 2009 18:36:55 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D28418FC18 for ; Thu, 2 Jul 2009 18:36:55 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62IatR5035610 for ; Thu, 2 Jul 2009 18:36:55 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62Ias2U035608 for perforce@freebsd.org; Thu, 2 Jul 2009 18:36:54 GMT (envelope-from jhb@freebsd.org) Date: Thu, 2 Jul 2009 18:36:54 GMT Message-Id: <200907021836.n62Ias2U035608@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165552 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:36:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165552 Change 165552 by jhb@jhb_jhbbsd on 2009/07/02 18:35:54 IFC @165549 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#28 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#34 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#36 integrate .. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#25 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#43 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#13 integrate .. //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#10 integrate .. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#21 integrate .. //depot/projects/smpng/sys/amd64/include/vm.h#1 branch .. //depot/projects/smpng/sys/amd64/isa/atpic.c#19 integrate .. //depot/projects/smpng/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/smpng/sys/arm/at91/if_ate.c#23 integrate .. //depot/projects/smpng/sys/arm/include/vm.h#1 branch .. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#6 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#21 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#15 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#23 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#61 integrate .. //depot/projects/smpng/sys/compat/linux/linux_signal.c#26 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_usbd.c#15 integrate .. //depot/projects/smpng/sys/conf/NOTES#174 integrate .. //depot/projects/smpng/sys/conf/files#247 integrate .. //depot/projects/smpng/sys/conf/options#173 integrate .. //depot/projects/smpng/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/smpng/sys/dev/ae/if_ae.c#4 integrate .. //depot/projects/smpng/sys/dev/age/if_age.c#8 integrate .. //depot/projects/smpng/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/smpng/sys/dev/ale/if_ale.c#4 integrate .. //depot/projects/smpng/sys/dev/asmc/asmc.c#7 integrate .. //depot/projects/smpng/sys/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.c#10 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#7 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_internal.h#9 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#6 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#5 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#8 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#79 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#48 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#30 integrate .. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#32 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#108 integrate .. //depot/projects/smpng/sys/dev/bm/if_bm.c#6 integrate .. //depot/projects/smpng/sys/dev/cas/if_cas.c#4 integrate .. //depot/projects/smpng/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/smpng/sys/dev/cs/if_cs.c#20 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#16 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#21 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#10 integrate .. //depot/projects/smpng/sys/dev/dc/if_dc.c#23 integrate .. //depot/projects/smpng/sys/dev/de/if_de.c#8 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.c#10 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#11 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed.c#45 integrate .. //depot/projects/smpng/sys/dev/et/if_et.c#2 integrate .. //depot/projects/smpng/sys/dev/ex/if_ex.c#23 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe.c#27 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#93 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem.c#40 integrate .. //depot/projects/smpng/sys/dev/hme/if_hme.c#36 integrate .. //depot/projects/smpng/sys/dev/ie/if_ie.c#18 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#62 integrate .. //depot/projects/smpng/sys/dev/ixgb/if_ixgb.c#22 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/smpng/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/smpng/sys/dev/le/lance.c#5 integrate .. //depot/projects/smpng/sys/dev/lge/if_lge.c#41 integrate .. //depot/projects/smpng/sys/dev/malo/if_malo.c#5 integrate .. //depot/projects/smpng/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#30 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#19 integrate .. //depot/projects/smpng/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/smpng/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/smpng/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/smpng/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/smpng/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#32 integrate .. //depot/projects/smpng/sys/dev/my/if_my.c#31 integrate .. //depot/projects/smpng/sys/dev/nfe/if_nfe.c#18 integrate .. //depot/projects/smpng/sys/dev/nge/if_nge.c#57 integrate .. //depot/projects/smpng/sys/dev/nve/if_nve.c#20 integrate .. //depot/projects/smpng/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/smpng/sys/dev/pcn/if_pcn.c#4 integrate .. //depot/projects/smpng/sys/dev/pdq/pdq_ifsubr.c#15 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#76 integrate .. //depot/projects/smpng/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/smpng/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/smpng/sys/dev/sk/if_sk.c#17 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn.c#29 integrate .. //depot/projects/smpng/sys/dev/snc/dp83932.c#19 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#30 integrate .. //depot/projects/smpng/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/smpng/sys/dev/stge/if_stge.c#11 integrate .. //depot/projects/smpng/sys/dev/ti/if_ti.c#13 integrate .. //depot/projects/smpng/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec.c#6 integrate .. //depot/projects/smpng/sys/dev/tx/if_tx.c#32 integrate .. //depot/projects/smpng/sys/dev/txp/if_txp.c#40 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/controller/avr32dci.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_aue.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_axe.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_kue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_rue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_udav.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/storage/umass.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_controller.h#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_if.m#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#141 integrate .. //depot/projects/smpng/sys/dev/usb/usbdi.h#26 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#11 integrate .. //depot/projects/smpng/sys/dev/vge/if_vge.c#26 integrate .. //depot/projects/smpng/sys/dev/vr/if_vr.c#6 integrate .. //depot/projects/smpng/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#95 integrate .. //depot/projects/smpng/sys/dev/wl/if_wl.c#32 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe.c#29 integrate .. //depot/projects/smpng/sys/dev/xl/if_xl.c#5 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_lookup.c#5 integrate .. //depot/projects/smpng/sys/geom/geom.h#56 integrate .. //depot/projects/smpng/sys/geom/geom_io.c#51 integrate .. //depot/projects/smpng/sys/geom/geom_subr.c#61 integrate .. //depot/projects/smpng/sys/geom/geom_vfs.c#9 integrate .. //depot/projects/smpng/sys/geom/journal/g_journal.c#14 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#40 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#37 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#27 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#65 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#13 integrate .. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#56 integrate .. //depot/projects/smpng/sys/i386/include/intr_machdep.h#23 integrate .. //depot/projects/smpng/sys/i386/include/vm.h#1 branch .. //depot/projects/smpng/sys/i386/isa/atpic.c#22 integrate .. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#51 integrate .. //depot/projects/smpng/sys/ia64/include/vm.h#1 branch .. //depot/projects/smpng/sys/kern/kern_descrip.c#129 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#59 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#120 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#142 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#123 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#100 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#103 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_prot.c#113 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#149 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#51 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#60 integrate .. //depot/projects/smpng/sys/kern/sys_process.c#66 integrate .. //depot/projects/smpng/sys/kern/sys_socket.c#33 integrate .. //depot/projects/smpng/sys/kern/tty.c#96 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#120 integrate .. //depot/projects/smpng/sys/kern/vfs_cluster.c#51 integrate .. //depot/projects/smpng/sys/kern/vfs_export.c#35 integrate .. //depot/projects/smpng/sys/kern/vfs_extattr.c#10 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#61 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#96 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#170 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#150 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#98 integrate .. //depot/projects/smpng/sys/mips/adm5120/if_admsw.c#5 integrate .. //depot/projects/smpng/sys/mips/include/vm.h#1 branch .. //depot/projects/smpng/sys/mips/malta/yamon.c#3 integrate .. //depot/projects/smpng/sys/mips/mips/busdma_machdep.c#5 integrate .. //depot/projects/smpng/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/smpng/sys/mips/mips/intr_machdep.c#4 integrate .. //depot/projects/smpng/sys/modules/nfsclient/Makefile#16 integrate .. //depot/projects/smpng/sys/modules/nfsserver/Makefile#11 integrate .. //depot/projects/smpng/sys/net/if.c#124 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#43 integrate .. //depot/projects/smpng/sys/net/if_stf.c#50 integrate .. //depot/projects/smpng/sys/net/if_tun.c#65 integrate .. //depot/projects/smpng/sys/net/if_var.h#68 integrate .. //depot/projects/smpng/sys/net/netisr.c#19 integrate .. //depot/projects/smpng/sys/net/vnet.h#13 integrate .. //depot/projects/smpng/sys/netgraph/ng_eiface.c#35 integrate .. //depot/projects/smpng/sys/netgraph/ng_ether.c#44 integrate .. //depot/projects/smpng/sys/netgraph/ng_iface.c#37 integrate .. //depot/projects/smpng/sys/netgraph/ng_ksocket.c#35 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#68 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#4 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#61 integrate .. //depot/projects/smpng/sys/netinet6/in6_var.h#25 integrate .. //depot/projects/smpng/sys/nfs/nfs_common.c#16 integrate .. //depot/projects/smpng/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/smpng/sys/nfs/rpcv2.h#6 delete .. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#44 integrate .. //depot/projects/smpng/sys/nfsclient/krpc_subr.c#18 integrate .. //depot/projects/smpng/sys/nfsclient/nfs.h#38 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#61 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#25 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_krpc.c#6 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#39 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_nfsiod.c#22 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_node.c#33 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#62 delete .. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#40 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#74 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#91 integrate .. //depot/projects/smpng/sys/nfsclient/nfsm_subs.h#12 integrate .. //depot/projects/smpng/sys/nfsclient/nfsmount.h#17 integrate .. //depot/projects/smpng/sys/nfsserver/nfs.h#27 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_fha.c#4 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#66 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvcache.c#17 delete .. //depot/projects/smpng/sys/nfsserver/nfs_srvkrpc.c#10 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#41 delete .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#51 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_syscalls.c#44 delete .. //depot/projects/smpng/sys/nfsserver/nfsrvcache.h#8 integrate .. //depot/projects/smpng/sys/pc98/include/vm.h#1 branch .. //depot/projects/smpng/sys/pci/if_rl.c#78 integrate .. //depot/projects/smpng/sys/powerpc/include/vm.h#1 branch .. //depot/projects/smpng/sys/rpc/clnt_dg.c#6 integrate .. //depot/projects/smpng/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/smpng/sys/security/audit/audit.c#19 integrate .. //depot/projects/smpng/sys/security/audit/audit.h#12 integrate .. //depot/projects/smpng/sys/security/audit/audit_arg.c#17 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm.c#17 integrate .. //depot/projects/smpng/sys/security/audit/audit_private.h#15 integrate .. //depot/projects/smpng/sys/security/audit/audit_syscalls.c#23 integrate .. //depot/projects/smpng/sys/sparc64/include/pmap.h#33 integrate .. //depot/projects/smpng/sys/sparc64/include/vm.h#1 branch .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#97 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#80 integrate .. //depot/projects/smpng/sys/sun4v/include/vm.h#1 branch .. //depot/projects/smpng/sys/sun4v/sun4v/pmap.c#16 integrate .. //depot/projects/smpng/sys/sys/cpuctl.h#2 integrate .. //depot/projects/smpng/sys/sys/event.h#26 integrate .. //depot/projects/smpng/sys/sys/filio.h#5 integrate .. //depot/projects/smpng/sys/sys/mount.h#77 integrate .. //depot/projects/smpng/sys/sys/param.h#151 integrate .. //depot/projects/smpng/sys/sys/priv.h#23 integrate .. //depot/projects/smpng/sys/sys/vnode.h#103 integrate .. //depot/projects/smpng/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#75 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#66 integrate .. //depot/projects/smpng/sys/vm/vm.h#13 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#50 integrate .. //depot/projects/smpng/sys/vm/vm_extern.h#36 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#111 integrate .. //depot/projects/smpng/sys/vm/vm_phys.c#7 integrate .. //depot/projects/smpng/sys/vm/vm_phys.h#3 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#28 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#34 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#36 (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/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); ==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#25 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.34 2009/07/01 17:20:07 jhb Exp $"); #include "opt_isa.h" @@ -120,7 +120,7 @@ static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,7 +322,7 @@ mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; @@ -342,7 +342,7 @@ old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once @@ -350,6 +350,9 @@ */ intpin->io_cpu = apic_id; intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (intpin->io_vector == 0) + return (ENOSPC); + if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -364,6 +367,7 @@ */ if (old_vector) apic_free_vector(old_id, old_vector, intpin->io_irq); + return (0); } static void @@ -372,7 +376,9 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +502,7 @@ io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +736,7 @@ if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#43 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -139,7 +139,7 @@ }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { ==== //depot/projects/smpng/sys/amd64/amd64/msi.c#13 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.13 2009/07/01 17:20:07 jhb Exp $"); #include #include @@ -113,6 +113,8 @@ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,32 +197,52 @@ return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* @@ -228,6 +250,9 @@ * to prevent races where we could miss an interrupt. */ apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + return (0); } void @@ -268,7 +293,7 @@ msi_last_irq++; mtx_unlock(&msi_lock); - msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); msi->msi_intsrc.is_pic = &msi_pic; msi->msi_irq = irq; intr_register_source(&msi->msi_intsrc); @@ -276,21 +301,22 @@ } /* - * Try to allocate 'count' interrupt sources with contiguous IDT values. If - * we allocate any new sources, then their IRQ values will be at the end of - * the irqs[] array, with *newirq being the index of the first new IRQ value - * and *newcount being the number of new IRQ values added. + * Try to allocate 'count' interrupt sources with contiguous IDT values. */ int msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; u_int cpu; - int cnt, i, vector; + int cnt, i, *mirqs, vector; if (!msi_enabled) return (ENXIO); + if (count > 1) + mirqs = malloc(count * sizeof(*mirqs), M_MSI, M_WAITOK); + else + mirqs = NULL; again: mtx_lock(&msi_lock); @@ -317,6 +343,7 @@ /* If we would exceed the max, give up. */ if (i + (count - cnt) > FIRST_MSI_INT + NUM_MSI_INTS) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENXIO); } mtx_unlock(&msi_lock); @@ -337,6 +364,7 @@ vector = apic_alloc_vectors(cpu, irqs, count, maxcount); if (vector == 0) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENOSPC); } @@ -356,6 +384,10 @@ ("dead MSI has handlers")); } fsrc->msi_count = count; + fsrc->msi_maxcount = maxcount; + if (count > 1) + bcopy(irqs, mirqs, count * sizeof(*mirqs)); + fsrc->msi_irqs = mirqs; mtx_unlock(&msi_lock); return (0); @@ -413,6 +445,9 @@ apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; + first->msi_maxcount = 0; + free(first->msi_irqs, M_MSI); + first->msi_irqs = NULL; mtx_unlock(&msi_lock); return (0); @@ -498,15 +533,23 @@ /* Allocate an IDT vector. */ cpu = intr_next_cpu(); vector = apic_alloc_vector(cpu, i); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } if (bootverbose) printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", msi->msi_irq, cpu, vector); - + /* Setup source. */ msi->msi_cpu = cpu; msi->msi_dev = dev; + msi->msi_first = msi; msi->msi_vector = vector; msi->msi_msix = 1; + msi->msi_count = 1; + msi->msi_maxcount = 1; + msi->msi_irqs = NULL; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); mtx_unlock(&msi_lock); @@ -536,10 +579,13 @@ KASSERT(msi->msi_dev != NULL, ("unowned message")); /* Clear out the message. */ + msi->msi_first = NULL; msi->msi_dev = NULL; apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; + msi->msi_count = 0; + msi->msi_maxcount = 0; mtx_unlock(&msi_lock); return (0); ==== //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.91 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.93 2009/06/27 15:03:50 rwatson Exp $"); #include #include @@ -87,7 +87,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); if (uap_space == UIO_USERSPACE) { error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args)); if (error != 0) @@ -170,7 +170,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); switch (uap->op) { case I386_GET_IOPERM: case I386_SET_IOPERM: ==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#21 (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/amd64/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.24 2009/07/01 17:20:07 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -93,7 +93,7 @@ void (*pic_resume)(struct pic *); int (*pic_config_intr)(struct intsrc *, enum intr_trigger, enum intr_polarity); - void (*pic_assign_cpu)(struct intsrc *, u_int apic_id); + int (*pic_assign_cpu)(struct intsrc *, u_int apic_id); STAILQ_ENTRY(pic) pics; }; ==== //depot/projects/smpng/sys/amd64/isa/atpic.c#19 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.24 2008/03/20 21:53:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.25 2009/07/01 17:20:07 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -143,7 +143,7 @@ static int atpic_source_pending(struct intsrc *isrc); static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void i8259_init(struct atpic *pic, int slave); static struct atpic atpics[] = { @@ -357,7 +357,7 @@ return (0); } -static void +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id) { ==== //depot/projects/smpng/sys/arm/at91/at91_machdep.c#4 (text+ko) ==== @@ -46,7 +46,7 @@ #include "opt_msgbuf.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -301,6 +301,11 @@ /* Map the vector page. */ pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); ==== //depot/projects/smpng/sys/arm/at91/if_ate.c#23 (text) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.38 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.39 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -413,7 +413,7 @@ */ mcaf[0] = 0; mcaf[1] = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -421,14 +421,14 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; af[index >> 3] |= 1 << (index & 7); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); /* * Write the hash to the hash register. This card can also * accept unicast packets as well as multicast packets using this * register for easier bridging operations, but we don't take * advantage of that. Locks here are to avoid LOR with the - * IF_ADDR_LOCK, but might not be strictly necessary. + * if_maddr_rlock, but might not be strictly necessary. */ WR4(sc, ETH_HSL, mcaf[0]); WR4(sc, ETH_HSH, mcaf[1]); ==== //depot/projects/smpng/sys/arm/mv/mv_machdep.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -528,9 +528,9 @@ L2_TABLE_SIZE_REAL * l2size, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - /* Map allocated stacks and msgbuf */ - pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, - freemempos - irqstack.pv_va, + /* Map allocated DPCPU, stacks and msgbuf */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, + freemempos - dpcpu.pv_va, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Link and map the vector page */ ==== //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#21 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.29 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.30 2009/07/01 20:07:44 raj Exp $"); #include "opt_md.h" @@ -313,6 +313,9 @@ pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, ((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); ==== //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#15 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.20 2009/06/26 11:45:06 rwatson Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -435,7 +435,7 @@ memset(clr, 0, ETHER_ADDR_LEN); memset(set, 0xff, ETHER_ADDR_LEN); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -445,7 +445,7 @@ set[i] &= mac[i]; } } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); for (i = 0; i < ETHER_ADDR_LEN; i++) { mask[i] = set[i] | ~clr[i]; ==== //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.61 2009/06/08 15:07:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.62 2009/06/26 09:32:31 rpaulo Exp $"); /* * BIOS disk device handling. @@ -880,7 +880,7 @@ for (i = 0; i < NDOSPART; i++) { if (dp[i].dp_typ == 0xee) part++; - else if (dp[i].dp_typ != 0x00) + else if ((part != 1) && (dp[i].dp_typ != 0x00)) return (EINVAL); } if (part != 1) ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#61 (text+ko) ==== @@ -25,7 +25,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 2 18:37:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 748481065680; Thu, 2 Jul 2009 18:37:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2866D106567D for ; Thu, 2 Jul 2009 18:37:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1739B8FC0C for ; Thu, 2 Jul 2009 18:37:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62IbudT035668 for ; Thu, 2 Jul 2009 18:37:56 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62IbuNL035666 for perforce@freebsd.org; Thu, 2 Jul 2009 18:37:56 GMT (envelope-from jhb@freebsd.org) Date: Thu, 2 Jul 2009 18:37:56 GMT Message-Id: <200907021837.n62IbuNL035666@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165553 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:37:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=165553 Change 165553 by jhb@jhb_jhbbsd on 2009/07/02 18:37:00 IFC @165551 Affected files ... .. //depot/projects/smpng/sys/amd64/conf/GENERIC#81 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#112 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#67 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#85 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#61 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#97 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#18 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#81 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.530 2009/07/02 18:24:37 ed Exp $ cpu HAMMER ident GENERIC @@ -65,6 +65,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev ==== //depot/projects/smpng/sys/i386/conf/GENERIC#112 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.517 2009/06/14 18:01:35 ed Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.518 2009/07/02 18:24:37 ed Exp $ cpu I486_CPU cpu I586_CPU @@ -66,6 +66,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev ==== //depot/projects/smpng/sys/ia64/conf/GENERIC#67 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/ia64/conf/GENERIC,v 1.104 2009/06/02 18:31:08 rwatson Exp $ +# $FreeBSD: src/sys/ia64/conf/GENERIC,v 1.105 2009/07/02 18:24:37 ed Exp $ cpu ITANIUM ident GENERIC @@ -58,6 +58,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options SYSVSHM # SYSV-style shared memory +options P1003_1B_SEMAPHORES # POSIX-style semaphores options UFS_ACL # Support for access control lists options UFS_DIRHASH # Hash-based directory lookup scheme options UFS_GJOURNAL # Enable gjournal-based UFS journaling ==== //depot/projects/smpng/sys/pc98/conf/GENERIC#85 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/pc98/conf/GENERIC,v 1.320 2009/06/02 18:31:08 rwatson Exp $ +# $FreeBSD: src/sys/pc98/conf/GENERIC,v 1.321 2009/07/02 18:24:37 ed Exp $ cpu I486_CPU cpu I586_CPU @@ -69,6 +69,7 @@ #options SYSVSHM # SYSV-style shared memory #options SYSVMSG # SYSV-style message queues #options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/smpng/sys/powerpc/conf/GENERIC#61 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/powerpc/conf/GENERIC,v 1.93 2009/06/23 04:28:32 nwhitehorn Exp $ +# $FreeBSD: src/sys/powerpc/conf/GENERIC,v 1.94 2009/07/02 18:24:37 ed Exp $ cpu AIM ident GENERIC @@ -61,6 +61,7 @@ options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing ==== //depot/projects/smpng/sys/sparc64/conf/GENERIC#97 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.156 2009/06/24 20:49:02 marius Exp $ +# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.157 2009/07/02 18:24:37 ed Exp $ cpu SUN4U ident GENERIC @@ -66,6 +66,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing ==== //depot/projects/smpng/sys/sun4v/conf/GENERIC#18 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/sun4v/conf/GENERIC,v 1.29 2009/06/25 19:26:23 ed Exp $ +# $FreeBSD: src/sys/sun4v/conf/GENERIC,v 1.30 2009/07/02 18:24:37 ed Exp $ cpu SUN4V ident GENERIC @@ -58,6 +58,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. From owner-p4-projects@FreeBSD.ORG Thu Jul 2 18:40:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B857B106566C; Thu, 2 Jul 2009 18:39:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 789AB1065672 for ; Thu, 2 Jul 2009 18:39:59 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 68BAF8FC1B for ; Thu, 2 Jul 2009 18:39:59 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62IdxsX035786 for ; Thu, 2 Jul 2009 18:39:59 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62Idxxs035784 for perforce@freebsd.org; Thu, 2 Jul 2009 18:39:59 GMT (envelope-from mav@freebsd.org) Date: Thu, 2 Jul 2009 18:39:59 GMT Message-Id: <200907021839.n62Idxxs035784@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165554 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:40:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165554 Change 165554 by mav@mav_mavbook on 2009/07/02 18:39:03 Comment out error interrupts logging, as driver seems to work fine. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#41 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#41 (text+ko) ==== @@ -878,9 +878,9 @@ ahci_phy_check_events(dev); /* Process command errors */ if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) { -device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", - __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), - ATA_INL(ch->r_mem, AHCI_P_SERR)); +//device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", +// __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), +// ATA_INL(ch->r_mem, AHCI_P_SERR)); ccs = (ATA_INL(ch->r_mem, AHCI_P_CMD) & AHCI_P_CMD_CCS_MASK) >> AHCI_P_CMD_CCS_SHIFT; /* Kick controller into sane state */ From owner-p4-projects@FreeBSD.ORG Thu Jul 2 18:52:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4456B10656B0; Thu, 2 Jul 2009 18:52:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F367F106568E for ; Thu, 2 Jul 2009 18:52:12 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D9C868FC2D for ; Thu, 2 Jul 2009 18:52:12 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n62IqCcZ036705 for ; Thu, 2 Jul 2009 18:52:12 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n62IqCNL036703 for perforce@freebsd.org; Thu, 2 Jul 2009 18:52:12 GMT (envelope-from syl@FreeBSD.org) Date: Thu, 2 Jul 2009 18:52:12 GMT Message-Id: <200907021852.n62IqCNL036703@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165555 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:52:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165555 Change 165555 by syl@syl_atuin on 2009/07/02 18:51:35 Fix some compilation error in libusb. Delete some traces in test3. Test3 now works and dump the 512 first bytes of a memory stick. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#6 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#55 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#6 (text+ko) ==== @@ -58,7 +58,6 @@ int transferred = 0; int ret= 0; - printf("do_io\n"); ret = libusb_bulk_transfer(devh, ep, buff, len, &transferred, timeout); return ret; } @@ -70,7 +69,6 @@ umass_bbb_csw_t csw; int ret = 0; - printf("do_msc\n"); bzero(&cbw, sizeof(cbw)); USETDW(cbw.dCBWSignature, CBWSIGNATURE); @@ -112,7 +110,6 @@ { static uint8_t cmd[10]; - printf("do_read\n"); cmd[0] = 0x28; len /= 512; ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#55 (text+ko) ==== @@ -490,10 +490,12 @@ libusb_unref_device(devh->dev); TAILQ_FOREACH(eptr, &devh->ep_list, list) { TAILQ_REMOVE(&devh->ep_list, eptr, list); - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[0]); if (eptr->flags) - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); - free((libusb20_transfer *)eptr->os_priv); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[1]); + free((struct libusb20_transfer **)eptr->os_priv); } free(devh); @@ -514,10 +516,12 @@ libusb_unref_device(devh->dev); TAILQ_FOREACH(eptr, &devh->ep_list, list) { TAILQ_REMOVE(&devh->ep_list, eptr, list); - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[0]); if (eptr->flags) - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); - free((libusb20_transfer *)eptr->os_priv); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[1]); + free((struct libusb20_transfer **)eptr->os_priv); } free(devh); @@ -1088,7 +1092,7 @@ out: pthread_mutex_unlock(&ctx->flying_transfers_lock); - ep_idx = (xfer->endpoints / 0x40) | (xfer->endpoints *4) % (16 * 4); + ep_idx = (xfer->endpoint / 0x40) | (xfer->endpoint * 4) % (16 * 4); usb20_xfer[0] = libusb20_tr_get_pointer(pdev, ep_idx); usb20_xfer[1] = libusb20_tr_get_pointer(pdev, ep_idx + 1); @@ -1108,11 +1112,11 @@ ret++; } if (ret == 0) { - eptr = malloc(sizeof(usb_ep_tr)); - eptr.addr = xfer->endpoint; - eptr.idx = ep_idx; - eptr.os_priv = usb20_xfer; - eptr.flags = (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS)?1:0; + eptr = malloc(sizeof(struct usb_ep_tr)); + eptr->addr = xfer->endpoint; + eptr->idx = ep_idx; + eptr->os_priv = usb20_xfer; + eptr->flags = (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS)?1:0; TAILQ_INSERT_HEAD(&devh->ep_list, eptr, list); ret = libusb20_tr_open(usb20_xfer[0], buffsize, maxframe, xfer->endpoint); From owner-p4-projects@FreeBSD.ORG Fri Jul 3 03:44:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A14941065672; Fri, 3 Jul 2009 03:44:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55938106566C for ; Fri, 3 Jul 2009 03:44:02 +0000 (UTC) (envelope-from nikron@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4211F8FC0C for ; Fri, 3 Jul 2009 03:44:02 +0000 (UTC) (envelope-from nikron@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n633i2ZS004397 for ; Fri, 3 Jul 2009 03:44:02 GMT (envelope-from nikron@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n633i2W1004395 for perforce@freebsd.org; Fri, 3 Jul 2009 03:44:02 GMT (envelope-from nikron@FreeBSD.org) Date: Fri, 3 Jul 2009 03:44:02 GMT Message-Id: <200907030344.n633i2W1004395@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to nikron@FreeBSD.org using -f From: Nikhil Bysani To: Perforce Change Reviews Cc: Subject: PERFORCE change 165561 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 03:44:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165561 Change 165561 by nikron@nmfreebsd on 2009/07/03 03:43:32 Updated from upstream and replay of my ethernet patches on top of it. Affected files ... .. //depot/projects/soc2009/nm-port/NetworkManager/libnm-util/nm-setting-pppoe.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/main.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/nm-polkit-helpers.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/nm-polkit-helpers.h#4 edit Differences ... ==== //depot/projects/soc2009/nm-port/NetworkManager/libnm-util/nm-setting-pppoe.c#4 (text+ko) ==== @@ -149,10 +149,10 @@ } if (!g_slist_find_custom (all_settings, NM_SETTING_PPP_SETTING_NAME, find_setting_by_name)) { - g_set_error (error, - NM_SETTING_PPPOE_ERROR, - NM_SETTING_PPPOE_ERROR_MISSING_PPP_SETTING, - NULL); + g_set_error(error, + NM_SETTING_PPPOE_ERROR, + NM_SETTING_PPPOE_ERROR_MISSING_PPP_SETTING, + "Could not find custom."); return FALSE; } ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.c#4 (text+ko) ==== @@ -1,671 +1,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager system settings service - * - * Søren Sandmann - * Dan Williams - * Tambet Ingo - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (C) Copyright 2007 - 2008 Red Hat, Inc. - * (C) Copyright 2008 Novell, Inc. - */ - -#include -#include - -#include -#include -#include -#include - -#include "nm-dbus-glib-types.h" -#include "dbus-settings.h" -#include "nm-polkit-helpers.h" -#include "nm-system-config-error.h" -#include "nm-utils.h" - -static gboolean -impl_settings_add_connection (NMSysconfigSettings *self, GHashTable *hash, DBusGMethodInvocation *context); - -static gboolean -impl_settings_save_hostname (NMSysconfigSettings *self, const char *hostname, DBusGMethodInvocation *context); - -#include "nm-settings-system-glue.h" - -static void unmanaged_devices_changed (NMSystemConfigInterface *config, gpointer user_data); - -typedef struct { - DBusGConnection *g_connection; - PolKitContext *pol_ctx; - NMSystemConfigHalManager *hal_mgr; - - GSList *plugins; - gboolean connections_loaded; - GHashTable *connections; - GHashTable *unmanaged_devices; - char *orig_hostname; -} NMSysconfigSettingsPrivate; - -G_DEFINE_TYPE (NMSysconfigSettings, nm_sysconfig_settings, NM_TYPE_SETTINGS); - -#define NM_SYSCONFIG_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettingsPrivate)) - -enum { - PROPERTIES_CHANGED, - - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -enum { - PROP_0, - PROP_UNMANAGED_DEVICES, - PROP_HOSTNAME, - PROP_CAN_MODIFY, - - LAST_PROP -}; - -static void -load_connections (NMSysconfigSettings *self) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - if (priv->connections_loaded) - return; - - for (iter = priv->plugins; iter; iter = g_slist_next (iter)) { - NMSystemConfigInterface *plugin = NM_SYSTEM_CONFIG_INTERFACE (iter->data); - GSList *plugin_connections; - GSList *elt; - - plugin_connections = nm_system_config_interface_get_connections (plugin); - - // FIXME: ensure connections from plugins loaded with a lower priority - // get rejected when they conflict with connections from a higher - // priority plugin. - - for (elt = plugin_connections; elt; elt = g_slist_next (elt)) - nm_sysconfig_settings_add_connection (self, NM_EXPORTED_CONNECTION (elt->data), TRUE); - - g_slist_free (plugin_connections); - } - - priv->connections_loaded = TRUE; - - /* FIXME: Bad hack */ - unmanaged_devices_changed (NULL, self); -} - -static void -hash_keys_to_slist (gpointer key, gpointer val, gpointer user_data) -{ - GSList **list = (GSList **) user_data; - - *list = g_slist_prepend (*list, key); -} - -static GSList * -list_connections (NMSettings *settings) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (settings); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *list = NULL; - - load_connections (self); - - g_hash_table_foreach (priv->connections, hash_keys_to_slist, &list); - - return list; -} - -static void -settings_finalize (GObject *object) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (object); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - g_hash_table_destroy (priv->connections); - g_hash_table_destroy (priv->unmanaged_devices); - - g_slist_foreach (priv->plugins, (GFunc) g_object_unref, NULL); - g_slist_free (priv->plugins); - - if (priv->pol_ctx) - polkit_context_unref (priv->pol_ctx); - - g_object_unref (priv->hal_mgr); - dbus_g_connection_unref (priv->g_connection); - - g_free (priv->orig_hostname); - - G_OBJECT_CLASS (nm_sysconfig_settings_parent_class)->finalize (object); -} - -static void -add_one_unmanaged_device (gpointer key, gpointer data, gpointer user_data) -{ - GPtrArray *devices = (GPtrArray *) user_data; - - g_ptr_array_add (devices, g_strdup (key)); -} - -static char* -uscore_to_wincaps (const char *uscore) -{ - const char *p; - GString *str; - gboolean last_was_uscore; - - last_was_uscore = TRUE; - - str = g_string_new (NULL); - p = uscore; - while (p && *p) { - if (*p == '-' || *p == '_') - last_was_uscore = TRUE; - else { - if (last_was_uscore) { - g_string_append_c (str, g_ascii_toupper (*p)); - last_was_uscore = FALSE; - } else - g_string_append_c (str, *p); - } - ++p; - } - - return g_string_free (str, FALSE); -} - -static void -notify (GObject *object, GParamSpec *pspec) -{ - GValue *value; - GHashTable *hash; - - value = g_slice_new0 (GValue); - hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, NULL); - - g_value_init (value, pspec->value_type); - g_object_get_property (object, pspec->name, value); - g_hash_table_insert (hash, uscore_to_wincaps (pspec->name), value); - g_signal_emit (object, signals[PROPERTIES_CHANGED], 0, hash); - g_hash_table_destroy (hash); - g_value_unset (value); - g_slice_free (GValue, value); -} - -static GPtrArray * -get_unmanaged_devices (NMSysconfigSettings *self) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GPtrArray *devices; - - load_connections (self); - - devices = g_ptr_array_sized_new (3); - g_hash_table_foreach (priv->unmanaged_devices, (GHFunc) add_one_unmanaged_device, devices); - return devices; -} - -NMSystemConfigInterface * -nm_sysconfig_settings_get_plugin (NMSysconfigSettings *self, - guint32 capability) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - g_return_val_if_fail (self != NULL, NULL); - - /* Do any of the plugins support setting the hostname? */ - for (iter = priv->plugins; iter; iter = iter->next) { - NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL); - if (caps & capability) - return NM_SYSTEM_CONFIG_INTERFACE (iter->data); - } - - return NULL; -} - -static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (object); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - - switch (prop_id) { - case PROP_UNMANAGED_DEVICES: - g_value_take_boxed (value, get_unmanaged_devices (self)); - break; - case PROP_HOSTNAME: - /* Hostname returned is the hostname returned from the first plugin - * that provides one. - */ - for (iter = priv->plugins; iter; iter = iter->next) { - NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL); - if (caps & NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME) { - char *hostname = NULL; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME, &hostname, NULL); - if (hostname && strlen (hostname)) { - g_value_take_string (value, hostname); - break; - } - } - } - - /* If no plugin provided a hostname, try the original hostname of the machine */ - if (!g_value_get_string (value) && priv->orig_hostname) - g_value_set_string (value, priv->orig_hostname); - - /* Don't ever pass NULL through D-Bus */ - if (!g_value_get_string (value)) - g_value_set_static_string (value, ""); - break; - case PROP_CAN_MODIFY: - g_value_set_boolean (value, !!nm_sysconfig_settings_get_plugin (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_CONNECTIONS)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -nm_sysconfig_settings_class_init (NMSysconfigSettingsClass *class) -{ - GObjectClass *object_class = G_OBJECT_CLASS (class); - NMSettingsClass *settings_class = NM_SETTINGS_CLASS (class); - - g_type_class_add_private (class, sizeof (NMSysconfigSettingsPrivate)); - - /* virtual methods */ - object_class->notify = notify; - object_class->get_property = get_property; - object_class->finalize = settings_finalize; - settings_class->list_connections = list_connections; - - /* properties */ - g_object_class_install_property - (object_class, PROP_UNMANAGED_DEVICES, - g_param_spec_boxed (NM_SYSCONFIG_SETTINGS_UNMANAGED_DEVICES, - "Unamanged devices", - "Unmanaged devices", - DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_HOSTNAME, - g_param_spec_string (NM_SYSCONFIG_SETTINGS_HOSTNAME, - "Hostname", - "Hostname", - NULL, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_CAN_MODIFY, - g_param_spec_boolean (NM_SYSCONFIG_SETTINGS_CAN_MODIFY, - "CanModify", - "Can modify", - FALSE, - G_PARAM_READABLE)); - - /* signals */ - signals[PROPERTIES_CHANGED] = - g_signal_new ("properties-changed", - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (NMSysconfigSettingsClass, properties_changed), - NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, DBUS_TYPE_G_MAP_OF_VARIANT); - - dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (settings_class), - &dbus_glib_nm_settings_system_object_info); - - dbus_g_error_domain_register (NM_SYSCONFIG_SETTINGS_ERROR, - NM_DBUS_IFACE_SETTINGS_SYSTEM, - NM_TYPE_SYSCONFIG_SETTINGS_ERROR); -} - -static void -nm_sysconfig_settings_init (NMSysconfigSettings *self) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - char hostname[HOST_NAME_MAX + 2]; - GError *error = NULL; - - priv->connections = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL); - priv->unmanaged_devices = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - - priv->pol_ctx = create_polkit_context (&error); - if (!priv->pol_ctx) { - g_warning ("%s: failed to create PolicyKit context: %s", - __func__, - (error && error->message) ? error->message : "(unknown)"); - } - - /* Grab hostname on startup and use that if no plugins provide one */ - memset (hostname, 0, sizeof (hostname)); - if (gethostname (&hostname[0], HOST_NAME_MAX) == 0) { - /* only cache it if it's a valid hostname */ - if (strlen (hostname) && strcmp (hostname, "localhost") && strcmp (hostname, "localhost.localdomain")) - priv->orig_hostname = g_strdup (hostname); - } -} - -NMSysconfigSettings * -nm_sysconfig_settings_new (DBusGConnection *g_conn, NMSystemConfigHalManager *hal_mgr) -{ - NMSysconfigSettings *settings; - NMSysconfigSettingsPrivate *priv; - - g_return_val_if_fail (g_conn != NULL, NULL); - g_return_val_if_fail (hal_mgr != NULL, NULL); - - settings = g_object_new (NM_TYPE_SYSCONFIG_SETTINGS, NULL); - dbus_g_connection_register_g_object (g_conn, NM_DBUS_PATH_SETTINGS, G_OBJECT (settings)); - - priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (settings); - priv->g_connection = dbus_g_connection_ref (g_conn); - priv->hal_mgr = g_object_ref (hal_mgr); - - return settings; -} - -static void -plugin_connection_added (NMSystemConfigInterface *config, - NMExportedConnection *connection, - gpointer user_data) -{ - nm_sysconfig_settings_add_connection (NM_SYSCONFIG_SETTINGS (user_data), connection, TRUE); -} - -static void -unmanaged_devices_changed (NMSystemConfigInterface *config, - gpointer user_data) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (user_data); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - g_hash_table_remove_all (priv->unmanaged_devices); - - /* Ask all the plugins for their unmanaged devices */ - for (iter = priv->plugins; iter; iter = g_slist_next (iter)) { - GSList *udis = nm_system_config_interface_get_unmanaged_devices (NM_SYSTEM_CONFIG_INTERFACE (iter->data)); - GSList *udi_iter; - - for (udi_iter = udis; udi_iter; udi_iter = udi_iter->next) { - if (!g_hash_table_lookup (priv->unmanaged_devices, udi_iter->data)) { - g_hash_table_insert (priv->unmanaged_devices, - udi_iter->data, - GUINT_TO_POINTER (1)); - } else - g_free (udi_iter->data); - } - - g_slist_free (udis); - } - - g_object_notify (G_OBJECT (self), NM_SYSCONFIG_SETTINGS_UNMANAGED_DEVICES); -} - -static void -hostname_changed (NMSystemConfigInterface *config, - GParamSpec *pspec, - gpointer user_data) -{ - g_object_notify (G_OBJECT (user_data), NM_SYSCONFIG_SETTINGS_HOSTNAME); -} - -void -nm_sysconfig_settings_add_plugin (NMSysconfigSettings *self, - NMSystemConfigInterface *plugin) -{ - NMSysconfigSettingsPrivate *priv; - char *pname = NULL; - char *pinfo = NULL; - - g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self)); - g_return_if_fail (NM_IS_SYSTEM_CONFIG_INTERFACE (plugin)); - - priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - priv->plugins = g_slist_append (priv->plugins, g_object_ref (plugin)); - - g_signal_connect (plugin, "connection-added", G_CALLBACK (plugin_connection_added), self); - g_signal_connect (plugin, "unmanaged-devices-changed", G_CALLBACK (unmanaged_devices_changed), self); - g_signal_connect (plugin, "notify::hostname", G_CALLBACK (hostname_changed), self); - - nm_system_config_interface_init (plugin, priv->hal_mgr); - - g_object_get (G_OBJECT (plugin), - NM_SYSTEM_CONFIG_INTERFACE_NAME, &pname, - NM_SYSTEM_CONFIG_INTERFACE_INFO, &pinfo, - NULL); - - g_message ("Loaded plugin %s: %s", pname, pinfo); - g_free (pname); - g_free (pinfo); -} - -static void -connection_removed (NMExportedConnection *connection, - gpointer user_data) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (user_data); - - g_hash_table_remove (priv->connections, connection); -} - -void -nm_sysconfig_settings_add_connection (NMSysconfigSettings *self, - NMExportedConnection *connection, - gboolean do_export) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self)); - g_return_if_fail (NM_IS_EXPORTED_CONNECTION (connection)); - - if (g_hash_table_lookup (priv->connections, connection)) - /* A plugin is lying to us. */ - return; - - g_hash_table_insert (priv->connections, g_object_ref (connection), GINT_TO_POINTER (1)); - g_signal_connect (connection, "removed", G_CALLBACK (connection_removed), self); - - if (do_export) { - nm_exported_connection_register_object (connection, NM_CONNECTION_SCOPE_SYSTEM, priv->g_connection); - nm_settings_signal_new_connection (NM_SETTINGS (self), connection); - } -} - -void -nm_sysconfig_settings_remove_connection (NMSysconfigSettings *self, - NMExportedConnection *connection, - gboolean do_signal) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self)); - g_return_if_fail (NM_IS_EXPORTED_CONNECTION (connection)); - - if (g_hash_table_lookup (priv->connections, connection)) { - nm_exported_connection_signal_removed (connection); - g_hash_table_remove (priv->connections, connection); - } -} - -gboolean -nm_sysconfig_settings_is_device_managed (NMSysconfigSettings *self, - const char *udi) -{ - NMSysconfigSettingsPrivate *priv; - - g_return_val_if_fail (NM_IS_SYSCONFIG_SETTINGS (self), FALSE); - - priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - load_connections (self); - - if (g_hash_table_lookup (priv->unmanaged_devices, udi)) - return FALSE; - return TRUE; -} - -gboolean -nm_sysconfig_settings_add_new_connection (NMSysconfigSettings *self, - GHashTable *hash, - GError **error) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - NMConnection *connection; - GError *tmp_error = NULL, *last_error = NULL; - GSList *iter; - gboolean success = FALSE; - - connection = nm_connection_new_from_hash (hash, &tmp_error); - if (!connection) { - /* Invalid connection hash */ - g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION, - "Invalid connection: '%s' / '%s' invalid: %d", - tmp_error ? g_type_name (nm_connection_lookup_setting_type_by_quark (tmp_error->domain)) : "(unknown)", - tmp_error ? tmp_error->message : "(unknown)", tmp_error ? tmp_error->code : -1); - g_clear_error (&tmp_error); - return FALSE; - } - - /* Here's how it works: - 1) plugin writes a connection. - 2) plugin notices that a new connection is available for reading. - 3) plugin reads the new connection (the one it wrote in 1) and emits 'connection-added' signal. - 4) NMSysconfigSettings receives the signal and adds it to it's connection list. - */ - - for (iter = priv->plugins; iter && !success; iter = iter->next) { - success = nm_system_config_interface_add_connection (NM_SYSTEM_CONFIG_INTERFACE (iter->data), - connection, &tmp_error); - g_clear_error (&last_error); - if (!success) - last_error = tmp_error; - } - - g_object_unref (connection); - - if (!success) { - g_set_error (error, NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_ADD_FAILED, - "Saving connection failed: (%d) %s", - last_error ? last_error->code : -1, - last_error && last_error->message ? last_error->message : "(unknown)"); - g_clear_error (&last_error); - } - - return success; -} - -static gboolean -impl_settings_add_connection (NMSysconfigSettings *self, - GHashTable *hash, - DBusGMethodInvocation *context) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GError *err = NULL; - - /* Do any of the plugins support adding? */ - if (!nm_sysconfig_settings_get_plugin (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_CONNECTIONS)) { - err = g_error_new (NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_ADD_NOT_SUPPORTED, - "%s", "None of the registered plugins support add."); - goto out; - } - - if (!check_polkit_privileges (priv->g_connection, priv->pol_ctx, context, &err)) - goto out; - - nm_sysconfig_settings_add_new_connection (self, hash, &err); - - out: - if (err) { - dbus_g_method_return_error (context, err); - g_error_free (err); - return FALSE; - } else { - dbus_g_method_return (context); - return TRUE; - } -} - -static gboolean -impl_settings_save_hostname (NMSysconfigSettings *self, - const char *hostname, - DBusGMethodInvocation *context) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GError *err = NULL; - GSList *iter; - gboolean success = FALSE; - - /* Do any of the plugins support setting the hostname? */ - if (!nm_sysconfig_settings_get_plugin (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME)) { - err = g_error_new (NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_SAVE_HOSTNAME_NOT_SUPPORTED, - "%s", "None of the registered plugins support setting the hostname."); - goto out; - } - - if (!check_polkit_privileges (priv->g_connection, priv->pol_ctx, context, &err)) - goto out; - - /* Set the hostname in all plugins */ - for (iter = priv->plugins; iter; iter = iter->next) { - NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL); - if (caps & NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME) { - g_object_set (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME, hostname, NULL); - success = TRUE; - } - } - - if (!success) { - err = g_error_new (NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_SAVE_HOSTNAME_FAILED, - "%s", "Saving the hostname failed."); - } - - out: - if (err) { - dbus_g_method_return_error (context, err); - g_error_free (err); - return FALSE; - } else { - dbus_g_method_return (context); - return TRUE; - } -} - ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.h#4 (text+ko) ==== @@ -1,95 +1,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager system settings service - * - * Søren Sandmann - * Dan Williams - * Tambet Ingo - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (C) Copyright 2007 - 2008 Red Hat, Inc. - * (C) Copyright 2008 Novell, Inc. - */ - -#ifndef __DBUS_SETTINGS_H__ -#define __DBUS_SETTINGS_H__ - -#include -#include - -#include "nm-system-config-interface.h" -#include "nm-system-config-hal-manager.h" - -typedef struct _NMSysconfigSettings NMSysconfigSettings; -typedef struct _NMSysconfigSettingsClass NMSysconfigSettingsClass; - -#define NM_TYPE_SYSCONFIG_SETTINGS (nm_sysconfig_settings_get_type ()) -#define NM_SYSCONFIG_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettings)) -#define NM_SYSCONFIG_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettingsClass)) -#define NM_IS_SYSCONFIG_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SYSCONFIG_SETTINGS)) -#define NM_IS_SYSCONFIG_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SYSCONFIG_SETTINGS)) -#define NM_SYSCONFIG_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettingsClass)) - -#define NM_SYSCONFIG_SETTINGS_UNMANAGED_DEVICES "unmanaged-devices" -#define NM_SYSCONFIG_SETTINGS_HOSTNAME "hostname" -#define NM_SYSCONFIG_SETTINGS_CAN_MODIFY "can-modify" - -struct _NMSysconfigSettings -{ - NMSettings parent_instance; -}; - -struct _NMSysconfigSettingsClass -{ - NMSettingsClass parent_class; - - /* Signals */ - void (*properties_changed) (NMSysconfigSettings *settings, GHashTable *properties); -}; - -GType nm_sysconfig_settings_get_type (void); - -NMSysconfigSettings *nm_sysconfig_settings_new (DBusGConnection *g_conn, - NMSystemConfigHalManager *hal_mgr); - -void nm_sysconfig_settings_add_plugin (NMSysconfigSettings *settings, - NMSystemConfigInterface *plugin); - -/* Registers an exising connection with the settings service */ -void nm_sysconfig_settings_add_connection (NMSysconfigSettings *settings, - NMExportedConnection *connection, - gboolean do_export); - -void nm_sysconfig_settings_remove_connection (NMSysconfigSettings *settings, - NMExportedConnection *connection, - gboolean do_signal); - -void nm_sysconfig_settings_update_unamanged_devices (NMSysconfigSettings *settings, - GSList *new_list); - -gboolean nm_sysconfig_settings_is_device_managed (NMSysconfigSettings *settings, - const char *udi); - -NMSystemConfigInterface *nm_sysconfig_settings_get_plugin (NMSysconfigSettings *self, - guint32 capability); - -/* Adds a new connection from a hash of that connection's settings, - * potentially saving the new connection to persistent storage. - */ -gboolean nm_sysconfig_settings_add_new_connection (NMSysconfigSettings *self, - GHashTable *hash, - GError **error); - -#endif /* __DBUS_SETTINGS_H__ */ ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/main.c#4 (text+ko) ==== @@ -1,900 +1,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager system settings service - * - * Søren Sandmann - * Dan Williams - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (C) Copyright 2007 - 2008 Red Hat, Inc. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include "nm-glib-compat.h" - -#include "dbus-settings.h" -#include "nm-system-config-hal-manager.h" -#include "nm-system-config-interface.h" -#include "nm-default-wired-connection.h" - -#define CONFIG_KEY_NO_AUTO_DEFAULT "no-auto-default" - -static GMainLoop *loop = NULL; -static gboolean debug = FALSE; - -typedef struct { - DBusConnection *connection; - DBusGConnection *g_connection; - - DBusGProxy *bus_proxy; - NMSystemConfigHalManager *hal_mgr; - - NMSysconfigSettings *settings; - - GHashTable *wired_devices; - - const char *config; -} Application; - - -NMSystemConfigHalManager *nm_system_config_hal_manager_get (DBusGConnection *g_connection); -void nm_system_config_hal_manager_shutdown (NMSystemConfigHalManager *self); - -static gboolean dbus_init (Application *app); -static gboolean start_dbus_service (Application *app); -static void destroy_cb (DBusGProxy *proxy, gpointer user_data); -static void device_added_cb (DBusGProxy *proxy, const char *udi, NMDeviceType devtype, gpointer user_data); - - -static GQuark -plugins_error_quark (void) -{ - static GQuark error_quark = 0; - - if (G_UNLIKELY (error_quark == 0)) - error_quark = g_quark_from_static_string ("plugins-error-quark"); - - return error_quark; -} - -static GObject * -find_plugin (GSList *list, const char *pname) -{ - GSList *iter; - GObject *obj = NULL; - - g_return_val_if_fail (pname != NULL, FALSE); - - for (iter = list; iter && !obj; iter = g_slist_next (iter)) { - NMSystemConfigInterface *plugin = NM_SYSTEM_CONFIG_INTERFACE (iter->data); - char *list_pname = NULL; - - g_object_get (G_OBJECT (plugin), - NM_SYSTEM_CONFIG_INTERFACE_NAME, - &list_pname, - NULL); - if (list_pname && !strcmp (pname, list_pname)) - obj = G_OBJECT (plugin); - - g_free (list_pname); - } - - return obj; -} - -static gboolean -load_plugins (Application *app, const char *plugins, GError **error) -{ - GSList *list = NULL; - char **plist; - char **iter; - - plist = g_strsplit (plugins, ",", 0); - if (!plist) - return FALSE; - - for (iter = plist; *iter; iter++) { - GModule *plugin; - char *full_name, *path; - const char *pname = *iter; - GObject *obj; - GObject * (*factory_func) (void); - - /* ifcfg-fedora was renamed ifcfg-rh; handle old configs here */ - if (!strcmp (pname, "ifcfg-fedora")) - pname = "ifcfg-rh"; - - obj = find_plugin (list, pname); - if (obj) - continue; - - full_name = g_strdup_printf ("nm-settings-plugin-%s", pname); - path = g_module_build_path (PLUGINDIR, full_name); - - plugin = g_module_open (path, G_MODULE_BIND_LOCAL); - if (!plugin) { - g_set_error (error, plugins_error_quark (), 0, - "Could not load plugin '%s': %s", - pname, g_module_error ()); - g_free (full_name); - g_free (path); - break; - } - - g_free (full_name); - g_free (path); - - if (!g_module_symbol (plugin, "nm_system_config_factory", (gpointer) (&factory_func))) { - g_set_error (error, plugins_error_quark (), 0, - "Could not find plugin '%s' factory function.", - pname); - break; - } - - obj = (*factory_func) (); - if (!obj || !NM_IS_SYSTEM_CONFIG_INTERFACE (obj)) { - g_set_error (error, plugins_error_quark (), 0, - "Plugin '%s' returned invalid system config object.", - pname); - break; - } - - g_module_make_resident (plugin); - g_object_weak_ref (obj, (GWeakNotify) g_module_close, plugin); - nm_sysconfig_settings_add_plugin (app->settings, NM_SYSTEM_CONFIG_INTERFACE (obj)); - list = g_slist_append (list, obj); - } - - g_strfreev (plist); - - g_slist_foreach (list, (GFunc) g_object_unref, NULL); - g_slist_free (list); - - return TRUE; -} - -static gboolean >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 3 07:47:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54B0B1065679; Fri, 3 Jul 2009 07:47:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D4E2106564A for ; Fri, 3 Jul 2009 07:47:28 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D542F8FC12 for ; Fri, 3 Jul 2009 07:47:27 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n637lRYg035698 for ; Fri, 3 Jul 2009 07:47:27 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n637lRWm035696 for perforce@freebsd.org; Fri, 3 Jul 2009 07:47:27 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Fri, 3 Jul 2009 07:47:27 GMT Message-Id: <200907030747.n637lRWm035696@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 165562 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 07:47:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=165562 Change 165562 by zhaoshuai@zhaoshuai on 2009/07/03 07:46:45 remove PR 74242 test Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_74242.c#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 3 09:21:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE1B91065673; Fri, 3 Jul 2009 09:21:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63794106564A for ; Fri, 3 Jul 2009 09:21:39 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 50FCF8FC13 for ; Fri, 3 Jul 2009 09:21:39 +0000 (UTC) (envelope-from tsel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n639Lc1Z054375 for ; Fri, 3 Jul 2009 09:21:38 GMT (envelope-from tsel@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n639LcYE054373 for perforce@freebsd.org; Fri, 3 Jul 2009 09:21:38 GMT (envelope-from tsel@FreeBSD.org) Date: Fri, 3 Jul 2009 09:21:38 GMT Message-Id: <200907030921.n639LcYE054373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tsel@FreeBSD.org using -f From: Tatsiana Elavaya To: Perforce Change Reviews Cc: Subject: PERFORCE change 165563 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 09:21:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=165563 Change 165563 by tsel@tsel_mz on 2009/07/03 09:20:46 Cleanup. Remove debugging Affected files ... .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw.8#3 edit .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#9 edit .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/main.c#4 edit .. //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw.h#5 edit .. //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#6 edit Differences ... ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw.8#3 (text+ko) ==== @@ -440,6 +440,7 @@ .Bd -ragged -offset indent .Bk -words .Op Ar rule_number +.Op Cm alias Ar rule_alias .Op Cm set Ar set_number .Op Cm prob Ar match_probability .Ar action @@ -521,6 +522,14 @@ If this is not possible (e.g.\& because we would go beyond the maximum allowed rule number), the number of the last non-default value is used instead. +.It Cm alias Ar rule_alias +Each rule can have optional alias name. +.Ar rule_alias +can be used where +.Ar rule_number +is expected (like +.Em delete , show , skipto , zero +commands.) .It Cm set Ar set_number Each rule is associated with a .Ar set_number @@ -2580,11 +2589,6 @@ Enables the firewall. Setting this variable to 0 lets you run your machine without firewall even if compiled in. -.It Va net.inet.ip.fw.optimization_enable : No 1 -Enables the rule processing optimization. -Optimization should also be enabled for a ruleset by -.Nm ipfw optimimize -command. .It Va net.inet6.ip6.fw.enable : No 1 provides the same functionality as above for the IPv6 case. .It Va net.inet.ip.fw.one_pass : No 1 ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#9 (text+ko) ==== @@ -1199,7 +1199,8 @@ PRINT_UINT_ARG("setfib ", cmd->arg1); break; - case O_ALIAS: /* O_ALIAS is printed first */ + case O_ALIAS: + /* O_ALIAS is printed first */ break; case O_REASS: @@ -1620,11 +1621,13 @@ case O_OPTIMIZE: if (co.verbose) { + ipfw_insn_u16 *optimize_cmd = (ipfw_insn_u16 *) cmd; int i, cnt = (F_LEN(cmd) - 1) * 2; + printf(" [optimize"); for (i = 0; i < cnt; i++) - if (((ipfw_insn_u16*)cmd)->ports[i]) - printf(" %d", ((ipfw_insn_u16*)cmd)->ports[i]); + if (optimize_cmd->ports[i]) + printf(" %d", optimize_cmd->ports[i]); printf("]"); } break; @@ -1848,11 +1851,11 @@ #define NEXT(r) ((struct ip_fw *)((char *)r + RULESIZE(r))) char *lim; + void *data = NULL; int bcwidth, n, nbytes, nstat, ndyn, pcwidth, width; int exitval = EX_OK; int lac; char **lav; - void *data; u_long rnum, last; char *endptr; int seen = 0; @@ -2138,7 +2141,7 @@ } if (F_LEN(a) == 1) return 1; - if (memcmp(a, b, (F_LEN(a) - 1)* 4) == 0) + if (memcmp(a, b, (F_LEN(a) - 1) * 4) == 0) return 1; return 0; } @@ -2176,7 +2179,6 @@ void insn_match_remove(struct insn_match *m) { - // printf("remove match: cmd = %d, rule = %d\n", m->cmd->opcode, m->match_rule->rule->rulenum); LIST_REMOVE(m, rule_entries); LIST_REMOVE(m, match_entries); free(m); @@ -2207,11 +2209,6 @@ max_r = rulenum; } a[i]->rank = ((a[i]->match_count & 0x7fff) << 16) - (max_r - min_r); - /* - printf("rank %d: match_count: %d, dist: %d\n", - LIST_FIRST(&a[i]->match_head)->cmd->opcode, - a[i]->match_count, max_r - min_r); - */ } return a[1]->rank - a[0]->rank; @@ -2246,9 +2243,6 @@ continue; } g->label = (group_count++) + 1; - printf("sorted: %d; opcode %d; match_count %d; rank %d\n", - g->label, LIST_FIRST(&g->match_head)->cmd->opcode, - g->match_count, g->rank); } return group_count; } @@ -2332,6 +2326,9 @@ insn_match_group_sort(&groups, insn_match_group_cmp); group_count = optimization_filter_groups(&groups); + + if (group_count == 0) + return; optimization_setup(0, 0); @@ -2361,23 +2358,13 @@ optimize_cmd->o.opcode = O_OPTIMIZE; optimize_cmd->o.arg1 = 0; - /* - printf("rule %d; before sort: ", rules[i]->rulenum); - LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { - printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); - } - printf("\n"); - */ insn_match_rule_cmd_sort(&match_rules[i].rule_head, insn_match_rule_cmd_cmp); - //printf("rule %d; after sort: ", rules[i]->rulenum); LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { - //printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); optimize_cmd->ports[optimize_cnt] = m->group->label; if (optimize_cnt % 2 == 0) optimize_cmd->ports[optimize_cnt + 1] = 0; optimize_cnt++; } - //printf("\n"); optimize_cmd->o.len = F_INSN_SIZE(ipfw_insn) + (optimize_cnt + 1) / 2; cmd += optimize_cmd->o.len; @@ -2407,9 +2394,6 @@ rcmd += F_LEN(rcmd); } - printf("before optimization: "); - show_ipfw(rules[i], 0, 0); - l = orule->rulenum & 0xffff; if (do_cmd(IP_FW_DEL, &l, sizeof(l))) errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_DEL)", orule->rulenum); @@ -2417,12 +2401,12 @@ l = RULESIZE(orule); if (do_cmd(IP_FW_ADD, orule, (uintptr_t)&l)) errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_ADD)", orule->rulenum); + if (co.verbose) show_ipfw(orule, 0, 0); } - if (group_count) - optimization_setup(1, group_count); + optimization_setup(1, group_count); } static int ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/main.c#4 (text+ko) ==== @@ -50,6 +50,7 @@ "set N {show|list|zero|resetlog|delete} [N{,N}] | flush\n" "table N {add ip[/bits] [value] | delete ip[/bits] | flush | list}\n" "table all {flush | list}\n" +"optimize\n" "\n" "RULE-BODY: check-state [PARAMS] | ACTION [PARAMS] ADDR [OPTION_LIST]\n" "ACTION: check-state | allow | count | deny | unreach{,6} CODE |\n" ==== //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw.h#5 (text+ko) ==== @@ -180,7 +180,7 @@ O_FIB, /* arg1=FIB desired fib number */ O_ALIAS, - O_OPTIMIZE, /* u32 position in bitset */ + O_OPTIMIZE, /* list of labels */ O_LAST_OPCODE /* not an opcode! */ }; ==== //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#6 (text+ko) ==== @@ -367,7 +367,7 @@ return 0; for (i = 0; i < OPTIMIZATION_POOLS; i++) { - bufs[i] = malloc(OPTIMIZATION_BUF_MAX, M_IPFW, M_WAITOK | M_ZERO); + bufs[i] = malloc(sz, M_IPFW, M_WAITOK | M_ZERO); } IPFW_WLOCK(&V_layer3_chain); @@ -991,6 +991,7 @@ action = "Reass"; break; case O_ALIAS: + ((ipfw_insn_alias *)cmd)->alias[IPFW_ALIAS_NAME_SIZE - 1] = '\0'; snprintf(SNPARGS(action2, 0), "Alias %s", ((ipfw_insn_alias *)cmd)->alias); break; @@ -2743,19 +2744,19 @@ optimiz_ind++; if (GET_OPTIMIZ_LABEL(label)) { optimiz_match = label; +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: rule %d: optimized %d %d\n", f->rulenum, cmd->opcode, optimiz_match); -#ifndef IPFW_OPTIMIZE_DEBUG + optimiz_match_neg = 0; +#else continue; -#else - optimiz_match_neg = 0; #endif - } if (GET_NEG_OPTIMIZ_LABEL(label)) { + } else if (GET_NEG_OPTIMIZ_LABEL(label)) { optimiz_match = label; +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: rule %d: negative optimized %d %d\n", f->rulenum, cmd->opcode, optimiz_match); -#ifndef IPFW_OPTIMIZE_DEBUG + optimiz_match_neg = 1; +#else goto next_rule; -#else - optimiz_match_neg = 1; #endif } else { @@ -3320,13 +3321,17 @@ for (int i = 0; i < (F_LEN(cmd) - 1) * 2; i++) if (optimiz_cmd->ports[i] > V_optimization_buf_sz * 8 / 2) { +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: invalid O_OPTIMIZE instruction. ignoring"); +#endif optimiz_cmd = NULL; continue; } if (optimiz_match) { +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: unexpected O_OPTIMIZE instruction. ignoring"); +#endif continue; } continue; @@ -3648,7 +3653,9 @@ SET_OPTIMIZ_LABEL(optimiz_match); else SET_NEG_OPTIMIZ_LABEL(optimiz_match); +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: rule %d: set %soptimize match %d %d\n", f->rulenum, match ? "" : "negative ", cmd->opcode, optimiz_match); +#endif } optimiz_match = 0; } From owner-p4-projects@FreeBSD.ORG Fri Jul 3 10:12:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7EC1F106567F; Fri, 3 Jul 2009 10:12:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 373261065670 for ; Fri, 3 Jul 2009 10:12:32 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 235CC8FC1A for ; Fri, 3 Jul 2009 10:12:32 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63ACWpN059070 for ; Fri, 3 Jul 2009 10:12:32 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63ACI7g059060 for perforce@freebsd.org; Fri, 3 Jul 2009 10:12:18 GMT (envelope-from andre@freebsd.org) Date: Fri, 3 Jul 2009 10:12:18 GMT Message-Id: <200907031012.n63ACI7g059060@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165564 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 10:12:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=165564 Change 165564 by andre@andre_flirtbox on 2009/07/03 10:12:16 Forced integrate to clean up differences that came from previous integrations. Affected files ... .. //depot/projects/tcp_reass/Makefile#5 integrate .. //depot/projects/tcp_reass/amd64/Makefile#3 integrate .. //depot/projects/tcp_reass/amd64/acpica/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/OsdEnvironment.c#3 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_switch.S#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_wakecode.S#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_wakeup.c#4 integrate .. //depot/projects/tcp_reass/amd64/acpica/genwakecode.sh#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/genwakedata.sh#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/madt.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/apic_vector.S#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/atomic.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/autoconf.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/bios.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/bpf_jit_machdep.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/bpf_jit_machdep.h#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/db_disasm.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/db_interface.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/dump_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/exception.S#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/fpu.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/gdb_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/genassym.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/in_cksum.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/initcpu.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/io.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/legacy.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/locore.S#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#7 integrate .. //depot/projects/tcp_reass/amd64/amd64/mca.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mem.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/minidump_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_watchdog.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mpboot.S#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mptable.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/msi.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/nexus.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/pmap.c#7 integrate .. //depot/projects/tcp_reass/amd64/amd64/prof_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/sigtramp.S#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/stack_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/support.S#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/trap.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/tsc.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/uio_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/compile/.cvsignore#2 integrate .. //depot/projects/tcp_reass/amd64/conf/.cvsignore#2 integrate .. //depot/projects/tcp_reass/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC#6 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC.hints#4 integrate .. //depot/projects/tcp_reass/amd64/conf/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/amd64/conf/XENHVM#2 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_exception.S#3 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_misc.c#2 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_reg.c#3 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_sigtramp.S#3 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/tcp_reass/amd64/include/_bus.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_inttypes.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_limits.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_stdint.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_types.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/acpica_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/apicreg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/apicvar.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/asm.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/asmacros.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/atomic.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/bus.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/bus_dma.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/clock.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/cpu.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/cpufunc.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/cputypes.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/db_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/elf.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/endian.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/exec.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/float.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/floatingpoint.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/fpu.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/frame.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/gdb_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/ieeefp.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/in_cksum.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/intr_machdep.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/iodev.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/kdb.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/legacyvar.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/limits.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mca.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/md_var.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/memdev.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/metadata.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/minidump.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mp_watchdog.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mptable.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mutex.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/nexusvar.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/param.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/pc/bios.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/pc/display.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/pcb.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pci_cfgreg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/pcpu.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pmap.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/pmc_mdep.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/ppireg.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/proc.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/profile.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/psl.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/ptrace.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/reg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/reloc.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/resource.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/runq.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/segments.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/setjmp.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/sf_buf.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/sigframe.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/signal.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/smp.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/specialreg.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/stack.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/stdarg.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/sysarch.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/timerreg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/trap.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/tss.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/ucontext.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/varargs.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/vm.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/vmparam.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/xen/hypercall.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/synch_bitops.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xen-os.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xenfunc.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xenpmap.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xenvar.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/atpic.c#4 integrate .. //depot/projects/tcp_reass/amd64/isa/atpic_vector.S#2 integrate .. //depot/projects/tcp_reass/amd64/isa/clock.c#7 integrate .. //depot/projects/tcp_reass/amd64/isa/elcr.c#2 integrate .. //depot/projects/tcp_reass/amd64/isa/icu.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/isa.c#2 integrate .. //depot/projects/tcp_reass/amd64/isa/isa.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/isa_dma.c#2 integrate .. //depot/projects/tcp_reass/amd64/isa/nmi.c#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux.h#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_dummy.c#4 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_genassym.c#3 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_ipc64.h#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_locore.s#3 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_support.s#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysent.c#6 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysvec.c#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/syscalls.conf#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/tcp_reass/amd64/pci/pci_bus.c#3 integrate .. //depot/projects/tcp_reass/amd64/pci/pci_cfgreg.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/autoconf.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/bcopy_page.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bcopyinout.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bcopyinout_xscale.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/blockio.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bootconfig.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/bus_space_asm_generic.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bus_space_generic.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/busdma_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/copystr.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm10.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm11.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm7tdmi.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm8.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm9.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_armv4.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_armv5.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_armv5_ec.S#3 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_ixp12x0.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_sa1.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_sa11x0.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_sheeva.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_xscale.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_xscale_c3.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/db_disasm.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/db_interface.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/db_trace.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/disassem.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/dump_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/arm/elf_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/tcp_reass/arm/arm/exception.S#3 integrate .. //depot/projects/tcp_reass/arm/arm/fiq.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/fiq_subr.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/fusu.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/gdb_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/genassym.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/identcpu.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/in_cksum.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/in_cksum_arm.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/inckern.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/intr.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/irq_dispatch.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/locore.S#6 integrate .. //depot/projects/tcp_reass/arm/arm/machdep.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/mem.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/minidump_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/nexus.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#7 integrate .. //depot/projects/tcp_reass/arm/arm/setcpsr.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/setstack.s#2 integrate .. //depot/projects/tcp_reass/arm/arm/stack_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/support.S#3 integrate .. //depot/projects/tcp_reass/arm/arm/swtch.S#4 integrate .. //depot/projects/tcp_reass/arm/arm/sys_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/trap.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/uio_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/undefined.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/vectors.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/at91.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/at91_cfata.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_mci.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_mcireg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pdcreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pio.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pio_rm9200.h#2 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pioreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_piovar.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pmcreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pmcvar.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_rtc.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_rtcreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_spi.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_sscreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_st.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_streg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twi.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twiio.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twireg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_usartreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91board.h#2 integrate .. //depot/projects/tcp_reass/arm/at91/at91rm92reg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91var.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/board_bwct.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/board_hl200.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/board_kb920x.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/board_tsc4370.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/files.at91#3 integrate .. //depot/projects/tcp_reass/arm/at91/hints.at91rm9200#2 integrate .. //depot/projects/tcp_reass/arm/at91/hints.at91sam9261#2 integrate .. //depot/projects/tcp_reass/arm/at91/if_ate.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/if_atereg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/std.at91#3 integrate .. //depot/projects/tcp_reass/arm/at91/std.bwct#2 integrate .. //depot/projects/tcp_reass/arm/at91/std.hl200#2 integrate .. //depot/projects/tcp_reass/arm/at91/std.kb920x#3 integrate .. //depot/projects/tcp_reass/arm/at91/std.tsc4370#2 integrate .. //depot/projects/tcp_reass/arm/at91/uart_bus_at91usart.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/tcp_reass/arm/compile/.cvsignore#2 integrate .. //depot/projects/tcp_reass/arm/conf/.cvsignore#2 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA#6 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA.hints#5 integrate .. //depot/projects/tcp_reass/arm/conf/BWCT#4 integrate .. //depot/projects/tcp_reass/arm/conf/BWCT.hints#3 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA#2 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/tcp_reass/arm/conf/CRB#4 integrate .. //depot/projects/tcp_reass/arm/conf/DB-78XXX#3 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/tcp_reass/arm/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/arm/conf/EP80219#4 integrate .. //depot/projects/tcp_reass/arm/conf/GUMSTIX#2 integrate .. //depot/projects/tcp_reass/arm/conf/GUMSTIX.hints#2 integrate .. //depot/projects/tcp_reass/arm/conf/HL200#4 integrate .. //depot/projects/tcp_reass/arm/conf/IQ31244#4 integrate .. //depot/projects/tcp_reass/arm/conf/KB920X#4 integrate .. //depot/projects/tcp_reass/arm/conf/KB920X.hints#2 integrate .. //depot/projects/tcp_reass/arm/conf/NSLU#2 integrate .. //depot/projects/tcp_reass/arm/conf/NSLU.hints#2 integrate .. //depot/projects/tcp_reass/arm/conf/SIMICS#4 integrate .. //depot/projects/tcp_reass/arm/conf/SKYEYE#4 integrate .. //depot/projects/tcp_reass/arm/include/_bus.h#3 integrate .. //depot/projects/tcp_reass/arm/include/_inttypes.h#2 integrate .. //depot/projects/tcp_reass/arm/include/_limits.h#2 integrate .. //depot/projects/tcp_reass/arm/include/_stdint.h#2 integrate .. //depot/projects/tcp_reass/arm/include/_types.h#2 integrate .. //depot/projects/tcp_reass/arm/include/armreg.h#3 integrate .. //depot/projects/tcp_reass/arm/include/asm.h#2 integrate .. //depot/projects/tcp_reass/arm/include/asmacros.h#3 integrate .. //depot/projects/tcp_reass/arm/include/atomic.h#4 integrate .. //depot/projects/tcp_reass/arm/include/blockio.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bootconfig.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bootinfo.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bus.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bus_dma.h#2 integrate .. //depot/projects/tcp_reass/arm/include/clock.h#2 integrate .. //depot/projects/tcp_reass/arm/include/cpu.h#2 integrate .. //depot/projects/tcp_reass/arm/include/cpuconf.h#2 integrate .. //depot/projects/tcp_reass/arm/include/cpufunc.h#3 integrate .. //depot/projects/tcp_reass/arm/include/db_machdep.h#3 integrate .. //depot/projects/tcp_reass/arm/include/disassem.h#2 integrate .. //depot/projects/tcp_reass/arm/include/elf.h#3 integrate .. //depot/projects/tcp_reass/arm/include/endian.h#3 integrate .. //depot/projects/tcp_reass/arm/include/exec.h#2 integrate .. //depot/projects/tcp_reass/arm/include/fiq.h#2 integrate .. //depot/projects/tcp_reass/arm/include/float.h#2 integrate .. //depot/projects/tcp_reass/arm/include/floatingpoint.h#2 integrate .. //depot/projects/tcp_reass/arm/include/fp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/frame.h#2 integrate .. //depot/projects/tcp_reass/arm/include/gdb_machdep.h#2 integrate .. //depot/projects/tcp_reass/arm/include/ieee.h#3 integrate .. //depot/projects/tcp_reass/arm/include/ieeefp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/in_cksum.h#2 integrate .. //depot/projects/tcp_reass/arm/include/intr.h#5 integrate .. //depot/projects/tcp_reass/arm/include/katelib.h#2 integrate .. //depot/projects/tcp_reass/arm/include/kdb.h#2 integrate .. //depot/projects/tcp_reass/arm/include/limits.h#2 integrate .. //depot/projects/tcp_reass/arm/include/machdep.h#3 integrate .. //depot/projects/tcp_reass/arm/include/md_var.h#3 integrate .. //depot/projects/tcp_reass/arm/include/memdev.h#3 integrate .. //depot/projects/tcp_reass/arm/include/metadata.h#3 integrate .. //depot/projects/tcp_reass/arm/include/minidump.h#2 integrate .. //depot/projects/tcp_reass/arm/include/mutex.h#2 integrate .. //depot/projects/tcp_reass/arm/include/param.h#4 integrate .. //depot/projects/tcp_reass/arm/include/pcb.h#2 integrate .. //depot/projects/tcp_reass/arm/include/pcpu.h#3 integrate .. //depot/projects/tcp_reass/arm/include/pmap.h#5 integrate .. //depot/projects/tcp_reass/arm/include/pmc_mdep.h#2 integrate .. //depot/projects/tcp_reass/arm/include/proc.h#3 integrate .. //depot/projects/tcp_reass/arm/include/profile.h#2 integrate .. //depot/projects/tcp_reass/arm/include/psl.h#2 integrate .. //depot/projects/tcp_reass/arm/include/pte.h#2 integrate .. //depot/projects/tcp_reass/arm/include/ptrace.h#2 integrate .. //depot/projects/tcp_reass/arm/include/reg.h#2 integrate .. //depot/projects/tcp_reass/arm/include/reloc.h#2 integrate .. //depot/projects/tcp_reass/arm/include/resource.h#3 integrate .. //depot/projects/tcp_reass/arm/include/runq.h#2 integrate .. //depot/projects/tcp_reass/arm/include/setjmp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sf_buf.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sigframe.h#2 integrate .. //depot/projects/tcp_reass/arm/include/signal.h#2 integrate .. //depot/projects/tcp_reass/arm/include/smp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/stack.h#2 integrate .. //depot/projects/tcp_reass/arm/include/stdarg.h#2 integrate .. //depot/projects/tcp_reass/arm/include/swi.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sysarch.h#4 integrate .. //depot/projects/tcp_reass/arm/include/trap.h#2 integrate .. //depot/projects/tcp_reass/arm/include/ucontext.h#2 integrate .. //depot/projects/tcp_reass/arm/include/undefined.h#2 integrate .. //depot/projects/tcp_reass/arm/include/utrap.h#2 integrate .. //depot/projects/tcp_reass/arm/include/vm.h#2 integrate .. //depot/projects/tcp_reass/arm/include/vmparam.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/bus_space.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/common.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/db78xxx.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/files.db78xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/std.db78xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/files.mv#3 integrate .. //depot/projects/tcp_reass/arm/mv/gpio.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/ic.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/db88f6xxx.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/files.db88f6xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/std.db88f6xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/mv_pci.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mv_sata.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mvreg.h#4 integrate .. //depot/projects/tcp_reass/arm/mv/mvvar.h#2 integrate .. //depot/projects/tcp_reass/arm/mv/mvwin.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/obio.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/db88f5xxx.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/orion/files.db88f5xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/orion.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/rtc.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/std.mv#2 integrate .. //depot/projects/tcp_reass/arm/mv/timer.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/twsi.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/sa11x0/files.sa11x0#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_dmacreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_gpioreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_io.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_io_asm.S#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_irq.S#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_irqhandler.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_ost.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_ostreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_ppcreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_reg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_var.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/std.sa11x0#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_bus_sa1110.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_cpu_sa1110.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_dev_sa1110.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_dev_sa1110.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.ep80219#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.i80219#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.i80321#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.iq31244#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_aau.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_dma.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_mcu.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq31244_7seg.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq31244_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq80321var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/obio_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/obiovar.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.ep80219#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.i80219#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.i80321#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.iq31244#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/uart_bus_i80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/uart_cpu_i80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/crb_machdep.c#6 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/files.i81342#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342_mcu.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/iq81342_7seg.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/iq81342reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/iq81342var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/obio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/obio_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/obiovar.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/std.crb#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/std.i81342#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/uart_bus_i81342.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/uart_cpu_i81342.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_ata.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_led.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_fled.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_led.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.avila#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.ixp425#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npe.c#7 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npereg.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixdp425_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixdp425reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425.c#6 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_a4x_io.S#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_a4x_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_iic.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_intr.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_mem.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npe.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npereg.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npevar.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_pci_asm.S#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_pci_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_qmgr.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_qmgr.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_timer.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_wdog.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425reg.h#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/std.avila#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/std.ixp425#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/std.ixp435#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/uart_cpu_ixp425.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/files.pxa#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/if_smc_smi.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_gpio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_icu.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_obio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_smi.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_timer.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxareg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxavar.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/std.pxa#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/uart_bus_pxa.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/uart_cpu_pxa.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/std.xscale#2 integrate .. //depot/projects/tcp_reass/arm/xscale/xscalereg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/xscalevar.h#2 integrate .. //depot/projects/tcp_reass/boot/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/arm/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/linker.cfg#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0iic/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0iic/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0spi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/board.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/bwct_board.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/centipad_board.c#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/kb920x_board.c#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/env_vars.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/loader_prompt.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/loader_prompt.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/ee.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/ee.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/env_vars.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/loader_prompt.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/arm_init.S#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/delay.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/getc.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/memcmp.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/memcpy.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/memset.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/reset.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/sd-card.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/spi_flash.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strcmp.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strcpy.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strcvt.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strlen.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/tag_list.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/tag_list.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/xmodem.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/linker.cfg#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/arm_init.S#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/boot2.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/cf_ata.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/ixp425_board.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/lib.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/help.uboot#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/ldscript.arm#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/start.S#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/version#2 integrate .. //depot/projects/tcp_reass/boot/common/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/common/bcache.c#2 integrate .. //depot/projects/tcp_reass/boot/common/boot.c#3 integrate .. //depot/projects/tcp_reass/boot/common/bootstrap.h#4 integrate .. //depot/projects/tcp_reass/boot/common/commands.c#2 integrate .. //depot/projects/tcp_reass/boot/common/console.c#2 integrate .. //depot/projects/tcp_reass/boot/common/dev_net.c#4 integrate .. //depot/projects/tcp_reass/boot/common/dev_net.h#2 integrate .. //depot/projects/tcp_reass/boot/common/devopen.c#3 integrate .. //depot/projects/tcp_reass/boot/common/help.common#2 integrate .. //depot/projects/tcp_reass/boot/common/interp.c#3 integrate .. //depot/projects/tcp_reass/boot/common/interp_backslash.c#2 integrate .. //depot/projects/tcp_reass/boot/common/interp_forth.c#2 integrate .. //depot/projects/tcp_reass/boot/common/interp_parse.c#2 integrate .. //depot/projects/tcp_reass/boot/common/isapnp.c#2 integrate .. //depot/projects/tcp_reass/boot/common/isapnp.h#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf.c#4 integrate .. //depot/projects/tcp_reass/boot/common/load_elf32.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf32_obj.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf64.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf64_obj.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf_obj.c#2 integrate .. //depot/projects/tcp_reass/boot/common/loader.8#3 integrate .. //depot/projects/tcp_reass/boot/common/ls.c#2 integrate .. //depot/projects/tcp_reass/boot/common/merge_help.awk#2 integrate .. //depot/projects/tcp_reass/boot/common/misc.c#3 integrate .. //depot/projects/tcp_reass/boot/common/module.c#3 integrate .. //depot/projects/tcp_reass/boot/common/newvers.sh#2 integrate .. //depot/projects/tcp_reass/boot/common/panic.c#2 integrate .. //depot/projects/tcp_reass/boot/common/pnp.c#2 integrate .. //depot/projects/tcp_reass/boot/common/reloc_elf.c#2 integrate .. //depot/projects/tcp_reass/boot/common/reloc_elf32.c#2 integrate .. //depot/projects/tcp_reass/boot/common/reloc_elf64.c#2 integrate .. //depot/projects/tcp_reass/boot/common/ufsread.c#4 integrate .. //depot/projects/tcp_reass/boot/efi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/efi/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/efi/include/README#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efi.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efi_nii.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efiapi.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/eficon.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efidebug.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efidef.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efidevp.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efierr.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efifpswa.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efifs.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efilib.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efinet.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efipart.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efiprot.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efipxebc.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efiser.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efistdarg.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/i386/pe.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/ia64/pe.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/delay.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/efi_console.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/efifs.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/efinet.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/errno.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/handles.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/libefi.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/time.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ficl/arm/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/arm/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/dict.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ficl.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ficl.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/fileaccess.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/float.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/i386/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/i386/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ia64/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ia64/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/loader.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/math64.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/math64.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/mips/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/mips/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/powerpc/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/powerpc/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/prefix.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/search.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/classes.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/ficlclass.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/ficllocal.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/fileaccess.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/forml.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/freebsd.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/ifbrack.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/jhlocal.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/marker.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/oo.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/prefix.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/softcore.awk#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/softcore.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/string.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/sparc64/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/sparc64/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/stack.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/testmain.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/tools.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/unix.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/vm.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/words.c#2 integrate .. //depot/projects/tcp_reass/boot/forth/beastie.4th#2 integrate .. //depot/projects/tcp_reass/boot/forth/frames.4th#2 integrate .. //depot/projects/tcp_reass/boot/forth/loader.4th#3 integrate .. //depot/projects/tcp_reass/boot/forth/loader.4th.8#2 integrate .. //depot/projects/tcp_reass/boot/forth/loader.conf#5 integrate .. //depot/projects/tcp_reass/boot/forth/loader.conf.5#3 integrate .. //depot/projects/tcp_reass/boot/forth/loader.rc#2 integrate .. //depot/projects/tcp_reass/boot/forth/pnp.4th#3 integrate .. //depot/projects/tcp_reass/boot/forth/screen.4th#2 integrate .. //depot/projects/tcp_reass/boot/forth/support.4th#3 integrate .. //depot/projects/tcp_reass/boot/i386/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot0/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot0/boot0.S#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot0/boot0ext.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot0ext/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot0sio/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/boot1.S#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/boot2.c#4 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/lib.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/sio.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btx/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btx/btx.S#4 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btxldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxcsu.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxsys.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxv86.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxv86.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/cdboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/cdboot/cdboot.s#3 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/gptboot.c#4 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/gptldr.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/gptzfsboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/boot.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/crt.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/kgzldr.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/lib.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/sio.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/start.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/dconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/firewire.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/fwohci.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/fwohci.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/fwohcireg.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/amd64_tramp.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosacpi.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bioscd.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosdisk.c#6 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosmem.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biospci.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biospnp.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biossmap.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bootinfo.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bootinfo32.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bootinfo64.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/comconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/devicename.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/elf64_freebsd.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/i386_copy.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/i386_module.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/libi386.h#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/nullconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pread.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pxe.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pxe.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pxetramp.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/smbios.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/time.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/vidconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/loader/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/loader/conf.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/loader/help.i386#2 integrate .. //depot/projects/tcp_reass/boot/i386/loader/loader.rc#2 integrate .. //depot/projects/tcp_reass/boot/i386/loader/main.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/loader/version#2 integrate .. //depot/projects/tcp_reass/boot/i386/mbr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/mbr/mbr.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/pmbr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/pmbr/pmbr.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/pxeboot.8#3 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/pxeldr.S#4 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/zfsboot.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/zfsldr.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/ia64/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/ia64/common/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ia64/common/autoload.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/bootinfo.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/copy.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/devicename.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/exec.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/efimd.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/ldscript.ia64#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/main.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/start.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/version#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/acpi_stub.c#3 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/delay.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/efi_stub.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/exit.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/ldscript.ia64#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/libski.h#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/main.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/pal_stub.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/sal_stub.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skiconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skifs.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skiload.cmd#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skimd.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/ssc.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/start.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/time.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/version#2 integrate .. //depot/projects/tcp_reass/boot/ofw/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/ofw/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/ofw/common/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/ofw/common/main.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/devicename.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/elf_freebsd.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/libofw.h#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_console.c#4 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_copy.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_disk.c#3 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_memory.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_module.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_net.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_reboot.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_time.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/openfirm.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/openfirm.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/ldscript#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/putssjis.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/selector.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/start.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/support.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/syscons.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0/boot0.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/asm.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/asm.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/bios.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/boot.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/boot2.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/dinode.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/disk.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/fs.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/inode.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/io.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/probe_keyboard.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/quota.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/serial.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/serial_16550.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/serial_8251.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/start.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/sys.c#3 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/table.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btx/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btxldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btxldr/btxldr.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxcsu.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxsys.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxv86.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxv86.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/cdboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/cdboot/cdboot.s#3 integrate .. //depot/projects/tcp_reass/boot/pc98/kgzldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/kgzldr/crt.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/bioscd.c#3 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biosdisk.c#4 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biosmem.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biossmap.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/comconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/i386_module.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/time.c#3 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/vidconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/help.pc98#2 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/main.c#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/powerpc/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/Makefile.hfs#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/boot1.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/bootinfo.txt#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/generate-hfs.sh#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/hfs.tmpl.bz2.uu#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/conf.c#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/help.ofw#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/ldscript.powerpc#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/metadata.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/start.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/version#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/conf.c#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/help.uboot#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/ldscript.powerpc#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/start.S#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/version#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/boot1/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/boot1/_start.s#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/boot1/boot1.c#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/help.sparc64#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/locore.S#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/metadata.c#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/version#2 integrate .. //depot/projects/tcp_reass/boot/uboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/uboot/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/uboot/common/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/uboot/common/main.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/common/metadata.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/api_public.h#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/console.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/copy.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/devicename.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/disk.c#4 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/elf_freebsd.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/glue.h#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/module.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/net.c#4 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/reboot.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/time.c#3 integrate .. //depot/projects/tcp_reass/boot/zfs/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/zfs/zfs.c#2 integrate .. //depot/projects/tcp_reass/boot/zfs/zfsimpl.c#3 integrate .. //depot/projects/tcp_reass/bsm/audit.h#3 integrate .. //depot/projects/tcp_reass/bsm/audit_domain.h#2 integrate .. //depot/projects/tcp_reass/bsm/audit_errno.h#2 integrate .. //depot/projects/tcp_reass/bsm/audit_fcntl.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 3 10:24:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB1A31065693; Fri, 3 Jul 2009 10:24:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96D1A106568D for ; Fri, 3 Jul 2009 10:24:45 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 849008FC19 for ; Fri, 3 Jul 2009 10:24:45 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63AOjnH060040 for ; Fri, 3 Jul 2009 10:24:45 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63AOjwP060038 for perforce@freebsd.org; Fri, 3 Jul 2009 10:24:45 GMT (envelope-from andre@freebsd.org) Date: Fri, 3 Jul 2009 10:24:45 GMT Message-Id: <200907031024.n63AOjwP060038@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 165565 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 10:24:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=165565 Change 165565 by andre@andre_t61 on 2009/07/03 10:24:02 Undo the undo of the previous integration. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_sack.c#6 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_sack.c#6 (text+ko) ==== @@ -148,108 +148,6 @@ "Global number of TCP SACK holes currently allocated"); /* - * This function is called upon receipt of new valid data (while not in - * header prediction mode), and it updates the ordered list of sacks. - */ -void -tcp_update_sack_list(struct tcpcb *tp, tcp_seq rcv_start, tcp_seq rcv_end) -{ - /* - * First reported block MUST be the most recent one. Subsequent - * blocks SHOULD be in the order in which they arrived at the - * receiver. These two conditions make the implementation fully - * compliant with RFC 2018. - */ - struct sackblk head_blk, saved_blks[MAX_SACK_BLKS]; - int num_head, num_saved, i; - - INP_WLOCK_ASSERT(tp->t_inpcb); - - /* Check arguments. */ - KASSERT(SEQ_LT(rcv_start, rcv_end), ("rcv_start < rcv_end")); - - /* SACK block for the received segment. */ - head_blk.start = rcv_start; - head_blk.end = rcv_end; - - /* - * Merge updated SACK blocks into head_blk, and save unchanged SACK - * blocks into saved_blks[]. num_saved will have the number of the - * saved SACK blocks. - */ - num_saved = 0; - for (i = 0; i < tp->rcv_numsacks; i++) { - tcp_seq start = tp->sackblks[i].start; - tcp_seq end = tp->sackblks[i].end; - if (SEQ_GEQ(start, end) || SEQ_LEQ(start, tp->rcv_nxt)) { - /* - * Discard this SACK block. - */ - } else if (SEQ_LEQ(head_blk.start, end) && - SEQ_GEQ(head_blk.end, start)) { - /* - * Merge this SACK block into head_blk. This SACK - * block itself will be discarded. - */ - if (SEQ_GT(head_blk.start, start)) - head_blk.start = start; - if (SEQ_LT(head_blk.end, end)) - head_blk.end = end; - } else { - /* - * Save this SACK block. - */ - saved_blks[num_saved].start = start; - saved_blks[num_saved].end = end; - num_saved++; - } - } - - /* - * Update SACK list in tp->sackblks[]. - */ - num_head = 0; - if (SEQ_GT(head_blk.start, tp->rcv_nxt)) { - /* - * The received data segment is an out-of-order segment. Put - * head_blk at the top of SACK list. - */ - tp->sackblks[0] = head_blk; - num_head = 1; - /* - * If the number of saved SACK blocks exceeds its limit, - * discard the last SACK block. - */ - if (num_saved >= MAX_SACK_BLKS) - num_saved--; - } - if (num_saved > 0) { - /* - * Copy the saved SACK blocks back. - */ - bcopy(saved_blks, &tp->sackblks[num_head], - sizeof(struct sackblk) * num_saved); - } - - /* Save the number of SACK blocks. */ - tp->rcv_numsacks = num_head + num_saved; -} - -/* - * Delete all receiver-side SACK information. - */ -void -tcp_clean_sackreport(struct tcpcb *tp) -{ - int i; - - INP_WLOCK_ASSERT(tp->t_inpcb); - tp->rcv_numsacks = 0; - for (i = 0; i < MAX_SACK_BLKS; i++) - tp->sackblks[i].start = tp->sackblks[i].end=0; -} - -/* * Allocate struct sackhole. */ static struct sackhole * From owner-p4-projects@FreeBSD.ORG Fri Jul 3 15:38:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DC601065674; Fri, 3 Jul 2009 15:38:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42FC41065672 for ; Fri, 3 Jul 2009 15:38:27 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 30E678FC21 for ; Fri, 3 Jul 2009 15:38:27 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63FcRrF098864 for ; Fri, 3 Jul 2009 15:38:27 GMT (envelope-from sson@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63FcRXk098862 for perforce@freebsd.org; Fri, 3 Jul 2009 15:38:27 GMT (envelope-from sson@FreeBSD.org) Date: Fri, 3 Jul 2009 15:38:27 GMT Message-Id: <200907031538.n63FcRXk098862@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sson@FreeBSD.org using -f From: Stacey Son To: Perforce Change Reviews Cc: Subject: PERFORCE change 165566 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 15:38:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=165566 Change 165566 by sson@sson_amd64 on 2009/07/03 15:38:08 Initial import of the amt utility. The amt (Abstract Machine Testing) utility is used to verify that the low level functions necessary to enforce the requirements of the Controlled Access Protection Profile (CAPP) are working correctly. Affected files ... .. //depot/projects/trustedbsd/amt#1 add .. //depot/projects/trustedbsd/amt/CREDITS#1 add .. //depot/projects/trustedbsd/amt/INSTALL#1 add .. //depot/projects/trustedbsd/amt/Makefile#1 add .. //depot/projects/trustedbsd/amt/README#1 add .. //depot/projects/trustedbsd/amt/amt.8#1 add .. //depot/projects/trustedbsd/amt/amt.c#1 add .. //depot/projects/trustedbsd/amt/amt.h#1 add .. //depot/projects/trustedbsd/amt/fault_test.c#1 add .. //depot/projects/trustedbsd/amt/mem_sep.c#1 add .. //depot/projects/trustedbsd/amt/memory.c#1 add .. //depot/projects/trustedbsd/amt/priv_inst.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 3 16:21:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC2551065679; Fri, 3 Jul 2009 16:21:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53E1D106566C for ; Fri, 3 Jul 2009 16:21:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 276C78FC1D for ; Fri, 3 Jul 2009 16:21:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63GLEp3003081 for ; Fri, 3 Jul 2009 16:21:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63GLD1n003079 for perforce@freebsd.org; Fri, 3 Jul 2009 16:21:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 3 Jul 2009 16:21:13 GMT Message-Id: <200907031621.n63GLD1n003079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165568 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 16:21:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=165568 Change 165568 by hselasky@hselasky_laptop001 on 2009/07/03 16:20:53 USB audio: - fix regression issue introduced recently. - reported by: MIHIRA Sanpei Yoshiro Affected files ... .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#52 edit Differences ... ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#52 (text+ko) ==== @@ -1256,7 +1256,7 @@ for (n = 0; n != nframes; n++) { offset1 = offset0; - pc = usbd_xfer_get_frame(xfer, n); + pc = usbd_xfer_get_frame(xfer, 0); len = usbd_xfer_frame_len(xfer, n); while (len > 0) { From owner-p4-projects@FreeBSD.ORG Fri Jul 3 17:06:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68167106566C; Fri, 3 Jul 2009 17:06:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26C0A1065672 for ; Fri, 3 Jul 2009 17:06:03 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 13A1E8FC16 for ; Fri, 3 Jul 2009 17:06:03 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63H63ql017243 for ; Fri, 3 Jul 2009 17:06:03 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63H63FH017241 for perforce@freebsd.org; Fri, 3 Jul 2009 17:06:03 GMT (envelope-from gk@FreeBSD.org) Date: Fri, 3 Jul 2009 17:06:03 GMT Message-Id: <200907031706.n63H63FH017241@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 165570 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 17:06:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165570 Change 165570 by gk@gk_h1 on 2009/07/03 17:05:56 temporally use rc4 for encryption Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#5 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#2 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#5 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#4 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#5 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#5 (text+ko) ==== @@ -59,16 +59,16 @@ char pk_data[PEFS_KEY_SIZE]; }; -struct pefs_node_key { - struct pefs_key *pnk_key; - char pnk_tweak[PEFS_TWEAK_SIZE]; +struct pefs_tkey { + struct pefs_key *ptk_key; + char ptk_tweak[PEFS_TWEAK_SIZE]; }; struct pefs_node { LIST_ENTRY(pefs_node) pn_hash; /* Hash list */ struct vnode *pn_lowervp; /* VREFed once */ struct vnode *pn_vnode; /* Back pointer */ - struct pefs_node_key pn_key; + struct pefs_tkey pn_tkey; }; struct pefs_mount { @@ -131,16 +131,19 @@ int pefs_init(struct vfsconf *vfsp); int pefs_uninit(struct vfsconf *vfsp); -int pefs_node_get(struct mount *mp, struct vnode *target, struct vnode **vpp); +int pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp, struct pefs_tkey *ptk); void pefs_node_free(struct pefs_node *xp); +struct pefs_key* pefs_node_key(struct pefs_node *pn); +struct pefs_tkey* pefs_node_tkey(struct pefs_node *pn); -void pefs_data_encrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc); -void pefs_data_encrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size); -void pefs_data_decrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc); -void pefs_data_decrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size); +void pefs_data_encrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); +void pefs_data_encrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size); +void pefs_data_decrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); +void pefs_data_decrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size); + +int pefs_name_encrypt(struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size); +int pefs_name_decrypt(struct pefs_key *pk, struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, size_t plain_size); -int pefs_name_encrypt(struct pefs_node_key *pnk, const char *plain, size_t plain_len, char *enc, size_t enc_size); -int pefs_name_decrypt(struct pefs_node_key *pnk, const char *enc, size_t enc_len, char *plain, size_t plain_size); int pefs_name_ntop(u_char const *src, size_t srclength, char *target, size_t targsize); int pefs_name_pton(char const *src, size_t srclen, u_char *target, size_t targsize); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#2 (text+ko) ==== @@ -32,9 +32,11 @@ #include #include +#include + #include - +#if 0 static void pefs_xor(void *mem, size_t size) { @@ -60,25 +62,63 @@ pefs_xor(mem, size); } } +#endif -void pefs_data_encrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc) +void +pefs_data_encrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) { - pefs_xor_chunk(pc); + long arg = 0; + char *mem; + size_t size; + + if (ptk->ptk_key == NULL) { + PEFSDEBUG("!!! %s: NULL ptk_key\n", __func__); + return; + } + if (offset % PEFS_BLOCK != 0) { + PEFSDEBUG("!!! %s: invalid offset %jd\n", __func__, offset); + return; + } + + // FIXME + struct rc4_state rc4state; + rc4_init(&rc4state, ptk->ptk_key->pk_data, PEFS_KEY_SIZE); + while (1) { + mem = pefs_chunk_get(pc, &size, &arg); + if (mem == NULL) + break; + rc4_crypt(&rc4state, mem, mem, size); + } } -void pefs_data_encrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size) +void +pefs_data_encrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size) { - pefs_xor(mem, size); + if (ptk->ptk_key == NULL) { + PEFSDEBUG("!!! %s: NULL ptk_key\n", __func__); + return; + } + if (offset % PEFS_BLOCK != 0) { + PEFSDEBUG("!!! %s: invalid offset %jd\n", __func__, offset); + return; + } + + // FIXME + struct rc4_state rc4state; + rc4_init(&rc4state, ptk->ptk_key->pk_data, PEFS_KEY_SIZE); + rc4_crypt(&rc4state, mem, mem, size); } -void pefs_data_decrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc) +void +pefs_data_decrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) { - pefs_xor_chunk(pc); + pefs_data_encrypt(ptk, offset, pc); } -void pefs_data_decrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size) +void +pefs_data_decrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size) { - pefs_xor(mem, size); + pefs_data_encrypt_buf(ptk, offset, mem, size); } /* @@ -107,13 +147,18 @@ } int -pefs_name_encrypt(struct pefs_node_key *pnk, const char *plain, size_t plain_len, char *enc, size_t enc_size) +pefs_name_encrypt(struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size) { char *buf; size_t size; u_short csum; int r; + if (ptk == NULL || ptk->ptk_key == NULL) { + PEFSDEBUG("!!!! %s: NULL key\n", __func__); + return (-1); + } + size = PEFS_TWEAK_SIZE + plain_len + PEFS_NAME_CSUM_SIZE; if (enc_size < PEFS_NAME_NTOP_SIZE(size)) { PEFSDEBUG("%s: encname buffer is too short: length=%d; required=%d\n", @@ -123,15 +168,16 @@ buf = malloc(size, M_PEFSBUF, M_WAITOK); - memcpy(buf, pnk->pnk_tweak, PEFS_TWEAK_SIZE); + memcpy(buf, ptk->ptk_tweak, PEFS_TWEAK_SIZE); memcpy(buf + PEFS_TWEAK_SIZE, plain, plain_len); bzero(buf + size - PEFS_NAME_CSUM_SIZE, PEFS_NAME_CSUM_SIZE); csum = pefs_name_checksum(buf, size); memcpy(buf + size - PEFS_NAME_CSUM_SIZE, &csum, PEFS_NAME_CSUM_SIZE); // FIXME - for (int i = 0; i < size; i++) - buf[i] ^= 0xAA + i; + struct rc4_state rc4state; + rc4_init(&rc4state, ptk->ptk_key->pk_name, PEFS_KEY_SIZE); + rc4_crypt(&rc4state, buf, buf, size); r = pefs_name_ntop(buf, size, enc, enc_size); @@ -143,11 +189,16 @@ } int -pefs_name_decrypt(struct pefs_node_key *pnk, const char *enc, size_t enc_len, char *plain, size_t plain_size) +pefs_name_decrypt(struct pefs_key *pk, struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, size_t plain_size) { u_short csum; int r; + if (pk == NULL) { + PEFSDEBUG("!!!! %s: NULL pk\n", __func__); + return (-1); + } + r = pefs_name_pton(enc, enc_len, plain, plain_size); if (r < 0 || r <= PEFS_TWEAK_SIZE + PEFS_NAME_CSUM_SIZE) { PEFSDEBUG("%s: error: r=%d\n", __func__, r); @@ -155,15 +206,20 @@ } // FIXME - for (int i = 0; i < r; i++) - plain[i] ^= 0xAA + i; + struct rc4_state rc4state; + rc4_init(&rc4state, pk->pk_name, PEFS_KEY_SIZE); + rc4_crypt(&rc4state, plain, plain, r); csum = pefs_name_checksum(plain, r); if (csum != 0) { PEFSDEBUG("%s: invalid csum = %d\n", __func__, csum); return (-1); } - memcpy(plain, pnk->pnk_tweak, PEFS_TWEAK_SIZE); + + if (ptk) { + ptk->ptk_key = pk; + memcpy(plain, ptk->ptk_tweak, PEFS_TWEAK_SIZE); + } r -= PEFS_TWEAK_SIZE + PEFS_NAME_CSUM_SIZE; memcpy(plain, plain + PEFS_TWEAK_SIZE, r); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#5 (text+ko) ==== @@ -186,7 +186,7 @@ * the caller's "spare" reference to created pefs vnode. */ int -pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp) +pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp, struct pefs_tkey *ptk) { struct pefs_node *xp; struct vnode *vp; @@ -221,6 +221,12 @@ return (error); } + if (ptk != NULL) + xp->pn_tkey = *ptk; + + if (!ptk) + PEFSDEBUG("%s: creating node without key: %p: %p->%p\n", __func__, xp, vp, lowervp); + xp->pn_vnode = vp; xp->pn_lowervp = lowervp; vp->v_type = lowervp->v_type; @@ -261,6 +267,28 @@ free(xp, M_PEFSNODE); } +struct pefs_key* +pefs_node_key(struct pefs_node *pn) +{ + if (pn->pn_tkey.ptk_key == NULL) { + PEFSDEBUG("!!!!! %s: key is not set: pn=%p\n", __func__, pn); + // FIXME !!!!! + pn->pn_tkey.ptk_key = SLIST_FIRST(&VFS_TO_PEFS(pn->pn_vnode->v_mount)->pm_keys); + } + return (pn->pn_tkey.ptk_key); + +} + +struct pefs_tkey* +pefs_node_tkey(struct pefs_node *pn) +{ + if (pn->pn_tkey.ptk_key == NULL) { + pefs_node_key(pn); + } + return (&pn->pn_tkey); + +} + struct pefs_chunk* pefs_chunk_create(size_t size) { ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#4 (text+ko) ==== @@ -67,6 +67,9 @@ int isvnunlocked = 0, len; struct nameidata nd, *ndp = &nd; + // FIXME + struct pefs_key *pk; + PEFSDEBUG("pefs_mount(mp = %p)\n", (void *)mp); if (mp->mnt_flag & MNT_ROOTFS) @@ -129,9 +132,18 @@ return (EDEADLK); } + // FIXME + pk = malloc(sizeof(struct pefs_key), M_PEFSBUF, M_WAITOK | M_ZERO); + memset(pk->pk_data, 0xaa, PEFS_KEY_SIZE); + memset(pk->pk_name, 0xbb, PEFS_KEY_SIZE); + xmp = (struct pefs_mount *) malloc(sizeof(struct pefs_mount), M_PEFSMNT, M_WAITOK); /* XXX */ + SLIST_INIT(&xmp->pm_keys); + // FIXME + SLIST_INSERT_HEAD(&xmp->pm_keys, pk, pk_entry); + /* * Save reference to underlying FS */ @@ -141,7 +153,7 @@ * Save reference. Each mount also holds * a reference on the root vnode. */ - error = pefs_node_get(mp, lowerrootvp, &vp); + error = pefs_node_get(mp, lowerrootvp, &vp, NULL); /* * Make sure the node alias worked */ @@ -189,7 +201,7 @@ static int pefs_unmount(struct mount *mp, int mntflags) { - void *mntdata; + struct pefs_mount *pm; int error; int flags = 0; @@ -206,9 +218,11 @@ /* * Finally, throw away the pefs_mount structure */ - mntdata = mp->mnt_data; + pm = VFS_TO_PEFS(mp); mp->mnt_data = 0; - free(mntdata, M_PEFSMNT); + //FIXME + free(SLIST_FIRST(&pm->pm_keys), M_PEFSMNT); + free(pm, M_PEFSMNT); return 0; } @@ -288,7 +302,7 @@ if (error) return (error); - return (pefs_node_get(mp, *vpp, vpp)); + return (pefs_node_get(mp, *vpp, vpp, NULL)); } static int @@ -300,7 +314,7 @@ if (error) return (error); - error = pefs_node_get(mp, *vpp, vpp); + error = pefs_node_get(mp, *vpp, vpp, NULL); printf("pefs_fhtovp: error=%d; vp=%p; v_object=%p\n", error, !error ? *vpp : NULL, !error ? (*vpp)->v_object : NULL); if (error) @@ -332,3 +346,4 @@ }; VFS_SET(pefs_vfsops, pefs, VFCF_LOOPBACK); +MODULE_DEPEND(pefs, rc4, 1, 1, 1); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#5 (text+ko) ==== @@ -78,6 +78,7 @@ struct pefs_enccn { struct componentname pec_cn; void *pec_buf; + struct pefs_tkey pec_tkey; }; static inline int @@ -95,13 +96,18 @@ } static void -pefs_enccn_init(struct pefs_enccn *pec, char *encname, int encname_len, struct componentname *cnp) +pefs_enccn_init(struct pefs_enccn *pec, struct pefs_tkey *ptk, char *encname, int encname_len, struct componentname *cnp) { MPASS(pec != NULL && cnp != NULL); if (encname_len >= MAXPATHLEN) panic("invalid encrypted name length: %d", encname_len); + if (ptk) { + pec->pec_tkey = *ptk; + } else { + pec->pec_tkey.ptk_key = NULL; + } pec->pec_cn = *cnp; pec->pec_buf = uma_zalloc(namei_zone, M_WAITOK); memcpy(pec->pec_buf, encname, encname_len); @@ -116,20 +122,21 @@ static int pefs_enccn_create(struct pefs_enccn *pec, struct pefs_key *pk, struct componentname *cnp) { - struct pefs_node_key pnk; int r; MPASS(pec != NULL && cnp != NULL); pec->pec_cn = *cnp; if (/* pk == NULL || */ (cnp->cn_flags & ISDOTDOT) || pefs_name_skip(cnp->cn_nameptr, cnp->cn_namelen)) { - pefs_enccn_init(pec, cnp->cn_nameptr, cnp->cn_namelen, cnp); + pefs_enccn_init(pec, NULL, cnp->cn_nameptr, cnp->cn_namelen, cnp); return (0); } + arc4rand(pec->pec_tkey.ptk_tweak, PEFS_TWEAK_SIZE, 0); + pec->pec_tkey.ptk_key = pk; + PEFSDEBUG("%s: pk=%p\n", __func__, pk); pec->pec_buf = uma_zalloc(namei_zone, M_WAITOK); - pnk.pnk_key = pk; - arc4rand(pnk.pnk_tweak, PEFS_TWEAK_SIZE, 0); - r = pefs_name_encrypt(&pnk, cnp->cn_nameptr, cnp->cn_namelen, pec->pec_buf, MAXPATHLEN); + r = pefs_name_encrypt(&pec->pec_tkey, + cnp->cn_nameptr, cnp->cn_namelen, pec->pec_buf, MAXPATHLEN); if (r <= 0) { uma_zfree(namei_zone, pec->pec_buf); return (EIO); @@ -156,9 +163,8 @@ } static struct dirent* -pefs_enccn_lookup_dirent(void *mem, size_t sz, char *name, int namelen, char *buf, size_t buf_sz) +pefs_enccn_lookup_dirent(struct pefs_key *pk, struct pefs_tkey *ptk, void *mem, size_t sz, char *name, int namelen, char *buf, size_t buf_sz) { - struct pefs_node_key pnk; struct dirent *de; int d_namelen; int de_len; @@ -170,7 +176,7 @@ de_len = GENERIC_DIRSIZ(de); if (pefs_name_skip(de->d_name, de->d_namlen)) continue; - d_namelen = pefs_name_decrypt(&pnk, de->d_name, de->d_namlen, buf, buf_sz); + d_namelen = pefs_name_decrypt(pk, ptk, de->d_name, de->d_namlen, buf, buf_sz); PEFSDEBUG("%s =>; res=%d; %.*s --> %.*s\n", __func__, d_namelen, de->d_namlen, de->d_name, d_namelen < 0 ? 0 : d_namelen, buf); @@ -186,9 +192,11 @@ pefs_enccn_lookup(struct pefs_enccn *pec, struct vnode *dvp, struct componentname *cnp) { struct dirent *de; - struct pefs_chunk *pc; struct uio *uio; struct vnode *ldvp = PEFS_LOWERVP(dvp); + struct pefs_chunk *pc; + struct pefs_key *dpn_key; + struct pefs_tkey ptk; char *namebuf; off_t offset; int error, eofflag; @@ -196,34 +204,18 @@ MPASS(pec != NULL && dvp != NULL && cnp != NULL); if ((cnp->cn_flags & ISDOTDOT) || pefs_name_skip(cnp->cn_nameptr, cnp->cn_namelen)) { - pefs_enccn_init(pec, cnp->cn_nameptr, cnp->cn_namelen, cnp); + pefs_enccn_init(pec, NULL, cnp->cn_nameptr, cnp->cn_namelen, cnp); return (0); } - const char *op; - switch (cnp->cn_nameiop & OPMASK) { - case LOOKUP: - op = "LOOKUP"; - break; - case CREATE: - op = "CREATE"; - break; - case DELETE: - op = "DELETE"; - break; - case RENAME: - op = "RENAME"; - break; - default: - op = NULL; - } - PEFSDEBUG("XXX pefs_enccn_lookup: name=%.*s op=%s\n", (int) cnp->cn_namelen, cnp->cn_nameptr, op); + PEFSDEBUG("pefs_enccn_lookup: name=%.*s op=%d\n", (int) cnp->cn_namelen, cnp->cn_nameptr, (int) cnp->cn_nameiop); pc = pefs_chunk_create(PAGE_SIZE); namebuf = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); offset = 0; eofflag = 0; de = NULL; + dpn_key = pefs_node_key(VP_TO_PN(dvp)); while (!eofflag && de == NULL) { long arg = 0; @@ -236,7 +228,6 @@ return (error); } - printf("%s: size = %d\n", __func__, pc->pc_size - uio->uio_resid); pefs_chunk_shrink(pc, pc->pc_size - uio->uio_resid); while (1) { size_t size; @@ -245,7 +236,7 @@ mem = pefs_chunk_get(pc, &size, &arg); if (mem == NULL) break; - de = pefs_enccn_lookup_dirent(mem, size, + de = pefs_enccn_lookup_dirent(dpn_key, &ptk, mem, size, cnp->cn_nameptr, cnp->cn_namelen, namebuf, MAXNAMLEN + 1); if (de != NULL) @@ -256,7 +247,7 @@ if (de != NULL) { PEFSDEBUG("%s: dirent found: %.*s\n", __func__, de->d_namlen, de->d_name); - pefs_enccn_init(pec, de->d_name, de->d_namlen, cnp); + pefs_enccn_init(pec, &ptk, de->d_name, de->d_namlen, cnp); } pefs_chunk_free(pc); @@ -274,8 +265,9 @@ error = pefs_enccn_lookup(pec, dvp, cnp); PEFSDEBUG("%s: lookup error = %d\n", __func__, error); - if (error == ENOENT) - error = pefs_enccn_create(pec, NULL, cnp); + if (error == ENOENT) { + error = pefs_enccn_create(pec, pefs_node_key(VP_TO_PN(dvp)), cnp); + } PEFSDEBUG("%s: returning = %d\n", __func__, error); return (error); @@ -306,7 +298,7 @@ * problems on rmdir'ing mount points and renaming?) */ static int -pefs_bypass(struct vop_generic_args *ap, struct pefs_enccn *enccn) +pefs_bypass(struct vop_generic_args *ap, struct pefs_tkey *ptk) { struct vnode **this_vp_p; int error; @@ -400,7 +392,7 @@ if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET && !(descp->vdesc_flags & VDESC_NOMAP_VPP) && !error) { - if (enccn == NULL) { + if (ptk == NULL) { printf("PANIC: vop_bypass: map of outgoing vnode without encrypted name: %s", descp->vdesc_name); // panic("vop_bypass: map of outgoing vnode without encrypted name: %s", descp->vdesc_name); } @@ -415,7 +407,7 @@ vppp = VOPARG_OFFSETTO(struct vnode***, descp->vdesc_vpp_offset,ap); if (*vppp) - error = pefs_node_get(old_vps[0]->v_mount, **vppp, *vppp); + error = pefs_node_get(old_vps[0]->v_mount, **vppp, *vppp, ptk); } out: @@ -478,7 +470,7 @@ VREF(dvp); vrele(lvp); } else { - error = pefs_node_get(dvp->v_mount, lvp, &vp); + error = pefs_node_get(dvp->v_mount, lvp, &vp, &enccn.pec_tkey); if (error) { vput(lvp); } else { @@ -974,34 +966,30 @@ } static void -pefs_readdir_decrypt(void *mem, size_t sz) +pefs_readdir_decrypt(struct pefs_key *pk, void *mem, size_t sz, char *buf, size_t buf_sz) { - struct pefs_node_key pnk; struct dirent *de; - char *d_name; int d_namelen; int de_len; - d_name = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); for (de = (struct dirent*) mem; sz > 0; sz -= de_len, de = (struct dirent *)(((caddr_t)de) + de_len)) { de_len = GENERIC_DIRSIZ(de); if (pefs_name_skip(de->d_name, de->d_namlen)) continue; - d_namelen = pefs_name_decrypt(&pnk, de->d_name, de->d_namlen, d_name, MAXPATHLEN + 1); + d_namelen = pefs_name_decrypt(pk, NULL, de->d_name, de->d_namlen, buf, buf_sz); PEFSDEBUG("%s =>; res=%d; %.*s --> %.*s\n", __func__, d_namelen, de->d_namlen, de->d_name, - d_namelen < 0 ? 0 : d_namelen, d_name); + d_namelen < 0 ? 0 : d_namelen, buf); if (d_namelen > 0) { /* * Do not change d_reclen */ - strlcpy(de->d_name, d_name, de->d_namlen + 1); + strlcpy(de->d_name, buf, de->d_namlen + 1); de->d_namlen = d_namelen; } } - free(d_name, M_PEFSBUF); } static int @@ -1009,7 +997,10 @@ { struct uio *uio = ap->a_uio; struct uio *puio; + struct pefs_node *pn = VP_TO_PN(ap->a_vp); + struct pefs_key *pn_key; struct pefs_chunk *pc; + char *buf; int o_resid; int error; @@ -1019,7 +1010,9 @@ ap->a_uio = puio; error = pefs_bypass((struct vop_generic_args *)ap, NULL); ap->a_uio = uio; + pn_key = pefs_node_key(pn); PEFSDEBUG("%s => %d; ncookies=%d\n", __func__, error, ap->a_ncookies ? *ap->a_ncookies : -1); + buf = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); if (!error) { long arg = 0; char *mem; @@ -1032,12 +1025,13 @@ if (mem == NULL) break; printf("%s: convert mem=%p; size=%d\n", __func__, mem, size); - pefs_readdir_decrypt(mem, size); + pefs_readdir_decrypt(pn_key, mem, size, buf, MAXNAMLEN + 1); } pefs_chunk_copy(pc, 0, uio); uio->uio_offset = puio->uio_offset; uio->uio_resid = puio->uio_resid; } + free(buf, M_PEFSBUF); pefs_chunk_free(pc); return (error); } @@ -1058,7 +1052,7 @@ } ap->a_cnp = &enccn.pec_cn; - error = pefs_bypass((struct vop_generic_args *)ap, &enccn); + error = pefs_bypass((struct vop_generic_args *)ap, &enccn.pec_tkey); ap->a_cnp = cnp; pefs_enccn_free(&enccn); @@ -1114,7 +1108,7 @@ PEFSDEBUG("%s: cn_nameiop=%lx, cn_nameptr=%.*s\n", __func__, cnp->cn_nameiop, (int) cnp->cn_namelen, cnp->cn_nameptr); ap->a_cnp = &enccn.pec_cn; - error = pefs_bypass((struct vop_generic_args *)ap, &enccn); + error = pefs_bypass((struct vop_generic_args *)ap, &enccn.pec_tkey); ap->a_cnp = cnp; pefs_enccn_free(&enccn); @@ -1188,30 +1182,30 @@ size_t target_len; int error; + error = pefs_enccn_lookup_create(&enccn, dvp, cnp); + if (error) { + return (error); + } + target_len = strlen(ap->a_target); penc_target_len = PEFS_NAME_NTOP_SIZE(target_len) + 1; enc_target = malloc(target_len, M_PEFSBUF, M_WAITOK); penc_target = malloc(penc_target_len, M_PEFSBUF, M_WAITOK); memcpy(enc_target, target, target_len); - pefs_data_encrypt_buf(NULL, 0, enc_target, target_len); + pefs_data_encrypt_buf(&enccn.pec_tkey, 0, enc_target, target_len); pefs_name_ntop(enc_target, target_len, penc_target, penc_target_len); free(enc_target, M_PEFSBUF); enc_target = NULL; - error = pefs_enccn_lookup_create(&enccn, dvp, cnp); - if (error) { - return (error); - } - PEFSDEBUG("%s: %.*s; target=%s penc_target=%s\n", __func__, (int) cnp->cn_namelen, cnp->cn_nameptr, target, penc_target); ldvp = PEFS_LOWERVP(ap->a_dvp); error = VOP_SYMLINK(ldvp, &lvpp, &enccn.pec_cn, ap->a_vap, penc_target); if (!error) { - error = pefs_node_get(dvp->v_mount, lvpp, &vpp); + error = pefs_node_get(dvp->v_mount, lvpp, &vpp, &enccn.pec_tkey); if (error) vput(lvpp); else @@ -1232,6 +1226,7 @@ struct uio *uio = ap->a_uio; struct uio *puio; struct pefs_chunk *pc; + struct pefs_node *pn = VP_TO_PN(vp); off_t o_offset; int o_resid; int error; @@ -1261,7 +1256,7 @@ if (target_len < 0) { error = EIO; } else { - pefs_data_decrypt_buf(NULL, 0, target, target_len); + pefs_data_decrypt_buf(pefs_node_tkey(pn), 0, target, target_len); PEFSDEBUG("%s: target=%.*s\n", __func__, target_len, target); uiomove(target, target_len, uio); } @@ -1288,7 +1283,7 @@ PEFSDEBUG("%s: cn_nameiop=%lx, cn_nameptr=%.*s\n", __func__, cnp->cn_nameiop, (int) cnp->cn_namelen, cnp->cn_nameptr); ap->a_cnp = &enccn.pec_cn; - error = pefs_bypass((struct vop_generic_args *)ap, &enccn); + error = pefs_bypass((struct vop_generic_args *)ap, &enccn.pec_tkey); ap->a_cnp = cnp; pefs_enccn_free(&enccn); @@ -1350,7 +1345,7 @@ int done = pc->pc_size - puio->uio_resid; if (done > skip_begin) { pefs_chunk_shrink(pc, done); - pefs_data_decrypt(NULL, o_offset - skip_begin, pc); + pefs_data_decrypt(pefs_node_tkey(VP_TO_PN(vp)), o_offset - skip_begin, pc); pefs_chunk_copy(pc, skip_begin, uio); } } @@ -1367,6 +1362,7 @@ struct uio *uio = ap->a_uio; struct uio *puio; struct pefs_chunk *pc; + struct pefs_node *pn = VP_TO_PN(vp); struct vnode *lvp; size_t skip_begin, skip_end; off_t o_offset; @@ -1413,7 +1409,7 @@ done = PEFS_BLOCK - puio->uio_resid; PEFSDEBUG("%s: read skip_begin: puio_resid=%d; puio done=%d\n", __func__, puio->uio_resid, done); if (done > 0) { - pefs_data_decrypt_buf(NULL, o_offset - skip_begin, + pefs_data_decrypt_buf(pefs_node_tkey(pn), o_offset - skip_begin, (char *)puio->uio_iov[0].iov_base - done, done); } if (puio->uio_resid) { @@ -1442,7 +1438,7 @@ done = PEFS_BLOCK - puio->uio_resid; PEFSDEBUG("%s: read skip_end: puio_resid=%d\n", __func__, puio->uio_resid); if (done > 0) { - pefs_data_decrypt_buf(NULL, puio_offset, + pefs_data_decrypt_buf(pefs_node_tkey(pn), puio_offset, (char *)puio->uio_iov[0].iov_base - done, done); } } @@ -1460,7 +1456,7 @@ pefs_chunk_crop(pc, 0, va.va_size - o_offset - o_resid); } - pefs_data_encrypt(NULL, o_offset - skip_begin, pc); + pefs_data_encrypt(pefs_node_tkey(pn), o_offset - skip_begin, pc); puio = pefs_chunk_uio(pc, o_offset - skip_begin, uio->uio_rw); PEFSDEBUG("%s: puio_offset=%ju; o_offset=%ju; puio_resid=%d; o_resid=%d; pc_size=%d\n", __func__, (intmax_t) puio->uio_offset, (intmax_t) o_offset, From owner-p4-projects@FreeBSD.ORG Fri Jul 3 18:56:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90DB91065676; Fri, 3 Jul 2009 18:56:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DDAA1065673 for ; Fri, 3 Jul 2009 18:56:03 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3B6A18FC1A for ; Fri, 3 Jul 2009 18:56:03 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63Iu3VU026042 for ; Fri, 3 Jul 2009 18:56:03 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63Iu3wV026040 for perforce@freebsd.org; Fri, 3 Jul 2009 18:56:03 GMT (envelope-from fangwang@FreeBSD.org) Date: Fri, 3 Jul 2009 18:56:03 GMT Message-Id: <200907031856.n63Iu3wV026040@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 165572 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 18:56:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=165572 Change 165572 by fangwang@fangwang_utobsd on 2009/07/03 18:55:40 Tcp uto can work now. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp.h#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#8 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_subr.c#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#9 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.h#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#11 edit .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/Makefile#2 edit .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#4 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp.h#6 (text+ko) ==== @@ -154,11 +154,11 @@ #define TCP_CONGESTION 0x40 /* get/set congestion control algorithm */ #define TCP_UTO 0x80 /* set tcp user timeout */ /* Used with TCP_UTO through setsockopt and getsockopt */ -struct tcp_uto { +struct tcputo { int uto; int flags; }; -/* Values for flags in struct tcp_uto */ +/* Values for flags in struct tcputo */ #define STORE_UTO 0x01 #define ENABLE_UTO 0x02 #define ENABLE_CHANGE 0x04 ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#6 (text+ko) ==== @@ -1188,8 +1188,11 @@ /* * If TCP user timeout option is received, because it's an - * optional option, we do nothing at this moment. And we will - * process when we need to use it. + * optional option, we do nothing at this moment. We will + * process when we need to use it. And we need it in two + * cases: + * 1. We need do retransmission. + * 2. Users request a UTO value. */ if (to.to_flags & TOF_UTO) { tp->uto_flags |= TCPUTO_RCVD; @@ -2246,11 +2249,14 @@ } process_ACK: + /* + * If we are sending the UTO option, and we receive a ACK acknowledge the + * segment carrying the UTO option, the UTO was send successfully. So we + * stop sending the UTO option. + */ if (tp->uto_flags & TCPUTO_SENDING) - if (SEQ_GT(th->th_ack, tp->uto_carrier)) { + if (SEQ_GEQ(th->th_ack, tp->uto_carrier)) tp->uto_flags &= ~TCPUTO_SENDING; - tp->uto_flags |= TCPUTO_SENT; - } INP_INFO_LOCK_ASSERT(&V_tcbinfo); KASSERT(ti_locked == TI_RLOCKED || ti_locked == TI_WLOCKED, ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#8 (text+ko) ==== @@ -701,7 +701,7 @@ * is a SYN or SYN | ACK segment, or the segment is a normal * data segment. */ - if (flags & TH_SYN || (len && (tp->t_flags & ~TF_FORCEDATA) == 0)) + if (flags & TH_SYN || (len && (tp->t_flags & TF_FORCEDATA) == 0)) if (tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING)) { to.to_uto = tp->snd_uto; to.to_flags |= TOF_UTO; @@ -710,8 +710,16 @@ /* Processing the options. */ hdrlen += optlen = tcp_addoptions(&to, opt); - /* Check whether we place UTO in TCP header successfully */ - if (tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING) && + /* + * According to RFC 5482: + * "In addition to exchanging UTO options in the SYN segments, a + * connection that has enabled UTO options SHOULD include a UTO option + * in the first packet that does not have the SYN flag set. This helps to minimize + * the amount of state information TCP must keep for connections in non-synchronized states." + * So even though UTO options is put in SYN segment successfully, we still transmit it. + */ + if ((flags & TH_SYN) == 0 && + tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING) && (to.to_flags & TOF_UTO) == 0) { tp->uto_flags &= ~(TCPUTO_NEED | TCPUTO_SENDING); tp->uto_flags |= TCPUTO_SENDING; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_subr.c#5 (text+ko) ==== @@ -403,8 +403,8 @@ tcp_rexmit_slop = TCPTV_CPU_VAR; tcp_finwait2_timeout = TCPTV_FINWAIT2_TIMEOUT; tcp_tcbhashsize = hashsize; - tcp_uto_min = TCPTV_UTOMIN; - tcp_uto_max = TCPTV_UTOMAX; + tcp_uto_min = TCPTV_UTO_MIN; + tcp_uto_max = TCPTV_UTO_MAX; #ifdef INET6 #define TCP_MINPROTOHDR (sizeof(struct ip6_hdr) + sizeof(struct tcphdr)) @@ -740,13 +740,15 @@ tp->snd_ssthresh = TCP_MAXWIN << TCP_MAX_WINSHIFT; tp->t_rcvtime = ticks; tp->t_bw_rtttime = ticks; + + tp->uto_flags = TCPUTO_CHANGEABLE; + if (tcp_uto_enable) + tp->uto_flags |= TCPUTO_ENABLE; /* - * Init TCP user timeout (RFC5482) variables. We don't enable UTO by default, - * but we make it available if a UTO request is received or set through - * setsockopt system call. - */ - tp->uto_flags = TCPUTO_ENABLE | TCPUTO_CHANGEABLE; - tp->t_uto_adv = 64 * 4; + * According to RFC 5482, t_uto_adv is UTO option advertised to the remote TCP peer. + * It defaults to the default system-wide USER TIMEOUT. + */ + tp->t_uto_adv = TCPTV_UTO_DEFAULT; /* * IPv4 TTL initialization is necessary for an IPv6 socket as well, * because the socket may be bound to an IPv6 wildcard address, ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#9 (text+ko) ==== @@ -772,7 +772,7 @@ #endif if (sc->sc_flags & SCF_SACK) tp->t_flags |= TF_SACK_PERMIT; - if (sc->sc_flags & SCF_RCVD_UTO) { + if (sc->sc_flags & SCF_UTO) { tp->uto_flags |= TCPUTO_RCVD; tp->rcv_uto = sc->sc_peer_uto; } @@ -1220,11 +1220,7 @@ sc->sc_flags |= SCF_ECN; if (to->to_flags & TOF_UTO) { sc->sc_peer_uto = to->to_uto; - sc->sc_flags |= SCF_RCVD_UTO; - } - if (uto_flags & TCPUTO_NEED) { - sc->sc_uto = snd_uto; - sc->sc_flags = SCF_NEED_UTO; + sc->sc_flags |= SCF_UTO; } if (V_tcp_syncookies) { @@ -1393,10 +1389,6 @@ if (sc->sc_flags & SCF_SIGNATURE) to.to_flags |= TOF_SIGNATURE; #endif - if (sc->sc_flags & SCF_NEED_UTO) { - to.to_uto = sc->sc_uto; - to.to_flags |= TOF_UTO; - } optlen = tcp_addoptions(&to, (u_char *)(th + 1)); ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#6 (text+ko) ==== @@ -70,7 +70,6 @@ u_int8_t sc_requested_s_scale:4, sc_requested_r_scale:4; u_int16_t sc_peer_uto; /* peer's user timeout */ - u_int16_t sc_uto; /* our user timeout to send */ u_int16_t sc_flags; #ifndef TCP_OFFLOAD_DISABLE struct toe_usrreqs *sc_tu; /* TOE operations */ @@ -93,8 +92,7 @@ #define SCF_SIGNATURE 0x20 /* send MD5 digests */ #define SCF_SACK 0x80 /* send SACK option */ #define SCF_ECN 0x100 /* send ECN setup packet */ -#define SCF_NEED_UTO 0x200 /* send UTO option */ -#define SCF_RCVD_UTO 0x400 /* received UTO option */ +#define SCF_UTO 0x200 /* UTO option received */ #define SYNCOOKIE_SECRET_SIZE 8 /* dwords */ #define SYNCOOKIE_LIFETIME 16 /* seconds */ ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#6 (text+ko) ==== @@ -117,6 +117,9 @@ int tcp_uto_max; SYSCTL_PROC(_net_inet_tcp, OID_AUTO, uto_max, CTLTYPE_INT|CTLFLAG_RW, &tcp_uto_max, 0, sysctl_msec_to_ticks, "I", "Maximum user timeout"); +int tcp_uto_enable = 0; +SYSCTL_INT(_net_inet_tcp, OID_AUTO, always_enableuto, CTLFLAG_RW, + &tcp_uto_enable , 0, "Enable TCP user timeout option on all TCP connections"); static int tcp_keepcnt = TCPTV_KEEPCNT; /* max idle probes */ @@ -159,7 +162,6 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, timer_race, CTLFLAG_RD, &tcp_timer_race, 0, "Count of t_inpcb races on tcp_discardcb"); -static int tcp_timer_uto_interval(struct tcpcb *); /* * TCP timer processing. @@ -448,26 +450,6 @@ CURVNET_RESTORE(); } -static int -tcp_timer_uto_interval(struct tcpcb *tp) -{ - int rxtcur; - int rxttimes; - int rexmt; - int interval; - - rxttimes = min(TCP_MAXRXTSHIFT, tp->t_rxtshift); - rexmt = TCP_REXMTVAL(tp) * tcp_backoff[rxttimes]; - TCPT_RANGESET(rxtcur, rexmt, tp->t_rttmin, TCPTV_REXMTMAX); - interval = rxtcur / TCP_REXMTVAL(tp); - - if (tp->t_uto_left - interval < 0) - interval = tp->t_uto_left; - tp->t_uto_left -= interval; - - return (interval); -} - void tcp_timer_rexmt(void * xtp) { @@ -508,6 +490,20 @@ } callout_deactivate(&tp->t_timers->tt_rexmt); tcp_free_sackholes(tp); + + if (tp->t_rxtshift == 0) { + if (tp->uto_flags & TCPUTO_ENABLE && + tp->uto_flags & TCPUTO_RCVD && + tp->uto_flags & TCPUTO_CHANGEABLE) { + u_int utoval; + TCPT_UTOGET(utoval, tp->rcv_uto); + tp->t_uto_impl = min(tcp_uto_max, + max(tp->t_uto_adv, max(utoval, tcp_uto_min))); + tp->uto_flags &= ~TCPUTO_RCVD; + tp->uto_flags |= TCPUTO_IMPL; + } + tp->t_uto_left = tp->t_uto_impl / hz; + } /* * Retransmission timer went off. Message has not * been acked within retransmit interval. Back off @@ -541,17 +537,6 @@ else tp->t_flags &= ~TF_WASFRECOVERY; tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); - - if (tp->uto_flags & TCPUTO_ENABLE && - (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { - u_int utoval; - TCP_UTOVAL(utoval, tp->rcv_uto); - tp->t_uto_impl = min(tcp_uto_max, - max(tp->t_uto_adv, max(utoval, tcp_uto_min))); - tp->uto_flags &= ~TCPUTO_PEER_SET; - tp->uto_flags |= TCPUTO_IMPL; - } - tp->t_uto_left = tp->t_uto_impl; } TCPSTAT_INC(tcps_rexmttimeo); if (tp->t_state == TCPS_SYN_SENT) @@ -559,8 +544,13 @@ else if ((tp->uto_flags & TCPUTO_IMPL) == 0) rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift]; - else - rexmt = TCP_REXMTVAL(tp) * tcp_timer_uto_interval(tp); + else { + int rxtshift; + rxtshift = min(TCP_MAXRXTSHIFT, tp->t_rxtshift); + tp->t_uto_left -= min(tp->t_uto_left, + min(TCP_REXMTMAX, tcp_backoff[rxtshift])); + rexmt = TCP_REXMTVAL(tp) * tcp_backoff[rxtshift]; + } TCPT_RANGESET(tp->t_rxtcur, rexmt, tp->t_rttmin, TCPTV_REXMTMAX); ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.h#5 (text+ko) ==== @@ -91,8 +91,9 @@ #define TCPTV_FINWAIT2_TIMEOUT (60*hz) /* FIN_WAIT_2 timeout if no receiver */ -#define TCPTV_UTOMIN (120*hz) /* min user timeout */ -#define TCPTV_UTOMAX (720*hz) /* max user timeout */ +#define TCPTV_UTO_MIN ( 120*hz) /* min user timeout */ +#define TCPTV_UTO_MAX (1020*hz) /* max user timeout */ +#define TCPTV_UTO_DEFAULT ( 511*hz) /* default user timeout */ /* * Minimum retransmit timer is 3 ticks, for algorithmic stability. @@ -115,9 +116,9 @@ * networks faster then a modem that has minor (e.g. 1%) packet loss. */ #define TCPTV_MIN ( hz/33 ) /* minimum allowable value */ -#define TCPTV_CPU_VAR ( hz/5 ) /* cpu variance allowed (200ms) */ -#define TCPTV_REXMTMAX ( 64*hz) /* max allowable REXMT value */ - +#define TCPTV_CPU_VAR ( hz/5 ) /* cpu variance allowed (200ms) */ +#define TCPTV_REXMTMAX ( TCP_REXMTMAX*hz ) /* max allowable REXMT value */ +#define TCP_REXMTMAX 64 /* max allowable REXMT value in seconds */ #define TCPTV_TWTRUNC 8 /* RTO factor to truncate TW */ #define TCP_LINGERTIME 120 /* linger at most 2 minutes */ @@ -142,6 +143,16 @@ (tv) = (tvmax); \ } while(0) +/* +* Get user timeout value(ticks). +*/ +#define TCPT_UTOGET(utoval, uto) do { \ + (utoval) = (uto) >> 1; \ + if ((uto) & 1) \ + (utoval) *= 60; \ + (utoval) *= hz; \ +} while(0) + #ifdef _KERNEL struct tcp_timer { @@ -173,7 +184,7 @@ extern int tcp_fast_finwait2_recycle; extern int tcp_uto_min; extern int tcp_uto_max; - +extern int tcp_uto_enable; void tcp_timer_init(void); void tcp_timer_2msl(void *xtp); struct tcptw * ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#6 (text+ko) ==== @@ -1256,7 +1256,7 @@ struct inpcb *inp; struct tcpcb *tp; struct tcp_info ti; - struct tcp_uto tu; + struct tcputo tu; error = 0; inp = sotoinpcb(so); @@ -1374,33 +1374,37 @@ return (error); INP_WLOCK_RECHECK(inp); + if (tu.flags & ~(ENABLE_UTO | STORE_UTO | ENABLE_CHANGE)) { + error = EINVAL; + break; + } if (tu.flags & ENABLE_UTO) tp->uto_flags |= TCPUTO_ENABLE; - if (tu.flags & STORE_UTO) + if (tu.flags & STORE_UTO) { tp->uto_flags |= TCPUTO_NEED; + if (tu.uto > 0 && tu.uto <= 0x8FFF * 60) { + if (tu.uto > 0x8FFF) { + tp->snd_uto = tu.uto / 60; + tp->snd_uto <<= 1; + tp->snd_uto |= 1; + } else { + tp->snd_uto = tu.uto; + tp->snd_uto <<= 1; + } + if (tp->uto_flags & TCPUTO_ENABLE && + tp->uto_flags & TCPUTO_NEED) { + tp->t_uto_impl = min(tcp_uto_max, + max(tu.uto * hz, tcp_uto_min)); + tp->t_uto_adv = tp->t_uto_impl; + tp->uto_flags &= ~TCPUTO_CHANGEABLE; + tp->uto_flags |= TCPUTO_IMPL; + } + } + else + error = EINVAL; + } if ( tu.flags & ENABLE_CHANGE) tp->uto_flags |= TCPUTO_CHANGEABLE; - if (tu.flags & STORE_UTO && - tu.uto > 0 && tu.uto <= 0x8FFF * 60) { - if (tu.uto > 0x8FFF) { - tp->snd_uto = tu.uto / 60; - tp->snd_uto <<= 1; - tp->snd_uto |= 1; - } else { - tp->snd_uto = tu.uto; - tp->snd_uto <<= 1; - } - if (tp->uto_flags & TCPUTO_ENABLE && - tp->uto_flags & TCPUTO_NEED) { - tp->t_uto_impl = min(tcp_uto_max, - max(tu.uto, tcp_uto_min)); - tp->t_uto_adv = tp->t_uto_impl; - tp->uto_flags &= ~TCPUTO_CHANGEABLE; - tp->uto_flags |= TCPUTO_IMPL; - } - } - else - error = EINVAL; INP_WUNLOCK(inp); break; @@ -1454,11 +1458,12 @@ if (tp->uto_flags & TCPUTO_CHANGEABLE) tu.flags |= ENABLE_CHANGE; if (tp->uto_flags & TCPUTO_ENABLE && - (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { - TCP_UTOVAL(tu.uto, tp->rcv_uto); + tp->uto_flags & TCPUTO_RCVD && + tp->uto_flags & TCPUTO_CHANGEABLE) { + TCPT_UTOGET(tp->t_uto_impl, tp->rcv_uto); tp->t_uto_impl = min(tcp_uto_max, - max(tp->t_uto_adv, max(tu.uto, tcp_uto_min))); - tp->uto_flags &= ~TCPUTO_PEER_SET; + max(tp->t_uto_adv, max(tp->t_uto_impl, tcp_uto_min))); + tp->uto_flags &= ~TCPUTO_RCVD; tp->uto_flags |= TCPUTO_IMPL; } if (tp->uto_flags & TCPUTO_IMPL) { ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#11 (text+ko) ==== @@ -195,9 +195,9 @@ uint16_t rcv_uto; /* received user timeout */ uint16_t snd_uto; /* send user timeout */ uint8_t uto_flags; - u_int t_uto_adv; - u_int t_uto_impl; /* implemented user timeout */ - u_int t_uto_left; /* remained user timeout value */ + u_int t_uto_adv; /* user timeout send to remote peer(ticks) */ + u_int t_uto_impl; /* implemented user timeout(ticks) */ + u_int t_uto_left; /* remained user timeout value(seconds) */ tcp_seq uto_carrier; /* max sequence number that carry user timeout */ }; @@ -250,14 +250,6 @@ #define TCPUTO_RCVD 0x08 /* other side has requested user timeout */ #define TCPUTO_NEED 0x10 /* user timeout need to be sent */ #define TCPUTO_SENDING 0x20 /* user timeout is in the process of sending */ -#define TCPUTO_SENT 0x40 /* user timeout is sent successfully */ -#define TCPUTO_PEER_SET (TCPUTO_CHANGEABLE | TCPUTO_RCVD) - -#define TCP_UTOVAL(utoval, uto) do { \ - (utoval) = (uto) >> 1; \ - if ((uto) & 1) \ - (utoval) *= 60; \ -} while(0) #ifdef TCP_SIGNATURE /* ==== //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/Makefile#2 (text+ko) ==== @@ -1,8 +1,7 @@ # -# $FreeBSD: src/tools/regression/netinet/tcputo/Makefile,v 1.3 2009/6/28 08:47:22 ru Exp $ +# $FreeBSD: src/tools/regression/netinet/tcputo/Makefile,v 1.3 2009/6/28 08:47:22 fw Exp $ # -CFLAGS+= -Wall PROG= tcputo NO_MAN= ==== //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#4 (text+ko) ==== @@ -23,15 +23,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/tools/regression/netinet/tcputo/tcputo.c $ + * $FreeBSD: src/tools/regression/netinet/tcputo/tcputo.c 2009/7/4 02:54:36 fw $ */ #include #include #include -//#include -#include "tcp.h" +#include #include @@ -47,8 +46,8 @@ usage(void) { - fprintf(stderr, "tcpconnect server port\n"); - fprintf(stderr, "tcpconnect client ip port\n"); + fprintf(stderr, "tcpconnect server port [user timeout]\n"); + fprintf(stderr, "tcpconnect client ip port [user timeout]\n"); exit(-1); } @@ -82,8 +81,9 @@ long port; int user_timeout; int optval; + struct tcputo uto; - if (argc != 1) + if (argc != 1 && argc != 2) usage(); bzero(&sin, sizeof(sin)); @@ -99,10 +99,10 @@ listen_sock = socket(PF_INET, SOCK_STREAM, 0); if (listen_sock == -1) err(-1, "socket"); - optval = 150; - /*if (setsockopt(listen_sock, IPPROTO_TCP, TCP_UTO, &optval, sizeof(optval)) == -1) + optval = 1; + if (setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); -*/ + if (bind(listen_sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) err(-1, "bind"); @@ -110,10 +110,17 @@ err(-1, "listen"); accept_sock = accept(listen_sock, NULL, NULL); - close(listen_sock); optval = 4*1024; if (setsockopt(accept_sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); + uto.flags = ENABLE_UTO; + if (argc == 2) { + uto.uto = atoi(argv[1]); + uto.flags |= STORE_UTO; + } + if (setsockopt(accept_sock, IPPROTO_TCP, TCP_UTO, &uto, sizeof(uto)) == -1) + err(-1, "setsockopt"); + close(listen_sock); while(1) { sleep(1); printf("server again %d\n", optval++); @@ -142,8 +149,9 @@ int sock; int user_timeout; int optval = 4*1024; + struct tcputo uto; - if (argc != 2) + if (argc != 2 && argc != 3) usage(); bzero(&sin, sizeof(sin)); @@ -162,19 +170,13 @@ err(-1, "socket"); if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); - optval = 150; -/* if (setsockopt(sock, IPPROTO_TCP, TCP_UTO, &optval, sizeof(optval)) == -1) - err(-1, "setsockopt"); -*/ - /* No warning in default case on ENOPROTOOPT. */ - /* if (setsockopt(sock, IPPROTO_TCP, TCP_MD5SIG, - &md5enable, sizeof(md5enable)) != 0) { - if (errno == ENOPROTOOPT && md5enable > 0) - err(-1, "setsockopt(TCP_MD5SIG)"); - else if (errno != ENOPROTOOPT) - warn("setsockopt(TCP_MD5SIG)"); - } */ - + + if (argc == 3) { + uto.uto = atoi(argv[2]); + uto.flags = ENABLE_UTO | STORE_UTO; + if (setsockopt(sock, IPPROTO_TCP, TCP_UTO, &uto, sizeof(uto)) == -1) + err(-1, "setsockopt"); + } if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) err(-1, "connect"); From owner-p4-projects@FreeBSD.ORG Fri Jul 3 19:05:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A87CC1065675; Fri, 3 Jul 2009 19:05:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67CF1106566C for ; Fri, 3 Jul 2009 19:05:13 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 56DC08FC16 for ; Fri, 3 Jul 2009 19:05:13 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63J5DNJ027643 for ; Fri, 3 Jul 2009 19:05:13 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63J5Duq027641 for perforce@freebsd.org; Fri, 3 Jul 2009 19:05:13 GMT (envelope-from mav@freebsd.org) Date: Fri, 3 Jul 2009 19:05:13 GMT Message-Id: <200907031905.n63J5Duq027641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165573 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 19:05:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165573 Change 165573 by mav@mav_mavbook on 2009/07/03 19:04:15 Handle data overrun as fatal error. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#42 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#42 (text+ko) ==== @@ -877,7 +877,8 @@ if (istatus & (AHCI_P_IX_PRC | AHCI_P_IX_PC)) ahci_phy_check_events(dev); /* Process command errors */ - if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) { + if (istatus & (AHCI_P_IX_IF | AHCI_P_IX_HBD | AHCI_P_IX_HBF | + AHCI_P_IX_TFE | AHCI_P_IX_OF)) { //device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", // __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), // ATA_INL(ch->r_mem, AHCI_P_SERR)); From owner-p4-projects@FreeBSD.ORG Fri Jul 3 19:21:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 865AD1065675; Fri, 3 Jul 2009 19:21:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4623F1065672 for ; Fri, 3 Jul 2009 19:21:31 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 34C148FC14 for ; Fri, 3 Jul 2009 19:21:31 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63JLV38028827 for ; Fri, 3 Jul 2009 19:21:31 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63JLVY1028825 for perforce@freebsd.org; Fri, 3 Jul 2009 19:21:31 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 3 Jul 2009 19:21:31 GMT Message-Id: <200907031921.n63JLVY1028825@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165574 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 19:21:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=165574 Change 165574 by truncs@aditya on 2009/07/03 19:20:53 Introducing ext2_hashalloc and ext2_alloccg to find a new block. Currently preallocation is not implemented and preallocation. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#25 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#25 (text+ko) ==== @@ -107,7 +107,7 @@ { struct m_ext2fs *fs; int32_t bno; - + int cg; *bnp = 0; fs = ip->i_e2fs; #ifdef DIAGNOSTIC @@ -126,7 +126,21 @@ goto nospace; if (bpref >= fs->e2fs->e2fs_bcount) bpref = 0; - /* call the Linux code */ + if (bpref == 0) + cg = ino_to_cg(fs, ip->i_number); + else + cg = dtog(fs, bpref); + bno = (daddr_t)ext2_hashalloc(ip, cg, bpref, fs->e2fs_bsize, + ext2_alloccg); + if (bno > 0) { + ip->i_blocks += btodb(fs->e2fs_bsize); + ip->i_flag |= IN_CHANGE | IN_UPDATE; + *bnp = bno; + return (0); + } + + +#ifdef notused #ifdef EXT2_PREALLOCATE /* To have a preallocation hit, we must * - have at least one block preallocated @@ -171,6 +185,7 @@ *bnp = bno; return (0); } +#endif nospace: ext2_fserr(fs, cred->cr_uid, "file system full"); uprintf("\n%s: write failed, file system is full\n", fs->e2fs_fsmnt); @@ -727,7 +742,6 @@ bno = ext2_mapsearch(fs, bbp, bpref); if (bno < 0){ - unlock_super(DEVVP(ip)); return (0); } gotit: From owner-p4-projects@FreeBSD.ORG Fri Jul 3 19:31:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E08FB1065678; Fri, 3 Jul 2009 19:31:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E4C81065672 for ; Fri, 3 Jul 2009 19:31:42 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8232B8FC14 for ; Fri, 3 Jul 2009 19:31:42 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63JVgAk029526 for ; Fri, 3 Jul 2009 19:31:42 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63JVgoE029524 for perforce@freebsd.org; Fri, 3 Jul 2009 19:31:42 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 3 Jul 2009 19:31:42 GMT Message-Id: <200907031931.n63JVgoE029524@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165575 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 19:31:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=165575 Change 165575 by pgj@petymeg-current on 2009/07/03 19:31:37 - Fix padding values of unpcb_data and inpcb_data, so they now work correctly between a 64-bit kernel and a 32-bit userland - Fix consistency of types Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#22 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#20 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#22 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/in_pcb.h#4 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#5 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#22 (text+ko) ==== @@ -64,9 +64,9 @@ const char *netstat_st_get_extname(const struct socket_type *stp); const struct sockbuf_type *netstat_st_get_snd(const struct socket_type *stp); const struct sockbuf_type *netstat_st_get_rcv(const struct socket_type *stp); -uint16_t netstat_st_get_qlen(const struct socket_type *stp); -uint16_t netstat_st_get_incqlen(const struct socket_type *stp); -uint16_t netstat_st_get_qlimit(const struct socket_type *stp); +u_int16_t netstat_st_get_qlen(const struct socket_type *stp); +u_int16_t netstat_st_get_incqlen(const struct socket_type *stp); +u_int16_t netstat_st_get_qlimit(const struct socket_type *stp); u_int64_t netstat_st_get_pcb(const struct socket_type *stp); u_int64_t netstat_st_get_vnode(const struct socket_type *stp); u_int64_t netstat_st_get_conn(const struct socket_type *stp); @@ -82,7 +82,7 @@ const char *netstat_at_get_numeric(const struct addr_type *atp); int netstat_at_get_address(const struct addr_type *atp, char *addr, int addr_len); -uint16_t netstat_at_get_port(const struct addr_type *atp); +u_int16_t netstat_at_get_port(const struct addr_type *atp); const char *netstat_at_get_portname(struct addr_type *atp); /* Socket buffers: */ u_int32_t netstat_sbt_get_cc(const struct sockbuf_type *sbtp); ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#20 (text+ko) ==== @@ -73,10 +73,10 @@ struct sockbuf_type st_snd; struct sockbuf_type st_rcv; - uint16_t st_qlen; /* number of unaccepted connections */ - uint16_t st_incqlen; /* number of unaccepted incomplete + u_int16_t st_qlen; /* number of unaccepted connections */ + u_int16_t st_incqlen; /* number of unaccepted incomplete connections */ - uint16_t st_qlimit; /* max number queued connections */ + u_int16_t st_qlimit; /* max number queued connections */ u_int64_t st_pcb; /* protocol control block */ u_int64_t st_vnode; /* if associated with file */ u_int64_t st_conn; /* control block of connected socket */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#22 (text+ko) ==== ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/in_pcb.h#4 (text+ko) ==== @@ -293,7 +293,7 @@ u_int16_t id_fport; u_int8_t id_laddr[16]; u_int8_t id_faddr[16]; - u_int8_t _id_pad[8]; + u_int8_t _id_pad[2]; }; ==== //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#5 (text+ko) ==== @@ -184,7 +184,7 @@ u_int64_t ud_conn; u_int64_t ud_refs; u_int64_t ud_reflink; - u_int8_t _ud_pad[51]; + u_int8_t _ud_pad[38]; }; #endif /* _SYS_UNPCB_H_ */ From owner-p4-projects@FreeBSD.ORG Fri Jul 3 19:40:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA65F1065670; Fri, 3 Jul 2009 19:40:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3C1A1065678 for ; Fri, 3 Jul 2009 19:40:52 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 923948FC1A for ; Fri, 3 Jul 2009 19:40:52 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n63Jeque030277 for ; Fri, 3 Jul 2009 19:40:52 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n63Jeqcd030275 for perforce@freebsd.org; Fri, 3 Jul 2009 19:40:52 GMT (envelope-from mav@freebsd.org) Date: Fri, 3 Jul 2009 19:40:52 GMT Message-Id: <200907031940.n63Jeqcd030275@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165576 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 19:40:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=165576 Change 165576 by mav@mav_mavbook on 2009/07/03 19:40:50 Avoid confusing PM abbreviatob. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#43 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#43 (text+ko) ==== @@ -163,7 +163,7 @@ caps = ATA_INL(ctlr->r_mem, AHCI_CAP); speed = (caps & AHCI_CAP_ISS) >> AHCI_CAP_ISS_SHIFT; device_printf(dev, - "AHCI v%x.%02x controller with %d %sGbps ports, PM %s\n", + "AHCI v%x.%02x with %d %sGbps ports, Port Multiplier %s\n", ((version >> 20) & 0xf0) + ((version >> 16) & 0x0f), ((version >> 4) & 0xf0) + (version & 0x0f), (caps & AHCI_CAP_NPMASK) + 1, From owner-p4-projects@FreeBSD.ORG Sat Jul 4 05:02:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 603C61065673; Sat, 4 Jul 2009 05:02:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D7BF106564A for ; Sat, 4 Jul 2009 05:02:06 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EE4488FC16 for ; Sat, 4 Jul 2009 05:02:05 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n645257F011775 for ; Sat, 4 Jul 2009 05:02:05 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64525ot011773 for perforce@freebsd.org; Sat, 4 Jul 2009 05:02:05 GMT (envelope-from mav@freebsd.org) Date: Sat, 4 Jul 2009 05:02:05 GMT Message-Id: <200907040502.n64525ot011773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165585 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 05:02:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=165585 Change 165585 by mav@mav_mavbook on 2009/07/04 05:01:36 IFC Affected files ... .. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#8 integrate .. //depot/projects/scottl-camlock/src/UPDATING#9 integrate .. //depot/projects/scottl-camlock/src/bin/chmod/chmod.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/msgctl.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/getsockopt.2#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/shmctl.2#3 integrate .. //depot/projects/scottl-camlock/src/release/amd64/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/i386/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/ia64/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/pc98/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/powerpc/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/sparc64/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/sun4v/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/acpi_hp.4#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/acpi_wmi.4#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/cpuctl.4#2 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/genassym.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/identcpu.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC#24 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/isa/atpic.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/assabet_machdep.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#37 integrate .. //depot/projects/scottl-camlock/src/sys/conf/options#27 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cpuctl/cpuctl.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_em.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#30 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/cd9660/cd9660_lookup.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_io.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_subr.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_vfs.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/journal/g_journal.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/conf/GENERIC#23 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/genassym.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/intr_machdep.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/io_apic.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/local_apic.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/msi.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/intr_machdep.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/atpic.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/conf/GENERIC#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_intr.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_linker.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_generic.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_process.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_socket.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_syscalls.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_cluster.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_export.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_mount.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_subr.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#25 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_vnops.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/busdma_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/nfsclient/Makefile#9 integrate .. //depot/projects/scottl-camlock/src/sys/modules/nfsserver/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_var.h#21 integrate .. //depot/projects/scottl-camlock/src/sys/net/netisr.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/vnet.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_iface.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_var.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfs/nfs_common.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfs/rpcv2.h#4 delete .. //depot/projects/scottl-camlock/src/sys/nfsclient/bootp_subr.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/krpc_subr.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_bio.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_diskless.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_krpc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_lock.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_nfsiod.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_node.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_socket.c#20 delete .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_subs.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vfsops.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vnops.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfsm_subs.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfsmount.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_serv.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvcache.c#10 delete .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvkrpc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsock.c#16 delete .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsubs.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_syscalls.c#16 delete .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfsrvcache.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/conf/GENERIC#18 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/GENERIC#21 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/clnt_dg.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_arg.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_private.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/GENERIC#22 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/GENERIC#12 integrate .. //depot/projects/scottl-camlock/src/sys/sys/cpuctl.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sys/filio.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#26 integrate .. //depot/projects/scottl-camlock/src/sys/sys/priv.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_softdep.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_vnops.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_extern.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_fault.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#20 integrate .. //depot/projects/scottl-camlock/src/tools/regression/acltools/tools-posix.test#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/cpio/cmdline.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/cpio/cpio.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/cpucontrol/cpucontrol.8#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/cpucontrol/cpucontrol.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/lib/url.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/wake/Makefile#1 branch .. //depot/projects/scottl-camlock/src/usr.sbin/wake/wake.8#1 branch .. //depot/projects/scottl-camlock/src/usr.sbin/wake/wake.c#1 branch Differences ... ==== //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.198 2009/06/27 10:11:15 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.199 2009/07/01 07:37:21 dfr Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h # 20090624: update usbdi(9) OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz ==== //depot/projects/scottl-camlock/src/UPDATING#9 (text+ko) ==== @@ -22,6 +22,17 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + 20090628: The documentation from the FreeBSD Documentation Project (Handbook, FAQ, etc.) is now installed via packages by @@ -1630,4 +1641,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.624 2009/06/28 08:59:46 blackend Exp $ +$FreeBSD: src/UPDATING,v 1.627 2009/07/01 18:12:50 dfr Exp $ ==== //depot/projects/scottl-camlock/src/bin/chmod/chmod.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.34 2009/06/23 23:30:56 delphij Exp $"); +__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.35 2009/07/01 15:52:19 trasz Exp $"); #include #include @@ -54,6 +54,7 @@ #include static void usage(void); +static int may_have_nfs4acl(const FTSENT *ent); int main(int argc, char *argv[]) @@ -180,8 +181,14 @@ break; } newmode = getmode(set, p->fts_statp->st_mode); - if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) - continue; + /* + * With NFSv4 ACLs, it is possible that applying a mode + * identical to the one computed from an ACL will change + * that ACL. + */ + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) + continue; if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; @@ -219,3 +226,24 @@ "usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ...\n"); exit(1); } + +static int +may_have_nfs4acl(const FTSENT *ent) +{ + int ret; + static dev_t previous_dev = (dev_t)-1; + static int supports_acls = -1; + + if (previous_dev != ent->fts_statp->st_dev) { + previous_dev = ent->fts_statp->st_dev; + supports_acls = 0; + + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); + if (ret > 0) + supports_acls = 1; + else if (ret < 0 && errno != EINVAL) + warn("%s", ent->fts_path); + } + + return (supports_acls); +} ==== //depot/projects/scottl-camlock/src/lib/libc/gen/msgctl.3#3 (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/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.22 2009/06/29 18:54:17 kib Exp $ .\"/ .Dd April 3, 2008 .Dt MSGCTL 3 @@ -71,12 +71,8 @@ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ - long msg_pad1; time_t msg_rtime; /* time of last msgrcv() */ - long msg_pad2; time_t msg_ctime; /* time of last msgctl() */ - long msg_pad3; - long msg_pad4[4]; }; .Ed .Pp @@ -89,11 +85,11 @@ and looks like this: .Bd -literal struct ipc_perm { - unsigned short cuid; /* creator user id */ - unsigned short cgid; /* creator group id */ - unsigned short uid; /* user id */ - unsigned short gid; /* group id */ - unsigned short mode; /* r/w permission */ + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ unsigned short seq; /* sequence # (to generate unique ipcid) */ key_t key; /* user specified msg/sem/shm key */ }; ==== //depot/projects/scottl-camlock/src/lib/libc/sys/getsockopt.2#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 -.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.40 2008/06/12 22:58:35 wkoszek Exp $ +.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.41 2009/06/30 20:53:56 trasz Exp $ .\" .Dd June 13, 2008 .Dt GETSOCKOPT 2 @@ -139,6 +139,11 @@ .In sys/time.h . .Pp The following options are recognized at the socket level. +For protocol-specific options, see protocol manual pages, +e.g. +.Xr ip 4 +or +.Xr tcp 4 . Except as noted, each may be examined with .Fn getsockopt and set with @@ -499,6 +504,10 @@ .Xr getprotoent 3 , .Xr mac 3 , .Xr sysctl 3 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr sctp 4 , +.Xr tcp 4 , .Xr protocols 5 , .Xr sysctl 8 , .Xr accept_filter 9 , ==== //depot/projects/scottl-camlock/src/lib/libc/sys/semctl.2#2 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/semctl.2,v 1.20 2005/01/15 12:28:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/semctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd September 12, 1995 .Dt SEMCTL 2 @@ -148,12 +148,9 @@ struct sem *sem_base; /* pointer to first semaphore in set */ u_short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ - long sem_pad1; /* SVABI/386 says I need this here */ time_t sem_ctime; /* last change time */ /* Times measured in secs since */ /* 00:00:00 GMT, Jan. 1, 1970 */ - long sem_pad2; /* SVABI/386 says I need this here */ - long sem_pad3[4]; /* SVABI/386 says I need this here */ }; .Ed .Sh RETURN VALUES ==== //depot/projects/scottl-camlock/src/lib/libc/sys/shmctl.2#3 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/shmctl.2,v 1.20 2009/03/05 12:04:42 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/shmctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd July 17, 1995 .Dt SHMCTL 2 @@ -100,14 +100,13 @@ .Bd -literal struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ - int shm_segsz; /* size of segment in bytes */ + size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ - short shm_nattch; /* number of current attaches */ + int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ - void *shm_internal; /* sysv stupidity */ }; .Ed .Sh RETURN VALUES @@ -133,16 +132,6 @@ Permission denied due to mismatch between operation and mode of shared memory segment. .El -.Sh "BUGS" -The segment size has size_t type. -The shm_segsz member of the -.Vt shmid_ds -structure has type int, which is too short to represent the full range -of values for a segment size. -If shared memory limits are raised to allow segments with size > 2 GB -to be created, be aware that IPC_STAT call may return a truncated value -for shm_segsz. -.El .Sh "SEE ALSO" .Xr shmat 2 , .Xr shmdt 2 , ==== //depot/projects/scottl-camlock/src/release/amd64/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/i386/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/ia64/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.17 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.18 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -46,4 +46,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo -libs -lgeom -lbsdxml -larchive -lbz2 -lusb +libs -lgeom -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/pc98/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.65 2008/08/20 13:35:39 kensmith Exp $ +# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.66 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -41,4 +41,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 +libs -larchive -lbz2 -ljail ==== //depot/projects/scottl-camlock/src/release/powerpc/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.9 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.10 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -44,4 +44,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/sparc64/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.13 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.14 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/sun4v/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.6 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.7 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/share/man/man4/acpi_hp.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.4 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_HP 4 i386 .Os .Sh NAME @@ -92,8 +92,8 @@ WWAN on air status changed to 1 (on air) .El .Ss Xr devfs 8 Ss Device -You can read /dev/hpcmi to see your current BIOS settings. The detail level -can be adjusted by setting the sysctl +You can read /dev/hpcmi to see your current BIOS settings. +The detail level can be adjusted by setting the sysctl .Va cmi_detail as described below. .Sh SYSCTL VARIABLES @@ -165,11 +165,30 @@ Show a list of valid options for the BIOS setting .It Li 0x04 Show additional flags of BIOS setting (ReadOnly etc.) +.It Li 0x08 +Query highest BIOS entry instance. +This is broken on many HP models and therefore disabled by default. .El +.It Va dev.acpi_hp.0.verbose +(read-only) +Set verbosity level .El .Pp Defaults for these sysctls can be set in .Xr sysctl.conf 5 . +.Sh HARDWARE +The +.Nm +driver has been reported to support the following hardware: +.Pp +.Bl -bullet -compact +.It +HP Compaq 8510p +.It +HP Compaq nx7300 +.El +.Pp +It should work on most HP laptops that feature a WMI enabled BIOS. .Sh FILES .Bl -tag -width ".Pa /dev/hpcmi" .It Pa /dev/hpcmi @@ -245,7 +264,7 @@ driver was written by .An Michael Gmelin Aq freebsd@grem.de .Pp -It has been inspired by hp-wmi driver, which implements a subset of these +It has been inspired by hp-wmi driver, which implements a subset of these features (hotkeys) on Linux. .Pp .Bl -tag -width indent ==== //depot/projects/scottl-camlock/src/share/man/man4/acpi_wmi.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.3 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_WMI 4 i386 .Os .Sh NAME @@ -48,7 +48,8 @@ The .Nm driver provides an interface for vendor specific WMI implementations -(e.g. HP and Acer laptops). It creates /dev/wmistat, which can be read to get +(e.g. HP and Acer laptops). +It creates /dev/wmistat, which can be read to get information about GUIDs found in the system. .Sh FILES .Bl -tag -width /dev/wmistat -compact ==== //depot/projects/scottl-camlock/src/share/man/man4/cpuctl.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.6 2009/04/23 08:37:56 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.7 2009/06/30 12:35:47 stas Exp $ .\" -.Dd May 31, 2008 +.Dd June 30, 2009 .Dt CPUCTL 4 .Os .Sh NAME @@ -81,6 +81,11 @@ uint64_t data; } cpuctl_msr_args_t; .Ed +.It Dv CPUCTL_MSRSBIT Fa cpuctl_msr_args_t *args +.It Dv CPUCTL_MSRCBIT Fa cpuctl_msr_args_t *args +Set/clear MSR bits according to the mask given in the +.Va data +field. .It Dv CPUCTL_CPUID Fa cpuctl_cpuid_args_t *args Retrieve CPUID information. Arguments are supplied in ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/genassym.c#12 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/identcpu.c#15 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#18 (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/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#15 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.34 2009/07/01 17:20:07 jhb Exp $"); #include "opt_isa.h" @@ -120,7 +120,7 @@ static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,7 +322,7 @@ mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; @@ -342,7 +342,7 @@ old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once @@ -350,6 +350,9 @@ */ intpin->io_cpu = apic_id; intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (intpin->io_vector == 0) + return (ENOSPC); + if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -364,6 +367,7 @@ */ if (old_vector) apic_free_vector(old_id, old_vector, intpin->io_irq); + return (0); } static void @@ -372,7 +376,9 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +502,7 @@ io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +736,7 @@ if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#20 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -139,7 +139,7 @@ }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#10 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.13 2009/07/01 17:20:07 jhb Exp $"); #include #include @@ -113,6 +113,8 @@ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,32 +197,52 @@ return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* @@ -228,6 +250,9 @@ * to prevent races where we could miss an interrupt. */ apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + return (0); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 4 11:12:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2157106566C; Sat, 4 Jul 2009 11:12:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77FB31065673 for ; Sat, 4 Jul 2009 11:12:50 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6560A8FC14 for ; Sat, 4 Jul 2009 11:12:50 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64BCoii056029 for ; Sat, 4 Jul 2009 11:12:50 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64BCoF8056027 for perforce@freebsd.org; Sat, 4 Jul 2009 11:12:50 GMT (envelope-from mav@freebsd.org) Date: Sat, 4 Jul 2009 11:12:50 GMT Message-Id: <200907041112.n64BCoF8056027@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165588 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 11:12:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=165588 Change 165588 by mav@mav_mavbook on 2009/07/04 11:12:37 Set device to use it's maximal supported transfer mode. It should not have much reason to do it for SATA, but some (at least ATAPI) devices aren't working without it. Change moments, when SIM reported PMP presence. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#11 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#11 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#25 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#11 (text+ko) ==== @@ -221,3 +221,80 @@ dst[j++] = 0x00; } +int +ata_max_pmode(struct ata_params *ap) +{ + if (ap->atavalid & ATA_FLAG_64_70) { + if (ap->apiomodes & 0x02) + return ATA_PIO4; + if (ap->apiomodes & 0x01) + return ATA_PIO3; + } + if (ap->mwdmamodes & 0x04) + return ATA_PIO4; + if (ap->mwdmamodes & 0x02) + return ATA_PIO3; + if (ap->mwdmamodes & 0x01) + return ATA_PIO2; + if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x200) + return ATA_PIO2; + if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x100) + return ATA_PIO1; + if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x000) + return ATA_PIO0; + return ATA_PIO0; +} + +int +ata_max_wmode(struct ata_params *ap) +{ + if (ap->mwdmamodes & 0x04) + return ATA_WDMA2; + if (ap->mwdmamodes & 0x02) + return ATA_WDMA1; + if (ap->mwdmamodes & 0x01) + return ATA_WDMA0; + return -1; +} + +int +ata_max_umode(struct ata_params *ap) +{ + if (ap->atavalid & ATA_FLAG_88) { + if (ap->udmamodes & 0x40) + return ATA_UDMA6; + if (ap->udmamodes & 0x20) + return ATA_UDMA5; + if (ap->udmamodes & 0x10) + return ATA_UDMA4; + if (ap->udmamodes & 0x08) + return ATA_UDMA3; + if (ap->udmamodes & 0x04) + return ATA_UDMA2; + if (ap->udmamodes & 0x02) + return ATA_UDMA1; + if (ap->udmamodes & 0x01) + return ATA_UDMA0; + } + return -1; +} + +int +ata_max_mode(struct ata_params *ap, int mode, int maxmode) +{ + + if (maxmode && mode > maxmode) + mode = maxmode; + + if (mode >= ATA_UDMA0 && ata_max_umode(ap) > 0) + return (min(mode, ata_max_umode(ap))); + + if (mode >= ATA_WDMA0 && ata_max_wmode(ap) > 0) + return (min(mode, ata_max_wmode(ap))); + + if (mode > ata_max_pmode(ap)) + return (min(mode, ata_max_pmode(ap))); + + return (mode); +} + ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#11 (text+ko) ==== @@ -95,4 +95,9 @@ void ata_btrim(int8_t *buf, int len); void ata_bpack(int8_t *src, int8_t *dst, int len); +int ata_max_pmode(struct ata_params *ap); +int ata_max_wmode(struct ata_params *ap); +int ata_max_umode(struct ata_params *ap); +int ata_max_mode(struct ata_params *ap, int mode, int maxmode); + #endif ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#25 (text+ko) ==== @@ -93,6 +93,7 @@ typedef enum { PROBE_RESET, PROBE_IDENTIFY, + PROBE_SETMODE, PROBE_INQUIRY, PROBE_FULL_INQUIRY, PROBE_PM_PID, @@ -108,6 +109,7 @@ static char *probe_action_text[] = { "PROBE_RESET", "PROBE_IDENTIFY", + "PROBE_SETMODE", "PROBE_INQUIRY", "PROBE_FULL_INQUIRY", "PROBE_PM_PID", @@ -277,7 +279,7 @@ if (periph->path->device->flags & CAM_DEV_UNCONFIGURED) PROBE_SET_ACTION(softc, PROBE_RESET); else if (periph->path->device->protocol == PROTO_SATAPM) - PROBE_SET_ACTION(softc, PROBE_RESET); + PROBE_SET_ACTION(softc, PROBE_PM_PID); else PROBE_SET_ACTION(softc, PROBE_IDENTIFY); @@ -295,6 +297,7 @@ /* Probe the device that our peripheral driver points to */ struct ccb_ataio *ataio; struct ccb_scsiio *csio; + struct ccb_trans_settings cts; probe_softc *softc; CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("probestart\n")); @@ -305,6 +308,16 @@ switch (softc->action) { case PROBE_RESET: + if (start_ccb->ccb_h.target_id == 15) { + /* Report SIM that we have no knowledge about PM presence. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, start_ccb->ccb_h.path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 0; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); + } cam_fill_ataio(ataio, 0, probedone, @@ -350,6 +363,23 @@ ata_36bit_cmd(ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0); break; } + case PROBE_SETMODE: + { + struct ata_params *ident_buf = + &periph->path->device->ident_data; + + cam_fill_ataio(ataio, + 1, + probedone, + /*flags*/CAM_DIR_IN, + MSG_SIMPLE_Q_TAG, + /*data_ptr*/(u_int8_t *)ident_buf, + /*dxfer_len*/sizeof(struct ata_params), + 30 * 1000); + ata_36bit_cmd(ataio, ATA_SETFEATURES, ATA_SF_SETXFER, 0, + ata_max_mode(ident_buf, ATA_UDMA6, ATA_UDMA6)); + break; + } case PROBE_INQUIRY: case PROBE_FULL_INQUIRY: { @@ -369,7 +399,7 @@ */ inquiry_len = roundup2(inquiry_len, 2); scsi_inquiry(csio, - /*retries*/4, + /*retries*/1, probedone, MSG_SIMPLE_Q_TAG, (u_int8_t *)inq_buf, @@ -623,6 +653,16 @@ PROBE_SET_ACTION(softc, PROBE_IDENTIFY); } else if (sign == 0x9669 && done_ccb->ccb_h.target_id == 15) { + struct ccb_trans_settings cts; + + /* Report SIM that PM is present. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 1; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); path->device->protocol = PROTO_SATAPM; PROBE_SET_ACTION(softc, PROBE_PM_PID); } else if (sign == 0xeb14 && @@ -721,21 +761,10 @@ scsi_find_quirk(path->device); ata_device_transport(path); -// if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { - if (path->device->protocol == PROTO_ATA) { - path->device->flags &= ~CAM_DEV_UNCONFIGURED; - done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; - xpt_action(done_ccb); - xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, - done_ccb); - xpt_release_ccb(done_ccb); - break; - } else { - PROBE_SET_ACTION(softc, PROBE_INQUIRY); - xpt_release_ccb(done_ccb); - xpt_schedule(periph, priority); - return; - } + PROBE_SET_ACTION(softc, PROBE_SETMODE); + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; @@ -762,6 +791,33 @@ xpt_release_ccb(done_ccb); break; } + case PROBE_SETMODE: + { + if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + if (path->device->protocol == PROTO_ATA) { + path->device->flags &= ~CAM_DEV_UNCONFIGURED; + done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; + xpt_action(done_ccb); + xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, + done_ccb); + xpt_release_ccb(done_ccb); + break; + } else { + PROBE_SET_ACTION(softc, PROBE_INQUIRY); + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; + } + } else if (cam_periph_error(done_ccb, 0, 0, + &softc->saved_ccb) == ERESTART) { + return; + } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { + /* Don't wedge the queue */ + xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, + /*run_queue*/TRUE); + } + goto device_fail; + } case PROBE_INQUIRY: case PROBE_FULL_INQUIRY: { @@ -1081,7 +1137,6 @@ struct cam_path *path; ata_scan_bus_info *scan_info; union ccb *work_ccb; - struct ccb_trans_settings cts; cam_status status; CAM_DEBUG(request_ccb->ccb_h.path, CAM_DEBUG_TRACE, @@ -1118,14 +1173,6 @@ scan_info->cpi = &work_ccb->cpi; scan_info->found = 0x8001; scan_info->counter = 0; - /* Report SIM that we have no knowledge about PM presence. */ - bzero(&cts, sizeof(cts)); - xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); - cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; - cts.type = CTS_TYPE_CURRENT_SETTINGS; - cts.xport_specific.sata.pm_present = 0; - cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; - xpt_action((union ccb *)&cts); /* If PM supported, probe it first. */ if (scan_info->cpi->hba_inquiry & PI_SATAPM) scan_info->counter = 15; @@ -1145,18 +1192,23 @@ /* Free the current request path- we're done with it. */ xpt_free_path(work_ccb->ccb_h.path); /* If there is PM... */ - if (scan_info->counter == 15 && - work_ccb->ccb_h.ppriv_field1 != 0) { - /* Save PM probe result. */ - scan_info->found = work_ccb->ccb_h.ppriv_field1; - /* Report SIM that PM is present. */ - bzero(&cts, sizeof(cts)); - xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); - cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; - cts.type = CTS_TYPE_CURRENT_SETTINGS; - cts.xport_specific.sata.pm_present = 1; - cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; - xpt_action((union ccb *)&cts); + if (scan_info->counter == 15) { + if (work_ccb->ccb_h.ppriv_field1 != 0) { + /* Save PM probe result. */ + scan_info->found = work_ccb->ccb_h.ppriv_field1; + } else { + struct ccb_trans_settings cts; + + /* Report SIM that PM is absent. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, + scan_info->request_ccb->ccb_h.path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 1; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); + } } take_next: /* Take next device. Wrap from 15 (PM) to 0. */ From owner-p4-projects@FreeBSD.ORG Sat Jul 4 11:17:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E10D1065677; Sat, 4 Jul 2009 11:17:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DFEE1065675 for ; Sat, 4 Jul 2009 11:17:56 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 132448FC0C for ; Sat, 4 Jul 2009 11:17:56 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64BHt7V056358 for ; Sat, 4 Jul 2009 11:17:55 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64BHt82056356 for perforce@freebsd.org; Sat, 4 Jul 2009 11:17:55 GMT (envelope-from syl@FreeBSD.org) Date: Sat, 4 Jul 2009 11:17:55 GMT Message-Id: <200907041117.n64BHt82056356@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 165589 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 11:17:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=165589 Change 165589 by syl@syl_atuin on 2009/07/04 11:17:43 Add support for big transfers. Update test3 to perform benches. Remove a buggy libusb20_close. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#7 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#56 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#22 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#7 (text+ko) ==== @@ -128,11 +128,13 @@ volatile int transferred; libusb_device **devs_list; libusb_device_descriptor ddesc; + int random; + uint32_t size; int found = 0; int ret; int i; - printf("this test dump the 512 first byte of a memory stick\n"); + printf("this test read bytes of a memory stick\n"); if (libusb_init(&ctx) != 0) { fprintf(stderr, "libusb_init_failed\n"); return (EXIT_FAILURE); @@ -187,13 +189,12 @@ do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); do_msc_req(read_capacity, sizeof(read_capacity), 0x8); - do_read(0, BLOCK_SIZE); - for (i = 0 ; i < BLOCK_SIZE ; i++) { - if (i != 0 && (i % 0x10) == 0) - printf("\n"); - printf("0x%.2x ", buffer[i]); + sranddev(); + for (size = 0 ; ;) { + random = rand() % 1024; + do_read(random, 0x10000); + size+=0x10000; + printf("read sector : 0x%x total read 0x%x\n", random, size); } - printf("\n"); - return (EXIT_SUCCESS); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#56 (text+ko) ==== @@ -838,6 +838,82 @@ return; } +static int +libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + case LIBUSB20_SPEED_FULL: + ret = 60 * 1; + break ; + default : + ret = 60 * 8; + break ; + } + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + ret = 2; + break ; + default: + ret = 1; + break ; + } + + return ret; +} + +static int +libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + ret = 0; + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 8; + break ; + case LIBUSB20_SPEED_FULL: + ret = 64; + break ; + case LIBUSB20_SPEED_HIGH: + ret = 64; + break ; + } + /*add */ + ret += 8; + break ; + default : + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 256; + break ; + case LIBUSB20_SPEED_FULL: + ret = 4096; + break ; + default: + ret = 16384; + break ; + } + break ; + } + + return ret; +} + static void libusb10_proxy(struct libusb20_transfer *xfer) { @@ -845,6 +921,9 @@ struct libusb20_device *pdev; libusb_transfer *usb_xfer; libusb_context *ctx; + uint32_t pos; + uint32_t max; + uint32_t size; uint8_t status; uint32_t iso_packets; int i; @@ -859,20 +938,29 @@ switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); + usb_backend->transferred += libusb20_tr_get_actual_length(xfer); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 TRANSFER %i bytes", + usb_backend->transferred); + if (usb_backend->transferred != usb_xfer->length) + goto tr_start; - usb_backend->transferred += libusb20_tr_get_actual_length(xfer); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 TRANSFER COMPLETE"); usb_handle_transfer_completion(usb_backend, LIBUSB_TRANSFER_COMPLETED); break ; case LIBUSB20_TRANSFER_START: +tr_start: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); + max = libusb_get_buffsize(pdev, usb_xfer); + pos = usb_backend->transferred; + size = (usb_xfer->length - pos); + size = (size > max) ? max : size; usb_xfer->actual_length = 0; switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); libusb20_tr_setup_control(xfer, usb_xfer->buffer, - (void *)(((uint8_t *) usb_xfer->buffer) + + (void *)(((uint8_t *) &usb_xfer->buffer[pos]) + sizeof(libusb_control_setup)), usb_xfer->timeout); break ; @@ -883,19 +971,19 @@ usb_xfer->num_iso_packets = iso_packets; for (i = 0 ; i < usb_xfer->num_iso_packets ; i++) { libusb20_tr_setup_isoc(xfer, - usb_xfer->buffer, usb_xfer->length, i); + &usb_xfer->buffer[pos], size, i); } libusb20_tr_set_total_frames(xfer, i); break ; case LIBUSB_TRANSFER_TYPE_BULK: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); - libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, - usb_xfer->length, usb_xfer->timeout); + libusb20_tr_setup_bulk(xfer, &usb_xfer->buffer[pos], + size, usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_INTERRUPT: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); - libusb20_tr_setup_intr(xfer, usb_xfer->buffer, - usb_xfer->length, usb_xfer->timeout); + libusb20_tr_setup_intr(xfer, &usb_xfer->buffer[pos], + size, usb_xfer->timeout); break ; } libusb20_tr_submit(xfer); @@ -941,82 +1029,6 @@ } } -static int -libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) -{ - int ret; - int usb_speed; - - usb_speed = libusb20_dev_get_speed(pdev); - - switch (xfer->type) { - case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - case LIBUSB20_SPEED_FULL: - ret = 60 * 1; - break ; - default : - ret = 60 * 8; - break ; - } - break ; - case LIBUSB_TRANSFER_TYPE_CONTROL: - ret = 2; - break ; - default: - ret = 1; - break ; - } - - return ret; -} - -static int -libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) -{ - int ret; - int usb_speed; - - usb_speed = libusb20_dev_get_speed(pdev); - - switch (xfer->type) { - case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - ret = 0; - break ; - case LIBUSB_TRANSFER_TYPE_CONTROL: - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - ret = 8; - break ; - case LIBUSB20_SPEED_FULL: - ret = 64; - break ; - case LIBUSB20_SPEED_HIGH: - ret = 64; - break ; - } - /*add */ - ret += 8; - break ; - default : - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - ret = 256; - break ; - case LIBUSB20_SPEED_FULL: - ret = 4096; - break ; - default: - ret = 16384; - break ; - } - break ; - } - - return ret; -} - int libusb_submit_transfer(struct libusb_transfer *xfer) { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#22 (text+ko) ==== @@ -125,8 +125,6 @@ if (xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER) libusb_free_transfer(xfer); - DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_TR_CLOSE"); - libusb20_tr_close(xfer->os_priv); pthread_mutex_lock(&ctx->event_waiters_lock); pthread_cond_broadcast(&ctx->event_waiters_cond); pthread_mutex_unlock(&ctx->event_waiters_lock); From owner-p4-projects@FreeBSD.ORG Sat Jul 4 12:48:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81B671065676; Sat, 4 Jul 2009 12:48:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40BBB1065672 for ; Sat, 4 Jul 2009 12:48:36 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D2888FC19 for ; Sat, 4 Jul 2009 12:48:36 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64CmZDr074100 for ; Sat, 4 Jul 2009 12:48:35 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64CmZNT074098 for perforce@freebsd.org; Sat, 4 Jul 2009 12:48:35 GMT (envelope-from trasz@freebsd.org) Date: Sat, 4 Jul 2009 12:48:35 GMT Message-Id: <200907041248.n64CmZNT074098@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165592 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 12:48:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=165592 Change 165592 by trasz@trasz_victim on 2009/07/04 12:47:40 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#29 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#34 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libgcc/Makefile#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Symbol.map#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/getsockopt.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/shmctl.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/Makefile#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/amd64/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/i386/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/ia64/boot_crunch.conf#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/pc98/boot_crunch.conf#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/powerpc/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/scripts/package-split.py#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/sparc64/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/sun4v/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_hp.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_wmi.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/cpuctl.4#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/genassym.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/identcpu.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/intr_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/local_apic.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/msi.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/intr_machdep.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/mv/mv_machdep.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#43 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/options#29 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ale/if_ale.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_internal.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_athvar.h#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cpuctl/cpuctl.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_em.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/usb/uaudio.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/at91dci.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/atmegadci.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/musb_otg.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uss820dci.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_cdce.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/ustorage_fs.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_controller.h#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_handle_request.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_if.m#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdi.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_lookup.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_io.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_subr.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_vfs.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/journal/g_journal.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#24 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/genassym.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/intr_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/local_apic.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/msi.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/intr_machdep.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ia64/conf/GENERIC#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_event.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exit.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_intr.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_linker.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_generic.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_process.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_socket.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty.c#25 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_syscalls.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_export.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_mount.c#24 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#37 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_syscalls.c#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/malta/yamon.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/busdma_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/intr_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/nfsclient/Makefile#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/nfsserver/Makefile#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#25 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_var.h#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/netisr.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/vnet.h#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_iface.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_ksocket.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_var.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs/nfs_common.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs/rpcv2.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/bootp_subr.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/krpc_subr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_bio.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_diskless.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_krpc.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_lock.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_node.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_socket.c#9 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_subs.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vfsops.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfsmount.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_fha.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_serv.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvcache.c#4 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvkrpc.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvsock.c#9 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvsubs.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_syscalls.c#10 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfsrvcache.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/conf/GENERIC#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/clnt_dg.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_arg.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_bsm.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_private.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/conf/GENERIC#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/machdep.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/pmap.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/conf/GENERIC#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/cpuctl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/event.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/filio.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/mount.h#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#31 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/priv.h#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#32 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vnops.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#31 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_extern.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_fault.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_map.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_object.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cmdline.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/Makefile#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cpucontrol/cpucontrol.8#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cpucontrol/cpucontrol.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pkg_install/lib/url.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/dist.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/dist.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/doc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/menus.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/sysinstall.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/tzsetup/tzsetup.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/tzsetup/tzsetup.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wake/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wake/wake.8#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wake/wake.c#1 branch Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#15 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.625 2009/06/14 15:16:24 markm Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.627 2009/06/29 01:33:59 kan Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#29 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.198 2009/06/27 10:11:15 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.199 2009/07/01 07:37:21 dfr Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h # 20090624: update usbdi(9) OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#34 (text+ko) ==== @@ -22,6 +22,23 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + 20090624: The ABI of various structures related to the SYSV IPC API have been changed. As a result, the COMPAT_FREEBSD[456] kernel @@ -1624,4 +1641,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.623 2009/06/26 17:50:52 jhb Exp $ +$FreeBSD: src/UPDATING,v 1.627 2009/07/01 18:12:50 dfr Exp $ ==== //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.34 2009/06/23 23:30:56 delphij Exp $"); +__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.35 2009/07/01 15:52:19 trasz Exp $"); #include #include @@ -186,8 +186,14 @@ * identical to the one computed from an ACL will change * that ACL. */ +>>>> ORIGINAL //depot/vendor/freebsd/src/bin/chmod/chmod.c#13 +==== THEIRS //depot/vendor/freebsd/src/bin/chmod/chmod.c#14 + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) +==== YOURS //trasz_victim/nfs4acl/bin/chmod/chmod.c if (may_have_nfs4acl(p) == 0) { if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) +<<<< continue; } if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { @@ -239,7 +245,12 @@ previous_dev = ent->fts_statp->st_dev; supports_acls = 0; +>>>> ORIGINAL //depot/vendor/freebsd/src/bin/chmod/chmod.c#13 +==== THEIRS //depot/vendor/freebsd/src/bin/chmod/chmod.c#14 + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); +==== YOURS //trasz_victim/nfs4acl/bin/chmod/chmod.c ret = pathconf(ent->fts_accpath, _PC_EXTENDED_SECURITY_NP); +<<<< if (ret > 0) supports_acls = 1; else if (ret < 0 && errno != EINVAL) ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libgcc/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.63 2009/02/13 16:51:36 jkim Exp $ +# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.65 2009/06/29 01:33:59 kan Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libssp/libssp_nonshared/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libssp/libssp_nonshared/Makefile,v 1.1 2007/05/19 04:25:56 kan Exp $ +# $FreeBSD: src/gnu/lib/libssp/libssp_nonshared/Makefile,v 1.3 2009/06/29 01:33:59 kan Exp $ GCCDIR= ${.CURDIR}/../../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../../contrib/gcclibs ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.29 2007/10/12 17:49:12 obrien Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.31 2009/06/29 01:33:59 kan Exp $ */ /* FREEBSD_NATIVE is defined when gcc is integrated into the FreeBSD source tree so it can be configured appropriately without using ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.75 2009/03/13 10:40:38 gabor Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.77 2009/06/29 01:33:59 kan Exp $ SHLIBDIR?= /lib ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/msgctl.3#2 (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/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.22 2009/06/29 18:54:17 kib Exp $ .\"/ .Dd April 3, 2008 .Dt MSGCTL 3 @@ -71,12 +71,8 @@ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ - long msg_pad1; time_t msg_rtime; /* time of last msgrcv() */ - long msg_pad2; time_t msg_ctime; /* time of last msgctl() */ - long msg_pad3; - long msg_pad4[4]; }; .Ed .Pp @@ -89,11 +85,11 @@ and looks like this: .Bd -literal struct ipc_perm { - unsigned short cuid; /* creator user id */ - unsigned short cgid; /* creator group id */ - unsigned short uid; /* user id */ - unsigned short gid; /* group id */ - unsigned short mode; /* r/w permission */ + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ unsigned short seq; /* sequence # (to generate unique ipcid) */ key_t key; /* user specified msg/sem/shm key */ }; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Symbol.map#11 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.24 2009/06/24 21:10:52 jhb Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $ */ /* ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/getsockopt.2#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 -.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.40 2008/06/12 22:58:35 wkoszek Exp $ +.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.41 2009/06/30 20:53:56 trasz Exp $ .\" .Dd June 13, 2008 .Dt GETSOCKOPT 2 @@ -139,6 +139,11 @@ .In sys/time.h . .Pp The following options are recognized at the socket level. +For protocol-specific options, see protocol manual pages, +e.g. +.Xr ip 4 +or +.Xr tcp 4 . Except as noted, each may be examined with .Fn getsockopt and set with @@ -499,6 +504,10 @@ .Xr getprotoent 3 , .Xr mac 3 , .Xr sysctl 3 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr sctp 4 , +.Xr tcp 4 , .Xr protocols 5 , .Xr sysctl 8 , .Xr accept_filter 9 , ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/semctl.2#2 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/semctl.2,v 1.20 2005/01/15 12:28:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/semctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd September 12, 1995 .Dt SEMCTL 2 @@ -148,12 +148,9 @@ struct sem *sem_base; /* pointer to first semaphore in set */ u_short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ - long sem_pad1; /* SVABI/386 says I need this here */ time_t sem_ctime; /* last change time */ /* Times measured in secs since */ /* 00:00:00 GMT, Jan. 1, 1970 */ - long sem_pad2; /* SVABI/386 says I need this here */ - long sem_pad3[4]; /* SVABI/386 says I need this here */ }; .Ed .Sh RETURN VALUES ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/shmctl.2#3 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/shmctl.2,v 1.20 2009/03/05 12:04:42 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/shmctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd July 17, 1995 .Dt SHMCTL 2 @@ -100,14 +100,13 @@ .Bd -literal struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ - int shm_segsz; /* size of segment in bytes */ + size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ - short shm_nattch; /* number of current attaches */ + int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ - void *shm_internal; /* sysv stupidity */ }; .Ed .Sh RETURN VALUES @@ -133,16 +132,6 @@ Permission denied due to mismatch between operation and mode of shared memory segment. .El -.Sh "BUGS" -The segment size has size_t type. -The shm_segsz member of the -.Vt shmid_ds -structure has type int, which is too short to represent the full range -of values for a segment size. -If shared memory limits are raised to allow segments with size > 2 GB -to be created, be aware that IPC_STAT call may return a truncated value -for shm_segsz. -.El .Sh "SEE ALSO" .Xr shmat 2 , .Xr shmdt 2 , ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/stack_protector.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $ */ +/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $ */ /* $NetBSD: stack_protector.c,v 1.4 2006/11/22 17:23:25 christos Exp $ */ /* $OpenBSD: stack_protector.c,v 1.10 2006/03/31 05:34:44 deraadt Exp $ */ /* @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.43 2009/02/21 15:04:31 ru Exp $ +# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.45 2009/06/29 01:33:59 kan Exp $ .include MK_SSP= no ==== //depot/projects/soc2008/trasz_nfs4acl/release/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.942 2009/06/25 04:25:26 marcel Exp $ +# $FreeBSD: src/release/Makefile,v 1.943 2009/06/28 08:59:46 blackend Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -39,6 +39,10 @@ # checking out from a local CVS repository, set this option. #EXTPORTSDIR=/usr/ports # +# To use a checked-out doc/ directory instead of +# checking out from a local CVS repository, set this option. +#EXTDOCDIR=/usr/doc +# # To add other options to the CVS subcommands (co,up), set #CVSCMDARGS="-D '01/01/2002 00:00:00 UTC'" # @@ -91,15 +95,13 @@ # the ports tree, so NOPORTS can be set together with NODOC in order # to have neither ports or docs. If only NOPORTS is set to YES, but # docs are still desired, the DOMINIMALDOCPORTS logic below will only -# install the ports that are minimally required for the docs. This is +# install the ports that are minimally required for the release note documentation. This is # intended as a compromise, less disk space is required than for using # the entire ports collection (and much less time due to the huge number # of directories it would create), but still quite a bit as well as some # CPU cycles (some of the programs are C++, and things like ghostscript # belong to the required ports nevertheless). # -# Setting this also disables building of release note documentation -# (RELNOTESng). #NODOC= YES #NOPORTS= YES @@ -141,11 +143,6 @@ # # Doing 'make index' in /usr/ports requires Perl. MAKEINDEXPORTS= lang/perl5.8 -# By default, documentation (Handbook, FAQ, etc.) is built for all -# the languages. To speed up building, set the DOC_LANG to just -# the languages you need. (The language for the release notes is -# controlled by the RELNOTES_LANG variable above.) -#DOC_LANG= en_US.ISO8859-1 DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by release procedures. .if defined(DOCDISTFILES) @@ -348,7 +345,7 @@ @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false .endif .if defined(NOPORTSATALL) && !defined(NODOC) - @echo "Ports are required for building the docs. Either set NODOC or" + @echo "Ports are required for building the release docs. Either set NODOC or" @echo "unset NOPORTS, or set at least DOMINIMALDOCPORTS to YES!" @exit 1 .endif @@ -477,7 +474,6 @@ BUILDNAME \ CD_PACKAGE_TREE \ DISTRIBUTIONS \ - DOC_LANG \ DOMINIMALDOCPORTS \ EXTRA_SRC \ FTP_PASSIVE_MODE \ @@ -1037,22 +1033,8 @@ @echo "Building CDROM docs filesystem image" @mkdir -p ${CD_DOCS} @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf - @mkdir -p ${CD_DOCS}/usr/share/doc -.if defined(MAKE_DVD) - @mkdir -p ${CD_DVD1}/usr/share/doc + @echo "CD_VOLUME = 3" >> ${CD_DOCS}/cdrom.inf .endif - @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ - if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ - -d /usr/doc/$$i ]; then \ - mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DOCS}/usr/share/doc; \ - fi \ - done -.if defined(MAKE_DVD) - @cd ${CD_DOCS}/usr/share/doc && find . -print | \ - cpio -dumpl ${CD_DVD1}/usr/share/doc -.endif -.endif touch ${.TARGET} # @@ -1082,6 +1064,11 @@ .if exists(${CD_PACKAGE_TREE}/disc2) CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2 .endif +# scripts/package-trees.sh names all discs according to the "discX" +# scheme where X is the number of the disc +.if exists(${CD_PACKAGE_TREE}/disc3) +CD_DOCS_PKGS= ${CD_PACKAGE_TREE}/disc3 +.endif .if exists(${CD_PACKAGE_TREE}/dvd1) CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1 .endif @@ -1113,7 +1100,8 @@ .if !defined(NODOC) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ FreeBSD_Documentation \ - ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} + ${CD}/${BUILDNAME}-${TARGET}-disc3.iso ${CD_DOCS} \ + ${CD_DOCS_PKGS} .endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ @@ -1139,9 +1127,6 @@ make all install clean BATCH=yes WITHOUT_X11=yes JADETEX=no \ WITHOUT_PYTHON=yes FORCE_PKG_REGISTER=yes; \ done - @cd /usr/doc && make all install 'FORMATS=html html-split txt' \ - INSTALL_COMPRESSED='' DOCDIR=${RD}/trees/base/usr/share/doc \ - URLS_ABSOLUTE=YES touch ${.TARGET} # ==== //depot/projects/soc2008/trasz_nfs4acl/release/amd64/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/i386/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/ia64/boot_crunch.conf#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.17 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.18 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -46,4 +46,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo -libs -lgeom -lbsdxml -larchive -lbz2 -lusb +libs -lgeom -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/pc98/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.65 2008/08/20 13:35:39 kensmith Exp $ +# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.66 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -41,4 +41,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 +libs -larchive -lbz2 -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/powerpc/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.9 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.10 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -44,4 +44,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/scripts/package-split.py#2 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.17 2007/11/07 09:11:45 kris Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.18 2009/06/28 08:59:46 blackend Exp $ import os import sys @@ -86,11 +86,34 @@ 'ports-mgmt/portaudit']) return pkgs +def docs_packages(): + pkgs = ['misc/freebsd-doc-bn', + 'misc/freebsd-doc-da', + 'misc/freebsd-doc-de', + 'misc/freebsd-doc-el', + 'misc/freebsd-doc-en', + 'misc/freebsd-doc-es', + 'misc/freebsd-doc-fr', + 'misc/freebsd-doc-hu', + 'misc/freebsd-doc-it', + 'misc/freebsd-doc-ja', + 'misc/freebsd-doc-mn', + 'misc/freebsd-doc-nl', + 'misc/freebsd-doc-pl', + 'misc/freebsd-doc-pt', + 'misc/freebsd-doc-ru', + 'misc/freebsd-doc-sr', + 'misc/freebsd-doc-tr', + 'misc/freebsd-doc-zh_cn', + 'misc/freebsd-doc-zh_tw'] + return pkgs + # The list of desired packages def desired_packages(): disc1 = disc1_packages() disc2 = disc2_packages() - return [disc1, disc2] + docs = docs_packages() + return [disc1, disc2, docs] # Suck the entire INDEX file into a two different dictionaries. The first # dictionary maps port names (origins) to package names. The second ==== //depot/projects/soc2008/trasz_nfs4acl/release/sparc64/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.13 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.14 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/sun4v/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.6 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.7 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_hp.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.4 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_HP 4 i386 .Os .Sh NAME @@ -92,8 +92,8 @@ WWAN on air status changed to 1 (on air) .El .Ss Xr devfs 8 Ss Device -You can read /dev/hpcmi to see your current BIOS settings. The detail level -can be adjusted by setting the sysctl +You can read /dev/hpcmi to see your current BIOS settings. +The detail level can be adjusted by setting the sysctl .Va cmi_detail as described below. .Sh SYSCTL VARIABLES @@ -165,11 +165,30 @@ Show a list of valid options for the BIOS setting .It Li 0x04 Show additional flags of BIOS setting (ReadOnly etc.) +.It Li 0x08 +Query highest BIOS entry instance. +This is broken on many HP models and therefore disabled by default. .El +.It Va dev.acpi_hp.0.verbose +(read-only) +Set verbosity level .El .Pp Defaults for these sysctls can be set in .Xr sysctl.conf 5 . +.Sh HARDWARE +The +.Nm +driver has been reported to support the following hardware: +.Pp +.Bl -bullet -compact +.It +HP Compaq 8510p +.It +HP Compaq nx7300 +.El +.Pp +It should work on most HP laptops that feature a WMI enabled BIOS. .Sh FILES .Bl -tag -width ".Pa /dev/hpcmi" .It Pa /dev/hpcmi @@ -245,7 +264,7 @@ driver was written by .An Michael Gmelin Aq freebsd@grem.de .Pp -It has been inspired by hp-wmi driver, which implements a subset of these +It has been inspired by hp-wmi driver, which implements a subset of these features (hotkeys) on Linux. .Pp .Bl -tag -width indent ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_wmi.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.3 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_WMI 4 i386 .Os .Sh NAME @@ -48,7 +48,8 @@ The .Nm driver provides an interface for vendor specific WMI implementations -(e.g. HP and Acer laptops). It creates /dev/wmistat, which can be read to get +(e.g. HP and Acer laptops). +It creates /dev/wmistat, which can be read to get information about GUIDs found in the system. .Sh FILES .Bl -tag -width /dev/wmistat -compact ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/cpuctl.4#5 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.6 2009/04/23 08:37:56 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.7 2009/06/30 12:35:47 stas Exp $ .\" -.Dd May 31, 2008 +.Dd June 30, 2009 .Dt CPUCTL 4 .Os .Sh NAME @@ -81,6 +81,11 @@ uint64_t data; } cpuctl_msr_args_t; .Ed +.It Dv CPUCTL_MSRSBIT Fa cpuctl_msr_args_t *args +.It Dv CPUCTL_MSRCBIT Fa cpuctl_msr_args_t *args +Set/clear MSR bits according to the mask given in the +.Va data +field. .It Dv CPUCTL_CPUID Fa cpuctl_cpuid_args_t *args Retrieve CPUID information. Arguments are supplied in ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/genassym.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/identcpu.c#11 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/intr_machdep.c#4 (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/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 4 15:09:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D6861065673; Sat, 4 Jul 2009 15:09:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7869106566C for ; Sat, 4 Jul 2009 15:09:09 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A5EF08FC15 for ; Sat, 4 Jul 2009 15:09:09 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64F99h6086832 for ; Sat, 4 Jul 2009 15:09:09 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64F99br086830 for perforce@freebsd.org; Sat, 4 Jul 2009 15:09:09 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 15:09:09 GMT Message-Id: <200907041509.n64F99br086830@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165593 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 15:09:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=165593 Change 165593 by pgj@petymeg-current on 2009/07/04 15:08:30 Do not use kread() at all when doing live monitoring. This is required to run a 32-bit netstat on top of a 64-bit kernel, otherwise it will result a "no namelist" error. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#10 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#10 (text+ko) ==== @@ -523,7 +523,8 @@ * used for the queries, which is slower. */ #endif - kread(0, NULL, 0); + if (!live) + kread(0, NULL, 0); if (iflag && !sflag) { intpr(interval, nl[N_IFNET].n_value, NULL); exit(0); From owner-p4-projects@FreeBSD.ORG Sat Jul 4 15:23:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAE731065673; Sat, 4 Jul 2009 15:23:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6AF671065670 for ; Sat, 4 Jul 2009 15:23:25 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4F6708FC08 for ; Sat, 4 Jul 2009 15:23:25 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64FNO0G087862 for ; Sat, 4 Jul 2009 15:23:24 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64FNOeP087860 for perforce@freebsd.org; Sat, 4 Jul 2009 15:23:24 GMT (envelope-from anchie@FreeBSD.org) Date: Sat, 4 Jul 2009 15:23:24 GMT Message-Id: <200907041523.n64FNOeP087860@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165594 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 15:23:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=165594 Change 165594 by anchie@anchie_malimis on 2009/07/04 15:23:00 snd_ifinfo functions; previously that were ng_ifinfo functions. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#10 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/netgraph.c#2 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.c#3 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.h#2 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os_specific.h#4 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#7 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#12 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#10 (text+ko) ==== @@ -74,22 +74,20 @@ return (b); } -#if 0 /* Per-interface info */ struct snd_ifinfo { struct list_head list; char name[32]; int ifidx; - int icmps; -} + int snds; +}; static DEFINE_LIST_HEAD(ifaces); /* Data packet meta data */ struct input_hook_packet_info { struct snd_ifinfo *ifinfo; - int in; - int from_kernel; -} + int direction; +}; int snd_handle_iface(const char *ifname, int ifidx) @@ -102,9 +100,9 @@ } memset(p, 0, sizeof (*p)); - snprintf(o->name, sizeof (p->name), "%s", ifname) + snprintf(p->name, sizeof (p->name), "%s", ifname); p->ifidx = ifidx; - p->icmps = -1; + p->snds = -1; list_add_tail(&p->list, &ifaces); return (0); @@ -116,11 +114,24 @@ struct snd_ifinfo *p; list_for_each_entry(p, &ifaces, list) { - *maxfd = *maxfd > p->icmps ? *maxfd : p->icmps; - FD_SET(p->icmps, fds); + *maxfd = *maxfd > p->snds ? *maxfd : p->snds; + applog(LOG_ERR, "snds added to snd_ifinfo."); + FD_SET(p->snds, fds); } } +int +freebsd_snd_init(void) +{ + + if (list_empty(&ifaces)) { + applog(LOG_ERR, "SEND must be active on at least one iface"); + return (-1); + } + return (0); +} + +#if 0 void snd_dispatch_fds(fd_set *fds) { @@ -182,7 +193,7 @@ struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; struct sbuff *b; - int in = -1, n, ifidx = -1; + int n, ifidx = -1; if ((b = snd_get_buf()) == NULL) { return; @@ -192,6 +203,8 @@ if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); goto done; + } else { + applog(LOG_ERR, "%s: %d bytes read on routing socket.", n, __FUNCTION__); } b->len = n; @@ -199,6 +212,8 @@ if (rtm->rtm_version != RTM_VERSION) { applog(LOG_ERR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; + } else { + applog(LOG_ERR, "%s RTM_VERSION", __FUNCTION__); } switch (rtm->rtm_type) { @@ -209,20 +224,16 @@ ifan = (struct if_announcemsghdr *) rtm; switch (ifan->ifan_what) { case RTM_SND_IN: - in = 1; - /* n = RTM hdr + m as passed to nd6_ns_input() */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ - snd_recv_pkt(b, ifidx, in); + snd_recv_pkt(b, ifidx, SND_IN); break; case RTM_SND_OUT: - in = 0; - /* n = RTM hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ - snd_recv_pkt(b, ifidx, in); + snd_recv_pkt(b, ifidx, SND_OUT); break; } break; ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/netgraph.c#2 (text+ko) ==== @@ -357,8 +357,9 @@ DBG(&dbg, "data on unknown hook %s", hook); goto drop; } - +#if 0 snd_recv_pkt(b, p->ifidx, pi->in, pi); +#endif return (0); drop: ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.c#3 (text+ko) ==== @@ -34,52 +34,13 @@ #include #include "config.h" +#include "snd_freebsd.h" #include "../os_specific.h" -#include "snd_freebsd.h" extern int linux_rand_init(void); extern void linux_rand_fini(void); -/* Per-interface info */ -struct snd_ifinfo { - struct list_head list; - char name[32]; - int ifidx; - int icmps; -}; -static DEFINE_LIST_HEAD(ifaces); - int -snd_handle_iface(const char *ifname, int ifidx) -{ - struct snd_ifinfo *p; - - if ((p = malloc(sizeof (*p))) == NULL) { - APPLOG_NOMEM(); - return (-1); - } - memset(p, 0, sizeof (*p)); - - snprintf(p->name, sizeof (p->name), "%s", ifname); - p->ifidx = ifidx; - p->icmps = -1; - list_add_tail(&p->list, &ifaces); - - return (0); -} - -int -freebsd_snd_init(void) -{ - - if (list_empty(&ifaces)) { - applog(LOG_ERR, "SEND must be active on at least one iface"); - return (-1); - } - return (0); -} - -int os_specific_init(void) { if (linux_rand_init() < 0 || freebsd_snd_init() < 0) { @@ -94,6 +55,8 @@ void os_specific_fini(void) { +#if 0 freebsd_netgraph_fini(); +#endif linux_rand_fini(); } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.h#2 (text+ko) ==== @@ -33,6 +33,8 @@ #ifndef _SND_FREEBSD_H #define _SND_FREEBSD_H +extern int freebsd_snd_init(void); + extern char *freebsd_get_ifs_buf(int *); extern int freebsd_ifs_init(int (*cb)(const char *, int)); extern void freebsd_netgraph_fini(void); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os_specific.h#4 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#7 (text+ko) ==== @@ -47,6 +47,7 @@ #include "sendd_local.h" #include "snd_config.h" #include "os_specific.h" +#include "os/snd_freebsd.h" #include "dbg.h" #ifdef DEBUG @@ -86,6 +87,7 @@ if (cfd != -1) maxfd = cfd; maxfd = sendd_max(icmps, maxfd); maxfd = sendd_max(ctlfd, maxfd); + maxfd = sendd_max(snds, maxfd); for (;;) { FD_ZERO(fds); @@ -95,7 +97,7 @@ /* Routing socket instead of using netgraph for ND/SeND */ FD_SET(snds, fds); /* os_specific_add_fds(fds, &maxfd); */ - /* snd_add_fds(fds, &maxfd); */ + snd_add_fds(fds, &maxfd); tv = get_next_wait(tvb); if (select(maxfd + 1, fds, NULL, NULL, tv) < 0) { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#12 (text+ko) ==== @@ -7,8 +7,8 @@ * structure. */ -#define SEND_OUT 0 /* outgoing traffic sent to sendd */ -#define SEND_IN 1 +#define SND_OUT 0 /* outgoing traffic sent to sendd */ +#define SND_IN 1 #define RTM_SND_OUT 0 /* outgoing traffic with RTM header sent to sendd */ #define RTM_SND_IN 1 /* incoming traffic with RTM header sent to sendd */ From owner-p4-projects@FreeBSD.ORG Sat Jul 4 15:36:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54E241065670; Sat, 4 Jul 2009 15:36:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F003C106564A for ; Sat, 4 Jul 2009 15:36:39 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DD8F08FC08 for ; Sat, 4 Jul 2009 15:36:39 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64Fad3u088824 for ; Sat, 4 Jul 2009 15:36:39 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64Fadel088822 for perforce@freebsd.org; Sat, 4 Jul 2009 15:36:39 GMT (envelope-from anchie@FreeBSD.org) Date: Sat, 4 Jul 2009 15:36:39 GMT Message-Id: <200907041536.n64Fadel088822@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165595 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 15:36:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=165595 Change 165595 by anchie@anchie_malimis on 2009/07/04 15:35:44 Editorial changes. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#15 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#13 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#4 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#13 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#15 (text+ko) ==== @@ -409,7 +409,6 @@ int icmp6len = m->m_pkthdr.len - *offp; int code, sum, noff; char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; - int in; int ip6len; ifp = m->m_pkthdr.rcvif; @@ -766,20 +765,18 @@ /* give up local */ /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ nd6_rs_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_rs_input(n, off, icmp6len); /* m stays. */ break; @@ -793,18 +790,16 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_ra_input(m, off, icmp6len); m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hoo(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_ra_input(n, off, icmp6len); /* m stays. */ break; @@ -818,20 +813,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_ns_input(n, off, icmp6len); /* m stays. */ break; @@ -845,10 +838,9 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ nd6_na_input(m, off, icmp6len); } @@ -871,20 +863,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ icmp6_redirect_input(m, off); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else icmp6_redirect_input(n, off); /* m stays. */ break; @@ -2791,7 +2781,8 @@ sizeof(*ip6), ntohs(ip6->ip6_plen)); if (send_output_hook != NULL) { - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), + M_NOWAIT); if (mtag == NULL) goto fail; *(unsigned short *)(mtag + 1) = nd_rd->nd_rd_type; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#13 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#4 (text+ko) ==== @@ -565,7 +565,8 @@ in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), icmp6len); if (send_output_hook != NULL) { - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), + M_NOWAIT); if (mtag == NULL) goto bad; else @@ -1080,7 +1081,8 @@ in6_cksum(m, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), icmp6len); if (send_output_hook != NULL) { - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), + M_NOWAIT); if (mtag == NULL) goto bad; *(unsigned short *)(mtag + 1) = nd_na->nd_na_type; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#13 (text+ko) ==== @@ -7,8 +7,8 @@ * structure. */ -#define SND_OUT 0 /* outgoing traffic sent to sendd */ -#define SND_IN 1 +#define SND_OUT 0 /* Outgoing traffic */ +#define SND_IN 1 /* Incoming traffic. */ -#define RTM_SND_OUT 0 /* outgoing traffic with RTM header sent to sendd */ -#define RTM_SND_IN 1 /* incoming traffic with RTM header sent to sendd */ +#define RTM_SND_OUT 0 /* Outgoing RTM SeND packet sent to user space */ +#define RTM_SND_IN 1 /* Incoming RTM SeND packet sent to user space */ From owner-p4-projects@FreeBSD.ORG Sat Jul 4 16:12:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0803F1065672; Sat, 4 Jul 2009 16:12:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB824106564A for ; Sat, 4 Jul 2009 16:12:18 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A82838FC08 for ; Sat, 4 Jul 2009 16:12:18 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64GCI0n092249 for ; Sat, 4 Jul 2009 16:12:18 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64GCIoD092247 for perforce@freebsd.org; Sat, 4 Jul 2009 16:12:18 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 16:12:18 GMT Message-Id: <200907041612.n64GCIoD092247@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165596 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 16:12:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=165596 Change 165596 by pgj@petymeg-current on 2009/07/04 16:11:32 Add copyright message and $FreeBSD$ Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/Makefile#8 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#37 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#23 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#21 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#23 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#21 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#17 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/Makefile#2 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#7 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/Makefile#8 (text+ko) ==== @@ -1,3 +1,4 @@ +# $FreeBSD$ .include ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#37 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 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. + * + * $FreeBSD$ + */ #include #include ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#23 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 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. + * + * $FreeBSD$ + */ #ifndef _NETSTAT_H_ #define _NETSTAT_H_ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#21 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 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. + * + * $FreeBSD$ + */ #ifndef _NETSTAT_INTERNAL_H_ #define _NETSTAT_INTERNAL_H_ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#23 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 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. + * + * $FreeBSD$ + */ #include #include ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#21 (text+ko) ==== @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2009 Gabor Pali * Copyright (c) 1983, 1988, 1993, 1995 * The Regents of the University of California. All rights reserved. * ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#17 (text+ko) ==== @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2009 Gabor Pali * Copyright (c) 1983, 1988, 1993 * The Regents of the University of California. All rights reserved. * ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/Makefile#2 (text+ko) ==== @@ -1,3 +1,5 @@ +# $FreeBSD$ + PROG= nettop SRCS= main.c ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#7 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 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. + * + * $FreeBSD$ + */ #include #include From owner-p4-projects@FreeBSD.ORG Sat Jul 4 16:39:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 17B211065675; Sat, 4 Jul 2009 16:39:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAF15106564A for ; Sat, 4 Jul 2009 16:39:48 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B91818FC1B for ; Sat, 4 Jul 2009 16:39:48 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64GdmB6094201 for ; Sat, 4 Jul 2009 16:39:48 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64GdmMt094199 for perforce@freebsd.org; Sat, 4 Jul 2009 16:39:48 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 16:39:48 GMT Message-Id: <200907041639.n64GdmMt094199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165597 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 16:39:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=165597 Change 165597 by pgj@petymeg-current on 2009/07/04 16:39:30 Correct the previous patch about kread(): call it only when needed (e.g. for routing statistics) Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#11 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#11 (text+ko) ==== @@ -523,13 +523,13 @@ * used for the queries, which is slower. */ #endif - if (!live) + if (iflag && !sflag) { kread(0, NULL, 0); - if (iflag && !sflag) { intpr(interval, nl[N_IFNET].n_value, NULL); exit(0); } if (rflag) { + kread(0, NULL, 0); if (sflag) rt_stats(nl[N_RTSTAT].n_value, nl[N_RTTRASH].n_value); else @@ -537,6 +537,7 @@ exit(0); } if (gflag) { + kread(0, NULL, 0); if (sflag) { if (af == AF_INET || af == AF_UNSPEC) mrt_stats(nl[N_MRTSTAT].n_value); From owner-p4-projects@FreeBSD.ORG Sat Jul 4 17:25:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 498F11065673; Sat, 4 Jul 2009 17:25:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 085B4106566C for ; Sat, 4 Jul 2009 17:25:39 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D03398FC13 for ; Sat, 4 Jul 2009 17:25:38 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64HPcW5008575 for ; Sat, 4 Jul 2009 17:25:38 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64HPc2s008573 for perforce@freebsd.org; Sat, 4 Jul 2009 17:25:38 GMT (envelope-from truncs@FreeBSD.org) Date: Sat, 4 Jul 2009 17:25:38 GMT Message-Id: <200907041725.n64HPc2s008573@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165598 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 17:25:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=165598 Change 165598 by truncs@aditya on 2009/07/04 17:25:25 Cleanup. Preallocation is GPL'd and besides it lead to some problems while adding a journaling layer to it in linux so this scheme was removed from ext2fs and a new reservation window based scheme was implemented. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#26 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#26 (text+ko) ==== @@ -136,56 +136,9 @@ ip->i_blocks += btodb(fs->e2fs_bsize); ip->i_flag |= IN_CHANGE | IN_UPDATE; *bnp = bno; + uprintf("Allocation of block successfull"); return (0); } - - -#ifdef notused -#ifdef EXT2_PREALLOCATE - /* To have a preallocation hit, we must - * - have at least one block preallocated - * - and our preferred block must have that block number or one below - */ - if (ip->i_prealloc_count && - (bpref == ip->i_prealloc_block || - bpref + 1 == ip->i_prealloc_block)) - { - bno = ip->i_prealloc_block++; - ip->i_prealloc_count--; - /* ext2_debug ("preallocation hit (%lu/%lu).\n", - ++alloc_hits, ++alloc_attempts); */ - - /* Linux gets, clears, and releases the buffer at this - point - we don't have to that; we leave it to the caller - */ - } else { - ext2_discard_prealloc (ip); - /* ext2_debug ("preallocation miss (%lu/%lu).\n", - alloc_hits, ++alloc_attempts); */ - if (S_ISREG(ip->i_mode)) - bno = ext2_new_block - (ITOV(ip)->v_mount, bpref, - &ip->i_prealloc_count, - &ip->i_prealloc_block); - else - bno = (int32_t)ext2_new_block(ITOV(ip)->v_mount, - bpref, 0, 0); - } -#else - bno = (int32_t)ext2_new_block(ITOV(ip)->v_mount, bpref, 0, 0); -#endif - - if (bno > 0) { - /* set next_alloc fields as done in block_getblk */ - ip->i_next_alloc_block = lbn; - ip->i_next_alloc_goal = bno; - - ip->i_blocks += btodb(size); - ip->i_flag |= IN_CHANGE | IN_UPDATE; - *bnp = bno; - return (0); - } -#endif nospace: ext2_fserr(fs, cred->cr_uid, "file system full"); uprintf("\n%s: write failed, file system is full\n", fs->e2fs_fsmnt); From owner-p4-projects@FreeBSD.ORG Sat Jul 4 17:38:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5D651065676; Sat, 4 Jul 2009 17:38:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 848CB106564A for ; Sat, 4 Jul 2009 17:38:53 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6812F8FC0C for ; Sat, 4 Jul 2009 17:38:53 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64HcrPc009469 for ; Sat, 4 Jul 2009 17:38:53 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64HcrmZ009467 for perforce@freebsd.org; Sat, 4 Jul 2009 17:38:53 GMT (envelope-from truncs@FreeBSD.org) Date: Sat, 4 Jul 2009 17:38:53 GMT Message-Id: <200907041738.n64HcrmZ009467@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165599 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 17:38:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165599 Change 165599 by truncs@aditya on 2009/07/04 17:38:31 This function make no sense since preallocation is removed. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#27 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#27 (text+ko) ==== @@ -62,41 +62,37 @@ static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); /* - * Linux calls this functions at the following locations: - * (1) the inode is freed - * (2) a preallocation miss occurs - * (3) truncate is called - * (4) release_file is called and f_mode & 2 - * - * I call it in ext2_inactive, ext2_truncate, ext2_vfree and in (2) - * the call in vfree might be redundant - */ -void -ext2_discard_prealloc(ip) - struct inode * ip; -{ -#ifdef EXT2_PREALLOCATE - if (ip->i_prealloc_count) { - int i = ip->i_prealloc_count; - ip->i_prealloc_count = 0; - ext2_free_blocks (ITOV(ip)->v_mount, - ip->i_prealloc_block, - i); - } -#endif -} - -/* * Allocate a block in the file system. - * - * this takes the framework from ffs_alloc. To implement the - * actual allocation, it calls ext2_new_block, the ported version - * of the same Linux routine. * - * we note that this is always called in connection with ext2_blkpref + * A preference may be optionally specified. If a preference is given + * the following hierarchy is used to allocate a block: + * 1) allocate the requested block. + * 2) allocate a rotationally optimal block in the same cylinder. + * 3) allocate a block in the same cylinder group. + * 4) quadradically rehash into other cylinder groups, until an + * available block is located. + * If no block preference is given the following hierarchy is used + * to allocate a block: + * 1) allocate a block in the cylinder group that contains the + * inode for the file. + * 2) quadradically rehash into other cylinder groups, until an + * available block is located. * - * preallocation is done as Linux does it + * A preference may be optionally specified. If a preference is given + * the following hierarchy is used to allocate a block: + * 1) allocate the requested block. + * 2) allocate a rotationally optimal block in the same cylinder. + * 3) allocate a block in the same cylinder group. + * 4) quadradically rehash into other cylinder groups, until an + * available block is located. + * If no block preference is given the following hierarchy is used + * to allocate a block: + * 1) allocate a block in the cylinder group that contains the + * inode for the file. + * 2) quadradically rehash into other cylinder groups, until an + * available block is located. */ + int ext2_alloc(ip, lbn, bpref, size, cred, bnp) struct inode *ip; @@ -495,7 +491,6 @@ /* ext2_debug("ext2_vfree (%d, %d) called\n", pip->i_number, mode); */ - ext2_discard_prealloc(pip); /* we need to make sure that ext2_free_inode can adjust the used_dir_counts in the group summary information - I'd From owner-p4-projects@FreeBSD.ORG Sat Jul 4 17:48:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8DAC1065674; Sat, 4 Jul 2009 17:48:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 949901065672 for ; Sat, 4 Jul 2009 17:48:03 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 831CA8FC17 for ; Sat, 4 Jul 2009 17:48:03 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64Hm3p2010135 for ; Sat, 4 Jul 2009 17:48:03 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64Hm3lA010133 for perforce@freebsd.org; Sat, 4 Jul 2009 17:48:03 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 17:48:03 GMT Message-Id: <200907041748.n64Hm3lA010133@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165600 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 17:48:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=165600 Change 165600 by pgj@petymeg-current on 2009/07/04 17:47:41 Further fixes regarding kread() Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#12 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#12 (text+ko) ==== @@ -582,8 +582,11 @@ for (tp = netgraphprotox; tp->pr_name; tp++) printproto(tp, tp->pr_name); #endif /* NETGRAPH */ - if (af == AF_UNIX && !sflag) + if (af == AF_UNIX && !sflag) { + if (!live) + kread(0, NULL, 0); unixpr(kvmd); + } if (af == AF_UNSPEC || af == AF_INET #ifdef INET6 || af == AF_INET6 @@ -595,8 +598,10 @@ exit(-1); } st_flags = 0; - if (!live) + if (!live) { + kread(0, NULL, 0); st_flags |= NETSTAT_SOCKET_KVM; + } if (aflag) st_flags |= NETSTAT_SOCKET_ALL; /* @@ -710,6 +715,8 @@ case IPPROTO_IGMP: case IPPROTO_PIM: case IPPROTO_ICMPV6: + if (!live) + kread(0, NULL, 0); inetpr(kvmd, (af == PF_INET6) ? af : PF_INET, tp->pr_protocol); break; From owner-p4-projects@FreeBSD.ORG Sat Jul 4 17:53:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 840301065675; Sat, 4 Jul 2009 17:53:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 448811065672 for ; Sat, 4 Jul 2009 17:53:09 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 32B248FC14 for ; Sat, 4 Jul 2009 17:53:09 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64Hr96g010517 for ; Sat, 4 Jul 2009 17:53:09 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64Hr9YH010515 for perforce@freebsd.org; Sat, 4 Jul 2009 17:53:09 GMT (envelope-from truncs@FreeBSD.org) Date: Sat, 4 Jul 2009 17:53:09 GMT Message-Id: <200907041753.n64Hr9YH010515@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 165601 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 17:53:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=165601 Change 165601 by truncs@aditya on 2009/07/04 17:53:04 New implementation of blkfree. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#28 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#28 (text+ko) ==== @@ -456,12 +456,40 @@ long size; { struct m_ext2fs *fs; + struct buf *bp; + struct ext2_gd *gdp = NULL; + int cg, error; + char *bbp; fs = ip->i_e2fs; - /* - * call Linux code with mount *, block number, count - */ - ext2_free_blocks(ITOV(ip)->v_mount, bno, size / fs->e2fs_fsize); + cg = dtog(fs, bno); + gdp = get_group_desc2(fs, cg, NULL); + if ((u_int)bno >= fs->e2fs->e2fs_bcount) { + printf("bad block %lld, ino %llu\n", (long long)bno, + (unsigned long long)ip->i_number); + ext2_fserr(fs, ip->i_uid, "bad block"); + return; + } + error = bread(ip->i_devvp, + fsbtodb(fs, gdp->ext2bgd_b_bitmap), + (int)fs->e2fs_bsize, NOCRED, &bp); + if (error) { + brelse(bp); + return; + } + bbp = (char *)bp->b_data; + bno = dtogd(fs, bno); + if (isclr(bbp, bno)) { + printf("block = %lld, fs = %s\n", + (long long)bno, fs->e2fs_fsmnt); + panic("blkfree: freeing free block"); + } + clrbit(bbp, bno); + fs->e2fs->e2fs_fbcount++; + gdp->ext2bgd_nbfree++; + + fs->e2fs_fmod = 1; + bdwrite(bp); } /* From owner-p4-projects@FreeBSD.ORG Sat Jul 4 18:26:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 52E4A1065675; Sat, 4 Jul 2009 18:26:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 128B11065670 for ; Sat, 4 Jul 2009 18:26:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DAC158FC0A for ; Sat, 4 Jul 2009 18:26:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64IQjXi014002 for ; Sat, 4 Jul 2009 18:26:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64IQjj4014000 for perforce@freebsd.org; Sat, 4 Jul 2009 18:26:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 4 Jul 2009 18:26:45 GMT Message-Id: <200907041826.n64IQjj4014000@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 165602 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 18:26:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=165602 Change 165602 by hselasky@hselasky_laptop001 on 2009/07/04 18:26:03 USB CORE: - correct USB verbose configuration options. Affected files ... .. //depot/projects/usb/src/sys/conf/options#35 edit Differences ... ==== //depot/projects/usb/src/sys/conf/options#35 (text+ko) ==== @@ -636,7 +636,7 @@ # options for USB support USB_DEBUG opt_usb.h -USBVERBOSE opt_usb.h +USB_VERBOSE opt_usb.h USB_EHCI_BIG_ENDIAN_DESC opt_usb.h U3G_DEBUG opt_u3g.h UKBD_DFLT_KEYMAP opt_ukbd.h From owner-p4-projects@FreeBSD.ORG Sat Jul 4 18:36:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C56D1065678; Sat, 4 Jul 2009 18:36:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57FAF1065676 for ; Sat, 4 Jul 2009 18:36:07 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 45DA58FC14 for ; Sat, 4 Jul 2009 18:36:07 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64Ia7uG014713 for ; Sat, 4 Jul 2009 18:36:07 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64Ia7im014711 for perforce@freebsd.org; Sat, 4 Jul 2009 18:36:07 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 18:36:07 GMT Message-Id: <200907041836.n64Ia7im014711@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165604 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 18:36:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165604 Change 165604 by pgj@petymeg-current on 2009/07/04 18:35:38 - Fix KVM extraction - Rename kread() to kread_data() to avoid confusions with kread() in netstat when debugging Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#38 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#22 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#24 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#38 (text+ko) ==== @@ -286,7 +286,7 @@ } #define KREAD(off, buf, len) do { \ - if (kread(kvm, (uintptr_t)(off), (buf), (len)) != 0) { \ + if (kread_data(kvm, (uintptr_t)(off), (buf), (len)) != 0) { \ return (-1); \ } \ } while (0); @@ -557,13 +557,22 @@ { kvm_t *kvm; int result, i; - struct nlist nls[MAX(nlUNP_MAX, nlINP_MAX) + 1]; + struct nlist nls[nlUNP_MAX + 1 + nlINP_MAX + 1]; - nls[0].n_name = NULL; + bzero(nls, sizeof(nls)); if (flags & NETSTAT_SOCKET_KVM) { /* Use KVM to retrieve data. */ kvm = (kvm_t *)kvm_handle; switch (domain) { + case PF_UNSPEC: + for (i = 0; i < nlUNP_MAX; i++) + nls[i].n_name = strdup(unp_symbol[i]); + nls[nlUNP_MAX].n_name = NULL; + for (i = nlUNP_MAX + 1; + i < (nlUNP_MAX + 1 + nlINP_MAX + 1); i++) + nls[i].n_name = strdup(inp_symbol[i]); + nls[nlUNP_MAX + 1 + nlINP_MAX].n_name = NULL; + break; case PF_LOCAL: for (i = 0; i < nlUNP_MAX; i++) nls[i].n_name = strdup(unp_symbol[i]); @@ -590,12 +599,12 @@ result = netstat_local_sockets(0, list, kvm, nls, flags); if (result < 0) goto end; - result = netstat_inet_sockets(PF_INET, 0, list, kvm, nls, - flags); + result = netstat_inet_sockets(PF_INET, 0, list, kvm, + &nls[nlUNP_MAX + 1], flags); if (result < 0) goto end; - result = netstat_inet_sockets(PF_INET6, 0, list, kvm, nls, - flags); + result = netstat_inet_sockets(PF_INET6, 0, list, kvm, + &nls[nlUNP_MAX + 1], flags); if (result < 0) goto end; break; @@ -605,8 +614,8 @@ break; case PF_INET: case PF_INET6: - result = (netstat_inet_sockets(domain, protocol, list, kvm, nls, - flags)); + result = (netstat_inet_sockets(domain, protocol, list, kvm, + nls, flags)); goto end; break; default: @@ -616,7 +625,8 @@ } end: - for (i = 0; nls[i].n_name != NULL && i < MAX(nlUNP_MAX, nlINP_MAX); i++) + for (i = 0; nls[i].n_name != NULL && i < nlUNP_MAX + nlINP_MAX + 2; + i++) free(nls[i].n_name); return (result); } ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#22 (text+ko) ==== @@ -132,7 +132,7 @@ struct socket_type *sti_next; }; -int kread(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size); +int kread_data(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size); int kread_string(kvm_t *kvm, u_long kvm_pointer, char *buffer, int buflen); void _netstat_stl_empty(struct socket_type_list *list); ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ #include "netstat_internal.h" int -kread(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size) +kread_data(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size) { ssize_t ret; @@ -103,10 +103,11 @@ xso->so_linger = so->so_linger; xso->so_state = so->so_state; xso->so_pcb = so->so_pcb; - if (kread(kvm, (uintptr_t)so->so_proto, &proto, sizeof(proto)) != 0) + if (kread_data(kvm, (uintptr_t)so->so_proto, &proto, sizeof(proto)) + != 0) return (-1); xso->xso_protocol = proto.pr_protocol; - if (kread(kvm, (uintptr_t)proto.pr_domain, &domain, + if (kread_data(kvm, (uintptr_t)proto.pr_domain, &domain, sizeof(domain)) != 0) return (-1); xso->xso_family = domain.dom_family; From owner-p4-projects@FreeBSD.ORG Sat Jul 4 18:37:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED59D1065677; Sat, 4 Jul 2009 18:37:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6EC51065670 for ; Sat, 4 Jul 2009 18:37:08 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7A4EF8FC1E for ; Sat, 4 Jul 2009 18:37:08 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64Ib8IS014770 for ; Sat, 4 Jul 2009 18:37:08 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64Ib8KN014768 for perforce@freebsd.org; Sat, 4 Jul 2009 18:37:08 GMT (envelope-from anchie@FreeBSD.org) Date: Sat, 4 Jul 2009 18:37:08 GMT Message-Id: <200907041837.n64Ib8KN014768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165605 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 18:37:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=165605 Change 165605 by anchie@anchie_malimis on 2009/07/04 18:36:59 Write information about the raw socket into snd_ifinfo structure. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#11 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#8 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#11 (text+ko) ==== @@ -92,6 +92,7 @@ int snd_handle_iface(const char *ifname, int ifidx) { + applog(LOG_ERR, "snd_handle_iface"); struct snd_ifinfo *p; if ((p = malloc(sizeof (*p))) == NULL) { @@ -101,7 +102,9 @@ memset(p, 0, sizeof (*p)); snprintf(p->name, sizeof (p->name), "%s", ifname); + DBG(&dbg_snd, "snd_handle_iface -> p->name = %s", p->name); p->ifidx = ifidx; + DBG(&dbg_snd, "snd_handle_iface -> p->ifidx = %d", ifidx); p->snds = -1; list_add_tail(&p->list, &ifaces); @@ -109,14 +112,16 @@ } void -snd_add_fds(fd_set *fds, int *maxfd) +snd_add_fds(fd_set *fds, int *maxfd, int sock) { struct snd_ifinfo *p; list_for_each_entry(p, &ifaces, list) { + DBG(&dbg_snd, "*maxfd = %d, p->snds = %d", *maxfd, p->snds); *maxfd = *maxfd > p->snds ? *maxfd : p->snds; + p->snds = sock; + FD_SET(p->snds, fds); applog(LOG_ERR, "snds added to snd_ifinfo."); - FD_SET(p->snds, fds); } } @@ -128,6 +133,7 @@ applog(LOG_ERR, "SEND must be active on at least one iface"); return (-1); } + return (0); } @@ -335,6 +341,8 @@ applog(LOG_ERR, "%s: routing socket created.", __FUNCTION__); } + applog(LOG_ERR, "*icmp6sock = %d, *sndsock = %d", *icmp6sock, *sndsock); + v = 255; if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, sizeof (v)) < 0) { @@ -361,4 +369,6 @@ __FUNCTION__, strerror(errno)); return (-1); } + + return (0); } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#8 (text+ko) ==== @@ -95,9 +95,10 @@ FD_SET(icmps, fds); FD_SET(ctlfd, fds); /* Routing socket instead of using netgraph for ND/SeND */ - FD_SET(snds, fds); + /* FD_SET(snds, fds); */ /* os_specific_add_fds(fds, &maxfd); */ - snd_add_fds(fds, &maxfd); + snd_add_fds(fds, &maxfd, snds); + DBG(&snd_dbg, "after snd_add_fds"); tv = get_next_wait(tvb); if (select(maxfd + 1, fds, NULL, NULL, tv) < 0) { @@ -162,7 +163,7 @@ { const char **lm = applog_get_methods(); - fprintf(stderr, "-> Usage: %s [-fV] [-c ] [-i ] " + fprintf(stderr, "---> Usage: %s [-fV] [-c ] [-i ] " "[-l ]\n", this); fprintf(stderr, " log methods: "); for (; *lm; lm++) { @@ -177,6 +178,8 @@ int r, c, icmps, snds, ctlfd, do_daemon = 1; char *cfile = SNDD_CONF_FILE; + icmps = snds = (int *) malloc(sizeof(int)); + #ifdef DEBUG if (applog_open(L_STDERR, SENDD_NAME) < 0) { exit(1); From owner-p4-projects@FreeBSD.ORG Sat Jul 4 19:18:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5FC941065688; Sat, 4 Jul 2009 19:18:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1EECC106567A for ; Sat, 4 Jul 2009 19:18:54 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D65F8FC18 for ; Sat, 4 Jul 2009 19:18:54 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64JIrt0018665 for ; Sat, 4 Jul 2009 19:18:53 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64JIrdq018663 for perforce@freebsd.org; Sat, 4 Jul 2009 19:18:53 GMT (envelope-from mav@freebsd.org) Date: Sat, 4 Jul 2009 19:18:53 GMT Message-Id: <200907041918.n64JIrdq018663@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165606 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 19:18:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=165606 Change 165606 by mav@mav_mavbook on 2009/07/04 19:18:44 Add hypothetic 32MB data size limitation for 48bit commands. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#17 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#17 (text+ko) ==== @@ -705,7 +705,7 @@ softc->disk->d_name = "ada"; softc->disk->d_drv1 = periph; if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) - softc->disk->d_maxsize = MAXPHYS; /* ahci driver limit */ + softc->disk->d_maxsize = min(MAXPHYS, 65535 * 512); else /* 28bit ATA command limit */ softc->disk->d_maxsize = min(MAXPHYS, 255 * 512); softc->disk->d_unit = periph->unit_number; From owner-p4-projects@FreeBSD.ORG Sat Jul 4 19:21:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8FFE1065670; Sat, 4 Jul 2009 19:21:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88FF8106564A for ; Sat, 4 Jul 2009 19:21:57 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 77B6C8FC15 for ; Sat, 4 Jul 2009 19:21:57 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64JLv5D018922 for ; Sat, 4 Jul 2009 19:21:57 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64JLvrN018920 for perforce@freebsd.org; Sat, 4 Jul 2009 19:21:57 GMT (envelope-from mav@freebsd.org) Date: Sat, 4 Jul 2009 19:21:57 GMT Message-Id: <200907041921.n64JLvrN018920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165607 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 19:21:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=165607 Change 165607 by mav@mav_mavbook on 2009/07/04 19:21:36 Rise XPT_DEV_MATCH memory limit up to MAXPHYS. It is not going to be passed to ancient hardware, so to reasons to be overly strict. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#31 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#31 (text+ko) ==== @@ -571,6 +571,8 @@ u_int8_t **data_ptrs[CAM_PERIPH_MAXMAPS]; u_int32_t lengths[CAM_PERIPH_MAXMAPS]; u_int32_t dirs[CAM_PERIPH_MAXMAPS]; + /* Some controllers may not be able to handle more data. */ + size_t maxmap = DFLTPHYS; switch(ccb->ccb_h.func_code) { case XPT_DEV_MATCH: @@ -593,6 +595,11 @@ dirs[0] = CAM_DIR_IN; numbufs = 1; } + /* + * This request will not go to the hardware, no reason + * to be so strict. vmapbuf() is able to map up to MAXPHYS. + */ + maxmap = MAXPHYS; break; case XPT_SCSI_IO: case XPT_CONT_TARGET_IO: @@ -635,12 +642,12 @@ * boundary. */ if ((lengths[i] + - (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)) > DFLTPHYS){ + (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)) > maxmap){ printf("cam_periph_mapmem: attempt to map %lu bytes, " - "which is greater than DFLTPHYS(%d)\n", + "which is greater than %lu\n", (long)(lengths[i] + (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)), - DFLTPHYS); + (u_long)maxmap); return(E2BIG); } @@ -672,7 +679,7 @@ /* put our pointer in the data slot */ mapinfo->bp[i]->b_data = *data_ptrs[i]; - /* set the transfer length, we know it's < DFLTPHYS */ + /* set the transfer length, we know it's < MAXPHYS */ mapinfo->bp[i]->b_bufsize = lengths[i]; /* set the direction */ From owner-p4-projects@FreeBSD.ORG Sat Jul 4 19:24:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2787D1065673; Sat, 4 Jul 2009 19:24:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBBD3106564A for ; Sat, 4 Jul 2009 19:23:59 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA7858FC0A for ; Sat, 4 Jul 2009 19:23:59 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64JNxuB019059 for ; Sat, 4 Jul 2009 19:23:59 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64JNx9J019057 for perforce@freebsd.org; Sat, 4 Jul 2009 19:23:59 GMT (envelope-from mav@freebsd.org) Date: Sat, 4 Jul 2009 19:23:59 GMT Message-Id: <200907041923.n64JNx9J019057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 165608 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 19:24:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=165608 Change 165608 by mav@mav_mavbook on 2009/07/04 19:23:49 Restore original XPT_DEV_MATCH request size. Kernel is now able to handle it. Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#12 (text+ko) ==== @@ -325,7 +325,7 @@ ccb.ccb_h.target_lun = CAM_LUN_WILDCARD; ccb.ccb_h.func_code = XPT_DEV_MATCH; - bufsize = sizeof(struct dev_match_result) * 50; + bufsize = sizeof(struct dev_match_result) * 100; ccb.cdm.match_buf_len = bufsize; ccb.cdm.matches = (struct dev_match_result *)malloc(bufsize); if (ccb.cdm.matches == NULL) { @@ -344,7 +344,7 @@ /* * We do the ioctl multiple times if necessary, in case there are - * more than 50 nodes in the EDT. + * more than 100 nodes in the EDT. */ do { if (ioctl(fd, CAMIOCOMMAND, &ccb) == -1) { From owner-p4-projects@FreeBSD.ORG Sat Jul 4 20:24:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47FD31065670; Sat, 4 Jul 2009 20:24:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0617B106564A for ; Sat, 4 Jul 2009 20:24:14 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E6C3E8FC13 for ; Sat, 4 Jul 2009 20:24:13 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64KODCs025010 for ; Sat, 4 Jul 2009 20:24:13 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64KO5Pp025000 for perforce@freebsd.org; Sat, 4 Jul 2009 20:24:05 GMT (envelope-from trasz@freebsd.org) Date: Sat, 4 Jul 2009 20:24:05 GMT Message-Id: <200907042024.n64KO5Pp025000@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 165609 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 20:24:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=165609 Change 165609 by trasz@trasz_victim on 2009/07/04 20:23:07 IFC. Group accouning was disabled, as there were some largeish changes there; will go back to it after I get the per-process and per-uid accounting right. Affected files ... .. //depot/projects/soc2009/trasz_limits/MAINTAINERS#2 integrate .. //depot/projects/soc2009/trasz_limits/Makefile.inc1#3 integrate .. //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#7 integrate .. //depot/projects/soc2009/trasz_limits/UPDATING#7 integrate .. //depot/projects/soc2009/trasz_limits/bin/chflags/chflags.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/chmod/chmod.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/df/df.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/hostname/hostname.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/eval.c#4 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/exec.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/expand.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/histedit.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/input.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/miscbltin.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/output.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/parser.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/redir.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/sh.1#4 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/var.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/CHANGES#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/check/named-checkzone.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.8#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssectool.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch07.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch08.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch09.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dig.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-keygen.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-signzone.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.host.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.named-checkconf.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.named-checkzone.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.named.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.rndc-confgen.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.rndc.conf.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.rndc.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/bind9/api#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/bind9/check.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/api#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/dnssec.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/include/dns/dnssec.h#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/include/dns/keyvalues.h#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/resolver.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/version#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/login.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/network.subr#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/ipfw#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/netif#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/pf#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/pflog#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/pfsync#3 integrate .. //depot/projects/soc2009/trasz_limits/gnu/lib/libgcc/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/lib/libgcov/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/soc2009/trasz_limits/include/rpc/svc_dg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/include/stdio.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libarchive/archive_read.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/arm/string/strncmp.S#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/db/btree/bt_split.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/db/mpool/mpool.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/Symbol.map#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/initgroups.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/initgroups.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/semctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/abs.S#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/div.S#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/labs.S#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/ldiv.S#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/include/compat.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/Makefile.inc#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/Symbol.map#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_add_perm.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_calc_mask.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_copy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_create_entry.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_delete_entry.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_entry.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set_tag_type.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support.h#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_valid.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/auth_unix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/getnetconfig.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/netname.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/netnamer.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/svc_dg.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/svc_generic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdtime/strptime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/getgroups.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/getrlimit.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/getsockopt.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/jail.2#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/pathconf.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/setgroups.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/shmctl.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcompat/4.3/cfree.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcompat/4.3/regex.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcompat/4.4/cuserid.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libjail/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail_getid.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/kiconv_sysctl.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/quirks.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/xlat16_iconv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/xlat16_sysctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_proc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpam/modules/pam_unix/pam_unix.8#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.3#6 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_desc.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_io.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_compat10.c#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_compat10.h#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_ugen20.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/humanize_number.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/kinfo_getvmmap.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/ncurses/ncurses/pathnames.h#2 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/rtld.c#3 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/rtld.h#3 integrate .. //depot/projects/soc2009/trasz_limits/release/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/release/amd64/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/i386/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/ia64/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/picobsd/build/picobsd#2 integrate .. //depot/projects/soc2009/trasz_limits/release/picobsd/mfs_tree/etc/motd#2 integrate .. //depot/projects/soc2009/trasz_limits/release/powerpc/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/scripts/package-split.py#2 integrate .. //depot/projects/soc2009/trasz_limits/release/sparc64/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/rescue/rescue/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/af_atalk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/af_inet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/af_inet6.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifclone.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifgif.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifgre.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifmac.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifmedia.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifvlan.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/dummynet.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw2.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/kldload/kldload.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/mount_nfs/mount_nfs.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sbin/sysctl/sysctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/umount/umount.c#2 integrate .. //depot/projects/soc2009/trasz_limits/share/doc/bind9/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/acpi_hp.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/acpi_wmi.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/ata.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/bridge.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/cpuctl.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/epair.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/gem.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/if_bridge.4#3 delete .. //depot/projects/soc2009/trasz_limits/share/man/man4/pcm.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/pts.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/usb.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man7/tuning.7#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man8/picobsd.8#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man8/yp.8#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/stack.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/ucred.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/usbdi.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/vm_map.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/misc/bsd-family-tree#2 integrate .. //depot/projects/soc2009/trasz_limits/share/mk/bsd.libnames.mk#2 integrate .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/asia#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/msi.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/files.mv#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mvreg.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixp425.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixp425var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_periph.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_misc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ndis/subr_usbd.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_sockio.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.i386#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.powerpc#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/altq/altq/altq_subr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pf_if.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/age/if_age.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/asmc/asmc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-all.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-sata.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-usb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-acard.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-acerlabs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-intel.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-nvidia.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-promise.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_multiq.c#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_sge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_sysctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_em.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_igb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_igb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ed/if_ed.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/et/if_et.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fxp/if_fxp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis_usb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/malo/if_malo.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/md/md.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mge/if_mge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/my/if_my.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pci/pci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/re/if_re.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sis/if_sis.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/at91dci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/at91dci_atmelarm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/atmegadci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/atmegadci_atmelarm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci_mbus.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/musb_otg.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ohci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ohci_atmelarm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uhci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/usb_controller.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uss820dci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uss820dci_atmelarm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/uhid.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/ukbd.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/ums.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/misc/udbp.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/misc/ufm.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_aue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_axe.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_cdce.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_cue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_kue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_rue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_udav.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/u3g.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uark.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ubsa.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ubser.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uchcom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ucycom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ufoma.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uftdi.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ugensa.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uipaq.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ulpt.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/umct.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/umodem.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/umoscom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uplcom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/usb_serial.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uslcom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uvisor.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uvscom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/urio.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/ustorage_fs.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_busdma.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_busdma.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_compat_linux.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_compat_linux.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_controller.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_core.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_defs.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dev.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dev.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_device.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_device.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dynamic.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_generic.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_handle_request.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hid.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hid.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hub.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_if.m#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_ioctl.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_lookup.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_lookup.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_mbuf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_mbuf.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_msctest.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_parse.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_parse.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_process.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_process.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_request.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_request.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_revision.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_transfer.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_transfer.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_util.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_util.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdi.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdi_util.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbhid.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_rum.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_uath.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_ural.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_zyd.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/vge/if_vge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/vr/if_vr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xl/if_xl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs_commonport.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clbio.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clkrpc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clvnops.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsserver/nfs_nfsdkrpc.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsserver/nfs_nfsdstate.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nullfs/null_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_io.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_subr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/xfs_vnodeops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/GENERIC#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/local_apic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/msi.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/pmap.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/isa/clock.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/xen/mp_machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/conf/GENERIC#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/elf_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/kern/init_sysent.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_alq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_cpuset.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_event.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_intr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_linker.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_poll.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_proc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_sig.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_switch.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_thr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_uuid.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_vimage.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/link_elf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/makesyscalls.sh#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sched_ule.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_pcpu.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_stack.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_generic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_process.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_socket.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.master#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/systrace_args.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_sem.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_shm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/tty.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_mbuf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_shm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_cache.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_default.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_export.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_extattr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_lookup.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_syscalls.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_vnops.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vnode_if.src#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/libkern/iconv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/busdma_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/mp_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/gem/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/igb/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/ixgbe/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/nfsclient/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/nfsserver/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/bpf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/bridgestp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/fddi.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/firewire.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/flowtable.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/flowtable.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_arc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_arcsubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_ef.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_epair.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_fddisubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_fwsubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_iso88025subr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_media.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_mib.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_spppsubr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_stf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_tap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_tun.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_var.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_vlan.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/iso88025.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/netisr.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/raw_cb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/raw_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/route.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/route.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/rtsock.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/vnet.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ddb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_wds.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/aarp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_control.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_input.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/atm/uni/ng_uni.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_eiface.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_ether.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_iface.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_ksocket.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/if_ether.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/igmp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_gif.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_mcast.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_rmx.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_dummynet.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_input.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_mroute.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_mroute.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_options.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_output.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/raw_ip.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_hostcache.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/vinet.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/frag6.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/icmp6.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_pcb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_rmx.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_src.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_input.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_mroute.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/mld6.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/scope6.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/vinet6.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipsec/key.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/README#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_outputfl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_pcb.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/nfs_common.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/rpcv2.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/bootp_subr.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/krpc_subr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_bio.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_diskless.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_krpc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_lock.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_nfsiod.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_socket.c#4 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvcache.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvkrpc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvsock.c#5 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_syscalls.c#3 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nlm/nlm_prot_impl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/pc98/pc98/machdep.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/pci/if_rl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/mmu_oea.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/booke/pmap.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/MPC85XX#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/NOTES#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/spr.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/powerpc/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/powerpc/mp_machdep.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_dg.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_rc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_auth.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_auth_unix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_generic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_vc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_bsm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/conf/GENERIC#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/conf/GENERIC#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/pcpu.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/acl.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ata.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/conf.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/cpuctl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/cpuset.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/event.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/fcntl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/filio.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/iconv.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ipc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ktr.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/linker.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 4 21:18:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44FD31065674; Sat, 4 Jul 2009 21:18:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 057A91065672 for ; Sat, 4 Jul 2009 21:18:13 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CEA788FC17 for ; Sat, 4 Jul 2009 21:18:12 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64LICxs039975 for ; Sat, 4 Jul 2009 21:18:12 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64LICrf039973 for perforce@freebsd.org; Sat, 4 Jul 2009 21:18:12 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 21:18:12 GMT Message-Id: <200907042118.n64LICrf039973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165611 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 21:18:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=165611 Change 165611 by pgj@petymeg-current on 2009/07/04 21:17:53 Add a missed initialization of the listhead for traversal Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#39 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#39 (text+ko) ==== @@ -400,6 +400,7 @@ } KREAD(off, &pcbinfo, sizeof(pcbinfo)); + KREAD(pcbinfo.ipi_listhead, &listhead, sizeof(listhead)); LIST_FOREACH(inp, &listhead, inp_list) { if (protocol == IPPROTO_TCP) { KREAD(inp, &xt.xt_inp, sizeof(*inp)); From owner-p4-projects@FreeBSD.ORG Sat Jul 4 22:33:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FDE01065674; Sat, 4 Jul 2009 22:33:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F406A1065672 for ; Sat, 4 Jul 2009 22:33:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E2E068FC0A for ; Sat, 4 Jul 2009 22:33:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64MXY3o046583 for ; Sat, 4 Jul 2009 22:33:34 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64MXYAL046581 for perforce@freebsd.org; Sat, 4 Jul 2009 22:33:34 GMT (envelope-from pgj@FreeBSD.org) Date: Sat, 4 Jul 2009 22:33:34 GMT Message-Id: <200907042233.n64MXYAL046581@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 165612 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 22:33:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=165612 Change 165612 by pgj@petymeg-current on 2009/07/04 22:33:33 - Fix filtering of inet lists extracted from kernel images - Fix generation of symbols lists Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#40 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#40 (text+ko) ==== @@ -414,6 +414,33 @@ if (inp->inp_gencnt > pcbinfo.ipi_gencnt) continue; + if (((inp->inp_vflag & INP_IPV4) == 0) +#ifdef INET6 + && ((inp->inp_vflag & INP_IPV6) == 0) +#endif + ) + continue; + +#ifdef INET6 + if ((family == PF_INET && ((inp->inp_vflag & INP_IPV4) == 0)) || + (family == PF_INET6 && ((inp->inp_vflag & INP_IPV6) == 0))) + continue; +#endif + + if ((flags & NETSTAT_SOCKET_ALL) == 0 && + ( + (protocol == IPPROTO_TCP && + inp->inp_ppcb != NULL && + ((struct tcpcb *)inp->inp_ppcb)->t_state == TCPS_LISTEN) + || ((inp->inp_vflag & INP_IPV4) != 0 && + inet_lnaof(inp->inp_laddr) == INADDR_ANY) +#ifdef INET6 + || ((inp->inp_vflag & INP_IPV6) != 0 && + IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) +#endif + )) + continue; + if (protocol == IPPROTO_TCP) { if (inp->inp_ppcb == NULL) bzero(&xt.xt_tp, sizeof(xt.xt_tp)); @@ -571,7 +598,8 @@ nls[nlUNP_MAX].n_name = NULL; for (i = nlUNP_MAX + 1; i < (nlUNP_MAX + 1 + nlINP_MAX + 1); i++) - nls[i].n_name = strdup(inp_symbol[i]); + nls[i].n_name = strdup(inp_symbol[i - + (nlUNP_MAX + 1)]); nls[nlUNP_MAX + 1 + nlINP_MAX].n_name = NULL; break; case PF_LOCAL: From owner-p4-projects@FreeBSD.ORG Sat Jul 4 22:53:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B5431065675; Sat, 4 Jul 2009 22:53:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AE9C1065672 for ; Sat, 4 Jul 2009 22:53:57 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2ECE28FC1C for ; Sat, 4 Jul 2009 22:53:57 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64MrvlU048203 for ; Sat, 4 Jul 2009 22:53:57 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64Mrv3r048201 for perforce@freebsd.org; Sat, 4 Jul 2009 22:53:57 GMT (envelope-from anchie@FreeBSD.org) Date: Sat, 4 Jul 2009 22:53:57 GMT Message-Id: <200907042253.n64Mrv3r048201@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165613 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 22:53:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=165613 Change 165613 by anchie@anchie_malimis on 2009/07/04 22:53:22 Minor bug fix. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#12 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#9 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#12 (text+ko) ==== @@ -117,11 +117,9 @@ struct snd_ifinfo *p; list_for_each_entry(p, &ifaces, list) { - DBG(&dbg_snd, "*maxfd = %d, p->snds = %d", *maxfd, p->snds); *maxfd = *maxfd > p->snds ? *maxfd : p->snds; p->snds = sock; FD_SET(p->snds, fds); - applog(LOG_ERR, "snds added to snd_ifinfo."); } } @@ -194,7 +192,7 @@ } void -snd_sock_read(void) +snd_sock_read() { struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; @@ -205,6 +203,7 @@ return; } + applog(LOG_ERR, "sndsock prije read = %d", sndsock); n = read(sndsock, b, sizeof(b)); if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); @@ -312,7 +311,7 @@ } int -snd_net_init(int *icmp6sock, int *sndsock) +snd_net_init(int *icmp6socket, int *sndsocket) { int v; struct icmp6_filter filter; @@ -327,13 +326,13 @@ } #endif - if ((*icmp6sock = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) { + if ((*icmp6socket = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) { applog(LOG_ERR, "%s: socket: %s", __FUNCTION__, strerror(errno)); return (-1); } - if ((*sndsock = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) { + if ((*sndsocket = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) { applog(LOG_ERR, "%s: socket: %s", __FUNCTION__, strerror(errno)); return(-1); @@ -341,17 +340,18 @@ applog(LOG_ERR, "%s: routing socket created.", __FUNCTION__); } - applog(LOG_ERR, "*icmp6sock = %d, *sndsock = %d", *icmp6sock, *sndsock); + icmp6sock = *icmp6socket; + sndsock = *sndsocket; v = 255; - if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, + if (setsockopt(icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, sizeof (v)) < 0) { applog(LOG_ERR, "%s: setsockopt(IPV6_UNICAST_HOPS): %s", __FUNCTION__, strerror(errno)); return (-1); } v = 255; - if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &v, + if (setsockopt(icmp6sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &v, sizeof (v)) < 0) { applog(LOG_ERR, "%s: setsockopt(IPV6_MULTICAST_HOPS): %s", __FUNCTION__, strerror(errno)); @@ -363,7 +363,7 @@ ICMP6_FILTER_SETPASS(ICMP6_SND_CPA, &filter); ICMP6_FILTER_SETPASS(ND_ROUTER_ADVERT, &filter); - if (setsockopt(*icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, + if (setsockopt(icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, sizeof (filter)) < 0) { applog(LOG_ERR, "%s: setsockopt(ICMP6_FILTER): %s", __FUNCTION__, strerror(errno)); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#9 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Jul 4 23:06:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F51C1065734; Sat, 4 Jul 2009 23:06:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1F2A1065729 for ; Sat, 4 Jul 2009 23:06:10 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B634A8FC28 for ; Sat, 4 Jul 2009 23:06:10 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n64N6Aj2050212 for ; Sat, 4 Jul 2009 23:06:10 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n64N6AUh050210 for perforce@freebsd.org; Sat, 4 Jul 2009 23:06:10 GMT (envelope-from anchie@FreeBSD.org) Date: Sat, 4 Jul 2009 23:06:10 GMT Message-Id: <200907042306.n64N6AUh050210@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 165615 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 23:06:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=165615 Change 165615 by anchie@anchie_malimis on 2009/07/04 23:06:02 Maximum SeND packet size is now: SND_MAX_PKT + sizeof(struct rt_msghdr). Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#13 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#13 (text+ko) ==== @@ -67,7 +67,7 @@ { struct sbuff *b; - if ((b = sbuff_alloc(SND_MAX_PKT)) == NULL) { + if ((b = sbuff_alloc(SND_MAX_PKT + sizeof(struct rt_msghdr))) == NULL) { APPLOG_NOMEM(); return (NULL); }