From owner-p4-projects@FreeBSD.ORG Sun Jun 29 00:00:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1ACF210656B1; Sun, 29 Jun 2008 00:00:20 +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 CE3DC106567F for ; Sun, 29 Jun 2008 00:00:19 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BE6498FC13 for ; Sun, 29 Jun 2008 00:00:19 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T00JPN032740 for ; Sun, 29 Jun 2008 00:00:19 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T00JB0032738 for perforce@freebsd.org; Sun, 29 Jun 2008 00:00:19 GMT (envelope-from julian@freebsd.org) Date: Sun, 29 Jun 2008 00:00:19 GMT Message-Id: <200806290000.m5T00JB0032738@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144246 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, 29 Jun 2008 00:00:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=144246 Change 144246 by julian@julian_trafmon1 on 2008/06/29 00:00:05 Wierd, somehow some of these udbinfo entries didn't get converted. Affected files ... .. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#4 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#4 (text+ko) ==== @@ -148,7 +148,7 @@ udp_zone_change(void *tag) { - uma_zone_set_max(udbinfo.ipi_zone, maxsockets); + uma_zone_set_max(V_udbinfo.ipi_zone, maxsockets); } static int @@ -165,16 +165,16 @@ udp_init(void) { - INP_INFO_LOCK_INIT(&udbinfo, "udp"); + INP_INFO_LOCK_INIT(&V_udbinfo, "udp"); LIST_INIT(&udb); - udbinfo.ipi_listhead = &udb; - udbinfo.ipi_hashbase = hashinit(UDBHASHSIZE, M_PCB, - &udbinfo.ipi_hashmask); - udbinfo.ipi_porthashbase = hashinit(UDBHASHSIZE, M_PCB, - &udbinfo.ipi_porthashmask); - udbinfo.ipi_zone = uma_zcreate("udpcb", sizeof(struct inpcb), NULL, + V_udbinfo.ipi_listhead = &udb; + V_udbinfo.ipi_hashbase = hashinit(UDBHASHSIZE, M_PCB, + &V_udbinfo.ipi_hashmask); + V_udbinfo.ipi_porthashbase = hashinit(UDBHASHSIZE, M_PCB, + &V_udbinfo.ipi_porthashmask); + V_udbinfo.ipi_zone = uma_zcreate("udpcb", sizeof(struct inpcb), NULL, NULL, udp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); - uma_zone_set_max(udbinfo.ipi_zone, maxsockets); + uma_zone_set_max(V_udbinfo.ipi_zone, maxsockets); EVENTHANDLER_REGISTER(maxsockets_change, udp_zone_change, NULL, EVENTHANDLER_PRI_ANY); } From owner-p4-projects@FreeBSD.ORG Sun Jun 29 00:03:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62AB61065673; Sun, 29 Jun 2008 00:03: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 25296106564A for ; Sun, 29 Jun 2008 00:03:23 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F10E38FC0C for ; Sun, 29 Jun 2008 00:03:22 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T03MtP034100 for ; Sun, 29 Jun 2008 00:03:22 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T03Moc034098 for perforce@freebsd.org; Sun, 29 Jun 2008 00:03:22 GMT (envelope-from julian@freebsd.org) Date: Sun, 29 Jun 2008 00:03:22 GMT Message-Id: <200806290003.m5T03Moc034098@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144247 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, 29 Jun 2008 00:03:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=144247 Change 144247 by julian@julian_trafmon1 on 2008/06/29 00:03:08 Missed one. Affected files ... .. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#5 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#5 (text+ko) ==== @@ -166,7 +166,7 @@ { INP_INFO_LOCK_INIT(&V_udbinfo, "udp"); - LIST_INIT(&udb); + LIST_INIT(&V_udb); V_udbinfo.ipi_listhead = &udb; V_udbinfo.ipi_hashbase = hashinit(UDBHASHSIZE, M_PCB, &V_udbinfo.ipi_hashmask); From owner-p4-projects@FreeBSD.ORG Sun Jun 29 00:17:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 453531065684; Sun, 29 Jun 2008 00:17:38 +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 068041065678 for ; Sun, 29 Jun 2008 00:17:38 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EBC858FC0A for ; Sun, 29 Jun 2008 00:17:37 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T0Hb6s035320 for ; Sun, 29 Jun 2008 00:17:37 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T0HbMi035318 for perforce@freebsd.org; Sun, 29 Jun 2008 00:17:37 GMT (envelope-from andrew@freebsd.org) Date: Sun, 29 Jun 2008 00:17:37 GMT Message-Id: <200806290017.m5T0HbMi035318@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 144249 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, 29 Jun 2008 00:17:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=144249 Change 144249 by andrew@andrew_bender on 2008/06/29 00:17:25 Enter into idle mode when there is no work to be done Affected files ... .. //depot/projects/arm/src/sys/arm/s3c2xx0/neo1973_machdep.c#7 edit .. //depot/projects/arm/src/sys/arm/s3c2xx0/s3c2410.c#15 edit .. //depot/projects/arm/src/sys/arm/s3c2xx0/s3c24x0var.h#3 edit Differences ... ==== //depot/projects/arm/src/sys/arm/s3c2xx0/neo1973_machdep.c#7 (text+ko) ==== @@ -91,6 +91,7 @@ #include #include +#include #include #define KERNEL_PT_SYS 0 /* Page table for mapping proc0 zero page */ @@ -211,6 +212,7 @@ boothowto = RB_SINGLE; set_cpufuncs(); + cpufuncs.cf_sleep = s3c24x0_sleep; lastaddr = fake_preload_metadata(); pcpu_init(pcpup, 0, sizeof(struct pcpu)); ==== //depot/projects/arm/src/sys/arm/s3c2xx0/s3c2410.c#15 (text+ko) ==== @@ -400,6 +400,16 @@ for(;;); } +void +s3c24x0_sleep(int mode __unused) +{ + int reg; + + reg = bus_space_read_4(&s3c2xx0_bs_tag, s3c2xx0_softc->sc_clkman_ioh, CLKMAN_CLKCON); + bus_space_write_4(&s3c2xx0_bs_tag, s3c2xx0_softc->sc_clkman_ioh, CLKMAN_CLKCON, reg | CLKCON_IDLE); +} + + int arm_get_next_irq(void) { ==== //depot/projects/arm/src/sys/arm/s3c2xx0/s3c24x0var.h#3 (text+ko) ==== @@ -44,4 +44,6 @@ void s3c24x0_clock_freq(struct s3c2xx0_softc *); void s3c24x0_clock_freq2(vm_offset_t, int *, int *, int *); +void s3c24x0_sleep(int); + #endif /* _ARM_S3C24X0VAR_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Jun 29 01:21:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54F27106567B; Sun, 29 Jun 2008 01: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 1650A1065671 for ; Sun, 29 Jun 2008 01:21:48 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 066B08FC12 for ; Sun, 29 Jun 2008 01:21:48 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T1LlHb051097 for ; Sun, 29 Jun 2008 01:21:47 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T1Llqj051095 for perforce@freebsd.org; Sun, 29 Jun 2008 01:21:47 GMT (envelope-from julian@freebsd.org) Date: Sun, 29 Jun 2008 01:21:47 GMT Message-Id: <200806290121.m5T1Llqj051095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144254 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, 29 Jun 2008 01:21:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=144254 Change 144254 by julian@julian_trafmon1 on 2008/06/29 01:20:49 merge in a pile of Macros to reduce the diff size and assist testing. Affected files ... .. //depot/projects/vimage-commit3/src/sys/compat/linprocfs/linprocfs.c#2 edit .. //depot/projects/vimage-commit3/src/sys/compat/linux/linux_ioctl.c#2 edit .. //depot/projects/vimage-commit3/src/sys/compat/linux/linux_misc.c#2 edit .. //depot/projects/vimage-commit3/src/sys/ddb/db_textdump.c#2 edit .. //depot/projects/vimage-commit3/src/sys/dev/firewire/firewire.c#2 edit .. //depot/projects/vimage-commit3/src/sys/fs/cd9660/cd9660_rrip.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_jail.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_mib.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_uuid.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_xxx.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_ethersubr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_faith.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_gif.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_gre.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_loop.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_mib.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_stf.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_vlan.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/raw_cb.c#3 edit .. //depot/projects/vimage-commit3/src/sys/net/raw_usrreq.c#3 edit .. //depot/projects/vimage-commit3/src/sys/net/route.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/rtsock.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net80211/ieee80211.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netgraph/ng_base.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netgraph/ng_eiface.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netgraph/ng_iface.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/if_ether.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/igmp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_gif.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_mcast.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_pcb.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_rmx.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_carp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_fastfwd.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_fw2.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_fw_nat.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_icmp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_ipsec.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_mroute.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_options.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/raw_ip.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_hostcache.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_reass.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_sack.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_subr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_syncache.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_timer.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_timewait.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_usrreq.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/udp_usrreq.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/dest6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/frag6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/icmp6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_gif.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_ifattach.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_pcb.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_proto.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_rmx.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_src.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_forward.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_ipsec.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_mroute.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/mld6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/nd6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/nd6_nbr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/nd6_rtr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/raw_ip6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/route6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/scope6.c#3 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/udp6_usrreq.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec_mbuf.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/key.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/keysock.c#3 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_ah.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_esp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_ipcomp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_ipip.c#2 edit .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_diskless.c#2 edit .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_vfsops.c#2 edit .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_vnops.c#2 edit .. //depot/projects/vimage-commit3/src/sys/rpc/authunix_prot.c#2 edit Differences ... ==== //depot/projects/vimage-commit3/src/sys/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -1002,6 +1002,7 @@ static int linprocfs_donetdev(PFS_FILL_ARGS) { + INIT_VNET_NET(TD_TO_VNET(curthread)); char ifname[16]; /* XXX LINUX_IFNAMSIZ */ struct ifnet *ifp; ==== //depot/projects/vimage-commit3/src/sys/compat/linux/linux_ioctl.c#2 (text+ko) ==== @@ -2040,6 +2040,7 @@ int linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen) { + INIT_VNET_NET(ifp->if_vnet); struct ifnet *ifscan; int ethno; @@ -2073,6 +2074,7 @@ static struct ifnet * ifname_linux_to_bsd(const char *lxname, char *bsdname) { + INIT_VNET_NET(TD_TO_VNET(curthread)); struct ifnet *ifp; int len, unit; char *ep; @@ -2113,6 +2115,7 @@ static int linux_ifconf(struct thread *td, struct ifconf *uifc) { + INIT_VNET_NET(TD_TO_VNET(td)); #ifdef COMPAT_LINUX32 struct l_ifconf ifc; #else ==== //depot/projects/vimage-commit3/src/sys/compat/linux/linux_misc.c#2 (text+ko) ==== @@ -712,6 +712,7 @@ int linux_newuname(struct thread *td, struct linux_newuname_args *args) { + INIT_VPROCG(TD_TO_VPROCG(td)); struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; ==== //depot/projects/vimage-commit3/src/sys/ddb/db_textdump.c#2 (text+ko) ==== @@ -185,6 +185,7 @@ mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen, uint32_t blksz) { + INIT_VPROCG(TD_TO_VPROCG(&thread0)); bzero(kdh, sizeof(*kdh)); strncpy(kdh->magic, TEXTDUMPMAGIC, sizeof(kdh->magic)); ==== //depot/projects/vimage-commit3/src/sys/dev/firewire/firewire.c#2 (text+ko) ==== @@ -680,6 +680,7 @@ static void fw_reset_crom(struct firewire_comm *fc) { + INIT_VPROCG(TD_TO_VPROCG(curthread)); /* XXX */ struct crom_src_buf *buf; struct crom_src *src; struct crom_chunk *root; ==== //depot/projects/vimage-commit3/src/sys/fs/cd9660/cd9660_rrip.c#2 (text+ko) ==== @@ -116,6 +116,7 @@ ISO_RRIP_SLINK *p; ISO_RRIP_ANALYZE *ana; { + INIT_VPROCG(TD_TO_VPROCG(curthread)); ISO_RRIP_SLINK_COMPONENT *pcomp; ISO_RRIP_SLINK_COMPONENT *pcompe; int len, wlen, cont; @@ -225,6 +226,7 @@ ISO_RRIP_ALTNAME *p; ISO_RRIP_ANALYZE *ana; { + INIT_VPROCG(TD_TO_VPROCG(curthread)); char *inbuf; int wlen; int cont; ==== //depot/projects/vimage-commit3/src/sys/kern/kern_jail.c#2 (text+ko) ==== @@ -467,6 +467,7 @@ void getcredhostname(struct ucred *cred, char *buf, size_t size) { + INIT_VPROCG(cred->cr_vimage->v_procg); if (jailed(cred)) { mtx_lock(&cred->cr_prison->pr_mtx); ==== //depot/projects/vimage-commit3/src/sys/kern/kern_mib.c#2 (text+ko) ==== @@ -213,6 +213,7 @@ static int sysctl_hostname(SYSCTL_HANDLER_ARGS) { + INIT_VPROCG(TD_TO_VPROCG(req->td)); struct prison *pr; char tmphostname[MAXHOSTNAMELEN]; int error; ==== //depot/projects/vimage-commit3/src/sys/kern/kern_uuid.c#2 (text+ko) ==== @@ -90,6 +90,7 @@ static void uuid_node(uint16_t *node) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct sockaddr_dl *sdl; ==== //depot/projects/vimage-commit3/src/sys/kern/kern_xxx.c#2 (text+ko) ==== @@ -247,6 +247,7 @@ struct thread *td; struct getdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); int domainnamelen; int error; @@ -271,6 +272,7 @@ struct thread *td; struct setdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); int error, domainnamelen; error = priv_check(td, PRIV_SETDOMAINNAME); ==== //depot/projects/vimage-commit3/src/sys/net/if.c#2 (text+ko) ==== @@ -58,6 +58,7 @@ #include #include #include + #include #include @@ -225,6 +226,7 @@ static int netkqfilter(struct cdev *dev, struct knote *kn) { + INIT_VNET_NET(curvnet); struct knlist *klist; struct ifnet *ifp; int idx; @@ -329,6 +331,7 @@ struct ifnet* if_alloc(u_char type) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; ifp = malloc(sizeof(struct ifnet), M_IFNET, M_WAITOK|M_ZERO); @@ -389,6 +392,7 @@ void if_free_type(struct ifnet *ifp, u_char type) { + INIT_VNET_NET(curvnet); /* ifp->if_vnet can be NULL here ! */ if (ifp != ifnet_byindex(ifp->if_index)) { if_printf(ifp, "%s: value was not if_alloced, skipping\n", @@ -425,6 +429,7 @@ void if_attach(struct ifnet *ifp) { + INIT_VNET_NET(curvnet); unsigned socksize, ifasize; int namelen, masklen; struct sockaddr_dl *sdl; @@ -539,6 +544,7 @@ static void if_attachdomain(void *dummy) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; int s; @@ -649,6 +655,7 @@ void if_detach(struct ifnet *ifp) { + INIT_VNET_NET(ifp->if_vnet); struct ifaddr *ifa; struct radix_node_head *rnh; int s; @@ -764,6 +771,7 @@ int if_addgroup(struct ifnet *ifp, const char *groupname) { + INIT_VNET_NET(ifp->if_vnet); struct ifg_list *ifgl; struct ifg_group *ifg = NULL; struct ifg_member *ifgm; @@ -833,6 +841,7 @@ int if_delgroup(struct ifnet *ifp, const char *groupname) { + INIT_VNET_NET(ifp->if_vnet); struct ifg_list *ifgl; struct ifg_member *ifgm; @@ -922,6 +931,7 @@ static int if_getgroupmembers(struct ifgroupreq *data) { + INIT_VNET_NET(curvnet); struct ifgroupreq *ifgr = data; struct ifg_group *ifg; struct ifg_member *ifgm; @@ -1031,6 +1041,7 @@ struct ifaddr * ifa_ifwithaddr(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; @@ -1061,6 +1072,7 @@ struct ifaddr * ifa_ifwithbroadaddr(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; @@ -1088,6 +1100,7 @@ struct ifaddr * ifa_ifwithdstaddr(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; @@ -1116,6 +1129,7 @@ struct ifaddr * ifa_ifwithnet(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct ifaddr *ifa_maybe = (struct ifaddr *) 0; @@ -1359,6 +1373,7 @@ struct ifnet *ifp = (struct ifnet *)arg; int link_state = ifp->if_link_state; int link; + CURVNET_SET(ifp->if_vnet); /* Notify that the link state has changed. */ rt_ifmsg(ifp); @@ -1395,6 +1410,7 @@ if (log_link_state_change) log(LOG_NOTICE, "%s: link state changed to %s\n", ifp->if_xname, (link_state == LINK_STATE_UP) ? "UP" : "DOWN" ); + CURVNET_RESTORE(); } /* @@ -1461,12 +1477,15 @@ int s = splimp(); IFNET_RLOCK(); + VNET_ITERLOOP_BEGIN(); + INIT_VNET_NET(curvnet); TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_timer == 0 || --ifp->if_timer) continue; if (ifp->if_watchdog) (*ifp->if_watchdog)(ifp); } + VNET_ITERLOOP_END(); IFNET_RUNLOCK(); splx(s); timeout(if_slowtimo, (void *)0, hz / IFNET_SLOWHZ); @@ -1479,6 +1498,7 @@ struct ifnet * ifunit(const char *name) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; IFNET_RLOCK(); @@ -2051,6 +2071,7 @@ static int ifconf(u_long cmd, caddr_t data) { + INIT_VNET_NET(curvnet); struct ifconf *ifc = (struct ifconf *)data; #ifdef __amd64__ struct ifconf32 *ifc32 = (struct ifconf32 *)data; @@ -2410,6 +2431,7 @@ int lastref; #ifdef INVARIANTS struct ifnet *oifp; + INIT_VNET_NET(ifp->if_vnet); IFNET_RLOCK(); TAILQ_FOREACH(oifp, &V_ifnet, if_link) ==== //depot/projects/vimage-commit3/src/sys/net/if_ethersubr.c#2 (text+ko) ==== @@ -389,6 +389,7 @@ { int error; #if defined(INET) || defined(INET6) + INIT_VNET_NET(ifp->if_vnet); struct ip_fw *rule = ip_dn_claim_rule(m); if (IPFW_LOADED && V_ether_ipfw != 0) { @@ -420,6 +421,7 @@ ether_ipfw_chk(struct mbuf **m0, struct ifnet *dst, struct ip_fw **rule, int shared) { + INIT_VNET_IPFW(dst->if_vnet); struct ether_header *eh; struct ether_header save_eh; struct mbuf *m; @@ -712,6 +714,7 @@ KASSERT(ifp != NULL, ("%s: NULL interface pointer", __func__)); #if defined(INET) || defined(INET6) + INIT_VNET_NET(ifp->if_vnet); /* * Allow dummynet and/or ipfw to claim the frame. * Do not do this for PROMISC frames in case we are re-entered. ==== //depot/projects/vimage-commit3/src/sys/net/if_faith.c#2 (text+ko) ==== @@ -325,6 +325,7 @@ faithprefix(in6) struct in6_addr *in6; { + INIT_VNET_INET6(curvnet); struct rtentry *rt; struct sockaddr_in6 sin6; int ret; ==== //depot/projects/vimage-commit3/src/sys/net/if_gif.c#2 (text+ko) ==== @@ -155,6 +155,7 @@ int unit; caddr_t params; { + INIT_VNET_GIF(curvnet); struct gif_softc *sc; sc = malloc(sizeof(struct gif_softc), M_GIF, M_WAITOK | M_ZERO); @@ -365,6 +366,7 @@ struct sockaddr *dst; struct rtentry *rt; /* added in net2 */ { + INIT_VNET_GIF(ifp->if_vnet); struct gif_softc *sc = ifp->if_softc; struct m_tag *mtag; int error = 0; @@ -855,6 +857,7 @@ struct sockaddr *src; struct sockaddr *dst; { + INIT_VNET_GIF(ifp->if_vnet); struct gif_softc *sc = ifp->if_softc; struct gif_softc *sc2; struct sockaddr *osrc, *odst, *sa; ==== //depot/projects/vimage-commit3/src/sys/net/if_gre.c#2 (text+ko) ==== @@ -242,12 +242,15 @@ gre_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, struct rtentry *rt) { +#ifdef INET6 + INIT_VNET_INET(ifp->if_vnet); +#endif int error = 0; struct gre_softc *sc = ifp->if_softc; struct greip *gh; struct ip *ip; - u_short ip_id = 0; - uint8_t ip_tos = 0; + u_short gre_ip_id = 0; + uint8_t gre_ip_tos = 0; u_int16_t etype = 0; struct mobile_h mob_h; u_int32_t af; @@ -364,13 +367,13 @@ switch (dst->sa_family) { case AF_INET: ip = mtod(m, struct ip *); - ip_tos = ip->ip_tos; - ip_id = ip->ip_id; + gre_ip_tos = ip->ip_tos; + gre_ip_id = ip->ip_id; etype = ETHERTYPE_IP; break; #ifdef INET6 case AF_INET6: - ip_id = ip_newid(); + gre_ip_id = ip_newid(); etype = ETHERTYPE_IPV6; break; #endif @@ -415,8 +418,8 @@ ((struct ip*)gh)->ip_v = IPPROTO_IPV4; ((struct ip*)gh)->ip_hl = (sizeof(struct ip)) >> 2; ((struct ip*)gh)->ip_ttl = GRE_TTL; - ((struct ip*)gh)->ip_tos = ip_tos; - ((struct ip*)gh)->ip_id = ip_id; + ((struct ip*)gh)->ip_tos = gre_ip_tos; + ((struct ip*)gh)->ip_id = gre_ip_id; gh->gi_len = m->m_pkthdr.len; } ==== //depot/projects/vimage-commit3/src/sys/net/if_loop.c#2 (text+ko) ==== @@ -129,6 +129,7 @@ static int lo_clone_create(struct if_clone *ifc, int unit, caddr_t params) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct lo_softc *sc; @@ -233,6 +234,7 @@ int if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen) { + INIT_VNET_NET(ifp->if_vnet); int isr; M_ASSERTPKTHDR(m); ==== //depot/projects/vimage-commit3/src/sys/net/if_mib.c#2 (text+ko) ==== @@ -73,6 +73,7 @@ static int sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XXX bad syntax! */ { + INIT_VNET_NET(curvnet); int *name = (int *)arg1; int error; u_int namelen = arg2; ==== //depot/projects/vimage-commit3/src/sys/net/if_stf.c#2 (text+ko) ==== @@ -366,6 +366,7 @@ stf_getsrcifa6(ifp) struct ifnet *ifp; { + INIT_VNET_INET(ifp->if_vnet); struct ifaddr *ia; struct in_ifaddr *ia4; struct sockaddr_in6 *sin6; @@ -561,6 +562,7 @@ struct in_addr *in; struct ifnet *inifp; /* incoming interface */ { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia4; /* ==== //depot/projects/vimage-commit3/src/sys/net/if_vlan.c#2 (text+ko) ==== @@ -574,6 +574,7 @@ static struct ifnet * vlan_clone_match_ethertag(struct if_clone *ifc, const char *name, int *tag) { + INIT_VNET_NET(curvnet); const char *cp; struct ifnet *ifp; int t = 0; ==== //depot/projects/vimage-commit3/src/sys/net/raw_cb.c#3 (text+ko) ==== @@ -70,6 +70,7 @@ register struct socket *so; int proto; { + INIT_VNET_NET(so->so_vnet); register struct rawcb *rp = sotorawcb(so); int error; ==== //depot/projects/vimage-commit3/src/sys/net/raw_usrreq.c#3 (text+ko) ==== @@ -58,6 +58,7 @@ void raw_init() { + INIT_VNET_NET(curvnet); LIST_INIT(&V_rawcb_list); } @@ -77,6 +78,7 @@ register struct sockproto *proto; struct sockaddr *src, *dst; { + INIT_VNET_NET(curvnet); register struct rawcb *rp; register struct mbuf *m = m0; struct socket *last; ==== //depot/projects/vimage-commit3/src/sys/net/route.c#2 (text+ko) ==== @@ -263,6 +263,7 @@ u_int fibnum) { struct radix_node_head *rnh; + INIT_VNET_NET(curvnet); struct rtentry *rt; struct radix_node *rn; struct rtentry *newrt; @@ -367,6 +368,7 @@ void rtfree(struct rtentry *rt) { + INIT_VNET_NET(curvnet); struct radix_node_head *rnh; KASSERT(rt != NULL,("%s: NULL rt", __func__)); @@ -467,6 +469,7 @@ struct sockaddr *src, u_int fibnum) { + INIT_VNET_NET(curvnet); struct rtentry *rt, *rt0 = NULL; int error = 0; short *stat = NULL; @@ -773,6 +776,7 @@ int rtexpunge(struct rtentry *rt) { + INIT_VNET_NET(curvnet); struct radix_node *rn; struct radix_node_head *rnh; struct ifaddr *ifa; @@ -864,6 +868,7 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt, u_int fibnum) { + INIT_VNET_NET(curvnet); int error = 0; register struct rtentry *rt; register struct radix_node *rn; @@ -1294,6 +1299,7 @@ int rt_setgate(struct rtentry *rt, struct sockaddr *dst, struct sockaddr *gate) { + INIT_VNET_NET(curvnet); /* XXX dst may be overwritten, can we move this to below */ struct radix_node_head *rnh = V_rt_tables[rt->rt_fibnum][dst->sa_family]; int dlen = SA_SIZE(dst), glen = SA_SIZE(gate); @@ -1435,6 +1441,7 @@ static inline int rtinit1(struct ifaddr *ifa, int cmd, int flags, int fibnum) { + INIT_VNET_NET(curvnet); struct sockaddr *dst; struct sockaddr *netmask; struct rtentry *rt = NULL; ==== //depot/projects/vimage-commit3/src/sys/net/rtsock.c#2 (text+ko) ==== @@ -318,6 +318,7 @@ route_output(struct mbuf *m, struct socket *so) { #define sa_equal(a1, a2) (bcmp((a1), (a2), (a1)->sa_len) == 0) + INIT_VNET_NET(so->so_vnet); struct rt_msghdr *rtm = NULL; struct rtentry *rt = NULL; struct radix_node_head *rnh; @@ -1079,6 +1080,7 @@ static void rt_dispatch(struct mbuf *m, const struct sockaddr *sa) { + INIT_VNET_NET(curvnet); struct m_tag *tag; /* @@ -1142,6 +1144,7 @@ static int sysctl_iflist(int af, struct walkarg *w) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct rt_addrinfo info; @@ -1202,6 +1205,7 @@ int sysctl_ifmalist(int af, struct walkarg *w) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifmultiaddr *ifma; struct rt_addrinfo info; @@ -1251,6 +1255,7 @@ static int sysctl_rtsock(SYSCTL_HANDLER_ARGS) { + INIT_VNET_NET(curvnet); int *name = (int *)arg1; u_int namelen = arg2; struct radix_node_head *rnh; ==== //depot/projects/vimage-commit3/src/sys/net80211/ieee80211.c#2 (text+ko) ==== @@ -217,6 +217,7 @@ void ieee80211_ifattach(struct ieee80211com *ic) { + INIT_VNET_NET(curvnet); struct ifnet *ifp = ic->ic_ifp; struct sockaddr_dl *sdl; struct ifaddr *ifa; ==== //depot/projects/vimage-commit3/src/sys/netgraph/ng_base.c#2 (text+ko) ==== @@ -614,6 +614,7 @@ int ng_make_node_common(struct ng_type *type, node_p *nodepp) { + INIT_VNET_NETGRAPH(curvnet); node_p node; /* Require the node type to have been already installed */ @@ -648,7 +649,7 @@ mtx_lock(&ng_idhash_mtx); for (;;) { /* wrap protection, even if silly */ node_p node2 = NULL; - node->nd_ID = V_nextID++; /* 137/second for 1 year before wrap */ + node->nd_ID = V_nextID++; /* 137/sec for 1 year before wrap */ /* Is there a problem with the new number? */ NG_IDHASH_FIND(node->nd_ID, node2); /* already taken? */ @@ -795,6 +796,7 @@ static node_p ng_ID2noderef(ng_ID_t ID) { + INIT_VNET_NETGRAPH(curvnet); node_p node; mtx_lock(&ng_idhash_mtx); NG_IDHASH_FIND(ID, node); @@ -820,6 +822,7 @@ int ng_name_node(node_p node, const char *name) { + INIT_VNET_NETGRAPH(curvnet); int i, hash; node_p node2; @@ -870,6 +873,7 @@ node_p ng_name2noderef(node_p here, const char *name) { + INIT_VNET_NETGRAPH(curvnet); node_p node; ng_ID_t temp; int hash; @@ -2418,6 +2422,7 @@ static int ng_generic_msg(node_p here, item_p item, hook_p lasthook) { + INIT_VNET_NETGRAPH(curvnet); int error = 0; struct ng_mesg *msg; struct ng_mesg *resp = NULL; ==== //depot/projects/vimage-commit3/src/sys/netgraph/ng_eiface.c#2 (text+ko) ==== @@ -335,6 +335,7 @@ static int ng_eiface_constructor(node_p node) { + INIT_VNET_NETGRAPH(curvnet); struct ifnet *ifp; priv_p priv; u_char eaddr[6] = {0,0,0,0,0,0}; @@ -547,11 +548,14 @@ static int ng_eiface_rmnode(node_p node) { + INIT_VNET_NETGRAPH(curvnet); const priv_p priv = NG_NODE_PRIVATE(node); struct ifnet *const ifp = priv->ifp; + CURVNET_SET_QUIET(ifp->if_vnet); ether_ifdetach(ifp); if_free(ifp); + CURVNET_RESTORE(); free_unr(V_ng_eiface_unit, priv->unit); FREE(priv, M_NETGRAPH); NG_NODE_SET_PRIVATE(node, NULL); ==== //depot/projects/vimage-commit3/src/sys/netgraph/ng_iface.c#2 (text+ko) ==== @@ -507,6 +507,7 @@ static int ng_iface_constructor(node_p node) { + INIT_VNET_NETGRAPH(curvnet); struct ifnet *ifp; priv_p priv; @@ -767,11 +768,14 @@ static int ng_iface_shutdown(node_p node) { + INIT_VNET_NETGRAPH(curvnet); const priv_p priv = NG_NODE_PRIVATE(node); + CURVNET_SET_QUIET(priv->ifp->if_vnet); bpfdetach(priv->ifp); if_detach(priv->ifp); if_free(priv->ifp); + CURVNET_RESTORE(); priv->ifp = NULL; free_unr(V_ng_iface_unit, priv->unit); FREE(priv, M_NETGRAPH_IFACE); ==== //depot/projects/vimage-commit3/src/sys/netinet/if_ether.c#2 (text+ko) ==== @@ -150,6 +150,8 @@ static void arp_rtrequest(int req, struct rtentry *rt, struct rt_addrinfo *info) { + INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct sockaddr *gate; struct llinfo_arp *la; static struct sockaddr_dl null_sdl = {sizeof(null_sdl), AF_LINK}; @@ -361,6 +363,7 @@ arpresolve(struct ifnet *ifp, struct rtentry *rt0, struct mbuf *m, struct sockaddr *dst, u_char *desten) { + INIT_VNET_INET(ifp->if_vnet); struct llinfo_arp *la = NULL; struct rtentry *rt = NULL; struct sockaddr_dl *sdl; @@ -604,7 +607,8 @@ sin.sin_len = sizeof(struct sockaddr_in); sin.sin_family = AF_INET; sin.sin_addr.s_addr = 0; - + INIT_VNET_INET(ifp->if_vnet); + if (ifp->if_bridge) bridged = 1; ==== //depot/projects/vimage-commit3/src/sys/netinet/igmp.c#2 (text+ko) ==== @@ -146,6 +146,7 @@ static struct router_info * find_rti(struct ifnet *ifp) { + INIT_VNET_INET(ifp->if_vnet); struct router_info *rti; mtx_assert(&igmp_mtx, MA_OWNED); @@ -184,6 +185,7 @@ struct in_multistep step; struct router_info *rti; int timer; /** timer value in the igmp query header **/ + INIT_VNET_INET(ifp->if_vnet); ++V_igmpstat.igps_rcv_total; @@ -446,6 +448,7 @@ IGMP_PRINTF("[igmp.c,_slowtimo] -- > entering \n"); mtx_lock(&igmp_mtx); + INIT_VNET_INET(vnet_iter); SLIST_FOREACH(rti, &V_router_info_head, rti_list) { if (rti->rti_type == IGMP_V1_ROUTER) { rti->rti_time++; @@ -460,6 +463,8 @@ static void igmp_sendpkt(struct in_multi *inm, int type, unsigned long addr) { + INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct mbuf *m; struct igmp *igmp; struct ip *ip; ==== //depot/projects/vimage-commit3/src/sys/netinet/in.c#2 (text+ko) ==== @@ -87,6 +87,7 @@ int in_localaddr(struct in_addr in) { + INIT_VNET_INET(curvnet); register u_long i = ntohl(in.s_addr); register struct in_ifaddr *ia; @@ -109,6 +110,7 @@ int in_localip(struct in_addr in) { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia; LIST_FOREACH(ia, INADDR_HASH(in.s_addr), ia_hash) { @@ -201,6 +203,7 @@ in_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, struct thread *td) { + INIT_VNET_INET(curvnet); /* so and ifp can be 0 ! */ register struct ifreq *ifr = (struct ifreq *)data; register struct in_ifaddr *ia = 0, *iap; register struct ifaddr *ifa; @@ -709,6 +712,7 @@ in_ifinit(struct ifnet *ifp, struct in_ifaddr *ia, struct sockaddr_in *sin, int scrub) { + INIT_VNET_INET(ifp->if_vnet); register u_long i = ntohl(sin->sin_addr.s_addr); struct sockaddr_in oldaddr; int s = splimp(), flags = RTF_UP, error = 0; @@ -803,6 +807,7 @@ static int in_addprefix(struct in_ifaddr *target, int flags) { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia; struct in_addr prefix, mask, p, m; int error; @@ -863,6 +868,7 @@ static int in_scrubprefix(struct in_ifaddr *target) { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia; struct in_addr prefix, mask, p; int error; @@ -969,6 +975,8 @@ static void in_purgemaddrs(struct ifnet *ifp) { + INIT_VNET_INET(ifp->if_vnet); + struct in_multi *inm; struct in_multi *oinm; @@ -991,6 +999,7 @@ void in_ifdetach(struct ifnet *ifp) { + INIT_VNET_INET(ifp->if_vnet); in_pcbpurgeif0(&V_ripcbinfo, ifp); in_pcbpurgeif0(&V_udbinfo, ifp); ==== //depot/projects/vimage-commit3/src/sys/netinet/in_gif.c#2 (text+ko) ==== @@ -94,6 +94,7 @@ int in_gif_output(struct ifnet *ifp, int family, struct mbuf *m) { + INIT_VNET_GIF(ifp->if_vnet); struct gif_softc *sc = ifp->if_softc; struct sockaddr_in *dst = (struct sockaddr_in *)&sc->gif_ro.ro_dst; struct sockaddr_in *sin_src = (struct sockaddr_in *)sc->gif_psrc; @@ -243,6 +244,7 @@ void in_gif_input(struct mbuf *m, int off) { + INIT_VNET_INET(curvnet); struct ifnet *gifp = NULL; struct gif_softc *sc; struct ip *ip; @@ -337,6 +339,7 @@ static int gif_validate4(const struct ip *ip, struct gif_softc *sc, struct ifnet *ifp) { + INIT_VNET_INET(curvnet); struct sockaddr_in *src, *dst; struct in_ifaddr *ia4; ==== //depot/projects/vimage-commit3/src/sys/netinet/in_mcast.c#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 03:00:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 651D8106567D; Sun, 29 Jun 2008 03:00: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 0C4381065677 for ; Sun, 29 Jun 2008 03:00:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F14828FC17 for ; Sun, 29 Jun 2008 03:00:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T30S01060097 for ; Sun, 29 Jun 2008 03:00:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T30RLp060095 for perforce@freebsd.org; Sun, 29 Jun 2008 03:00:27 GMT (envelope-from jb@freebsd.org) Date: Sun, 29 Jun 2008 03:00:27 GMT Message-Id: <200806290300.m5T30RLp060095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144255 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, 29 Jun 2008 03:00:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=144255 Change 144255 by jb@freebsd3 on 2008/06/29 02:59:41 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#7 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/sgml/mailing-lists.ent#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#48 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#23 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#78 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#39 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#8 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/Makefile#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/Makefile#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/Makefile.inc#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/compiz-fusion/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/compiz-fusion/article.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/dialup-firewall/Makefile#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/dialup-firewall/article.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/explaining-bsd/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/explaining-bsd/article.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/laptop/Makefile#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/laptop/article.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-comparison/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-users/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/multi-os/Makefile#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/multi-os/article.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/version-guide/Makefile#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml#5 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/Makefile.inc#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/isdn-bus.eps#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/isdn-twisted-pair.eps#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/natd.eps#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/net-routing.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/static-routes.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/audit/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/audit/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/basics/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/bibliography/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/book.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/boot/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/boot/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/chapters.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/colophon.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/config/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/desktop/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/disks/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/eresources/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/firewalls/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/geom/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/geom/striping.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/install/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/introduction/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/jails/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/l10n/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/l10n/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mac/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mac/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mail/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mail/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mirrors/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/multimedia/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/network-servers/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/pgpkeys/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/pgpkeys/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/ports/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/preface/preface.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/printing/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-crypt-pkt.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-encap-pkt.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-network.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-out-pkt.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/txtfiles.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/users/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/users/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-concat.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-mirrored-vol.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-raid10-vol.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-raid5-org.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-simple-vol.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-striped-vol.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-striped.pic#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/virtualization/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/x11/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/flyer/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/flyer/flyer.tex#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/articles.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/bookinfo.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/books.ent#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/catalog#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/freebsd.dsl#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/freebsd.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/glossary/freebsd-glossary.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/l10n.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/legalnotice.sgml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/mirrors-local.xsl#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/newsgroups.ent#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/teams.ent#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/trademarks.ent#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/transtable-local.xsl#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/transtable.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-5.3.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-dev-model.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-linux-license.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-organization.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-recent-releases.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-release-process.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-users.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/what-is-freebsd.xml#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/freebsd-general/Makefile#2 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/freebsd-general/slides.xml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/eresources/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/mailing-lists.ent#3 integrate .. //depot/projects/dtrace/doc/share/mk/doc.xml.mk#8 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/brix.key#3 integrate .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#35 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#17 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/config/chapter.sgml#15 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/desktop/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#15 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#22 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mac/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mail/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/printing/chapter.sgml#13 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/serialcomms/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/vinum/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#30 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/glossary/freebsd-glossary.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/mailing-lists.ent#6 integrate .. //depot/projects/dtrace/ports/MOVED#97 integrate .. //depot/projects/dtrace/ports/Mk/bsd.fpc.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.gcc.mk#9 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#18 integrate .. //depot/projects/dtrace/ports/Mk/bsd.ruby.mk#11 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#34 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/updatefailure#3 delete .. //depot/projects/dtrace/ports/UPDATING#80 integrate .. //depot/projects/dtrace/src/Makefile.inc1#48 integrate .. //depot/projects/dtrace/src/contrib/gcc/config/i386/freebsd.h#5 integrate .. //depot/projects/dtrace/src/contrib/gdtoa/gethex.c#5 integrate .. //depot/projects/dtrace/src/contrib/top/top.X#7 integrate .. //depot/projects/dtrace/src/contrib/top/top.c#8 integrate .. //depot/projects/dtrace/src/etc/devd.conf#7 integrate .. //depot/projects/dtrace/src/etc/network.subr#18 integrate .. //depot/projects/dtrace/src/etc/pccard_ether#7 integrate .. //depot/projects/dtrace/src/etc/rc#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/abi#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/archdep#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/auto_linklocal#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/bgfsck#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/cleartmp#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/dumpon#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/fsck#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/hostid#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/hostname#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/ldconfig#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/local#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/localpkg#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/lockd#3 integrate .. //depot/projects/dtrace/src/etc/rc.d/motd#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountcritremote#8 integrate .. //depot/projects/dtrace/src/etc/rc.d/mountlate#6 integrate .. //depot/projects/dtrace/src/etc/rc.d/moused#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/netif#10 integrate .. //depot/projects/dtrace/src/etc/rc.d/netoptions#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/newsyslog#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/power_profile#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/routing#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/savecore#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/statd#3 integrate .. //depot/projects/dtrace/src/etc/rc.d/swap1#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/syscons#7 integrate .. //depot/projects/dtrace/src/etc/rc.d/sysctl#5 integrate .. //depot/projects/dtrace/src/etc/rc.subr#19 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#34 integrate .. //depot/projects/dtrace/src/gnu/lib/Makefile#7 integrate .. //depot/projects/dtrace/src/gnu/lib/csu/Makefile#7 integrate .. //depot/projects/dtrace/src/gnu/lib/libssp/Makefile#2 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/cvs/contrib/Makefile#6 integrate .. //depot/projects/dtrace/src/include/unistd.h#15 integrate .. //depot/projects/dtrace/src/lib/csu/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_mtree.c#7 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_zip.c#15 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_write_disk.c#8 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/Makefile#9 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_isorr_bz2.c#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_isorr_bz2.iso.bz2.uu#1 branch .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_zip.c#3 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_zip.zip.uu#1 branch .. //depot/projects/dtrace/src/lib/libc/Makefile#11 integrate .. //depot/projects/dtrace/src/lib/libc/amd64/gen/_setjmp.S#5 integrate .. //depot/projects/dtrace/src/lib/libc/amd64/gen/setjmp.S#5 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#18 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Symbol.map#9 integrate .. //depot/projects/dtrace/src/lib/libc/gen/exec.3#6 integrate .. //depot/projects/dtrace/src/lib/libc/gen/exec.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/gen/glob.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawn.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/i386/gen/_setjmp.S#5 integrate .. //depot/projects/dtrace/src/lib/libc/i386/gen/setjmp.S#5 integrate .. //depot/projects/dtrace/src/lib/libc/include/libc_private.h#8 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/system.3#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mkdir.2#8 integrate .. //depot/projects/dtrace/src/lib/libstand/Makefile#9 integrate .. //depot/projects/dtrace/src/lib/libthr/Makefile#18 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#23 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_umtx.c#14 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_umtx.h#12 integrate .. //depot/projects/dtrace/src/lib/msun/man/cos.3#6 integrate .. //depot/projects/dtrace/src/libexec/rtld-elf/Makefile#5 integrate .. //depot/projects/dtrace/src/release/Makefile#19 integrate .. //depot/projects/dtrace/src/release/picobsd/build/picobsd#6 integrate .. //depot/projects/dtrace/src/release/scripts/src-install.sh#6 integrate .. //depot/projects/dtrace/src/rescue/librescue/Makefile#5 integrate .. //depot/projects/dtrace/src/rescue/rescue/Makefile#13 integrate .. //depot/projects/dtrace/src/sbin/atacontrol/atacontrol.8#6 integrate .. //depot/projects/dtrace/src/sbin/devfs/devfs.8#6 integrate .. //depot/projects/dtrace/src/sbin/ggate/ggated/ggated.c#6 integrate .. //depot/projects/dtrace/src/sbin/ifconfig/ifieee80211.c#12 integrate .. //depot/projects/dtrace/src/sbin/mdconfig/mdconfig.8#7 integrate .. //depot/projects/dtrace/src/sbin/mdconfig/mdconfig.c#6 integrate .. //depot/projects/dtrace/src/sbin/natd/natd.8#8 integrate .. //depot/projects/dtrace/src/sbin/natd/natd.c#6 integrate .. //depot/projects/dtrace/src/sbin/natd/natd.h#4 integrate .. //depot/projects/dtrace/src/sbin/swapon/swapon.8#5 integrate .. //depot/projects/dtrace/src/sbin/swapon/swapon.c#5 integrate .. //depot/projects/dtrace/src/sbin/sysctl/sysctl.c#14 integrate .. //depot/projects/dtrace/src/share/man/man4/aac.4#9 integrate .. //depot/projects/dtrace/src/share/man/man4/cpufreq.4#5 integrate .. //depot/projects/dtrace/src/share/man/man5/rc.conf.5#31 integrate .. //depot/projects/dtrace/src/share/man/man5/src.conf.5#17 integrate .. //depot/projects/dtrace/src/share/mk/bsd.cpu.mk#13 integrate .. //depot/projects/dtrace/src/share/mk/bsd.sys.mk#12 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/bpf_jit_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/bpf_jit_machdep.h#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#48 integrate .. //depot/projects/dtrace/src/sys/amd64/include/iodev.h#4 integrate .. //depot/projects/dtrace/src/sys/amd64/include/memdev.h#4 integrate .. //depot/projects/dtrace/src/sys/amd64/include/vmparam.h#6 integrate .. //depot/projects/dtrace/src/sys/arm/include/memdev.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/Makefile.inc#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/Makefile.inc#8 integrate .. //depot/projects/dtrace/src/sys/boot/efi/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/Makefile.inc#5 integrate .. //depot/projects/dtrace/src/sys/boot/i386/loader/Makefile#6 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/common/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/efi/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/dtrace/src/sys/boot/pc98/Makefile.inc#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/boot2/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/loader/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/dtrace/src/sys/boot/powerpc/ofw/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/boot/sparc64/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/sys/boot/sparc64/loader/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/dtrace/src/sys/conf/NOTES#60 integrate .. //depot/projects/dtrace/src/sys/conf/files#98 integrate .. //depot/projects/dtrace/src/sys/conf/kern.mk#12 integrate .. //depot/projects/dtrace/src/sys/conf/kern.pre.mk#16 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_pci.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/acpi_support/acpi_asus.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/fe/if_fe.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/fe/if_fe_cbus.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/fe/if_fe_isa.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/fe/if_fe_pccard.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/fe/if_fevar.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/gem/if_gem.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/io/iodev.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/mfi/mfi.c#18 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#40 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uscanner.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/wpi/if_wpi.c#14 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_rule.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/i386/bpf_jit_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/i386/bpf_jit_machdep.h#4 integrate .. //depot/projects/dtrace/src/sys/i386/include/iodev.h#4 integrate .. //depot/projects/dtrace/src/sys/i386/include/memdev.h#4 integrate .. //depot/projects/dtrace/src/sys/ia64/include/memdev.h#4 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#31 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lockf.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/kern_umtx.c#23 integrate .. //depot/projects/dtrace/src/sys/kern/kern_xxx.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/stack_protector.c#1 branch .. //depot/projects/dtrace/src/sys/kern/uipc_sem.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_shm.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_aio.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_syscalls.c#24 integrate .. //depot/projects/dtrace/src/sys/mips/include/iodev.h#2 integrate .. //depot/projects/dtrace/src/sys/mips/include/memdev.h#2 integrate .. //depot/projects/dtrace/src/sys/modules/ath_rate_amrr/Makefile#8 integrate .. //depot/projects/dtrace/src/sys/modules/nfslockd/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/modules/ralfw/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/modules/sem/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/net/if.c#18 integrate .. //depot/projects/dtrace/src/sys/net/if_gre.c#15 integrate .. //depot/projects/dtrace/src/sys/net/if_var.h#10 integrate .. //depot/projects/dtrace/src/sys/netgraph/netgraph.h#11 integrate .. //depot/projects/dtrace/src/sys/netinet/in.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias.c#11 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_db.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias_ftp.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_rmx.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/dtrace/src/sys/netipsec/key.c#9 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs.h#9 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_node.c#11 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vfsops.c#21 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vnops.c#19 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfsmount.h#6 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfsnode.h#9 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm.h#2 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm_advlock.c#1 branch .. //depot/projects/dtrace/src/sys/nlm/nlm_prot.h#2 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm_prot_clnt.c#3 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm_prot_impl.c#9 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm_prot_server.c#3 integrate .. //depot/projects/dtrace/src/sys/pci/viapm.c#9 integrate .. //depot/projects/dtrace/src/sys/powerpc/include/memdev.h#4 integrate .. //depot/projects/dtrace/src/sys/rpc/auth_unix.c#3 integrate .. //depot/projects/dtrace/src/sys/rpc/authunix_prot.c#3 integrate .. //depot/projects/dtrace/src/sys/rpc/clnt.h#2 integrate .. //depot/projects/dtrace/src/sys/rpc/clnt_dg.c#3 integrate .. //depot/projects/dtrace/src/sys/rpc/clnt_rc.c#4 integrate .. //depot/projects/dtrace/src/sys/rpc/clnt_vc.c#3 integrate .. //depot/projects/dtrace/src/sys/rpc/rpcb_clnt.c#3 integrate .. //depot/projects/dtrace/src/sys/rpc/svc_vc.c#3 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_framework.h#17 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_policy.h#11 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_posix_sem.c#12 integrate .. //depot/projects/dtrace/src/sys/security/mac_biba/mac_biba.c#17 integrate .. //depot/projects/dtrace/src/sys/security/mac_mls/mac_mls.c#17 integrate .. //depot/projects/dtrace/src/sys/security/mac_stub/mac_stub.c#15 integrate .. //depot/projects/dtrace/src/sys/security/mac_test/mac_test.c#15 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/in_cksum.h#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/memdev.h#4 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/in_cksum.h#5 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/memdev.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/fcntl.h#12 integrate .. //depot/projects/dtrace/src/sys/sys/file.h#12 integrate .. //depot/projects/dtrace/src/sys/sys/ksem.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/lockf.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#57 integrate .. //depot/projects/dtrace/src/sys/sys/semaphore.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/umtx.h#14 integrate .. //depot/projects/dtrace/src/sys/sys/user.h#10 integrate .. //depot/projects/dtrace/src/sys/vm/vm_kern.c#14 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.c#19 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_SSP#2 integrate .. //depot/projects/dtrace/src/tools/regression/fifo/fifo_create/fifo_create.c#4 integrate .. //depot/projects/dtrace/src/tools/regression/file/flock/flock.c#2 integrate .. //depot/projects/dtrace/src/tools/regression/lib/libc/stdio/test-scanfloat.c#7 integrate .. //depot/projects/dtrace/src/tools/regression/posixsem/Makefile#1 branch .. //depot/projects/dtrace/src/tools/regression/posixsem/posixsem.c#1 branch .. //depot/projects/dtrace/src/tools/regression/posixsem/posixsem.t#1 branch .. //depot/projects/dtrace/src/tools/regression/posixsem/test.c#1 branch .. //depot/projects/dtrace/src/tools/regression/posixsem/test.h#1 branch .. //depot/projects/dtrace/src/tools/regression/posixshm/test.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/cmdline.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/cpio.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/cpio.h#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/matching.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/test/main.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/cpio/test/test.h#2 integrate .. //depot/projects/dtrace/src/usr.bin/make/make.1#11 integrate .. //depot/projects/dtrace/src/usr.bin/procstat/procstat_files.c#6 integrate .. //depot/projects/dtrace/src/usr.bin/tar/write.c#14 integrate .. //depot/projects/dtrace/src/usr.sbin/mountd/exports.5#4 integrate .. //depot/projects/dtrace/src/usr.sbin/newsyslog/newsyslog.conf.5#7 integrate .. //depot/projects/dtrace/src/usr.sbin/ngctl/main.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/powerd/powerd.8#4 integrate .. //depot/projects/dtrace/src/usr.sbin/powerd/powerd.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.lockd/lockd.c#13 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.statd/file.c#5 integrate .. //depot/projects/dtrace/www/en/community.xsl#4 integrate .. //depot/projects/dtrace/www/en/community/Makefile#3 integrate .. //depot/projects/dtrace/www/en/community/social.xsl#1 branch .. //depot/projects/dtrace/www/en/developers.sgml#38 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#31 integrate .. //depot/projects/dtrace/www/en/events/Makefile#6 integrate .. //depot/projects/dtrace/www/en/gnome/docs/faq2.sgml#22 integrate .. //depot/projects/dtrace/www/en/java/dists/16.sgml#2 integrate .. //depot/projects/dtrace/www/en/support/bugreports.sgml#5 integrate .. //depot/projects/dtrace/www/hu/about.sgml#5 integrate .. //depot/projects/dtrace/www/hu/administration.sgml#5 integrate .. //depot/projects/dtrace/www/hu/advocacy/index.sgml#2 integrate .. //depot/projects/dtrace/www/hu/advocacy/myths.sgml#3 integrate .. //depot/projects/dtrace/www/hu/applications.sgml#3 integrate .. //depot/projects/dtrace/www/hu/art.sgml#3 integrate .. //depot/projects/dtrace/www/hu/community.xsl#2 integrate .. //depot/projects/dtrace/www/hu/community/irc.sgml#2 integrate .. //depot/projects/dtrace/www/hu/community/mailinglists.sgml#4 integrate .. //depot/projects/dtrace/www/hu/community/newsgroups.sgml#3 integrate .. //depot/projects/dtrace/www/hu/community/webresources.sgml#2 integrate .. //depot/projects/dtrace/www/hu/copyright/copyright.sgml#2 integrate .. //depot/projects/dtrace/www/hu/developers/cvs.sgml#4 integrate .. //depot/projects/dtrace/www/hu/docproj/doc-set.sgml#2 integrate .. //depot/projects/dtrace/www/hu/docproj/docproj.sgml#2 integrate .. //depot/projects/dtrace/www/hu/docproj/sgml.sgml#3 integrate .. //depot/projects/dtrace/www/hu/docproj/submitting.sgml#2 integrate .. //depot/projects/dtrace/www/hu/docproj/who.sgml#2 integrate .. //depot/projects/dtrace/www/hu/docs.sgml#2 integrate .. //depot/projects/dtrace/www/hu/docs/books.sgml#7 integrate .. //depot/projects/dtrace/www/hu/docs/webresources.sgml#3 integrate .. //depot/projects/dtrace/www/hu/features.sgml#5 integrate .. //depot/projects/dtrace/www/hu/index.xsl#7 integrate .. //depot/projects/dtrace/www/hu/internet.sgml#4 integrate .. //depot/projects/dtrace/www/hu/logo.sgml#2 integrate .. //depot/projects/dtrace/www/hu/mailto.sgml#4 integrate .. //depot/projects/dtrace/www/hu/news/news.sgml#2 integrate .. //depot/projects/dtrace/www/hu/news/pressreleases.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/alpha.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/amd64.sgml#4 integrate .. //depot/projects/dtrace/www/hu/platforms/arm.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/i386.sgml#4 integrate .. //depot/projects/dtrace/www/hu/platforms/ia64/index.xsl#2 integrate .. //depot/projects/dtrace/www/hu/platforms/ia64/machines.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/ia64/refs.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/ia64/todo.xsl#2 integrate .. //depot/projects/dtrace/www/hu/platforms/index.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/mips.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/pc98.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/ppc.sgml#4 integrate .. //depot/projects/dtrace/www/hu/platforms/sparc.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/sun4v.sgml#2 integrate .. //depot/projects/dtrace/www/hu/platforms/xbox.sgml#2 integrate .. //depot/projects/dtrace/www/hu/projects/projects.sgml#6 integrate .. //depot/projects/dtrace/www/hu/search/index-site.sgml#3 integrate .. //depot/projects/dtrace/www/hu/search/search-mid.sgml#3 integrate .. //depot/projects/dtrace/www/hu/search/search.sgml#6 integrate .. //depot/projects/dtrace/www/hu/search/searchhints.sgml#3 integrate .. //depot/projects/dtrace/www/hu/search/site.map#4 integrate .. //depot/projects/dtrace/www/hu/search/web.atoz#5 integrate .. //depot/projects/dtrace/www/hu/send-pr.sgml#4 integrate .. //depot/projects/dtrace/www/hu/share/sgml/header.l10n.ent#5 integrate .. //depot/projects/dtrace/www/hu/share/sgml/l10n.ent#2 integrate .. //depot/projects/dtrace/www/hu/share/sgml/libcommon.xsl#2 integrate .. //depot/projects/dtrace/www/hu/share/sgml/navibar.l10n.ent#6 integrate .. //depot/projects/dtrace/www/hu/support.sgml#3 integrate .. //depot/projects/dtrace/www/hu/support/bugreports.sgml#3 integrate .. //depot/projects/dtrace/www/hu/support/webresources.sgml#2 integrate .. //depot/projects/dtrace/www/hu/where.sgml#7 integrate .. //depot/projects/dtrace/www/ja/send-pr.sgml#4 integrate .. //depot/projects/dtrace/www/ru/Makefile#5 integrate .. //depot/projects/dtrace/www/ru/index.xsl#5 integrate .. //depot/projects/dtrace/www/ru/send-pr.sgml#4 integrate .. //depot/projects/dtrace/www/share/mk/doc.xml.mk#9 integrate .. //depot/projects/dtrace/www/share/sgml/libcommon.xsl#13 integrate .. //depot/projects/dtrace/www/share/sgml/navibar.ent#12 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#53 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#22 integrate .. //depot/projects/dtrace/www/share/sgml/templates.events.xsl#6 integrate .. //depot/projects/dtrace/www/share/sgml/templates.pastevents.xsl#1 branch Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/books/faq/book.sgml#7 (text+ko) ==== @@ -21,7 +21,7 @@ Ç ÏìÜäá Ôåêìçñßùóçò ôïõ &os; - $FreeBSD: doc/el_GR.ISO8859-7/books/faq/book.sgml,v 1.10 2008/05/29 00:01:31 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/books/faq/book.sgml,v 1.12 2008/06/27 15:31:23 manolis Exp $ 1995 @@ -69,19 +69,17 @@ Ôï êåßìåíï áõôü áðïôåëåß ôéò Óõ÷íÝò ÅñùôÞóåéò (FAQ) ãéá ôéò - åêäüóåéò 5.× êáé 6.× ôïõ &os;. ¼ëåò ïé êáôá÷ùñÞóåéò èåùñåßôáé üôé - ó÷åôßæïíôáé ìå ôçí Ýêäïóç &os; 5.X êáé ìåôáãåíÝóôåñåò, åêôüò - áí áíáöÝñåôáé äéáöïñåôéêÜ. Áí åíäéáöÝñåóôå íá ìáò âïçèÞóåôå óå áõôü - ôï Ýñãï, óôåßëôå Ýíá email óôçí &a.doc;. Ç ôåëåõôáßá Ýêäïóç áõôïý - ôïõ êåéìÝíïõ åßíáé ðÜíôïôå äéáèÝóéìç óôçí - äéêôõáêÞ ôïðïèåóßá ôïõ &os;. Ìðïñåßôå åðßóçò íá ôçí êáôåâÜóåôå ùò - Ýíá ìåãÜëï HTML áñ÷åßï ìÝóù HTTP Þ - áêüìá êáé ùò áðëü êåßìåíï, &postscript;, PDF, êëð. áðü ôïí åîõðçñåôçôÞ FTP ôïõ - &os;. Ìðïñåßôå áêüìá íá øÜîåôå óôéò Óõ÷íÝò ÅñùôÞóåéò - . + åêäüóåéò 5.× êáé 6.× ôïõ &os;. ¼ëåò ïé êáôá÷ùñÞóåéò èåùñåßôáé üôé + ó÷åôßæïíôáé ìå ôçí Ýêäïóç &os; 5.X êáé ìåôáãåíÝóôåñåò, åêôüò + áí áíáöÝñåôáé äéáöïñåôéêÜ. Áí åíäéáöÝñåóôå íá ìáò âïçèÞóåôå óå áõôü + ôï Ýñãï, óôåßëôå Ýíá email óôçí &a.doc;. Ç ôåëåõôáßá Ýêäïóç áõôïý + ôïõ êåéìÝíïõ åßíáé ðÜíôïôå äéáèÝóéìç óôçí äéêôõáêÞ ôïðïèåóßá ôïõ &os;. Ìðïñåßôå åðßóçò íá ôçí êáôåâÜóåôå ùò + Ýíá ìåãÜëï HTML áñ÷åßï ìÝóù HTTP Þ + áêüìá êáé ùò áðëü êåßìåíï, &postscript;, PDF, êëð. áðü ôïí åîõðçñåôçôÞ FTP ôïõ &os;. Ìðïñåßôå áêüìá íá øÜîåôå óôéò Óõ÷íÝò ÅñùôÞóåéò + . @@ -92,649 +90,615 @@ ¼ðùò óõíçèßæåôáé óôá FAQs ôïõ Usenet, ôï êåßìåíï áõôü Ý÷åé óêïðü íá êáëýøåé ôéò ðéï óõíçèéóìÝíåò åñùôÞóåéò ðïõ áöïñïýí ôï ëåéôïõñãéêü - óýóôçìá &os; (êáé öõóéêÜ íá ôéò áðáíôÞóåé!). Áí êáé ï áñ÷éêüò óêïðüò + óýóôçìá &os; (êáé öõóéêÜ íá ôéò áðáíôÞóåé!). Áí êáé ï áñ÷éêüò óêïðüò ôùí FAQs Þôáí ç åîïéêïíüìçóç åýñïõò æþíçò ôïõ äéáäéêôýïõ áðü ôçí åðáíáëáìâáíüìåíç áðÜíôçóç ôùí ßäéùí åñùôÞóåùí, ôá FAQs áíáãíùñßóôçêáí ôåëéêÜ ùò ðïëýôéìåò ðçãÝò ðëçñïöïñéþí. ¸÷åé êáôáâëçèåß êÜèå ðñïóðÜèåéá þóôå áõôü ôï FAQ íá ãßíåé üóï ðéï - ðëçñïöïñéáêü ãßíåôáé. Áí èÝëåôå íá êÜíåôå êÜðïéåò õðïäåßîåéò ó÷åôéêÜ + ðëçñïöïñéáêü ãßíåôáé. Áí èÝëåôå íá êÜíåôå êÜðïéåò õðïäåßîåéò ó÷åôéêÜ ìå ôñüðïõò âåëôßùóçò ôïõ, óáò ðáñáêáëïýìå óôåßëôå ìáò Ýíá email óôç &a.doc;. - - Ôé åßíáé ôï &os;; - + + Ôé åßíáé ôï &os;; + - - Åí óõíôïìßá, ôï &os; åßíáé Ýíá ëåéôïõñãéêü óýóôçìá ôýðïõ - &unix; ãéá ôéò áñ÷éôåêôïíéêÝò Alpha/AXP, AMD64 êáé &intel; - EM64T, &i386; IA-64, PC-98, êáé &ultrasparc; êáé âáóßæåôáé óôçí - Ýêäïóç 4.4BSD-Lite ôïõ Ðáíåðéóôçìßïõ ôïõ Berkeley, - ìå êÜðïéåò âåëôéþóåéò áðü ôï 4.4BSD-Lite2. Âáóßæåôáé - åðßóçò Ýììåóá óôçí åñãáóßá ìåôáöïñÜò (port) ôïõ - Net/2 (åðßóçò áðü ôï Berkeley) ðïõ Ýãéíå áðü ôïí - William Jolitz, áí êáé äåí Ý÷åé ìåßíåé ó÷åäüí ôßðïôá áðü ôïí áñ÷éêü - êþäéêá ôïõ 386BSD. ÐëçñÝóôåñç ðåñéãñáöÞ ãéá ôï ôé åßíáé ôï &os; êáé - ðùò ìðïñåß íá ëåéôïõñãÞóåé ãéá åóÜò, ìðïñåßôå íá âñåßôå óôçí - äéêôõáêÞ ôïðïèåóßá ôïõ &os; - . + + Åí óõíôïìßá, ôï &os; åßíáé Ýíá ëåéôïõñãéêü óýóôçìá ôýðïõ + &unix; ãéá ôéò áñ÷éôåêôïíéêÝò Alpha/AXP, AMD64 êáé &intel; + EM64T, &i386; IA-64, PC-98, êáé &ultrasparc; êáé âáóßæåôáé óôçí + Ýêäïóç 4.4BSD-Lite ôïõ Ðáíåðéóôçìßïõ ôïõ Berkeley, + ìå êÜðïéåò âåëôéþóåéò áðü ôï 4.4BSD-Lite2. + Âáóßæåôáé åðßóçò Ýììåóá óôçí åñãáóßá ìåôáöïñÜò (port) ôïõ + Net/2 (åðßóçò áðü ôï Berkeley) ðïõ Ýãéíå áðü ôïí + William Jolitz, áí êáé äåí Ý÷åé ìåßíåé ó÷åäüí ôßðïôá áðü ôïí + áñ÷éêü êþäéêá ôïõ 386BSD. ÐëçñÝóôåñç ðåñéãñáöÞ ãéá ôï ôé åßíáé + ôï &os; êáé ðùò ìðïñåß íá ëåéôïõñãÞóåé ãéá åóÜò, ìðïñåßôå íá + âñåßôå óôçí äéêôõáêÞ ôïðïèåóßá ôïõ &os;. - Ôï &os; ÷ñçóéìïðïéåßôáé áðü åôáéñßåò, ðáñï÷åßò õðçñåóéþí - Internet (ISPs), öïéôçôÝò êáé ïéêéáêïýò ÷ñÞóôåò, åñåõíçôÝò, - êáé åðáããåëìáôßåò ôùí õðïëïãéóôþí óå üëï ôïí êüóìï, óôç äïõëåéÜ - ôïõò, óôçí åêðáßäåõóç êáé ãéá áíáøõ÷Þ. + Ôï &os; ÷ñçóéìïðïéåßôáé áðü åôáéñßåò, ðáñï÷åßò õðçñåóéþí + Internet (ISPs), öïéôçôÝò êáé ïéêéáêïýò ÷ñÞóôåò, åñåõíçôÝò, + êáé åðáããåëìáôßåò ôùí õðïëïãéóôþí óå üëï ôïí êüóìï, óôç äïõëåéÜ + ôïõò, óôçí åêðáßäåõóç êáé ãéá áíáøõ÷Þ. - Ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò ó÷åôéêÜ ìå ôï &os;, ðáñáêáëïýìå - äéáâÜóôå ôï - Åã÷åéñßäéï ôïõ &os; - . - + Ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò ó÷åôéêÜ ìå ôï &os;, ðáñáêáëïýìå + äéáâÜóôå ôï Åã÷åéñßäéï ôïõ &os;. + - - Ðïéïò åßíáé ï óêïðüò ôïõ &os; Project; - + + Ðïéïò åßíáé ï óêïðüò ôïõ &os; Project; + - - Ï óêïðüò ôïõ &os; Project åßíáé íá ðáñÝ÷åé ëïãéóìéêü ôï ïðïßï - íá ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ïðïéïõóäÞðïôå óêïðïýò êáé ÷ùñßò - ðåñéïñéóìïýò. Ðïëëïß áðü åìÜò Ý÷ïõìå åðåíäýóåé óçìáíôéêÜ óôïí - êþäéêá (êáé óôï ßäéï ôï Ýñãï) êáé óßãïõñá äåí èá ìáò ðåßñáæå - êáé êÜðïéá ÷ñçìáôéêÞ áðïæçìßùóç ðïõ êáé ðïõ, áëëÜ óßãïõñá äåí - åðéìÝíïõìå óå áõôü. Ðéóôåýïõìå üôé ç ðñþôç êáé âáóéêüôåñç - áðïóôïëÞ ìáò åßíáé íá ðáñÝ÷ïõìå êþäéêá óå üëïõò, - ãéá ïðïéïäÞðïôå ðéèáíü óêïðü, Ýôóé þóôå ï êþäéêáò ìáò íá Ý÷åé - ôçí åõñýôåñç äõíáôÞ ÷ñÞóç êáé åðéôõã÷Üíåé ôï ìåãáëýôåñï äõíáôü - üöåëïò. Ðéóôåýïõìå üôé áõôüò åßíáé Ýíáò áðü ôïõò óçìáíôéêüôåñïõò - óêïðïýò ôïõ Åëåýèåñïõ Ëïãéóìéêïý êáé ôïí õðïóôçñßæïõìå èåñìÜ. + + Ï óêïðüò ôïõ &os; Project åßíáé íá ðáñÝ÷åé ëïãéóìéêü ôï ïðïßï + íá ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ïðïéïõóäÞðïôå óêïðïýò êáé ÷ùñßò + ðåñéïñéóìïýò. Ðïëëïß áðü åìÜò Ý÷ïõìå åðåíäýóåé óçìáíôéêÜ óôïí + êþäéêá (êáé óôï ßäéï ôï Ýñãï) êáé óßãïõñá äåí èá ìáò ðåßñáæå + êáé êÜðïéá ÷ñçìáôéêÞ áðïæçìßùóç ðïõ êáé ðïõ, áëëÜ óßãïõñá äåí + åðéìÝíïõìå óå áõôü. Ðéóôåýïõìå üôé ç ðñþôç êáé âáóéêüôåñç + áðïóôïëÞ ìáò åßíáé íá ðáñÝ÷ïõìå êþäéêá óå üëïõò, + ãéá ïðïéïäÞðïôå ðéèáíü óêïðü, Ýôóé þóôå ï êþäéêáò ìáò íá Ý÷åé + ôçí åõñýôåñç äõíáôÞ ÷ñÞóç êáé åðéôõã÷Üíåé ôï ìåãáëýôåñï äõíáôü + üöåëïò. Ðéóôåýïõìå üôé áõôüò åßíáé Ýíáò áðü ôïõò óçìáíôéêüôåñïõò + óêïðïýò ôïõ Åëåýèåñïõ Ëïãéóìéêïý êáé ôïí õðïóôçñßæïõìå + èåñìÜ. - Ï êþäéêáò, óôï äÝíôñï ôïõ ðçãáßïõ ìáò êþäéêá, ï ïðïßïò - åìðßðôåé óôç Üäåéá ÷ñÞóçò - GNU - General Public License (GPL) Þ GNU - Library General Public License (LGPL) Ý÷åé ðåñéóóüôåñïõò - ðåñéïñéóìïýò, áëëÜ ôïõëÜ÷éóôïí üóï áöïñÜ ôçí õðï÷ñÝùóç - åëåýèåñçò ðñüóâáóçò áíôß ãéá ôï áíôßèåôï ðïõ åßíáé êáé ôï ðëÝïí - óõíçèéóìÝíï. Ëüãù ôçò áõîçìÝíçò ðïëõðëïêüôçôáò ðïõ ìðïñåß íá - ðñïêýøåé áðü ôçí åìðïñéêÞ ÷ñÞóç ëïãéóìéêïý GPL, ðñïóðáèïýìå ãåíéêÜ - íá áíôéêáôáóôÞóïõìå áõôü ôï ëïãéóìéêü ìå áíôßóôïé÷ï õðü ôçí - ðéï ÷áëáñÞ - Üäåéá &os;, üðïõ áõôü åßíáé äõíáôü. - + Ï êþäéêáò, óôï äÝíôñï ôïõ ðçãáßïõ ìáò êþäéêá, ï ïðïßïò + åìðßðôåé óôç Üäåéá ÷ñÞóçò + GNU General Public License (GPL) Þ GNU Library General Public License (LGPL) Ý÷åé ðåñéóóüôåñïõò ðåñéïñéóìïýò, áëëÜ + ôïõëÜ÷éóôïí üóï áöïñÜ ôçí õðï÷ñÝùóç åëåýèåñçò ðñüóâáóçò áíôß ãéá + ôï áíôßèåôï ðïõ åßíáé êáé ôï ðëÝïí óõíçèéóìÝíï. Ëüãù ôçò + áõîçìÝíçò ðïëõðëïêüôçôáò ðïõ ìðïñåß íá ðñïêýøåé áðü ôçí åìðïñéêÞ + ÷ñÞóç ëïãéóìéêïý GPL, ðñïóðáèïýìå ãåíéêÜ íá áíôéêáôáóôÞóïõìå áõôü + ôï ëïãéóìéêü ìå áíôßóôïé÷ï õðü ôçí ðéï ÷áëáñÞ Üäåéá &os;, üðïõ áõôü åßíáé äõíáôü. + - - ÕðÜñ÷ïõí êÜðïéïé ðåñéïñéóìïß óôçí Üäåéá ôïõ &os;; - + + ÕðÜñ÷ïõí êÜðïéïé ðåñéïñéóìïß óôçí Üäåéá ôïõ &os;; + - - Íáé. Ïé ðåñéïñéóìïß áõôïß äåí åëÝã÷ïõí ðùò ÷ñçóéìïðïéåßôå ôïí - êþäéêá, áëëÜ ìüíï ðùò ìåôá÷åéñßæåóôå ôï ßäéï ôï &os; Project. Áí - óáò åíäéáöÝñåé óïâáñÜ ç Üäåéá, äéáâÜóôå ôçí - - åäþ. Ãéá ôïõò áðëþò ðåñßåñãïõò, ç Üäåéá ðåñéëçðôéêÜ - ãñÜöåé: + + Íáé. Ïé ðåñéïñéóìïß áõôïß äåí åëÝã÷ïõí ðùò ÷ñçóéìïðïéåßôå ôïí + êþäéêá, áëëÜ ìüíï ðùò ìåôá÷åéñßæåóôå ôï ßäéï ôï &os; Project. Áí + óáò åíäéáöÝñåé óïâáñÜ ç Üäåéá, äéáâÜóôå ôçí åäþ. Ãéá ôïõò áðëþò ðåñßåñãïõò, ç Üäåéá ðåñéëçðôéêÜ ãñÜöåé: - - - Ìçí éó÷õñéóèåßôå üôé ãñÜøáôå áõôü ôï ëïãéóìéêü. - + + + Ìçí éó÷õñéóèåßôå üôé ãñÜøáôå áõôü ôï ëïãéóìéêü. + - - Ìç ìáò ìçíýóåôå áí ÷áëÜóåé. - - - + + Ìç ìáò ìçíýóåôå áí ÷áëÜóåé. + + + - - Ìðïñåß ôï &os; íá áíôéêáôáóôÞóåé ôï ôñÝ÷ïí ëåéôïõñãéêü - ìïõ óýóôçìá; - + + Ìðïñåß ôï &os; íá áíôéêáôáóôÞóåé ôï ôñÝ÷ïí ëåéôïõñãéêü + ìïõ óýóôçìá; + - - Ãéá ôïõò ðåñéóóüôåñïõò áíèñþðïõò, íáé. ÁëëÜ áõôÞ ç áðÜíôçóç - äåí ìðïñåß íá äïèåß ôüóï îåñÜ. + + Ãéá ôïõò ðåñéóóüôåñïõò áíèñþðïõò, íáé. ÁëëÜ áõôÞ ç áðÜíôçóç + äåí ìðïñåß íá äïèåß ôüóï îåñÜ. - Ïé ðåñéóóüôåñïé Üíèñùðïé äåí ÷ñçóéìïðïéïýí óôçí ðñáãìáôéêüôçôá - êÜðïéï ëåéôïõñãéêü. ×ñçóéìïðïéïýí åöáñìïãÝò. Ôï &os; åßíáé - ó÷åäéáóìÝíï íá ðáñÝ÷åé Ýíá óôéâáñü êáé ðëÞñùí äõíáôïôÞôùí - ðåñéâÜëëïí ãéá åöáñìïãÝò. Õðïóôçñßæåé ìåãÜëç ðïéêéëßá áðü - öõëëïìåôñçôÝò, óïõßôåò ãñáöåßïõ, ðñïãñÜììáôá çëåêôñïíéêïý - ôá÷õäñïìåßïõ, ðñïãñÜììáôá ãñáöéêþí, ãëþóóåò ðñïãñáììáôéóìïý, - åîõðçñåôçôÝò äéêôýïõ, êáé ïõóéáóôéêÜ ïôéäÞðïôå Üëëï ìðïñåß íá - èåëÞóåôå. Ìðïñåßôå íá äéá÷åéñéóôåßôå ôéò ðåñéóóüôåñåò áðü áõôÝò - ôéò åöáñìïãÝò ìÝóù ôçò - ÓõëëïãÞò ôùí Ports - . + Ïé ðåñéóóüôåñïé Üíèñùðïé äåí ÷ñçóéìïðïéïýí óôçí ðñáãìáôéêüôçôá + êÜðïéï ëåéôïõñãéêü. ×ñçóéìïðïéïýí åöáñìïãÝò. Ôï &os; åßíáé + ó÷åäéáóìÝíï íá ðáñÝ÷åé Ýíá óôéâáñü êáé ðëÞñùí äõíáôïôÞôùí + ðåñéâÜëëïí ãéá åöáñìïãÝò. Õðïóôçñßæåé ìåãÜëç ðïéêéëßá áðü + öõëëïìåôñçôÝò, óïõßôåò ãñáöåßïõ, ðñïãñÜììáôá çëåêôñïíéêïý + ôá÷õäñïìåßïõ, ðñïãñÜììáôá ãñáöéêþí, ãëþóóåò ðñïãñáììáôéóìïý, + åîõðçñåôçôÝò äéêôýïõ, êáé ïõóéáóôéêÜ ïôéäÞðïôå Üëëï ìðïñåß íá + èåëÞóåôå. Ìðïñåßôå íá äéá÷åéñéóôåßôå ôéò ðåñéóóüôåñåò áðü áõôÝò + ôéò åöáñìïãÝò ìÝóù ôçò ÓõëëïãÞò ôùí Ports. - Áí ÷ñåéÜæåôáé íá ÷ñçóéìïðïéÞóåôå ìéá åöáñìïãÞ ðïõ åßíáé - äéáèÝóéìç óå Ýíá ìüíï ëåéôïõñãéêü óýóôçìá, ôüôå áðëÜ äåí ìðïñåßôå - íá áíôéêáôáóôÞóåôå ôï óýóôçìá áõôü. ÕðÜñ÷ïõí ùóôüóï êáëÝò - ðéèáíüôçôåò íá âñåßôå ìéá áíôßóôïé÷ç åöáñìïãÞ óôï &os;. Áí - èÝëåôå Ýíá åîõðçñåôçôÞ ãéá ôï ãñáöåßï óáò Þ ãéá ôï Internet, - Ýíá áîéüðéóôï óôáèìü åñãáóßáò, Þ áðëþò ôçí éêáíüôçôá íá êÜíåôå - ôçí åñãáóßáò óáò ÷ùñßò äéáêïðÝò, ôï &os; åßíáé ó÷åäüí óßãïõñï üôé - èá êÜíåé üôé ÷ñåéÜæåóôå. Ðïëëïß ÷ñÞóôåò õðïëïãéóôþí óå üëï ôïí - êüóìï, ðåñéëáìâáíïìÝíùí ôüóï áñ÷Üñéùí üóï êáé ðñï÷ùñçìÝíùí - äéá÷åéñéóôþí óõóôçìÜôùí &unix;, ÷ñçóéìïðïéïýí ôï &os; ùò ôï - ìïíáäéêü ôïõò desktop óýóôçìá. + Áí ÷ñåéÜæåôáé íá ÷ñçóéìïðïéÞóåôå ìéá åöáñìïãÞ ðïõ åßíáé + äéáèÝóéìç óå Ýíá ìüíï ëåéôïõñãéêü óýóôçìá, ôüôå áðëÜ äåí ìðïñåßôå + íá áíôéêáôáóôÞóåôå ôï óýóôçìá áõôü. ÕðÜñ÷ïõí ùóôüóï êáëÝò + ðéèáíüôçôåò íá âñåßôå ìéá áíôßóôïé÷ç åöáñìïãÞ óôï &os;. Áí + èÝëåôå Ýíá åîõðçñåôçôÞ ãéá ôï ãñáöåßï óáò Þ ãéá ôï Internet, + Ýíá áîéüðéóôï óôáèìü åñãáóßáò, Þ áðëþò ôçí éêáíüôçôá íá êÜíåôå + ôçí åñãáóßáò óáò ÷ùñßò äéáêïðÝò, ôï &os; åßíáé ó÷åäüí óßãïõñï üôé + èá êÜíåé üôé ÷ñåéÜæåóôå. Ðïëëïß ÷ñÞóôåò õðïëïãéóôþí óå üëï ôïí + êüóìï, ðåñéëáìâáíïìÝíùí ôüóï áñ÷Üñéùí üóï êáé ðñï÷ùñçìÝíùí + äéá÷åéñéóôþí óõóôçìÜôùí &unix;, ÷ñçóéìïðïéïýí ôï &os; ùò ôï + ìïíáäéêü ôïõò desktop óýóôçìá. - Áí Ýñ÷åóôå óôï &os; áðü êÜðïéï Üëëï &unix; ðåñéâÜëëïí, îÝñåôå - Þäç ôá ðåñéóóüôåñá áðü áõôÜ ðïõ ÷ñåéÜæåóôå. Áí ùóôüóï ç åìðåéñßá - óáò ðñïÝñ÷åôáé áðü ëåéôïõñãéêÜ óõóôÞìáôá ìå ãñáöéêü ðåñéâÜëëïí, - üðùò ôá &windows; êáé ïé ðáëéüôåñåò åêäüóåéò ôïõ &macos;, - èá ðñÝðåé íá åðåíäýóåôå, üðùò åßíáé áíáìåíüìåíï, åðéðëÝïí ÷ñüíï - ãéá íá åîïéêåéùèåßôå ìå ôïí &unix; ôñüðï åêôÝëåóçò ôùí åñãáóéþí. - Áõôü ôï FAQ, êáèþò êáé ôï - Åã÷åéñßäéï ôïõ &os; - áðïôåëïýí åîáéñåôéêÜ áíáãíþóìáôá ãéá íá îåêéíÞóåôå. - + Áí Ýñ÷åóôå óôï &os; áðü êÜðïéï Üëëï &unix; ðåñéâÜëëïí, îÝñåôå + Þäç ôá ðåñéóóüôåñá áðü áõôÜ ðïõ ÷ñåéÜæåóôå. Áí ùóôüóï ç åìðåéñßá + óáò ðñïÝñ÷åôáé áðü ëåéôïõñãéêÜ óõóôÞìáôá ìå ãñáöéêü ðåñéâÜëëïí, + üðùò ôá &windows; êáé ïé ðáëéüôåñåò åêäüóåéò ôïõ &macos;, + èá ðñÝðåé íá åðåíäýóåôå, üðùò åßíáé áíáìåíüìåíï, åðéðëÝïí ÷ñüíï + ãéá íá åîïéêåéùèåßôå ìå ôïí &unix; ôñüðï åêôÝëåóçò ôùí åñãáóéþí. + Áõôü ôï FAQ, êáèþò êáé ôï Åã÷åéñßäéï ôïõ &os; áðïôåëïýí åîáéñåôéêÜ áíáãíþóìáôá ãéá íá îåêéíÞóåôå. + - - Ãéáôß ïíïìÜæåôáé &os;; - + + Ãéáôß ïíïìÜæåôáé &os;; + - - - - Ìðïñåß íá ÷ñçóéìïðïéçèåß ÷ùñßò ÷ñÝùóç, áêüìá êáé ãéá - åìðïñéêïýò óêïðïýò. - + + + + Ìðïñåß íá ÷ñçóéìïðïéçèåß ÷ùñßò ÷ñÝùóç, áêüìá êáé ãéá + åìðïñéêïýò óêïðïýò. + - - Äéáôßèåôáé ï ðëÞñçò ðçãáßïò êþäéêáò ãéá ôï ëåéôïõñãéêü - óýóôçìá, êáé ìå ôïõò åëÜ÷éóôïõò äõíáôïýò ðåñéïñéóìïýò ó÷åôéêÜ - ìå ôç ÷ñÞóç ôïõ, ôç äéáíïìÞ ôïõ êáé ôçí åíóùìÜôùóç ôïõ óå Üëëá - Ýñãá (åìðïñéêÜ Þ ìç). - + + Äéáôßèåôáé ï ðëÞñçò ðçãáßïò êþäéêáò ãéá ôï ëåéôïõñãéêü + óýóôçìá, êáé ìå ôïõò åëÜ÷éóôïõò äõíáôïýò ðåñéïñéóìïýò ó÷åôéêÜ + ìå ôç ÷ñÞóç ôïõ, ôç äéáíïìÞ ôïõ êáé ôçí åíóùìÜôùóç ôïõ óå Üëëá + Ýñãá (åìðïñéêÜ Þ ìç). + - - ÏðïéïóäÞðïôå Ý÷åé íá ðñïôåßíåé ìéá âåëôßùóç Þ äéüñèùóç, - åßíáé åëåýèåñïò íá õðïâÜëëåé ôïí êþäéêá ôïõ, ï ïðïßïò êáé - èá ðñïóôåèåß óôï äÝíôñï ðçãáßïõ êþäéêá (õðü ìéá-äõï âáóéêÝò - ðñïöáíåßò ðñïûðïèÝóåéò). - - + + ÏðïéïóäÞðïôå Ý÷åé íá ðñïôåßíåé ìéá âåëôßùóç Þ äéüñèùóç, + åßíáé åëåýèåñïò íá õðïâÜëëåé ôïí êþäéêá ôïõ, ï ïðïßïò êáé + èá ðñïóôåèåß óôï äÝíôñï ðçãáßïõ êþäéêá (õðü ìéá-äõï âáóéêÝò + ðñïöáíåßò ðñïûðïèÝóåéò). + + - Áîßæåé íá áíáöÝñïõìå üôé ç ëÝîç åëåýèåñï - ÷ñçóéìïðïéåßôáé åäþ ìå äýï ôñüðïõò, ï Ýíáò óçìáßíåé - äùñåÜí, êáé ï Üëëïò óçìáßíåé - ìðïñåßôå íá ôï êÜíåôå üôé èÝëåôå. Åêôüò áðü - Ýíá-äýï ðñÜãìáôá ðïõ äåí ìðïñåßôå íá êÜíåôå - ìå ôïí êþäéêá ôïõ &os;, ãéá ðáñÜäåéãìá íá éó÷õñéóèåßôå üôé ôïí - ãñÜøáôå, ìðïñåßôå óôá áëÞèåéá íá ôïí êÜíåôå üôé èÝëåôå. - + Áîßæåé íá áíáöÝñïõìå üôé ç ëÝîç åëåýèåñï + ÷ñçóéìïðïéåßôáé åäþ ìå äýï ôñüðïõò, ï Ýíáò óçìáßíåé + äùñåÜí, êáé ï Üëëïò óçìáßíåé + ìðïñåßôå íá ôï êÜíåôå üôé èÝëåôå. Åêôüò áðü + Ýíá-äýï ðñÜãìáôá ðïõ äåí ìðïñåßôå íá êÜíåôå + ìå ôïí êþäéêá ôïõ &os;, ãéá ðáñÜäåéãìá íá éó÷õñéóèåßôå üôé ôïí + ãñÜøáôå, ìðïñåßôå óôá áëÞèåéá íá ôïí êÜíåôå üôé èÝëåôå. + Ðïéåò åßíáé ïé äéáöïñÝò ìåôáîý ôïõ &os; êáé ôïõ NetBSD, - OpenBSD êáé ôùí Üëëùí BSD óõóôçìÜôùí áíïéêôïý êþäéêá; + OpenBSD êáé ôùí Üëëùí BSD óõóôçìÜôùí áíïéêôïý êþäéêá; Ï James Howard Ý÷åé ãñÜøåé ìéá êáëÞ åîÞãçóç ôçò éóôïñßáò - êáé ôùí äéáöïñþí ìåôáîý ôùí äéÜöïñùí Ýñãùí ãéá ôï + êáé ôùí äéáöïñþí ìåôáîý ôùí äéÜöïñùí Ýñãùí ãéá ôï DaemonNews, - óôï Üñèñï ðïõ ïíïìÜæåôáé Ç - ÏéêïãÝíåéá Ëåéôïõñãéêþí BSD êáé ôï ïðïßï åìâáèýíåé - éäéáßôåñá óå áõôÞ ôçí åñþôçóç. + óôï Üñèñï ðïõ ïíïìÜæåôáé Ç ÏéêïãÝíåéá Ëåéôïõñãéêþí BSD + êáé ôï ïðïßï åìâáèýíåé éäéáßôåñá óå áõôÞ ôçí åñþôçóç. - - Ðïéá åßíáé ç ôåëåõôáßá Ýêäïóç ôïõ &os;; - + + Ðïéá åßíáé ç ôåëåõôáßá Ýêäïóç ôïõ &os;; + - + ÁõôÞ ôç óôéãìÞ óôçí áíÜðôõîç ôïõ &os;, õðÜñ÷ïõí äýï ðáñÜëëçëïé - êëÜäïé. Êáé áðü ôïõò äýï áõôïýò êëÜäïõò, ðñïêýðôïõí íÝåò åêäüóåéò. - Ç óåéñÜ ôùí åêäüóåùí 5.× äçìéïõñãåßôáé áðü ôïí êëÜäï + êëÜäïé. Êáé áðü ôïõò äýï áõôïýò êëÜäïõò, ðñïêýðôïõí íÝåò + åêäüóåéò. Ç óåéñÜ ôùí åêäüóåùí 5.× äçìéïõñãåßôáé áðü ôïí êëÜäï 5-STABLE åíþ ç óåéñÜ ôùí åêäüóåùí 6.× - áðü ôïí 6-STABLE. + áðü ôïí 6-STABLE. ÌÝ÷ñé êáé ôçí Ýêäïóç ôçò 5.3, ç óåéñÜ 4.× Þôáí ãíùóôÞ ùò - -STABLE. Ùóôüóï áðü ôçí 5.3 êáé ìåôÜ, ç - óåéñÜ 4.× èåùñåßôáé üôé åéóÝñ÷åôáé óôç öÜóç ôçò + -STABLE. Ùóôüóï áðü ôçí 5.3 êáé ìåôÜ, ç + óåéñÜ 4.× èåùñåßôáé üôé åéóÝñ÷åôáé óôç öÜóç ôçò åêôåôáìÝíçò õðïóôÞñéîçò êáé èá ëáìâÜíåé ìüíï - äéïñèþóåéò ãéá óïâáñÜ ðñïâëÞìáôá, üðùò ð.÷. áõôÜ ðïõ áíáöÝñïíôáé - óå êåíÜ áóöáëåßáò. Èá õðÜñîïõí ðåñéóóüôåñåò åêäüóåéò áðü ôçí - óåéñÜ 5-STABLE, áëëÜ êáé áõôÞ èåùñåßôáé + äéïñèþóåéò ãéá óïâáñÜ ðñïâëÞìáôá, üðùò ð.÷. áõôÜ ðïõ áíáöÝñïíôáé + óå êåíÜ áóöáëåßáò. Èá õðÜñîïõí ðåñéóóüôåñåò åêäüóåéò áðü ôçí + óåéñÜ 5-STABLE, áëëÜ êáé áõôÞ èåùñåßôáé ðáñù÷çìÝíç êáé ç ðåñéóóüôåñç ôñÝ÷ïõóá åñãáóßá èá - áðïôåëåß ôìÞìá ìüíï ôçò óåéñÜò 6-STABLE. + áðïôåëåß ôìÞìá ìüíï ôçò óåéñÜò 6-STABLE. - Ç Ýêäïóç &rel.current; - åßíáé ç ðëÝïí ôåëåõôáßá ôçò óåéñÜò - 6-STABLE êáé Ýãéíå óôéò - &rel.current.date;. Ç Ýêäïóç &rel2.current; - åßíáé ç ðëÝïí ôåëåõôáßá ôçò óåéñÜò - 5-STABLE êáé Ýãéíå óôéò - &rel2.current.date;. + Ç Ýêäïóç &rel.current; + åßíáé ç ðëÝïí ôåëåõôáßá ôçò óåéñÜò + 6-STABLE êáé Ýãéíå óôéò + &rel.current.date;. Ç Ýêäïóç &rel2.current; + åßíáé ç ðëÝïí ôåëåõôáßá ôçò óåéñÜò + 5-STABLE êáé Ýãéíå óôéò + &rel2.current.date;. - Åí óõíôïìßá, ç óåéñÜ -STABLE ðñïïñßæåôáé - ãéá ôïõò ISPs, ôïõò åôáéñéêïýò ÷ñÞóôåò êáèþò êáé ïðïéïäÞðïôå - ÷ñÞóôç èÝëåé óôáèåñüôçôá êáé ìßíéìïõì áñéèìü áëëáãþí óå ó÷Ýóç ìå - ôá íÝá (êáé ðéèáíüí áóôáèÞ) ÷áñáêôçñéóôéêÜ ðïõ åìöáíßæïíôáé óôç - óåéñÜ -CURRENT. Åêäüóåéò ìðïñåß íá ãßíïíôáé - áðü ïðïéïäÞðïôå êëÜäï, áëëÜ ç Ýêäïóç -CURRENT - èá ðñÝðåé íá ÷ñçóéìïðïéåßôáé ìüíï áí åßóôå ðñïåôïéìáóìÝíïé íá - ÷åéñéóôåßôå ôá åíäå÷ïìÝíùò ðéï áóôáèÞ ÷áñáêôçñéóôéêÜ ôçò (óå ó÷Ýóç - ðÜíôá ìå ôçí áíôßóôïé÷ç -STABLE). + Åí óõíôïìßá, ç óåéñÜ -STABLE ðñïïñßæåôáé + ãéá ôïõò ISPs, ôïõò åôáéñéêïýò ÷ñÞóôåò êáèþò êáé ïðïéïäÞðïôå + ÷ñÞóôç èÝëåé óôáèåñüôçôá êáé ìßíéìïõì áñéèìü áëëáãþí óå ó÷Ýóç ìå + ôá íÝá (êáé ðéèáíüí áóôáèÞ) ÷áñáêôçñéóôéêÜ ðïõ åìöáíßæïíôáé óôç + óåéñÜ -CURRENT. Åêäüóåéò ìðïñåß íá ãßíïíôáé + áðü ïðïéïäÞðïôå êëÜäï, áëëÜ ç Ýêäïóç -CURRENT + èá ðñÝðåé íá ÷ñçóéìïðïéåßôáé ìüíï áí åßóôå ðñïåôïéìáóìÝíïé íá + ÷åéñéóôåßôå ôá åíäå÷ïìÝíùò ðéï áóôáèÞ ÷áñáêôçñéóôéêÜ ôçò (óå ó÷Ýóç + ðÜíôá ìå ôçí áíôßóôïé÷ç -STABLE). - ÍÝåò åêäüóåéò åìöáíßæïíôáé êÜèå - ìåñéêïýò ìÞíåò. Áí êáé ðïëëïß åðéëÝãïõí íá äéáôçñïýíôáé - åíçìåñùìÝíïé êáé ðéï óõ÷íÜ ìÝóù ôïõ ðçãáßïõ êþäéêá ôïõ &os; - (äåßôå ôéò åñùôÞóåéò óôï - &os.current; êáé &os.stable;), ïé åêäüóåéò åßíáé êÜôé - ðáñáðÜíù áðü õðï÷ñÝùóç, êáèþò ï ðçãáßïò êþäéêáò åßíáé ðåñéóóüôåñï - Ýíáò êéíïýìåíïò óôü÷ïò. + ÍÝåò åêäüóåéò åìöáíßæïíôáé êÜèå + ìåñéêïýò ìÞíåò. Áí êáé ðïëëïß åðéëÝãïõí íá äéáôçñïýíôáé + åíçìåñùìÝíïé êáé ðéï óõ÷íÜ ìÝóù ôïõ ðçãáßïõ êþäéêá ôïõ &os; + (äåßôå ôéò åñùôÞóåéò óôï + &os.current; êáé &os.stable;), ïé åêäüóåéò åßíáé êÜôé + ðáñáðÜíù áðü õðï÷ñÝùóç, êáèþò ï ðçãáßïò êþäéêáò åßíáé ðåñéóóüôåñï + Ýíáò êéíïýìåíïò óôü÷ïò. Ðåñéóóüôåñåò ðëçñïöïñßåò ãéá ôéò åêäüóåéò ôïõ &os; ìðïñåßôå - íá âñåßôå óôçí - Óåëßäá - Ðñïåôïéìáóßáò Åêäüóåùí óôçí äéêôõáêÞ ôïðïèåóßá ôïõ &os;. - >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 03:13:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 167C7106566C; Sun, 29 Jun 2008 03:13: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 C7BD4106564A for ; Sun, 29 Jun 2008 03:13:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B93278FC14 for ; Sun, 29 Jun 2008 03:13:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T3DgIB062293 for ; Sun, 29 Jun 2008 03:13:42 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T3DgxQ062291 for perforce@freebsd.org; Sun, 29 Jun 2008 03:13:42 GMT (envelope-from jb@freebsd.org) Date: Sun, 29 Jun 2008 03:13:42 GMT Message-Id: <200806290313.m5T3DgxQ062291@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144256 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, 29 Jun 2008 03:13:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=144256 Change 144256 by jb@freebsd3 on 2008/06/29 03:13:13 IF7 Affected files ... .. //depot/projects/dtrace7/src/contrib/top/top.X#2 integrate .. //depot/projects/dtrace7/src/contrib/top/top.c#4 integrate .. //depot/projects/dtrace7/src/etc/mtree/BSD.include.dist#2 integrate .. //depot/projects/dtrace7/src/etc/rc.d/initrandom#3 integrate .. //depot/projects/dtrace7/src/games/morse/morse.6#2 integrate .. //depot/projects/dtrace7/src/games/morse/morse.c#2 integrate .. //depot/projects/dtrace7/src/gnu/lib/libstdc++/Makefile#2 integrate .. //depot/projects/dtrace7/src/gnu/usr.bin/cvs/contrib/Makefile#2 integrate .. //depot/projects/dtrace7/src/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate .. //depot/projects/dtrace7/src/include/Makefile#2 integrate .. //depot/projects/dtrace7/src/lib/libc/gen/valloc.3#2 integrate .. //depot/projects/dtrace7/src/lib/libc/stdlib/malloc.c#3 integrate .. //depot/projects/dtrace7/src/lib/libc/stdlib/rb.h#1 branch .. //depot/projects/dtrace7/src/libexec/rpc.rstatd/Makefile#2 integrate .. //depot/projects/dtrace7/src/libexec/rpc.rstatd/rstat_proc.c#2 integrate .. //depot/projects/dtrace7/src/release/scripts/src-install.sh#2 integrate .. //depot/projects/dtrace7/src/share/man/man4/ciss.4#4 integrate .. //depot/projects/dtrace7/src/share/man/man4/cpufreq.4#2 integrate .. //depot/projects/dtrace7/src/share/mk/bsd.cpu.mk#6 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/intr_machdep.c#4 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/dtrace7/src/sys/amd64/amd64/nexus.c#3 integrate .. //depot/projects/dtrace7/src/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/dtrace7/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/dtrace7/src/sys/boot/common/ufsread.c#3 integrate .. //depot/projects/dtrace7/src/sys/boot/forth/support.4th#2 integrate .. //depot/projects/dtrace7/src/sys/boot/i386/libi386/biossmap.c#3 integrate .. //depot/projects/dtrace7/src/sys/conf/files#13 integrate .. //depot/projects/dtrace7/src/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/dtrace7/src/sys/dev/bge/if_bge.c#6 integrate .. //depot/projects/dtrace7/src/sys/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/dtrace7/src/sys/dev/ciss/ciss.c#5 integrate .. //depot/projects/dtrace7/src/sys/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/dtrace7/src/sys/dev/dc/if_dc.c#4 integrate .. //depot/projects/dtrace7/src/sys/dev/mii/atphy.c#1 branch .. //depot/projects/dtrace7/src/sys/dev/mii/atphyreg.h#1 branch .. //depot/projects/dtrace7/src/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/dtrace7/src/sys/dev/mii/brgphyreg.h#2 integrate .. //depot/projects/dtrace7/src/sys/dev/mii/miidevs#4 integrate .. //depot/projects/dtrace7/src/sys/dev/mpt/mpt.h#2 integrate .. //depot/projects/dtrace7/src/sys/dev/mpt/mpt_user.c#1 branch .. //depot/projects/dtrace7/src/sys/fs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/dtrace7/src/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/dtrace7/src/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/dtrace7/src/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/dtrace7/src/sys/i386/i386/intr_machdep.c#4 integrate .. //depot/projects/dtrace7/src/sys/i386/i386/legacy.c#2 integrate .. //depot/projects/dtrace7/src/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/dtrace7/src/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/dtrace7/src/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/dtrace7/src/sys/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/dtrace7/src/sys/kern/bus_if.m#2 integrate .. //depot/projects/dtrace7/src/sys/kern/kern_intr.c#2 integrate .. //depot/projects/dtrace7/src/sys/kern/kern_mib.c#4 integrate .. //depot/projects/dtrace7/src/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/dtrace7/src/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/dtrace7/src/sys/kern/subr_bus.c#4 integrate .. //depot/projects/dtrace7/src/sys/kern/vfs_export.c#2 integrate .. //depot/projects/dtrace7/src/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/dtrace7/src/sys/modules/mii/Makefile#3 integrate .. //depot/projects/dtrace7/src/sys/modules/mpt/Makefile#2 integrate .. //depot/projects/dtrace7/src/sys/netgraph/ng_base.c#7 integrate .. //depot/projects/dtrace7/src/sys/netgraph/ng_nat.c#3 integrate .. //depot/projects/dtrace7/src/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/dtrace7/src/sys/netinet/ip_fw_nat.c#2 integrate .. //depot/projects/dtrace7/src/sys/netinet/libalias/alias.c#2 integrate .. //depot/projects/dtrace7/src/sys/netinet/libalias/alias_db.c#2 integrate .. //depot/projects/dtrace7/src/sys/netinet/libalias/alias_local.h#2 integrate .. //depot/projects/dtrace7/src/sys/pci/nfsmb.c#3 integrate .. //depot/projects/dtrace7/src/sys/powerpc/include/atomic.h#2 integrate .. //depot/projects/dtrace7/src/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/dtrace7/src/sys/sparc64/include/intr_machdep.h#4 integrate .. //depot/projects/dtrace7/src/sys/sparc64/sparc64/intr_machdep.c#5 integrate .. //depot/projects/dtrace7/src/sys/sparc64/sparc64/nexus.c#2 integrate .. //depot/projects/dtrace7/src/sys/sun4v/sun4v/intr_machdep.c#2 integrate .. //depot/projects/dtrace7/src/sys/sys/bus.h#3 integrate .. //depot/projects/dtrace7/src/sys/sys/interrupt.h#2 integrate .. //depot/projects/dtrace7/src/sys/sys/mount.h#3 integrate .. //depot/projects/dtrace7/src/sys/sys/mpt_ioctl.h#1 branch .. //depot/projects/dtrace7/src/sys/sys/sysctl.h#3 integrate .. //depot/projects/dtrace7/src/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/dtrace7/src/usr.bin/cksum/cksum.c#3 integrate .. //depot/projects/dtrace7/src/usr.bin/make/globals.h#2 integrate .. //depot/projects/dtrace7/src/usr.bin/make/hash_tables.c#2 integrate .. //depot/projects/dtrace7/src/usr.bin/make/main.c#3 integrate .. //depot/projects/dtrace7/src/usr.bin/make/make.1#2 integrate .. //depot/projects/dtrace7/src/usr.bin/make/parse.c#2 integrate .. //depot/projects/dtrace7/src/usr.bin/shar/shar.sh#3 integrate .. //depot/projects/dtrace7/src/usr.bin/whereis/whereis.c#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/config/main.c#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/Makefile#4 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/add/main.c#5 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/add/perform.c#4 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/create/main.c#4 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/lib/file.c#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/lib/lib.h#5 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/lib/url.c#2 integrate .. //depot/projects/dtrace7/src/usr.sbin/pkg_install/updating/main.c#3 integrate Differences ... ==== //depot/projects/dtrace7/src/contrib/top/top.X#2 (text+ko) ==== @@ -1,6 +1,6 @@ .\" NOTE: changes to the manual page for "top" should be made in the .\" file "top.X" and NOT in the file "top.1". -.\" $FreeBSD: src/contrib/top/top.X,v 1.20 2007/05/04 15:42:58 rafan Exp $ +.\" $FreeBSD: src/contrib/top/top.X,v 1.20.2.1 2008/06/25 22:13:24 ru Exp $ .nr N %topn% .nr D %delay% .TH TOP 1 Local @@ -10,7 +10,7 @@ .SH SYNOPSIS .B top [ -.B \-abCHIijnqStuv +.B \-abCHIijnPqStuv ] [ .BI \-d count ] [ @@ -119,6 +119,9 @@ Use \*(lqnon-interactive\*(rq mode. This is identical to \*(lqbatch\*(rq mode. .TP +.B \-P +Display per-cpu CPU usage statistics. +.TP .B \-q Renice .I top ==== //depot/projects/dtrace7/src/contrib/top/top.c#4 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.23.2.2 2008/04/09 19:08:43 peter Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.23.2.3 2008/06/25 22:13:24 ru Exp $ */ /* @@ -283,7 +283,7 @@ optind = 1; } - while ((i = getopt(ac, av, "CSIHPabijnpquvs:d:U:m:o:t")) != EOF) + while ((i = getopt(ac, av, "CSIHPabijnquvs:d:U:m:o:t")) != EOF) { switch(i) { @@ -412,14 +412,10 @@ pcpu_stats = Yes; break; - case 'p': - pcpu_stats = No; - break; - default: fprintf(stderr, "Top version %s\n" -"Usage: %s [-abCHIijnqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n" +"Usage: %s [-abCHIijnPqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n" " [-U username] [number]\n", version_string(), myname); exit(1); ==== //depot/projects/dtrace7/src/etc/mtree/BSD.include.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.120 2007/10/03 05:51:20 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.120.2.1 2008/06/27 04:42:19 jhb Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -102,6 +102,10 @@ .. lmc .. + mpt + mpilib + .. + .. ofw .. pbio ==== //depot/projects/dtrace7/src/etc/rc.d/initrandom#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/initrandom,v 1.7.2.1 2008/06/03 11:39:39 ru Exp $ +# $FreeBSD: src/etc/rc.d/initrandom,v 1.7.2.3 2008/06/27 04:42:19 jhb Exp $ # # PROVIDE: initrandom ==== //depot/projects/dtrace7/src/games/morse/morse.6#2 (text+ko) ==== @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)bcd.6 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/games/morse/morse.6,v 1.17 2005/06/07 21:43:16 ru Exp $ +.\" $FreeBSD: src/games/morse/morse.6,v 1.17.10.1 2008/06/19 23:25:00 scf Exp $ .\" .Dd June 7, 2005 .Dt MORSE 6 @@ -172,7 +172,8 @@ .Sh FILES .Bl -tag -width ".Pa /dev/speaker" -compact .It Pa /dev/speaker -speaker device file +.Xr speaker 4 +device file .El .Sh SEE ALSO .Xr speaker 4 @@ -180,7 +181,7 @@ Sound support for .Nm added by -.An Lyndon Nerenberg (VE7TCP/VE6BBM) Aq lyndon@orthanc.com . +.An Lyndon Nerenberg (VE6BBM) Aq lyndon@orthanc.ca . .Pp Ability to key an external device added by .An J\(:org Wunsch ==== //depot/projects/dtrace7/src/games/morse/morse.c#2 (text+ko) ==== @@ -32,8 +32,8 @@ */ /* - * Taught to send *real* morse by Lyndon Nerenberg (VE7TCP/VE6BBM) - * + * Taught to send *real* morse by Lyndon Nerenberg (VE6BBM) + * */ #ifndef lint @@ -47,7 +47,7 @@ static char sccsid[] = "@(#)morse.c 8.1 (Berkeley) 5/31/93"; #endif static const char rcsid[] = - "$FreeBSD: src/games/morse/morse.c,v 1.21 2005/11/11 09:57:32 ru Exp $"; + "$FreeBSD: src/games/morse/morse.c,v 1.21.2.1 2008/06/19 23:25:00 scf Exp $"; #endif /* not lint */ #include @@ -483,7 +483,8 @@ printf(" %s\n", s); } else { for (; *s; ++s) - printf(" %s", *s == '.' ? "dit" : "dah"); + printf(" %s", *s == '.' ? *(s + 1) == '\0' ? "dit" : + "di" : "dah"); printf("\n"); } } ==== //depot/projects/dtrace7/src/gnu/lib/libstdc++/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libstdc++/Makefile,v 1.61 2007/08/16 23:02:00 kan Exp $ +# $FreeBSD: src/gnu/lib/libstdc++/Makefile,v 1.61.2.1 2008/06/20 00:13:37 kan Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -93,7 +93,7 @@ CLEANFILES+= atomicity.cc INCSGROUPS= BITSHDRS BKWHDRS EXTHDRS BASEHDRS BASEXHDRS STDHDRS \ - TARGETHDRS THRHDRS DEBUGHDRS TR1HDRS PBHDRS0 + TARGETHDRS THRHDRS DEBUGHDRS TR1HDRS PBHDRS0 PBHDRS1 CXXINCLUDEDIR= ${INCLUDEDIR}/c++/4.2 STDHDRS= std_algorithm.h std_bitset.h std_complex.h std_deque.h \ @@ -208,6 +208,20 @@ PBHDRS0:= ${PBHDRS0:S;^;${SRCDIR}/include/ext/pb_ds/;} PBHDRS0DIR= ${CXXINCLUDEDIR}/ext/pb_ds +PBHDRS1 = \ + basic_types.hpp \ + cond_dealtor.hpp \ + constructors_destructor_fn_imps.hpp \ + container_base_dispatch.hpp \ + map_debug_base.hpp \ + priority_queue_base_dispatch.hpp \ + standard_policies.hpp \ + tree_trace_base.hpp \ + type_utils.hpp \ + types_traits.hpp +PBHDRS1:= ${PBHDRS1:S;^;${SRCDIR}/include/ext/pb_ds/detail/;} +PBHDRS1DIR= ${CXXINCLUDEDIR}/ext/pb_ds/detail + PBHDRS+= \ basic_tree_policy/basic_tree_policy_base.hpp \ basic_tree_policy/null_node_metadata.hpp \ ==== //depot/projects/dtrace7/src/gnu/usr.bin/cvs/contrib/Makefile#2 (text+ko) ==== @@ -1,4 +1,6 @@ -# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.18 2005/06/03 15:08:29 imp Exp $ +# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.18.10.1 2008/06/22 00:13:19 peter Exp $ + +.POSIX: .include "../Makefile.inc" @@ -20,12 +22,12 @@ .SUFFIXES: .sh .pl .in .sh: - cp $< $@ + cp ${.IMPSRC} ${.TARGET} .pl: - sed -e 's,xPERL_PATHx,$(PERLPATH),' $< > $@ + sed -e 's,xPERL_PATHx,$(PERLPATH),' ${.IMPSRC} > ${.TARGET} .in: - sed -e 's,@CSH@,/bin/csh,' -e 's,@PERL@,$(PERLPATH),' $< > $@ + sed -e 's,@CSH@,/bin/csh,' -e 's,@PERL@,$(PERLPATH),' ${.IMPSRC} > ${.TARGET} .include ==== //depot/projects/dtrace7/src/gnu/usr.bin/groff/tmac/mdoc.local#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.59.2.2 2008/06/04 06:05:12 ru Exp $ +.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.59.2.4 2008/06/27 04:42:19 jhb Exp $ .\" .\" %beginstrip% . ==== //depot/projects/dtrace7/src/include/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.276 2007/10/01 18:07:29 ru Exp $ +# $FreeBSD: src/include/Makefile,v 1.276.2.1 2008/06/27 04:42:19 jhb Exp $ # # Doing a "make install" builds /usr/include. @@ -59,6 +59,8 @@ ufs/ffs ufs/ufs #LSUBDIRS+= netatm/ipatm netatm/sigpvc netatm/spans netatm/uni +LSUBSUBDIRS= dev/mpt/mpilib + .if ${MACHINE_ARCH} == "powerpc" _dev_powermac_nvram= dev/powermac_nvram .endif @@ -72,7 +74,7 @@ .endif .if ${MK_BLUETOOTH} != "no" -LSUBSUBDIRS= netgraph/bluetooth/include +LSUBSUBDIRS+= netgraph/bluetooth/include .endif # XXX unconditionally needed by ==== //depot/projects/dtrace7/src/lib/libc/gen/valloc.3#2 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)valloc.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/gen/valloc.3,v 1.14 2007/03/28 18:55:44 jasone Exp $ +.\" $FreeBSD: src/lib/libc/gen/valloc.3,v 1.14.2.1 2008/06/24 21:00:48 wollman Exp $ .\" -.Dd September 13, 2005 +.Dd October 30, 2007 .Dt VALLOC 3 .Os .Sh NAME @@ -46,7 +46,6 @@ function is obsoleted by .Xr posix_memalign 3 , which can be used to request page-aligned allocations. -.Ef .Pp The .Fn valloc ==== //depot/projects/dtrace7/src/lib/libc/stdlib/malloc.c#3 (text+ko) ==== @@ -70,9 +70,9 @@ * | | 8 kB | * | | 12 kB | * | | ... | - * | | 1004 kB | * | | 1008 kB | * | | 1012 kB | + * | | 1016 kB | * |=====================================| * | Huge | 1 MB | * | | 2 MB | @@ -128,7 +128,7 @@ #define MALLOC_DSS #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.147.2.2 2008/03/07 22:39:38 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.147.2.3 2008/06/16 23:42:05 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -142,7 +142,6 @@ #include #include #include -#include #include #include /* Must come after several other sys/ includes. */ @@ -175,6 +174,8 @@ #endif #include +#include "rb.h" + #ifdef MALLOC_DEBUG /* Disable inlining to make debugging easier. */ # define inline @@ -213,6 +214,11 @@ # define SIZEOF_PTR_2POW 2 # define NO_TLS #endif +#ifdef __mips__ +# define QUANTUM_2POW_MIN 3 +# define SIZEOF_PTR_2POW 2 +# define NO_TLS +#endif #ifdef __powerpc__ # define QUANTUM_2POW_MIN 4 # define SIZEOF_PTR_2POW 2 @@ -439,10 +445,10 @@ typedef struct extent_node_s extent_node_t; struct extent_node_s { /* Linkage for the size/address-ordered tree. */ - RB_ENTRY(extent_node_s) link_szad; + rb_node(extent_node_t) link_szad; /* Linkage for the address-ordered tree. */ - RB_ENTRY(extent_node_s) link_ad; + rb_node(extent_node_t) link_ad; /* Pointer to the extent that this tree node is responsible for. */ void *addr; @@ -450,10 +456,7 @@ /* Total region size. */ size_t size; }; -typedef struct extent_tree_szad_s extent_tree_szad_t; -RB_HEAD(extent_tree_szad_s, extent_node_s); -typedef struct extent_tree_ad_s extent_tree_ad_t; -RB_HEAD(extent_tree_ad_s, extent_node_s); +typedef rb_tree(extent_node_t) extent_tree_t; /******************************************************************************/ /* @@ -479,8 +482,11 @@ /* Arena that owns the chunk. */ arena_t *arena; - /* Linkage for the arena's chunk tree. */ - RB_ENTRY(arena_chunk_s) link; + /* Linkage for the arena's chunks_all tree. */ + rb_node(arena_chunk_t) link_all; + + /* Linkage for the arena's chunks_dirty tree. */ + rb_node(arena_chunk_t) link_dirty; /* * Number of pages in use. This is maintained in order to make @@ -495,7 +501,7 @@ * Tree of extent nodes that are embedded in the arena chunk header * page(s). These nodes are used by arena_chunk_node_alloc(). */ - extent_tree_ad_t nodes; + extent_tree_t nodes; extent_node_t *nodes_past; /* @@ -505,13 +511,12 @@ */ arena_chunk_map_t map[1]; /* Dynamically sized. */ }; -typedef struct arena_chunk_tree_s arena_chunk_tree_t; -RB_HEAD(arena_chunk_tree_s, arena_chunk_s); +typedef rb_tree(arena_chunk_t) arena_chunk_tree_t; typedef struct arena_run_s arena_run_t; struct arena_run_s { /* Linkage for run trees. */ - RB_ENTRY(arena_run_s) link; + rb_node(arena_run_t) link; #ifdef MALLOC_DEBUG uint32_t magic; @@ -530,8 +535,7 @@ /* Bitmask of in-use regions (0: in use, 1: free). */ unsigned regs_mask[1]; /* Dynamically sized. */ }; -typedef struct arena_run_tree_s arena_run_tree_t; -RB_HEAD(arena_run_tree_s, arena_run_s); +typedef rb_tree(arena_run_t) arena_run_tree_t; struct arena_bin_s { /* @@ -583,15 +587,25 @@ arena_stats_t stats; #endif + /* Tree of all chunks this arena manages. */ + arena_chunk_tree_t chunks_all; + /* - * Tree of chunks this arena manages. + * Tree of dirty-page-containing chunks this arena manages. This tree + * is maintained in addition to chunks_all in order to make + * deallocation O(lg d), where 'd' is the size of chunks_dirty. + * + * Without this tree, deallocation would be O(a), where 'a' is the size + * of chunks_all. Since dirty pages are purged in descending memory + * order, it would not be difficult to trigger something approaching + * worst case behavior with a series of large deallocations. */ - arena_chunk_tree_t chunks; + arena_chunk_tree_t chunks_dirty; /* * In order to avoid rapid chunk allocation/deallocation when an arena * oscillates right on the cusp of needing a new chunk, cache the most - * recently freed chunk. The spare is left in the arena's chunk tree + * recently freed chunk. The spare is left in the arena's chunk trees * until it is deleted. * * There is one spare chunk per arena, rather than one spare total, in @@ -613,11 +627,11 @@ * using one set of nodes, since one is needed for first-best-fit run * allocation, and the other is needed for coalescing. */ - extent_tree_szad_t runs_avail_szad; - extent_tree_ad_t runs_avail_ad; + extent_tree_t runs_avail_szad; + extent_tree_t runs_avail_ad; /* Tree of this arena's allocated (in-use) runs. */ - extent_tree_ad_t runs_alloced_ad; + extent_tree_t runs_alloced_ad; #ifdef MALLOC_BALANCE /* @@ -694,7 +708,7 @@ static malloc_mutex_t huge_mtx; /* Tree of chunks that are stand-alone huge allocations. */ -static extent_tree_ad_t huge; +static extent_tree_t huge; #ifdef MALLOC_DSS /* @@ -715,8 +729,8 @@ * address space. Depending on function, different tree orderings are needed, * which is why there are two trees with the same contents. */ -static extent_tree_szad_t dss_chunks_szad; -static extent_tree_ad_t dss_chunks_ad; +static extent_tree_t dss_chunks_szad; +static extent_tree_t dss_chunks_ad; #endif #ifdef MALLOC_STATS @@ -1282,8 +1296,10 @@ malloc_mutex_lock(&base_mtx); /* Make sure there's enough space for the allocation. */ if ((uintptr_t)base_next_addr + csize > (uintptr_t)base_past_addr) { - if (base_pages_alloc(csize)) + if (base_pages_alloc(csize)) { + malloc_mutex_unlock(&base_mtx); return (NULL); + } } /* Allocate. */ ret = base_next_addr; @@ -1431,9 +1447,9 @@ return (ret); } -/* Generate red-black tree code for size/address-ordered extents. */ -RB_GENERATE_STATIC(extent_tree_szad_s, extent_node_s, link_szad, - extent_szad_comp) +/* Wrap red-black tree macros in functions. */ +rb_wrap(__unused static, extent_tree_szad_, extent_tree_t, extent_node_t, + link_szad, extent_szad_comp) static inline int extent_ad_comp(extent_node_t *a, extent_node_t *b) @@ -1444,8 +1460,9 @@ return ((a_addr > b_addr) - (a_addr < b_addr)); } -/* Generate red-black tree code for address-ordered extents. */ -RB_GENERATE_STATIC(extent_tree_ad_s, extent_node_s, link_ad, extent_ad_comp) +/* Wrap red-black tree macros in functions. */ +rb_wrap(__unused static, extent_tree_ad_, extent_tree_t, extent_node_t, link_ad, + extent_ad_comp) /* * End extent tree code. @@ -1511,6 +1528,13 @@ chunk_alloc_dss(size_t size) { + /* + * sbrk() uses a signed increment argument, so take care not to + * interpret a huge allocation request as a negative increment. + */ + if ((intptr_t)size < 0) + return (NULL); + malloc_mutex_lock(&dss_mtx); if (dss_prev != (void *)-1) { intptr_t incr; @@ -1561,14 +1585,14 @@ key.addr = NULL; key.size = size; malloc_mutex_lock(&dss_mtx); - node = RB_NFIND(extent_tree_szad_s, &dss_chunks_szad, &key); + node = extent_tree_szad_nsearch(&dss_chunks_szad, &key); if (node != NULL) { void *ret = node->addr; /* Remove node from the tree. */ - RB_REMOVE(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_szad_remove(&dss_chunks_szad, node); if (node->size == size) { - RB_REMOVE(extent_tree_ad_s, &dss_chunks_ad, node); + extent_tree_ad_remove(&dss_chunks_ad, node); base_node_dealloc(node); } else { /* @@ -1579,7 +1603,7 @@ assert(node->size > size); node->addr = (void *)((uintptr_t)node->addr + size); node->size -= size; - RB_INSERT(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_szad_insert(&dss_chunks_szad, node); } malloc_mutex_unlock(&dss_mtx); @@ -1719,7 +1743,7 @@ extent_node_t *node, *prev, key; key.addr = (void *)((uintptr_t)chunk + size); - node = RB_NFIND(extent_tree_ad_s, &dss_chunks_ad, &key); + node = extent_tree_ad_nsearch(&dss_chunks_ad, &key); /* Try to coalesce forward. */ if (node != NULL && node->addr == key.addr) { /* @@ -1727,10 +1751,10 @@ * not change the position within dss_chunks_ad, so only * remove/insert from/into dss_chunks_szad. */ - RB_REMOVE(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_szad_remove(&dss_chunks_szad, node); node->addr = chunk; node->size += size; - RB_INSERT(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_szad_insert(&dss_chunks_szad, node); } else { /* * Coalescing forward failed, so insert a new node. Drop @@ -1744,12 +1768,12 @@ return (NULL); node->addr = chunk; node->size = size; - RB_INSERT(extent_tree_ad_s, &dss_chunks_ad, node); - RB_INSERT(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_ad_insert(&dss_chunks_ad, node); + extent_tree_szad_insert(&dss_chunks_szad, node); } /* Try to coalesce backward. */ - prev = RB_PREV(extent_tree_ad_s, &dss_chunks_ad, node); + prev = extent_tree_ad_prev(&dss_chunks_ad, node); if (prev != NULL && (void *)((uintptr_t)prev->addr + prev->size) == chunk) { /* @@ -1757,13 +1781,13 @@ * not change the position within dss_chunks_ad, so only * remove/insert node from/into dss_chunks_szad. */ - RB_REMOVE(extent_tree_szad_s, &dss_chunks_szad, prev); - RB_REMOVE(extent_tree_ad_s, &dss_chunks_ad, prev); + extent_tree_szad_remove(&dss_chunks_szad, prev); + extent_tree_ad_remove(&dss_chunks_ad, prev); - RB_REMOVE(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_szad_remove(&dss_chunks_szad, node); node->addr = prev->addr; node->size += prev->size; - RB_INSERT(extent_tree_szad_s, &dss_chunks_szad, node); + extent_tree_szad_insert(&dss_chunks_szad, node); base_node_dealloc(prev); } @@ -1803,10 +1827,8 @@ dss_max = (void *)((intptr_t)dss_prev - (intptr_t)size); if (node != NULL) { - RB_REMOVE(extent_tree_szad_s, &dss_chunks_szad, - node); - RB_REMOVE(extent_tree_ad_s, &dss_chunks_ad, - node); + extent_tree_szad_remove(&dss_chunks_szad, node); + extent_tree_ad_remove(&dss_chunks_ad, node); base_node_dealloc(node); } malloc_mutex_unlock(&dss_mtx); @@ -1991,8 +2013,11 @@ return ((a_chunk > b_chunk) - (a_chunk < b_chunk)); } -/* Generate red-black tree code for arena chunks. */ -RB_GENERATE_STATIC(arena_chunk_tree_s, arena_chunk_s, link, arena_chunk_comp) +/* Wrap red-black tree macros in functions. */ +rb_wrap(__unused static, arena_chunk_tree_all_, arena_chunk_tree_t, + arena_chunk_t, link_all, arena_chunk_comp) +rb_wrap(__unused static, arena_chunk_tree_dirty_, arena_chunk_tree_t, + arena_chunk_t, link_dirty, arena_chunk_comp) static inline int arena_run_comp(arena_run_t *a, arena_run_t *b) @@ -2006,17 +2031,18 @@ return ((a_run > b_run) - (a_run < b_run)); } -/* Generate red-black tree code for arena runs. */ -RB_GENERATE_STATIC(arena_run_tree_s, arena_run_s, link, arena_run_comp) +/* Wrap red-black tree macros in functions. */ +rb_wrap(__unused static, arena_run_tree_, arena_run_tree_t, arena_run_t, link, + arena_run_comp) static extent_node_t * arena_chunk_node_alloc(arena_chunk_t *chunk) { extent_node_t *ret; - ret = RB_MIN(extent_tree_ad_s, &chunk->nodes); + ret = extent_tree_ad_first(&chunk->nodes); if (ret != NULL) - RB_REMOVE(extent_tree_ad_s, &chunk->nodes, ret); + extent_tree_ad_remove(&chunk->nodes, ret); else { ret = chunk->nodes_past; chunk->nodes_past = (extent_node_t *) @@ -2034,7 +2060,7 @@ { node->addr = (void *)node; - RB_INSERT(extent_tree_ad_s, &chunk->nodes, node); + extent_tree_ad_insert(&chunk->nodes, node); } static inline void * @@ -2205,18 +2231,19 @@ bool zero) { arena_chunk_t *chunk; - size_t run_ind, total_pages, need_pages, rem_pages, i; + size_t old_ndirty, run_ind, total_pages, need_pages, rem_pages, i; extent_node_t *nodeA, *nodeB, key; /* Insert a node into runs_alloced_ad for the first part of the run. */ chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(run); + old_ndirty = chunk->ndirty; nodeA = arena_chunk_node_alloc(chunk); nodeA->addr = run; nodeA->size = size; - RB_INSERT(extent_tree_ad_s, &arena->runs_alloced_ad, nodeA); + extent_tree_ad_insert(&arena->runs_alloced_ad, nodeA); key.addr = run; - nodeB = RB_FIND(extent_tree_ad_s, &arena->runs_avail_ad, &key); + nodeB = extent_tree_ad_search(&arena->runs_avail_ad, &key); assert(nodeB != NULL); run_ind = (unsigned)(((uintptr_t)run - (uintptr_t)chunk) @@ -2253,7 +2280,7 @@ } /* Keep track of trailing unused pages for later use. */ - RB_REMOVE(extent_tree_szad_s, &arena->runs_avail_szad, nodeB); + extent_tree_szad_remove(&arena->runs_avail_szad, nodeB); if (rem_pages > 0) { /* * Update nodeB in runs_avail_*. Its position within @@ -2261,14 +2288,16 @@ */ nodeB->addr = (void *)((uintptr_t)nodeB->addr + size); nodeB->size -= size; - RB_INSERT(extent_tree_szad_s, &arena->runs_avail_szad, nodeB); + extent_tree_szad_insert(&arena->runs_avail_szad, nodeB); } else { /* Remove nodeB from runs_avail_*. */ - RB_REMOVE(extent_tree_ad_s, &arena->runs_avail_ad, nodeB); + extent_tree_ad_remove(&arena->runs_avail_ad, nodeB); arena_chunk_node_dealloc(chunk, nodeB); } chunk->pages_used += need_pages; + if (chunk->ndirty == 0 && old_ndirty > 0) + arena_chunk_tree_dirty_remove(&arena->chunks_dirty, chunk); } static arena_chunk_t * @@ -2290,7 +2319,7 @@ chunk->arena = arena; - RB_INSERT(arena_chunk_tree_s, &arena->chunks, chunk); + arena_chunk_tree_all_insert(&arena->chunks_all, chunk); /* * Claim that no pages are in use, since the header is merely @@ -2310,7 +2339,7 @@ arena_chunk_header_npages)); /* Initialize the tree of unused extent nodes. */ - RB_INIT(&chunk->nodes); + extent_tree_ad_new(&chunk->nodes); chunk->nodes_past = (extent_node_t *)QUANTUM_CEILING( (uintptr_t)&chunk->map[chunk_npages]); } @@ -2320,8 +2349,8 @@ node->addr = (void *)((uintptr_t)chunk + (arena_chunk_header_npages << pagesize_2pow)); node->size = chunksize - (arena_chunk_header_npages << pagesize_2pow); - RB_INSERT(extent_tree_szad_s, &arena->runs_avail_szad, node); - RB_INSERT(extent_tree_ad_s, &arena->runs_avail_ad, node); + extent_tree_szad_insert(&arena->runs_avail_szad, node); + extent_tree_ad_insert(&arena->runs_avail_ad, node); return (chunk); } @@ -2332,9 +2361,13 @@ extent_node_t *node, key; if (arena->spare != NULL) { - RB_REMOVE(arena_chunk_tree_s, &chunk->arena->chunks, + arena_chunk_tree_all_remove(&chunk->arena->chunks_all, arena->spare); - arena->ndirty -= arena->spare->ndirty; + if (arena->spare->ndirty > 0) { + arena_chunk_tree_dirty_remove( + &chunk->arena->chunks_dirty, arena->spare); + arena->ndirty -= arena->spare->ndirty; + } chunk_dealloc((void *)arena->spare, chunksize); #ifdef MALLOC_STATS arena->stats.mapped -= chunksize; @@ -2344,15 +2377,15 @@ /* * Remove run from the runs trees, regardless of whether this chunk * will be cached, so that the arena does not use it. Dirty page - * flushing only uses the chunks tree, so leaving this chunk in that - * tree is sufficient for that purpose. + * flushing only uses the chunks_dirty tree, so leaving this chunk in + * the chunks_* trees is sufficient for that purpose. */ key.addr = (void *)((uintptr_t)chunk + (arena_chunk_header_npages << pagesize_2pow)); - node = RB_FIND(extent_tree_ad_s, &arena->runs_avail_ad, &key); + node = extent_tree_ad_search(&arena->runs_avail_ad, &key); assert(node != NULL); - RB_REMOVE(extent_tree_szad_s, &arena->runs_avail_szad, node); - RB_REMOVE(extent_tree_ad_s, &arena->runs_avail_ad, node); + extent_tree_szad_remove(&arena->runs_avail_szad, node); + extent_tree_ad_remove(&arena->runs_avail_ad, node); arena_chunk_node_dealloc(chunk, node); arena->spare = chunk; @@ -2372,7 +2405,7 @@ /* Search the arena's chunks for the lowest best fit. */ key.addr = NULL; key.size = size; - node = RB_NFIND(extent_tree_szad_s, &arena->runs_avail_szad, &key); + node = extent_tree_szad_nsearch(&arena->runs_avail_szad, &key); if (node != NULL) { run = (arena_run_t *)node->addr; arena_run_split(arena, run, size, small, zero); @@ -2396,13 +2429,21 @@ arena_purge(arena_t *arena) { arena_chunk_t *chunk; + size_t i, npages; #ifdef MALLOC_DEBUG size_t ndirty; ndirty = 0; - RB_FOREACH(chunk, arena_chunk_tree_s, &arena->chunks) { + rb_foreach_begin(arena_chunk_t, link_all, &arena->chunks_all, chunk) { + ndirty += chunk->ndirty; + } rb_foreach_end(arena_chunk_t, link_all, &arena->chunks_all, chunk) + assert(ndirty == arena->ndirty); + + ndirty = 0; + rb_foreach_begin(arena_chunk_t, link_dirty, &arena->chunks_dirty, + chunk) { ndirty += chunk->ndirty; - } + } rb_foreach_end(arena_chunk_t, link_dirty, &arena->chunks_dirty, chunk) assert(ndirty == arena->ndirty); #endif assert(arena->ndirty > opt_dirty_max); @@ -2413,46 +2454,47 @@ /* * Iterate downward through chunks until enough dirty memory has been + * purged. Terminate as soon as possible in order to minimize the + * number of system calls, even if a chunk has only been partially * purged. */ - RB_FOREACH_REVERSE(chunk, arena_chunk_tree_s, &arena->chunks) { - if (chunk->ndirty > 0) { - size_t i; + while (arena->ndirty > (opt_dirty_max >> 1)) { + chunk = arena_chunk_tree_dirty_last(&arena->chunks_dirty); + assert(chunk != NULL); - for (i = chunk_npages - 1; i >= - arena_chunk_header_npages; i--) { - if (chunk->map[i] & CHUNK_MAP_DIRTY) { - size_t npages; + for (i = chunk_npages - 1; chunk->ndirty > 0; i--) { + assert(i >= arena_chunk_header_npages); - chunk->map[i] = (CHUNK_MAP_LARGE | - CHUNK_MAP_POS_MASK); - chunk->ndirty--; - arena->ndirty--; - /* Find adjacent dirty run(s). */ - for (npages = 1; i > - arena_chunk_header_npages && - (chunk->map[i - 1] & - CHUNK_MAP_DIRTY); npages++) { - i--; - chunk->map[i] = (CHUNK_MAP_LARGE - | CHUNK_MAP_POS_MASK); - chunk->ndirty--; - arena->ndirty--; - } + if (chunk->map[i] & CHUNK_MAP_DIRTY) { + chunk->map[i] = (CHUNK_MAP_LARGE | + CHUNK_MAP_POS_MASK); + /* Find adjacent dirty run(s). */ + for (npages = 1; i > arena_chunk_header_npages + && (chunk->map[i - 1] & CHUNK_MAP_DIRTY); + npages++) { + i--; + chunk->map[i] = (CHUNK_MAP_LARGE + | CHUNK_MAP_POS_MASK); + } + chunk->ndirty -= npages; + arena->ndirty -= npages; - madvise((void *)((uintptr_t)chunk + (i - << pagesize_2pow)), pagesize * - npages, MADV_FREE); + madvise((void *)((uintptr_t)chunk + (i << + pagesize_2pow)), pagesize * npages, + MADV_FREE); #ifdef MALLOC_STATS - arena->stats.nmadvise++; - arena->stats.purged += npages; + arena->stats.nmadvise++; + arena->stats.purged += npages; #endif - if (arena->ndirty <= (opt_dirty_max >> - 1)) - return; - } + if (arena->ndirty <= (opt_dirty_max >> 1)) + break; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 03:17:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 682651065675; Sun, 29 Jun 2008 03:17: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 28087106564A for ; Sun, 29 Jun 2008 03:17:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 126458FC12 for ; Sun, 29 Jun 2008 03:17:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T3Hk1D062626 for ; Sun, 29 Jun 2008 03:17:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T3HkMC062624 for perforce@freebsd.org; Sun, 29 Jun 2008 03:17:46 GMT (envelope-from jb@freebsd.org) Date: Sun, 29 Jun 2008 03:17:46 GMT Message-Id: <200806290317.m5T3HkMC062624@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144257 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, 29 Jun 2008 03:17:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=144257 Change 144257 by jb@freebsd3 on 2008/06/29 03:17:01 IF6 Affected files ... .. //depot/projects/dtrace6/src/etc/mtree/BSD.include.dist#2 integrate .. //depot/projects/dtrace6/src/games/morse/morse.6#2 integrate .. //depot/projects/dtrace6/src/games/morse/morse.c#2 integrate .. //depot/projects/dtrace6/src/include/Makefile#4 integrate .. //depot/projects/dtrace6/src/libexec/rpc.rstatd/Makefile#2 integrate .. //depot/projects/dtrace6/src/libexec/rpc.rstatd/rstat_proc.c#2 integrate .. //depot/projects/dtrace6/src/share/man/man4/blackhole.4#2 integrate .. //depot/projects/dtrace6/src/share/man/man4/ciss.4#3 integrate .. //depot/projects/dtrace6/src/share/man/man4/cpufreq.4#2 integrate .. //depot/projects/dtrace6/src/share/mk/bsd.cpu.mk#3 integrate .. //depot/projects/dtrace6/src/share/sendmail/Makefile#2 integrate .. //depot/projects/dtrace6/src/sys/boot/i386/libi386/biossmap.c#3 integrate .. //depot/projects/dtrace6/src/sys/conf/files#7 integrate .. //depot/projects/dtrace6/src/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/dtrace6/src/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/dtrace6/src/sys/dev/ciss/ciss.c#4 integrate .. //depot/projects/dtrace6/src/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/mfi/mfi_ioctl.h#2 integrate .. //depot/projects/dtrace6/src/sys/dev/mfi/mfi_pci.c#2 integrate .. //depot/projects/dtrace6/src/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/dtrace6/src/sys/dev/mii/brgphyreg.h#2 integrate .. //depot/projects/dtrace6/src/sys/dev/mii/miidevs#5 integrate .. //depot/projects/dtrace6/src/sys/dev/mpt/mpt.h#2 integrate .. //depot/projects/dtrace6/src/sys/dev/mpt/mpt_user.c#1 branch .. //depot/projects/dtrace6/src/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/dtrace6/src/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_mib.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/dtrace6/src/sys/modules/mpt/Makefile#2 integrate .. //depot/projects/dtrace6/src/sys/pci/if_dc.c#3 integrate .. //depot/projects/dtrace6/src/sys/sys/mpt_ioctl.h#1 branch .. //depot/projects/dtrace6/src/sys/sys/sysctl.h#2 integrate .. //depot/projects/dtrace6/src/sys/vm/vm_kern.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/cksum/cksum.c#3 integrate .. //depot/projects/dtrace6/src/usr.bin/shar/shar.sh#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/COPYING#3 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/Makefile#3 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/bsdtar.1#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/bsdtar.c#3 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/bsdtar.h#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/bsdtar_platform.h#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/config_freebsd.h#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/matching.c#3 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/read.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/tree.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/tree.h#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/util.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/write.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/whereis/whereis.c#2 integrate .. //depot/projects/dtrace6/src/usr.sbin/config/main.c#2 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/Makefile#4 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/add/main.c#5 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/add/perform.c#4 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/create/main.c#4 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/lib/file.c#2 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/lib/lib.h#5 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/lib/url.c#3 integrate .. //depot/projects/dtrace6/src/usr.sbin/pkg_install/updating/main.c#3 integrate Differences ... ==== //depot/projects/dtrace6/src/etc/mtree/BSD.include.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.100.2.4 2006/10/09 21:00:16 emax Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.100.2.5 2008/06/27 04:46:06 jhb Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -48,6 +48,10 @@ .. iicbus .. + mpt + mpilib + .. + .. ofw .. pbio ==== //depot/projects/dtrace6/src/games/morse/morse.6#2 (text+ko) ==== @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)bcd.6 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/games/morse/morse.6,v 1.17 2005/06/07 21:43:16 ru Exp $ +.\" $FreeBSD: src/games/morse/morse.6,v 1.17.2.1 2008/06/19 23:40:32 scf Exp $ .\" .Dd June 7, 2005 .Dt MORSE 6 @@ -172,7 +172,8 @@ .Sh FILES .Bl -tag -width ".Pa /dev/speaker" -compact .It Pa /dev/speaker -speaker device file +.Xr speaker 4 +device file .El .Sh SEE ALSO .Xr speaker 4 @@ -180,7 +181,7 @@ Sound support for .Nm added by -.An Lyndon Nerenberg (VE7TCP/VE6BBM) Aq lyndon@orthanc.com . +.An Lyndon Nerenberg (VE6BBM) Aq lyndon@orthanc.ca . .Pp Ability to key an external device added by .An J\(:org Wunsch ==== //depot/projects/dtrace6/src/games/morse/morse.c#2 (text+ko) ==== @@ -32,8 +32,8 @@ */ /* - * Taught to send *real* morse by Lyndon Nerenberg (VE7TCP/VE6BBM) - * + * Taught to send *real* morse by Lyndon Nerenberg (VE6BBM) + * */ #ifndef lint @@ -47,7 +47,7 @@ static char sccsid[] = "@(#)morse.c 8.1 (Berkeley) 5/31/93"; #endif static const char rcsid[] = - "$FreeBSD: src/games/morse/morse.c,v 1.20.2.1 2005/11/16 10:50:10 ru Exp $"; + "$FreeBSD: src/games/morse/morse.c,v 1.20.2.2 2008/06/19 23:40:32 scf Exp $"; #endif /* not lint */ #include @@ -483,7 +483,8 @@ printf(" %s\n", s); } else { for (; *s; ++s) - printf(" %s", *s == '.' ? "dit" : "dah"); + printf(" %s", *s == '.' ? *(s + 1) == '\0' ? "dit" : + "di" : "dah"); printf("\n"); } } ==== //depot/projects/dtrace6/src/include/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.244.2.6 2006/10/09 21:00:17 emax Exp $ +# $FreeBSD: src/include/Makefile,v 1.244.2.7 2008/06/27 04:46:06 jhb Exp $ # # Doing a "make install" builds /usr/include. @@ -52,12 +52,14 @@ security/mac_mls security/mac_partition \ ufs/ffs ufs/ufs +LSUBSUBDIRS= dev/mpt/mpilib + .if !defined(NO_GPIB) _dev_ieee488= dev/ieee488 .endif .if !defined(NO_BLUETOOTH) -LSUBSUBDIRS= netgraph/bluetooth/include +LSUBSUBDIRS+= netgraph/bluetooth/include .endif # Define SHARED to indicate whether you want symbolic links to the system ==== //depot/projects/dtrace6/src/libexec/rpc.rstatd/Makefile#2 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/libexec/rpc.rstatd/Makefile,v 1.8 2004/02/04 10:20:43 ru Exp $ +# $FreeBSD: src/libexec/rpc.rstatd/Makefile,v 1.8.8.1 2008/06/27 02:20:37 jhb Exp $ PROG = rpc.rstatd SRCS = rstatd.c rstat_proc.c MAN = rpc.rstatd.8 -DPADD= ${LIBRPCSVC} ${LIBUTIL} ${LIBDEVSTAT} ${LIBKVM} -LDADD= -lrpcsvc -lutil -ldevstat -lkvm +DPADD= ${LIBRPCSVC} ${LIBUTIL} ${LIBDEVSTAT} +LDADD= -lrpcsvc -lutil -ldevstat .include ==== //depot/projects/dtrace6/src/libexec/rpc.rstatd/rstat_proc.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ static char sccsid[] = "from: @(#)rstat_proc.c 2.2 88/08/01 4.0 RPCSRC"; #endif static const char rcsid[] = - "$FreeBSD: src/libexec/rpc.rstatd/rstat_proc.c,v 1.25 2003/06/02 02:34:36 obrien Exp $"; + "$FreeBSD: src/libexec/rpc.rstatd/rstat_proc.c,v 1.25.10.1 2008/06/27 02:20:37 jhb Exp $"; #endif /* @@ -53,9 +53,7 @@ #include #include #include -#include #include -#include #include #include #include @@ -76,17 +74,8 @@ #undef if_collisions #include -struct nlist nl[] = { -#define X_CPTIME 0 - { "_cp_time" }, -#define X_CNT 1 - { "_cnt" }, - { "" }, -}; - int haveadisk(void); void updatexfers(int, int *); -void setup(void); int stats_service(void); extern int from_inetd; @@ -101,7 +90,6 @@ void updatestat(); static int stat_is_init = 0; -static kvm_t *kd; static int cp_time_xlat[RSTAT_CPUSTATES] = { CP_USER, CP_NICE, CP_SYS, CP_IDLE }; @@ -116,7 +104,6 @@ stat_init(void) { stat_is_init = 1; - setup(); alarm(0); updatestat(); (void) signal(SIGALRM, updatestat); @@ -194,7 +181,6 @@ #ifdef DEBUG fprintf(stderr, "about to closedown\n"); #endif - kvm_close(kd); if (from_inetd) exit(0); else { @@ -213,9 +199,9 @@ } hz = clockrate.hz; - if (kvm_read(kd, (long)nl[X_CPTIME].n_value, (char *)bsd_cp_time, sizeof(bsd_cp_time)) - != sizeof(bsd_cp_time)) { - syslog(LOG_ERR, "rstat: can't read cp_time from kmem"); + len = sizeof(bsd_cp_time); + if (sysctlbyname("kern.cp_time", bsd_cp_time, &len, 0, 0) < 0) { + syslog(LOG_ERR, "sysctl(kern.cp_time): %m"); exit(1); } for(i = 0; i < RSTAT_CPUSTATES ; i++) @@ -244,20 +230,23 @@ stats_all.s1.cp_time[1], stats_all.s1.cp_time[2], stats_all.s1.cp_time[3]); #endif - /* XXX - should use sysctl */ - if (kvm_read(kd, (long)nl[X_CNT].n_value, (char *)&cnt, sizeof cnt) != sizeof cnt) { - syslog(LOG_ERR, "rstat: can't read cnt from kmem"); - exit(1); - } - stats_all.s1.v_pgpgin = cnt.v_vnodepgsin; - stats_all.s1.v_pgpgout = cnt.v_vnodepgsout; - stats_all.s1.v_pswpin = cnt.v_swappgsin; - stats_all.s1.v_pswpout = cnt.v_swappgsout; - stats_all.s1.v_intr = cnt.v_intr; +#define FETCH_CNT(stat, cnt) do { \ + len = sizeof((stat)); \ + if (sysctlbyname("vm.stats." #cnt , &(stat), &len, 0, 0) < 0) { \ + syslog(LOG_ERR, "sysctl(vm.stats." #cnt "): %m"); \ + exit(1); \ + } \ +} while (0) + + FETCH_CNT(stats_all.s1.v_pgpgin, vm.v_vnodepgsin); + FETCH_CNT(stats_all.s1.v_pgpgout, vm.v_vnodepgsout); + FETCH_CNT(stats_all.s1.v_pswpin, vm.v_swappgsin); + FETCH_CNT(stats_all.s1.v_pswpout, vm.v_swappgsout); + FETCH_CNT(stats_all.s1.v_intr, sys.v_intr); + FETCH_CNT(stats_all.s2.v_swtch, sys.v_swtch); gettimeofday(&tm, (struct timezone *) 0); stats_all.s1.v_intr -= hz*(tm.tv_sec - btm.tv_sec) + hz*(tm.tv_usec - btm.tv_usec)/1000000; - stats_all.s2.v_swtch = cnt.v_swtch; /* update disk transfers */ updatexfers(RSTAT_DK_NDRIVE, stats_all.s1.dk_xfer); @@ -303,24 +292,6 @@ alarm(1); } -void -setup() -{ - char errbuf[_POSIX2_LINE_MAX]; - - int en; - - if ((kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, errbuf)) == NULL) { - syslog(LOG_ERR, "rpc.rstatd, %s", errbuf); - exit(1); - } - - if ((en = kvm_nlist(kd, nl)) != 0) { - syslog(LOG_ERR, "rstatd: Can't get namelist. %d", en); - exit (1); - } -} - /* * returns true if have a disk */ ==== //depot/projects/dtrace6/src/share/man/man4/blackhole.4#2 (text+ko) ==== @@ -11,8 +11,8 @@ .\" documentation and/or other materials provided with the distribution. .\" .\" -.\" $FreeBSD: src/share/man/man4/blackhole.4,v 1.12 2005/01/21 08:36:37 ru Exp $ -.Dd August 17, 1999 +.\" $FreeBSD: src/share/man/man4/blackhole.4,v 1.12.2.1 2008/06/20 22:52:33 danger Exp $ +.Dd January 1, 2007 .Dt BLACKHOLE 4 .Os .Sh NAME @@ -58,12 +58,11 @@ of service attack. .Sh WARNING The TCP and UDP blackhole features should not be regarded as a replacement -for -.Xr ipfw 8 -as a tool for firewalling a system. -In order to create a highly secure system, -.Xr ipfw 8 -should be used for protection, not the blackhole feature. +for firewall solutions. +Better security would consist of the +.Nm +.Xr sysctl 8 +MIB used in conjuction with one of the available firewall packages. .Pp This mechanism is not a substitute for securing a system. It should be used together with other security mechanisms. @@ -71,7 +70,9 @@ .Xr ip 4 , .Xr tcp 4 , .Xr udp 4 , +.Xr ipf 8 , .Xr ipfw 8 , +.Xr pfctl 8 , .Xr sysctl 8 .Sh HISTORY The TCP and UDP ==== //depot/projects/dtrace6/src/share/man/man4/ciss.4#3 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/share/man/man4/ciss.4,v 1.11.2.4 2008/06/10 18:31:19 ps Exp $ +.\" $FreeBSD: src/share/man/man4/ciss.4,v 1.11.2.7 2008/06/25 09:24:35 peter Exp $ .\" Written by Tom Rhodes .\" This file is in the public domain. .\" ==== //depot/projects/dtrace6/src/share/man/man4/cpufreq.4#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cpufreq.4,v 1.10.2.4 2006/06/19 04:44:20 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/cpufreq.4,v 1.10.2.5 2008/06/23 08:06:55 danger Exp $ .\" .Dd March 03, 2006 .Dt CPUFREQ 4 @@ -286,6 +286,7 @@ .Dv CPUFREQ_VAL_UNKNOWN . .Sh SEE ALSO .Xr acpi 4 , +.Xr powerd 8 , .Xr sysctl 8 .Sh AUTHORS .An Nate Lawson ==== //depot/projects/dtrace6/src/share/mk/bsd.cpu.mk#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.48.2.5 2008/03/17 18:08:45 jhb Exp $ +# $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.48.2.6 2008/06/26 05:46:11 ale Exp $ # Set default CPU compile flags and baseline CPUTYPE for each arch. The # compile flags must support the minimum CPU type for each architecture but @@ -64,10 +64,10 @@ # after /etc/make.conf so it can react to the local value of CPUTYPE # defined therein. Consult: # http://gcc.gnu.org/onlinedocs/gcc/DEC-Alpha-Options.html -# http://gcc.gnu.org/onlinedocs/gcc/IA-64-Options.html -# http://gcc.gnu.org/onlinedocs/gcc/RS-6000-and-PowerPC-Options.html +# http://gcc.gnu.org/onlinedocs/gcc/IA_002d64-Options.html +# http://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html # http://gcc.gnu.org/onlinedocs/gcc/SPARC-Options.html -# http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86-64-Options.html +# http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html . if ${MACHINE_ARCH} == "i386" . if ${CPUTYPE} == "crusoe" ==== //depot/projects/dtrace6/src/share/sendmail/Makefile#2 (text+ko) ==== @@ -1,11 +1,11 @@ -# $FreeBSD: src/share/sendmail/Makefile,v 1.10 2004/12/21 08:46:54 ru Exp $ +# $FreeBSD: src/share/sendmail/Makefile,v 1.10.2.2 2008/06/25 09:29:46 peter Exp $ # # Doing a make install builds /usr/share/sendmail/ SENDMAIL_DIR=${.CURDIR}/../../contrib/sendmail CFDIR= cf -CFDIRS!= (cd ${SENDMAIL_DIR}; find -L ${CFDIR} \( -name CVS -prune \) -o -type d -print) -CFFILES!= (cd ${SENDMAIL_DIR}; find -L ${CFDIR} \( -name CVS -prune \) -o -type f -print) +CFDIRS!= (cd ${SENDMAIL_DIR}; find -L ${CFDIR} \( \( -name CVS -o -name .svn \) -prune \) -o -type d -print) +CFFILES!= (cd ${SENDMAIL_DIR}; find -L ${CFDIR} \( \( -name CVS -o -name .svn \) -prune \) -o -type f -print) DDIR= ${DESTDIR}/usr/share/sendmail ==== //depot/projects/dtrace6/src/sys/boot/i386/libi386/biossmap.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biossmap.c,v 1.3.2.3 2008/03/21 15:34:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biossmap.c,v 1.3.2.4 2008/06/27 01:00:08 jhb Exp $"); /* * Obtain memory configuration information from the BIOS @@ -39,7 +39,10 @@ #include "libi386.h" #include "btxv86.h" -static struct bios_smap smap; +static struct { + struct bios_smap _smap_entry; + char pad[8]; /* Bad BIOS writer, no cookie! */ +} smap; static struct bios_smap *smapbase; static int smaplen; ==== //depot/projects/dtrace6/src/sys/conf/files#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1031.2.73 2008/04/24 10:46:18 dfr Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1031.2.74 2008/06/27 04:46:06 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -798,6 +798,7 @@ dev/mpt/mpt_debug.c optional mpt dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt +dev/mpt/mpt_user.c optional mpt dev/msk/if_msk.c optional msk dev/my/if_my.c optional my dev/ncv/ncr53c500.c optional ncv ==== //depot/projects/dtrace6/src/sys/dev/bge/if_bge.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.27 2008/05/14 21:22:17 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.31 2008/06/27 03:35:48 jhb Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -106,6 +106,13 @@ #include "miidevs.h" #include +#ifdef __sparc64__ +#include +#include +#include +#include +#endif + #include #include @@ -189,6 +196,8 @@ { BCOM_VENDORID, BCOM_DEVICEID_BCM5901 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5901A2 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5903M }, + { BCOM_VENDORID, BCOM_DEVICEID_BCM5906 }, + { BCOM_VENDORID, BCOM_DEVICEID_BCM5906M }, { SK_VENDORID, SK_DEVICEID_ALTIMA }, @@ -266,6 +275,8 @@ { BGE_CHIPID_BCM5787_A0, "BCM5754/5787 A0" }, { BGE_CHIPID_BCM5787_A1, "BCM5754/5787 A1" }, { BGE_CHIPID_BCM5787_A2, "BCM5754/5787 A2" }, + { BGE_CHIPID_BCM5906_A1, "BCM5906 A1" }, + { BGE_CHIPID_BCM5906_A2, "BCM5906 A2" }, { 0, NULL } }; @@ -288,6 +299,7 @@ { BGE_ASICREV_BCM5755, "unknown BCM5755" }, /* 5754 and 5787 share the same ASIC ID */ { BGE_ASICREV_BCM5787, "unknown BCM5754/5787" }, + { BGE_ASICREV_BCM5906, "unknown BCM5906" }, { 0, NULL } }; @@ -300,6 +312,9 @@ const struct bge_revision * bge_lookup_rev(uint32_t); const struct bge_vendor * bge_lookup_vendor(uint16_t); + +typedef int (*bge_eaddr_fcn_t)(struct bge_softc *, uint8_t[]); + static int bge_probe(device_t); static int bge_attach(device_t); static int bge_detach(device_t); @@ -310,6 +325,12 @@ static int bge_dma_alloc(device_t); static void bge_dma_free(struct bge_softc *); +static int bge_get_eaddr_fw(struct bge_softc *sc, uint8_t ether_addr[]); +static int bge_get_eaddr_mem(struct bge_softc *, uint8_t[]); +static int bge_get_eaddr_nvram(struct bge_softc *, uint8_t[]); +static int bge_get_eaddr_eeprom(struct bge_softc *, uint8_t[]); +static int bge_get_eaddr(struct bge_softc *, uint8_t[]); + static void bge_txeof(struct bge_softc *); static void bge_rxeof(struct bge_softc *); @@ -332,6 +353,9 @@ static int bge_ifmedia_upd(struct ifnet *); static void bge_ifmedia_sts(struct ifnet *, struct ifmediareq *); +static uint8_t bge_nvram_getbyte(struct bge_softc *, int, uint8_t *); +static int bge_read_nvram(struct bge_softc *, caddr_t, int, int); + static uint8_t bge_eeprom_getbyte(struct bge_softc *, int, uint8_t *); static int bge_read_eeprom(struct bge_softc *, caddr_t, int, int); @@ -350,8 +374,10 @@ static int bge_chipinit(struct bge_softc *); static int bge_blockinit(struct bge_softc *); +static int bge_has_eaddr(struct bge_softc *); static uint32_t bge_readmem_ind(struct bge_softc *, int); static void bge_writemem_ind(struct bge_softc *, int, int); +static void bge_writembx(struct bge_softc *, int, int); #ifdef notdef static uint32_t bge_readreg_ind(struct bge_softc *, int); #endif @@ -425,6 +451,50 @@ SYSCTL_INT(_hw_bge, OID_AUTO, allow_asf, CTLFLAG_RD, &bge_allow_asf, 0, "Allow ASF mode if available"); +#define SPARC64_BLADE_1500_MODEL "SUNW,Sun-Blade-1500" +#define SPARC64_BLADE_1500_PATH_BGE "/pci@1f,700000/network@2" +#define SPARC64_BLADE_2500_MODEL "SUNW,Sun-Blade-2500" +#define SPARC64_BLADE_2500_PATH_BGE "/pci@1c,600000/network@3" +#define SPARC64_OFW_SUBVENDOR "subsystem-vendor-id" + +static int +bge_has_eaddr(struct bge_softc *sc) +{ +#ifdef __sparc64__ + char buf[sizeof(SPARC64_BLADE_1500_PATH_BGE)]; + device_t dev; + uint32_t subvendor; + + dev = sc->bge_dev; + + /* + * The on-board BGEs found in sun4u machines aren't fitted with + * an EEPROM which means that we have to obtain the MAC address + * via OFW and that some tests will always fail. We distinguish + * such BGEs by the subvendor ID, which also has to be obtained + * from OFW instead of the PCI configuration space as the latter + * indicates Broadcom as the subvendor of the netboot interface. + * For early Blade 1500 and 2500 we even have to check the OFW + * device path as the subvendor ID always defaults to Broadcom + * there. + */ + if (OF_getprop(ofw_bus_get_node(dev), SPARC64_OFW_SUBVENDOR, + &subvendor, sizeof(subvendor)) == sizeof(subvendor) && + subvendor == SUN_VENDORID) + return (0); + memset(buf, 0, sizeof(buf)); + if (OF_package_to_path(ofw_bus_get_node(dev), buf, sizeof(buf)) > 0) { + if (strcmp(sparc64_model, SPARC64_BLADE_1500_MODEL) == 0 && + strcmp(buf, SPARC64_BLADE_1500_PATH_BGE) == 0) + return (0); + if (strcmp(sparc64_model, SPARC64_BLADE_2500_MODEL) == 0 && + strcmp(buf, SPARC64_BLADE_2500_PATH_BGE) == 0) + return (0); + } +#endif + return (1); +} + static uint32_t bge_readmem_ind(struct bge_softc *sc, int off) { @@ -481,6 +551,15 @@ CSR_WRITE_4(sc, off, val); } +static void +bge_writembx(struct bge_softc *sc, int off, int val) +{ + if (sc->bge_asicrev == BGE_ASICREV_BCM5906) + off += BGE_LPMBX_IRQ0_HI - BGE_MBX_IRQ0_HI; + + CSR_WRITE_4(sc, off, val); +} + /* * Map a single buffer address. */ @@ -503,6 +582,78 @@ ctx->bge_busaddr = segs->ds_addr; } +static uint8_t +bge_nvram_getbyte(struct bge_softc *sc, int addr, uint8_t *dest) +{ + uint32_t access, byte = 0; + int i; + + /* Lock. */ + CSR_WRITE_4(sc, BGE_NVRAM_SWARB, BGE_NVRAMSWARB_SET1); + for (i = 0; i < 8000; i++) { + if (CSR_READ_4(sc, BGE_NVRAM_SWARB) & BGE_NVRAMSWARB_GNT1) + break; + DELAY(20); + } + if (i == 8000) + return (1); + + /* Enable access. */ + access = CSR_READ_4(sc, BGE_NVRAM_ACCESS); + CSR_WRITE_4(sc, BGE_NVRAM_ACCESS, access | BGE_NVRAMACC_ENABLE); + + CSR_WRITE_4(sc, BGE_NVRAM_ADDR, addr & 0xfffffffc); + CSR_WRITE_4(sc, BGE_NVRAM_CMD, BGE_NVRAM_READCMD); + for (i = 0; i < BGE_TIMEOUT * 10; i++) { + DELAY(10); + if (CSR_READ_4(sc, BGE_NVRAM_CMD) & BGE_NVRAMCMD_DONE) { + DELAY(10); + break; + } + } + + if (i == BGE_TIMEOUT * 10) { + if_printf(sc->bge_ifp, "nvram read timed out\n"); + return (1); + } + + /* Get result. */ + byte = CSR_READ_4(sc, BGE_NVRAM_RDDATA); + + *dest = (bswap32(byte) >> ((addr % 4) * 8)) & 0xFF; + + /* Disable access. */ + CSR_WRITE_4(sc, BGE_NVRAM_ACCESS, access); + + /* Unlock. */ + CSR_WRITE_4(sc, BGE_NVRAM_SWARB, BGE_NVRAMSWARB_CLR1); + CSR_READ_4(sc, BGE_NVRAM_SWARB); + + return (0); +} + +/* + * Read a sequence of bytes from NVRAM. + */ +static int +bge_read_nvram(struct bge_softc *sc, caddr_t dest, int off, int cnt) +{ + int err = 0, i; + uint8_t byte = 0; + + if (sc->bge_asicrev != BGE_ASICREV_BCM5906) + return (1); + + for (i = 0; i < cnt; i++) { + err = bge_nvram_getbyte(sc, off + i, &byte); + if (err) + break; + *(dest + i) = byte; + } + + return (err ? 1 : 0); +} + /* * Read a byte of data stored in the EEPROM at address 'addr.' The * BCM570x supports both the traditional bitbang interface and an @@ -536,7 +687,7 @@ break; } - if (i == BGE_TIMEOUT) { + if (i == BGE_TIMEOUT * 10) { device_printf(sc->bge_dev, "EEPROM read timed out\n"); return (1); } @@ -600,17 +751,21 @@ BGE_MIPHY(phy) | BGE_MIREG(reg)); for (i = 0; i < BGE_TIMEOUT; i++) { + DELAY(10); val = CSR_READ_4(sc, BGE_MI_COMM); if (!(val & BGE_MICOMM_BUSY)) break; } if (i == BGE_TIMEOUT) { - device_printf(sc->bge_dev, "PHY read timed out\n"); + device_printf(sc->bge_dev, + "PHY read timed out (phy %d, reg %d, val 0x%08x)\n", + phy, reg, val); val = 0; goto done; } + DELAY(5); val = CSR_READ_4(sc, BGE_MI_COMM); done: @@ -634,6 +789,10 @@ sc = device_get_softc(dev); + if (sc->bge_asicrev == BGE_ASICREV_BCM5906 && + (reg == BRGPHY_MII_1000CTL || reg == BRGPHY_MII_AUXCTL)) + return(0); + /* Reading with autopolling on may trigger PCI errors */ autopoll = CSR_READ_4(sc, BGE_MI_MODE); if (autopoll & BGE_MIMODE_AUTOPOLL) { @@ -645,19 +804,26 @@ BGE_MIPHY(phy) | BGE_MIREG(reg) | val); for (i = 0; i < BGE_TIMEOUT; i++) { - if (!(CSR_READ_4(sc, BGE_MI_COMM) & BGE_MICOMM_BUSY)) + DELAY(10); + if (!(CSR_READ_4(sc, BGE_MI_COMM) & BGE_MICOMM_BUSY)) { + DELAY(5); + CSR_READ_4(sc, BGE_MI_COMM); /* dummy read */ break; + } } + if (i == BGE_TIMEOUT) { + device_printf(sc->bge_dev, + "PHY write timed out (phy %d, reg %d, val %d)\n", + phy, reg, val); + return (0); + } + if (autopoll & BGE_MIMODE_AUTOPOLL) { BGE_SETBIT(sc, BGE_MI_MODE, BGE_MIMODE_AUTOPOLL); DELAY(40); } - if (i == BGE_TIMEOUT) { - device_printf(sc->bge_dev, "PHY read timed out\n"); - return (0); - } return (0); } @@ -833,7 +999,7 @@ BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); sc->bge_std = i - 1; - CSR_WRITE_4(sc, BGE_MBX_RX_STD_PROD_LO, sc->bge_std); + bge_writembx(sc, BGE_MBX_RX_STD_PROD_LO, sc->bge_std); return (0); } @@ -880,7 +1046,7 @@ BGE_RCB_FLAG_USE_EXT_RX_BD); CSR_WRITE_4(sc, BGE_RX_JUMBO_RCB_MAXLEN_FLAGS, rcb->bge_maxlen_flags); - CSR_WRITE_4(sc, BGE_MBX_RX_JUMBO_PROD_LO, sc->bge_jumbo); + bge_writembx(sc, BGE_MBX_RX_JUMBO_PROD_LO, sc->bge_jumbo); return (0); } @@ -936,17 +1102,17 @@ /* Initialize transmit producer index for host-memory send ring. */ sc->bge_tx_prodidx = 0; - CSR_WRITE_4(sc, BGE_MBX_TX_HOST_PROD0_LO, sc->bge_tx_prodidx); + bge_writembx(sc, BGE_MBX_TX_HOST_PROD0_LO, sc->bge_tx_prodidx); /* 5700 b2 errata */ if (sc->bge_chiprev == BGE_CHIPREV_5700_BX) - CSR_WRITE_4(sc, BGE_MBX_TX_HOST_PROD0_LO, sc->bge_tx_prodidx); + bge_writembx(sc, BGE_MBX_TX_HOST_PROD0_LO, sc->bge_tx_prodidx); /* NIC-memory send ring not used; initialize to zero. */ - CSR_WRITE_4(sc, BGE_MBX_TX_NIC_PROD0_LO, 0); + bge_writembx(sc, BGE_MBX_TX_NIC_PROD0_LO, 0); /* 5700 b2 errata */ if (sc->bge_chiprev == BGE_CHIPREV_5700_BX) - CSR_WRITE_4(sc, BGE_MBX_TX_NIC_PROD0_LO, 0); + bge_writembx(sc, BGE_MBX_TX_NIC_PROD0_LO, 0); return (0); } @@ -1097,9 +1263,12 @@ /* * Check the 'ROM failed' bit on the RX CPU to see if - * self-tests passed. + * self-tests passed. Skip this check when there's no + * chip containing the Ethernet address fitted, since + * in that case it will always fail. */ - if (CSR_READ_4(sc, BGE_RXCPU_MODE) & BGE_RXCPUMODE_ROMFAIL) { + if ((sc->bge_flags & BGE_FLAG_EADDR) && + CSR_READ_4(sc, BGE_RXCPU_MODE) & BGE_RXCPUMODE_ROMFAIL) { device_printf(sc->bge_dev, "RX CPU self-diagnostics failed!\n"); return (ENODEV); } @@ -1209,6 +1378,16 @@ /* Set the timer prescaler (always 66Mhz) */ CSR_WRITE_4(sc, BGE_MISC_CFG, BGE_32BITTIME_66MHZ); + /* XXX: The Linux tg3 driver does this at the start of brgphy_reset. */ + if (sc->bge_asicrev == BGE_ASICREV_BCM5906) { + DELAY(40); /* XXX */ + + /* Put PHY into ready state */ + BGE_CLRBIT(sc, BGE_MISC_CFG, BGE_MISCCFG_EPHY_IDDQ); + CSR_READ_4(sc, BGE_MISC_CFG); /* Flush */ + DELAY(40); + } + return (0); } @@ -1246,14 +1425,19 @@ } /* Configure mbuf pool watermarks */ - if (BGE_IS_5705_PLUS(sc)) { + if (!BGE_IS_5705_PLUS(sc)) { + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_READDMA_LOWAT, 0x50); + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_MACRX_LOWAT, 0x20); + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_HIWAT, 0x60); + } else if (sc->bge_asicrev == BGE_ASICREV_BCM5906) { + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_READDMA_LOWAT, 0x0); + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_MACRX_LOWAT, 0x04); + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_HIWAT, 0x10); + } else { CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_READDMA_LOWAT, 0x0); CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_MACRX_LOWAT, 0x10); - } else { - CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_READDMA_LOWAT, 0x50); - CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_MACRX_LOWAT, 0x20); + CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_HIWAT, 0x60); } - CSR_WRITE_4(sc, BGE_BMAN_MBUFPOOL_HIWAT, 0x60); /* Configure DMA resource watermarks */ CSR_WRITE_4(sc, BGE_BMAN_DMA_DESCPOOL_LOWAT, 5); @@ -1266,9 +1450,9 @@ /* Poll for buffer manager start indication */ for (i = 0; i < BGE_TIMEOUT; i++) { + DELAY(10); if (CSR_READ_4(sc, BGE_BMAN_MODE) & BGE_BMANMODE_ENABLE) break; - DELAY(10); } if (i == BGE_TIMEOUT) { @@ -1284,9 +1468,9 @@ /* Wait until queue initialization is complete */ for (i = 0; i < BGE_TIMEOUT; i++) { + DELAY(10); if (CSR_READ_4(sc, BGE_FTQ_RESET) == 0) break; - DELAY(10); } if (i == BGE_TIMEOUT) { @@ -1359,6 +1543,9 @@ * requirement of all 575x family chips. The Linux driver sets * the lower threshold for all 5705 family chips as well, but there * are reports that it might not need to be so strict. + * + * XXX Linux does some extra fiddling here for the 5906 parts as + * well. */ if (BGE_IS_5705_PLUS(sc)) val = 8; @@ -1400,15 +1587,15 @@ BGE_RCB_MAXLEN_FLAGS(sc->bge_return_ring_cnt, BGE_RCB_FLAG_RING_DISABLED)); RCB_WRITE_4(sc, vrcb, bge_nicaddr, 0); - CSR_WRITE_4(sc, BGE_MBX_RX_CONS0_LO + + bge_writembx(sc, BGE_MBX_RX_CONS0_LO + (i * (sizeof(uint64_t))), 0); vrcb += sizeof(struct bge_rcb); } /* Initialize RX ring indexes */ - CSR_WRITE_4(sc, BGE_MBX_RX_STD_PROD_LO, 0); - CSR_WRITE_4(sc, BGE_MBX_RX_JUMBO_PROD_LO, 0); - CSR_WRITE_4(sc, BGE_MBX_RX_MINI_PROD_LO, 0); + bge_writembx(sc, BGE_MBX_RX_STD_PROD_LO, 0); + bge_writembx(sc, BGE_MBX_RX_JUMBO_PROD_LO, 0); + bge_writembx(sc, BGE_MBX_RX_MINI_PROD_LO, 0); /* * Set up RX return ring 0 @@ -1455,9 +1642,9 @@ /* Poll to make sure it's shut down. */ for (i = 0; i < BGE_TIMEOUT; i++) { + DELAY(10); if (!(CSR_READ_4(sc, BGE_HCC_MODE) & BGE_HCCMODE_ENABLE)) break; - DELAY(10); } if (i == BGE_TIMEOUT) { @@ -2161,9 +2348,8 @@ struct ifnet *ifp; struct bge_softc *sc; uint32_t hwcfg = 0; - uint32_t mac_tmp = 0; - u_char eaddr[6]; - int error = 0, rid, trys, reg; + u_char eaddr[ETHER_ADDR_LEN]; + int error, reg, rid, trys; sc = device_get_softc(dev); sc->bge_dev = dev; @@ -2194,6 +2380,19 @@ sc->bge_asicrev = BGE_ASICREV(sc->bge_chipid); sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid); + /* + * Don't enable Ethernet@WireSpeed for the 5700, 5906, or the + * 5705 A0 and A1 chips. + */ + if (sc->bge_asicrev != BGE_ASICREV_BCM5700 && + sc->bge_asicrev != BGE_ASICREV_BCM5906 && + sc->bge_chipid != BGE_CHIPID_BCM5705_A0 && + sc->bge_chipid != BGE_CHIPID_BCM5705_A1) + sc->bge_flags |= BGE_FLAG_WIRESPEED; + + if (bge_has_eaddr(sc)) + sc->bge_flags |= BGE_FLAG_EADDR; + /* Save chipset family. */ switch (sc->bge_asicrev) { case BGE_ASICREV_BCM5700: @@ -2211,6 +2410,7 @@ case BGE_ASICREV_BCM5752: case BGE_ASICREV_BCM5755: case BGE_ASICREV_BCM5787: + case BGE_ASICREV_BCM5906: sc->bge_flags |= BGE_FLAG_575X_PLUS; /* FALLTHRU */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 06:03:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9AEF9106567B; Sun, 29 Jun 2008 06:03:33 +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 5CB30106566B for ; Sun, 29 Jun 2008 06:03:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4D8C78FC0C for ; Sun, 29 Jun 2008 06:03:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T63Xe7088226 for ; Sun, 29 Jun 2008 06:03:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T63XoZ088224 for perforce@freebsd.org; Sun, 29 Jun 2008 06:03:33 GMT (envelope-from jb@freebsd.org) Date: Sun, 29 Jun 2008 06:03:33 GMT Message-Id: <200806290603.m5T63XoZ088224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144259 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, 29 Jun 2008 06:03:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=144259 Change 144259 by jb@freebsd3 on 2008/06/29 06:02:47 IFC Affected files ... .. //depot/projects/dtrace/src/sys/netinet6/in6_rmx.c#10 integrate Differences ... ==== //depot/projects/dtrace/src/sys/netinet6/in6_rmx.c#10 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet6/in6_rmx.c,v 1.22 2008/06/29 00:17:45 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_rmx.c,v 1.23 2008/06/29 04:33:45 kan Exp $"); #include #include @@ -321,8 +321,8 @@ } #define RTQ_TIMEOUT 60*10 /* run no less than once every ten minutes */ -static int rtq_timeoutt = RTQ_TIMEOUT; -static struct callout rtq-timer6; +static int rtq_timeout6 = RTQ_TIMEOUT; +static struct callout rtq_timer6; static void in6_rtqtimo(void *rock) @@ -370,7 +370,7 @@ atv.tv_usec = 0; atv.tv_sec = arg.nextstop - time_uptime; - callout_reset(&rtq-timer6, tvtohz(&atv), in6_rtqtimo, rock); + callout_reset(&rtq_timer6, tvtohz(&atv), in6_rtqtimo, rock); } /* @@ -469,7 +469,7 @@ rnh->rnh_addaddr = in6_addroute; rnh->rnh_matchaddr = in6_matroute; rnh->rnh_close = in6_clsroute; - callout_init(&rtq-timer6, CALLOUT_MPSAFE); + callout_init(&rtq_timer6, CALLOUT_MPSAFE); in6_rtqtimo(rnh); /* kick off timeout first time */ callout_init(&rtq_mtutimer, CALLOUT_MPSAFE); in6_mtutimo(rnh); /* kick off timeout first time */ From owner-p4-projects@FreeBSD.ORG Sun Jun 29 07:31:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75A201065674; Sun, 29 Jun 2008 07:31: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 36E44106566B for ; Sun, 29 Jun 2008 07:31:04 +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 23E208FC18 for ; Sun, 29 Jun 2008 07:31:04 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T7V4BQ096126 for ; Sun, 29 Jun 2008 07:31:04 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T7V3ZM096124 for perforce@freebsd.org; Sun, 29 Jun 2008 07:31:03 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 29 Jun 2008 07:31:03 GMT Message-Id: <200806290731.m5T7V3ZM096124@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 144260 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, 29 Jun 2008 07:31:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=144260 Change 144260 by pgj@disznohal on 2008/06/29 07:30:05 Major www update: - MFen: 1.3 -> 1.5 community.xsl 1.163 -> 1.164 index.xsl 1.3 -> 1.4 community/irc.sgml 1.8 -> 1.15 community/mailinglists.sgml 1.13 -> 1.21 docproj/docproj.sgml 1.35 -> 1.38 docs/books.sgml 1.48 -> 1.50 news/news.sgml 1.6 -> 1.7 platforms/alpha.sgml 1.21 -> 1.22 platforms/amd64.sgml 1.11 -> 1.12 platforms/arm.sgml 1.6 -> 1.7 platforms/mips.sgml 1.16 -> 1.17 platforms/pc98.sgml 1.20 -> 1.21 platforms/ppc.sgml 1.28 -> 1.30 platforms/sparc.sgml 1.7 -> 1.8 platforms/sun4v.sgml 1.9 -> 1.10 platforms/xbox.sgml 1.111 -> 1.112 search/search.sgml 1.18 -> 1.21 share/sgml/navibar.l10n.ent 1.4 -> 1.5 support/bugreports.sgml - Fix '%SOURCE%' and '%SRCID%' tags - Fix translation, composition, typos Affected files ... .. //depot/projects/docproj_hu/www/hu/community.xsl#3 edit .. //depot/projects/docproj_hu/www/hu/community/irc.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/docs/books.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/index.xsl#5 edit .. //depot/projects/docproj_hu/www/hu/news/news.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/alpha.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/amd64.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/arm.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/ia64/machines.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/mips.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/pc98.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/ppc.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/platforms/sparc.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/sun4v.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/platforms/xbox.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/search/search.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#3 edit .. //depot/projects/docproj_hu/www/hu/share/sgml/libcommon.xsl#3 edit .. //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#5 edit .. //depot/projects/docproj_hu/www/hu/support/bugreports.sgml#3 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/community.xsl#3 (text+ko) ==== @@ -11,7 +11,7 @@ &header3; -

A FreeBSD jól támogatott az aktív - felhasználói közössége - által.

+

A &os; mögött egy aktív + fejlesztõi közösség áll.

Több mint száz levelezési + href="&base;/community/mailinglists.html">levelezési lista és számos hírcsoport + href="&base;/community/newsgroups.html">hírcsoport áll rendelkezésre. Ezenkívül - közül felhasználói + href="&base;/usergroups.html">felhasználói csoport létezik a világ országában, és rendelkezünk egy aktív IRC + href="&base;/community/irc.html">IRC közösséggel is. Ezenkívül még sok fejlesztõ ír blogot a - FreeBSD-vel kapcsolatos - munkájáról.

+ href="http://planet.freebsdish.org">blogot a + &os;-vel kapcsolatos munkájáról. A + fejlesztõk és a jelentõsebb + támogatók továbbá egy wikit is + fenntartanak, ahol a &os; fejlesztésével + és a hozzákapcsolódó + projektekrõl olvashatunk. Emellett a &os;-vel + még számos ismertségi + hálózaton is + találkozhatunk.

-

Tavaly a FreeBSD-vel kapcsolatban Tavaly a &os;-vel kapcsolatban esemény zajlott le a világ országában. A közelgõ eseményekrõl a róluk + href="&base;/events/events.html"> róluk szóló lapon található, folyamatosan frissülõ kalendáriumban - és RSS - feedeken keresztül - értesülhetünk.

+ href="&base;/events/events.ics">kalendáriumban + és RSS feedeken + keresztül értesülhetünk.


==== //depot/projects/docproj_hu/www/hu/community/irc.sgml#3 (text+ko) ==== @@ -16,22 +16,25 @@ &header; -

Ugyan több IRC hálózaton létezik #freebsd - csatorna, de a FreeBSD Projekt nem felügyeli ezeket és nem - ismeri el az IRC-t, mint támogatási formát. - Elõfordulhat, hogy nem figyelnek Önre, +

Ugyan több IRC hálózaton létezik + #freebsd csatorna, de a FreeBSD Projekt nem felügyeli ezeket + és nem ismeri el az IRC-t, mint támogatási + formát. Elõfordulhat, hogy nem figyelnek Önre, inzultálják, vagy kirúgják, ha - kérdéseket tesz fel bármilyen IRC csatornán, - de kicsit több szerencséje lehet, ha #freebsdhelp - csatornákon próbálkozik, ahol létezik ilyen. - Ha ki akarja próbálni ezeket, vagy más IRC - csatornákat, teljes mértékben a saját - felelõsségére teszi, a FreeBSD Projekt nem - foglalkozik az ezekkel a csatornákkal kapcsolatos panaszokkal. - Tekintse meg a - GYIK - bejegyzést bõvebb - információért.

+ kérdéseket tesz fel bármilyen IRC + csatornán, de kicsit több szerencséje lehet, ha + #freebsdhelp csatornákon próbálkozik, ahol + létezik ilyen. A &os;-vel foglalkozó IRC + csatornákat a &os; wikijében + olvashatjuk. Ha ki akarja próbálni ezeket, vagy + más IRC csatornákat, teljes mértékben + a saját felelõsségére teszi, a FreeBSD + Projekt nem foglalkozik az ezekkel a csatornákkal + kapcsolatos panaszokkal. Ha többet szeretne errõl + megtudni, akkor tekintse meg az erre vonatkozó GYIK bejegyzést + .

&footer; ==== //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#5 (text+ko) ==== @@ -9,7 +9,7 @@ @@ -50,71 +50,71 @@ href="mailto:freebsd-subscribe@fug.com.br">freebsd-subscribe@fug.com.br vagy WWW. -
  • Egyszerûsített kínai -- WWW, - GB2312 kódolás
  • -
  • Cseh -- users-l-request@FreeBSD.cz vagy WWW.
  • -
  • Német -- Adminisztráció - vagy Keresés.
  • -
  • Francia -- listserver@FreeBSD-fr.org vagy WWW.
  • -
  • Magyar -- WWW
  • +
  • Holland -- majordomo@nl.FreeBSD.org.
  • Indonéz -- id-freebsd-subscribe@egroups.com
  • -
  • Italian -- mailman-owner@gufi.org - or WWW.
  • -
  • Japán -- majordomo@jp.FreeBSD.org vagy WWW.
  • +
  • Kínai (egyszerûsített) -- + WWW, + GB2312 kódolás
  • +
  • Koreai -- majordomo@kr.FreeBSD.org vagy WWW.
  • +
  • Lengyel -- majordomo@bsdguru.org + vagy WWW.
  • +
  • Lett -- bsd-owner@lists.bsd.lv vagy WWW.
  • -
  • Holland -- majordomo@nl.FreeBSD.org.
  • +
  • Magyar -- WWW
  • + +
  • Német -- Adminisztráció + vagy Keresés.
  • Norvég -- bsd@nobug.no vagy WWW.
  • -
  • Lengyel -- majordomo@bsdguru.org - vagy WWW.
  • - -
  • Portugál -- - freebsd@npf.pt.freebsd.org vagy - WWW.
  • +
  • Olasz -- mailman-owner@gufi.org + vagy WWW.
  • Orosz -- maillist@opennet.ru
  • -
  • Szlovák -- majordomo@sk.FreeBSD.org
  • +
  • Portugál -- freebsd@npf.pt.freebsd.org + vagy WWW.
  • Spanyol -- WWW.
  • +
  • Szlovák -- majordomo@sk.FreeBSD.org
  • +
  • Svéd -- bus@stacken.kth.se vagy %SOURCE% en/docproj/docproj.sgml - %SRCID% 1.13 + %SRCID% 1.21 --> ==== //depot/projects/docproj_hu/www/hu/docs/books.sgml#5 (text+ko) ==== @@ -14,7 +14,7 @@ @@ -145,7 +145,7 @@ Fontos bevezetõ a commit jogot nyert FreeBSD fejlesztõknek a munkájuk megkezdéséhez.

    -

    A Compiz Fusion +

    A Compiz Fusion telepítése és használata (compiz-fusion)
    Hogyan telepítsük és használjuk a @@ -172,6 +172,12 @@ Azon szervezetek és személyek listája, akik segítettek a FreeBSD fejlõdésében.

    +

    A CUPS használata &os; alatt + (cups)
    + Hogyan állítsuk be a CUPS rendszert &os; + rendszereken.

    +

    CVS Repository létrehozása - A FreeBSD módszer (cvs-freebsd)
    @@ -246,12 +252,13 @@ felépítésérõl, hogyan írhat saját GEOM osztályt.

    -

    Az UFS - naplózásának használata asztali - PC-ken (gjournal-desktop)
    A naplózást - engedélyezõ UFS partíciók - létrehozását otthoni környezetben - bemutató leírás.

    +

    Az UFS naplózásának használata asztali PC-ken + (gjournal-desktop)
    + A naplózást engedélyezõ UFS + partíciók létrehozását + otthoni környezetben bemutató + leírás.

    Munka Kitüntetett Szerepekkel (hats)
    @@ -274,6 +281,13 @@ Laptopon (laptop)
    Hogyan használjunk FreeBSD-t egy laptopon.

    +

    LDAP hitelesítés + (ldap-auth)
    + Egy praktikus útmutató, amely bemutatja + miként állítsunk &os; rendszereken LDAP + szervereket és segítségükkel hogyan + hitelesítsün felhasználókat

    +

    FreeBSD: Egy nyílt forrású alternatíva a Linux mellett (linux-comparison)
    @@ -286,7 +300,7 @@ emulációs rétegének belsõ mûködésérõl.

    -

    FreeBSD +

    FreeBSD gyorstalpaló Linux felhasználóknak (linux-users)
    Egy bevezetõ jellegû úmutató a ==== //depot/projects/docproj_hu/www/hu/index.xsl#5 (text+ko) ==== @@ -9,7 +9,7 @@ @@ -314,6 +314,16 @@ +

    + +
    ==== //depot/projects/docproj_hu/www/hu/news/news.sgml#3 (text+ko) ==== @@ -8,7 +8,7 @@ @@ -56,7 +56,10 @@
  • + +

    Daemon Forums: Aktív online fórumok és közösségi hírek a FreeBSD és a többi BSD számára

    @@ -69,22 +72,18 @@ szemszögébõl nézve kínálja

  • +
  • -

    BSDPortal.org: - Ez az oldal összegyûjti a legfontosabb híreket - a többi BSD-vel kapcsolatos oldalról, így - egy jó összefoglalást nyújt a - BSD projektek állásáról

    -
  • - -
  • -

    DaemonNews +

    DaemonNews: + Havonta megjelenõ cikkek és mindennapos megbeszélések minden BSD-t érintõ dologról

    ==== //depot/projects/docproj_hu/www/hu/platforms/alpha.sgml#3 (text+ko) ==== @@ -10,20 +10,25 @@ &header;

    Ez az oldal a FreeBSD HP/Compaq Alpha portjáról - tartalmaz információkat.

    + tartalmaz információkat. Az Alpha porttal kapcsolatos + megbeszélések általában a freebsd-alpha + levelezési listán történnek.

    + +

    Helyzet

    -

    Megjegyzés: A FreeBSD 7.0 verziójától - kezdõdõen az Alpha támogatás megszûnik. - Az új Alpha rendszerek terjesztésével a - gyártó felhagyott. Ennek, és a 64 bites rendszerek, - mint pl. az AMD64 és az EM64T architektúrák, +

    A FreeBSD 7.0 verziójától kezdõdõen + az Alpha támogatás megszûnt. Az új Alpha + rendszerek terjesztésével a gyártó + felhagyott. Ennek, és a 64 bites rendszerek, mint pl. az + AMD64 és az EM64T architektúrák, széleskörû elterjedésének köszönhetõen az Alpha felhasználóinak száma jelentõsen visszaesett, a fejlesztõi @@ -32,12 +37,15 @@ FreeBSD/alpha a FreeBSD 6.X kiadásokban még elérhetõ lesz.

    -

    FreeBSD/alpha Specifikus Linkek

    +

    FreeBSD/alpha levelezési lista

    - +

    Ha fel szeretnénk iratkozni erre a listára, akkor + küldjünk egy e-mailt a + címre, vagy látogassunk el a + hozzátartozó mailman felületre + .

    Egyéb Érdekes Linkek

    ==== //depot/projects/docproj_hu/www/hu/platforms/amd64.sgml#3 (text+ko) ==== @@ -10,7 +10,7 @@ @@ -37,10 +37,11 @@ 7000-sequence) processzorok az Intel®64 architektúrába tartoznak.

    -

    Státusz:

    +

    Helyzet

    -

    Jelenleg a FreeBSD/amd64 64-bites multiuser módban fut, - egyprocesszoros és multiprocesszoros módban is.

    +

    A FreeBSD/amd64 64 bites többfelhasználós + módban fut, egyprocesszoros és többprocesszoros + módban is.

    Az AMD64 platform jelenleg egy Tier ==== //depot/projects/docproj_hu/www/hu/platforms/arm.sgml#3 (text+ko) ==== @@ -11,34 +11,78 @@ &header; - -

    A FreeBSD/ARM a FreeBSD egy olyan portja, amely az ARM - architektúrán és hardveren szándékozik - futni. A projekt célja, hogy támogassa az - architektúrát és annak - hardverkörnyezetét.

    + +

    Bevezetés

    + +

    Ezen az oldalon találhatunk információkat a + &os; ARM architektúrán és -hardveren futó + változatáról. Az ezzel kapcsolatos + megbeszélések a freebsd-arm + levelezési listán folynak.

    + +

    Tartalomjegyzék

    + + + +

    Helyzet

    + +

    Az ARM hivatalosan egy Tier 2 + szintû architektúra, tehát a &os; Projekt ehhez nem készít + hivatalos kiadásokat vagy elõre fordított + csomagokat, mivel ez elsõsorban a beágyazott + rendszereket veszi célba. Ettõl függetlenül a + &os;/ARM platformot aktívan fejlesztik és + karbantartják, nagyon jó a + támogatottsága, kitûnõ vázat + nyújt az ARM-alapú rendszerek + építéséhez.

    + +

    Támogatott hardverek

    + +

    A &os; általában elindul az IQ31244 és IQ80321 + chipeket tartalmazó, i80321 alapú Intel XScale® + fejlesztõi kártyákon. A támogatása + jelenleg csak minimális, kizárólag a + processzort, a PCI-X buszt, az em(4) típusú Ethernet + kártyákat, az UART és idõzítõ + eszközöket ismeri.

    + +

    Az EP80219 fejlesztõi kártyákon + található i80219 XScale processzorok is + támogatottak.

    -

    FreeBSD/ARM Hardver Jegyzetek

    - -

    Jelenleg futnia kell az i80321 alapú Intel devboardon, - ami magában foglalja az IQ31244 és IQ80321 boardokat. - A támogatás még csak minimális, - kimerül a következõ eszközökben: - CPU, PCI-X busz, em(4) Ethernet adapterek, az UART és - idõzítõ eszközök.

    +

    Az Avila GW2348-4 fejlesztõi kártyákon + található IXP425 is támogatott.

    A StrongARM 1100 CPU minimálisan támogatott, de csak a Simics emuláció keretein belül: CPU, UART - és órajel. Elméletileg bootolható - az Assabet boardon, amit egy Simics emulál, de nem - érkezett eddig sikeres vagy sikertelen visszajelzés.

    + és órajel. Elméletileg indítható + a Simics által emulált kártyákon, de + errõl eddig még nem érkezett sikeres vagy + sikertelen visszajelzés.

    + +

    Ezeken kívül még a Technologic Systems TS-7200 + típusú fejlesztõi kártyáin + található Atmel AT91SAM926x processzorok, a Marvell + Orion ARM SoC, a Samsung S3C2XX0 sorozat és a Cirrus Logic + EP93XX processzorok is támogatottak.

    -

    Ami még hátra van

    +

    További teendõk

    • SATA támogatás
    • @@ -48,7 +92,7 @@ olvasztani a NetBSD-bõl
    -

    Kapcsolódó Linkek

    +

    &os;/ARM linkek

    -

    Rövid Telepítési Útmutató

    +

    Rövid telepítési útmutató

    &a.cognet; (cognet@FreeBSD.org) írt egy rövid telepítési útmutatót a jelenlegi FreeBSD ==== //depot/projects/docproj_hu/www/hu/platforms/ia64/machines.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ - + ]> @@ -9,24 +9,26 @@ &header; -

    Piacon lévõ számítógépek

    +

    Piacon lévõ + számítógépek

    -

    Ezen az oldalon megpróbáltuk összegyûjteni - azokat a számítógépeket, amelyek jelenleg +

    Ezen az oldalon megpróbáltuk + összegyûjteni azokat a + számítógépeket, amelyek jelenleg kaphatóak, vagy a közelmúltban kaphatóak voltak. Ha egy adott típus szerepel a listán az nem - jelenti azt, hogy a FreeBSD garantáltan fut is rajta. Ha egy - adott típus nem szerele itt, meglehet, hogy nem tudunk a - létezésérõl. A Merced alapú - típusok nem szerepelnek a listán, habár - támogatottak. Az ok az, hogy ezek már nem túl - jelentékenyek.

    + jelenti azt, hogy a &os; garantáltan fut is rajta. Ha egy + adott típus nem szerepel itt, meglehet, hogy csak nem + tudunk a létezésérõl. A Merced + alapú típusok nem szerepelnek a listán, + habár támogatottak. Az ok az, hogy ezek már + nem túl jelentékenyek.

    Bull

    ==== //depot/projects/docproj_hu/www/hu/platforms/mips.sgml#3 (text+ko) ==== @@ -10,80 +10,99 @@ &header; -

    Ez az oldal a FreeBSD folyamatban lévõ MIPS - architektúrára készülõ +

    Bevezetés

    + +

    Ez az oldal a &os; folyamatban lévõ MIPS® + architektúrára készülõ portjáról tartalmaz néhány - információt.

    + információt. Az ezzel kapcsolatos + megbeszélések a freebsd-mips + levelezési listán folynak.

    -

    Általános Információk

    +

    Tartalomjegyzék

    +

    Helyzet

    + +

    A MIPS egy Tier 3 + szintû architektúra, tehát pillanatnyilag + még csak kísérleti jelleggel létezik. A + &os; Projekt nem támogatja.

    +

    Gyakran Ismételt Kérdések

      -
    1. Mi az a FreeBSD/MIPS projekt?
    2. +
    3. Mi az a &os;/MIPS projekt?
    4. Milyen hardvert céloz meg a projekt?
    5. Hogyan áll jelenleg a munka?
    6. -
    7. Hogyan tehetek szert a FreeBSD/MIPS-re?
    8. -
    9. Kivel vehetem fel a kapcsolatot?
    10. +
    11. Honnan szerezhetõ meg a &os; MIPS-re?
    12. +
    13. Kivel vehetjük fel a kapcsolatot?
    -

    Mi az a FreeBSD/MIPS projekt?

    +

    Mi az a &os;/MIPS projekt?

    -

    A FreeBSD/MIPS a FreeBSD operációs rendszer portja a - MIPS R4K és az azt meghaladó processzorokra, - különösen az SGI MIPS - számítógépeire.

    +

    A &os;/MIPS a &os; operációs rendszer átirata + a MIPS R4K és a tõle fejlettebb processzorokra, + különös tekintettel a MIPS processzorokra + épülõ platformokra.

    Milyen hardvert céloz meg a projekt?

    -

    Jelenleg az SGI MIPS számítógépeit. +

    Jelenleg több MIPS32 típusú + számítógépet és az SGI MIPS64 + típusú számítógépeit. Várhatóan egyéb MIPS platformok, mint például a beágyazott rendszerek és a - kevésbé egzotikus számítógépek - is hamarosan támogatottak lesznek.

    + kevésbé egzotikus + számítógépek is hamarosan + támogatottak lesznek.

    Hogyan áll jelenleg a munka?

    -

    A FreeBSD/MIPS a fejlesztés korai szakaszában jár, - bõvebb információért a folyamatban - lévõ fejlesztésrõl, tekintse meg a - projekt státusz - oldalát.

    +

    A &os;/MIPS még a fejlesztés korai szakaszában + jár. Ennek folyamatáról a projekt helyzetét + bemutató oldalon olvashatunk bõvebben.

    -

    Hogyan tehetek szert a FreeBSD/MIPS-re?

    +

    Honnan szerezhetõ meg a &os; MIPS-re?

    -

    A FreeBSD/MIPS fejlesztése a FreeBSD Perforce repóban - történik, de patchek alkalmanként felbukkannak - a levelezési listán.

    +

    A &os;/MIPS fejlesztése a &os; Perforce + repositoryjában történik, de alkalmanként + felbukkannak patchek is a levelezési + listán.

    -

    Kivel vehetem fel a kapcsolatot?

    +

    Kivel vehetjük fel a kapcsolatot?

    Juli Mallett a projekt - vezetõje. Vele vegye fel a kapcsolatot, ha kóddal tud - hozzájárulni a projekthez. Ha csak a projekt - állására kíváncsi, tekintse meg - rendszeresen a projekt státusz - oldalát, vagy iratkozzon fel a - FreeBSD/MIPS levelezési listára.

    + vezetõje. Ha tudunk forráskóddal + hozzájárulni a munkájához, akkor õt + keressük meg. Ha viszont csak a projekt helyzetére + kíváncsi, akkor rendszeresen látogassa ezt az + oldalt, vagy iratkozzon fel a + &os;/MIPS levelezési listára.

    -

    FreeBSD/MIPS levelezési lista

    +

    A &os;/MIPS levelezési lista

    -

    Hogy feliratkozzon erre a listára, küldjön egy levelet a - e-mail címre, vagy használja a - mailman - webes felületét.

    +

    Úgy tudunk feliratkozni a listára, ha + küldünk egy levelet a + e-mail címre, vagy használjuk a + mailman webes felületét + .

    &footer; ==== //depot/projects/docproj_hu/www/hu/platforms/pc98.sgml#3 (text+ko) ==== @@ -10,27 +10,37 @@ &header; - -

    FreeBSD/pc98 a FreeBSD egy portja a NEC PC-98x1 (pc98) + +

    Bevezetés

    + +

    &os;/pc98 a FreeBSD egy portja a NEC PC-98x1 (pc98) architektúrához. A projekt célja, hogy a - FreeBSD/pc98 ugyanúgy mûködjön, ahogy a FreeBSD - mûködik a többi architektúrán. A kernel - forráskódjának nagyja már része a - FreeBSD forrásfának, a userland nagy része pedig - a forrásból fordítva megfelelõen - mûködik.

    + &os;/pc98 ugyanúgy mûködjön, ahogy a &os; + mûködik a többi architektúrán. A + kernel forráskódjának nagyja már + része a &os; forrásfának, a userland nagy + része pedig a forrásból fordítva + megfelelõen mûködik.

    + +

    Helyzet

    + +

    A &os;/pc98 egy Tier 1 + szintû architektúra, tehát a &os; Projekt teljes mértékben + támogatja.

    + +

    &os;/pc98 Hardver Jegyzetek

    -

    FreeBSD/pc98 Hardver Jegyzetek

    - - &rel.head;-CURRENT + &rel.head;-CURRENT Hardver Jegyzetek -

    Ami még hátravan

    +

    További teendõk

    • Az erõforrás-kezelõ rendszer @@ -51,7 +61,7 @@ támogatásához
    -

    Kapcsolódó Linkek

    +

    Kapcsolódó linkek

    • FreeBSD(98) ==== //depot/projects/docproj_hu/www/hu/platforms/ppc.sgml#5 (text+ko) ==== @@ -10,44 +10,51 @@ &header; -

      Általános Információk

      +

      Bevezetés

      + +

      A &os;/ppc projekt oldalán a &os; PowerPC® + architektúrán futó + változatáról olvashatunk részletesebb + információkat. Ahogy maga ez a verzió is, + úgy ez az oldal is folyamatos fejlesztés alatt + áll.

      - -

      Bevezetés

      - -

      A FreeBSD/ppc projekt oldala a FreeBSD operációs rendszer - PowerPC® portjáról tartalmaz információkat. - Ahogy maga a port is, ez az oldal is fejlesztés alatt - áll.

      - -

      A FreeBSD/ppc port jelenleg egy Tier-2 platform. Ez azt jelenti, hogy - még nem teljesen támogatott a security officer, a release - engineerek és a toolchain karbantartók által.

      +

      A &os;/ppc port jelenleg egy Tier 2 + platform. Ez azt jelenti, hogy még nem támogatja + teljes mértékben a security officer, sem a release + engineerek és a toolchain karbantartói.


      Hírek

        -
      • 2005 június 25.: Ez az oldal jelentõsen - ki lett bõvítve.
      • +
      • 2008. március 3. — A + fejlesztõi kártyákra integrált + Freescale® PowerQUICC III MPC85XX család + támogatása bekerült a CVS-be.
      • + +
      • 2008. február 27. — A &os; 7.0 az + elsõ kiadás, amely hivatalosan támogatja a + &os;/ppc portot.

      @@ -55,59 +62,59 @@

      Gyakran Ismételt Kérdések

        -
      1. Hogyan telepíthetem a FreeBSD/ppc portot?
      2. -
      3. Hol találhatok csomagokat a FreeBSD/ppc porthoz?
      4. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 09:22:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9B011065687; Sun, 29 Jun 2008 09:22: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 A78E51065681 for ; Sun, 29 Jun 2008 09:22:56 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 958298FC19 for ; Sun, 29 Jun 2008 09:22:56 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5T9MuYY016379 for ; Sun, 29 Jun 2008 09:22:56 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5T9Mutn016377 for perforce@freebsd.org; Sun, 29 Jun 2008 09:22:56 GMT (envelope-from remko@freebsd.org) Date: Sun, 29 Jun 2008 09:22:56 GMT Message-Id: <200806290922.m5T9Mutn016377@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 144263 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, 29 Jun 2008 09:22:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=144263 Change 144263 by remko@remko_nakur on 2008/06/29 09:22:45 Update the mail chapter with the latest status from Rene Ladan, the chapter is almost done now. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#5 (text+ko) ==== @@ -3,7 +3,7 @@ $FreeBSD$ $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml,v 1.12 2006/01/01 13:09:23 siebrand Exp $ - Gebaseerd op: 1.137 + Gebaseerd op: 1.138 --> @@ -1503,10 +1503,10 @@ &prompt.root; cd /usr/ports/mail/ssmtp &prompt.root; make install replace clean - Eenmaal geïnstalleerd kan - mail/ssmtp door middel van het vier-regelige bestand - /usr/local/etc/ssmtp/ssmtp.conf ingesteld - worden: + Eenmaal geïnstalleerd kan + mail/ssmtp door middel van het + vier-regelige bestand /usr/local/etc/ssmtp/ssmtp.conf + ingesteld worden: root=uwechteemail@example.com mailhub=mail.example.com @@ -1558,13 +1558,13 @@ ontvangstagent geïnstalleerd te worden. Het gereedschap fetchmail is een goede keuze omdat het veel verschillende protocols ondersteunt. Dit programma is als - package of vanuit de Portscollectie ( - mail/fetchmail) beschikbaar. Normaliter levert de - Internetprovider POP. Indien - gebruikers-PPP gebruikt wordt, kan de mail automatisch - worden opgehaald wanneer er een Internetverbinding tot stand is - gebracht door middel van de volgende regel in - /etc/ppp/ppp.linkup: + package of vanuit de Portscollectie ( + mail/fetchmail) beschikbaar. + Normaliter levert de Internetprovider POP. + Indien gebruikers-PPP gebruikt wordt, kan de + mail automatisch worden opgehaald wanneer er een verbinding met + Internet tot stand is gebracht door middel van de volgende regel + in /etc/ppp/ppp.linkup: MYADDR: !bg su gebruiker -c fetchmail @@ -1650,8 +1650,8 @@ - Installeer security/cyrus-sasl2 - vanuit de ports. Deze port is te vinden in + Installeer security/cyrus-sasl2 + vanuit de ports. Deze port is te vinden in security/cyrus-sasl2. De port security/cyrus-sasl2 ondersteund een aantal opties tijdens de compilatie. Voor de @@ -1660,24 +1660,25 @@ - Voeg nadat security/cyrus-sasl2 - is geïnstalleerd deze regel toe aan - /usr/lcoal/lib/sasl2/Sendmail.conf: + Voeg nadat security/cyrus-sasl2 + is geïnstalleerd deze regel toe aan + /usr/local/lib/sasl2/Sendmail.conf: pwcheck_method: saslauthd - Installeer vervolgens - security/cyrus-sasl2-saslauthd, en voeg de volgende - regel toe aan /etc/rc.conf: + Installeer vervolgens + security/cyrus-sasl2-saslauthd + , en voeg de volgende regel toe aan /etc/rc.conf + : saslauthd_enable="YES" en start vervolgens het saslauthd-daemon op: - &prompt.root; /usr/lcoal/etc/rc.d/saslauthd start + &prompt.root; /usr/local/etc/rc.d/saslauthd start Deze daemon fungeert als een onderhandelaar voor sendmail die zich tegen de &os; @@ -1743,7 +1744,7 @@ - Voer als laatste &man.make.1; in /etc/mail + Voer als laatste &man.make.1; in /etc/mail uit. Hierdoor wordt het nieuwe .mc -bestand uitgevoerd en wordt een bestand freebsd.cf (of de plaatselijke variant ervan) @@ -1768,6 +1769,404 @@ SMTP-authenticatie voor meer informatie. + + + + + + Marc + Silver + Bijgedragen door + + + + + Mail User Agents + + Mail User Agents + + Een mail user agent (MUA) is een toepassing + die wordt gebruikt om email te versturen en te ontvangen. + Bovendien, omdat email evolueert en steeds + complexer wordt, worden MUAs steeds krachtiger + in de manier waarop ze met email omgaan; dit biedt gebruikers + verhoogde functionaliteit en flexibiliteit. &os; ondersteunt + verschillende mail user agents die allemaal eenvoudig + geïnstalleerd kunnen worden door de + &os; Ports Collectie te gebruiken. Gebruikers kunnen + kiezen tussen grafische emailclients zoals evolution + of balsa, op de console + gebaseerde clients zoals mutt, + pine of mail, of de + webinterface die door sommige grote organisaties wordt gebruikt. + + + + mail + + &man.mail.1; is de standaard mail user agent + (MUA) in &os;. Het is een consolegebaseerde + MUA die alle basisfunctionaliteit biedt die + nodig is om tekstgebaseerde email te verzenden en te ontvangen, + maar het is beperkt in de mogelijkheden om met bijlagen om te + gaan en het ondersteunt alleen plaatselijke mailboxes. + + Hoewel mail van huis uit geen + ondersteuning voor POP- of IMAP + -servers biedt, kunnen deze mailboxes gedownload + worden naar een lokaal mbox-bestand door + een toepassing als fetchmail te + gebruiken, welke later in dit hoofdstuk behandeld wordt (). + + Om email te versturen en te ontvangen, is het voldoende om + de opdracht mail te geven zoals in het + volgende voorbeeld: + + &prompt.user; mail + + De inhoud van de gebruikersmailbox in /var/mail wordt automatisch gelezen + door het programma mail. Indien de mailbox + leeg is, eindigt het programma het een melding dat er geen mail + gevonden kon worden. Wanneer de mailbox is gelezen, wordt de + applicatie-interface gestart, en wordt er een berichtenlijst + weergegeven. Berichten worden automatisch genummerd, zoals in + het volgende voorbeeld te zien is: + + Mail version 8.1 6/6/93. Type ? for help. +"/var/mail/marcs": 3 messages 3 new +>N 1 root@localhost Mon Mar 8 14:05 14/510 "test" + N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" + N 3 root@localhost Mon Mar 8 14:05 14/509 "sample" + + Berichten kunnen nu worden gelezen door middel van het + commando t van mail, gevolgd + door het gewenste berichtnummer. In dit voorbeeld wordt de + eerste email gelezen: + + & t 1 +Message 1: +From root@localhost Mon Mar 8 14:05:52 2004 +X-Original-To: marcs@localhost +Delivered-To: marcs@localhost +To: marcs@localhost +Subject: test +Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST) +From: root@localhost (Charlie Root) + +This is a test message, please reply if you receive it. + + Zoals in bovenstaand voorbeeld te zien is, zorgt de toets + t ervoor dat het bericht met volledige headers + wordt getoond. Om de berichtenlijst nogmaals weer te geven, + dient de toets h gebruikt te worden. + + Er kan met mail op een email gereageerd + worden, door gebruik te maken één van de toetsen + R of r. De toets + R vertelt mail dat er alleen + aan de verzender van het bericht geantwoord dient te worden, + terwijl de toets r niet alleen aan de verzender + antwoordt, maar ook aan andere ontvangers van het bericht. Het + is ook mogelijk om achter deze commando's het berichtnummer te + plaatsen waarop gereageerd dient te worden. Nadat dit gedaan is + , dient het antwoord gegeven te worden, en dient het einde van + het bericht aangegeven te worden met een enkele + . op een nieuwe regel. Een voorbeeld staat + hieronder: + + & R 1 +To: root@localhost +Subject: Re: test + +Thank you, I did get your email. +. +EOT + + Om een nieuwe email te verzenden, dient de toets + m gebruikt te worden, gevolgd door het adres + van de ontvanger. Er kunnen meerdere ontvangers gespecificeerd + worden door ze met een , te scheiden. Hierna + kan het onderwerp van het bericht worden gegeven, gevolgd door + de inhoud van het bericht. Het einde van het bericht dient te + worden aangegeven door een enkele . op een + nieuwe regel te plaatsen. + + & mail root@localhost +Subject: I mastered mail + +Now I can send and receive email using mail ... :) +. +EOT + + Binnen het programma mail kan op elk + moment de opdracht ? gebruikt worden om hulp + weer te geven, hiervoor kan ook de hulppagina &man.mail.1; + worden geraadpleegd. + + + Zoals eerder is aangegeven, is het programma &man.mail.1; + van origine niet ontworpen om met bijlagen om te gaan, dus + behandelt het deze slecht. Nieuwere MUAs + zoals mutt gaan veel intelligenter + met bijlagen om. Maar indien het programma mail + nog steeds geprefereerd wordt, kan de port + converters/mpack van + aanzienlijk nut zijn. + + + + + mutt + + mutt is een kleine doch zeer + krachtige mail user agent, met uitstekende mogelijkheden, + waaronder: + + + + De mogelijkheid om berichten te threaden; + + + + PGP-ondersteuning voor het digitaal ondertekenen en + versleutelen van email; + + + + MIME-ondersteuning; + + + + Maildir-ondersteuning; + + + + Erg goed aan te passen. + + + + Al deze eigenschappen zorgen ervoor dat mutt + een van de meest geavanceerde beschikbare mail + user agents is. Op + staat meer informatie. + + De stabiele versie van mutt kan + geïnstalleerd worden door de port mail/mutt te gebruiken, terwijl de + huidige ontwikkelaarsversie geïnstalleerd kan worden via de + port mail/mutt-devel. Nadat + de port is geïnstalleerd, kan + mutt gestart worden met het volgende + commando: + + &prompt.user; mutt + + mutt zal automatisch de inhoud + van de gebruikersmailbox in /var/mail lezen en de inhoud + weergeven indien van toepassing. Indien er geen mails gevonden + zijn in de gebruikersmailbox, zal mutt + wachten voor opdrachten van de gebruiker. Het + onderstaande voorbeeld laat zien hoe mutt + een lijst berichten weergeeft: + + + + + + + + Om een email te lezen is het voldoende om het met de + cursortoetsen te selecteren, en Enter aan te + slaan. Een voorbeeld waarbij mutt + email laat zien staat hieronder:: + + + + + + + + Net zoals het commando &man.mail.1; staat mutt + gebruikers toe om alleen de afzender alsook alle + ontvangers te beantwoorden. Om alleen de afzender van de email + te antwoorden, wordt de toets r gebruikt. Om + aan een groep te antwoorden, welke aan zowel de originele + afzender als aan alle berichtontvangers wordt gestuurd, wordt de + toets g gebruikt. + + + mutt maakt gebruikt van het + programma &man.vi.1; als tekstverwerker voor het aanmaken en + beantwoorden van emails. De gebruiker kan dit aanpassen door + een eigen .muttrc aan te maken in hun + thuismap en de variable editor of de + omgevingsvariabele EDITOR aan te passen. Zie + voor meer + informatie over het instellen van + mutt. + + + Voor het opstellen van een nieuw mailbericht wordt de toets + m gebruikt. Nadat er een geldig bericht is + gegeven, start mutt &man.vi.1; op en + kan de mail geschreven worden. Nadat de inhoud van de mail is + geschreven, zal mutt nadat + vi verlaten is, zichzelf hervatten en een + overzichtsscherm van de te verzenden mail afbeelden. Om de mail + te versturen wordt de toets y gebruikt. Een + voorbeeld van het overzichtsscherm is hieronder te zien: + + + + + + + + mutt bevat ook uitgebreide hulp, + welke in de meeste menu's geactiveerd kan worden door de toets + ? aan te slaan. De bovenste regel geeft ook + de relevante toetsen aan. + + + + pine + + pine richt zich op de beginnende + gebruiker, maar bevat ook geavanceerde mogelijkheden. + + + Er zijn in het verleden verschillende kwetsbaarheden voor + pine ontdekt, welke aanvallers op + afstand in staat stelden om willekeurige code als gebruikers + op het lokale systeem uit te voeren, door een speciaal + voorbereide email te versturen. Alle + bekende problemen van dit type zijn + gerepareerd, maar de code van pine + is op een zeer onveilige manier geschreven en de + beveiligingsofficier van &os; gelooft dat het waarschijnlijk + is dat er nog meer onontdekte kwetsbaarheden zijn. Installeer + pine op eigen risico. + + + De huidige versie van pine kan + door middel van de port + mail/pine4 + geïnstalleerd worden. Wanneer de port geïnstalleerd + is, kan pine met het volgende + commando gestart worden: + + &prompt.user; pine + + De eerste keer dat pine wordt + gedraaid geeft het een welkomstpagina met een korte introductie + weer, alsmede een verzoek van het ontwikkelteam van + pine om een anoniem emailbericht te + versturen wat ze in staat stelt om te beoordelen hoeveel + gebruikers hun client gebruiken. Druk op Enter + om dit anonieme bericht te versturen, of druk op + E om ht welkomstscherm te verlaten zonder een + anoniem bericht te versturen. Een voorbeeld van het + welkomstscherm is hieronder te zien: + + + + + + + + Vervolgens wordt het hoofdmenu getoond, waarin gemakkelijk + met de cursortoetsen kan worden genavigeerd. Dit hoofdmenu + biedt afkortingen voor het schrijven van nieuwe mail, het + doorbladeren van mailmappen, en zelfs het beheren van het + adresboek. Onder het hoofdmenu worden relevante + toetscombinaties voor de huidige taak getoond. + + De standaardmap die door pine + wordt geopend is de inbox + . Gebruik de toets I om de berichtenindex te + zien, of selecteer de optie MESSAGE + INDEX zoals hieronder te zien is: + + + + + + + + De berichtenindex geeft de berichten in de huidige map weer, + en kan met de cursortoetsen worden genavigeerd. Gemarkeerde + berichten kunnen worden gelezen door op Enter + te drukken. + + + + + + + + In onderstaand screenshot wordt een voorbeeldbericht door + pine weergegeven. Toetsencombinaties + worden ter referentie aan de onderkant van het scherm + weergegeven. Een voorbeeld van een van deze combinaties is de + toets r, welke de MUA + vertelt op het huidige bericht te antwoorden. + + + + + + + + Voor het beantwoorden van een bericht wordt in + pine gebruikt gemaakt van de + tekstverwerker pico, welke standaard + bij pine wordt geïnstalleerd. + Het programma pico maakt het + gemakkelijk om in het bericht te navigeren en is meer + vergevingsgezind voor nieuwe gebruikers dan &man.vi.1; of + &man.mail.1;. Wanneer het antwoord voltooid is, kan het bericht + worden verzonden door + CtrlX te + gebruiken. Het programma pine zal + om bevestiging vragen. + + + + + + + + Het programma pine kan worden + aangepast door de optie SETUP van het + hoofdmenu te gebruiken. Raadpleeg voor meer + informatie. + + + + + + + + Marc + Silver + Bijgedragen door + + + + + fetchmail gebruiken + + + + + + procmail gebruiken + + @@ -590,6 +590,14 @@ êþäéêá. + + Ôá BSD óõóôÞìáôá Ý÷ïõí ôç öÞìç üôé Ý÷ïõí ðéï ðïéïôéêÞ êáé + ïëïêëçñùìÝíç ôåêìçñßùóç. Ïé äéÜöïñåò ïìÜäåò ôåêìçñßùóçò + ðñïóðáèïýí íá ðáñÝ÷ïõí åíçìåñùìÝíç ôåêìçñßùóç óå ðïëëÝò ãëþóóåò, + íá êñáôïýí ôçí ôåêìçñßùóç åíçìåñùìÝíç êáé íá êáëýðôïõí êÜèå + ÷áñáêôçñéóôéêü ôïõ óõóôÞìáôïò óå âÜèïò. + + Ç BSD Üäåéá ìðïñåß íá óáò áñÝóåé ðåñéóóüôåñï áðü ôçí GPL. ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/formatting-media/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/articles/formatting-media/Makefile,v 1.3 2008/01/14 14:19:42 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/articles/formatting-media/Makefile,v 1.4 2008/06/16 01:11:48 keramida Exp $ # # %SOURCE% en_US.ISO8859-1/articles/formatting-media/Makefile -# %SRCID% 1.1 +# %SRCID% 1.8 DOC?= article ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/formatting-media/article.sgml#2 (text+ko) ==== @@ -1,11 +1,11 @@ @@ -269,20 +269,6 @@ - èá óáò æçôçèåß: - - - Do you want to do this with a true partition entry so as to remain -cooperative with any future possible operating systems on the -drive(s)? - - - (ÈÝëåôå íá ôï êÜíåôå áõôü ìå ðñáãìáôéêÜ êïììÜôéá ãéá íá ðáñáìåßíåé - óõìâáôüò ìå Üëëá ëåéôïõñãéêÜ óõóôÞìáôá?) ÁðáíôÞóôå - No. - - - Ìüëéò óáò ñùôÞóåé áí üíôùò èÝëåôå íá ôï êÜíåôå áõôü (Do you still want to do this) áðáíôÞóôå Yes. @@ -296,7 +282,22 @@ õðÜñ÷ïíôá óõóôÞìáôá áðáíôÞóôå Yes. + + Ìüëéò óáò ñùôÞóåé áí èÝëåôå íá åãêáôáóôÞóåôå Ýíá boot loader, + åðéëÝîôå None ãéá íá áðïöýãåôå ïðïéáäÞðïôå + áëëáãÞ óôï Master Boot Record. Ç åãêáôÜóôáóç åíüò boot loader + ÷ñåéÜæåôáé ìüíï óå êáéíïýñéåò åãêáôáóôÜóåéò ôïõ &os; Þ áí + ó÷åäéÜæåôå íá ôïðïèåôÞóåôå ôï äßóêï óå êÜðïéï Üëëï + ìç÷Üíçìá. + + + ÐáôÞóôå ENTER óôï åíçìåñùôéêü ìÞíõìá ðïõ + ëÝåé Wrote FDISK partition information out + successfully. + + + ÅðéëÝîôå Quit ãéá íá âãåßôå áðü ôï FDISK Editor êáé ìåôÜ ESCAPE ãéá íá åðéóôñÝøåôå óôï Index menu. @@ -597,7 +598,7 @@ åßíáé üìïéïé. - &prompt.root; cd /dev ; sh MAKDEV ccd0 + &prompt.root; cd /dev ; sh MAKEDEV ccd0 &prompt.root; disklabel -r -w da0 auto &prompt.root; disklabel -r -w da1 auto ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/freebsd-questions/Makefile#2 (text+ko) ==== @@ -1,24 +1,21 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/articles/freebsd-questions/Makefile,v 1.3 2008/01/14 14:19:42 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/articles/freebsd-questions/Makefile,v 1.4 2008/06/16 01:11:48 keramida Exp $ # # %SOURCE% en_US.ISO8859-1/articles/freebsd-questions/Makefile -# %SRCID% 1.1 +# %SRCID% 1.6 MAINTAINER=keramida@FreeBSD.org DOC?= article FORMATS?= html +WITH_ARTICLE_TOC?= YES INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= -# -# SRCS lists the individual SGML files that make up the document. Changes -# to any of these files will force a rebuild -# - -# SGML content SRCS= article.sgml +URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. + .include "${DOC_PREFIX}/share/mk/doc.project.mk" ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/laptop/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/articles/laptop/Makefile,v 1.4 2008/01/14 14:19:42 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/articles/laptop/Makefile,v 1.5 2008/06/16 01:11:48 keramida Exp $ # # %SOURCE% en_US.ISO8859-1/articles/laptop/Makefile -# %SRCID% 1.1 +# %SRCID% 1.4 DOC?= article ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/multi-os/Makefile#2 (text+ko) ==== @@ -1,14 +1,17 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/articles/multi-os/Makefile,v 1.4 2008/01/14 14:19:42 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/articles/multi-os/Makefile,v 1.5 2008/06/16 01:11:49 keramida Exp $ # # %SOURCE% en_US.ISO8859-1/articles/multi-os/Makefile -# %SRCID% 1.8 +# %SRCID% 1.12 DOC?= article FORMATS?= html +WITH_ARTICLE_TOC?= YES + INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= -SRCS= article.sgml +SRCS= article.sgml DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng-packages/Makefile#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: doc/el_GR.ISO8859-7/articles/releng-packages/Makefile,v 1.3 2008/01/14 14:19:43 keramida Exp $ +# $FreeBSD: doc/el_GR.ISO8859-7/articles/releng-packages/Makefile,v 1.4 2008/06/15 03:43:37 keramida Exp $ # -# %SOURCE% articles/releng-packages/Makefile, +# %SOURCE% en_US.ISO8859-1/articles/releng-packages/Makefile # %SRCID% 1.1 DOC?= article ==== //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/books.ent#2 (text+ko) ==== @@ -5,9 +5,9 @@ The FreeBSD Greek Documentation Project - $FreeBSD: doc/el_GR.ISO8859-7/share/sgml/books.ent,v 1.2 2008/01/14 14:19:47 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/share/sgml/books.ent,v 1.3 2008/06/15 03:40:11 keramida Exp $ - %SOURCE% en_US.ISO8859-1/share/sgml/books.ent + %SOURCE% share/sgml/books.ent %SRCID% 1.2 --> ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#2 (text+ko) ==== @@ -13,7 +13,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.274 2008/05/11 19:24:40 pav Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.275 2008/06/20 00:28:50 erwin Exp $ 1999 @@ -2517,8 +2517,7 @@ freefall. It will add a port from the directory you specify, determining the category automatically from the port Makefile. - It will also add an entry to the - CVSROOT/modules file and the port's + It will also add an entry to the port's category Makefile. It was written by &a.mharo; and &a.will;, and is currently maintained by &a.garga;, so please send questions/patches about @@ -2615,11 +2614,6 @@ - Remove the module entry in - CVSROOT/modules. - - - Add an entry to ports/MOVED. @@ -2741,11 +2735,6 @@ - Add the new module entry to - CVSROOT/modules. - - - Add an entry to ports/MOVED, if you remove the original port. @@ -3021,23 +3010,6 @@ - Add the following module entry to - CVSROOT-ports/modules: - ports_categoryname   categoryname - - - The whitespace should be a tab. - - If the categoryname - contains a dash, convert that to an underscore first. - - - - Change all the affected port module entries in - CVSROOT-ports/modules. - - - Add appropriate entries to ports/MOVED. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/compiz-fusion/article.sgml#2 (text+ko) ==== @@ -19,16 +19,16 @@ Manolis Kiagias -
        sonicy@otenet.gr
        +
        manolis@FreeBSD.org
        2008 - Manolis Kiagias + Manolis Kiagias - $FreeBSD: doc/en_US.ISO8859-1/articles/compiz-fusion/article.sgml,v 1.3 2008/05/10 13:32:28 blackend Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/compiz-fusion/article.sgml,v 1.6 2008/06/15 15:58:38 keramida Exp $ &tm-attrib.freebsd; @@ -111,24 +111,27 @@ The latest versions of nVidia cards are supported by the x11/nvidia-driver port.
        + nVidia cards like the GeForce 2MX/3/4 series are supported by - the 96X series of drivers, available in the - x11/nvidia-driver-96xx + the 96XX series of drivers, available + in the x11/nvidia-driver-96xx port. + Even older cards, like GeForce and RIVA TNT are supported - by the 71XX series of drivers, available in the - x11/nvidia-driver-71XX + by the 71XX series of drivers, + available in the + x11/nvidia-driver-71xx port. In fact, nVidia provides detailed information on which card is - supported by which driver. This information is available directly - on their web site: - . + supported by which driver. This information is available directly + on their web site: . @@ -139,7 +142,8 @@ Make sure to update your ports tree using your favorite method - (like csup, CVSup or + (like csup, + CVSup or portsnap) before you install any application from the ports system. Graphics drivers and the desktop effects programs are under heavy development, and are @@ -181,10 +185,10 @@ Driver "nvidia" Start your GUI as usual, and you should be greeted by the nVidia - splash. Everything should work as usual. Note, that at this point you - have only set up &xorg; to use the nVidia - driver, but further configuration is needed before you can actually use - 3D desktop effects. This is described in the following + splash. Everything should work as usual. Note, that at this point + you have only set up &xorg; to use the + nVidia driver, but further configuration is needed before you can + actually use 3D desktop effects. This is described in the following sections. @@ -200,7 +204,6 @@ - Configuring xorg.conf for desktop effects Before you install and run @@ -226,7 +229,7 @@ do): DefaultDepth 24 - Option "AddARGBGLXVisuals" "True" +Option "AddARGBGLXVisuals" "True" Locate the Subsection that refers to the screen resolution that you wish to use. For example, if you wish to @@ -239,8 +242,8 @@ Modes "1280x1024" EndSubSection - A color depth of 24bits is needed for desktop composition, change - the above subsection to: + A color depth of 24 bits is needed for desktop composition, + change the above subsection to: SubSection "Display" Viewport 0 0 @@ -257,19 +260,19 @@ Load "glx" ... - - If you installed the - x11/nvidia-xconfig port, - you should be able to perform most of the above settings by - entering the following commands (as root): - - &prompt.root; nvidia-xconfig --add-argb-glx-visuals + + If you installed the + x11/nvidia-xconfig port, + you should be able to perform most of the above settings by + entering the following commands (as root): + + &prompt.root; nvidia-xconfig --add-argb-glx-visuals &prompt.root; nvidia-xconfig --composite &prompt.root; nvidia-xconfig --depth=24 - You may wish to run nvidia-xonfig -A |more - to see a list of all the options offered by the above - program. + You may wish to run nvidia-xconfig -A | more + to see a list of all the options offered by the above program. + @@ -347,57 +350,55 @@ - Troubleshooting Compiz Fusion - The following section covers frequently asked questions regarding - problems when running - Compiz Fusion. + The following section covers frequently asked questions regarding + problems when running + Compiz Fusion. - - - - I have installed Compiz Fusion, - and after running the commands you mention, my windows are left - without title bars and buttons. What is wrong? - + + + + I have installed + Compiz Fusion, + and after running the commands you mention, my windows are left + without title bars and buttons. What is wrong? + - - You are probably missing a setting in - /etc/X11/xorg.conf. Review this file - carefully and check especially the DefaultDepth and - AddARGBGLXVisuals directives. - - + + You are probably missing a setting in + /etc/X11/xorg.conf. Review this file + carefully and check especially the DefaultDepth + and AddARGBGLXVisuals directives. + + - - - When I run the command to start - Compiz Fusion, the X server - crashes and I am back at the console. What is wrong? - + + + When I run the command to start + Compiz Fusion, the X server + crashes and I am back at the console. What is wrong? + - - If you check your /var/log/Xorg.0.log - file, you will probably find error messages during the X - startup. The most common would be: + + If you check your /var/log/Xorg.0.log + file, you will probably find error messages during the X + startup. The most common would be: - (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X + (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X (EE) NVIDIA(0): log file that the GLX module has been loaded in your X (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If (EE) NVIDIA(0): you continue to encounter problems, Please try (EE) NVIDIA(0): reinstalling the NVIDIA driver. - This is usually the case when you upgrade - &xorg;. You - will need to reinstall the - x11/nvidia-driver port so - glx is built again. - - - + This is usually the case when you upgrade + &xorg;. You will need to reinstall the + x11/nvidia-driver port so + glx is built again. + + + - %articles.ent; The Website - + Preparation - - Get 200MB free disk space. You will need the disk space for the - SGML tools, a subset of the CVS tree, temporary build space and the - installed web pages. If you already have installed the SGML tools and - the CVS tree, you need only ~100MB free disk space. - + + Use a disk with sufficient free space. You may need anything from + 200 MB to over 500 MB, depending on the method you choose. + This space will hold the SGML tools, a subset of the + CVS tree, temporary build space and the + installed web pages. + Make sure your documentation ports are up to date! When in doubt, remove the old ports using &man.pkg.delete.1; command before installing the port. For example, we currently depend on jade-1.2 and if you have installed jade-1.1, please do: - &prompt.root; pkg_delete jade-1.1 + &prompt.root; pkg_delete jade-1.1 - Set up a CVS repository. You need the directories www, doc and - ports in the CVS tree (plus the CVSROOT of course). Please read the - CVSup introduction - on how to mirror a CVS tree or parts of a CVS tree. - - The essential cvsup collections are: www, - doc-all, cvs-base, and - ports-base. - - These collections require ~105MB free disk space. - - A full CVS tree - including src, - doc, www, and - ports - is currently 940MB. + There are two methods to get the files required for the website + build: + + + + Use csup to get a local copy of the files + from a CVSup server. This is the + easiest method, and does not require installation of additional + software. The supfile presented in the next section will always + checkout the latest version of the required files. This is + sufficient if you are simply rebuilding the website and do not + intend to commit any changes. + + + &man.csup.1; became part of the base system in + &os; 6.2-RELEASE. If you are using an earlier version of &os; + you will need to install net/csup + from the Ports Collection. + + + + + Use cvsup in cvs mode to + create and maintain a local CVS + repository with the required files. This will require you to + install a program like + net/cvsup-without-gui, but it is + a more flexible method if you need to have quick access to different + revisions of the doc/www files, revision histories, or if you + intend to commit changes to the central &os; + CVS repository. + + + + + Simple method: Using <command>csup</command> + + The csup command is part of the base system and + already used extensively by most people for updating the + Ports Collection. The following sample supfile can be used to + obtain a checkout of the files required for the website build: + + # +# This file checks out all collections required to rebuild +# the FreeBSD website +# +# Use the nearest CVSup mirror +# listed at http://www.freebsd.org/doc/handbook/mirrors.html. + +*default host=cvsup10.FreeBSD.org +*default base=/var/db +*default prefix=/usr/build +*default release=cvs tag=. +*default delete use-rel-suffix +*default compress + +# This will retrieve the entire doc branch of the FreeBSD repository. + +doc-all + +# This will retrieve the files required for the website + +www + +# This will retrieve some basic ports info required for the build + +ports-base + + You should, of course, change the default host + entry to a CVSup mirror near your + location, and the default prefix entry to the + location where you intend to store the checked out files. Save this + file as e.g. + doc-www-supfile, and + then execute the following command: + + &prompt.root; csup doc-www-supfile + + When this command finishes, you will find the directories + doc/, + www/ and + ports/ under the directory you + specified in default prefix + (/usr/build + in our example). We will use this same directory for the build + process itself, so it would be better to use a filesystem with + sufficient free space. + + That's it! You can now proceed with the + website build. + + + + Advanced method: Maintaining a local + <application>CVS</application> doc/www repository + + This method will give you more advanced options, but will require + you to install the + net/cvsup-without-gui port or + package. + + + The net/cvsup-without-gui + port has a build dependency on + lang/ezm3, a Modula 3 + compiler. This compiler takes quite some time to build, and since + most people will not need it for anything else, it is perhaps best + to use a package to install CVSup. + + + The CVSup utility has a special + cvs mode that allows the retrieval of the + ,v files that make up a CVS + repository. This function is not currently available in + csup. For detailed information on + CVSup, please read the CVSup introduction in the &os; Handbook. + + The supfile shown below will fetch the cvs collections required + for the website build, and create a local + CVS repository: + + # +# This file will create a local CVS repository +# with the collections required for a complete +# FreeBSD website rebuild. It should be used with +# cvsup *only* (csup will not work) + +*default host=cvsup10.FreeBSD.org +*default base=/var/db +*default prefix=/usr/dcvs +*default release=cvs +*default delete use-rel-suffix +*default compress + +# The following collections are needed +# for the website build + +ports-base +doc-all +www + +# These collections are needed +# for CVS functionality + +cvsroot-common +cvsroot-ports +cvsroot-doc + + You should, of course, change the default host + entry to a CVSup mirror near your + location, and the default prefix entry to the + location where you intend to store the repository files. Save this + file as e.g. + doc-www-cvsfile, and + then execute the following command: + + &prompt.root; cvsup doc-www-cvsfile + + It is also advisable to set the CVSROOT environment + variable in your shell's startup files. For example, use + the following entry in your ~/.cshrc file: + + setenv CVSROOT /usr/dcvs + + If you set this variable, you may omit the + argument (shown below) when performing repository operations using + the cvs command. + + Currently, you will need more than 400 MB of free space to + host the repository files. An additional 200 MB will be needed + for the temporary build space. Once the cvsup + command completes, you are ready to check out the files to your build + directory: + + &prompt.root; mkdir /usr/build +&prompt.root; cd /usr/build +&prompt.root; cvs /usr/dcvs co doc www ports + + The above command is consistent with the way + csup checks out the files from the + CVSup servers. When it completes, you + will have a build directory with similar contents to the one used in + the simple csup method. + + You can continue to use the cvsup command + shown above, to update your local CVS + repository on a regular basis. After the initial somewhat lengthy + download, regular updates will only take a few minutes. + - + Build the web pages from scratch - - + + Having completed either of the two methods, you will be ready to >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 11:19:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D3A321065671; Sun, 29 Jun 2008 11:19: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 7D9DA106564A for ; Sun, 29 Jun 2008 11:19:54 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C4E68FC0A for ; Sun, 29 Jun 2008 11:19:54 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5TBJsUs028304 for ; Sun, 29 Jun 2008 11:19:54 GMT (envelope-from strauss@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5TBJs6H028302 for perforce@freebsd.org; Sun, 29 Jun 2008 11:19:54 GMT (envelope-from strauss@FreeBSD.org) Date: Sun, 29 Jun 2008 11:19:54 GMT Message-Id: <200806291119.m5TBJs6H028302@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to strauss@FreeBSD.org using -f From: Anselm Strauss To: Perforce Change Reviews Cc: Subject: PERFORCE change 144266 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, 29 Jun 2008 11:19:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=144266 Change 144266 by strauss@strauss_marvelman on 2008/06/29 11:19:50 - README/TODO cleanup - added small autotools example (unrelated to libarchive) Affected files ... .. //depot/projects/soc2008/strauss_libarchive/GSOC2008#2 edit .. //depot/projects/soc2008/strauss_libarchive/README#8 edit .. //depot/projects/soc2008/strauss_libarchive/TODO#3 edit .. //depot/projects/soc2008/strauss_libarchive/misc/README#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/AUTHORS#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/COPYING#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/ChangeLog#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/INSTALL#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/Makefile.am#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/Makefile.in#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/NEWS#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/README#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/TODO#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/aclocal.m4#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.aux/config.guess#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.aux/config.sub#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.aux/depcomp#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.aux/install-sh#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.aux/ltmain.sh#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.aux/missing#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/config.h.in#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/configure#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/configure.ac#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/hello/Makefile.am#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/hello/Makefile.in#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/hello/hello.c#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/libhello/Makefile.am#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/libhello/Makefile.in#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/libhello/libhello.c#1 add .. //depot/projects/soc2008/strauss_libarchive/misc/autotools-example/src/libhello/libhello.h#1 add Differences ... ==== //depot/projects/soc2008/strauss_libarchive/GSOC2008#2 (text+ko) ==== @@ -1,15 +1,11 @@ -Changed files: - - * README: added header - +Added: -Added files: - * This file * TODO: for todos management + * Stuff in misc/ -Removed files: +Removed: * FreeBSD Makefiles, will/cannot manage them for now: * cpio/Makefile ==== //depot/projects/soc2008/strauss_libarchive/README#8 (text+ko) ==== @@ -5,7 +5,8 @@ information see http://wiki.freebsd.org/AnselmStrauss/LibArchive. Changes within the scope of GSOC 2008 are made by Anselm Strauss - and should all be listed in the GSOC2008 file. +. Important changes in the file/directory structure +should all be listed in the GSOC2008 file. This distribution bundle includes the following components: ==== //depot/projects/soc2008/strauss_libarchive/TODO#3 (text+ko) ==== @@ -1,12 +1,12 @@ To Be Done ========== -- Build does not work outside source dir - Not all P4 keywords do expand (tested on OS X and FreeBSD) Already Done ============ +- Build does not work outside source dir - Enable P4 keyword expansion and adapt all source files - What version will this branch carry, how to update? From owner-p4-projects@FreeBSD.ORG Sun Jun 29 12:36:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EAB9E1065677; Sun, 29 Jun 2008 12:36: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 93125106566C for ; Sun, 29 Jun 2008 12:36:11 +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 818798FC14 for ; Sun, 29 Jun 2008 12:36:11 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5TCaBIW035511 for ; Sun, 29 Jun 2008 12:36:11 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5TCaBoe035509 for perforce@freebsd.org; Sun, 29 Jun 2008 12:36:11 GMT (envelope-from gabor@freebsd.org) Date: Sun, 29 Jun 2008 12:36:11 GMT Message-Id: <200806291236.m5TCaBoe035509@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 144267 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, 29 Jun 2008 12:36:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=144267 Change 144267 by gabor@gabor_server on 2008/06/29 12:35:28 - Drop the GNU compatibility pre-editing workarounds. They don't work entirely and it is very weird to apply hacks in grep for our regex library. If we want better compatibility, the problem should be addressed there. A different behaviour in BSD grep than the behaviour of the base system regex library is clearly unwanted and I'm getting very frustrated of dealing with these weird workarounds. When I can make something compatible, compatibility breaks at another place. It wouldn't lead to anywhere. Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/Makefile#10 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#53 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/Makefile#10 (text+ko) ==== @@ -31,8 +31,4 @@ CFLAGS+= -DWITHOUT_NLS .endif -.if defined(WITHOUT_GNU_COMPAT) -CFLAGS+= -DWITHOUT_GNU_COMPAT -.endif - .include ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#53 (text+ko) ==== @@ -202,92 +202,6 @@ static void add_pattern(char *pat, size_t len) { -#ifndef WITHOUT_GNU_COMPAT - char *ptr, *st; - int lbr, rbr; - -/* Workaround for our libc-regex library for better GNU compatibility. - Our library rejects some non-standard regular expressions, for example - '|' cannot stand with empty subexpressions. In these cases the - non-standard regex will be pre-edited, - e.g. "(|a|b||c|)" will be "(a|b|c)" */ - st = pat; - while (((ptr = strstr(st, "|)"))) != NULL) { - if (strstr(st, "\\|)") != (ptr - 1)) - strlcpy(ptr, &(ptr[1]), strlen(ptr)); - st = ptr; - } - st = pat; - while ((ptr = strstr(st, "(|")) != NULL) { - if ((strstr(st, "(\\|") != ptr) && (strstr(st, "\\(|") != (ptr - 1))) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "||")) != NULL) { - if (strstr(st, "\\||") != (ptr - 1)) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "*?")) != NULL) { - if (strstr(st, "\\*?") != (ptr - 1)) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "?*")) != NULL) { - if (strstr(st, "\\?*") != (ptr - 1)) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "**")) != NULL) { - if ((strstr(st, "\\**") != (ptr - 1)) && (strstr(st, "\\(**") != (ptr - 2))) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "??")) != NULL) { - if (strstr(st, "\\??") != (ptr - 1)) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "^*")) != NULL) { - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - while ((ptr = strstr(st, "(*")) != NULL) { - if (strstr(st, "\\(*") != (ptr - 1)) - strlcpy(&(ptr[1]), &(ptr[2]), strlen(ptr)); - st = ptr + 1; - } - st = pat; - if (Eflag) { - st = pat; - lbr = 0; - while ((ptr = strstr(st, "(")) != NULL) { - if (strstr(st, "\\(") != (ptr - 1)) - lbr++; - st = ptr + 1; - } - st = pat; - rbr = 0; - while ((ptr = strstr(st, ")")) != NULL) { - if (strstr(st, "\\)") != (ptr - 1)) - rbr++; - st = ptr + 1; - } - if (lbr != rbr) { - errx(2, getstr(8)); - } - } - while (pat[0] == '*') - pat++; -#endif - if (len == 0 || matchall) { matchall = 1; return; From owner-p4-projects@FreeBSD.ORG Sun Jun 29 12:39:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 102111065671; Sun, 29 Jun 2008 12:39: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 C0F23106564A for ; Sun, 29 Jun 2008 12:39:14 +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 AF8E98FC18 for ; Sun, 29 Jun 2008 12:39:14 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5TCdEhW035703 for ; Sun, 29 Jun 2008 12:39:14 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5TCdEIZ035701 for perforce@freebsd.org; Sun, 29 Jun 2008 12:39:14 GMT (envelope-from gabor@freebsd.org) Date: Sun, 29 Jun 2008 12:39:14 GMT Message-Id: <200806291239.m5TCdEIZ035701@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 144268 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, 29 Jun 2008 12:39:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144268 Change 144268 by gabor@gabor_server on 2008/06/29 12:39:07 - Allow wider contexts with unsigned long long Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#4 edit .. //depot/projects/soc2008/gabor_textproc/diff/diff.h#3 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#4 (text+ko) ==== @@ -46,7 +46,8 @@ int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag; int sflag, tflag, Tflag, wflag; -int format, context, status; +int format, status; +unsigned long long context; char *start, *ifdefname, *diffargs, *label[2], *ignore_pats; struct stat stb1, stb2; struct excludes *excludes_list; @@ -122,7 +123,6 @@ main(int argc, char **argv) { char *ep, **oargv; - long l; int ch, lastch, gotstdin, prevoptind, newarg; oargv = argv; @@ -139,7 +139,7 @@ usage(); /* disallow -[0-9]+ */ else if (lastch == 'c' || lastch == 'u') context = 0; - else if (!isdigit(lastch) || context > INT_MAX / 10) + else if (!isdigit(lastch) || context > ULLONG_MAX / 10) usage(); context = (context * 10) + (ch - '0'); break; @@ -153,10 +153,9 @@ case 'c': format = D_CONTEXT; if (optarg != NULL) { - l = strtol(optarg, &ep, 10); - if (*ep != '\0' || l < 0 || l >= INT_MAX) - usage(); - context = (int)l; + context = strtoull(optarg, &ep, 10); + if (*ep != '\0' || context == ULLONG_MAX) + err(2, "context out of range\n"); } else context = 3; break; @@ -228,10 +227,9 @@ case 'u': format = D_UNIFIED; if (optarg != NULL) { - l = strtol(optarg, &ep, 10); - if (*ep != '\0' || l < 0 || l >= INT_MAX) - usage(); - context = (int)l; + context = strtoull(optarg, &ep, 10); + if (*ep != '\0' || context == ULLONG_MAX) + err(2, "context out of range\n"); } else context = 3; break; ==== //depot/projects/soc2008/gabor_textproc/diff/diff.h#3 (text+ko) ==== @@ -77,7 +77,8 @@ extern int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag, sflag, tflag, Tflag, wflag; -extern int format, context, status; +extern int format, status; +extern unsigned long long context; extern char *start, *ifdefname, *diffargs, *label[2], *ignore_pats; extern struct stat stb1, stb2; extern struct excludes *excludes_list; From owner-p4-projects@FreeBSD.ORG Sun Jun 29 13:27:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 841451065671; Sun, 29 Jun 2008 13:27: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 41BEF1065670 for ; Sun, 29 Jun 2008 13:27:03 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2E1958FC0C for ; Sun, 29 Jun 2008 13:27:03 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5TDR31h049945 for ; Sun, 29 Jun 2008 13:27:03 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5TDR3F0049943 for perforce@freebsd.org; Sun, 29 Jun 2008 13:27:03 GMT (envelope-from remko@freebsd.org) Date: Sun, 29 Jun 2008 13:27:03 GMT Message-Id: <200806291327.m5TDR3F0049943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 144272 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, 29 Jun 2008 13:27:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144272 Change 144272 by remko@remko_nakur on 2008/06/29 13:26:35 Remove stuff we dont need in our branch. Affected files ... .. //depot/projects/docproj_nl/da_DK.ISO8859-1/Makefile#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/Makefile#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/euro/Makefile#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/euro/article.sgml#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/ipsec-must/Makefile#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/ipsec-must/article.sgml#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/Makefile#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/article.sgml#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/dhcpd.conf#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/install.cfg#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/loader.rc#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/pkgmaker.sh#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/post#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/articles/pxe/pre#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/authors.ent#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/bookinfo.ent#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/catalog#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/disclaimer.sgml#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/l10n.ent#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/legalnotice.sgml#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/license.sgml#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/mailing-lists.ent#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/newsgroups.ent#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/teams.ent#2 delete .. //depot/projects/docproj_nl/da_DK.ISO8859-1/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/contributing-ports/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/contributing-ports/article.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/contributing/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/contributing/article.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/explaining-bsd/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/laptop/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/laptop/article.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/new-users/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/new-users/article.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/version-guide/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/articles/version-guide/article.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/Makefile.inc#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/faq/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/faq/book.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/book.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/chapter.decl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/chapters.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/colophon.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/config/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/desktop/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/jails/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/mac/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/newsgroups.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/preface/preface.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/printing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/security/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/txtfiles.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/users/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/porters-handbook/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/porters-handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/books/porters-handbook/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/flyer/Makefile#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/flyer/flyer.tex#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/articles.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/bibliography.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/bookinfo.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/books.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/catalog#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/l10n.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/legalnotice.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/mailing-lists.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/mirrors-local.xsl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/newsgroups.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/teams.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/trademarks.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/trademarks.sgml#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/transtable-local.xsl#2 delete .. //depot/projects/docproj_nl/de_DE.ISO8859-1/share/sgml/transtable.xml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/cvs-freebsd/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/dialup-firewall/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/explaining-bsd/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/explaining-bsd/article.sgml#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/formatting-media/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/formatting-media/article.sgml#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/freebsd-questions/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/freebsd-questions/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/greek-language-support/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/laptop/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/laptop/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/multi-os/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/multi-os/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/new-users/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/new-users/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/problem-reports/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/problem-reports/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng-packages/Makefile#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng-packages/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng-packages/extra.css#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng/article.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/articles/releng/extra.css#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/Makefile.inc#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/faq/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/advanced-networking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/audit/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/basics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/basics/example-dir1.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/basics/example-dir2.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/basics/example-dir3.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/basics/example-dir4.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/basics/example-dir5.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/boot/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/colophon.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/config/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/cutting-edge/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/desktop/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/disks/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/firewalls/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/geom/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/install/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/install/example-dir1.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/install/example-dir2.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/install/example-dir3.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/install/example-dir4.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/install/example-dir5.dot#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/introduction/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/jails/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/kernelconfig/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/l10n/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/mac/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/mail/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/network-servers/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/pgpkeys/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/ports/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/ppp-and-slip/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/preface/preface.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/security/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/serialcomms/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/txtfiles.ent#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/users/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/vinum/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/books/handbook/x11/chapter.sgml#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/mk/doc.local.mk#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/bookinfo.ent#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/books.ent#3 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/catalog#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/l10n.ent#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/sgml/urls.ent#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/tools/checkupdate/Makefile#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.1#2 delete .. //depot/projects/docproj_nl/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.py#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/FAQ.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/acknowledgments.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/admin.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/applications.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/commercial.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/hackers.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/hardware.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/includes.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/install.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/kernelconfig.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/misc.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/network.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/preface.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/serial.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/troubleshoot.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/FAQ/x.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/casestudy-argentina.com/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/casestudy-argentina.com/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/contributing/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/contributing/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/cvs-freebsd/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/cvs-freebsd/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/dialup-firewall/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/dialup-firewall/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/euro/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/euro/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/explaining-bsd/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/explaining-bsd/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fbsd-from-scratch/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fbsd-from-scratch/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fbsd-from-scratch/fase_1.sh#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fbsd-from-scratch/fase_2.sh#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fbsd-from-scratch/fase_3.mk#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fdp-es/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/fdp-es/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/laptop/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/laptop/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/linux-comparison/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/linux-comparison/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/linux-users/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/linux-users/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/mailing-list-faq/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/mailing-list-faq/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/nanobsd/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/nanobsd/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/p4-primer/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/p4-primer/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/problem-reports/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/problem-reports/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/releng/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/releng/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/releng/extra.css#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/version-guide/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/version-guide/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/zip-drive/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/articles/zip-drive/article.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/Makefile.inc#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/faq/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/faq/book.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/audit/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/authors.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/backups/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/colophon.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/config/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/contrib/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/desktop/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/eresources/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/firewalls/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/firewalls/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/geom/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/install/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/jails/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/mac/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/multimedia/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/newsgroups.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/pgpkeys/pgpkeys.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/policies/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/preface/preface.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/printing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/security/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/txtfiles.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/users/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/vinum/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/flyer/Makefile#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/flyer/flyer.tex#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/articles.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/bookinfo.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/books.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/catalog#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/es-mailing-lists.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/l10n.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/legalnotice.sgml#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/mailing-lists.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/newsgroups.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/teams.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/trademarks.ent#2 delete .. //depot/projects/docproj_nl/es_ES.ISO8859-1/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/committers-guide/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/committers-guide/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/contributing/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/contributing/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/contributors/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/contributors/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/cvsup-advanced/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/cvsup-advanced/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ddwg/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ddwg/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/dialup-firewall/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/dialup-firewall/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/diskless-x/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/diskless-x/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/euro/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/euro/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/filtering-bridges/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/filtering-bridges/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/fonts/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/fonts/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/formatting-media/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/formatting-media/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ip-aliasing/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ip-aliasing/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ipsec-must/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ipsec-must/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/java-tomcat/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/java-tomcat/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/laptop/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/laptop/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/make-world/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/make-world/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/mh/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/mh/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/multi-os/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/multi-os/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/nanobsd/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/nanobsd/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/new-users/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/new-users/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ntfs/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ntfs/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pam/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pam/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pam/converse.c#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pam/pam_unix.c#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pam/su.c#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ppp/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/ppp/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pr-guidelines/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pr-guidelines/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/problem-reports/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/problem-reports/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/programming-tools/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/dhcpd.conf#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/install.cfg#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/loader.rc#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/pkgmaker.sh#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/post#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/pxe/pre#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng-packages/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng-packages/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng-packages/extra.css#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng/branches.ascii#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng/branches.pic#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/releng/extra.css#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/zip-drive/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/articles/zip-drive/article.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/Makefile.inc#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/locking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/pci/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/scsi/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/secure/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/developers-handbook/usb/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/faq/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/faq/book.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/book.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/chapters.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/in-progress.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/overview/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/the-faq/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/the-handbook/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/todo.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/tools/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/translations/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/advanced-networking/isdn-bus.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/advanced-networking/isdn-twisted-pair.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/advanced-networking/natd.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/advanced-networking/net-routing.pic#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/audit/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/audit/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/basics/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/bibliography/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/boot/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/boot/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/colophon.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/config/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/config/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/cutting-edge/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/desktop/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/desktop/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/disks/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/disks/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/eresources/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/eresources/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/firewalls/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/firewalls/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/geom/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/geom/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/disk-layout.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/example-dir1.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/example-dir2.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/example-dir3.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/example-dir4.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/install/example-dir5.eps#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/introduction/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/introduction/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/jails/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/kernelconfig/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/l10n/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/mac/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/mac/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/mail/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/mirrors/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/multimedia/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/network-servers/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/pgpkeys/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/ports/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/preface/preface.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/serialcomms/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/users/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/users/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/vinum/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/vinum/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/virtualization/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/x11/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/porters-handbook/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/porters-handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/porters-handbook/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/ppp-primer/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/books/ppp-primer/book.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/flyer/Makefile#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/flyer/flyer.tex#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man1/builtin.1#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man1/cat.1#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man1/chkey.1#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man1/echo.1#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man1/head.1#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man1/intro.1#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/agp.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/amd.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/cardbus.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/man4.i386/aic.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/man4.i386/wt.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/ncr.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/sd.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/sn.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/spic.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/st.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man4/uscanner.4#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man5/intro.5#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man5/publickey.5#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man6/intro.6#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man7/ascii.7#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/man/man7/intro.7#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/abstract.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/artheader.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/authors.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/bookinfo.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/books.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/catalog#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/copyright.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/disclaimer.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/l10n.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/legalnotice.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/license.sgml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/mailing-lists.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/mirrors-local.xsl#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/newsgroups.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/teams.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/trademarks.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/transtable-local.xsl#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/transtable.xml#2 delete .. //depot/projects/docproj_nl/fr_FR.ISO8859-1/share/sgml/urls.ent#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/articles/Makefile.inc#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/articles/explaining-bsd/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/articles/explaining-bsd/article.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/articles/linux-comparison/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/Makefile.inc#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/advanced-networking/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/advanced-networking/isdn-bus.eps#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/advanced-networking/isdn-twisted-pair.eps#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/advanced-networking/natd.eps#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/advanced-networking/net-routing.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/advanced-networking/static-routes.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/audit/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/audit/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/basics/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/bibliography/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/boot/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/boot/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/chapters.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/colophon.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/config/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/cutting-edge/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/desktop/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/disks/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/eresources/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/firewalls/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/geom/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/geom/striping.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/disk-layout.eps#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/example-dir1.eps#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/example-dir2.eps#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/example-dir3.eps#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/example-dir4.eps#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/install/example-dir5.eps#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/introduction/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/kernelconfig/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/l10n/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/l10n/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/linuxemu/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mac/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/mutt1.scr#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/mutt2.scr#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/mutt3.scr#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/pine3.scr#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/pine4.scr#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mail/pine5.scr#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mirrors/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/multimedia/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/network-servers/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/pgpkeys/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/pgpkeys/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/ports/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/preface/preface.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/printing/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/security/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/security/ipsec-crypt-pkt.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/security/ipsec-encap-pkt.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/security/ipsec-network.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/security/ipsec-out-pkt.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/serialcomms/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/txtfiles.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/users/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/users/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-concat.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-mirrored-vol.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-raid10-vol.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-raid5-org.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-simple-vol.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-striped-vol.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/vinum/vinum-striped.pic#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/virtualization/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/x11/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/flyer/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/flyer/flyer.tex#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/articles.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/bookinfo.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/catalog#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/freebsd.dsl#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/freebsd.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/l10n.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/legalnotice.sgml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/mirrors-local.xsl#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/newsgroups.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/teams.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/trademarks.ent#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/transtable-local.xsl#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/share/sgml/transtable.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-5.3.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-dev-model.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-linux-license.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-organization.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-recent-releases.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-release-process.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/freebsd-users.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/common/what-is-freebsd.xml#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/freebsd-general/Makefile#3 delete .. //depot/projects/docproj_nl/hu_HU.ISO8859-2/slides/freebsd-general/slides.xml#3 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/committers-guide/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/committers-guide/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/euro/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/euro/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/explaining-bsd/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/filtering-bridges/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/multi-os/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/multi-os/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/new-users/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/new-users/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/vm-design/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/articles/vm-design/article.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/Makefile.inc#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/advanced-networking/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/audit/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/audit/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/basics/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/bibliography/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/boot/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/colophon.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/config/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/config/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/cutting-edge/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/cutting-edge/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/desktop/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/disks/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/disks/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/eresources/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/firewalls/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/firewalls/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/geom/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/geom/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/install/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/install/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/introduction/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/jails/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/jails/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/kernelconfig/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/kernelconfig/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/l10n/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/linuxemu/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/mac/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/mac/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/mail/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/mirrors/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/multimedia/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/network-servers/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/network-servers/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/pgpkeys/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/ports/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/ppp-and-slip/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/ppp-and-slip/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/preface/preface.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/printing/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/printing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/security/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/security/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/serialcomms/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/serialcomms/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/txtfiles.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/users/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/users/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/vinum/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/virtualization/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/virtualization/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/x11/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/book.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/chapters.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/command-summary/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/commands/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/editors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/glossary/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/history/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/preface/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/shell-programming/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/shells/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/special-features/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/structure/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/system-resource/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/books/unix-introduction/text-processing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/flyer/Makefile#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/flyer/flyer.tex#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/articles.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/bookinfo.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/books.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/catalog#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/glossary/freebsd-glossary.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/l10n.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/legalnotice.sgml#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/mailing-lists.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/trademarks.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/translators.ent#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/transtable-local.xsl#2 delete .. //depot/projects/docproj_nl/it_IT.ISO8859-15/share/sgml/transtable.xml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/Makefile.inc#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/contributing/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/contributing/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/contributors/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/contributors/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/dialup-firewall/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/dialup-firewall/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/diskless-x/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/diskless-x/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/stage_1.conf.default#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/stage_1.sh#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/stage_2.conf.default#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/stage_2.sh#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fbsd-from-scratch/stage_3.mk#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fonts/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/fonts/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/ipsec-must/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/ipsec-must/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/multi-os/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/multi-os/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/problem-reports/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/problem-reports/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/zip-drive/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/articles/zip-drive/article.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/Makefile.inc#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/design-44bsd/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/design-44bsd/book.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/design-44bsd/fig1.eps#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/design-44bsd/fig2.eps#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/design-44bsd/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/faq/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/faq/book.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/book.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/chapter.decl#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/chapters.ent#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/examples/appendix.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/overview/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/psgml-mode/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/see-also/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/structure/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/stylesheets/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/the-website/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/tools/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/translations/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/fdp-primer/writing-style/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/advanced-networking/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/advanced-networking/isdn-bus.eps#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/advanced-networking/isdn-twisted-pair.eps#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/advanced-networking/natd.eps#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/appendix.decl#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/backups/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/backups/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/basics/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/basics/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/bibliography/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/bibliography/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/boot/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/boot/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/chapter.decl#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/chapters.ent#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/colophon.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/config/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/config/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/contrib/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/contrib/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/cutting-edge/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/cutting-edge/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/desktop/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/desktop/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/disks/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/disks/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/eresources/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/eresources/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/hw/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/install/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/install/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/internals/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/introduction/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/introduction/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/jcontrib/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/kernelconfig/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/kernelconfig/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/kerneldebug/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/kerneldebug/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/kernelopts/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/kernelopts/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/l10n/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/l10n/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/linuxemu/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/linuxemu/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/mail/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/mail/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/mirrors/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/mirrors/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/multimedia/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/multimedia/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/pgpkeys/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/pgpkeys/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/policies/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/policies/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/ports/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/ports/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/ppp-and-slip/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/ppp-and-slip/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/preface/preface.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/printing/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/printing/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/security/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/security/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/serialcomms/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/staff/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/staff/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/txtfiles.ent#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/users/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/users/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/x11/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/handbook/x11/chapter.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/porters-handbook/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/porters-handbook/book.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/porters-handbook/freebsd.dsl#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/ppp-primer/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/books/ppp-primer/book.sgml#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/Makefile.inc#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/Makefile#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/addftinfo.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/addr2line.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/afmtodit.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/apply.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/apropos.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/ar.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/as.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/asa.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/at.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/basename.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/bc.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/bdes.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/biff.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/brandelf.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/bsdtar.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/bsnmpd.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/bthost.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/btsockstat.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/builtin.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/bzip2.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/c89.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/c99.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/calendar.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/cap_mkdb.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/cat.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/catman.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/cdcontrol.1#2 delete .. //depot/projects/docproj_nl/ja_JP.eucJP/man/man1/checknr.1#2 delete >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 29 13:48:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 785EF1065682; Sun, 29 Jun 2008 13:48: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 39450106567A for ; Sun, 29 Jun 2008 13:48:25 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 26D238FC1C for ; Sun, 29 Jun 2008 13:48:25 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5TDmP1O051703 for ; Sun, 29 Jun 2008 13:48:25 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5TDmOZB051701 for perforce@freebsd.org; Sun, 29 Jun 2008 13:48:24 GMT (envelope-from remko@freebsd.org) Date: Sun, 29 Jun 2008 13:48:24 GMT Message-Id: <200806291348.m5TDmOZB051701@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 144274 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, 29 Jun 2008 13:48:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=144274 Change 144274 by remko@remko_nakur on 2008/06/29 13:48:15 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/Makefile#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.develalumni.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/cups/Makefile#1 branch .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/cups/article.sgml#1 branch .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/ldap-auth/Makefile#1 branch .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/ldap-auth/article.sgml#1 branch .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/problem-reports/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/config/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/install/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mac/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mail/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/authors.ent#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/mailing-lists.ent#2 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/Makefile#6 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml#8 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/book.sgml#5 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/chapters.ent#5 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mac/chapter.sgml#5 integrate .. //depot/projects/docproj_nl/ru_RU.KOI8-R/books/handbook/users/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml#2 integrate .. //depot/projects/docproj_nl/share/pgpkeys/ed.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/manolis.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#2 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys.ent#2 integrate .. //depot/projects/docproj_nl/share/pgpkeys/stas.key#2 integrate .. //depot/projects/docproj_nl/share/sgml/freebsd.dsl#2 integrate .. //depot/projects/docproj_nl/share/sgml/man-refs.ent#2 integrate .. //depot/projects/docproj_nl/zh_CN.GB2312/articles/Makefile#2 integrate .. //depot/projects/docproj_nl/zh_CN.GB2312/articles/linux-users/Makefile#1 branch .. //depot/projects/docproj_nl/zh_CN.GB2312/articles/linux-users/article.sgml#1 branch .. //depot/projects/docproj_nl/zh_CN.GB2312/articles/remote-install/Makefile#1 branch .. //depot/projects/docproj_nl/zh_CN.GB2312/articles/remote-install/article.sgml#1 branch .. //depot/projects/docproj_nl/zh_TW.Big5/articles/Makefile#2 integrate .. //depot/projects/docproj_nl/zh_TW.Big5/articles/remote-install/Makefile#1 branch .. //depot/projects/docproj_nl/zh_TW.Big5/articles/remote-install/article.sgml#1 branch Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.58 2008/04/28 15:44:35 gabor Exp $ +# $FreeBSD: doc/en_US.ISO8859-1/articles/Makefile,v 1.60 2008/05/31 13:32:19 remko Exp $ SUBDIR = SUBDIR+= 5-roadmap @@ -12,6 +12,7 @@ SUBDIR+= contributing SUBDIR+= contributing-ports SUBDIR+= contributors +SUBDIR+= cups SUBDIR+= cvs-freebsd SUBDIR+= cvsup-advanced SUBDIR+= dialup-firewall @@ -29,6 +30,7 @@ SUBDIR+= hubs SUBDIR+= ipsec-must SUBDIR+= laptop +SUBDIR+= ldap-auth SUBDIR+= linux-comparison SUBDIR+= linux-emulation SUBDIR+= linux-users ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml#2 (text+ko) ==== @@ -23,7 +23,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml,v 1.5 2006/10/16 12:35:23 keramida Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml,v 1.7 2008/05/28 21:36:45 keramida Exp $ &tm-attrib.freebsd; @@ -47,7 +47,7 @@ Very Brief Open Source History - Long before the term Open Source was used, software was + Long before the term Open Source was used, software was developed by loose associations of programmers and freely exchanged. Starting in the early 1950's, organizations such as SHARE and DECUS developed much of the @@ -106,7 +106,7 @@ converted Unix to 32-bits, added virtual memory, and implemented the version of the TCP/IP stack upon which the Internet was essentially built. UCB made BSD available for the cost of media, - under what became known as the BSD license. A customer purchased + under what became known as the BSD license. A customer purchased Unix from AT&T and then ordered a BSD tape from UCB. In the mid-1980s a government anti-trust case against ATT ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#2 (text+ko) ==== @@ -1,4 +1,4 @@ - + + + @@ -324,7 +324,7 @@ 2003) - + &a.amurai; (1995 - 2003) @@ -705,8 +705,8 @@ Andrew L. Moore (1993 - 1995) - - @@ -1539,50 +1539,254 @@ + + + + Tom + Rhodes + Ecrit par + + + OpenSSL sécurité OpenSSL - OpenSSL + + Une des caractéristiques que de nombreux utilisateurs + ignorent souvent est la présence des outils + OpenSSL dans le système &os;. + OpenSSL fournit une couche de + transport des données chiffrée par-dessus la + couche de communication, lui permettant ainsi d'être + liée à de nombreux services et applications + réseau. + + Les applications d'OpenSSL + pourront être l'authentification chiffrée de + clients de messagerie, les transactions via le Web comme les + paiements par carte bancaire et bien plus encore. De nombreux + logiciels portés tels que www/apache13-ssl, et mail/sylpheed-claws offriront un + support pour OpenSSL lors de leur + compilation. + + + Dans la plupart des cas le catalogue des logiciels + portés tentera de compiler le logiciel porté + security/openssl à + moins que la variable &man.make.1; + WITH_OPENSSL_BASE ne soit explicitement + fixée à la valeur yes. + + + La version d'OpenSSL fournie avec + &os; supporte les protocoles de sécurité + réseau Secure Sockets Layer v2/v3 + (SSLv2/SSLv3), et Transport Layer Security + v1 (TLSv1) et peut être utilisée comme + bibliothèque de chiffrement d'usage + général. + + + Bien que OpenSSL supporte + l'algorithme IDEA, il est + désactivé par défaut en raison des + problèmes de brevets aux USA. Pour l'utiliser, le + texte de la licence devrait être consulté et si + les termes de cette licence sont acceptables, la variable + MAKE_IDEA doit être activée + dans le fichier make.conf. + + + Une des utilisations les plus courantes + d'OpenSSL est de fournir des + certificats utilisables avec des applications logicielles. Ces + certificats assurent que les références de la + société ou d'un individu sont valides et non + frauduleuses. Si le certificat en question n'a pas + été vérifié par une des nombreuses + autorité de certification + (Certificate Authorities) ou + CAs, une alerte est + généralement produite. Une autorité de + certification est une société, comme VeriSign, qui signera les + certificats afin de valider les références + d'individus ou de sociétés. Ce processus a un + coût et n'est pas obligatoire pour utiliser des + certificats, cependant cela pourra mettre plus à l'aise + les utilisateurs les plus paranoïaques. + + + Générer des certificats + + + OpenSSL + génération de certificats + + + Pour générer un certificat, la commande + suivante est disponible: + + &prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem +Generating a 1024 bit RSA private key +................++++++ +.......................................++++++ +writing new private key to 'cert.pem' +----- +You are about to be asked to enter information that will be incorporated +into your certificate request. +What you are about to enter is what is called a Distinguished Name or a DN. +There are quite a few fields but you can leave some blank +For some fields there will be a default value, +If you enter '.', the field will be left blank. +----- +Country Name (2 letter code) [AU]:US +State or Province Name (full name) [Some-State]:PA +Locality Name (eg, city) []:Pittsburgh +Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company +Organizational Unit Name (eg, section) []:Systems Administrator +Common Name (eg, YOUR name) []:localhost.example.org +Email Address []:trhodes@FreeBSD.org + +Please enter the following 'extra' attributes +to be sent with your certificate request +A challenge password []:SOME PASSWORD +An optional company name []:Another Name + + Notez la réponse à la question Common + Name qui est un nom de domaine. Cette question + demande l'entrée d'un serveur de noms à des fins + de vérification; entrer autre chose qu'un nom de + domaine produira un certificat inutilisable. D'autres options + sont disponibles comme par exemple: la date d'expiration, des + algorithmes de chiffrement alternatifs, etc. Une liste + complète peut être obtenue en consultant la page + de manuel &man.openssl.1;. + + Deux fichiers doivent maintenant être + présents dans le répertoire dans lequel la + commande a été exécutée. La + demande de certificat, req.pem, peut + être envoyée à une autorité de + certification qui validera les références que + vous avez saisies, signera la demande et vous retournera le + certificat. Le deuxième fichier s'appellera + cert.pem et sera la clé + privée du certificat et devra être à tout + prix protégée; si ce fichier tombe dans d'autres + mains, il pourra être utilisé pour imiter votre + identité (ou votre serveur). + + Pour les cas où une signature d'une + CA n'est pas indispensable, un certificat + auto-signé peut être créé. + Générez tout d'abord la clé + RSA: + + &prompt.root; openssl dsaparam -rand -genkey -out myRSA.key 1024 + + Générez ensuite la clé de la + CA: - Depuis FreeBSD 4.0, la bibliothèque OpenSSL fait - partie du système de base. OpenSSL fournit une - bibliothèque de chiffrement d'usage général, - ainsi que les protocoles de sécurité réseau - Secure Sockets Layer v2/v3 (SSLv2/SSLv3) - et Transport Layer Security v1 - (TLSv1). + &prompt.root; openssl gendsa -des3 -out myca.key myRSA.key - Cependant, un des algorithmes (précisément - IDEA) inclus dans OpenSSL est protégé par des - brevets aux USA et ailleurs, et n'est pas utilisable sans - restriction. IDEA est inclus dans la version &os; d'OpenSSL, - mais n'est pas compilé par défaut. Si vous désirez - l'utiliser, et que vous acceptez les termes de la licence, - activez l'option MAKE_IDEA dans le fichier - /etc/make.conf et recompilez vos sources - en utilisant la commande make world. + Utilisez cette clé pour créer le + certificat: - Aujourd'hui, l'algorithme RSA est libre d'utilisation - aux USA et ailleurs. Il fut protégé par un brevet - dans le passé. + &prompt.root; openssl req -new -x509 -days 365 -key myca.key -out new.crt - - OpenSSL - installation - + Deux fichiers devraient être présents + maintenant dans le répertoire: un fichier de signature + de l'autorité de certification, + myca.key, et le certificat + lui-même, new.crt. Ces fichiers + doivent être placés dans un répertoire, de + préférence sous /etc, qui est uniquement lisible + que par root. Les permissions 0700 + devraient convenir et peuvent être fixées + à l'aide de l'utilitaire + chmod. + - Installation du code source + Utilisation des certificats, un exemple + + A quoi peuvent servir ces fichiers? Un bon exemple serait + le chiffrage des connexions au MTA + sendmail. Cela permettra de faire + disparaître l'utilisation d'une authentification en + clair pour les utilisateurs qui envoient du courrier via le + MTA local. + + + Ce n'est pas la meilleure utilisation au monde + étant donné que certains clients de messagerie + afficheront une erreur si le certificat n'a pas + été installé localement. Reportez-vous + à la documentation du logiciel pour plus + d'information sur l'installation de certificats. + + + Les lignes suivantes doivent être ajoutées + dans le fichier .mc local: + + dnl SSL Options +define(`confCACERT_PATH',`/etc/certs')dnl +define(`confCACERT',`/etc/certs/new.crt')dnl +define(`confSERVER_CERT',`/etc/certs/new.crt')dnl +define(`confSERVER_KEY',`/etc/certs/myca.key')dnl +define(`confTLS_SRV_OPTIONS', `V')dnl + + /etc/certs/ est le + répertoire à utiliser pour stocker localement + les certificats et les clés. La dernière + condition nécessaire étant une reconstruction du + fichier .cf. Cela se fait facilement en + tapant make install + à l'intérieur du répertoire /etc/mail. Suivi d'un + make restart qui + devrait relancer le daemon + sendmail. + + Si tout s'est bien passé il n'y aura pas de message + d'erreur dans le fichier /var/log/maillog + et sendmail apparaîtra dans + la liste des processus. + + Comme test simple, connectez vous au serveur de messagerie + à l'aide de l'utilitaire &man.telnet.1;: + + &prompt.root; telnet example.com 25 +Trying 192.0.34.166... +Connected to example.com. +Escape character is '^]'. +220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) +ehlo example.com +250-example.com Hello example.com [192.0.34.166], pleased to meet you +250-ENHANCEDSTATUSCODES +250-PIPELINING +250-8BITMIME +250-SIZE +250-DSN +250-ETRN +250-AUTH LOGIN PLAIN +250-STARTTLS +250-DELIVERBY +250 HELP +quit +221 2.0.0 example.com closing connection +Connection closed by foreign host. - OpenSSL fait partie des catalogues - CVSup src-crypto - et src-secure. Reportez-vous à la - section Se procurer FreeBSD pour - savoir comment se procurer et mettre à jour le code - source de &os;. + Si la ligne STARTTLS apparaît dans la + sortie, cela signifie alors que tout fonctionne + correctement. @@ -2603,10 +2807,101 @@ Portaudit - Monitoring Third Party Security Issues ** Traduction en - Cours ** + Surveillance des problèmes de sécurité + relatifs aux programmes tierce-partie + + Ces dernières années, le monde de la + sécurité a fait beaucoup de progrès dans la + manière d'évaluer les + vulnérabilités. Le risque d'une intrusion dans le + système augmente avec l'installation et la configuration + d'utilitaires tierce-partie et cela pour quasiment n'importe + quel système d'exploitation disponible + aujourd'hui. + + L'évaluation des vulnérabilités est un + facteur clé de la politique de sécurité, + alors que &os; publie des avis pour le système de base, + faire de même pour les programmes tierce-partie + dépasse les capacités du projet &os;. Il existe + un moyen d'atténuer les vulnérabilités des + logiciels tierce-partie et de prévenir les + administrateurs des problèmes de sécurité + connus. Un outil &os; connu sous le nom de + Portaudit existe dans cet unique + but. + + Le logiciel porté ports-mgmt/portaudit consulte une base de + données, mise à jour et maintenue par + l'équipe de sécurité de &os; et les + développeurs des logiciels portés, à la + recherche de problèmes de sécurité + connus. + + Pour utiliser Portaudit, ce + dernier doit être installé à partir du + catalogue des logiciels portés: + + &prompt.root; cd /usr/ports/ports-mgmt/portaudit && make install clean + + Lors du processus d'installation, les fichiers de + configuration de &man.periodic.8; seront mis à jour, + autorisant l'ajout des résultats de + Portaudit dans l'exécution + quotidienne du rapport de sécurité. Assurez-vous + que les rapports de sécurité quotidiens, qui sont + envoyés au compte messagerie de + root, sont bien lus. Pas plus de + configuration ne sera nécessaire. + + Après l'installation, un administrateur peut mettre + à jour la base de données et afficher les + vulnérabilités connues des logiciels + installés en invoquant la commande suivante: + + &prompt.root; portaudit -Fda + + + La base de données sera automatiquement mise + à jour lors de l'exécution de &man.periodic.8;, + cela rendant par conséquent facultative la commande + précédente. Elle n'est requise que pour les + exemples qui vont suivre. + + + Pour contrôler à n'importe quel moment les + programmes tierce-partie installés à partir du + catalogue des logiciels portés, un administrateur n'aura + qu'à exécuter la commande suivante: + + &prompt.root; portaudit -a + + Portaudit produira pour les + logiciels vulnérables quelque chose comme ceci: + + Affected package: cups-base-1.1.22.0_1 +Type of problem: cups-base -- HPGL buffer overflow vulnerability. +Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html> + +1 problem(s) in your installed packages found. + +You are advised to update or deinstall the affected package(s) immediately. + + En faisant pointer un navigateur Web sur + l'URL proposée, un administrateur + pourra obtenir plus d'information au sujet de la + vulnérabilité en question. Cela comprendra les + versions affectées, listées par version du + logiciel porté &os;, ainsi que des liens vers d'autres + sites Web pouvant contenir des avis de + sécurité. - + En résumé, + Portaudit est un outil puissant et + extrêmement utile quand il est employé + conjointement avec le logiciel + Portupgrade. ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/Makefile#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: doc/zh_TW.Big5/books/handbook/Makefile,v 1.9 2008/05/01 05:09:34 chinsan Exp $ +# $FreeBSD: doc/zh_TW.Big5/books/handbook/Makefile,v 1.10 2008/06/29 16:05:30 chinsan Exp $ # Original revision: 1.108 # # Build the FreeBSD Handbook. @@ -213,7 +213,7 @@ SRCS+= geom/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml -#SRCS+= jails/chapter.sgml +SRCS+= jails/chapter.sgml SRCS+= kernelconfig/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/book.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -24,6 +24,7 @@ + @@ -74,6 +75,7 @@ 2005 2006 2007 + 2008 FreeBSD ¤å¥ó­pµe @@ -243,6 +245,7 @@ + ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/chapters.ent#5 (text+ko) ==== @@ -6,7 +6,7 @@ Chapters should be listed in the order in which they are referenced. - $FreeBSD: doc/zh_TW.Big5/books/handbook/chapters.ent,v 1.4 2007/10/12 17:41:08 chinsan Exp $ + $FreeBSD: doc/zh_TW.Big5/books/handbook/chapters.ent,v 1.5 2008/06/29 16:05:30 chinsan Exp $ Original revision: 1.33 --> @@ -31,7 +31,7 @@ - + ==== //depot/projects/dtrace/ports/MOVED#98 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1636 2008/06/23 17:34:34 novel Exp $ +# $FreeBSD: ports/MOVED,v 1.1637 2008/06/29 16:48:00 simon Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3517,3 +3517,4 @@ java/bsh|lang/bsh|2008-06-22|Moved to lang/bsh www/mod_security2|www/mod_security21|2008-06-22|Moved to www/mod_security2. security/gnutls-devel||2008-06-23|Removed +security/ca-roots||2008-06-29|No longer supported by FreeBSD Security Officer ==== //depot/projects/dtrace/src/lib/libc/stdio/Makefile.inc#6 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 4/17/94 -# $FreeBSD: src/lib/libc/stdio/Makefile.inc,v 1.38 2008/05/02 15:25:07 jhb Exp $ +# $FreeBSD: src/lib/libc/stdio/Makefile.inc,v 1.39 2008/06/29 21:52:40 das Exp $ # stdio sources .PATH: ${.CURDIR}/stdio @@ -12,7 +12,8 @@ ftell.c funopen.c fvwrite.c fwalk.c fwide.c fwprintf.c fwscanf.c \ fwrite.c getc.c \ getchar.c gets.c getw.c getwc.c getwchar.c makebuf.c mktemp.c \ - perror.c printf.c putc.c putchar.c puts.c putw.c putwc.c putwchar.c \ + perror.c printf.c printf-pos.c putc.c putchar.c \ + puts.c putw.c putwc.c putwchar.c \ refill.c remove.c rewind.c rget.c scanf.c setbuf.c setbuffer.c \ setvbuf.c snprintf.c sprintf.c sscanf.c stdio.c swprintf.c swscanf.c \ tempnam.c tmpfile.c \ ==== //depot/projects/dtrace/src/lib/libc/stdio/vfprintf.c#8 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.78 2008/04/17 22:17:54 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.81 2008/06/29 22:54:26 das Exp $"); /* * Actual printf innards. @@ -62,46 +62,7 @@ #include "libc_private.h" #include "local.h" #include "fvwrite.h" - -union arg { - int intarg; - u_int uintarg; - long longarg; - u_long ulongarg; - long long longlongarg; - unsigned long long ulonglongarg; - ptrdiff_t ptrdiffarg; - size_t sizearg; - intmax_t intmaxarg; - uintmax_t uintmaxarg; - void *pvoidarg; - char *pchararg; - signed char *pschararg; - short *pshortarg; - int *pintarg; - long *plongarg; - long long *plonglongarg; - ptrdiff_t *pptrdiffarg; - size_t *psizearg; - intmax_t *pintmaxarg; -#ifndef NO_FLOATING_POINT - double doublearg; - long double longdoublearg; -#endif - wint_t wintarg; - wchar_t *pwchararg; -}; - -/* - * Type ids for argument type table. - */ -enum typeid { - T_UNUSED, TP_SHORT, T_INT, T_U_INT, TP_INT, - T_LONG, T_U_LONG, TP_LONG, T_LLONG, T_U_LLONG, TP_LLONG, - T_PTRDIFFT, TP_PTRDIFFT, T_SIZET, TP_SIZET, - T_INTMAXT, T_UINTMAXT, TP_INTMAXT, TP_VOID, TP_CHAR, TP_SCHAR, - T_DOUBLE, T_LONG_DOUBLE, T_WINT, TP_WCHAR -}; +#include "printflocal.h" static int __sprint(FILE *, struct __suio *); static int __sbprintf(FILE *, const char *, va_list) __printflike(2, 0); @@ -110,8 +71,6 @@ static char *__ultoa(u_long, char *, int, int, const char *, int, char, const char *); static char *__wcsconv(wchar_t *, int); -static void __find_arguments(const char *, va_list, union arg **); -static void __grow_type_table(int, enum typeid **, int *); /* * Flush out all the vectors defined by the given uio, @@ -167,13 +126,6 @@ } /* - * Macros for converting digits to letters and vice versa - */ -#define to_digit(c) ((c) - '0') -#define is_digit(c) ((unsigned)to_digit(c) <= 9) -#define to_char(n) ((n) + '0') - -/* * Convert an unsigned long to ASCII for printf purposes, returning * a pointer to the first character of the string representation. * Octal numbers can be forced to have a leading zero; hex numbers @@ -426,27 +378,7 @@ */ #define BUF 100 -#define STATIC_ARG_TBL_SIZE 8 /* Size of static argument table. */ - /* - * Flags used during conversion. - */ -#define ALT 0x001 /* alternate form */ -#define LADJUST 0x004 /* left adjustment */ -#define LONGDBL 0x008 /* long double */ -#define LONGINT 0x010 /* long integer */ -#define LLONGINT 0x020 /* long long integer */ -#define SHORTINT 0x040 /* short integer */ -#define ZEROPAD 0x080 /* zero (as opposed to blank) pad */ -#define FPT 0x100 /* Floating point number */ -#define GROUPING 0x200 /* use grouping ("'" flag) */ - /* C99 additional size modifiers: */ -#define SIZET 0x400 /* size_t */ -#define PTRDIFFT 0x800 /* ptrdiff_t */ -#define INTMAXT 0x1000 /* intmax_t */ -#define CHARINT 0x2000 /* print char using int format */ - -/* * Non-MT-safe version */ int @@ -623,7 +555,10 @@ int hold = nextarg; \ if (argtable == NULL) { \ argtable = statargtable; \ - __find_arguments (fmt0, orgap, &argtable); \ + if (__find_arguments (fmt0, orgap, &argtable)) { \ + ret = EOF; \ + goto error; \ + } \ } \ nextarg = n2; \ val = GETARG (int); \ @@ -751,8 +686,11 @@ nextarg = n; if (argtable == NULL) { argtable = statargtable; - __find_arguments (fmt0, orgap, - &argtable); + if (__find_arguments (fmt0, orgap, + &argtable)) { + ret = EOF; + goto error; + } } goto rflag; } @@ -1255,364 +1193,6 @@ /* NOTREACHED */ } -/* - * Find all arguments when a positional parameter is encountered. Returns a - * table, indexed by argument number, of pointers to each arguments. The - * initial argument table should be an array of STATIC_ARG_TBL_SIZE entries. - * It will be replaces with a malloc-ed one if it overflows. - */ -static void -__find_arguments (const char *fmt0, va_list ap, union arg **argtable) -{ - char *fmt; /* format string */ - int ch; /* character from fmt */ - int n, n2; /* handy integer (short term usage) */ - char *cp; /* handy char pointer (short term usage) */ - int flags; /* flags as above */ - int width; /* width from format (%8d), or 0 */ - enum typeid *typetable; /* table of types */ - enum typeid stattypetable [STATIC_ARG_TBL_SIZE]; - int tablesize; /* current size of type table */ - int tablemax; /* largest used index in table */ - int nextarg; /* 1-based argument index */ - - /* - * Add an argument type to the table, expanding if necessary. - */ -#define ADDTYPE(type) \ - ((nextarg >= tablesize) ? \ - __grow_type_table(nextarg, &typetable, &tablesize) : (void)0, \ - (nextarg > tablemax) ? tablemax = nextarg : 0, \ - typetable[nextarg++] = type) - -#define ADDSARG() \ - ((flags&INTMAXT) ? ADDTYPE(T_INTMAXT) : \ - ((flags&SIZET) ? ADDTYPE(T_SIZET) : \ - ((flags&PTRDIFFT) ? ADDTYPE(T_PTRDIFFT) : \ - ((flags&LLONGINT) ? ADDTYPE(T_LLONG) : \ - ((flags&LONGINT) ? ADDTYPE(T_LONG) : ADDTYPE(T_INT)))))) - -#define ADDUARG() \ - ((flags&INTMAXT) ? ADDTYPE(T_UINTMAXT) : \ - ((flags&SIZET) ? ADDTYPE(T_SIZET) : \ - ((flags&PTRDIFFT) ? ADDTYPE(T_PTRDIFFT) : \ - ((flags&LLONGINT) ? ADDTYPE(T_U_LLONG) : \ - ((flags&LONGINT) ? ADDTYPE(T_U_LONG) : ADDTYPE(T_U_INT)))))) - - /* - * Add * arguments to the type array. - */ -#define ADDASTER() \ - n2 = 0; \ - cp = fmt; \ - while (is_digit(*cp)) { \ - n2 = 10 * n2 + to_digit(*cp); \ - cp++; \ - } \ - if (*cp == '$') { \ - int hold = nextarg; \ - nextarg = n2; \ - ADDTYPE (T_INT); \ - nextarg = hold; \ - fmt = ++cp; \ - } else { \ - ADDTYPE (T_INT); \ - } - fmt = (char *)fmt0; - typetable = stattypetable; - tablesize = STATIC_ARG_TBL_SIZE; - tablemax = 0; - nextarg = 1; - for (n = 0; n < STATIC_ARG_TBL_SIZE; n++) - typetable[n] = T_UNUSED; - - /* - * Scan the format for conversions (`%' character). - */ - for (;;) { - for (cp = fmt; (ch = *fmt) != '\0' && ch != '%'; fmt++) - /* void */; - if (ch == '\0') - goto done; - fmt++; /* skip over '%' */ - - flags = 0; - width = 0; - -rflag: ch = *fmt++; -reswitch: switch (ch) { - case ' ': - case '#': - goto rflag; - case '*': - ADDASTER (); - goto rflag; - case '-': - case '+': - case '\'': - goto rflag; - case '.': - if ((ch = *fmt++) == '*') { - ADDASTER (); - goto rflag; - } - while (is_digit(ch)) { - ch = *fmt++; - } - goto reswitch; - case '0': - goto rflag; - case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - n = 0; - do { - n = 10 * n + to_digit(ch); - ch = *fmt++; - } while (is_digit(ch)); - if (ch == '$') { - nextarg = n; - goto rflag; - } - width = n; - goto reswitch; -#ifndef NO_FLOATING_POINT - case 'L': - flags |= LONGDBL; - goto rflag; -#endif - case 'h': - if (flags & SHORTINT) { - flags &= ~SHORTINT; - flags |= CHARINT; - } else - flags |= SHORTINT; - goto rflag; - case 'j': - flags |= INTMAXT; - goto rflag; - case 'l': - if (flags & LONGINT) { - flags &= ~LONGINT; - flags |= LLONGINT; - } else - flags |= LONGINT; - goto rflag; - case 'q': - flags |= LLONGINT; /* not necessarily */ - goto rflag; - case 't': - flags |= PTRDIFFT; - goto rflag; - case 'z': - flags |= SIZET; - goto rflag; - case 'C': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'c': - if (flags & LONGINT) - ADDTYPE(T_WINT); - else - ADDTYPE(T_INT); - break; - case 'D': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'd': - case 'i': - ADDSARG(); - break; -#ifndef NO_FLOATING_POINT - case 'a': - case 'A': - case 'e': - case 'E': - case 'f': - case 'g': - case 'G': - if (flags & LONGDBL) - ADDTYPE(T_LONG_DOUBLE); - else - ADDTYPE(T_DOUBLE); - break; -#endif /* !NO_FLOATING_POINT */ - case 'n': - if (flags & INTMAXT) - ADDTYPE(TP_INTMAXT); - else if (flags & PTRDIFFT) - ADDTYPE(TP_PTRDIFFT); - else if (flags & SIZET) - ADDTYPE(TP_SIZET); - else if (flags & LLONGINT) - ADDTYPE(TP_LLONG); - else if (flags & LONGINT) - ADDTYPE(TP_LONG); - else if (flags & SHORTINT) - ADDTYPE(TP_SHORT); - else if (flags & CHARINT) - ADDTYPE(TP_SCHAR); - else - ADDTYPE(TP_INT); - continue; /* no output */ - case 'O': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'o': - ADDUARG(); - break; - case 'p': - ADDTYPE(TP_VOID); - break; - case 'S': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 's': - if (flags & LONGINT) - ADDTYPE(TP_WCHAR); - else - ADDTYPE(TP_CHAR); - break; - case 'U': - flags |= LONGINT; - /*FALLTHROUGH*/ - case 'u': - case 'X': - case 'x': - ADDUARG(); - break; - default: /* "%?" prints ?, unless ? is NUL */ - if (ch == '\0') - goto done; - break; - } - } -done: - /* - * Build the argument table. - */ - if (tablemax >= STATIC_ARG_TBL_SIZE) { - *argtable = (union arg *) - malloc (sizeof (union arg) * (tablemax + 1)); - } - - (*argtable) [0].intarg = 0; - for (n = 1; n <= tablemax; n++) { - switch (typetable [n]) { - case T_UNUSED: /* whoops! */ - (*argtable) [n].intarg = va_arg (ap, int); - break; - case TP_SCHAR: - (*argtable) [n].pschararg = va_arg (ap, signed char *); - break; - case TP_SHORT: - (*argtable) [n].pshortarg = va_arg (ap, short *); - break; - case T_INT: - (*argtable) [n].intarg = va_arg (ap, int); - break; - case T_U_INT: - (*argtable) [n].uintarg = va_arg (ap, unsigned int); - break; - case TP_INT: - (*argtable) [n].pintarg = va_arg (ap, int *); - break; - case T_LONG: - (*argtable) [n].longarg = va_arg (ap, long); - break; - case T_U_LONG: - (*argtable) [n].ulongarg = va_arg (ap, unsigned long); - break; - case TP_LONG: - (*argtable) [n].plongarg = va_arg (ap, long *); - break; - case T_LLONG: - (*argtable) [n].longlongarg = va_arg (ap, long long); - break; - case T_U_LLONG: - (*argtable) [n].ulonglongarg = va_arg (ap, unsigned long long); - break; - case TP_LLONG: - (*argtable) [n].plonglongarg = va_arg (ap, long long *); - break; - case T_PTRDIFFT: - (*argtable) [n].ptrdiffarg = va_arg (ap, ptrdiff_t); - break; - case TP_PTRDIFFT: - (*argtable) [n].pptrdiffarg = va_arg (ap, ptrdiff_t *); - break; - case T_SIZET: - (*argtable) [n].sizearg = va_arg (ap, size_t); - break; - case TP_SIZET: - (*argtable) [n].psizearg = va_arg (ap, size_t *); - break; - case T_INTMAXT: - (*argtable) [n].intmaxarg = va_arg (ap, intmax_t); - break; - case T_UINTMAXT: - (*argtable) [n].uintmaxarg = va_arg (ap, uintmax_t); - break; - case TP_INTMAXT: - (*argtable) [n].pintmaxarg = va_arg (ap, intmax_t *); - break; - case T_DOUBLE: -#ifndef NO_FLOATING_POINT - (*argtable) [n].doublearg = va_arg (ap, double); -#endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 30 06:47:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49DF31065679; Mon, 30 Jun 2008 06:47: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 E79B91065673 for ; Mon, 30 Jun 2008 06:47:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D6B2A8FC1F for ; Mon, 30 Jun 2008 06:47:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U6l2Ur099967 for ; Mon, 30 Jun 2008 06:47:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U6l2jW099965 for perforce@freebsd.org; Mon, 30 Jun 2008 06:47:02 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 06:47:02 GMT Message-Id: <200806300647.m5U6l2jW099965@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144343 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, 30 Jun 2008 06:47:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144343 Change 144343 by jb@freebsd3 on 2008/06/30 06:46:44 Add a syscall number argument to make the args function compatible with the one generated. Affected files ... .. //depot/projects/dtrace/src/sys/sys/sysent.h#11 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/sysent.h#11 (text+ko) ==== @@ -48,7 +48,7 @@ * Used by loaded syscalls to convert arguments to a DTrace array * of 64-bit arguments. */ -typedef void (*systrace_args_func_t)(void *, u_int64_t *, int *); +typedef void (*systrace_args_func_t)(int, void *, u_int64_t *, int *); extern systrace_probe_func_t systrace_probe_func; From owner-p4-projects@FreeBSD.ORG Mon Jun 30 06:49:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6748C106568C; Mon, 30 Jun 2008 06:49:05 +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 295161065687 for ; Mon, 30 Jun 2008 06:49:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0F12D8FC12 for ; Mon, 30 Jun 2008 06:49:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U6n43t000222 for ; Mon, 30 Jun 2008 06:49:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U6n4lX000220 for perforce@freebsd.org; Mon, 30 Jun 2008 06:49:04 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 06:49:04 GMT Message-Id: <200806300649.m5U6n4lX000220@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144344 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, 30 Jun 2008 06:49:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=144344 Change 144344 by jb@freebsd3 on 2008/06/30 06:48:26 Add a hack to work around the fact that Linux emulation hides pointer references in typedefs, making it hard to work out a suitable cast. Affected files ... .. //depot/projects/dtrace/src/sys/kern/makesyscalls.sh#14 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/makesyscalls.sh#14 (text+ko) ==== @@ -328,7 +328,7 @@ printf("\t\tstruct %s *p = params;\n", argalias) > systrace for (i = 1; i <= argc; i++) { printf("\t\tcase %d:\n\t\t\tp = \"%s\";\n\t\t\tbreak;\n", i - 1, argtype[i]) > systracetmp - if (index(argtype[i], "*") > 0 || argtype[i] == "caddr_t") + if (index(argtype[i], "*") > 0 || argtype[i] == "caddr_t" || argtype[i] == "l_handler_t") printf("\t\tuarg[%d] = (intptr_t) p->%s; /* %s */\n", \ i - 1, \ argname[i], argtype[i]) > systrace From owner-p4-projects@FreeBSD.ORG Mon Jun 30 06:50:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8AEEE106568D; Mon, 30 Jun 2008 06:50: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 49C14106567C for ; Mon, 30 Jun 2008 06:50:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 388CC8FC1A for ; Mon, 30 Jun 2008 06:50:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U6o6Pq000345 for ; Mon, 30 Jun 2008 06:50:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U6o6kk000343 for perforce@freebsd.org; Mon, 30 Jun 2008 06:50:06 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 06:50:06 GMT Message-Id: <200806300650.m5U6o6kk000343@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144345 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, 30 Jun 2008 06:50:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=144345 Change 144345 by jb@freebsd3 on 2008/06/30 06:49:32 Generate a couple more linux syscall files for the DTrace linsystrace provider. Affected files ... .. //depot/projects/dtrace/src/sys/i386/linux/syscalls.conf#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/linux/syscalls.conf#5 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD: src/sys/i386/linux/syscalls.conf,v 1.7 2006/08/15 17:25:55 jhb Exp $ -sysnames="/dev/null" +sysnames="linux_syscallnames.c" sysproto="linux_proto.h" sysproto_h=_LINUX_SYSPROTO_H_ syshdr="linux_syscall.h" @@ -8,4 +8,4 @@ syscallprefix="LINUX_SYS_" switchname="linux_sysent" namesname="linux_syscallnames" -systrace="/dev/null" +systrace="linux_systrace.c" From owner-p4-projects@FreeBSD.ORG Mon Jun 30 06:51:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B01991065670; Mon, 30 Jun 2008 06:51: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 728041065679 for ; Mon, 30 Jun 2008 06:51:07 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 618708FC0A for ; Mon, 30 Jun 2008 06:51:07 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U6p7aM000443 for ; Mon, 30 Jun 2008 06:51:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U6p72U000441 for perforce@freebsd.org; Mon, 30 Jun 2008 06:51:07 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 06:51:07 GMT Message-Id: <200806300651.m5U6p72U000441@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144346 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, 30 Jun 2008 06:51:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=144346 Change 144346 by jb@freebsd3 on 2008/06/30 06:51:05 Change a couple of argument names to match kern/syscalls.master. The definitions have to match now that we generate stuff which uses them. Affected files ... .. //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#20 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#20 (text+ko) ==== @@ -148,7 +148,7 @@ struct timeval *tp, \ struct timezone *tzp); } 79 AUE_SETTIMEOFDAY NOPROTO { int settimeofday( \ - struct timeval *tp, \ + struct timeval *tv, \ struct timezone *tzp); } 80 AUE_GETGROUPS STD { int linux_getgroups16(l_uint gidsetsize, \ l_gid16_t *gidset); } @@ -217,7 +217,7 @@ ; linux uses some strange calling convention here so we have to use the dummy arg 120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \ void *parent_tidptr, int dummy, void * child_tidptr); } -121 AUE_SYSCTL NOPROTO { int setdomainname(char *name, \ +121 AUE_SYSCTL NOPROTO { int setdomainname(char *domainname, \ int len); } 122 AUE_NULL STD { int linux_newuname( \ struct l_new_utsname *buf); } @@ -294,7 +294,7 @@ l_uid16_t *euid, l_uid16_t *suid); } 166 AUE_NULL STD { int linux_vm86(void); } 167 AUE_NULL STD { int linux_query_module(void); } -168 AUE_POLL NOPROTO { int poll(struct pollfd*, \ +168 AUE_POLL NOPROTO { int poll(struct pollfd *fds, \ unsigned int nfds, long timeout); } 169 AUE_NULL STD { int linux_nfsservctl(void); } 170 AUE_SETRESGID STD { int linux_setresgid16(l_gid16_t rgid, \ From owner-p4-projects@FreeBSD.ORG Mon Jun 30 06:54:11 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3062B1065672; Mon, 30 Jun 2008 06:54: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 E5EF41065670 for ; Mon, 30 Jun 2008 06:54:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D4CAD8FC19 for ; Mon, 30 Jun 2008 06:54:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U6sA7g000666 for ; Mon, 30 Jun 2008 06:54:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U6sAvp000664 for perforce@freebsd.org; Mon, 30 Jun 2008 06:54:10 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 06:54:10 GMT Message-Id: <200806300654.m5U6sAvp000664@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144347 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, 30 Jun 2008 06:54:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=144347 Change 144347 by jb@freebsd3 on 2008/06/30 06:53:39 Use vfork() rather than fork() because we intend to execvp() anyway. Add provision for the caller to specify a callback to be called after vfork, but before execvp() so that the child process can do a few things. Affected files ... .. //depot/projects/dtrace/src/lib/libproc/libproc.h#6 edit .. //depot/projects/dtrace/src/lib/libproc/proc_create.c#6 edit Differences ... ==== //depot/projects/dtrace/src/lib/libproc/libproc.h#6 (text+ko) ==== @@ -33,6 +33,8 @@ struct proc_handle; +typedef void (*proc_child_func)(void *); + /* Values returned by proc_state(). */ #define PS_IDLE 1 #define PS_STOP 2 @@ -55,7 +57,8 @@ int proc_attach(pid_t pid, int flags, struct proc_handle **pphdl); int proc_continue(struct proc_handle *); int proc_clearflags(struct proc_handle *, int); -int proc_create(const char *, char * const *, struct proc_handle **); +int proc_create(const char *, char * const *, proc_child_func *, void *, + struct proc_handle **); int proc_detach(struct proc_handle *); int proc_getflags(struct proc_handle *); int proc_name2sym(struct proc_handle *, const char *, const char *, GElf_Sym *); ==== //depot/projects/dtrace/src/lib/libproc/proc_create.c#6 (text+ko) ==== @@ -90,7 +90,8 @@ } int -proc_create(const char *file, char * const *argv, struct proc_handle **pphdl) +proc_create(const char *file, char * const *argv, proc_child_func *pcf, + void *child_arg, struct proc_handle **pphdl) { struct proc_handle *phdl; struct kevent kev; @@ -106,13 +107,16 @@ return (ENOMEM); /* Fork a new process. */ - if ((pid = fork()) == -1) + if ((pid = vfork()) == -1) error = errno; else if (pid == 0) { /* The child expects to be traced. */ if (ptrace(PT_TRACE_ME, 0, 0, 0) != 0) _exit(1); + if (pcf != NULL) + (*pcf)(child_arg); + /* Execute the specified file: */ execvp(file, argv); From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:03:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B4F221065679; Mon, 30 Jun 2008 07:03:20 +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 770F51065675 for ; Mon, 30 Jun 2008 07:03:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6596B8FC18 for ; Mon, 30 Jun 2008 07:03:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U73Kxo002489 for ; Mon, 30 Jun 2008 07:03:20 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U73KuX002487 for perforce@freebsd.org; Mon, 30 Jun 2008 07:03:20 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:03:20 GMT Message-Id: <200806300703.m5U73KuX002487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144348 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, 30 Jun 2008 07:03:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=144348 Change 144348 by jb@freebsd3 on 2008/06/30 07:02:38 Add the hooks for the child calback function after forking and before execing. Affected files ... .. //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#6 edit .. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#6 edit .. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#6 edit .. //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#6 edit Differences ... ==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#6 (text) ==== @@ -1576,7 +1576,7 @@ if ((v = make_argv(optarg)) == NULL) fatal("failed to allocate memory"); - P = dtrace_proc_create(g_dtp, v[0], v); + P = dtrace_proc_create(g_dtp, v[0], v, NULL, NULL); if (P == NULL) dfatal(NULL); /* dtrace_errmsg() only */ ==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#6 (text) ==== @@ -955,7 +955,8 @@ } struct ps_prochandle * -dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv) +dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, + proc_child_func *pcf, void *child_arg) { dt_proc_hash_t *dph = dtp->dt_procs; dt_proc_t *dpr; @@ -981,7 +982,7 @@ #else (void) proc_clearflags(dpr->dpr_proc, PR_RLC); (void) proc_setflags(dpr->dpr_proc, PR_KLC); - if ((err = proc_create(file, argv, &dpr->dpr_proc)) != 0) + if ((err = proc_create(file, argv, pcf, child_arg, &dpr->dpr_proc)) != 0) return (dt_proc_error(dtp, dpr, "failed to execute %s: %s\n", file, strerror(err))); dpr->dpr_hdl = dtp; @@ -1183,10 +1184,11 @@ } struct ps_prochandle * -dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv) +dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, + proc_child_func *pcf, void *child_arg) { dt_ident_t *idp = dt_idhash_lookup(dtp->dt_macros, "target"); - struct ps_prochandle *P = dt_proc_create(dtp, file, argv); + struct ps_prochandle *P = dt_proc_create(dtp, file, argv, pcf, child_arg); if (P != NULL && idp != NULL && idp->di_id == 0) #if defined(sun) ==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#6 (text) ==== @@ -99,7 +99,7 @@ } dt_proc_hash_t; extern struct ps_prochandle *dt_proc_create(dtrace_hdl_t *, - const char *, char *const *); + const char *, char *const *, proc_child_func *, void *); extern struct ps_prochandle *dt_proc_grab(dtrace_hdl_t *, pid_t, int, int); extern void dt_proc_release(dtrace_hdl_t *, struct ps_prochandle *); ==== //depot/projects/dtrace/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#6 (text) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { @@ -413,7 +414,7 @@ */ extern struct ps_prochandle *dtrace_proc_create(dtrace_hdl_t *, - const char *, char *const *); + const char *, char *const *, proc_child_func *, void *); extern struct ps_prochandle *dtrace_proc_grab(dtrace_hdl_t *, pid_t, int); extern void dtrace_proc_release(dtrace_hdl_t *, struct ps_prochandle *); From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:06:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF3AE106568B; Mon, 30 Jun 2008 07:06: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 7074E1065688 for ; Mon, 30 Jun 2008 07:06:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5F7E48FC16 for ; Mon, 30 Jun 2008 07:06:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U76NJD002756 for ; Mon, 30 Jun 2008 07:06:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U76NkO002754 for perforce@freebsd.org; Mon, 30 Jun 2008 07:06:23 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:06:23 GMT Message-Id: <200806300706.m5U76NkO002754@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144349 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, 30 Jun 2008 07:06:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=144349 Change 144349 by jb@freebsd3 on 2008/06/30 07:05:51 Add a couple more generated files which are needed by the DTrace linux syscall provider. Affected files ... .. //depot/projects/dtrace/src/sys/i386/linux/Makefile#4 edit .. //depot/projects/dtrace/src/sys/i386/linux/linux_syscallnames.c#1 add .. //depot/projects/dtrace/src/sys/i386/linux/linux_systrace.c#1 add Differences ... ==== //depot/projects/dtrace/src/sys/i386/linux/Makefile#4 (text+ko) ==== @@ -12,4 +12,6 @@ -mv -f linux_sysent.c linux_sysent.c.bak -mv -f linux_syscall.h linux_syscall.h.bak -mv -f linux_proto.h linux_proto.h.bak + -mv -f linux_systrace.c linux_systrace.c.bak + -mv -f linux_syscallnames.c linux_syscallnames.c.bak sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:07:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8C901065671; Mon, 30 Jun 2008 07:07: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 9A793106566C for ; Mon, 30 Jun 2008 07:07:27 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 896348FC1D for ; Mon, 30 Jun 2008 07:07:27 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U77Rjr002830 for ; Mon, 30 Jun 2008 07:07:27 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U77OBF002828 for perforce@freebsd.org; Mon, 30 Jun 2008 07:07:24 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:07:24 GMT Message-Id: <200806300707.m5U77OBF002828@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144350 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, 30 Jun 2008 07:07:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=144350 Change 144350 by jb@freebsd3 on 2008/06/30 07:07:08 Regen. I wonder why this differs from Julian's version. :-/ Affected files ... .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#29 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/systrace_args.c#29 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.24 2008/05/09 23:02:55 julian Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -4607,6 +4607,16 @@ break; }; break; + /* setfib */ + case 175: + switch(ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; /* ntp_adjtime */ case 176: switch(ndx) { From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:09:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BC73106567B; Mon, 30 Jun 2008 07:09: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 C931E1065673 for ; Mon, 30 Jun 2008 07:09:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B719C8FC17 for ; Mon, 30 Jun 2008 07:09:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U79T8E002973 for ; Mon, 30 Jun 2008 07:09:29 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U79TxC002971 for perforce@freebsd.org; Mon, 30 Jun 2008 07:09:29 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:09:29 GMT Message-Id: <200806300709.m5U79TxC002971@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144351 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, 30 Jun 2008 07:09:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=144351 Change 144351 by jb@freebsd3 on 2008/06/30 07:08:59 Add support for the DTrace linux syscall provider. It shares code with the standard syscall provider. The new provider can't be loaded as part of the 'dtraceall' kernel module because it depends on the 'linux' kernel module. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/systrace/systrace.c#12 edit .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#33 edit .. //depot/projects/dtrace/src/sys/modules/dtrace/linsystrace/Makefile#1 add Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/systrace/systrace.c#12 (text+ko) ==== @@ -50,15 +50,41 @@ #include #include #include -#include +#include #include -#include #include #include #include #include +#ifdef LINUX_SYSTRACE +#include +#include +#include +#include +#include +extern struct sysent linux_sysent[]; +#define DEVNAME "dtrace/linsystrace" +#define PROVNAME "linsyscall" +#define MAXSYSCALL LINUX_SYS_MAXSYSCALL +#define SYSCALLNAMES linux_syscallnames +#define SYSENT linux_sysent +#else +/* + * The syscall arguments are processed into a DTrace argument array + * using a generated function. See sys/kern/makesyscalls.sh. + */ +#include +#include +extern const char *syscallnames[]; +#define DEVNAME "dtrace/systrace" +#define PROVNAME "syscall" +#define MAXSYSCALL SYS_MAXSYSCALL +#define SYSCALLNAMES syscallnames +#define SYSENT sysent +#endif + #define SYSTRACE_ARTIFICIAL_FRAMES 1 #define SYSTRACE_SHIFT 16 @@ -67,17 +93,13 @@ #define SYSTRACE_ENTRY(id) ((1 << SYSTRACE_SHIFT) | (id)) #define SYSTRACE_RETURN(id) (id) -#if ((1 << SYSTRACE_SHIFT) <= SYS_MAXSYSCALL) +#if ((1 << SYSTRACE_SHIFT) <= MAXSYSCALL) #error 1 << SYSTRACE_SHIFT must exceed number of system calls #endif -extern char *syscallnames[]; - static d_open_t systrace_open; static int systrace_unload(void); static void systrace_getargdesc(void *, dtrace_id_t, void *, dtrace_argdesc_t *); -static void systrace_args(int, void *, u_int64_t *, int *); -static void systrace_probe(u_int32_t, int, struct sysent *, void *); static void systrace_provide(void *, dtrace_probedesc_t *); static void systrace_destroy(void *, dtrace_id_t, void *); static void systrace_enable(void *, dtrace_id_t, void *); @@ -87,9 +109,18 @@ static struct cdevsw systrace_cdevsw = { .d_version = D_VERSION, .d_open = systrace_open, +#ifdef LINUX_SYSTRACE + .d_name = "linsystrace", +#else .d_name = "systrace", +#endif }; +static union { + const char **p_constnames; + char **pp_syscallnames; +} uglyhack = { SYSCALLNAMES }; + static dtrace_pattr_t systrace_attr = { { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_COMMON }, { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, @@ -114,12 +145,14 @@ static struct cdev *systrace_cdev; static dtrace_provider_id_t systrace_id; +#if !defined(LINUX_SYSTRACE) /* - * The syscall arguments are processed into a DTrace argument array - * using a generated function. See sys/kern/makesyscalls.sh. + * Probe callback function. + * + * Note: This function is called for _all_ syscalls, regardless of which sysent + * array the syscall comes from. It could be a standard syscall or a + * compat syscall from something like Linux. */ -#include - static void systrace_probe(u_int32_t id, int sysnum, struct sysent *sysent, void *params) { @@ -127,21 +160,20 @@ u_int64_t uargs[8]; /* - * Check if this syscall has a custom argument conversion - * function registered. If so, it is a syscall registered - * by a loaded module. + * Check if this syscall has an argument conversion function + * registered. */ if (sysent->sy_systrace_args_func != NULL) /* * Convert the syscall parameters using the registered * function. */ - (*sysent->sy_systrace_args_func)(params, uargs, &n_args); + (*sysent->sy_systrace_args_func)(sysnum, params, uargs, &n_args); else /* * Use the built-in system call argument conversion * function to translate the syscall structure fields - * into thhe array of 64-bit values that DTrace + * into the array of 64-bit values that DTrace * expects. */ systrace_args(sysnum, params, uargs, &n_args); @@ -149,6 +181,7 @@ /* Process the probe using the converted argments. */ dtrace_probe(id, uargs[0], uargs[1], uargs[2], uargs[3], uargs[4]); } +#endif static void systrace_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc) @@ -172,15 +205,15 @@ if (desc != NULL) return; - for (i = 0; i < SYS_MAXSYSCALL; i++) { + for (i = 0; i < MAXSYSCALL; i++) { if (dtrace_probe_lookup(systrace_id, NULL, - syscallnames[i], "entry") != 0) + uglyhack.pp_syscallnames[i], "entry") != 0) continue; - (void) dtrace_probe_create(systrace_id, NULL, syscallnames[i], + (void) dtrace_probe_create(systrace_id, NULL, uglyhack.pp_syscallnames[i], "entry", SYSTRACE_ARTIFICIAL_FRAMES, (void *)((uintptr_t)SYSTRACE_ENTRY(i))); - (void) dtrace_probe_create(systrace_id, NULL, syscallnames[i], + (void) dtrace_probe_create(systrace_id, NULL, uglyhack.pp_syscallnames[i], "return", SYSTRACE_ARTIFICIAL_FRAMES, (void *)((uintptr_t)SYSTRACE_RETURN(i))); } @@ -209,10 +242,13 @@ { int sysnum = SYSTRACE_SYSNUM((uintptr_t)parg); + if (SYSENT[sysnum].sy_systrace_args_func == NULL) + SYSENT[sysnum].sy_systrace_args_func = systrace_args; + if (SYSTRACE_ISENTRY((uintptr_t)parg)) - sysent[sysnum].sy_entry = id; + SYSENT[sysnum].sy_entry = id; else - sysent[sysnum].sy_return = id; + SYSENT[sysnum].sy_return = id; } static void @@ -220,8 +256,8 @@ { int sysnum = SYSTRACE_SYSNUM((uintptr_t)parg); - sysent[sysnum].sy_entry = 0; - sysent[sysnum].sy_return = 0; + SYSENT[sysnum].sy_entry = 0; + SYSENT[sysnum].sy_return = 0; } static void @@ -229,13 +265,15 @@ { /* Create the /dev/dtrace/systrace entry. */ systrace_cdev = make_dev(&systrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "dtrace/systrace"); + DEVNAME); - if (dtrace_register("syscall", &systrace_attr, DTRACE_PRIV_USER, + if (dtrace_register(PROVNAME, &systrace_attr, DTRACE_PRIV_USER, NULL, &systrace_pops, NULL, &systrace_id) != 0) return; +#if !defined(LINUX_SYSTRACE) systrace_probe_func = systrace_probe; +#endif } @@ -247,7 +285,9 @@ if ((error = dtrace_unregister(systrace_id)) != 0) return (error); +#if !defined(LINUX_SYSTRACE) systrace_probe_func = NULL; +#endif destroy_dev(systrace_cdev); @@ -286,7 +326,16 @@ SYSINIT(systrace_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_load, NULL); SYSUNINIT(systrace_unload, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_unload, NULL); +#ifdef LINUX_SYSTRACE +DEV_MODULE(linsystrace, systrace_modevent, NULL); +MODULE_VERSION(linsystrace, 1); +MODULE_DEPEND(linsystrace, linux, 1, 1, 1); +MODULE_DEPEND(linsystrace, systrace, 1, 1, 1); +MODULE_DEPEND(linsystrace, dtrace, 1, 1, 1); +MODULE_DEPEND(linsystrace, opensolaris, 1, 1, 1); +#else DEV_MODULE(systrace, systrace_modevent, NULL); MODULE_VERSION(systrace, 1); MODULE_DEPEND(systrace, dtrace, 1, 1, 1); MODULE_DEPEND(systrace, opensolaris, 1, 1, 1); +#endif ==== //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#33 (text+ko) ==== @@ -7,6 +7,7 @@ dtrace \ dtraceall \ dtrace_test \ + linsystrace \ profile \ prototype \ sdt \ From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:11:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4177D1065681; Mon, 30 Jun 2008 07:11: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 02C521065679 for ; Mon, 30 Jun 2008 07:11:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E554D8FC13 for ; Mon, 30 Jun 2008 07:11:31 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U7BVjJ003208 for ; Mon, 30 Jun 2008 07:11:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U7BVt2003206 for perforce@freebsd.org; Mon, 30 Jun 2008 07:11:31 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:11:31 GMT Message-Id: <200806300711.m5U7BVt2003206@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144352 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, 30 Jun 2008 07:11:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=144352 Change 144352 by jb@freebsd3 on 2008/06/30 07:10:37 Add hooks for the 32-bit syscalls. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/ia32/ia32_syscall.c#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/ia32/ia32_syscall.c#8 (text+ko) ==== @@ -45,6 +45,7 @@ #include "opt_clock.h" #include "opt_cpu.h" #include "opt_isa.h" +#include "opt_kdtrace.h" #include "opt_ktrace.h" #include @@ -81,6 +82,10 @@ #include #include +#ifdef KDTRACE_HOOKS +#include +#endif + #define IDTVEC(name) __CONCAT(X,name) extern inthand_t IDTVEC(int0x80_syscall), IDTVEC(rsvd); @@ -178,9 +183,34 @@ PTRACESTOP_SC(p, td, S_PT_SCE); +#ifdef KDTRACE_HOOKS + /* + * If the systrace module has registered it's probe + * callback and if there is a probe active for the + * syscall 'entry', process the probe. + */ + if (systrace_probe_func != NULL && callp->sy_entry != 0) + (*systrace_probe_func)(callp->sy_entry, code, callp, + args64); +#endif + AUDIT_SYSCALL_ENTER(code, td); error = (*callp->sy_call)(td, args64); AUDIT_SYSCALL_EXIT(error, td); + + /* Save the latest error return value. */ + td->td_errno = error; + +#ifdef KDTRACE_HOOKS + /* + * If the systrace module has registered it's probe + * callback and if there is a probe active for the + * syscall 'return', process the probe. + */ + if (systrace_probe_func != NULL && callp->sy_return != 0) + (*systrace_probe_func)(callp->sy_return, code, callp, + args64); +#endif } switch (error) { From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:37:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09FA01065674; Mon, 30 Jun 2008 07:37: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 A775A1065671 for ; Mon, 30 Jun 2008 07:37:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94E088FC16 for ; Mon, 30 Jun 2008 07:37:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U7bw2p005208 for ; Mon, 30 Jun 2008 07:37:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U7bwgc005206 for perforce@freebsd.org; Mon, 30 Jun 2008 07:37:58 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:37:58 GMT Message-Id: <200806300737.m5U7bwgc005206@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144353 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, 30 Jun 2008 07:37:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=144353 Change 144353 by jb@freebsd3 on 2008/06/30 07:37:25 IFdtrace Affected files ... .. //depot/projects/dtrace7/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#3 integrate .. //depot/projects/dtrace7/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#3 integrate .. //depot/projects/dtrace7/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#3 integrate .. //depot/projects/dtrace7/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#3 integrate .. //depot/projects/dtrace7/src/lib/libproc/libproc.h#4 integrate .. //depot/projects/dtrace7/src/lib/libproc/proc_create.c#3 integrate .. //depot/projects/dtrace7/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#6 integrate .. //depot/projects/dtrace7/src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#4 integrate .. //depot/projects/dtrace7/src/sys/cddl/dev/systrace/systrace.c#4 integrate Differences ... ==== //depot/projects/dtrace7/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#3 (text) ==== @@ -1576,7 +1576,7 @@ if ((v = make_argv(optarg)) == NULL) fatal("failed to allocate memory"); - P = dtrace_proc_create(g_dtp, v[0], v); + P = dtrace_proc_create(g_dtp, v[0], v, NULL, NULL); if (P == NULL) dfatal(NULL); /* dtrace_errmsg() only */ ==== //depot/projects/dtrace7/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#3 (text) ==== @@ -955,7 +955,8 @@ } struct ps_prochandle * -dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv) +dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, + proc_child_func *pcf, void *child_arg) { dt_proc_hash_t *dph = dtp->dt_procs; dt_proc_t *dpr; @@ -981,7 +982,7 @@ #else (void) proc_clearflags(dpr->dpr_proc, PR_RLC); (void) proc_setflags(dpr->dpr_proc, PR_KLC); - if ((err = proc_create(file, argv, &dpr->dpr_proc)) != 0) + if ((err = proc_create(file, argv, pcf, child_arg, &dpr->dpr_proc)) != 0) return (dt_proc_error(dtp, dpr, "failed to execute %s: %s\n", file, strerror(err))); dpr->dpr_hdl = dtp; @@ -1183,10 +1184,11 @@ } struct ps_prochandle * -dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv) +dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, + proc_child_func *pcf, void *child_arg) { dt_ident_t *idp = dt_idhash_lookup(dtp->dt_macros, "target"); - struct ps_prochandle *P = dt_proc_create(dtp, file, argv); + struct ps_prochandle *P = dt_proc_create(dtp, file, argv, pcf, child_arg); if (P != NULL && idp != NULL && idp->di_id == 0) #if defined(sun) ==== //depot/projects/dtrace7/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#3 (text) ==== @@ -99,7 +99,7 @@ } dt_proc_hash_t; extern struct ps_prochandle *dt_proc_create(dtrace_hdl_t *, - const char *, char *const *); + const char *, char *const *, proc_child_func *, void *); extern struct ps_prochandle *dt_proc_grab(dtrace_hdl_t *, pid_t, int, int); extern void dt_proc_release(dtrace_hdl_t *, struct ps_prochandle *); ==== //depot/projects/dtrace7/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#3 (text) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { @@ -413,7 +414,7 @@ */ extern struct ps_prochandle *dtrace_proc_create(dtrace_hdl_t *, - const char *, char *const *); + const char *, char *const *, proc_child_func *, void *); extern struct ps_prochandle *dtrace_proc_grab(dtrace_hdl_t *, pid_t, int); extern void dtrace_proc_release(dtrace_hdl_t *, struct ps_prochandle *); ==== //depot/projects/dtrace7/src/lib/libproc/libproc.h#4 (text+ko) ==== @@ -33,6 +33,8 @@ struct proc_handle; +typedef void (*proc_child_func)(void *); + /* Values returned by proc_state(). */ #define PS_IDLE 1 #define PS_STOP 2 @@ -55,7 +57,8 @@ int proc_attach(pid_t pid, int flags, struct proc_handle **pphdl); int proc_continue(struct proc_handle *); int proc_clearflags(struct proc_handle *, int); -int proc_create(const char *, char * const *, struct proc_handle **); +int proc_create(const char *, char * const *, proc_child_func *, void *, + struct proc_handle **); int proc_detach(struct proc_handle *); int proc_getflags(struct proc_handle *); int proc_name2sym(struct proc_handle *, const char *, const char *, GElf_Sym *); ==== //depot/projects/dtrace7/src/lib/libproc/proc_create.c#3 (text+ko) ==== @@ -90,7 +90,8 @@ } int -proc_create(const char *file, char * const *argv, struct proc_handle **pphdl) +proc_create(const char *file, char * const *argv, proc_child_func *pcf, + void *child_arg, struct proc_handle **pphdl) { struct proc_handle *phdl; struct kevent kev; @@ -106,13 +107,16 @@ return (ENOMEM); /* Fork a new process. */ - if ((pid = fork()) == -1) + if ((pid = vfork()) == -1) error = errno; else if (pid == 0) { /* The child expects to be traced. */ if (ptrace(PT_TRACE_ME, 0, 0, 0) != 0) _exit(1); + if (pcf != NULL) + (*pcf)(child_arg); + /* Execute the specified file: */ execvp(file, argv); ==== //depot/projects/dtrace7/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#6 (text) ==== @@ -17,6 +17,8 @@ * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END + * + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.5 2008/06/11 18:55:19 ed Exp $ */ /* @@ -16443,6 +16445,7 @@ static struct cdevsw dtrace_cdevsw = { .d_version = D_VERSION, + .d_flags = D_NEEDMINOR, .d_close = dtrace_close, .d_ioctl = dtrace_ioctl, .d_open = dtrace_open, ==== //depot/projects/dtrace7/src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#4 (text) ==== @@ -17,6 +17,8 @@ * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END + * + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h,v 1.3 2008/06/01 01:46:37 jb Exp $ */ /* ==== //depot/projects/dtrace7/src/sys/cddl/dev/systrace/systrace.c#4 (text+ko) ==== @@ -50,15 +50,41 @@ #include #include #include -#include +#include #include -#include #include #include #include #include +#ifdef LINUX_SYSTRACE +#include +#include +#include +#include +#include +extern struct sysent linux_sysent[]; +#define DEVNAME "dtrace/linsystrace" +#define PROVNAME "linsyscall" +#define MAXSYSCALL LINUX_SYS_MAXSYSCALL +#define SYSCALLNAMES linux_syscallnames +#define SYSENT linux_sysent +#else +/* + * The syscall arguments are processed into a DTrace argument array + * using a generated function. See sys/kern/makesyscalls.sh. + */ +#include +#include +extern const char *syscallnames[]; +#define DEVNAME "dtrace/systrace" +#define PROVNAME "syscall" +#define MAXSYSCALL SYS_MAXSYSCALL +#define SYSCALLNAMES syscallnames +#define SYSENT sysent +#endif + #define SYSTRACE_ARTIFICIAL_FRAMES 1 #define SYSTRACE_SHIFT 16 @@ -67,17 +93,13 @@ #define SYSTRACE_ENTRY(id) ((1 << SYSTRACE_SHIFT) | (id)) #define SYSTRACE_RETURN(id) (id) -#if ((1 << SYSTRACE_SHIFT) <= SYS_MAXSYSCALL) +#if ((1 << SYSTRACE_SHIFT) <= MAXSYSCALL) #error 1 << SYSTRACE_SHIFT must exceed number of system calls #endif -extern char *syscallnames[]; - static d_open_t systrace_open; static int systrace_unload(void); static void systrace_getargdesc(void *, dtrace_id_t, void *, dtrace_argdesc_t *); -static void systrace_args(int, void *, u_int64_t *, int *); -static void systrace_probe(u_int32_t, int, struct sysent *, void *); static void systrace_provide(void *, dtrace_probedesc_t *); static void systrace_destroy(void *, dtrace_id_t, void *); static void systrace_enable(void *, dtrace_id_t, void *); @@ -87,9 +109,18 @@ static struct cdevsw systrace_cdevsw = { .d_version = D_VERSION, .d_open = systrace_open, +#ifdef LINUX_SYSTRACE + .d_name = "linsystrace", +#else .d_name = "systrace", +#endif }; +static union { + const char **p_constnames; + char **pp_syscallnames; +} uglyhack = { SYSCALLNAMES }; + static dtrace_pattr_t systrace_attr = { { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_COMMON }, { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, @@ -114,12 +145,14 @@ static struct cdev *systrace_cdev; static dtrace_provider_id_t systrace_id; +#if !defined(LINUX_SYSTRACE) /* - * The syscall arguments are processed into a DTrace argument array - * using a generated function. See sys/kern/makesyscalls.sh. + * Probe callback function. + * + * Note: This function is called for _all_ syscalls, regardless of which sysent + * array the syscall comes from. It could be a standard syscall or a + * compat syscall from something like Linux. */ -#include - static void systrace_probe(u_int32_t id, int sysnum, struct sysent *sysent, void *params) { @@ -127,21 +160,20 @@ u_int64_t uargs[8]; /* - * Check if this syscall has a custom argument conversion - * function registered. If so, it is a syscall registered - * by a loaded module. + * Check if this syscall has an argument conversion function + * registered. */ if (sysent->sy_systrace_args_func != NULL) /* * Convert the syscall parameters using the registered * function. */ - (*sysent->sy_systrace_args_func)(params, uargs, &n_args); + (*sysent->sy_systrace_args_func)(sysnum, params, uargs, &n_args); else /* * Use the built-in system call argument conversion * function to translate the syscall structure fields - * into thhe array of 64-bit values that DTrace + * into the array of 64-bit values that DTrace * expects. */ systrace_args(sysnum, params, uargs, &n_args); @@ -149,6 +181,7 @@ /* Process the probe using the converted argments. */ dtrace_probe(id, uargs[0], uargs[1], uargs[2], uargs[3], uargs[4]); } +#endif static void systrace_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc) @@ -172,15 +205,15 @@ if (desc != NULL) return; - for (i = 0; i < SYS_MAXSYSCALL; i++) { + for (i = 0; i < MAXSYSCALL; i++) { if (dtrace_probe_lookup(systrace_id, NULL, - syscallnames[i], "entry") != 0) + uglyhack.pp_syscallnames[i], "entry") != 0) continue; - (void) dtrace_probe_create(systrace_id, NULL, syscallnames[i], + (void) dtrace_probe_create(systrace_id, NULL, uglyhack.pp_syscallnames[i], "entry", SYSTRACE_ARTIFICIAL_FRAMES, (void *)((uintptr_t)SYSTRACE_ENTRY(i))); - (void) dtrace_probe_create(systrace_id, NULL, syscallnames[i], + (void) dtrace_probe_create(systrace_id, NULL, uglyhack.pp_syscallnames[i], "return", SYSTRACE_ARTIFICIAL_FRAMES, (void *)((uintptr_t)SYSTRACE_RETURN(i))); } @@ -209,10 +242,13 @@ { int sysnum = SYSTRACE_SYSNUM((uintptr_t)parg); + if (SYSENT[sysnum].sy_systrace_args_func == NULL) + SYSENT[sysnum].sy_systrace_args_func = systrace_args; + if (SYSTRACE_ISENTRY((uintptr_t)parg)) - sysent[sysnum].sy_entry = id; + SYSENT[sysnum].sy_entry = id; else - sysent[sysnum].sy_return = id; + SYSENT[sysnum].sy_return = id; } static void @@ -220,8 +256,8 @@ { int sysnum = SYSTRACE_SYSNUM((uintptr_t)parg); - sysent[sysnum].sy_entry = 0; - sysent[sysnum].sy_return = 0; + SYSENT[sysnum].sy_entry = 0; + SYSENT[sysnum].sy_return = 0; } static void @@ -229,13 +265,15 @@ { /* Create the /dev/dtrace/systrace entry. */ systrace_cdev = make_dev(&systrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "dtrace/systrace"); + DEVNAME); - if (dtrace_register("syscall", &systrace_attr, DTRACE_PRIV_USER, + if (dtrace_register(PROVNAME, &systrace_attr, DTRACE_PRIV_USER, NULL, &systrace_pops, NULL, &systrace_id) != 0) return; +#if !defined(LINUX_SYSTRACE) systrace_probe_func = systrace_probe; +#endif } @@ -247,7 +285,9 @@ if ((error = dtrace_unregister(systrace_id)) != 0) return (error); +#if !defined(LINUX_SYSTRACE) systrace_probe_func = NULL; +#endif destroy_dev(systrace_cdev); @@ -286,7 +326,16 @@ SYSINIT(systrace_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_load, NULL); SYSUNINIT(systrace_unload, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_unload, NULL); +#ifdef LINUX_SYSTRACE +DEV_MODULE(linsystrace, systrace_modevent, NULL); +MODULE_VERSION(linsystrace, 1); +MODULE_DEPEND(linsystrace, linux, 1, 1, 1); +MODULE_DEPEND(linsystrace, systrace, 1, 1, 1); +MODULE_DEPEND(linsystrace, dtrace, 1, 1, 1); +MODULE_DEPEND(linsystrace, opensolaris, 1, 1, 1); +#else DEV_MODULE(systrace, systrace_modevent, NULL); MODULE_VERSION(systrace, 1); MODULE_DEPEND(systrace, dtrace, 1, 1, 1); MODULE_DEPEND(systrace, opensolaris, 1, 1, 1); +#endif From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:42:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47D321065670; Mon, 30 Jun 2008 07:42: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 E53151065682 for ; Mon, 30 Jun 2008 07:42:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2B708FC19 for ; Mon, 30 Jun 2008 07:42:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U7g2bi006020 for ; Mon, 30 Jun 2008 07:42:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U7g2eZ006018 for perforce@freebsd.org; Mon, 30 Jun 2008 07:42:02 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:42:02 GMT Message-Id: <200806300742.m5U7g2eZ006018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144354 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, 30 Jun 2008 07:42:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144354 Change 144354 by jb@freebsd3 on 2008/06/30 07:41:40 IFdtrace Affected files ... .. //depot/projects/dtrace6/src/Makefile.inc1#6 integrate .. //depot/projects/dtrace6/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#2 integrate .. //depot/projects/dtrace6/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#2 integrate .. //depot/projects/dtrace6/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#2 integrate .. //depot/projects/dtrace6/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#2 integrate .. //depot/projects/dtrace6/src/lib/libproc/libproc.h#2 integrate .. //depot/projects/dtrace6/src/lib/libproc/proc_create.c#2 integrate .. //depot/projects/dtrace6/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#4 integrate .. //depot/projects/dtrace6/src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#3 integrate .. //depot/projects/dtrace6/src/sys/cddl/dev/systrace/systrace.c#3 integrate Differences ... ==== //depot/projects/dtrace6/src/Makefile.inc1#6 (text+ko) ==== ==== //depot/projects/dtrace6/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c#2 (text) ==== @@ -1576,7 +1576,7 @@ if ((v = make_argv(optarg)) == NULL) fatal("failed to allocate memory"); - P = dtrace_proc_create(g_dtp, v[0], v); + P = dtrace_proc_create(g_dtp, v[0], v, NULL, NULL); if (P == NULL) dfatal(NULL); /* dtrace_errmsg() only */ ==== //depot/projects/dtrace6/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#2 (text) ==== @@ -955,7 +955,8 @@ } struct ps_prochandle * -dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv) +dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, + proc_child_func *pcf, void *child_arg) { dt_proc_hash_t *dph = dtp->dt_procs; dt_proc_t *dpr; @@ -981,7 +982,7 @@ #else (void) proc_clearflags(dpr->dpr_proc, PR_RLC); (void) proc_setflags(dpr->dpr_proc, PR_KLC); - if ((err = proc_create(file, argv, &dpr->dpr_proc)) != 0) + if ((err = proc_create(file, argv, pcf, child_arg, &dpr->dpr_proc)) != 0) return (dt_proc_error(dtp, dpr, "failed to execute %s: %s\n", file, strerror(err))); dpr->dpr_hdl = dtp; @@ -1183,10 +1184,11 @@ } struct ps_prochandle * -dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv) +dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, + proc_child_func *pcf, void *child_arg) { dt_ident_t *idp = dt_idhash_lookup(dtp->dt_macros, "target"); - struct ps_prochandle *P = dt_proc_create(dtp, file, argv); + struct ps_prochandle *P = dt_proc_create(dtp, file, argv, pcf, child_arg); if (P != NULL && idp != NULL && idp->di_id == 0) #if defined(sun) ==== //depot/projects/dtrace6/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#2 (text) ==== @@ -99,7 +99,7 @@ } dt_proc_hash_t; extern struct ps_prochandle *dt_proc_create(dtrace_hdl_t *, - const char *, char *const *); + const char *, char *const *, proc_child_func *, void *); extern struct ps_prochandle *dt_proc_grab(dtrace_hdl_t *, pid_t, int, int); extern void dt_proc_release(dtrace_hdl_t *, struct ps_prochandle *); ==== //depot/projects/dtrace6/src/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h#2 (text) ==== @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { @@ -413,7 +414,7 @@ */ extern struct ps_prochandle *dtrace_proc_create(dtrace_hdl_t *, - const char *, char *const *); + const char *, char *const *, proc_child_func *, void *); extern struct ps_prochandle *dtrace_proc_grab(dtrace_hdl_t *, pid_t, int); extern void dtrace_proc_release(dtrace_hdl_t *, struct ps_prochandle *); ==== //depot/projects/dtrace6/src/lib/libproc/libproc.h#2 (text+ko) ==== @@ -33,6 +33,8 @@ struct proc_handle; +typedef void (*proc_child_func)(void *); + /* Values returned by proc_state(). */ #define PS_IDLE 1 #define PS_STOP 2 @@ -55,7 +57,8 @@ int proc_attach(pid_t pid, int flags, struct proc_handle **pphdl); int proc_continue(struct proc_handle *); int proc_clearflags(struct proc_handle *, int); -int proc_create(const char *, char * const *, struct proc_handle **); +int proc_create(const char *, char * const *, proc_child_func *, void *, + struct proc_handle **); int proc_detach(struct proc_handle *); int proc_getflags(struct proc_handle *); int proc_name2sym(struct proc_handle *, const char *, const char *, GElf_Sym *); ==== //depot/projects/dtrace6/src/lib/libproc/proc_create.c#2 (text+ko) ==== @@ -90,7 +90,8 @@ } int -proc_create(const char *file, char * const *argv, struct proc_handle **pphdl) +proc_create(const char *file, char * const *argv, proc_child_func *pcf, + void *child_arg, struct proc_handle **pphdl) { struct proc_handle *phdl; struct kevent kev; @@ -106,13 +107,16 @@ return (ENOMEM); /* Fork a new process. */ - if ((pid = fork()) == -1) + if ((pid = vfork()) == -1) error = errno; else if (pid == 0) { /* The child expects to be traced. */ if (ptrace(PT_TRACE_ME, 0, 0, 0) != 0) _exit(1); + if (pcf != NULL) + (*pcf)(child_arg); + /* Execute the specified file: */ execvp(file, argv); ==== //depot/projects/dtrace6/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#4 (text) ==== @@ -17,6 +17,8 @@ * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END + * + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.5 2008/06/11 18:55:19 ed Exp $ */ /* @@ -16448,6 +16450,7 @@ static struct cdevsw dtrace_cdevsw = { .d_version = D_VERSION, + .d_flags = D_NEEDMINOR, .d_close = dtrace_close, .d_ioctl = dtrace_ioctl, .d_open = dtrace_open, ==== //depot/projects/dtrace6/src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#3 (text) ==== @@ -17,6 +17,8 @@ * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END + * + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h,v 1.3 2008/06/01 01:46:37 jb Exp $ */ /* ==== //depot/projects/dtrace6/src/sys/cddl/dev/systrace/systrace.c#3 (text+ko) ==== @@ -50,15 +50,41 @@ #include #include #include -#include +#include #include -#include #include #include #include #include +#ifdef LINUX_SYSTRACE +#include +#include +#include +#include +#include +extern struct sysent linux_sysent[]; +#define DEVNAME "dtrace/linsystrace" +#define PROVNAME "linsyscall" +#define MAXSYSCALL LINUX_SYS_MAXSYSCALL +#define SYSCALLNAMES linux_syscallnames +#define SYSENT linux_sysent +#else +/* + * The syscall arguments are processed into a DTrace argument array + * using a generated function. See sys/kern/makesyscalls.sh. + */ +#include +#include +extern const char *syscallnames[]; +#define DEVNAME "dtrace/systrace" +#define PROVNAME "syscall" +#define MAXSYSCALL SYS_MAXSYSCALL +#define SYSCALLNAMES syscallnames +#define SYSENT sysent +#endif + #define SYSTRACE_ARTIFICIAL_FRAMES 1 #define SYSTRACE_SHIFT 16 @@ -67,17 +93,13 @@ #define SYSTRACE_ENTRY(id) ((1 << SYSTRACE_SHIFT) | (id)) #define SYSTRACE_RETURN(id) (id) -#if ((1 << SYSTRACE_SHIFT) <= SYS_MAXSYSCALL) +#if ((1 << SYSTRACE_SHIFT) <= MAXSYSCALL) #error 1 << SYSTRACE_SHIFT must exceed number of system calls #endif -extern char *syscallnames[]; - static d_open_t systrace_open; static int systrace_unload(void); static void systrace_getargdesc(void *, dtrace_id_t, void *, dtrace_argdesc_t *); -static void systrace_args(int, void *, u_int64_t *, int *); -static void systrace_probe(u_int32_t, int, struct sysent *, void *); static void systrace_provide(void *, dtrace_probedesc_t *); static void systrace_destroy(void *, dtrace_id_t, void *); static void systrace_enable(void *, dtrace_id_t, void *); @@ -87,9 +109,18 @@ static struct cdevsw systrace_cdevsw = { .d_version = D_VERSION, .d_open = systrace_open, +#ifdef LINUX_SYSTRACE + .d_name = "linsystrace", +#else .d_name = "systrace", +#endif }; +static union { + const char **p_constnames; + char **pp_syscallnames; +} uglyhack = { SYSCALLNAMES }; + static dtrace_pattr_t systrace_attr = { { DTRACE_STABILITY_EVOLVING, DTRACE_STABILITY_EVOLVING, DTRACE_CLASS_COMMON }, { DTRACE_STABILITY_PRIVATE, DTRACE_STABILITY_PRIVATE, DTRACE_CLASS_UNKNOWN }, @@ -114,12 +145,14 @@ static struct cdev *systrace_cdev; static dtrace_provider_id_t systrace_id; +#if !defined(LINUX_SYSTRACE) /* - * The syscall arguments are processed into a DTrace argument array - * using a generated function. See sys/kern/makesyscalls.sh. + * Probe callback function. + * + * Note: This function is called for _all_ syscalls, regardless of which sysent + * array the syscall comes from. It could be a standard syscall or a + * compat syscall from something like Linux. */ -#include - static void systrace_probe(u_int32_t id, int sysnum, struct sysent *sysent, void *params) { @@ -127,9 +160,8 @@ u_int64_t uargs[8]; /* - * Check if this syscall has a custom argument conversion - * function registered. If so, it is a syscall registered - * by a loaded module. + * Check if this syscall has an argument conversion function + * registered. */ #ifdef BREAK_SYSENT_ABI if (sysent->sy_systrace_args_func != NULL) @@ -137,12 +169,12 @@ * Convert the syscall parameters using the registered * function. */ - (*sysent->sy_systrace_args_func)(params, uargs, &n_args); + (*sysent->sy_systrace_args_func)(sysnum, params, uargs, &n_args); else /* * Use the built-in system call argument conversion * function to translate the syscall structure fields - * into thhe array of 64-bit values that DTrace + * into the array of 64-bit values that DTrace * expects. */ #endif @@ -151,6 +183,7 @@ /* Process the probe using the converted argments. */ dtrace_probe(id, uargs[0], uargs[1], uargs[2], uargs[3], uargs[4]); } +#endif static void systrace_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc) @@ -174,15 +207,15 @@ if (desc != NULL) return; - for (i = 0; i < SYS_MAXSYSCALL; i++) { + for (i = 0; i < MAXSYSCALL; i++) { if (dtrace_probe_lookup(systrace_id, NULL, - syscallnames[i], "entry") != 0) + uglyhack.pp_syscallnames[i], "entry") != 0) continue; - (void) dtrace_probe_create(systrace_id, NULL, syscallnames[i], + (void) dtrace_probe_create(systrace_id, NULL, uglyhack.pp_syscallnames[i], "entry", SYSTRACE_ARTIFICIAL_FRAMES, (void *)((uintptr_t)SYSTRACE_ENTRY(i))); - (void) dtrace_probe_create(systrace_id, NULL, syscallnames[i], + (void) dtrace_probe_create(systrace_id, NULL, uglyhack.pp_syscallnames[i], "return", SYSTRACE_ARTIFICIAL_FRAMES, (void *)((uintptr_t)SYSTRACE_RETURN(i))); } @@ -212,10 +245,13 @@ #ifdef BREAK_SYSENT_ABI int sysnum = SYSTRACE_SYSNUM((uintptr_t)parg); + if (SYSENT[sysnum].sy_systrace_args_func == NULL) + SYSENT[sysnum].sy_systrace_args_func = systrace_args; + if (SYSTRACE_ISENTRY((uintptr_t)parg)) - sysent[sysnum].sy_entry = id; + SYSENT[sysnum].sy_entry = id; else - sysent[sysnum].sy_return = id; + SYSENT[sysnum].sy_return = id; #endif } @@ -225,8 +261,8 @@ #ifdef BREAK_SYSENT_ABI int sysnum = SYSTRACE_SYSNUM((uintptr_t)parg); - sysent[sysnum].sy_entry = 0; - sysent[sysnum].sy_return = 0; + SYSENT[sysnum].sy_entry = 0; + SYSENT[sysnum].sy_return = 0; #endif } @@ -235,13 +271,15 @@ { /* Create the /dev/dtrace/systrace entry. */ systrace_cdev = make_dev(&systrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "dtrace/systrace"); + DEVNAME); - if (dtrace_register("syscall", &systrace_attr, DTRACE_PRIV_USER, + if (dtrace_register(PROVNAME, &systrace_attr, DTRACE_PRIV_USER, NULL, &systrace_pops, NULL, &systrace_id) != 0) return; +#if !defined(LINUX_SYSTRACE) systrace_probe_func = systrace_probe; +#endif } @@ -253,7 +291,9 @@ if ((error = dtrace_unregister(systrace_id)) != 0) return (error); +#if !defined(LINUX_SYSTRACE) systrace_probe_func = NULL; +#endif destroy_dev(systrace_cdev); @@ -296,7 +336,16 @@ SYSINIT(systrace_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_load, NULL); SYSUNINIT(systrace_unload, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_unload, NULL); +#ifdef LINUX_SYSTRACE +DEV_MODULE(linsystrace, systrace_modevent, NULL); +MODULE_VERSION(linsystrace, 1); +MODULE_DEPEND(linsystrace, linux, 1, 1, 1); +MODULE_DEPEND(linsystrace, systrace, 1, 1, 1); +MODULE_DEPEND(linsystrace, dtrace, 1, 1, 1); +MODULE_DEPEND(linsystrace, opensolaris, 1, 1, 1); +#else DEV_MODULE(systrace, systrace_modevent, NULL); MODULE_VERSION(systrace, 1); MODULE_DEPEND(systrace, dtrace, 1, 1, 1); MODULE_DEPEND(systrace, opensolaris, 1, 1, 1); +#endif From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:45:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F3391065670; Mon, 30 Jun 2008 07:45: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 213DA1065677 for ; Mon, 30 Jun 2008 07:45:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 101078FC14 for ; Mon, 30 Jun 2008 07:45:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U7j5a3006290 for ; Mon, 30 Jun 2008 07:45:05 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U7j5Xr006288 for perforce@freebsd.org; Mon, 30 Jun 2008 07:45:05 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:45:05 GMT Message-Id: <200806300745.m5U7j5Xr006288@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144355 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, 30 Jun 2008 07:45:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=144355 Change 144355 by jb@freebsd3 on 2008/06/30 07:44:16 MFdtrace Affected files ... .. //depot/projects/dtrace6/src/sys/sys/sysent.h#3 edit .. //depot/projects/dtrace7/src/sys/sys/sysent.h#2 edit Differences ... ==== //depot/projects/dtrace6/src/sys/sys/sysent.h#3 (text+ko) ==== @@ -47,7 +47,7 @@ * Used by loaded syscalls to convert arguments to a DTrace array * of 64-bit arguments. */ -typedef void (*systrace_args_func_t)(void *, u_int64_t *, int *); +typedef void (*systrace_args_func_t)(int, void *, u_int64_t *, int *); extern systrace_probe_func_t systrace_probe_func; ==== //depot/projects/dtrace7/src/sys/sys/sysent.h#2 (text+ko) ==== @@ -48,7 +48,7 @@ * Used by loaded syscalls to convert arguments to a DTrace array * of 64-bit arguments. */ -typedef void (*systrace_args_func_t)(void *, u_int64_t *, int *); +typedef void (*systrace_args_func_t)(int, void *, u_int64_t *, int *); extern systrace_probe_func_t systrace_probe_func; From owner-p4-projects@FreeBSD.ORG Mon Jun 30 07:49:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 95EEC1065674; Mon, 30 Jun 2008 07:49: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 5772F106564A for ; Mon, 30 Jun 2008 07:49:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 463688FC17 for ; Mon, 30 Jun 2008 07:49:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5U7nA63006569 for ; Mon, 30 Jun 2008 07:49:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5U7nAfF006567 for perforce@freebsd.org; Mon, 30 Jun 2008 07:49:10 GMT (envelope-from jb@freebsd.org) Date: Mon, 30 Jun 2008 07:49:10 GMT Message-Id: <200806300749.m5U7nAfF006567@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144356 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, 30 Jun 2008 07:49:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=144356 Change 144356 by jb@freebsd3 on 2008/06/30 07:48:46 linsystrace should be i386 only, I guess. Merge it to dtrace 6 & 7 too. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#34 edit .. //depot/projects/dtrace6/src/sys/modules/dtrace/Makefile#2 edit .. //depot/projects/dtrace6/src/sys/modules/dtrace/linsystrace/Makefile#1 add .. //depot/projects/dtrace7/src/sys/modules/dtrace/Makefile#6 edit .. //depot/projects/dtrace7/src/sys/modules/dtrace/linsystrace/Makefile#1 add Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#34 (text+ko) ==== @@ -7,7 +7,6 @@ dtrace \ dtraceall \ dtrace_test \ - linsystrace \ profile \ prototype \ sdt \ @@ -17,6 +16,7 @@ SUBDIR+= fbt .elif ${MACHINE_ARCH} == "i386" SUBDIR+= fbt +SUBDIR+= linsystrace .endif .include ==== //depot/projects/dtrace6/src/sys/modules/dtrace/Makefile#2 (text+ko) ==== @@ -16,6 +16,7 @@ SUBDIR+= fbt .elif ${MACHINE_ARCH} == "i386" SUBDIR+= fbt +SUBDIR+= linsystrace .endif .include ==== //depot/projects/dtrace7/src/sys/modules/dtrace/Makefile#6 (text+ko) ==== @@ -16,6 +16,7 @@ SUBDIR+= fbt .elif ${MACHINE_ARCH} == "i386" SUBDIR+= fbt +SUBDIR+= linsystrace .endif .include From owner-p4-projects@FreeBSD.ORG Mon Jun 30 15:32:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 08BCF106568F; Mon, 30 Jun 2008 15:32: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 BE02B106567B for ; Mon, 30 Jun 2008 15:32:02 +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 AAD568FC0A for ; Mon, 30 Jun 2008 15:32:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5UFW2hQ080425 for ; Mon, 30 Jun 2008 15:32:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5UFW2aA080423 for perforce@freebsd.org; Mon, 30 Jun 2008 15:32:02 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Jun 2008 15:32:02 GMT Message-Id: <200806301532.m5UFW2aA080423@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 144367 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, 30 Jun 2008 15:32:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144367 Change 144367 by hselasky@hselasky_laptop001 on 2008/06/30 15:31:28 The USB Controller module is complete. - Mostly symbol renaming. "s/usbd_|usb_/usb2/g" (scripted) - Device ID tables have been converted into new format. (scripted) Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci_atmelarm.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2_pci.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_atmelarm.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_pci.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2_pci.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_bus.h#1 add .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_pccard.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_compat_linux.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dynamic.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dynamic.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_defs.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_standard.h#3 edit .. //depot/projects/usb/src/sys/modules/usb2/controller/Makefile#2 edit .. //depot/projects/usb/src/sys/modules/usb2/core/Makefile#3 edit .. //depot/projects/usb/src/sys/modules/usb2/ethernet/Makefile#3 edit .. //depot/projects/usb/src/sys/modules/usb2/wlan/Makefile#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#2 (text+ko) ==== @@ -1,9 +1,8 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/at9100_dci.c $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/at91dci.c $"); /*- - * Copyright (c) 2007 Hans Petter Selasky - * All rights reserved. + * Copyright (c) 2007-2008 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 @@ -45,69 +44,70 @@ * endpoints, Function-address and more. */ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include + +#define USB_DEBUG_VAR at91dcidebug +#define usb2_config_td_cc at91dci_config_copy +#define usb2_config_td_softc at91dci_softc -#define usbd_config_td_cc at9100_dci_config_copy -#define usbd_config_td_softc at9100_dci_softc +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include -#include -#include -#include +#include +#include +#include #define AT9100_DCI_BUS2SC(bus) \ - ((struct at9100_dci_softc *)(((uint8_t *)(bus)) - \ - POINTER_TO_UNSIGNED(&(((struct at9100_dci_softc *)0)->sc_bus)))) + ((struct at91dci_softc *)(((uint8_t *)(bus)) - \ + USB_P2U(&(((struct at91dci_softc *)0)->sc_bus)))) #define AT9100_DCI_PC2SC(pc) \ AT9100_DCI_BUS2SC((pc)->tag_parent->info->bus) #ifdef USB_DEBUG -#define DPRINTFN(n,fmt,...) do { \ - if (at9100_dcidebug > (n)) { \ - printf("%s: " fmt, __FUNCTION__,## __VA_ARGS__); \ - } \ -} while (0) +static int at91dcidebug = 0; -static int at9100_dcidebug = 0; - -SYSCTL_NODE(_hw_usb, OID_AUTO, at9100_dci, CTLFLAG_RW, 0, "USB at9100_dci"); -SYSCTL_INT(_hw_usb_at9100_dci, OID_AUTO, debug, CTLFLAG_RW, - &at9100_dcidebug, 0, "at9100_dci debug level"); -#else -#define DPRINTFN(...) do { } while (0) +SYSCTL_NODE(_hw_usb2, OID_AUTO, at91dci, CTLFLAG_RW, 0, "USB at91dci"); +SYSCTL_INT(_hw_usb2_at91dci, OID_AUTO, debug, CTLFLAG_RW, + &at91dcidebug, 0, "at91dci debug level"); #endif #define AT9100_DCI_INTR_ENDPT 1 /* prototypes */ -struct usbd_bus_methods at9100_dci_bus_methods; -struct usbd_pipe_methods at9100_dci_device_bulk_methods; -struct usbd_pipe_methods at9100_dci_device_ctrl_methods; -struct usbd_pipe_methods at9100_dci_device_intr_methods; -struct usbd_pipe_methods at9100_dci_device_isoc_fs_methods; -struct usbd_pipe_methods at9100_dci_root_ctrl_methods; -struct usbd_pipe_methods at9100_dci_root_intr_methods; +struct usb2_bus_methods at91dci_bus_methods; +struct usb2_pipe_methods at91dci_device_bulk_methods; +struct usb2_pipe_methods at91dci_device_ctrl_methods; +struct usb2_pipe_methods at91dci_device_intr_methods; +struct usb2_pipe_methods at91dci_device_isoc_fs_methods; +struct usb2_pipe_methods at91dci_root_ctrl_methods; +struct usb2_pipe_methods at91dci_root_intr_methods; -static at9100_dci_cmd_t at9100_dci_setup_rx; -static at9100_dci_cmd_t at9100_dci_data_rx; -static at9100_dci_cmd_t at9100_dci_data_tx; -static at9100_dci_cmd_t at9100_dci_data_tx_sync; -static void at9100_dci_device_done(struct usbd_xfer *xfer, usbd_status_t error); -static void at9100_dci_do_poll(struct usbd_bus *bus); -static void at9100_dci_root_ctrl_poll(struct at9100_dci_softc *sc); -static void at9100_dci_standard_done(struct usbd_xfer *xfer); +static at91dci_cmd_t at91dci_setup_rx; +static at91dci_cmd_t at91dci_data_rx; +static at91dci_cmd_t at91dci_data_tx; +static at91dci_cmd_t at91dci_data_tx_sync; +static void at91dci_device_done(struct usb2_xfer *xfer, usb2_error_t error); +static void at91dci_do_poll(struct usb2_bus *bus); +static void at91dci_root_ctrl_poll(struct at91dci_softc *sc); +static void at91dci_standard_done(struct usb2_xfer *xfer); -static usbd_std_root_transfer_func_t at9100_dci_root_intr_done; -static usbd_std_root_transfer_func_t at9100_dci_root_ctrl_done; -static usbd_config_td_command_t at9100_dci_root_ctrl_task; +static usb2_sw_transfer_func_t at91dci_root_intr_done; +static usb2_sw_transfer_func_t at91dci_root_ctrl_done; +static usb2_config_td_command_t at91dci_root_ctrl_task; /* * NOTE: Some of the bits in the CSR register have inverse meaning so @@ -128,8 +128,8 @@ * Here is a list of what the chip supports. * Probably it supports more than listed here! */ -static const struct usbd_hw_ep_profile - at9100_dci_ep_profile[AT91_UDP_EP_MAX] = { +static const struct usb2_hw_ep_profile + at91dci_ep_profile[AT91_UDP_EP_MAX] = { [0] = { .max_frame_size = 8, @@ -187,11 +187,11 @@ }; static void -at9100_dci_get_hw_ep_profile(struct usbd_device *udev, - const struct usbd_hw_ep_profile **ppf, uint8_t ep_addr) +at91dci_get_hw_ep_profile(struct usb2_device *udev, + const struct usb2_hw_ep_profile **ppf, uint8_t ep_addr) { if (ep_addr < AT91_UDP_EP_MAX) { - *ppf = (at9100_dci_ep_profile + ep_addr); + *ppf = (at91dci_ep_profile + ep_addr); } else { *ppf = NULL; } @@ -199,12 +199,12 @@ } static void -at9100_dci_clocks_on(struct at9100_dci_softc *sc) +at91dci_clocks_on(struct at91dci_softc *sc) { if (sc->sc_flags.clocks_off && sc->sc_flags.port_powered) { - DPRINTFN(4, "\n"); + DPRINTF(4, "\n"); if (sc->sc_clocks_on) { (sc->sc_clocks_on) (sc->sc_clocks_arg); @@ -218,11 +218,11 @@ } static void -at9100_dci_clocks_off(struct at9100_dci_softc *sc) +at91dci_clocks_off(struct at91dci_softc *sc) { if (!sc->sc_flags.clocks_off) { - DPRINTFN(4, "\n"); + DPRINTF(4, "\n"); /* disable Transceiver */ AT91_UDP_WRITE_4(sc, AT91_UDP_TXVC, AT91_UDP_TXVC_DIS); @@ -236,7 +236,7 @@ } static void -at9100_dci_pull_up(struct at9100_dci_softc *sc) +at91dci_pull_up(struct at91dci_softc *sc) { /* pullup D+, if possible */ @@ -249,7 +249,7 @@ } static void -at9100_dci_pull_down(struct at9100_dci_softc *sc) +at91dci_pull_down(struct at91dci_softc *sc) { /* pulldown D+, if possible */ @@ -261,7 +261,7 @@ } static void -at9100_dci_wakeup_peer(struct at9100_dci_softc *sc) +at91dci_wakeup_peer(struct at91dci_softc *sc) { uint32_t temp; @@ -279,12 +279,12 @@ } static void -at9100_dci_rem_wakeup_set(struct usbd_device *udev, uint8_t is_on) +at91dci_rem_wakeup_set(struct usb2_device *udev, uint8_t is_on) { - struct at9100_dci_softc *sc; + struct at91dci_softc *sc; uint32_t temp; - DPRINTFN(4, "is_on=%u\n", is_on); + DPRINTF(4, "is_on=%u\n", is_on); mtx_assert(&(udev->bus->mtx), MA_OWNED); @@ -304,9 +304,9 @@ } static void -at9100_dci_set_address(struct at9100_dci_softc *sc, uint8_t addr) +at91dci_set_address(struct at91dci_softc *sc, uint8_t addr) { - DPRINTFN(4, "addr=%d\n", addr); + DPRINTF(4, "addr=%d\n", addr); AT91_UDP_WRITE_4(sc, AT91_UDP_FADDR, addr | AT91_UDP_FADDR_EN); @@ -315,10 +315,10 @@ } static uint8_t -at9100_dci_setup_rx(struct at9100_dci_td *td) +at91dci_setup_rx(struct at91dci_td *td) { - struct at9100_dci_softc *sc; - usb_device_request_t req; + struct at91dci_softc *sc; + struct usb2_device_request req; uint32_t csr; uint32_t temp; uint16_t count; @@ -327,7 +327,7 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTFN(4, "csr=0x%08x rem=%u\n", csr, td->remainder); + DPRINTF(4, "csr=0x%08x rem=%u\n", csr, td->remainder); temp = csr; temp &= (AT91_UDP_CSR_RX_DATA_BK0 | @@ -339,7 +339,7 @@ if (!(csr & AT91_UDP_CSR_RXSETUP)) { /* abort any ongoing transfer */ if (!td->did_stall) { - DPRINTFN(4, "stalling\n"); + DPRINTF(4, "stalling\n"); temp |= AT91_UDP_CSR_FORCESTALL; td->did_stall = 1; } @@ -350,12 +350,12 @@ /* verify data length */ if (count != td->remainder) { - DPRINTFN(-1, "Invalid SETUP packet " + DPRINTF(-1, "Invalid SETUP packet " "length, %d bytes\n", count); goto not_complete; } if (count != sizeof(req)) { - DPRINTFN(-1, "Unsupported SETUP packet " + DPRINTF(-1, "Unsupported SETUP packet " "length, %d bytes\n", count); goto not_complete; } @@ -364,7 +364,7 @@ td->fifo_reg, (void *)&req, sizeof(req)); /* copy data into real buffer */ - usbd_copy_in(td->pc, 0, &req, sizeof(req)); + usb2_copy_in(td->pc, 0, &req, sizeof(req)); td->offset = sizeof(req); td->remainder = 0; @@ -396,7 +396,7 @@ not_complete: /* clear interrupts, if any */ if (temp) { - DPRINTFN(4, "clearing 0x%08x\n", temp); + DPRINTF(4, "clearing 0x%08x\n", temp); AT91_CSR_ACK(csr, temp); bus_space_write_4(td->io_tag, td->io_hdl, td->status_reg, csr); @@ -406,9 +406,9 @@ } static uint8_t -at9100_dci_data_rx(struct at9100_dci_td *td) +at91dci_data_rx(struct at91dci_td *td) { - struct usbd_page_search buf_res; + struct usb2_page_search buf_res; uint32_t csr; uint32_t temp; uint16_t count; @@ -424,7 +424,7 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTFN(4, "csr=0x%08x rem=%u\n", csr, td->remainder); + DPRINTF(4, "csr=0x%08x rem=%u\n", csr, td->remainder); if (csr & AT91_UDP_CSR_RXSETUP) { if (td->remainder == 0) { @@ -432,7 +432,7 @@ * We are actually complete and have * received the next SETUP */ - DPRINTFN(4, "faking complete\n"); + DPRINTF(4, "faking complete\n"); return (0); /* complete */ } /* @@ -478,7 +478,7 @@ return (0); /* we are complete */ } while (count > 0) { - usbd_get_page(td->pc, td->offset, &buf_res); + usb2_get_page(td->pc, td->offset, &buf_res); /* get correct length */ if (buf_res.length > count) { @@ -533,9 +533,9 @@ } static uint8_t -at9100_dci_data_tx(struct at9100_dci_td *td) +at91dci_data_tx(struct at91dci_td *td) { - struct usbd_page_search buf_res; + struct usb2_page_search buf_res; uint32_t csr; uint32_t temp; uint16_t count; @@ -549,7 +549,7 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTFN(4, "csr=0x%08x rem=%u\n", csr, td->remainder); + DPRINTF(4, "csr=0x%08x rem=%u\n", csr, td->remainder); if (csr & AT91_UDP_CSR_RXSETUP) { /* @@ -585,7 +585,7 @@ } while (count > 0) { - usbd_get_page(td->pc, td->offset, &buf_res); + usb2_get_page(td->pc, td->offset, &buf_res); /* get correct length */ if (buf_res.length > count) { @@ -620,9 +620,9 @@ } static uint8_t -at9100_dci_data_tx_sync(struct at9100_dci_td *td) +at91dci_data_tx_sync(struct at91dci_td *td) { - struct at9100_dci_softc *sc; + struct at91dci_softc *sc; uint32_t csr; uint32_t temp; @@ -634,10 +634,10 @@ csr = bus_space_read_4(td->io_tag, td->io_hdl, td->status_reg); - DPRINTFN(4, "csr=0x%08x\n", csr); + DPRINTF(4, "csr=0x%08x\n", csr); if (csr & AT91_UDP_CSR_RXSETUP) { - DPRINTFN(4, "faking complete\n"); + DPRINTF(4, "faking complete\n"); /* Race condition */ return (0); /* complete */ } @@ -659,7 +659,7 @@ * setting the address and that is to write the new * address before clearing TXCOMP: */ - at9100_dci_set_address(sc, sc->sc_dv_addr); + at91dci_set_address(sc, sc->sc_dv_addr); } /* write command */ AT91_CSR_ACK(csr, temp); @@ -679,13 +679,13 @@ } static uint8_t -at9100_dci_xfer_do_fifo(struct usbd_xfer *xfer) +at91dci_xfer_do_fifo(struct usb2_xfer *xfer) { - struct at9100_dci_softc *sc; - struct at9100_dci_td *td; + struct at91dci_softc *sc; + struct at91dci_td *td; uint8_t temp; - DPRINTFN(8, "\n"); + DPRINTF(8, "\n"); td = xfer->td_transfer_cache; while (1) { @@ -722,7 +722,7 @@ return (1); /* not complete */ done: - sc = xfer->usb_sc; + sc = xfer->usb2_sc; temp = (xfer->endpoint & UE_ADDR); /* update FIFO bank flag and multi buffer */ @@ -734,32 +734,32 @@ /* compute all actual lengths */ - at9100_dci_standard_done(xfer); + at91dci_standard_done(xfer); return (0); /* complete */ } static void -at9100_dci_interrupt_poll(struct at9100_dci_softc *sc) +at91dci_interrupt_poll(struct at91dci_softc *sc) { - struct usbd_xfer *xfer; + struct usb2_xfer *xfer; - LIST_FOREACH(xfer, &sc->sc_bus.intr_list_head, interrupt_list) { - if (!at9100_dci_xfer_do_fifo(xfer)) { - /* queue callback for execution */ - usbd_callback_wrapper(xfer, NULL, - USBD_CONTEXT_CALLBACK); +repeat: + TAILQ_FOREACH(xfer, &(sc->sc_bus.intr_q.head), wait_entry) { + if (!at91dci_xfer_do_fifo(xfer)) { + /* queue has been modified */ + goto repeat; } } return; } static void -at9100_dci_vbus_interrupt(struct usbd_bus *bus, uint8_t is_on) +at91dci_vbus_interrupt(struct usb2_bus *bus, uint8_t is_on) { - struct at9100_dci_softc *sc = AT9100_DCI_BUS2SC(bus); + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(bus); - DPRINTFN(4, "vbus = %u\n", is_on); + DPRINTF(4, "vbus = %u\n", is_on); mtx_lock(&(sc->sc_bus.mtx)); if (is_on) { @@ -768,8 +768,8 @@ /* complete root HUB interrupt endpoint */ - usbd_std_root_transfer(&(sc->sc_root_intr), - &at9100_dci_root_intr_done); + usb2_sw_transfer(&(sc->sc_root_intr), + &at91dci_root_intr_done); } } else { if (sc->sc_flags.status_vbus) { @@ -781,8 +781,8 @@ /* complete root HUB interrupt endpoint */ - usbd_std_root_transfer(&(sc->sc_root_intr), - &at9100_dci_root_intr_done); + usb2_sw_transfer(&(sc->sc_root_intr), + &at91dci_root_intr_done); } } @@ -792,7 +792,7 @@ } void -at9100_dci_interrupt(struct at9100_dci_softc *sc) +at91dci_interrupt(struct at91dci_softc *sc) { uint32_t status; @@ -813,7 +813,7 @@ if (status & AT91_UDP_INT_BUS) { - DPRINTFN(4, "real bus interrupt 0x%08x\n", status); + DPRINTF(4, "real bus interrupt 0x%08x\n", status); if (status & AT91_UDP_INT_END_BR) { @@ -863,16 +863,16 @@ } /* complete root HUB interrupt endpoint */ - usbd_std_root_transfer(&(sc->sc_root_intr), - &at9100_dci_root_intr_done); + usb2_sw_transfer(&(sc->sc_root_intr), + &at91dci_root_intr_done); } /* check for any endpoint interrupts */ if (status & AT91_UDP_INT_EPS) { - DPRINTFN(4, "real endpoint interrupt 0x%08x\n", status); + DPRINTF(4, "real endpoint interrupt 0x%08x\n", status); - at9100_dci_interrupt_poll(sc); + at91dci_interrupt_poll(sc); } mtx_unlock(&(sc->sc_bus.mtx)); @@ -880,9 +880,9 @@ } static void -at9100_dci_setup_standard_chain_sub(struct at9100_std_temp *temp) +at91dci_setup_standard_chain_sub(struct at91dci_std_temp *temp) { - struct at9100_dci_td *td; + struct at91dci_td *td; /* get current Transfer Descriptor */ td = temp->td_next; @@ -905,18 +905,18 @@ } static void -at9100_dci_setup_standard_chain(struct usbd_xfer *xfer) +at91dci_setup_standard_chain(struct usb2_xfer *xfer) { - struct at9100_std_temp temp; - struct at9100_dci_softc *sc; - struct at9100_dci_td *td; + struct at91dci_std_temp temp; + struct at91dci_softc *sc; + struct at91dci_td *td; uint32_t x; uint8_t need_sync; uint8_t ep_no; - DPRINTFN(8, "addr=%d endpt=%d sumlen=%d speed=%d\n", + DPRINTF(8, "addr=%d endpt=%d sumlen=%d speed=%d\n", xfer->address, UE_GET_ADDR(xfer->endpoint), - xfer->sumlen, usbd_get_speed(xfer->udev)); + xfer->sumlen, usb2_get_speed(xfer->udev)); temp.max_frame_size = xfer->max_frame_size; @@ -931,7 +931,7 @@ temp.setup_alt_next = xfer->flags_int.short_frames_ok; temp.offset = 0; - sc = xfer->usb_sc; + sc = xfer->usb2_sc; ep_no = (xfer->endpoint & UE_ADDR); /* check if we should prepend a setup message */ @@ -939,12 +939,12 @@ if (xfer->flags_int.control_xfr) { if (xfer->flags_int.control_hdr) { - temp.func = &at9100_dci_setup_rx; + temp.func = &at91dci_setup_rx; temp.len = xfer->frlengths[0]; temp.pc = xfer->frbuffers + 0; temp.short_pkt = temp.len ? 1 : 0; - at9100_dci_setup_standard_chain_sub(&temp); + at91dci_setup_standard_chain_sub(&temp); } x = 1; } else { @@ -953,10 +953,10 @@ if (x != xfer->nframes) { if (xfer->endpoint & UE_DIR_IN) { - temp.func = &at9100_dci_data_tx; + temp.func = &at91dci_data_tx; need_sync = 1; } else { - temp.func = &at9100_dci_data_rx; + temp.func = &at91dci_data_rx; need_sync = 0; } @@ -990,7 +990,7 @@ temp.short_pkt = (xfer->flags.force_short_xfer) ? 0 : 1; } - at9100_dci_setup_standard_chain_sub(&temp); + at91dci_setup_standard_chain_sub(&temp); if (xfer->flags_int.isochronous_xfr) { temp.offset += temp.len; @@ -1007,11 +1007,11 @@ if (need_sync && !xfer->flags_int.isochronous_xfr) { /* we need a SYNC point after TX */ - temp.func = &at9100_dci_data_tx_sync; + temp.func = &at91dci_data_tx_sync; temp.len = 0; temp.short_pkt = 0; - at9100_dci_setup_standard_chain_sub(&temp); + at91dci_setup_standard_chain_sub(&temp); } /* check if we should append a status stage */ @@ -1023,23 +1023,23 @@ * endpoint direction. */ if (xfer->endpoint & UE_DIR_IN) { - temp.func = &at9100_dci_data_rx; + temp.func = &at91dci_data_rx; need_sync = 0; } else { - temp.func = &at9100_dci_data_tx; + temp.func = &at91dci_data_tx; need_sync = 1; } temp.len = 0; temp.short_pkt = 0; - at9100_dci_setup_standard_chain_sub(&temp); + at91dci_setup_standard_chain_sub(&temp); if (need_sync) { /* we need a SYNC point after TX */ - temp.func = &at9100_dci_data_tx_sync; + temp.func = &at91dci_data_tx_sync; temp.len = 0; temp.short_pkt = 0; - at9100_dci_setup_standard_chain_sub(&temp); + at91dci_setup_standard_chain_sub(&temp); } } /* must have at least one frame! */ @@ -1055,34 +1055,32 @@ } static void -at9100_dci_timeout(struct usbd_xfer *xfer) +at91dci_timeout(void *arg) { - struct at9100_dci_softc *sc = xfer->usb_sc; + struct usb2_xfer *xfer = arg; + struct at91dci_softc *sc = xfer->usb2_sc; - DPRINTFN(0, "xfer=%p\n", xfer); + DPRINTF(0, "xfer=%p\n", xfer); mtx_assert(&sc->sc_bus.mtx, MA_OWNED); /* transfer is transferred */ - at9100_dci_device_done(xfer, USBD_ERR_TIMEOUT); + at91dci_device_done(xfer, USB_ERR_TIMEOUT); - /* queue callback for execution */ - usbd_callback_wrapper(xfer, NULL, USBD_CONTEXT_CALLBACK); - mtx_unlock(&sc->sc_bus.mtx); return; } static void -at9100_dci_start_standard_chain(struct usbd_xfer *xfer) +at91dci_start_standard_chain(struct usb2_xfer *xfer) { - DPRINTFN(8, "\n"); + DPRINTF(8, "\n"); /* poll one time */ - if (at9100_dci_xfer_do_fifo(xfer)) { + if (at91dci_xfer_do_fifo(xfer)) { - struct at9100_dci_softc *sc = xfer->usb_sc; + struct at91dci_softc *sc = xfer->usb2_sc; uint8_t ep_no = xfer->endpoint & UE_ADDR; /* @@ -1092,42 +1090,34 @@ */ AT91_UDP_WRITE_4(sc, AT91_UDP_IER, AT91_UDP_INT_EP(ep_no)); - DPRINTFN(14, "enable interrupts on endpoint %d\n", ep_no); + DPRINTF(14, "enable interrupts on endpoint %d\n", ep_no); - /* queue up transfer on interrupt list */ - usbd_transfer_intr_enqueue(xfer); + /* put transfer on interrupt queue */ + usb2_transfer_enqueue(&(xfer->udev->bus->intr_q), xfer); - /* setup a timeout, if any */ - if (xfer->timeout && (!xfer->flags.use_polling)) { - usb_callout_reset(&xfer->timeout_handle, - USBD_MS_TO_TICKS(xfer->timeout), - (void *)&at9100_dci_timeout, xfer); + /* start timeout, if any */ + if (xfer->timeout != 0) { + usb2_transfer_timeout_ms(xfer, + &at91dci_timeout, xfer->timeout); } - } else { - /* - * The USB transfer is complete. Queue callback for - * execution: - */ - usbd_callback_wrapper(xfer, NULL, - USBD_CONTEXT_CALLBACK); } return; } static void -at9100_dci_root_intr_done(struct usbd_xfer *xfer, - struct usbd_std_root_transfer *std) +at91dci_root_intr_done(struct usb2_xfer *xfer, + struct usb2_sw_transfer *std) { - struct at9100_dci_softc *sc = xfer->usb_sc; + struct at91dci_softc *sc = xfer->usb2_sc; - DPRINTFN(8, "\n"); + DPRINTF(8, "\n"); mtx_assert(&sc->sc_bus.mtx, MA_OWNED); - if (std->state != USBD_STD_ROOT_TR_PRE_DATA) { - if (std->state == USBD_STD_ROOT_TR_PRE_CALLBACK) { + if (std->state != USB_SW_TR_PRE_DATA) { + if (std->state == USB_SW_TR_PRE_CALLBACK) { /* transfer transferred */ - at9100_dci_device_done(xfer, std->err); + at91dci_device_done(xfer, std->err); } goto done; } @@ -1142,14 +1132,14 @@ return; } -static usbd_status_t -at9100_dci_standard_done_sub(struct usbd_xfer *xfer) +static usb2_error_t +at91dci_standard_done_sub(struct usb2_xfer *xfer) { - struct at9100_dci_td *td; + struct at91dci_td *td; uint32_t len; uint8_t error; - DPRINTFN(8, "\n"); + DPRINTF(8, "\n"); td = xfer->td_transfer_cache; @@ -1203,15 +1193,15 @@ xfer->td_transfer_cache = td; return (error ? - USBD_ERR_STALLED : USBD_ERR_NORMAL_COMPLETION); + USB_ERR_STALLED : USB_ERR_NORMAL_COMPLETION); } static void -at9100_dci_standard_done(struct usbd_xfer *xfer) +at91dci_standard_done(struct usb2_xfer *xfer) { - usbd_status_t err = 0; + usb2_error_t err = 0; - DPRINTFN(12, "xfer=%p pipe=%p transfer done\n", + DPRINTF(12, "xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe); /* reset scanner */ @@ -1222,7 +1212,7 @@ if (xfer->flags_int.control_hdr) { - err = at9100_dci_standard_done_sub(xfer); + err = at91dci_standard_done_sub(xfer); } xfer->aframes = 1; @@ -1232,7 +1222,7 @@ } while (xfer->aframes != xfer->nframes) { - err = at9100_dci_standard_done_sub(xfer); + err = at91dci_standard_done_sub(xfer); xfer->aframes++; if (xfer->td_transfer_cache == NULL) { @@ -1243,58 +1233,58 @@ if (xfer->flags_int.control_xfr && !xfer->flags_int.control_act) { - err = at9100_dci_standard_done_sub(xfer); + err = at91dci_standard_done_sub(xfer); } done: - at9100_dci_device_done(xfer, err); + at91dci_device_done(xfer, err); return; } /*------------------------------------------------------------------------* - * at9100_dci_device_done + * at91dci_device_done * * NOTE: this function can be called more than one time on the * same USB transfer! *------------------------------------------------------------------------*/ static void -at9100_dci_device_done(struct usbd_xfer *xfer, usbd_status_t error) +at91dci_device_done(struct usb2_xfer *xfer, usb2_error_t error) { - struct at9100_dci_softc *sc = xfer->usb_sc; + struct at91dci_softc *sc = xfer->usb2_sc; uint8_t ep_no; mtx_assert(&sc->sc_bus.mtx, MA_OWNED); - DPRINTFN(1, "xfer=%p, pipe=%p, error=%d\n", + DPRINTF(1, "xfer=%p, pipe=%p, error=%d\n", xfer, xfer->pipe, error); - if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { + if (xfer->flags_int.usb2_mode == USB_MODE_DEVICE) { ep_no = (xfer->endpoint & UE_ADDR); /* disable endpoint interrupt */ AT91_UDP_WRITE_4(sc, AT91_UDP_IDR, AT91_UDP_INT_EP(ep_no)); - DPRINTFN(14, "disable interrupts on endpoint %d\n", ep_no); + DPRINTF(14, "disable interrupts on endpoint %d\n", ep_no); } /* dequeue transfer and start next transfer */ - usbd_transfer_dequeue(xfer, error); + usb2_transfer_done(xfer, error); return; } static void -at9100_dci_set_stall(struct usbd_device *udev, struct usbd_xfer *xfer, - struct usbd_pipe *pipe) +at91dci_set_stall(struct usb2_device *udev, struct usb2_xfer *xfer, + struct usb2_pipe *pipe) { - struct at9100_dci_softc *sc; + struct at91dci_softc *sc; uint32_t csr_val; uint8_t csr_reg; mtx_assert(&(udev->bus->mtx), MA_OWNED); - DPRINTFN(4, "pipe=%p\n", pipe); + DPRINTF(4, "pipe=%p\n", pipe); if (xfer) { /* cancel any ongoing transfers */ - at9100_dci_device_done(xfer, USBD_ERR_STALLED); + at91dci_device_done(xfer, USB_ERR_STALLED); } /* set FORCESTALL */ sc = AT9100_DCI_BUS2SC(udev->bus); @@ -1307,10 +1297,10 @@ } static void -at9100_dci_clear_stall_sub(struct at9100_dci_softc *sc, uint8_t ep_no, +at91dci_clear_stall_sub(struct at91dci_softc *sc, uint8_t ep_no, uint8_t ep_type, uint8_t ep_dir) { - const struct usbd_hw_ep_profile *pf; + const struct usb2_hw_ep_profile *pf; uint32_t csr_val; uint32_t temp; uint8_t csr_reg; @@ -1331,7 +1321,7 @@ AT91_UDP_WRITE_4(sc, csr_reg, csr_val); /* get endpoint profile */ - at9100_dci_get_hw_ep_profile(NULL, &pf, ep_no); + at91dci_get_hw_ep_profile(NULL, &pf, ep_no); /* reset FIFO */ AT91_UDP_WRITE_4(sc, AT91_UDP_RST, AT91_UDP_RST_EP(ep_no)); @@ -1405,17 +1395,17 @@ } static void -at9100_dci_clear_stall(struct usbd_device *udev, struct usbd_pipe *pipe) +at91dci_clear_stall(struct usb2_device *udev, struct usb2_pipe *pipe) { - struct at9100_dci_softc *sc; - usb_endpoint_descriptor_t *ed; + struct at91dci_softc *sc; + struct usb2_endpoint_descriptor *ed; - DPRINTFN(4, "pipe=%p\n", pipe); + DPRINTF(4, "pipe=%p\n", pipe); mtx_assert(&(udev->bus->mtx), MA_OWNED); /* check mode */ - if (udev->flags.usb_mode != USB_MODE_DEVICE) { + if (udev->flags.usb2_mode != USB_MODE_DEVICE) { /* not supported */ return; } @@ -1426,24 +1416,24 @@ ed = pipe->edesc; /* reset endpoint */ - at9100_dci_clear_stall_sub(sc, + at91dci_clear_stall_sub(sc, (ed->bEndpointAddress & UE_ADDR), (ed->bmAttributes & UE_XFERTYPE), >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 30 15:42:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C857106571A; Mon, 30 Jun 2008 15:42: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 18D381065712 for ; Mon, 30 Jun 2008 15:42:13 +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 068368FC2A for ; Mon, 30 Jun 2008 15:42:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5UFgCi1081810 for ; Mon, 30 Jun 2008 15:42:12 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5UFgCj0081808 for perforce@freebsd.org; Mon, 30 Jun 2008 15:42:12 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Jun 2008 15:42:12 GMT Message-Id: <200806301542.m5UFgCj0081808@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 144368 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, 30 Jun 2008 15:42:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=144368 Change 144368 by hselasky@hselasky_laptop001 on 2008/06/30 15:42:04 Some minor fixes and corrections. - usb2_generic.c : Exit from clear stall callback if not clearing stall. - Compile fixes. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#3 (text+ko) ==== @@ -442,6 +442,10 @@ struct usb2_fifo *f = xfer->priv_sc; struct usb2_xfer *xfer_other = f->xfer[0]; + if (f->flag_stall == 0) { + /* nothing to do */ + return; + } if (usb2_clear_stall_callback(xfer, xfer_other)) { DPRINTF(4, "f=%p: stall cleared\n", f); f->flag_stall = 0; @@ -456,6 +460,10 @@ struct usb2_fifo *f = xfer->priv_sc; struct usb2_xfer *xfer_other = f->xfer[0]; + if (f->flag_stall == 0) { + /* nothing to do */ + return; + } if (usb2_clear_stall_callback(xfer, xfer_other)) { DPRINTF(4, "f=%p: stall cleared\n", f); f->flag_stall = 0; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_handle_request.c#3 (text+ko) ==== @@ -82,7 +82,7 @@ if (err == USB_ERR_BAD_CONTEXT) { /* we need to re-setup the control transfer */ - usb2_needs_explore(xfer->udev->bus); + usb2_needs_explore(xfer->udev->bus, 0); break; } /* ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#4 (text+ko) ==== @@ -1879,7 +1879,7 @@ * if this is the last USB transfer on the PIPE queue we are no * longer synced: */ - if (TAILQ_FIRST(&(xfer->pipe->pipe_q->head)) == NULL) { + if (TAILQ_FIRST(&(xfer->pipe->pipe_q.head)) == NULL) { xfer->pipe->is_synced = 0; } /* call the USB transfer callback */ @@ -2068,7 +2068,7 @@ * transfer. If the timeout has been deferred the callback given by * "cb" will get called after "ms" milliseconds. *------------------------------------------------------------------------*/ -static void +void usb2_transfer_timeout_ms(struct usb2_xfer *xfer, void (*cb) (void *arg), uint32_t ms) { @@ -2134,7 +2134,7 @@ usb2_transfer_timeout_ms(xfer, &usb2_dma_delay_done_cb, temp); - return; /* wait for new callback */ + return (1); /* wait for new callback */ } /* check actual number of frames */ if (xfer->aframes > xfer->nframes) { ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Jun 30 18:56:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A50F1065671; Mon, 30 Jun 2008 18:56: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 D6E801065679 for ; Mon, 30 Jun 2008 18:56:34 +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 C46068FC14 for ; Mon, 30 Jun 2008 18:56:34 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5UIuY7n018047 for ; Mon, 30 Jun 2008 18:56:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5UIuY5S018045 for perforce@freebsd.org; Mon, 30 Jun 2008 18:56:34 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Jun 2008 18:56:34 GMT Message-Id: <200806301856.m5UIuY5S018045@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 144376 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, 30 Jun 2008 18:56:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=144376 Change 144376 by hselasky@hselasky_laptop001 on 2008/06/30 18:55:29 The USB Input module for USB mouse and keyboard is complete. - Mostly symbol renaming. "s/usbd_|usb_/usb2/g" (scripted) - UHID has been reworked a little bit. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_ioctl.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/input/ukbd2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/input/ums2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_hid.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_hid.h#2 delete .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_input.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_input.h#1 add .. //depot/projects/usb/src/sys/modules/usb2/input/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#5 (text+ko) ==== @@ -405,5 +405,6 @@ usb2_error_t usb2_ref_device(struct file *fp, struct usb2_location *ploc, uint32_t devloc); void usb2_unref_device(struct usb2_location *ploc); void usb2_set_parent_iface(struct usb2_device *udev, uint8_t iface_index, uint8_t parent_index); +void usb2_set_iface_perm(struct usb2_device *udev, uint8_t iface_index, uint32_t uid, uint32_t gid, uint16_t mode); #endif /* _USB2_CORE_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#4 (text+ko) ==== @@ -208,6 +208,30 @@ } /*------------------------------------------------------------------------* + * usb2_set_iface_perm + * + * This function will set the interface permissions. + *------------------------------------------------------------------------*/ +void +usb2_set_iface_perm(struct usb2_device *udev, uint8_t iface_index, + uint32_t uid, uint32_t gid, uint16_t mode) +{ + struct usb2_interface *iface; + + iface = usb2_get_iface(udev, iface_index); + if (iface && iface->idesc) { + mtx_lock(&usb2_ref_lock); + iface->perm.uid = uid; + iface->perm.gid = gid; + iface->perm.mode = mode; + iface->perm.active = 1; + mtx_unlock(&usb2_ref_lock); + + } + return; +} + +/*------------------------------------------------------------------------* * usb2_match_perm * * This function will compare two permission structures and see if @@ -278,8 +302,10 @@ ploc->devloc = devloc; ploc->bus_index = devloc % USB_BUS_MAX; ploc->dev_index = (devloc / USB_BUS_MAX) % USB_DEV_MAX; - ploc->iface_index = (devloc / (USB_BUS_MAX * USB_DEV_MAX)) % USB_IFACE_MAX; - ploc->ep_index = (devloc / (USB_BUS_MAX * USB_DEV_MAX * USB_IFACE_MAX)) % USB_EP_MAX; + ploc->iface_index = (devloc / (USB_BUS_MAX * + USB_DEV_MAX)) % USB_IFACE_MAX; + ploc->ep_index = (devloc / (USB_BUS_MAX * USB_DEV_MAX * + USB_IFACE_MAX)) % USB_EP_MAX; mtx_lock(&usb2_ref_lock); ploc->bus = devclass_get_softc(usb2_devclass_ptr, ploc->bus_index); @@ -571,7 +597,6 @@ usb2_fifo_open(struct usb2_fifo *f, struct file *fp, struct thread *td, int fflags) { - struct usb2_mbuf *m; int err; if (f == NULL) { @@ -620,6 +645,24 @@ f->curr_file = fp; /* reset queue */ + usb2_fifo_reset(f); + + mtx_unlock(f->priv_mtx); +done: + return (err); +} + +/*------------------------------------------------------------------------* + * usb2_fifo_reset + *------------------------------------------------------------------------*/ +void +usb2_fifo_reset(struct usb2_fifo *f) +{ + struct usb2_mbuf *m; + + if (f == NULL) { + return; + } while (1) { USB_IF_DEQUEUE(&(f->used_q), m); if (m) { @@ -628,9 +671,7 @@ break; } } - mtx_unlock(f->priv_mtx); -done: - return (err); + return; } /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#3 (text+ko) ==== @@ -117,5 +117,6 @@ void usb2_fifo_get_data_error(struct usb2_fifo *fifo); uint8_t usb2_fifo_opened(struct usb2_fifo *fifo); void usb2_fifo_free(struct usb2_fifo *f); +void usb2_fifo_reset(struct usb2_fifo *f); #endif /* _USB2_DEV_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#2 (text+ko) ==== @@ -469,6 +469,7 @@ iface->idesc = NULL; iface->alt_index = 0; iface->parent_iface_index = USB_IFACE_INDEX_ANY; + iface->perm.active = 0; /* disable permissions */ iface++; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#5 (text+ko) ==== @@ -2134,7 +2134,7 @@ usb2_transfer_timeout_ms(xfer, &usb2_dma_delay_done_cb, temp); - return (1); /* wait for new callback */ + return (1); /* wait for new callback */ } /* check actual number of frames */ if (xfer->aframes > xfer->nframes) { ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_ioctl.h#3 (text+ko) ==== @@ -59,6 +59,7 @@ uint8_t ugd_iface_index; uint8_t ugd_altif_index; uint8_t ugd_endpt_index; + uint8_t ugd_report_type; uint8_t reserved[8]; }; @@ -110,7 +111,7 @@ #define USB_DEVICEENUMERATE _IOW ('U', 6, struct usb2_device_enumerate) /* Generic HID device */ -#define USB_GET_REPORT_DESC _IOR ('U', 21, struct usb2_ctl_report_desc) +#define USB_GET_REPORT_DESC _IOR ('U', 21, struct usb2_gen_descriptor) #define USB_SET_IMMED _IOW ('U', 22, int) #define USB_GET_REPORT _IOWR('U', 23, struct usb2_gen_descriptor) #define USB_SET_REPORT _IOW ('U', 24, struct usb2_gen_descriptor) ==== //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#2 (text+ko) ==== @@ -48,59 +48,49 @@ * HID spec: http://www.usb.org/developers/devclass_docs/HID1_11.pdf */ -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include + +#define USB_DEBUG_VAR uhid_debug + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include -#include -#include -#include -#include -#include +#include +#include -#include "usbdevs.h" +#include #ifdef USB_DEBUG -#define DPRINTF(n,fmt,...) \ - do { if (uhid_debug > (n)) { \ - printf("%s: " fmt, __FUNCTION__,## __VA_ARGS__); } } while (0) - static int uhid_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, uhid, CTLFLAG_RW, 0, "USB uhid"); -SYSCTL_INT(_hw_usb_uhid, OID_AUTO, debug, CTLFLAG_RW, - &uhid_debug, 0, "uhid debug level"); -#else -#define DPRINTF(...) do { } while (0) +SYSCTL_NODE(_hw_usb2, OID_AUTO, uhid, CTLFLAG_RW, 0, "USB uhid"); +SYSCTL_INT(_hw_usb2_uhid, OID_AUTO, debug, CTLFLAG_RW, + &uhid_debug, 0, "Debug level"); #endif -/* temporary compile hacks for old USB systems: */ - -#ifndef UQ_HID_IGNORE -#define UQ_HID_IGNORE 0 -#endif - -#ifndef USB_PRODUCT_WACOM_GRAPHIRE3_4X5 -#define USB_PRODUCT_WACOM_GRAPHIRE3_4X5 0 -#endif - #define UHID_N_TRANSFER 4 /* units */ #define UHID_BSIZE 1024 /* bytes, buffer size */ #define UHID_FRAME_NUM 50 /* bytes, frame number */ struct uhid_softc { - struct usb_cdev sc_cdev; + struct usb2_fifo_sc sc_fifo; struct mtx sc_mtx; - struct usbd_xfer *sc_xfer[UHID_N_TRANSFER]; - struct usbd_device *sc_udev; + struct usb2_xfer *sc_xfer[UHID_N_TRANSFER]; + struct usb2_device *sc_udev; void *sc_repdesc_ptr; uint32_t sc_isize; @@ -109,8 +99,8 @@ uint16_t sc_repdesc_size; - uint8_t sc_transfer_buf[sizeof(usb_device_request_t) + UHID_BSIZE]; uint8_t sc_iface_no; + uint8_t sc_iface_index; uint8_t sc_iid; uint8_t sc_oid; uint8_t sc_fid; @@ -121,9 +111,9 @@ * static */ }; -static uint8_t uhid_xb360gp_report_descr[] = {UHID_XB360GP_REPORT_DESCR()}; -static uint8_t uhid_graphire_report_descr[] = {UHID_GRAPHIRE_REPORT_DESCR()}; -static uint8_t uhid_graphire3_4x5_report_descr[] = {UHID_GRAPHIRE3_4X5_REPORT_DESCR()}; +static const uint8_t uhid_xb360gp_report_descr[] = {UHID_XB360GP_REPORT_DESCR()}; +static const uint8_t uhid_graphire_report_descr[] = {UHID_GRAPHIRE_REPORT_DESCR()}; +static const uint8_t uhid_graphire3_4x5_report_descr[] = {UHID_GRAPHIRE3_4X5_REPORT_DESCR()}; /* prototypes */ @@ -131,23 +121,43 @@ static device_attach_t uhid_attach; static device_detach_t uhid_detach; -static usbd_callback_t uhid_intr_callback; -static usbd_callback_t uhid_intr_clear_stall_callback; -static usbd_callback_t uhid_write_callback; -static usbd_callback_t uhid_read_callback; +static usb2_callback_t uhid_intr_callback; +static usb2_callback_t uhid_intr_clear_stall_callback; +static usb2_callback_t uhid_write_callback; +static usb2_callback_t uhid_read_callback; + +static usb2_fifo_cmd_t uhid_start_read; +static usb2_fifo_cmd_t uhid_stop_read; +static usb2_fifo_cmd_t uhid_start_write; +static usb2_fifo_cmd_t uhid_stop_write; +static usb2_fifo_open_t uhid_open; +static usb2_fifo_close_t uhid_close; +static usb2_fifo_ioctl_t uhid_ioctl; + +static struct usb2_fifo_methods uhid_fifo_methods = { + .f_open = &uhid_open, + .f_close = &uhid_close, + .f_ioctl = &uhid_ioctl, + .f_start_read = &uhid_start_read, + .f_stop_read = &uhid_stop_read, + .f_start_write = &uhid_start_write, + .f_stop_write = &uhid_stop_write, + .basename[0] = "uhid", +}; static void -uhid_intr_callback(struct usbd_xfer *xfer) +uhid_intr_callback(struct usb2_xfer *xfer) { struct uhid_softc *sc = xfer->priv_sc; - struct usbd_mbuf *m; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: DPRINTF(0, "transferred!\n"); if (xfer->actlen >= sc->sc_isize) { - usb_cdev_put_data(&(sc->sc_cdev), xfer->frbuffers, + usb2_fifo_put_data( + sc->sc_fifo.fp[USB_FIFO_RX], + xfer->frbuffers, 0, sc->sc_isize, 1); } else { /* ignore it */ @@ -155,64 +165,91 @@ "%d bytes\n", xfer->actlen); } - case USBD_ST_SETUP: + case USB_ST_SETUP: if (sc->sc_flags & UHID_FLAG_INTR_STALL) { - usbd_transfer_start(sc->sc_xfer[1]); + usb2_transfer_start(sc->sc_xfer[1]); } else { - USBD_IF_POLL(&(sc->sc_cdev.sc_rdq_free), m); - - if (m) { + if (usb2_fifo_put_bytes_max( + sc->sc_fifo.fp[USB_FIFO_RX]) != 0) { xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } } return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= UHID_FLAG_INTR_STALL; - usbd_transfer_start(sc->sc_xfer[1]); + usb2_transfer_start(sc->sc_xfer[1]); } return; } } static void -uhid_intr_clear_stall_callback(struct usbd_xfer *xfer) +uhid_intr_clear_stall_callback(struct usb2_xfer *xfer) { struct uhid_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + struct usb2_xfer *xfer_other = sc->sc_xfer[0]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { + if (usb2_clear_stall_callback(xfer, xfer_other)) { DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UHID_FLAG_INTR_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } static void -uhid_write_callback(struct usbd_xfer *xfer) +uhid_fill_set_report(struct usb2_device_request *req, uint8_t iface_no, + uint8_t type, uint8_t id, uint16_t size) +{ + req->bmRequestType = UT_WRITE_CLASS_INTERFACE; + req->bRequest = UR_SET_REPORT; + USETW2(req->wValue, type, id); + req->wIndex[0] = iface_no; + req->wIndex[1] = 0; + USETW(req->wLength, size); + return; +} + +static void +uhid_fill_get_report(struct usb2_device_request *req, uint8_t iface_no, + uint8_t type, uint8_t id, uint16_t size) +{ + req->bmRequestType = UT_READ_CLASS_INTERFACE; + req->bRequest = UR_GET_REPORT; + USETW2(req->wValue, type, id); + req->wIndex[0] = iface_no; + req->wIndex[1] = 0; + USETW(req->wLength, size); + return; +} + +static void +uhid_write_callback(struct usb2_xfer *xfer) { struct uhid_softc *sc = xfer->priv_sc; - usb_device_request_t req; + struct usb2_device_request req; uint32_t size = sc->sc_osize; uint32_t actlen; uint8_t id; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - case USBD_ST_SETUP: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + case USB_ST_SETUP: /* try to extract the ID byte */ if (sc->sc_oid) { - if (usb_cdev_get_data(&(sc->sc_cdev), xfer->frbuffers, + if (usb2_fifo_get_data( + sc->sc_fifo.fp[USB_FIFO_TX], + xfer->frbuffers, 0, 1, &actlen, 0)) { if (actlen != 1) { goto tr_error; } - usbd_copy_out(xfer->frbuffers, 0, &id, 1); + usb2_copy_out(xfer->frbuffers, 0, &id, 1); } else { return; @@ -224,69 +261,71 @@ id = 0; } - if (usb_cdev_get_data(&(sc->sc_cdev), xfer->frbuffers + 1, + if (usb2_fifo_get_data( + sc->sc_fifo.fp[USB_FIFO_TX], + xfer->frbuffers + 1, 0, UHID_BSIZE, &actlen, 1)) { if (actlen != size) { goto tr_error; } - usbd_fill_set_report + uhid_fill_set_report (&req, sc->sc_iface_no, UHID_OUTPUT_REPORT, id, size); - usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); xfer->frlengths[0] = sizeof(req); xfer->frlengths[1] = size; xfer->nframes = xfer->frlengths[1] ? 2 : 1; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } return; default: tr_error: /* bomb out */ - usb_cdev_get_data_error(&(sc->sc_cdev)); + usb2_fifo_get_data_error(sc->sc_fifo.fp[USB_FIFO_TX]); return; } } static void -uhid_read_callback(struct usbd_xfer *xfer) +uhid_read_callback(struct usb2_xfer *xfer) { struct uhid_softc *sc = xfer->priv_sc; - usb_device_request_t req; + struct usb2_device_request req; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - usb_cdev_put_data(&(sc->sc_cdev), xfer->frbuffers, + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + usb2_fifo_put_data(sc->sc_fifo.fp[USB_FIFO_RX], xfer->frbuffers, sizeof(req), sc->sc_isize, 1); return; - case USBD_ST_SETUP: + case USB_ST_SETUP: - if (usb_cdev_put_bytes_max(&(sc->sc_cdev)) > 0) { + if (usb2_fifo_put_bytes_max(sc->sc_fifo.fp[USB_FIFO_RX]) > 0) { - usbd_fill_get_report + uhid_fill_get_report (&req, sc->sc_iface_no, UHID_INPUT_REPORT, sc->sc_iid, sc->sc_isize); - usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); xfer->frlengths[0] = sizeof(req); xfer->frlengths[1] = sc->sc_isize; xfer->nframes = xfer->frlengths[1] ? 2 : 1; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } return; default: /* Error */ /* bomb out */ - usb_cdev_put_data_error(&(sc->sc_cdev)); + usb2_fifo_put_data_error(sc->sc_fifo.fp[USB_FIFO_RX]); return; } } -static const struct usbd_config uhid_config[UHID_N_TRANSFER] = { +static const struct usb2_config uhid_config[UHID_N_TRANSFER] = { [0] = { .type = UE_INTERRUPT, @@ -301,7 +340,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &uhid_intr_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -311,7 +350,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t) + UHID_BSIZE, + .mh.bufsize = sizeof(struct usb2_device_request) + UHID_BSIZE, .mh.callback = &uhid_write_callback, .mh.timeout = 1000, /* 1 second */ }, @@ -320,169 +359,211 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t) + UHID_BSIZE, + .mh.bufsize = sizeof(struct usb2_device_request) + UHID_BSIZE, .mh.callback = &uhid_read_callback, .mh.timeout = 1000, /* 1 second */ }, }; static void -uhid_start_read(struct usb_cdev *cdev) +uhid_start_read(struct usb2_fifo *fifo) { - struct uhid_softc *sc = cdev->sc_priv_ptr; + struct uhid_softc *sc = fifo->priv_sc0; if (sc->sc_flags & UHID_FLAG_IMMED) { - usbd_transfer_start(sc->sc_xfer[3]); + usb2_transfer_start(sc->sc_xfer[3]); } else { - usbd_transfer_start(sc->sc_xfer[0]); + usb2_transfer_start(sc->sc_xfer[0]); } return; } static void -uhid_stop_read(struct usb_cdev *cdev) +uhid_stop_read(struct usb2_fifo *fifo) { - struct uhid_softc *sc = cdev->sc_priv_ptr; + struct uhid_softc *sc = fifo->priv_sc0; - usbd_transfer_stop(sc->sc_xfer[3]); - usbd_transfer_stop(sc->sc_xfer[0]); + usb2_transfer_stop(sc->sc_xfer[3]); + usb2_transfer_stop(sc->sc_xfer[0]); return; } static void -uhid_start_write(struct usb_cdev *cdev) +uhid_start_write(struct usb2_fifo *fifo) { - struct uhid_softc *sc = cdev->sc_priv_ptr; + struct uhid_softc *sc = fifo->priv_sc0; - usbd_transfer_start(sc->sc_xfer[2]); + usb2_transfer_start(sc->sc_xfer[2]); return; } static void -uhid_stop_write(struct usb_cdev *cdev) +uhid_stop_write(struct usb2_fifo *fifo) { - struct uhid_softc *sc = cdev->sc_priv_ptr; + struct uhid_softc *sc = fifo->priv_sc0; - usbd_transfer_stop(sc->sc_xfer[2]); + usb2_transfer_stop(sc->sc_xfer[2]); return; } -static int32_t -uhid_do_control_transfer(struct uhid_softc *sc, - usb_device_request_t *req, - void *data, int32_t fflags) +static int +uhid_get_report(struct uhid_softc *sc, uint8_t type, + uint8_t id, void *kern_data, void *user_data, + uint16_t len) { - int32_t error; + int err; + uint8_t free_data = 0; - usb_cdev_unlock(&(sc->sc_cdev), fflags); - - error = usbd_do_request(sc->sc_udev, NULL, req, data); - - if (error) { - error = ENXIO; + if (kern_data == NULL) { + kern_data = malloc(len, M_USBDEV, M_WAITOK); + if (kern_data == NULL) { + err = ENOMEM; + goto done; + } + free_data = 1; } - return (usb_cdev_lock(&(sc->sc_cdev), fflags, error)); -} - -static int32_t -uhid_get_report(struct uhid_softc *sc, int32_t fflags, - uint8_t type, uint8_t id, void *data, uint16_t len) -{ - usb_device_request_t req; - - if (len > UHID_BSIZE) { - len = UHID_BSIZE; + err = usb2_req_get_report(sc->sc_udev, NULL, kern_data, + len, sc->sc_iface_index, type, id); + if (err) { + err = ENXIO; + goto done; } - if (data == NULL) { + if (user_data) { /* dummy buffer */ - data = sc->sc_transfer_buf; + err = copyout(kern_data, user_data, len); + if (err) { + goto done; + } + } +done: + if (free_data) { + free(kern_data, M_USBDEV); } - usbd_fill_get_report - (&req, sc->sc_iface_no, type, id, len); - - return (uhid_do_control_transfer(sc, &req, data, fflags)); + return (err); } -static int32_t -uhid_set_report(struct uhid_softc *sc, int32_t fflags, - uint8_t type, uint8_t id, void *data, uint16_t len) +static int +uhid_set_report(struct uhid_softc *sc, uint8_t type, + uint8_t id, void *kern_data, void *user_data, + uint16_t len) { - usb_device_request_t req; + int err; + uint8_t free_data = 0; - if (len > UHID_BSIZE) { - len = UHID_BSIZE; + if (kern_data == NULL) { + kern_data = malloc(len, M_USBDEV, M_WAITOK); + if (kern_data == NULL) { + err = ENOMEM; + goto done; + } + free_data = 1; + err = copyin(user_data, kern_data, len); + if (err) { + goto done; + } + } + err = usb2_req_set_report(sc->sc_udev, NULL, kern_data, + len, sc->sc_iface_index, type, id); + if (err) { + err = ENXIO; + goto done; } - if (data == NULL) { - /* dummy buffer */ - data = sc->sc_transfer_buf; +done: + if (free_data) { + free(kern_data, M_USBDEV); } - usbd_fill_set_report - (&req, sc->sc_iface_no, type, id, len); - - return (uhid_do_control_transfer(sc, &req, data, fflags)); + return (err); } -static int32_t -uhid_open(struct usb_cdev *cdev, int32_t fflags, - int32_t devtype, struct thread *td) +static int +uhid_open(struct usb2_fifo *fifo, int fflags, struct thread *td) { - struct uhid_softc *sc = cdev->sc_priv_ptr; + struct uhid_softc *sc = fifo->priv_sc0; + /* + * The buffers are one byte larger than maximum so that one + * can detect too large read/writes and short transfers: + */ if (fflags & FREAD) { /* reset flags */ sc->sc_flags &= ~UHID_FLAG_IMMED; + + if (usb2_fifo_alloc_buffer(fifo, + sc->sc_isize + 1, UHID_FRAME_NUM)) { + return (ENOMEM); + } + } + if (fflags & FWRITE) { + if (usb2_fifo_alloc_buffer(fifo, + sc->sc_osize + 1, UHID_FRAME_NUM)) { + return (ENOMEM); + } } return (0); } -static int32_t -uhid_ioctl(struct usb_cdev *cdev, u_long cmd, caddr_t addr, - int32_t fflags, struct thread *td) +static void +uhid_close(struct usb2_fifo *fifo, int fflags, struct thread *td) +{ + if (fflags & (FREAD | FWRITE)) { + usb2_fifo_free_buffer(fifo); + } + return; +} + +static int +uhid_ioctl(struct usb2_fifo *fifo, u_long cmd, void *addr, + int fflags, struct thread *td) { - struct uhid_softc *sc = cdev->sc_priv_ptr; - struct usb_ctl_report_desc *rd; - struct usb_ctl_report *re; + struct uhid_softc *sc = fifo->priv_sc0; + struct usb2_gen_descriptor *ugd; uint32_t size; - int32_t error = 0; + int error = 0; uint8_t id; switch (cmd) { case USB_GET_REPORT_DESC: - rd = (void *)addr; - size = min(sc->sc_repdesc_size, sizeof(rd->ucrd_data)); - rd->ucrd_size = size; - bcopy(sc->sc_repdesc_ptr, rd->ucrd_data, size); + ugd = addr; + if (sc->sc_repdesc_size > ugd->ugd_maxlen) { + size = ugd->ugd_maxlen; + } else { + size = sc->sc_repdesc_size; + } + ugd->ugd_actlen = size; + error = copyout(sc->sc_repdesc_ptr, ugd->ugd_data, size); break; case USB_SET_IMMED: - if (!(fflags & FREAD)) { error = EPERM; - goto done; + break; } if (*(int *)addr) { /* do a test read */ - error = uhid_get_report(sc, fflags, UHID_INPUT_REPORT, - sc->sc_iid, NULL, sc->sc_isize); + error = uhid_get_report(sc, UHID_INPUT_REPORT, + sc->sc_iid, NULL, NULL, sc->sc_isize); if (error) { - goto done; + break; } + mtx_lock(&(sc->sc_mtx)); sc->sc_flags |= UHID_FLAG_IMMED; + mtx_unlock(&(sc->sc_mtx)); } else { + mtx_lock(&(sc->sc_mtx)); sc->sc_flags &= ~UHID_FLAG_IMMED; + mtx_unlock(&(sc->sc_mtx)); } break; case USB_GET_REPORT: - if (!(fflags & FREAD)) { error = EPERM; - goto done; + break; } - re = (void *)addr; - switch (re->ucr_report) { + ugd = addr; + switch (ugd->ugd_report_type) { case UHID_INPUT_REPORT: size = sc->sc_isize; id = sc->sc_iid; @@ -496,24 +577,19 @@ id = sc->sc_fid; break; default: - error = EINVAL; - goto done; + return (EINVAL); } - error = uhid_get_report(sc, fflags, re->ucr_report, id, - re->ucr_data, size); - if (error) { - goto done; - } + error = uhid_get_report(sc, ugd->ugd_report_type, id, + NULL, ugd->ugd_data, size); break; case USB_SET_REPORT: - if (!(fflags & FWRITE)) { error = EPERM; - goto done; + break; } - re = (void *)addr; - switch (re->ucr_report) { + ugd = addr; + switch (ugd->ugd_report_type) { case UHID_INPUT_REPORT: size = sc->sc_isize; id = sc->sc_iid; @@ -529,11 +605,8 @@ default: return (EINVAL); } - error = uhid_set_report(sc, fflags, re->ucr_report, id, - re->ucr_data, size); - if (error) { - goto done; - } + error = uhid_set_report(sc, ugd->ugd_report_type, id, + NULL, ugd->ugd_data, size); break; case USB_GET_REPORT_ID: @@ -544,89 +617,76 @@ error = EINVAL; break; } - -done: return (error); } static int uhid_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct usb2_attach_arg *uaa = device_get_ivars(dev); DPRINTF(10, "\n"); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface == NULL) { - return (UMATCH_NONE); - } - id = usbd_get_interface_descriptor(uaa->iface); - if (id == NULL) { - return (UMATCH_NONE); - } - if (id->bInterfaceClass != UICLASS_HID) { + if (uaa->info.bInterfaceClass != UICLASS_HID) { /* the Xbox 360 gamepad doesn't use the HID class */ - if ((id->bInterfaceClass != UICLASS_VENDOR) || - (id->bInterfaceSubClass != UISUBCLASS_XBOX360_CONTROLLER) || - (id->bInterfaceProtocol != UIPROTO_XBOX360_GAMEPAD)) { - return (UMATCH_NONE); + if ((uaa->info.bInterfaceClass != UICLASS_VENDOR) || + (uaa->info.bInterfaceSubClass != UISUBCLASS_XBOX360_CONTROLLER) || + (uaa->info.bInterfaceProtocol != UIPROTO_XBOX360_GAMEPAD)) { + return (ENXIO); } } - if (usbd_get_quirks(uaa->device)->uq_flags & UQ_HID_IGNORE) { - return (UMATCH_NONE); + if (usb2_test_quirk(uaa, UQ_HID_IGNORE)) { + return (ENXIO); } - return (UMATCH_IFACECLASS_GENERIC); + return (0); } static int uhid_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct uhid_softc *sc = device_get_softc(dev); - usb_interface_descriptor_t *id = - usbd_get_interface_descriptor(uaa->iface); - const char *p_buf[2]; - int32_t unit = device_get_unit(dev); - int32_t error = 0; - char buf[16]; + int unit = device_get_unit(dev); + int error = 0; DPRINTF(10, "sc=%p\n", sc); if (sc == NULL) { return (ENOMEM); } - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); mtx_init(&(sc->sc_mtx), "uhid lock", NULL, MTX_DEF | MTX_RECURSE); sc->sc_udev = uaa->device; - sc->sc_iface_no = uaa->iface->idesc->bInterfaceNumber; + sc->sc_iface_no = uaa->info.bIfaceNum; + sc->sc_iface_index = uaa->info.bIfaceIndex; - error = usbd_transfer_setup(uaa->device, - &(uaa->iface_index), sc->sc_xfer, uhid_config, + error = usb2_transfer_setup(uaa->device, + &(uaa->info.bIfaceIndex), sc->sc_xfer, uhid_config, UHID_N_TRANSFER, sc, &(sc->sc_mtx)); if (error) { - DPRINTF(0, "error=%s\n", usbd_errstr(error)); + DPRINTF(0, "error=%s\n", usb2_errstr(error)); goto detach; } - if (uaa->vendor == USB_VENDOR_WACOM) { + if (uaa->info.idVendor == USB_VENDOR_WACOM) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 30 19:11:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D1FBE106568A; Mon, 30 Jun 2008 19:11:51 +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 92F2A1065673 for ; Mon, 30 Jun 2008 19:11:51 +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 8016B8FC17 for ; Mon, 30 Jun 2008 19:11:51 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5UJBpf6020379 for ; Mon, 30 Jun 2008 19:11:51 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5UJBohb020375 for perforce@freebsd.org; Mon, 30 Jun 2008 19:11:50 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 30 Jun 2008 19:11:50 GMT Message-Id: <200806301911.m5UJBohb020375@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 144377 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, 30 Jun 2008 19:11:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=144377 Change 144377 by pgj@disznohal on 2008/06/30 19:11:10 IFC Affected files ... .. //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile#7 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile.inc#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/compiz-fusion/Makefile#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/compiz-fusion/article.sgml#8 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/dialup-firewall/Makefile#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/dialup-firewall/article.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/explaining-bsd/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/explaining-bsd/article.sgml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/laptop/Makefile#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/laptop/article.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-comparison/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/Makefile#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#9 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/multi-os/Makefile#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/multi-os/article.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/version-guide/Makefile#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml#9 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/Makefile#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/Makefile.inc#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#7 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/isdn-bus.eps#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/isdn-twisted-pair.eps#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/natd.eps#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/net-routing.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/static-routes.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/audit/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/audit/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/basics/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/book.sgml#6 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/boot/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/boot/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/chapters.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/colophon.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml#8 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/desktop/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/desktop/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/disks/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#7 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/firewalls/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#9 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/striping.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/install/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/install/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/introduction/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/jails/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/l10n/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/l10n/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/linuxemu/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mac/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mac/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mail/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mail/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/multimedia/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/multimedia/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/network-servers/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/pgpkeys/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/pgpkeys/chapter.sgml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ports/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/preface/preface.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-crypt-pkt.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-encap-pkt.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-network.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/security/ipsec-out-pkt.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/users/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/users/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-concat.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-mirrored-vol.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-raid10-vol.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-raid5-org.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-simple-vol.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-striped-vol.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/vinum-striped.pic#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/flyer/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/flyer/flyer.tex#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/articles.ent#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/bookinfo.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/books.ent#6 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/catalog#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/freebsd.dsl#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/freebsd.ent#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/glossary/freebsd-glossary.sgml#8 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/l10n.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/legalnotice.sgml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#6 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mirrors-local.xsl#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/newsgroups.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/teams.ent#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/trademarks.ent#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/transtable-local.xsl#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/transtable.xml#5 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-5.3.xml#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-dev-model.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-linux-license.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-organization.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-recent-releases.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-release-process.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/freebsd-users.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/common/what-is-freebsd.xml#4 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/freebsd-general/Makefile#3 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/slides/freebsd-general/slides.xml#4 integrate .. //depot/projects/docproj_hu/www/en/donations/donors.sgml#3 integrate .. //depot/projects/docproj_hu/www/en/gnome/docs/faq2.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/java/dists/16.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/support/bugreports.sgml#2 integrate .. //depot/projects/docproj_hu/www/hu/about.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/administration.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/applications.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/art.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/community.xsl#4 integrate .. //depot/projects/docproj_hu/www/hu/community/irc.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/community/webresources.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/developers/cvs.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/docproj/doc-set.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/docproj/sgml.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/docproj/submitting.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/docproj/who.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/docs.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/docs/books.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/docs/webresources.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/features.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/index.xsl#6 integrate .. //depot/projects/docproj_hu/www/hu/internet.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/logo.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/mailto.sgml#5 integrate .. //depot/projects/docproj_hu/www/hu/news/news.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/news/pressreleases.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/platforms/alpha.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/amd64.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/arm.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/i386.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/index.xsl#3 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/machines.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/refs.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ia64/todo.xsl#3 integrate .. //depot/projects/docproj_hu/www/hu/platforms/index.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/platforms/mips.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/pc98.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/ppc.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/platforms/sparc.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/sun4v.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/platforms/xbox.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/projects/projects.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/search/index-site.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/search/search-mid.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/search/search.sgml#6 integrate .. //depot/projects/docproj_hu/www/hu/search/searchhints.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/search/site.map#5 integrate .. //depot/projects/docproj_hu/www/hu/search/web.atoz#5 integrate .. //depot/projects/docproj_hu/www/hu/send-pr.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/header.l10n.ent#4 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/l10n.ent#3 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/libcommon.xsl#4 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/navibar.l10n.ent#6 integrate .. //depot/projects/docproj_hu/www/hu/support.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/support/bugreports.sgml#4 integrate .. //depot/projects/docproj_hu/www/hu/support/webresources.sgml#3 integrate .. //depot/projects/docproj_hu/www/hu/where.sgml#5 integrate .. //depot/projects/docproj_hu/www/share/sgml/events.xml#3 integrate .. //depot/projects/docproj_hu/www/share/sgml/press.xml#3 integrate .. //depot/projects/docproj_hu/www/share/sgml/templates.events.xsl#4 integrate Differences ... ==== //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -423,6 +423,10 @@ FreeBSD vendors pre-release coordination mailing list"> freebsd-vendors"> + +Discussion of various virtualization techniques supported by FreeBSD"> +freebsd-virtualization"> + Discussion on the VuXML infrastructure"> ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/hu_HU.ISO8859-2/Makefile,v 1.2 2008/05/14 16:54:13 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/Makefile,v 1.3 2008/06/25 11:28:03 gabor Exp $ # %SOURCE% en_US.ISO8859-1/Makefile # %SRCID% 1.7 ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile,v 1.5 2008/05/28 17:19:18 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile,v 1.6 2008/06/25 11:28:03 gabor Exp $ # # The FreeBSD Hungarian Documentation Project ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/Makefile.inc#3 (text+ko) ==== @@ -3,7 +3,7 @@ # %SOURCE% en_US.ISO8859-1/articles/Makefile.inc # %SRCID% 1.4 # -# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile.inc,v 1.1 2007/04/20 19:45:01 gabor Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile.inc,v 1.2 2008/06/25 11:28:03 gabor Exp $ # DESTDIR?= ${DOCDIR}/hu_HU.ISO8859-2/articles/${.CURDIR:T} ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/compiz-fusion/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: doc/hu_HU.ISO8859-2/articles/compiz-fusion/Makefile,v 1.1 2008/05/28 17:19:18 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/articles/compiz-fusion/Makefile,v 1.2 2008/06/25 11:28:03 gabor Exp $ # # Article: Installing and using compiz-fusion # ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/compiz-fusion/article.sgml#8 (text+ko) ==== @@ -1,4 +1,4 @@ - + + + + %articles.ent; ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/version-guide/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/hu_HU.ISO8859-2/articles/version-guide/Makefile,v 1.2 2008/05/21 04:14:49 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/articles/version-guide/Makefile,v 1.3 2008/06/25 11:28:04 gabor Exp $ # # Article: FreeBSD Version Guide # ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml#9 (text+ko) ==== @@ -24,7 +24,7 @@ - $FreeBSD: doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml,v 1.7 2008/06/23 08:07:27 pgj Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml,v 1.8 2008/06/25 11:28:04 gabor Exp $ &tm-attrib.freebsd; ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/Makefile#4 (text+ko) ==== @@ -2,7 +2,7 @@ # The FreeBSD Documentation Project # The FreeBSD Hungarian Documentation Project # -# $FreeBSD: doc/hu_HU.ISO8859-2/books/Makefile,v 1.1 2008/05/14 16:54:14 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/books/Makefile,v 1.2 2008/06/25 11:28:04 gabor Exp $ # %SOURCE% en_US.ISO8859-1/books/Makefile # %SRCID% 1.14 # ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/Makefile.inc#3 (text+ko) ==== @@ -2,7 +2,7 @@ # The FreeBSD Documentation Project # The FreeBSD Hungarian Documentation Project # -# $FreeBSD: doc/hu_HU.ISO8859-2/books/Makefile.inc,v 1.1 2008/05/14 16:54:14 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/books/Makefile.inc,v 1.2 2008/06/25 11:28:04 gabor Exp $ # %SOURCE% en_US.ISO8859-1/books/Makefile.inc # %SRCID% 1.4 # ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/Makefile#3 (text+ko) ==== @@ -2,7 +2,7 @@ # The FreeBSD Documentation Project # The FreeBSD Hungarian Documentation Project -# $FreeBSD: doc/hu_HU.ISO8859-2/books/handbook/Makefile,v 1.1 2008/05/14 16:54:14 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/books/handbook/Makefile,v 1.2 2008/06/25 11:28:04 gabor Exp $ # %SOURCE% en_US.ISO8859-1/books/handbook/Makefile # %SRCID% 1.109 # ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/Makefile#3 (text+ko) ==== @@ -4,7 +4,7 @@ # %SOURCE% en_US.ISO8859-1/books/handbook/advanced-networking/Makefile # %SRCID% 1.2 # -# $FreeBSD: doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/Makefile,v 1.1 2008/05/14 16:54:14 pgj Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/Makefile,v 1.2 2008/06/25 11:28:05 gabor Exp $ # CHAPTERS= advanced-networking/chapter.sgml ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/advanced-networking/chapter.sgml#7 (text+ko) ==== @@ -1,7 +1,7 @@ ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/colophon.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ + + + + + + + + + + SYN consumes a sequence self.tcb.tcpsequence[ self.tcb.thatside ] = tcpsynack.sequence + 1 @@ -271,7 +272,7 @@ def assertFin(self, tcp): """is fin flag on? """ - self.failIf(tcp.fin<0) + self.failIf(tcp.fin<1) def createsyn(self, tcb, from_, to): @@ -363,7 +364,7 @@ tcb.tcpport[ to ]==tcp.sport): break except: - print "eeee" + print "packet ignored" pass return (ip, tcp) From owner-p4-projects@FreeBSD.ORG Tue Jul 1 08:50:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A20D8106568D; Tue, 1 Jul 2008 08:50: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 63B211065687 for ; Tue, 1 Jul 2008 08:50:45 +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 529308FC18 for ; Tue, 1 Jul 2008 08:50:45 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m618ojGa059198 for ; Tue, 1 Jul 2008 08:50:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m618ojt1059196 for perforce@freebsd.org; Tue, 1 Jul 2008 08:50:45 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 08:50:45 GMT Message-Id: <200807010850.m618ojt1059196@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 144412 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, 01 Jul 2008 08:50:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=144412 Change 144412 by hselasky@hselasky_laptop001 on 2008/07/01 08:50:14 Revert my changes. It appears that the "how" argument is not always passed on from unlock to lock like expected. The problem will be solved in another way. Affected files ... .. //depot/projects/usb/src/sys/kern/kern_mutex.c#10 integrate Differences ... ==== //depot/projects/usb/src/sys/kern/kern_mutex.c#10 (text+ko) ==== @@ -133,8 +133,7 @@ void lock_mtx(struct lock_object *lock, int how) { - if (how == 1) - return; + mtx_lock((struct mtx *)lock); } @@ -151,18 +150,6 @@ struct mtx *m; m = (struct mtx *)lock; - if ((m == &Giant) && (!mtx_owned(m))) { - /* - * Sometimes DROP_GIANT() gets in our way when we use - * the system condition variables passing the "Giant" - * mutex. If Giant is not locked when we get into this - * function then we can simply ignore those cases, - * because the locking is then handled by the DROP_XXX - * macros! - */ - return (1); - } - mtx_assert(m, MA_OWNED | MA_NOTRECURSED); mtx_unlock(m); return (0); From owner-p4-projects@FreeBSD.ORG Tue Jul 1 11:04:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89291106567E; Tue, 1 Jul 2008 11:04: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 31B64106564A for ; Tue, 1 Jul 2008 11:04:00 +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 21A7E8FC0A for ; Tue, 1 Jul 2008 11:04:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61B40gd079272 for ; Tue, 1 Jul 2008 11:04:00 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61B3x2b079270 for perforce@freebsd.org; Tue, 1 Jul 2008 11:03:59 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 11:03:59 GMT Message-Id: <200807011103.m61B3x2b079270@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 144415 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, 01 Jul 2008 11:04:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=144415 Change 144415 by hselasky@hselasky_laptop001 on 2008/07/01 11:03:31 To allow USB drivers using the Giant mutex, like ukbd and the tty layer (ucom), condition variable functions like mtx_sleep() and cv_wait() needs to support the Giant mutex. Previously using the Giant mutex with these functions resulted in a panic due to an unlock race between the GIANT_DROP macro and the internal mutex unlock in the condition variable function. This patch will try to resolve that race. Affected files ... .. //depot/projects/usb/src/sys/kern/kern_condvar.c#7 edit .. //depot/projects/usb/src/sys/kern/kern_synch.c#9 edit .. //depot/projects/usb/src/sys/sys/mutex.h#8 edit Differences ... ==== //depot/projects/usb/src/sys/kern/kern_condvar.c#7 (text+ko) ==== @@ -123,7 +123,7 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); + DROP_GIANT(lock); sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); if (class->lc_flags & LC_SLEEPABLE) @@ -176,7 +176,7 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); + DROP_GIANT(lock); sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); if (class->lc_flags & LC_SLEEPABLE) @@ -233,7 +233,7 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); + DROP_GIANT(lock); sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE, 0); @@ -293,7 +293,7 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); + DROP_GIANT(lock); sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_set_timeout(cvp, timo); @@ -356,7 +356,7 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); + DROP_GIANT(lock); sleepq_add(cvp, lock, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE, 0); ==== //depot/projects/usb/src/sys/kern/kern_synch.c#9 (text+ko) ==== @@ -181,7 +181,7 @@ CTR5(KTR_PROC, "sleep: thread %ld (pid %ld, %s) on %s (%p)", td->td_tid, p->p_pid, td->td_name, wmesg, ident); - DROP_GIANT(); + DROP_GIANT(lock); if (lock != NULL && !(class->lc_flags & LC_SLEEPABLE)) { WITNESS_SAVE(lock, lock_witness); lock_state = class->lc_unlock(lock); ==== //depot/projects/usb/src/sys/sys/mutex.h#8 (text+ko) ==== @@ -366,17 +366,44 @@ * * Note that DROP_GIANT*() needs to be paired with PICKUP_GIANT() * The #ifndef is to allow lint-like tools to redefine DROP_GIANT. + * + * Note that by default DROP_GIANT takes no argument. Optionally you + * can specify an argument which explicitly has the name "lock" and + * type "struct lock_object *". If this "lock" pointer is equal to + * "&Giant", the DROP_GIANT macro will not do the final drop on the + * Giant mutex, but expects the calling code to do so. This feature is + * used by condition variables to allow sleeping on Giant. The + * condition variable code will then do the final drop! */ #ifndef DROP_GIANT -#define DROP_GIANT() \ +#define DROP_GIANT(arg) DROP_GIANT_SUB_##arg(arg) +#define DROP_GIANT_SUB_lock(arg) DROP_GIANT_SUB(arg) /* "lock" argument */ +#define DROP_GIANT_SUB_(arg) DROP_GIANT_SUB(NULL) /* no argument */ +#define DROP_GIANT_SUB(lock) \ do { \ - int _giantcnt = 0; \ + unsigned int _giantcnt; \ WITNESS_SAVE_DECL(Giant); \ \ if (mtx_owned(&Giant)) { \ - WITNESS_SAVE(&Giant.lock_object, Giant); \ - for (_giantcnt = 0; mtx_owned(&Giant); _giantcnt++) \ - mtx_unlock(&Giant); \ + unsigned int _giantn; \ + if (((void *)(lock)) == ((void *)&Giant)) { \ + /* special case */ \ + _giantn = Giant.mtx_recurse; \ + } else { \ + /* default case */ \ + _giantn = Giant.mtx_recurse + 1; \ + } \ + if (_giantn != 0) { \ + WITNESS_SAVE(&Giant.lock_object, Giant); \ + _giantcnt = _giantn; \ + do { \ + mtx_unlock(&Giant); \ + } while (--_giantn); \ + } else { \ + _giantcnt = 0; \ + } \ + } else { \ + _giantcnt = 0; \ } #define PICKUP_GIANT() \ From owner-p4-projects@FreeBSD.ORG Tue Jul 1 12:35:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 260491065675; Tue, 1 Jul 2008 12:35:33 +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 D4E731065670 for ; Tue, 1 Jul 2008 12:35:32 +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 C2EE78FC1E for ; Tue, 1 Jul 2008 12:35:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61CZWNt094737 for ; Tue, 1 Jul 2008 12:35:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61CZWXJ094735 for perforce@freebsd.org; Tue, 1 Jul 2008 12:35:32 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 12:35:32 GMT Message-Id: <200807011235.m61CZWXJ094735@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 144418 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, 01 Jul 2008 12:35:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=144418 Change 144418 by hselasky@hselasky_laptop001 on 2008/07/01 12:35:00 Add more debugging and fix various bugs. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci_atmelarm.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2_pci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_atmelarm.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_pci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2_pci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_pccard.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_config_td.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#6 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_debug.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_sw_transfer.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#3 edit .. //depot/projects/usb/src/sys/modules/usb2/controller/Makefile#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/at91dci_atmelarm.c#3 (text+ko) ==== @@ -205,7 +205,7 @@ if (!(sc->sc_vbus_irq_res)) { goto error; } - sc->sc_dci.sc_bus.bdev = device_add_child(dev, "usb", -1); + sc->sc_dci.sc_bus.bdev = device_add_child(dev, "usbus", -1); if (!(sc->sc_dci.sc_bus.bdev)) { goto error; } ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#3 (text+ko) ==== @@ -3043,6 +3043,8 @@ { ehci_softc_t *sc = xfer->usb2_sc; + DPRINTF(0, "\n"); + sc->sc_root_ctrl.xfer = xfer; usb2_config_td_queue_command ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2_pci.c#3 (text+ko) ==== @@ -281,7 +281,7 @@ device_printf(self, "Could not allocate irq\n"); goto error; } - sc->sc_bus.bdev = device_add_child(self, "usb", -1); + sc->sc_bus.bdev = device_add_child(self, "usbus", -1); if (!sc->sc_bus.bdev) { device_printf(self, "Could not add USB device\n"); goto error; ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_atmelarm.c#3 (text) ==== @@ -103,7 +103,7 @@ if (!(sc->sc_ohci.sc_irq_res)) { goto error; } - sc->sc_ohci.sc_bus.bdev = device_add_child(dev, "usb", -1); + sc->sc_ohci.sc_bus.bdev = device_add_child(dev, "usbus", -1); if (!(sc->sc_ohci.sc_bus.bdev)) { goto error; } ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_pci.c#3 (text+ko) ==== @@ -229,7 +229,7 @@ device_printf(self, "Could not allocate irq\n"); goto error; } - sc->sc_bus.bdev = device_add_child(self, "usb", -1); + sc->sc_bus.bdev = device_add_child(self, "usbus", -1); if (!sc->sc_bus.bdev) { device_printf(self, "Could not add USB device\n"); goto error; ==== //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#3 (text+ko) ==== @@ -2532,6 +2532,8 @@ { uhci_softc_t *sc = xfer->usb2_sc; + DPRINTF(0, "\n"); + sc->sc_root_ctrl.xfer = xfer; usb2_config_td_queue_command ==== //depot/projects/usb/src/sys/dev/usb2/controller/uhci2_pci.c#3 (text+ko) ==== @@ -282,7 +282,7 @@ device_printf(self, "Could not allocate irq\n"); goto error; } - sc->sc_bus.bdev = device_add_child(self, "usb", -1); + sc->sc_bus.bdev = device_add_child(self, "usbus", -1); if (!sc->sc_bus.bdev) { device_printf(self, "Could not add USB device\n"); goto error; ==== //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#3 (text+ko) ==== @@ -58,9 +58,9 @@ /* static variables */ #ifdef USB_DEBUG -static int usb2_ctrl_debug; +static int usb2_ctrl_debug = 0; -SYSCTL_NODE(_hw_usb2, OID_AUTO, ctrl, CTLFLAG_RW, 0, "USB ctrless"); +SYSCTL_NODE(_hw_usb2, OID_AUTO, ctrl, CTLFLAG_RW, 0, "USB controller"); SYSCTL_INT(_hw_usb2_ctrl, OID_AUTO, debug, CTLFLAG_RW, &usb2_ctrl_debug, 0, "Debug level"); #endif @@ -118,7 +118,9 @@ mtx_lock(&Giant); if (usb2_post_init_called) { + mtx_lock(&Giant); usb2_attach_sub(dev, bus); + mtx_unlock(&Giant); usb2_needs_explore(bus, 1); } mtx_unlock(&Giant); @@ -139,7 +141,6 @@ /* Let the USB explore process detach all devices. */ mtx_lock(&(bus->mtx)); - if (usb2_proc_msignal(&(bus->explore_proc), &(bus->detach_msg[0]), &(bus->detach_msg[1]))) { /* ignore */ @@ -155,10 +156,12 @@ usb2_proc_unsetup(&(bus->explore_proc)); + /* clear the softc */ + device_set_softc(dev, NULL); + return (0); } - /*------------------------------------------------------------------------* * usb2_bus_explore * @@ -219,7 +222,6 @@ bus->ready = 0; mtx_unlock(&(bus->mtx)); - mtx_lock(&Giant); /* detach children first */ @@ -233,9 +235,7 @@ usb2_free_device(udev); mtx_unlock(&Giant); - mtx_lock(&(bus->mtx)); - return; } @@ -347,9 +347,11 @@ max = devclass_get_maxunit(dc) + 1; for (n = 0; n != max; n++) { dev = devclass_get_device(dc, n); - if (dev) { + if (dev && device_is_attached(dev)) { bus = device_get_softc(dev); + mtx_lock(&Giant); usb2_attach_sub(dev, bus); + mtx_unlock(&Giant); } } } else { ==== //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_pccard.c#3 (text+ko) ==== @@ -184,7 +184,7 @@ if (sc->sc_irq_res == NULL) { goto error; } - sc->sc_bus.bdev = device_add_child(dev, "usb", -1); + sc->sc_bus.bdev = device_add_child(dev, "usbus", -1); if (!(sc->sc_bus.bdev)) { goto error; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_config_td.c#2 (text+ko) ==== @@ -38,6 +38,8 @@ struct usb2_config_td_item *pi = (void *)pm; struct usb2_config_td *ctd = pi->p_ctd; + DPRINTF(0, "\n"); + (pi->command_func) (ctd->p_softc, (void *)(pi + 1), pi->command_ref); if (TAILQ_NEXT(pm, pm_qentry) == NULL) { @@ -68,6 +70,8 @@ struct usb2_config_td_item *pi; uint16_t n; + DPRINTF(0, " size=%u, count=%u \n", item_size, item_count); + if (item_count >= 256) { DPRINTF(-1, "too many items!\n"); return (1); @@ -83,8 +87,8 @@ return (1); } if (usb2_proc_setup(&(ctd->usb2_proc), priv_mtx, USB_PRI_MED)) { + free(M_USBDEV, ctd->p_msgs); ctd->p_msgs = NULL; - free(M_USBDEV, ctd->p_msgs); return (1); } /* initialise messages */ @@ -109,6 +113,7 @@ void usb2_config_td_stop(struct usb2_config_td *ctd) { + DPRINTF(0, "\n"); if (ctd->p_msgs) { usb2_proc_drain(&(ctd->usb2_proc)); } @@ -124,6 +129,8 @@ void usb2_config_td_unsetup(struct usb2_config_td *ctd) { + DPRINTF(0, "\n"); + usb2_config_td_stop(ctd); if (ctd->p_msgs) { @@ -161,9 +168,12 @@ uint16_t n; if (usb2_config_td_is_gone(ctd)) { + DPRINTF(0, "gone\n"); /* nothing more to do */ return; } + DPRINTF(0, "\n"); + pi = USB_ADD_BYTES(ctd->p_msgs, 0); for (n = 0;; n += 2) { if (n == ctd->msg_count) { @@ -172,19 +182,28 @@ __FUNCTION__, __LINE__); return; } - if ((pi->command_func == NULL) || - ((pi->command_func == command_post_func) && - (pi->command_ref == command_ref))) { + if (pi->command_func == NULL) { + /* reserve our entry */ + pi->command_func = command_post_func; + pi->command_ref = command_ref; + pi_0 = pi; + pi = USB_ADD_BYTES(pi, ctd->msg_size); + pi->command_func = command_post_func; + pi->command_ref = command_ref; + pi_1 = pi; + break; + } + if ((pi->command_func == command_post_func) && + (pi->command_ref == command_ref)) { /* found an entry */ + pi_0 = pi; + pi = USB_ADD_BYTES(pi, ctd->msg_size); + pi_1 = pi; break; } pi = USB_ADD_BYTES(pi, (2 * ctd->msg_size)); } - pi_0 = pi; - pi = USB_ADD_BYTES(pi, ctd->msg_size); - pi_1 = pi; - /* * We have two message structures. One of them will get * queued: @@ -198,8 +217,6 @@ * That way commands queued by the pre command will be queued after * the current command. */ - pi->command_func = command_post_func; - pi->command_ref = command_ref; /* * The job of the pre-command function is to copy the needed ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#6 (text+ko) ==== @@ -349,6 +349,7 @@ struct usb2_interface *iface; /* current interface */ uint8_t usb2_mode; /* see USB_MODE_XXX */ uint8_t port; + uint8_t use_generic; /* hint for generic drivers */ }; /* Structure used when referring an USB device */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_debug.h#2 (text+ko) ==== @@ -42,10 +42,10 @@ /* Check if USB debugging is enabled. */ #ifdef USB_DEBUG_VAR #ifdef USB_DEBUG -#define DPRINTF(n,fmt,...) do { \ +#define DPRINTF(n,fmt,...) do { \ if ((USB_DEBUG_VAR) > (n)) { \ - printf("%s:%u@%s: " fmt, __FILE__, __LINE__, \ - __FUNCTION__,## __VA_ARGS__); \ + printf("%s:%u: " fmt, \ + __FUNCTION__, __LINE__,## __VA_ARGS__); \ } \ } while (0) #else ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#5 (text+ko) ==== @@ -776,15 +776,15 @@ if (fp == NULL) { return (ENXIO); } - if (usb2_old_f_data != NULL) { - if (usb2_old_f_data != fp->f_data) { + if (usb2_old_f_data != fp->f_data) { + if (usb2_old_f_data != NULL) { DPRINTF(-1, "File data mismatch!\n"); return (ENXIO); } usb2_old_f_data = fp->f_data; } - if (usb2_old_f_ops != NULL) { - if (usb2_old_f_ops != fp->f_ops) { + if (usb2_old_f_ops != fp->f_ops) { + if (usb2_old_f_ops != NULL) { DPRINTF(-1, "File ops mismatch!\n"); return (ENXIO); } @@ -981,6 +981,8 @@ int fflags; int err; + DPRINTF(1, "\n"); + err = usb2_ref_device(fp, &loc, 0);; /* restore some file variables */ @@ -1614,10 +1616,10 @@ if (kern_unlink(curthread, buf, UIO_SYSSPACE)) { /* ignore */ } - if (kern_symlink(curthread, buf, src, UIO_SYSSPACE)) { + if (kern_symlink(curthread, src, buf, UIO_SYSSPACE)) { /* ignore */ } - printf("Symlink: %s -> %s\n", src, buf); + printf("Symlink: %s -> %s\n", buf, src); } DPRINTF(1, "attached %p/%p\n", f_tx, f_rx); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#3 (text+ko) ==== @@ -582,6 +582,7 @@ } else selfpowered = 1; } + DPRINTF(0, "udev=%p cdesc=%p (addr %d) cno=%d attr=0x%02x, " "selfpowered=%d, power=%d\n", udev, cdp, @@ -611,8 +612,8 @@ udev->curr_config_index = index; /* Set the actual configuration value. */ - err = usb2_req_set_config(udev, &Giant, - cdp->bConfigurationValue); + err = usb2_req_set_config(udev, &Giant, +cdp->bConfigurationValue); if (err) { goto error; } @@ -989,7 +990,7 @@ usb2_init_attach_arg(struct usb2_device *udev, struct usb2_attach_arg *uaa) { - bzero(&uaa, sizeof(uaa)); + bzero(uaa, sizeof(*uaa)); uaa->device = udev; uaa->usb2_mode = udev->flags.usb2_mode; @@ -1076,10 +1077,28 @@ uaa.info.bIfaceIndex = i; uaa.info.bIfaceNum = iface->idesc->bInterfaceNumber; + uaa.use_generic = 0; + DPRINTF(1, "iclass=%u/%u/%u iindex=%u/%u\n", + uaa.info.bInterfaceClass, + uaa.info.bInterfaceSubClass, + uaa.info.bInterfaceProtocol, + uaa.info.bIfaceIndex, + uaa.info.bIfaceNum); + + /* try specific interface drivers first */ + if (usb2_probe_and_attach_sub(udev, &uaa)) { /* ignore */ } + + /* try generic interface drivers last */ + + uaa.use_generic = 1; + + if (usb2_probe_and_attach_sub(udev, &uaa)) { + /* ignore */ + } } if (uaa.temp_dev) { @@ -1824,7 +1843,7 @@ uint8_t usb2_test_quirk(const struct usb2_attach_arg *uaa, uint16_t quirk) { - uint8_t found = 0; + uint8_t found; found = (usb2_test_quirk_p) (&(uaa->info), quirk); return (found); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#5 (text+ko) ==== @@ -126,7 +126,7 @@ static driver_t uhub_driver = { - .name = "uhub", + .name = "ushub", .methods = (device_method_t[]){ DEVMETHOD(device_probe, uhub_probe), DEVMETHOD(device_attach, uhub_attach), @@ -644,14 +644,14 @@ req.bRequest = UR_GET_DESCRIPTOR; USETW2(req.wValue, UDESC_HUB, 0); USETW(req.wIndex, 0); - USETW(req.wLength, sizeof(hubdesc)); + USETW(req.wLength, 9); /* assuming that there is one port */ err = usb2_do_request(udev, &Giant, &req, &hubdesc); nports = hubdesc.bNbrPorts; if (!err && (nports >= 8)) { - uint16_t len = (sizeof(hubdesc) - 1) + ((nports + 7) / 8); + uint16_t len = 8 + ((nports + 7) / 8); USETW(req.wLength, len); err = usb2_do_request(udev, &Giant, &req, &hubdesc); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_process.c#2 (text+ko) ==== @@ -131,7 +131,7 @@ pm = TAILQ_FIRST(&(up->up_qhead)); if (pm) { - DPRINTF(0, "Message %p,%p (enter)\n", + DPRINTF(0, "Message pm=%p, cb=%p (enter)\n", pm, pm->pm_callback); (pm->pm_callback) (pm); @@ -141,7 +141,7 @@ TAILQ_REMOVE(&(up->up_qhead), pm, pm_qentry); pm->pm_qentry.tqe_prev = NULL; } - DPRINTF(0, "Message %p (leave)\n", pm); + DPRINTF(0, "Message pm=%p (leave)\n", pm); continue; } @@ -150,18 +150,14 @@ cv_broadcast(&(up->up_drain)); } up->up_msleep = 1; - cv_wait(&(up->up_cv), up->up_mtx); - - up->up_msleep = 0; } up->up_ptr = NULL; - cv_signal(&(up->up_cv)); - mtx_unlock(up->up_mtx); + USB_THREAD_EXIT(0); return; } @@ -295,6 +291,8 @@ pm2 = NULL; /* panic - should not happen */ } + DPRINTF(0, " t=%u, num=%u\n", t, up->up_msg_num); + /* Put message last on queue */ pm2->pm_num = up->up_msg_num; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#3 (text+ko) ==== @@ -70,6 +70,8 @@ { ; /* workaround for a bug in "indent" */ + DPRINTF(0, "st=%u\n", USB_GET_STATE(xfer)); + switch (USB_GET_STATE(xfer)) { case USB_ST_SETUP: usb2_start_hardware(xfer); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_sw_transfer.c#2 (text+ko) ==== @@ -27,11 +27,14 @@ #include #include +#define USB_DEBUG_VAR usb2_debug + #include #include #include #include #include +#include /*------------------------------------------------------------------------* * usb2_sw_transfer - factored out code @@ -60,6 +63,7 @@ xfer = std->xfer; if (xfer == NULL) { /* the transfer is gone */ + DPRINTF(0, "xfer gone\n"); return; } mtx_assert(xfer->usb2_mtx, MA_OWNED); @@ -154,10 +158,8 @@ } } done: + DPRINTF(0, "done err=%s\n", usb2_errstr(std->err)); std->state = USB_SW_TR_PRE_CALLBACK; (func) (xfer, std); - - /* call the USB transfer callback */ - usb2_command_wrapper(&(xfer->usb2_root->done_q), xfer); return; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#6 (text+ko) ==== @@ -1280,6 +1280,8 @@ if (!xfer->flags_int.open) { xfer->flags_int.open = 1; + DPRINTF(0, "open\n"); + mtx_lock(xfer->usb2_mtx); (xfer->pipe->methods->open) (xfer); mtx_unlock(xfer->usb2_mtx); @@ -1415,6 +1417,8 @@ pipe = xfer->pipe; + DPRINTF(0, "enter\n"); + /* enter the transfer */ (pipe->methods->enter) (xfer); @@ -1511,11 +1515,19 @@ */ if (xfer->flags_int.transferring) { if (xfer->flags_int.can_cancel_immed) { - usb2_transfer_done(xfer, 0); + /* + * The close method will be called by the + * "usb2_callback_wrapper()" when it detects + * that we are closed. This way we resolve + * some races. + */ + usb2_transfer_done(xfer, USB_ERR_CANCELLED); } else { /* need to wait for the next done callback */ } } else { + DPRINTF(0, "close\n"); + /* close here and now */ (xfer->pipe->methods->close) (xfer); } @@ -1676,6 +1688,8 @@ * 4) We are doing an ordinary callback */ DPRINTF(2, "case 1-4\n"); + /* get next USB transfer in the queue */ + info->done_q.curr = NULL; mtx_unlock(xfer->usb2_mtx); mtx_assert(xfer->usb2_mtx, MA_NOTOWNED); @@ -1688,8 +1702,6 @@ if (usb2_callback_wrapper_sub(xfer)) { /* the callback has been deferred */ mtx_lock(xfer->usb2_mtx); - /* get next USB transfer in the queue */ - info->done_q.curr = NULL; goto done; } xfer->flags_int.transferring = 0; @@ -1723,18 +1735,14 @@ (xfer->flags_int.started) && (xfer->usb2_state == USB_ST_ERROR)) { /* do nothing - just loop */ + usb2_command_wrapper(&(info->done_q), xfer); + return; } else if (xfer->flags_int.draining && (!xfer->flags_int.transferring)) { - /* get next USB transfer in the queue */ - info->done_q.curr = NULL; /* "usb2_transfer_drain()" is waiting for end of transfer */ xfer->flags_int.draining = 0; wakeup(&(xfer->flags_int)); - } else { - /* get next USB transfer in the queue */ - info->done_q.curr = NULL; } - done: /* do the next callback, if any */ usb2_command_wrapper(&(info->done_q), @@ -1828,6 +1836,16 @@ mtx_assert(xfer->usb2_mtx, MA_OWNED); + DPRINTF(0, "err=%s\n", usb2_errstr(error)); + + /* + * If we are not transferring then just return. + * This can happen during transfer cancel. + */ + if (!xfer->flags_int.transferring) { + DPRINTF(0, "not transferring\n"); + return; + } /* only set transfer error if not already set */ if (!xfer->error) { xfer->error = error; @@ -1902,6 +1920,8 @@ mtx_assert(xfer->usb2_mtx, MA_OWNED); + DPRINTF(0, "start\n"); + /* start the transfer */ (pipe->methods->start) (xfer); @@ -2045,6 +2065,8 @@ return; } } + DPRINTF(0, "start\n"); + /* start USB transfer */ (pipe->methods->start) (xfer); @@ -2105,6 +2127,7 @@ if (!xfer->flags_int.open && !xfer->flags_int.did_close) { + DPRINTF(0, "close\n"); mtx_lock(xfer->usb2_mtx); (xfer->pipe->methods->close) (xfer); mtx_unlock(xfer->usb2_mtx); @@ -2245,6 +2268,7 @@ usb2_transfer_enqueue(pq, xfer); if (pq->curr != NULL) { /* something is already processing */ + DPRINTF(5, "busy %p\n", pq->curr); return; } } @@ -2272,7 +2296,9 @@ break; } } + DPRINTF(5, "cb %p (enter)\n", pq->curr); (pq->command) (pq); + DPRINTF(5, "cb %p (leave)\n", pq->curr); } while (!pq->recurse_2); ==== //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#3 (text+ko) ==== @@ -630,6 +630,10 @@ if (uaa->usb2_mode != USB_MODE_HOST) { return (ENXIO); } + if (uaa->use_generic == 0) { + /* give Mouse and Keyboard drivers a try first */ + return (ENXIO); + } if (uaa->info.bInterfaceClass != UICLASS_HID) { /* the Xbox 360 gamepad doesn't use the HID class */ ==== //depot/projects/usb/src/sys/modules/usb2/controller/Makefile#3 (text+ko) ==== @@ -7,16 +7,25 @@ SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h SRCS+= opt_usb.h pci_if.h opt_bus.h card_if.h +# +# The "usb2_controller.c" file must be first to +# resolve a "MODULE_DRIVER()" race. +# + +SRCS+= usb2_controller.c + +.if defined(HAS_ATMELARM) +SRCS+= at91dci_atmelarm.c +SRCS+= ohci2_atmelarm.c +.endif + SRCS+= at91dci.c -SRCS+= at91dci_atmelarm.c SRCS+= ehci2.c SRCS+= ehci2_pci.c SRCS+= ohci2.c -SRCS+= ohci2_atmelarm.c SRCS+= ohci2_pci.c SRCS+= uhci2.c SRCS+= uhci2_pci.c -SRCS+= usb2_controller.c SRCS+= uss820dci.c SRCS+= uss820dci_pccard.c From owner-p4-projects@FreeBSD.ORG Tue Jul 1 14:24:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E83FA1065675; Tue, 1 Jul 2008 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 A9D8D106566C for ; Tue, 1 Jul 2008 14:24:23 +0000 (UTC) (envelope-from vi0@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8180B8FC13 for ; Tue, 1 Jul 2008 14:24:23 +0000 (UTC) (envelope-from vi0@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61EONd7016493 for ; Tue, 1 Jul 2008 14:24:23 GMT (envelope-from vi0@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61EONvs016491 for perforce@freebsd.org; Tue, 1 Jul 2008 14:24:23 GMT (envelope-from vi0@FreeBSD.org) Date: Tue, 1 Jul 2008 14:24:23 GMT Message-Id: <200807011424.m61EONvs016491@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to vi0@FreeBSD.org using -f From: Przemek Witaszczyk To: Perforce Change Reviews Cc: Subject: PERFORCE change 144423 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, 01 Jul 2008 14:24:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=144423 Change 144423 by vi0@vi0_gilgamesh.semihalf.com on 2008/07/01 14:24:12 New config Affected files ... .. //depot/projects/soc2008/vi0/efika/sys/powerpc/conf/EFIKA#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jul 1 15:26:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25D4A10656BB; Tue, 1 Jul 2008 15:26:26 +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 DD5D31065671 for ; Tue, 1 Jul 2008 15:26:25 +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 CD2A88FC20 for ; Tue, 1 Jul 2008 15:26:25 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61FQPxP026560 for ; Tue, 1 Jul 2008 15:26:25 GMT (envelope-from sson@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61FQPQL026558 for perforce@freebsd.org; Tue, 1 Jul 2008 15:26:25 GMT (envelope-from sson@FreeBSD.org) Date: Tue, 1 Jul 2008 15:26:25 GMT Message-Id: <200807011526.m61FQPQL026558@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 144425 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, 01 Jul 2008 15:26:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=144425 Change 144425 by sson@sson_amd64 on 2008/07/01 15:25:44 Fixed problem when building outside the source directories. Affected files ... .. //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#6 edit .. //depot/projects/trustedbsd/openbsm/bin/audit/auditd_control.defs#2 delete .. //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#6 edit .. //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#2 edit .. //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#3 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#2 edit .. //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#5 edit .. //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#2 edit .. //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#5 edit .. //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#4 edit .. //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#6 edit .. //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#2 edit .. //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#3 edit .. //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.am#2 edit .. //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#3 edit .. //depot/projects/trustedbsd/openbsm/tools/Makefile.am#3 edit .. //depot/projects/trustedbsd/openbsm/tools/Makefile.in#6 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#3 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) sbin_PROGRAMS = audit audit_LDADD = $(top_builddir)/libbsm/libbsm.la @@ -12,8 +12,8 @@ audit_SOURCES = auditd_control_user.c audit.c CLEANFILES = auditd_control_user.c auditd_control_user.h -auditd_control_user.c: auditd_control.defs - $(MIG) -user auditd_control_user.c -header auditd_control_user.h -server /dev/null -sheader /dev/null auditd_control.defs +auditd_control_user.c: $(top_srcdir)/bin/auditd/auditd_control.defs + $(MIG) -user auditd_control_user.c -header auditd_control_user.h -server /dev/null -sheader /dev/null $(top_srcdir)/bin/auditd/auditd_control.defs else audit_SOURCES = audit.c endif ==== //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.in#6 $ # VPATH = @srcdir@ @@ -127,6 +127,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -182,7 +183,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) audit_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = audit.8 @USE_MACH_IPC_FALSE@audit_SOURCES = audit.c @@ -519,8 +520,8 @@ uninstall-sbinPROGRAMS -@USE_MACH_IPC_TRUE@auditd_control_user.c: auditd_control.defs -@USE_MACH_IPC_TRUE@ $(MIG) -user auditd_control_user.c -header auditd_control_user.h -server /dev/null -sheader /dev/null auditd_control.defs +@USE_MACH_IPC_TRUE@auditd_control_user.c: $(top_srcdir)/bin/auditd/auditd_control.defs +@USE_MACH_IPC_TRUE@ $(MIG) -user auditd_control_user.c -header auditd_control_user.h -server /dev/null -sheader /dev/null $(top_srcdir)/bin/auditd/auditd_control.defs # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ==== //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#3 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) sbin_PROGRAMS = auditd auditd_LDADD = $(top_builddir)/libbsm/libbsm.la @@ -13,10 +13,10 @@ CLEANFILES = auditd_control_server.c auditd_control_server.h audit_triggers_server.c audit_triggers_server.h auditd_control_server.c: auditd_control.defs - $(MIG) -user /dev/null -header /dev/null -server auditd_control_server.c -sheader auditd_control_server.h auditd_control.defs + $(MIG) -user /dev/null -header /dev/null -server auditd_control_server.c -sheader auditd_control_server.h $(top_srcdir)/bin/auditd/auditd_control.defs audit_triggers_server.c: audit_triggers.defs - $(MIG) -user /dev/null -header /dev/null -server audit_triggers_server.c -sheader audit_triggers_server.h audit_triggers.defs + $(MIG) -user /dev/null -header /dev/null -server audit_triggers_server.c -sheader audit_triggers_server.h $(top_srcdir)/bin/auditd/audit_triggers.defs else auditd_SOURCES = audit_warn.c auditd.c endif ==== //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.in#6 $ # VPATH = @srcdir@ @@ -186,7 +186,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) auditd_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = auditd.8 @USE_MACH_IPC_FALSE@auditd_SOURCES = audit_warn.c auditd.c @@ -526,10 +526,10 @@ @USE_MACH_IPC_TRUE@auditd_control_server.c: auditd_control.defs -@USE_MACH_IPC_TRUE@ $(MIG) -user /dev/null -header /dev/null -server auditd_control_server.c -sheader auditd_control_server.h auditd_control.defs +@USE_MACH_IPC_TRUE@ $(MIG) -user /dev/null -header /dev/null -server auditd_control_server.c -sheader auditd_control_server.h $(top_srcdir)/bin/auditd/auditd_control.defs @USE_MACH_IPC_TRUE@audit_triggers_server.c: audit_triggers.defs -@USE_MACH_IPC_TRUE@ $(MIG) -user /dev/null -header /dev/null -server audit_triggers_server.c -sheader audit_triggers_server.h audit_triggers.defs +@USE_MACH_IPC_TRUE@ $(MIG) -user /dev/null -header /dev/null -server audit_triggers_server.c -sheader audit_triggers_server.h $(top_srcdir)/bin/auditd/audit_triggers.defs # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ==== //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#2 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.am#2 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) sbin_PROGRAMS = auditfilterd auditfilterd_SOURCES = auditfilterd_conf.c auditfilterd.c ==== //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#3 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditfilterd/Makefile.in#3 $ # VPATH = @srcdir@ @@ -114,6 +114,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -124,7 +125,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -180,7 +180,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) auditfilterd_SOURCES = auditfilterd_conf.c auditfilterd.c auditfilterd_LDADD = $(top_builddir)/libbsm/libbsm.la man8_MANS = auditfilterd.8 @@ -197,9 +197,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bin/auditfilterd/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bin/auditfilterd/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign bin/auditfilterd/Makefile + $(AUTOMAKE) --gnu bin/auditfilterd/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#2 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.am#2 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) sbin_PROGRAMS = auditreduce auditreduce_SOURCES = auditreduce.c ==== //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#5 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/Makefile.in#5 $ # VPATH = @srcdir@ @@ -113,6 +113,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -123,7 +124,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -179,7 +179,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) auditreduce_SOURCES = auditreduce.c auditreduce_LDADD = $(top_builddir)/libbsm/libbsm.la man1_MANS = auditreduce.1 @@ -196,9 +196,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bin/auditreduce/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bin/auditreduce/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign bin/auditreduce/Makefile + $(AUTOMAKE) --gnu bin/auditreduce/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ ==== //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#2 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.am#2 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) sbin_PROGRAMS = praudit praudit_SOURCES = praudit.c ==== //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#5 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#4 $ +# $P4: //depot/projects/trustedbsd/openbsm/bin/praudit/Makefile.in#5 $ # VPATH = @srcdir@ @@ -113,6 +113,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -123,7 +124,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -179,7 +179,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) praudit_SOURCES = praudit.c praudit_LDADD = $(top_builddir)/libbsm/libbsm.la man1_MANS = praudit.1 @@ -196,9 +196,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bin/praudit/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bin/praudit/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign bin/praudit/Makefile + $(AUTOMAKE) --gnu bin/praudit/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ ==== //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#4 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#3 $ +# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.am#4 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = libbsm.la ==== //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/libbsm/Makefile.in#6 $ # VPATH = @srcdir@ @@ -129,6 +129,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -139,7 +140,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -195,7 +195,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = libbsm.la libbsm_la_SOURCES = bsm_audit.c bsm_class.c bsm_control.c bsm_event.c \ bsm_flags.c bsm_io.c bsm_mask.c bsm_token.c bsm_user.c \ @@ -225,9 +225,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libbsm/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libbsm/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign libbsm/Makefile + $(AUTOMAKE) --gnu libbsm/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ ==== //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#2 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.am#2 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = auditfilter_noop.la ==== //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#3 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/modules/auditfilter_noop/Makefile.in#3 $ # VPATH = @srcdir@ @@ -118,6 +118,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -128,7 +129,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -184,7 +184,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) lib_LTLIBRARIES = auditfilter_noop.la auditfilter_noop_la_SOURCE = auditfilter_noop.c auditfilter_noop_la_LDFLAGS = -module @@ -201,9 +201,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/auditfilter_noop/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu modules/auditfilter_noop/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign modules/auditfilter_noop/Makefile + $(AUTOMAKE) --gnu modules/auditfilter_noop/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ ==== //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.am#2 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.am#1 $ +# $P4: //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.am#2 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) bin_PROGRAMS = generate generate_SOURCES = generate.c ==== //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#3 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/test/bsm/Makefile.in#3 $ # VPATH = @srcdir@ @@ -110,6 +110,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -120,7 +121,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -176,7 +176,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) generate_SOURCES = generate.c generate_LDADD = $(top_builddir)/libbsm/libbsm.la all: all-am @@ -192,9 +192,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/bsm/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/bsm/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/bsm/Makefile + $(AUTOMAKE) --gnu test/bsm/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ ==== //depot/projects/trustedbsd/openbsm/tools/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,8 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/tools/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/openbsm/tools/Makefile.am#3 $ # -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) bin_PROGRAMS = audump audump_SOURCES = audump.c ==== //depot/projects/trustedbsd/openbsm/tools/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/openbsm/tools/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/openbsm/tools/Makefile.in#6 $ # VPATH = @srcdir@ @@ -110,6 +110,7 @@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MIG = @MIG@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ @@ -120,7 +121,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -176,7 +176,7 @@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = -I$(top_srcdir) +INCLUDES = -I$(top_builddir) -I$(top_srcdir) audump_SOURCES = audump.c audump_LDADD = $(top_builddir)/libbsm/libbsm.la all: all-am @@ -192,9 +192,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign tools/Makefile + $(AUTOMAKE) --gnu tools/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ From owner-p4-projects@FreeBSD.ORG Tue Jul 1 16:49:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC58D1065672; Tue, 1 Jul 2008 16:49: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 AE55D106564A for ; Tue, 1 Jul 2008 16:49:49 +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 9DB768FC1A for ; Tue, 1 Jul 2008 16:49:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61Gnn5i045495 for ; Tue, 1 Jul 2008 16:49:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61GnnWM045493 for perforce@freebsd.org; Tue, 1 Jul 2008 16:49:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 16:49:49 GMT Message-Id: <200807011649.m61GnnWM045493@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 144427 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, 01 Jul 2008 16:49:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=144427 Change 144427 by hselasky@hselasky_laptop001 on 2008/07/01 16:48:54 Mostly USB HUB descriptor cleanup. The substitution I made for the HUB descriptor size was incorrect. Cleanup this and some other USB descriptor related stuff. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_standard.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/at91dci.c#3 (text+ko) ==== @@ -1830,8 +1830,8 @@ }, }; -static const struct usb2_hub_descriptor at91dci_hubd = { - .bDescLength = sizeof(struct usb2_hub_descriptor), +static const struct usb2_hub_descriptor_min at91dci_hubd = { + .bDescLength = sizeof(at91dci_hubd), .bDescriptorType = UDESC_HUB, .bNbrPorts = 1, .wHubCharacteristics[0] = ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#4 (text+ko) ==== @@ -2975,35 +2975,33 @@ static const struct ehci_config_desc ehci_confd = { .confd = { - sizeof(struct usb2_config_descriptor), - UDESC_CONFIG, - {sizeof(ehci_confd), 0}, - 1, - 1, - 0, - UC_SELF_POWERED, - 0 /* max power */ + .bLength = sizeof(struct usb2_config_descriptor), + .bDescriptorType = UDESC_CONFIG, + .wTotalLength[0] = sizeof(ehci_confd), + .bNumInterface = 1, + .bConfigurationValue = 1, + .iConfiguration = 0, + .bmAttributes = UC_SELF_POWERED, + .bMaxPower = 0 /* max power */ }, .ifcd = { - sizeof(struct usb2_interface_descriptor), - UDESC_INTERFACE, - 0, - 0, - 1, - UICLASS_HUB, - UISUBCLASS_HUB, - UIPROTO_HSHUBSTT, + .bLength = sizeof(struct usb2_interface_descriptor), + .bDescriptorType = UDESC_INTERFACE, + .bNumEndpoints = 1, + .bInterfaceClass = UICLASS_HUB, + .bInterfaceSubClass = UISUBCLASS_HUB, + .bInterfaceProtocol = UIPROTO_HSHUBSTT, 0 }, .endpd = { - sizeof(struct usb2_endpoint_descriptor), - UDESC_ENDPOINT, - UE_DIR_IN | EHCI_INTR_ENDPT, - UE_INTERRUPT, - {8, 0}, /* max packet (63 ports) */ - 255 + .bLength = sizeof(struct usb2_endpoint_descriptor), + .bDescriptorType = UDESC_ENDPOINT, + .bEndpointAddress = UE_DIR_IN | EHCI_INTR_ENDPT, + .bmAttributes = UE_INTERRUPT, + .wMaxPacketSize[0] = 8, /* max packet (63 ports) */ + .bInterval = 255, }, }; @@ -3142,7 +3140,7 @@ goto done; } std->len = sizeof(ehci_confd); - sc->sc_hub_desc.confd = ehci_confd; + std->ptr = USB_ADD_BYTES(&ehci_confd, 0); break; case UDESC_STRING: ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.h#3 (text+ko) ==== @@ -438,7 +438,6 @@ struct usb2_device_descriptor devd; struct usb2_device_qualifier odevd; struct usb2_hub_descriptor hubd; - struct ehci_config_desc confd; uint8_t temp[128]; }; ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.c#3 (text+ko) ==== @@ -2121,35 +2121,32 @@ struct ohci_config_desc ohci_confd = { .confd = { - sizeof(struct usb2_config_descriptor), - UDESC_CONFIG, - {sizeof(ohci_confd), 0}, - 1, - 1, - 0, - UC_SELF_POWERED, - 0 /* max power */ + .bLength = sizeof(struct usb2_config_descriptor), + .bDescriptorType = UDESC_CONFIG, + .wTotalLength[0] = sizeof(ohci_confd), + .bNumInterface = 1, + .bConfigurationValue = 1, + .iConfiguration = 0, + .bmAttributes = UC_SELF_POWERED, + .bMaxPower = 0, /* max power */ }, .ifcd = { - sizeof(struct usb2_interface_descriptor), - UDESC_INTERFACE, - 0, - 0, - 1, - UICLASS_HUB, - UISUBCLASS_HUB, - UIPROTO_FSHUB, - 0 + .bLength = sizeof(struct usb2_interface_descriptor), + .bDescriptorType = UDESC_INTERFACE, + .bNumEndpoints = 1, + .bInterfaceClass = UICLASS_HUB, + .bInterfaceSubClass = UISUBCLASS_HUB, + .bInterfaceProtocol = UIPROTO_FSHUB, }, .endpd = { - sizeof(struct usb2_endpoint_descriptor), - UDESC_ENDPOINT, - UE_DIR_IN | OHCI_INTR_ENDPT, - UE_INTERRUPT, - {32, 0}, /* max packet (255 ports) */ - 255 + .bLength = sizeof(struct usb2_endpoint_descriptor), + .bDescriptorType = UDESC_ENDPOINT, + .bEndpointAddress = UE_DIR_IN | OHCI_INTR_ENDPT, + .bmAttributes = UE_INTERRUPT, + .wMaxPacketSize[0] = 32,/* max packet (255 ports) */ + .bInterval = 255, }, }; @@ -2259,7 +2256,7 @@ goto done; } std->len = sizeof(ohci_confd); - sc->sc_hub_desc.confd = ohci_confd; + std->ptr = USB_ADD_BYTES(&ohci_confd, 0); break; case UDESC_STRING: ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2.h#3 (text+ko) ==== @@ -311,7 +311,6 @@ struct usb2_port_status ps; struct usb2_device_descriptor devd; struct usb2_hub_descriptor hubd; - struct ohci_config_desc confd; uint8_t temp[128]; }; ==== //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.c#4 (text+ko) ==== @@ -2363,42 +2363,39 @@ static const struct uhci_config_desc uhci_confd = { .confd = { - sizeof(struct usb2_config_descriptor), - UDESC_CONFIG, - {sizeof(uhci_confd), 0}, - 1, - 1, - 0, - UC_SELF_POWERED, - 0 /* max power */ + .bLength = sizeof(struct usb2_config_descriptor), + .bDescriptorType = UDESC_CONFIG, + .wTotalLength[0] = sizeof(uhci_confd), + .bNumInterface = 1, + .bConfigurationValue = 1, + .iConfiguration = 0, + .bmAttributes = UC_SELF_POWERED, + .bMaxPower = 0 /* max power */ }, .ifcd = { - sizeof(struct usb2_interface_descriptor), - UDESC_INTERFACE, - 0, - 0, - 1, - UICLASS_HUB, - UISUBCLASS_HUB, - UIPROTO_FSHUB, - 0 + .bLength = sizeof(struct usb2_interface_descriptor), + .bDescriptorType = UDESC_INTERFACE, + .bNumEndpoints = 1, + .bInterfaceClass = UICLASS_HUB, + .bInterfaceSubClass = UISUBCLASS_HUB, + .bInterfaceProtocol = UIPROTO_FSHUB, }, .endpd = { - sizeof(struct usb2_endpoint_descriptor), - UDESC_ENDPOINT, - UE_DIR_IN | UHCI_INTR_ENDPT, - UE_INTERRUPT, - {8, 0}, /* max packet (63 ports) */ - 255 + .bLength = sizeof(struct usb2_endpoint_descriptor), + .bDescriptorType = UDESC_ENDPOINT, + .bEndpointAddress = UE_DIR_IN | UHCI_INTR_ENDPT, + .bmAttributes = UE_INTERRUPT, + .wMaxPacketSize[0] = 8, /* max packet (63 ports) */ + .bInterval = 255, }, }; static const -struct usb2_hub_descriptor uhci_hubd_piix = +struct usb2_hub_descriptor_min uhci_hubd_piix = { - sizeof(struct usb2_hub_descriptor), + sizeof(uhci_hubd_piix), UDESC_HUB, 2, {UHD_PWR_NO_SWITCH | UHD_OC_INDIVIDUAL, 0}, @@ -2618,7 +2615,7 @@ goto done; } std->len = sizeof(uhci_confd); - sc->sc_hub_desc.confd = uhci_confd; + std->ptr = USB_ADD_BYTES(&uhci_confd, 0); break; case UDESC_STRING: @@ -2763,7 +2760,7 @@ goto done; } std->len = sizeof(uhci_hubd_piix); - sc->sc_hub_desc.hubd = uhci_hubd_piix; + std->ptr = USB_ADD_BYTES(&uhci_hubd_piix, 0); break; case C(UR_GET_STATUS, UT_READ_CLASS_DEVICE): std->len = 16; ==== //depot/projects/usb/src/sys/dev/usb2/controller/uhci2.h#3 (text+ko) ==== @@ -241,8 +241,6 @@ struct usb2_status stat; struct usb2_port_status ps; struct usb2_device_descriptor devd; - struct usb2_hub_descriptor hubd; - struct uhci_config_desc confd; uint8_t temp[128]; }; ==== //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci.c#3 (text+ko) ==== @@ -1861,8 +1861,8 @@ }, }; -static const struct usb2_hub_descriptor uss820dci_hubd = { - .bDescLength = sizeof(struct usb2_hub_descriptor), +static const struct usb2_hub_descriptor_min uss820dci_hubd = { + .bDescLength = sizeof(uss820dci_hubd), .bDescriptorType = UDESC_HUB, .bNbrPorts = 1, .wHubCharacteristics[0] = ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#6 (text+ko) ==== @@ -596,7 +596,6 @@ struct usb2_device *udev = uaa->device; struct usb2_device *parent_hub = udev->parent_hub; struct usb2_hub *hub; - struct usb2_device_request req; struct usb2_hub_descriptor hubdesc; uint16_t pwrdly; uint8_t x; @@ -632,29 +631,22 @@ } if (!udev->flags.self_powered && parent_hub && (!parent_hub->flags.self_powered)) { - DPRINTF(-1, "bus powered hub connected to " - "bus powered hub. HUB ignored!\n"); + DPRINTF(-1, "bus powered HUB connected to " + "bus powered HUB. HUB ignored!\n"); goto error; } - /* get hub descriptor */ + /* get HUB descriptor */ - DPRINTF(1, "getting hub descriptor\n"); + DPRINTF(1, "getting HUB descriptor\n"); - req.bmRequestType = UT_READ_CLASS_DEVICE; - req.bRequest = UR_GET_DESCRIPTOR; - USETW2(req.wValue, UDESC_HUB, 0); - USETW(req.wIndex, 0); - USETW(req.wLength, 9); /* assuming that there is one port */ - - err = usb2_do_request(udev, &Giant, &req, &hubdesc); + /* assuming that there is one port */ + err = usb2_req_get_hub_descriptor(udev, &Giant, &hubdesc, 1); nports = hubdesc.bNbrPorts; if (!err && (nports >= 8)) { - uint16_t len = 8 + ((nports + 7) / 8); - - USETW(req.wLength, len); - err = usb2_do_request(udev, &Giant, &req, &hubdesc); + /* get complete HUB descriptor */ + err = usb2_req_get_hub_descriptor(udev, &Giant, &hubdesc, nports); } if (err) { DPRINTF(-1, "getting hub descriptor failed," ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#4 (text+ko) ==== @@ -892,7 +892,7 @@ req.bRequest = UR_GET_STATUS; USETW(req.wValue, 0); USETW(req.wIndex, 0); - USETW(req.wLength, sizeof(usb2_error_t)); + USETW(req.wLength, sizeof(*st)); return (usb2_do_request(udev, mtx, &req, st)); } @@ -905,15 +905,16 @@ *------------------------------------------------------------------------*/ usb2_error_t usb2_req_get_hub_descriptor(struct usb2_device *udev, struct mtx *mtx, - struct usb2_hub_descriptor *hd) + struct usb2_hub_descriptor *hd, uint8_t nports) { struct usb2_device_request req; + uint16_t len = (nports + 7 + (8 * 8)) / 8; req.bmRequestType = UT_READ_CLASS_DEVICE; req.bRequest = UR_GET_DESCRIPTOR; - USETW(req.wValue, 0); + USETW2(req.wValue, UDESC_HUB, 0); USETW(req.wIndex, 0); - USETW(req.wLength, sizeof(*hd)); + USETW(req.wLength, len); return (usb2_do_request(udev, mtx, &req, hd)); } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.h#3 (text+ko) ==== @@ -36,7 +36,7 @@ usb2_error_t usb2_req_get_desc(struct usb2_device *udev, struct mtx *mtx, void *desc, uint16_t min_len, uint16_t max_len, uint16_t id, uint8_t type, uint8_t index, uint8_t retries); usb2_error_t usb2_req_get_device_desc(struct usb2_device *udev, struct mtx *mtx, struct usb2_device_descriptor *d); usb2_error_t usb2_req_get_device_status(struct usb2_device *udev, struct mtx *mtx, struct usb2_status *st); -usb2_error_t usb2_req_get_hub_descriptor(struct usb2_device *udev, struct mtx *mtx, struct usb2_hub_descriptor *hd); +usb2_error_t usb2_req_get_hub_descriptor(struct usb2_device *udev, struct mtx *mtx, struct usb2_hub_descriptor *hd, uint8_t nports); usb2_error_t usb2_req_get_hub_status(struct usb2_device *udev, struct mtx *mtx, struct usb2_hub_status *st); usb2_error_t usb2_req_get_port_status(struct usb2_device *udev, struct mtx *mtx, struct usb2_port_status *ps, uint8_t port); usb2_error_t usb2_req_get_report(struct usb2_device *udev, struct mtx *mtx, void *data, uint16_t len, uint8_t iface_index, uint8_t type, uint8_t id); ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_standard.h#4 (text+ko) ==== @@ -412,6 +412,18 @@ /* deprecated */ uByte PortPowerCtrlMask[1]; } __packed; +/* minimum HUB descriptor (8-ports maximum) */ +struct usb2_hub_descriptor_min { + uByte bDescLength; + uByte bDescriptorType; + uByte bNbrPorts; + uWord wHubCharacteristics; + uByte bPwrOn2PwrGood; + uByte bHubContrCurrent; + uByte DeviceRemovable[1]; + uByte PortPowerCtrlMask[1]; +} __packed; + struct usb2_device_qualifier { uByte bLength; uByte bDescriptorType; From owner-p4-projects@FreeBSD.ORG Tue Jul 1 16:51:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 258A71065675; Tue, 1 Jul 2008 16:51: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 DB2EC1065670 for ; Tue, 1 Jul 2008 16:51:51 +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 CBCB58FC20 for ; Tue, 1 Jul 2008 16:51:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61Gppjo045690 for ; Tue, 1 Jul 2008 16:51:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61GppqV045688 for perforce@freebsd.org; Tue, 1 Jul 2008 16:51:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 16:51:51 GMT Message-Id: <200807011651.m61GppqV045688@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 144428 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, 01 Jul 2008 16:51:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=144428 Change 144428 by hselasky@hselasky_laptop001 on 2008/07/01 16:51:13 Fix stopping of USB transfers. Some state stuff was a little bit broken. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#4 (text+ko) ==== @@ -511,6 +511,7 @@ if (!sx_xlocked(udev->default_sx + 1)) { /* the caller is not properly locked */ + DPRINTF(-1, "not locked\n"); return (USB_ERR_NOT_LOCKED); } /* detach all interface drivers */ @@ -529,7 +530,6 @@ return (err); } /* get the full config descriptor */ - err = usb2_req_get_config_desc_full(udev, &Giant, &cdp, M_USB, index); if (err) { @@ -553,36 +553,42 @@ /* Must ask device. */ if (udev->flags.uq_power_claim) { /* - * Hub claims to be self powered, but isn't. + * HUB claims to be self powered, but isn't. * It seems that the power status can be - * determined by the hub characteristics. + * determined by the HUB characteristics. */ err = usb2_req_get_hub_descriptor - (udev, &Giant, &hd); + (udev, &Giant, &hd, 1); + if (err) { + DPRINTF(-1, "could not read " + "HUB descriptor: %s\n", + usb2_errstr(err)); - if (!err && - (UGETW(hd.wHubCharacteristics) & - UHD_PWR_INDIVIDUAL)) { + } else if (UGETW(hd.wHubCharacteristics) & + UHD_PWR_INDIVIDUAL) { selfpowered = 1; } - DPRINTF(0, "characteristics=0x%04x, error=%s\n", - UGETW(hd.wHubCharacteristics), - usb2_errstr(err)); + DPRINTF(0, "characteristics=0x%04x\n", + UGETW(hd.wHubCharacteristics)); } else { + + usb2_pause_mtx(&Giant, 100); + err = usb2_req_get_device_status (udev, &Giant, &ds); - - if (!err && - (UGETW(ds.wStatus) & UDS_SELF_POWERED)) { + if (err) { + DPRINTF(-1, "could not read " + "device status: %s\n", + usb2_errstr(err)); + } else if (UGETW(ds.wStatus) & UDS_SELF_POWERED) { selfpowered = 1; } - DPRINTF(0, "status=0x%04x, error=%s\n", - UGETW(ds.wStatus), usb2_errstr(err)); + DPRINTF(0, "status=0x%04x \n", + UGETW(ds.wStatus)); } } else selfpowered = 1; } - DPRINTF(0, "udev=%p cdesc=%p (addr %d) cno=%d attr=0x%02x, " "selfpowered=%d, power=%d\n", udev, cdp, @@ -612,8 +618,7 @@ udev->curr_config_index = index; /* Set the actual configuration value. */ - err = usb2_req_set_config(udev, &Giant, -cdp->bConfigurationValue); + err = usb2_req_set_config(udev, &Giant, cdp->bConfigurationValue); if (err) { goto error; } @@ -654,6 +659,7 @@ if (!sx_xlocked(udev->default_sx + 1)) { /* the caller is not properly locked */ + DPRINTF(-1, "not locked\n"); err = USB_ERR_NOT_LOCKED; goto done; } @@ -1091,7 +1097,6 @@ if (usb2_probe_and_attach_sub(udev, &uaa)) { /* ignore */ } - /* try generic interface drivers last */ uaa.use_generic = 1; @@ -1452,7 +1457,7 @@ udev->ddesc.iSerialNumber) { /* read out the language ID string */ err = usb2_req_get_string_desc(udev, &Giant, - scratch_ptr, 4, sizeof(udev->bus->scratch), + scratch_ptr, 4, scratch_size, USB_LANGUAGE_TABLE); } else { err = USB_ERR_INVAL; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#7 (text+ko) ==== @@ -1514,14 +1514,12 @@ * Check if we can cancel the USB transfer immediately. */ if (xfer->flags_int.transferring) { - if (xfer->flags_int.can_cancel_immed) { - /* - * The close method will be called by the - * "usb2_callback_wrapper()" when it detects - * that we are closed. This way we resolve - * some races. - */ - usb2_transfer_done(xfer, USB_ERR_CANCELLED); + if (xfer->flags_int.can_cancel_immed && + (!xfer->flags_int.did_close)) { + DPRINTF(0, "close\n"); + (xfer->pipe->methods->close) (xfer); + /* only close once */ + xfer->flags_int.did_close = 1; } else { /* need to wait for the next done callback */ } @@ -1530,6 +1528,11 @@ /* close here and now */ (xfer->pipe->methods->close) (xfer); + + /* + * Any additional DMA delay is done by + * "usb2_transfer_unsetup()". + */ } mtx_unlock(xfer->usb2_mtx); @@ -1734,7 +1737,7 @@ if ((!xfer->flags_int.open) && (xfer->flags_int.started) && (xfer->usb2_state == USB_ST_ERROR)) { - /* do nothing - just loop */ + /* try to loop, but not recursivly */ usb2_command_wrapper(&(info->done_q), xfer); return; } else if (xfer->flags_int.draining && @@ -2125,14 +2128,15 @@ struct usb2_pipe *pipe; uint32_t x; - if (!xfer->flags_int.open && - !xfer->flags_int.did_close) { + if ((!xfer->flags_int.open) && + (!xfer->flags_int.did_close)) { DPRINTF(0, "close\n"); mtx_lock(xfer->usb2_mtx); (xfer->pipe->methods->close) (xfer); mtx_unlock(xfer->usb2_mtx); /* only close once */ xfer->flags_int.did_close = 1; + return (1); /* wait for new callback */ } /* * If we have a non-hardware induced error we @@ -2140,7 +2144,7 @@ */ if (((xfer->error == USB_ERR_CANCELLED) || (xfer->error == USB_ERR_TIMEOUT)) && - !xfer->flags_int.did_dma_delay) { + (!xfer->flags_int.did_dma_delay)) { uint32_t temp; From owner-p4-projects@FreeBSD.ORG Tue Jul 1 16:51:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C0951065732; Tue, 1 Jul 2008 16:51: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 095CA1065673 for ; Tue, 1 Jul 2008 16:51:52 +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 EE7788FC0A for ; Tue, 1 Jul 2008 16:51:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61Gppds045695 for ; Tue, 1 Jul 2008 16:51:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61GppKG045693 for perforce@freebsd.org; Tue, 1 Jul 2008 16:51:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 16:51:51 GMT Message-Id: <200807011651.m61GppKG045693@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 144429 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, 01 Jul 2008 16:51:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=144429 Change 144429 by hselasky@hselasky_laptop001 on 2008/07/01 16:51:43 Result from running "usb_style.sh" ... Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#7 (text+ko) ==== @@ -349,7 +349,7 @@ struct usb2_interface *iface; /* current interface */ uint8_t usb2_mode; /* see USB_MODE_XXX */ uint8_t port; - uint8_t use_generic; /* hint for generic drivers */ + uint8_t use_generic; /* hint for generic drivers */ }; /* Structure used when referring an USB device */ From owner-p4-projects@FreeBSD.ORG Tue Jul 1 17:02:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 839B0106566C; Tue, 1 Jul 2008 17:02: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 44EB4106568E for ; Tue, 1 Jul 2008 17:02:02 +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 339BA8FC24 for ; Tue, 1 Jul 2008 17:02:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61H22tC046537 for ; Tue, 1 Jul 2008 17:02:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61H22mb046535 for perforce@freebsd.org; Tue, 1 Jul 2008 17:02:02 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 17:02:02 GMT Message-Id: <200807011702.m61H22mb046535@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 144430 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, 01 Jul 2008 17:02:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=144430 Change 144430 by hselasky@hselasky_laptop001 on 2008/07/01 17:01:14 Finished new USB quirk module. USB quirks are now in a separate module and are loaded when needed. The quirks can also be updated without having to restart the whole USB stack. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.h#2 edit .. //depot/projects/usb/src/sys/modules/usb2/quirk/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.c#2 (text+ko) ==== @@ -1,13 +1,8 @@ -/* $NetBSD: usb_quirks.c,v 1.50 2004/06/23 02:30:52 mycroft Exp $ */ - /*- - * Copyright (c) 1998 The NetBSD Foundation, Inc. - * All rights reserved. + * Copyright (c) 1998 The NetBSD Foundation, Inc. All rights reserved. + * Copyright (c) 1998 Lennart Augustsson. All rights reserved. + * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * - * This code is derived from software contributed to The NetBSD Foundation - * by Lennart Augustsson (lennart@augustsson.net) at - * Carlstedt Research & Technology. - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -16,133 +11,151 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + * 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. */ -#include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.65 2008/03/14 15:59:30 jkim Exp $"); +#include +#include + +#define USB_DEBUG_VAR usb2_debug + +#include +#include +#include +#include -#include -#include +#include -#include -#include -#include +MODULE_DEPEND(usb2_quirk, usb2_core, 1, 1, 1); +MODULE_VERSION(usb2_quirk, 1); -#include "usbdevs.h" +/* + * The following macro adds a quirk for any revision of a device: + */ +#define USB_VPA(v,p,r,...) \ + USB_VPI(v,p,((const uint16_t []){__VA_ARGS__})) -#define ANY 0xffff +/* + * The following macro adds a quirk for a specific revision of a + * device: + */ +#define USB_VPR(v,p,r,...) \ + USB_VPI(v,p, ((const uint16_t []){__VA_ARGS__})), \ + USB_DEV_BCD_LTEQ(r), \ + USB_DEV_BCD_GTEQ(r) -struct usbd_quirk_entry { - uint16_t idVendor; - uint16_t idProduct; - uint16_t bcdDevice; - struct usbd_quirks quirks; -}; +/* try to keep the quirks on one line, hence grepping becomes easier */ -static const struct usbd_quirk_entry usb_quirks[] = { - {USB_VENDOR_ASUS, USB_PRODUCT_ASUS_LCM, ANY, {UQ_HID_IGNORE}}, - {USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4, - 0x094, {UQ_SWAP_UNICODE}}, - {USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502, 0x0a2, {UQ_BAD_ADC}}, - {USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502, 0x0a2, {UQ_AU_NO_XU}}, - {USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ADA70, 0x103, {UQ_BAD_ADC}}, - {USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ASC495, 0x000, {UQ_BAD_AUDIO}}, - {USB_VENDOR_QTRONIX, USB_PRODUCT_QTRONIX_980N, 0x110, {UQ_SPUR_BUT_UP}}, - {USB_VENDOR_ALCOR2, USB_PRODUCT_ALCOR2_KBD_HUB, 0x001, {UQ_SPUR_BUT_UP}}, - {USB_VENDOR_MCT, USB_PRODUCT_MCT_HUB0100, 0x102, {UQ_BUS_POWERED}}, - {USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232, 0x102, {UQ_BUS_POWERED}}, - {USB_VENDOR_TI, USB_PRODUCT_TI_UTUSB41, 0x110, {UQ_POWER_CLAIM}}, - {USB_VENDOR_TELEX, USB_PRODUCT_TELEX_MIC1, 0x009, {UQ_AU_NO_FRAC}}, - {USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE, - 0x100, {UQ_AU_INP_ASYNC}}, - {USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_UN53B, ANY, {UQ_NO_STRINGS}}, +static const struct usb2_device_id usb2_quirks[] = { + {USB_VPA(USB_VENDOR_ASUS, USB_PRODUCT_ASUS_LCM, 0x000, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPR(USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4, 0x094, UQ_SWAP_UNICODE, UQ_NONE)}, + {USB_VPR(USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502, 0x0a2, UQ_BAD_ADC, UQ_NONE)}, + {USB_VPR(USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502, 0x0a2, UQ_AU_NO_XU, UQ_NONE)}, + {USB_VPR(USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ADA70, 0x103, UQ_BAD_ADC, UQ_NONE)}, + {USB_VPR(USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ASC495, 0x000, UQ_BAD_AUDIO, UQ_NONE)}, + {USB_VPR(USB_VENDOR_QTRONIX, USB_PRODUCT_QTRONIX_980N, 0x110, UQ_SPUR_BUT_UP, UQ_NONE)}, + {USB_VPR(USB_VENDOR_ALCOR2, USB_PRODUCT_ALCOR2_KBD_HUB, 0x001, UQ_SPUR_BUT_UP, UQ_NONE)}, + {USB_VPR(USB_VENDOR_MCT, USB_PRODUCT_MCT_HUB0100, 0x102, UQ_BUS_POWERED, UQ_NONE)}, + {USB_VPR(USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232, 0x102, UQ_BUS_POWERED, UQ_NONE)}, + {USB_VPR(USB_VENDOR_TI, USB_PRODUCT_TI_UTUSB41, 0x110, UQ_POWER_CLAIM, UQ_NONE)}, + {USB_VPR(USB_VENDOR_TELEX, USB_PRODUCT_TELEX_MIC1, 0x009, UQ_AU_NO_FRAC, UQ_NONE)}, + {USB_VPR(USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE, 0x100, UQ_AU_INP_ASYNC, UQ_NONE)}, + {USB_VPA(USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_UN53B, 0x000, UQ_NO_STRINGS, UQ_NONE)}, /* * XXX These should have a revision number, but I don't know what * they are. */ - {USB_VENDOR_HP, USB_PRODUCT_HP_895C, ANY, {UQ_BROKEN_BIDIR}}, - {USB_VENDOR_HP, USB_PRODUCT_HP_880C, ANY, {UQ_BROKEN_BIDIR}}, - {USB_VENDOR_HP, USB_PRODUCT_HP_815C, ANY, {UQ_BROKEN_BIDIR}}, - {USB_VENDOR_HP, USB_PRODUCT_HP_810C, ANY, {UQ_BROKEN_BIDIR}}, - {USB_VENDOR_HP, USB_PRODUCT_HP_830C, ANY, {UQ_BROKEN_BIDIR}}, - {USB_VENDOR_HP, USB_PRODUCT_HP_1220C, ANY, {UQ_BROKEN_BIDIR}}, - {USB_VENDOR_XEROX, USB_PRODUCT_XEROX_WCM15, ANY, {UQ_BROKEN_BIDIR}}, + {USB_VPA(USB_VENDOR_HP, USB_PRODUCT_HP_895C, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, + {USB_VPA(USB_VENDOR_HP, USB_PRODUCT_HP_880C, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, + {USB_VPA(USB_VENDOR_HP, USB_PRODUCT_HP_815C, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, + {USB_VPA(USB_VENDOR_HP, USB_PRODUCT_HP_810C, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, + {USB_VPA(USB_VENDOR_HP, USB_PRODUCT_HP_830C, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, + {USB_VPA(USB_VENDOR_HP, USB_PRODUCT_HP_1220C, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, + {USB_VPA(USB_VENDOR_XEROX, USB_PRODUCT_XEROX_WCM15, 0x000, UQ_BROKEN_BIDIR, UQ_NONE)}, /* Devices which should be ignored by uhid */ - {USB_VENDOR_APC, USB_PRODUCT_APC_UPS, - ANY, {UQ_HID_IGNORE}}, - {USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR, - ANY, {UQ_HID_IGNORE}}, - {USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE, - ANY, {UQ_HID_IGNORE}}, - {USB_VENDOR_ITUNERNET, USB_PRODUCT_ITUNERNET_USBLCD2X20, - ANY, {UQ_HID_IGNORE}}, - {USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1, - ANY, {UQ_HID_IGNORE}}, - {USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2, - ANY, {UQ_HID_IGNORE}}, + {USB_VPA(USB_VENDOR_APC, USB_PRODUCT_APC_UPS, 0x000, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR, 0x000, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE, 0x000, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_ITUNERNET, USB_PRODUCT_ITUNERNET_USBLCD2X20, 0x000, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1, 0x000, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2, 0x000, UQ_HID_IGNORE, UQ_NONE)}, /* Devices which should be ignored by both ukbd and uhid */ - {USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_WISPY1A, - ANY, {UQ_KBD_IGNORE}}, - {USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY1B, - ANY, {UQ_KBD_IGNORE}}, - {USB_VENDOR_TENX, USB_PRODUCT_TENX_UAUDIO0, - 0x0101, {UQ_AUDIO_SWAP_LR}}, + {USB_VPA(USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_WISPY1A, 0x000, UQ_KBD_IGNORE, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY1B, 0x000, UQ_KBD_IGNORE, UQ_HID_IGNORE, UQ_NONE)}, + {USB_VPR(USB_VENDOR_TENX, USB_PRODUCT_TENX_UAUDIO0, 0x0101, UQ_AUDIO_SWAP_LR, UQ_NONE)}, /* MS keyboards do weird things */ - {USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK, - ANY, {UQ_MS_BAD_CLASS | UQ_MS_LEADING_BYTE}}, - {USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK2, - ANY, {UQ_MS_BAD_CLASS | UQ_MS_LEADING_BYTE}}, - {USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLINTELLIMOUSE, - ANY, {UQ_MS_LEADING_BYTE}}, + {USB_VPA(USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK, 0x000, UQ_MS_BAD_CLASS, UQ_MS_LEADING_BYTE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK2, 0x000, UQ_MS_BAD_CLASS, UQ_MS_LEADING_BYTE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLINTELLIMOUSE, 0x000, UQ_MS_LEADING_BYTE, UQ_NONE)}, + {USB_VPA(USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24X, 0x000, UQ_KBD_IGNORE, UQ_HID_IGNORE, UQ_NONE)}, +}; - {USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24X, - ANY, {UQ_KBD_IGNORE}}, +USB_MAKE_DEBUG_TABLE(USB_QUIRK); - {0, 0, 0, {0}} -}; +/*------------------------------------------------------------------------* + * usb2_quirkstr + * + * This function converts an USB quirk code into a string. + *------------------------------------------------------------------------*/ +static const char * +usb2_quirkstr(uint16_t quirk) +{ + return ((quirk < USB_QUIRK_MAX) ? + USB_QUIRK[quirk] : "USB_QUIRK_UNKNOWN"); +} -const struct usbd_quirks usbd_no_quirk = {0}; - -const struct usbd_quirks * -usbd_find_quirk(usb_device_descriptor_t *d) +/*------------------------------------------------------------------------* + * usb2_test_quirk_by_info + * + * Returns: + * 0: Quirk not found + * Else: Quirk found + *------------------------------------------------------------------------*/ +static uint8_t +usb2_test_quirk_by_info(const struct usb2_lookup_info *info, uint16_t quirk) { - const struct usbd_quirk_entry *t; - uint16_t vendor = UGETW(d->idVendor); - uint16_t product = UGETW(d->idProduct); - uint16_t revision = UGETW(d->bcdDevice); + const struct usb2_device_id *pe; + const uint16_t *px; - for (t = usb_quirks; t->idVendor != 0; t++) { - if (t->idVendor == vendor && - t->idProduct == product && - (t->bcdDevice == ANY || t->bcdDevice == revision)) - break; + if (quirk == UQ_NONE) { + return (0); } -#ifdef USB_DEBUG - if (usbdebug && t->quirks.uq_flags) { - printf("usbd_find_quirk 0x%04x/0x%04x/%x: %d\n", - UGETW(d->idVendor), UGETW(d->idProduct), - UGETW(d->bcdDevice), t->quirks.uq_flags); + pe = usb2_lookup_id_by_info(usb2_quirks, sizeof(usb2_quirks), info); + if (pe && pe->driver_info) { + px = pe->driver_info; + while (1) { + if (*px == quirk) { + DPRINTF(0, "Found quirk '%s'.\n", usb2_quirkstr(quirk)); + return (1); + } + if (*px == UQ_NONE) { + return (0); + } + px++; + } } -#endif - return (&t->quirks); + return (0); +} + +static void +usb2_quirk_init(void *arg) +{ + /* register our function */ + usb2_test_quirk_p = &usb2_test_quirk_by_info; + return; } + +SYSINIT(usb2_quirk_init, SI_SUB_LOCK, SI_ORDER_FIRST, usb2_quirk_init, NULL); +SYSUNINIT(usb2_quirk_unload, SI_SUB_LOCK, SI_ORDER_ANY, usb2_quirk_unload, NULL); ==== //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.h#2 (text+ko) ==== @@ -1,13 +1,5 @@ -/* $NetBSD: usb_quirks.h,v 1.20 2001/04/15 09:38:01 augustss Exp $ */ -/* $FreeBSD: src/sys/dev/usb/usb_quirks.h,v 1.25 2007/06/29 21:07:41 imp Exp $ */ - /*- - * Copyright (c) 1998 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Lennart Augustsson (lennart@augustsson.net) at - * Carlstedt Research & Technology. + * Copyright (c) 2008 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 @@ -17,57 +9,72 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + * 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. */ -struct usbd_quirks { - uint32_t uq_flags; /* Device problems: */ -#define UQ_AUDIO_SWAP_LR (1 << 0) /* left and right sound channels are - * swapped */ -#define UQ_AU_INP_ASYNC (1 << 1) /* input is async despite claim of - * adaptive */ -#define UQ_AU_NO_FRAC (1 << 2) /* don't adjust for fractional samples */ -#define UQ_AU_NO_XU (1 << 3) /* audio device has broken extension - * unit */ -#define UQ_BAD_ADC (1 << 4) /* bad audio spec version number */ -#define UQ_BAD_AUDIO (1 << 5) /* device claims audio class, but - * isn't */ -#define UQ_BROKEN_BIDIR (1 << 6) /* printer has broken bidir mode */ -#define UQ_BUS_POWERED (1 << 7) /* device is bus powered, despite - * claim */ -#define UQ_HID_IGNORE (1 << 8) /* device should be ignored by hid - * class */ -#define UQ_KBD_IGNORE ((1 << 9)|UQ_HID_IGNORE) /* device should be - * ignored by both kbd - * and hid class */ -#define UQ_MS_BAD_CLASS (1 << 10) /* doesn't identify properly */ -#define UQ_MS_LEADING_BYTE (1 << 11) /* mouse sends an unknown leading byte */ -#define UQ_MS_REVZ (1 << 12) /* mouse has Z-axis reversed */ -#define UQ_NO_STRINGS (1 << 13) /* string descriptors are broken */ -#define UQ_OPEN_CLEARSTALL (1 << 14) /* device needs clear endpoint stall */ -#define UQ_POWER_CLAIM (1 << 15) /* hub lies about power status */ -#define UQ_SPUR_BUT_UP (1 << 16) /* spurious mouse button up events */ -#define UQ_SWAP_UNICODE (1 << 17) /* has some Unicode strings swapped */ -}; +#ifndef _USB2_QUIRK_H_ +#define _USB2_QUIRK_H_ + +/* NOTE: UQ_NONE is not a valid quirk */ + +#define USB_QUIRK(m,n) \ + m(n, UQ_NONE) \ + /* left and right sound channels are swapped */ \ + m(n, UQ_AUDIO_SWAP_LR) \ + /* input is async despite claim of adaptive */ \ + m(n, UQ_AU_INP_ASYNC) \ + /* don't adjust for fractional samples */ \ + m(n, UQ_AU_NO_FRAC) \ + /* audio device has broken extension unit */ \ + m(n, UQ_AU_NO_XU) \ + /* bad audio spec version number */ \ + m(n, UQ_BAD_ADC) \ + /* device claims audio class, but isn't */ \ + m(n, UQ_BAD_AUDIO) \ + /* printer has broken bidir mode */ \ + m(n, UQ_BROKEN_BIDIR) \ + /* device is bus powered, despite claim */ \ + m(n, UQ_BUS_POWERED) \ + /* device should be ignored by hid class */ \ + m(n, UQ_HID_IGNORE) \ + /* device should be ignored by kbd class */ \ + m(n, UQ_KBD_IGNORE) \ + /* doesn't identify properly */ \ + m(n, UQ_MS_BAD_CLASS) \ + /* mouse sends an unknown leading byte */ \ + m(n, UQ_MS_LEADING_BYTE) \ + /* mouse has Z-axis reversed */ \ + m(n, UQ_MS_REVZ) \ + /* string descriptors are broken */ \ + m(n, UQ_NO_STRINGS) \ + /* device needs clear endpoint stall */ \ + m(n, UQ_OPEN_CLEARSTALL) \ + /* hub lies about power status */ \ + m(n, UQ_POWER_CLAIM) \ + /* spurious mouse button up events */ \ + m(n, UQ_SPUR_BUT_UP) \ + /* has some Unicode strings swapped */ \ + m(n, UQ_SWAP_UNICODE) \ + /* select configuration index 1 by default */ \ + m(n, UQ_CFG_INDEX_1) \ + /* select configuration index 2 by default */ \ + m(n, UQ_CFG_INDEX_2) \ + /* select configuration index 3 by default */ \ + m(n, UQ_CFG_INDEX_3) \ + /* select configuration index 4 by default */ \ + m(n, UQ_CFG_INDEX_4) -extern const struct usbd_quirks usbd_no_quirk; +USB_MAKE_ENUM(USB_QUIRK); -const struct usbd_quirks *usbd_find_quirk(usb_device_descriptor_t *); +#endif /* _USB2_QUIRK_H_ */ ==== //depot/projects/usb/src/sys/modules/usb2/quirk/Makefile#2 (text+ko) ==== @@ -1,0 +1,10 @@ +S= ${.CURDIR}/../../.. + +.PATH: $S/dev/usb2/quirk + +KMOD= usb2_quirk +SRCS= +SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h opt_usb.h opt_bus.h +SRCS+= usb2_quirk.c + +.include From owner-p4-projects@FreeBSD.ORG Tue Jul 1 17:31:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C8DA106568A; Tue, 1 Jul 2008 17:31: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 1EB7B1065687 for ; Tue, 1 Jul 2008 17:31:39 +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 0DC6F8FC2A for ; Tue, 1 Jul 2008 17:31:39 +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.1/8.14.1) with ESMTP id m61HVcUr050278 for ; Tue, 1 Jul 2008 17:31:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61HVciq050276 for perforce@freebsd.org; Tue, 1 Jul 2008 17:31:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 1 Jul 2008 17:31:38 GMT Message-Id: <200807011731.m61HVciq050276@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 144434 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, 01 Jul 2008 17:31:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=144434 Change 144434 by rwatson@rwatson_fledge on 2008/07/01 17:30:44 Update Apple copyrights for recent Mac OS X changes. Affected files ... .. //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#10 edit .. //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#31 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#10 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005 Apple Computer, Inc. + * Copyright (c) 2005-2008 Apple Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -11,7 +11,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * 3. Neither the name of Apple Inc. ("Apple") nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#9 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#10 $ */ /* * Program to trigger the audit daemon with a message that is either: ==== //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#31 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004 Apple Computer, Inc. + * Copyright (c) 2004-2008 Apple Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -11,7 +11,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * 3. Neither the name of Apple Inc. ("Apple") nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#30 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#31 $ */ #include From owner-p4-projects@FreeBSD.ORG Tue Jul 1 17:38:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8437106567C; Tue, 1 Jul 2008 17:38: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 68D1A106567A for ; Tue, 1 Jul 2008 17:38: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 5822D8FC2F for ; Tue, 1 Jul 2008 17:38:46 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61Hckb3051143 for ; Tue, 1 Jul 2008 17:38:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61HckWA051141 for perforce@freebsd.org; Tue, 1 Jul 2008 17:38:46 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 17:38:46 GMT Message-Id: <200807011738.m61HckWA051141@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 144435 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, 01 Jul 2008 17:38:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=144435 Change 144435 by hselasky@hselasky_laptop001 on 2008/07/01 17:38:36 New USB template modules is finished. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/template/usb2_template.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/template/usb2_template.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/template/usb2_template_cdce.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/template/usb2_template_msc.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/template/usb2_template_mtp.c#2 edit .. //depot/projects/usb/src/sys/modules/usb2/template/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/template/usb2_template.c#2 (text+ko) ==== @@ -1,9 +1,5 @@ -#include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_template.c $"); - /*- - * Copyright (c) 2007 Hans Petter Selasky - * All rights reserved. + * Copyright (c) 2007 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 @@ -32,28 +28,62 @@ * USB templates. */ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include + +#define USB_DEBUG_VAR usb2_debug + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +MODULE_DEPEND(usb2_template, usb2_core, 1, 1, 1); +MODULE_VERSION(usb2_template, 1); + +/* function prototypes */ -#include -#include -#include -#include -#include +static void usb2_make_raw_desc(struct usb2_temp_setup *temp, const uint8_t *raw); +static void usb2_make_endpoint_desc(struct usb2_temp_setup *temp, const struct usb2_temp_endpoint_desc *ted); +static void usb2_make_interface_desc(struct usb2_temp_setup *temp, const struct usb2_temp_interface_desc *tid); +static void usb2_make_config_desc(struct usb2_temp_setup *temp, const struct usb2_temp_config_desc *tcd); +static void usb2_make_device_desc(struct usb2_temp_setup *temp, const struct usb2_temp_device_desc *tdd); +static uint8_t usb2_hw_ep_match(const struct usb2_hw_ep_profile *pf, uint8_t ep_type, uint8_t ep_dir_in); +static uint8_t usb2_hw_ep_find_match(struct usb2_hw_ep_scratch *ues, struct usb2_hw_ep_scratch_sub *ep, uint8_t is_simplex); +static uint8_t usb2_hw_ep_get_needs(struct usb2_hw_ep_scratch *ues, uint8_t ep_type, uint8_t is_complete); +static usb2_error_t usb2_hw_ep_resolve(struct usb2_device *udev, struct usb2_descriptor *desc); +static const struct usb2_temp_device_desc *usb2_temp_get_tdd(struct usb2_device *udev); +static void *usb2_temp_get_device_desc(struct usb2_device *udev); +static void *usb2_temp_get_qualifier_desc(struct usb2_device *udev); +static void *usb2_temp_get_config_desc(struct usb2_device *udev, uint16_t *pLength, uint8_t index); +static const void *usb2_temp_get_string_desc(struct usb2_device *udev, uint16_t lang_id, uint8_t string_index); +static const void *usb2_temp_get_hub_desc(struct usb2_device *udev); +static void usb2_temp_get_desc(struct usb2_device *udev, struct usb2_device_request *req, const void **pPtr, uint16_t *pLength); +static usb2_error_t usb2_temp_setup(struct usb2_device *udev, const struct usb2_temp_device_desc *tdd); +static void usb2_temp_unsetup(struct usb2_device *udev); +static usb2_error_t usb2_temp_setup_by_index(struct usb2_device *udev, uint16_t index); +static void usb2_temp_init(void *arg); /*------------------------------------------------------------------------* - * usbd_make_raw_desc + * usb2_make_raw_desc * * This function will insert a raw USB descriptor into the generated * USB configuration. *------------------------------------------------------------------------*/ static void -usbd_make_raw_desc(struct usbd_temp_setup *temp, +usb2_make_raw_desc(struct usb2_temp_setup *temp, const uint8_t *raw) { void *dst; @@ -65,15 +95,15 @@ if (raw) { len = raw[0]; if (temp->buf) { - dst = USBD_ADD_BYTES(temp->buf, temp->size); + dst = USB_ADD_BYTES(temp->buf, temp->size); bcopy(raw, dst, len); /* check if we have got a CDC union descriptor */ - if ((raw[0] >= sizeof(usb_cdc_union_descriptor_t)) && + if ((raw[0] >= sizeof(struct usb2_cdc_union_descriptor)) && (raw[1] == UDESC_CS_INTERFACE) && (raw[2] == UDESCSUB_CDC_UNION)) { - usb_cdc_union_descriptor_t *ud = (void *)dst; + struct usb2_cdc_union_descriptor *ud = (void *)dst; /* update the interface numbers */ @@ -89,17 +119,17 @@ } /*------------------------------------------------------------------------* - * usbd_make_endpoint_desc + * usb2_make_endpoint_desc * * This function will generate an USB endpoint descriptor from the * given USB template endpoint descriptor, which will be inserted into * the USB configuration. *------------------------------------------------------------------------*/ static void -usbd_make_endpoint_desc(struct usbd_temp_setup *temp, - const struct usb_temp_endpoint_desc *ted) +usb2_make_endpoint_desc(struct usb2_temp_setup *temp, + const struct usb2_temp_endpoint_desc *ted) { - usb_endpoint_descriptor_t *ed; + struct usb2_endpoint_descriptor *ed; const void **rd; uint16_t old_size; uint16_t mps; @@ -115,19 +145,19 @@ rd = ted->ppRawDesc; if (rd) { while (*rd) { - usbd_make_raw_desc(temp, *rd); + usb2_make_raw_desc(temp, *rd); rd++; } } if (ted->pPacketSize == NULL) { /* not initialized */ - temp->err = USBD_ERR_INVAL; + temp->err = USB_ERR_INVAL; return; } - mps = ted->pPacketSize->mps[temp->usb_speed]; + mps = ted->pPacketSize->mps[temp->usb2_speed]; if (mps == 0) { /* not initialized */ - temp->err = USBD_ERR_INVAL; + temp->err = USB_ERR_INVAL; return; } else if (mps == UE_ZERO_MPS) { /* escape for Zero Max Packet Size */ @@ -141,7 +171,7 @@ * in case there is a buffer present: */ if (temp->buf) { - ed = USBD_ADD_BYTES(temp->buf, old_size); + ed = USB_ADD_BYTES(temp->buf, old_size); ed->bLength = sizeof(*ed); ed->bDescriptorType = UDESC_ENDPOINT; ed->bEndpointAddress = ea; @@ -151,9 +181,9 @@ /* setup bInterval parameter */ if (ted->pIntervals && - ted->pIntervals->bInterval[temp->usb_speed]) { + ted->pIntervals->bInterval[temp->usb2_speed]) { ed->bInterval = - ted->pIntervals->bInterval[temp->usb_speed]; + ted->pIntervals->bInterval[temp->usb2_speed]; } else { switch (et) { case UE_BULK: @@ -161,7 +191,7 @@ ed->bInterval = 0; /* not used */ break; case UE_INTERRUPT: - switch (temp->usb_speed) { + switch (temp->usb2_speed) { case USB_SPEED_LOW: case USB_SPEED_FULL: ed->bInterval = 1; /* 1 ms */ @@ -172,7 +202,7 @@ } break; default: /* UE_ISOCHRONOUS */ - switch (temp->usb_speed) { + switch (temp->usb2_speed) { case USB_SPEED_LOW: case USB_SPEED_FULL: ed->bInterval = 1; /* 1 ms */ @@ -190,18 +220,18 @@ } /*------------------------------------------------------------------------* - * usbd_make_interface_desc + * usb2_make_interface_desc * * This function will generate an USB interface descriptor from the * given USB template interface descriptor, which will be inserted * into the USB configuration. *------------------------------------------------------------------------*/ static void -usbd_make_interface_desc(struct usbd_temp_setup *temp, - const struct usb_temp_interface_desc *tid) +usb2_make_interface_desc(struct usb2_temp_setup *temp, + const struct usb2_temp_interface_desc *tid) { - usb_interface_descriptor_t *id; - const struct usb_temp_endpoint_desc **ted; + struct usb2_interface_descriptor *id; + const struct usb2_temp_endpoint_desc **ted; const void **rd; uint16_t old_size; @@ -225,7 +255,7 @@ if (rd) { while (*rd) { - usbd_make_raw_desc(temp, *rd); + usb2_make_raw_desc(temp, *rd); rd++; } } @@ -238,7 +268,7 @@ ted = tid->ppEndpoints; if (ted) { while (*ted) { - usbd_make_endpoint_desc(temp, *ted); + usb2_make_endpoint_desc(temp, *ted); ted++; } } @@ -247,7 +277,7 @@ * in case there is a buffer present: */ if (temp->buf) { - id = USBD_ADD_BYTES(temp->buf, old_size); + id = USB_ADD_BYTES(temp->buf, old_size); id->bLength = sizeof(*id); id->bDescriptorType = UDESC_INTERFACE; id->bInterfaceNumber = temp->bInterfaceNumber; @@ -262,18 +292,18 @@ } /*------------------------------------------------------------------------* - * usbd_make_config_desc + * usb2_make_config_desc * * This function will generate an USB config descriptor from the given * USB template config descriptor, which will be inserted into the USB * configuration. *------------------------------------------------------------------------*/ static void -usbd_make_config_desc(struct usbd_temp_setup *temp, - const struct usb_temp_config_desc *tcd) +usb2_make_config_desc(struct usb2_temp_setup *temp, + const struct usb2_temp_config_desc *tcd) { - usb_config_descriptor_t *cd; - const struct usb_temp_interface_desc **tid; + struct usb2_config_descriptor *cd; + const struct usb2_temp_interface_desc **tid; uint16_t old_size; /* Reserve memory */ @@ -291,7 +321,7 @@ tid = tcd->ppIfaceDesc; if (tid) { while (*tid) { - usbd_make_interface_desc(temp, *tid); + usb2_make_interface_desc(temp, *tid); tid++; } } @@ -300,7 +330,7 @@ * in case there is a buffer present: */ if (temp->buf) { - cd = USBD_ADD_BYTES(temp->buf, old_size); + cd = USB_ADD_BYTES(temp->buf, old_size); /* compute total size */ old_size = temp->size - old_size; @@ -325,17 +355,17 @@ } /*------------------------------------------------------------------------* - * usbd_make_device_desc + * usb2_make_device_desc * * This function will generate an USB device descriptor from the * given USB template device descriptor. *------------------------------------------------------------------------*/ static void -usbd_make_device_desc(struct usbd_temp_setup *temp, - const struct usb_temp_device_desc *tdd) +usb2_make_device_desc(struct usb2_temp_setup *temp, + const struct usb2_temp_device_desc *tdd) { - struct usb_temp_data *utd; - const struct usb_temp_config_desc **tcd; + struct usb2_temp_data *utd; + const struct usb2_temp_config_desc **tcd; uint16_t old_size; /* Reserve memory */ @@ -349,7 +379,7 @@ tcd = tdd->ppConfigDesc; if (tcd) { while (*tcd) { - usbd_make_config_desc(temp, *tcd); + usb2_make_config_desc(temp, *tcd); temp->bConfigurationValue++; tcd++; } @@ -360,7 +390,7 @@ */ if (temp->buf) { - utd = USBD_ADD_BYTES(temp->buf, old_size); + utd = USB_ADD_BYTES(temp->buf, old_size); /* Store a pointer to our template device descriptor */ utd->tdd = tdd; @@ -395,7 +425,7 @@ USETW(utd->udq.bcdUSB, 0x0200); utd->udq.bMaxPacketSize0 = 0; - switch (temp->usb_speed) { + switch (temp->usb2_speed) { case USB_SPEED_LOW: USETW(utd->udd.bcdUSB, 0x0110); utd->udd.bMaxPacketSize = 8; @@ -413,7 +443,7 @@ utd->udd.bMaxPacketSize = 255; /* 512 bytes */ break; default: - temp->err = USBD_ERR_INVAL; + temp->err = USB_ERR_INVAL; break; } } @@ -421,14 +451,14 @@ } /*------------------------------------------------------------------------* - * usbd_hw_ep_match + * usb2_hw_ep_match * * Return values: * 0: The endpoint profile does not match the criterias * Else: The endpoint profile matches the criterias *------------------------------------------------------------------------*/ static uint8_t -usbd_hw_ep_match(const struct usbd_hw_ep_profile *pf, +usb2_hw_ep_match(const struct usb2_hw_ep_profile *pf, uint8_t ep_type, uint8_t ep_dir_in) { if (ep_type == UE_CONTROL) { @@ -447,7 +477,7 @@ } /*------------------------------------------------------------------------* - * usbd_hw_ep_find_match + * usb2_hw_ep_find_match * * This function is used to find the best matching endpoint profile * for and endpoint belonging to an USB descriptor. @@ -457,10 +487,10 @@ * Else: Failure. No match. *------------------------------------------------------------------------*/ static uint8_t -usbd_hw_ep_find_match(struct usbd_hw_ep_scratch *ues, - struct usbd_sw_ep_scratch *ep, uint8_t is_simplex) +usb2_hw_ep_find_match(struct usb2_hw_ep_scratch *ues, + struct usb2_hw_ep_scratch_sub *ep, uint8_t is_simplex) { - const struct usbd_hw_ep_profile *pf; + const struct usb2_hw_ep_profile *pf; uint16_t distance; uint16_t temp; uint8_t n; @@ -486,7 +516,7 @@ } } - for (n = 1; n != (USB_MAX_ENDPOINTS / 2); n++) { + for (n = 1; n != (USB_EP_MAX / 2); n++) { /* check if IN-endpoint is reserved */ if (dir_in) { @@ -514,7 +544,7 @@ continue; } /* check if HW endpoint matches */ - if (!usbd_hw_ep_match(pf, ep->needs_ep_type, dir_in)) { + if (!usb2_hw_ep_match(pf, ep->needs_ep_type, dir_in)) { /* mismatch */ continue; } @@ -568,7 +598,7 @@ } /*------------------------------------------------------------------------* - * usbd_hw_ep_get_needs + * usb2_hw_ep_get_needs * * This function will figure out the type and number of endpoints * which are needed for an USB configuration. @@ -578,16 +608,16 @@ * Else: Failure. *------------------------------------------------------------------------*/ static uint8_t -usbd_hw_ep_get_needs(struct usbd_hw_ep_scratch *ues, +usb2_hw_ep_get_needs(struct usb2_hw_ep_scratch *ues, uint8_t ep_type, uint8_t is_complete) { - struct usbd_sw_ep_scratch *ep_iface; - struct usbd_sw_ep_scratch *ep_curr; - struct usbd_sw_ep_scratch *ep_max; - struct usbd_sw_ep_scratch *ep_end; - usb_descriptor_t *desc; - usb_interface_descriptor_t *id; - usb_endpoint_descriptor_t *ed; + struct usb2_hw_ep_scratch_sub *ep_iface; + struct usb2_hw_ep_scratch_sub *ep_curr; + struct usb2_hw_ep_scratch_sub *ep_max; + struct usb2_hw_ep_scratch_sub *ep_end; + struct usb2_descriptor *desc; + struct usb2_interface_descriptor *id; + struct usb2_endpoint_descriptor *ed; uint16_t wMaxPacketSize; uint16_t temp; uint8_t allow_override; @@ -595,14 +625,14 @@ ep_iface = ues->ep_max; ep_curr = ues->ep_max; - ep_end = ues->ep + USB_MAX_ENDPOINTS; + ep_end = ues->ep + USB_EP_MAX; ep_max = ues->ep_max; desc = NULL; - speed = ues->udev->speed; + speed = usb2_get_speed(ues->udev); repeat: - while ((desc = usbd_desc_foreach(ues->cd, desc))) { + while ((desc = usb2_desc_foreach(ues->cd, desc))) { if ((desc->bDescriptorType == UDESC_INTERFACE) && (desc->bLength >= sizeof(*id))) { @@ -726,7 +756,7 @@ } /*------------------------------------------------------------------------* - * usbd_hw_ep_resolve + * usb2_hw_ep_resolve * * This function will try to resolve endpoint requirements by the * given endpoint profiles that the USB hardware reports. @@ -735,42 +765,42 @@ * 0: Success * Else: Failure *------------------------------------------------------------------------*/ -static usbd_status_t -usbd_hw_ep_resolve(struct usbd_device *udev, - usb_descriptor_t *desc) +static usb2_error_t +usb2_hw_ep_resolve(struct usb2_device *udev, + struct usb2_descriptor *desc) { - struct usbd_hw_ep_scratch *ues; - struct usbd_sw_ep_scratch *ep; - const struct usbd_hw_ep_profile *pf; - struct usbd_bus_methods *methods; - usb_device_descriptor_t *dd; + struct usb2_hw_ep_scratch *ues; + struct usb2_hw_ep_scratch_sub *ep; + const struct usb2_hw_ep_profile *pf; + struct usb2_bus_methods *methods; + struct usb2_device_descriptor *dd; uint16_t mps; if (desc == NULL) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } /* get bus methods */ methods = udev->bus->methods; if (methods->get_hw_ep_profile == NULL) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } if (desc->bDescriptorType == UDESC_DEVICE) { if (desc->bLength < sizeof(*dd)) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } dd = (void *)desc; /* get HW control endpoint 0 profile */ (methods->get_hw_ep_profile) (udev, &pf, 0); if (pf == NULL) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } - if (!usbd_hw_ep_match(pf, UE_CONTROL, 0)) { - PRINTFN(-1, ("Endpoint 0 does not " - "support control\n")); - return (USBD_ERR_INVAL); + if (!usb2_hw_ep_match(pf, UE_CONTROL, 0)) { + DPRINTF(-1, "Endpoint 0 does not " + "support control\n"); + return (USB_ERR_INVAL); } mps = dd->bMaxPacketSize; @@ -788,7 +818,7 @@ /* check if "mps" is too small */ if (mps < 8) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } } @@ -801,18 +831,18 @@ } /* Check if we support the specified wMaxPacketSize */ if (pf->max_frame_size < mps) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } } return (0); /* success */ } if (desc->bDescriptorType != UDESC_CONFIG) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } if (desc->bLength < sizeof(*(ues->cd))) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } - ues = udev->scratch[0].hw_ep_scratch; + ues = udev->bus->scratch[0].hw_ep_scratch; bzero(ues, sizeof(*ues)); @@ -823,12 +853,12 @@ /* Get all the endpoints we need */ - if (usbd_hw_ep_get_needs(ues, UE_ISOCHRONOUS, 0) || - usbd_hw_ep_get_needs(ues, UE_INTERRUPT, 0) || - usbd_hw_ep_get_needs(ues, UE_CONTROL, 0) || - usbd_hw_ep_get_needs(ues, UE_BULK, 0)) { - PRINTFN(-1, ("Could not get needs\n")); - return (USBD_ERR_INVAL); + if (usb2_hw_ep_get_needs(ues, UE_ISOCHRONOUS, 0) || + usb2_hw_ep_get_needs(ues, UE_INTERRUPT, 0) || + usb2_hw_ep_get_needs(ues, UE_CONTROL, 0) || + usb2_hw_ep_get_needs(ues, UE_BULK, 0)) { + DPRINTF(-1, "Could not get needs\n"); + return (USB_ERR_INVAL); } for (ep = ues->ep; ep != ues->ep_max; ep++) { @@ -838,10 +868,10 @@ * First try to use a simplex endpoint. * Then try to use a duplex endpoint. */ - if (usbd_hw_ep_find_match(ues, ep, 1) && - usbd_hw_ep_find_match(ues, ep, 0)) { - PRINTFN(-1, ("Could not find match\n")); - return (USBD_ERR_INVAL); + if (usb2_hw_ep_find_match(ues, ep, 1) && + usb2_hw_ep_find_match(ues, ep, 0)) { + DPRINTF(-1, "Could not find match\n"); + return (USB_ERR_INVAL); } } } @@ -850,48 +880,48 @@ /* Update all endpoint addresses */ - if (usbd_hw_ep_get_needs(ues, UE_ISOCHRONOUS, 1) || - usbd_hw_ep_get_needs(ues, UE_INTERRUPT, 1) || - usbd_hw_ep_get_needs(ues, UE_CONTROL, 1) || - usbd_hw_ep_get_needs(ues, UE_BULK, 1)) { - PRINTFN(-1, ("Could not update endpoint address\n")); - return (USBD_ERR_INVAL); + if (usb2_hw_ep_get_needs(ues, UE_ISOCHRONOUS, 1) || + usb2_hw_ep_get_needs(ues, UE_INTERRUPT, 1) || + usb2_hw_ep_get_needs(ues, UE_CONTROL, 1) || + usb2_hw_ep_get_needs(ues, UE_BULK, 1)) { + DPRINTF(-1, "Could not update endpoint address\n"); + return (USB_ERR_INVAL); } return (0); /* success */ } /*------------------------------------------------------------------------* - * usbd_temp_get_tdd + * usb2_temp_get_tdd * * Returns: * NULL: No USB template device descriptor found. * Else: Pointer to the USB template device descriptor. *------------------------------------------------------------------------*/ -static const struct usb_temp_device_desc * -usbd_temp_get_tdd(struct usbd_device *udev) +static const struct usb2_temp_device_desc * +usb2_temp_get_tdd(struct usb2_device *udev) { - if (udev->usb_template_ptr == NULL) { + if (udev->usb2_template_ptr == NULL) { return (NULL); } - return (udev->usb_template_ptr->tdd); + return (udev->usb2_template_ptr->tdd); } /*------------------------------------------------------------------------* - * usbd_temp_get_device_desc + * usb2_temp_get_device_desc * * Returns: * NULL: No USB device descriptor found. * Else: Pointer to USB device descriptor. *------------------------------------------------------------------------*/ static void * -usbd_temp_get_device_desc(struct usbd_device *udev) +usb2_temp_get_device_desc(struct usb2_device *udev) { - usb_device_descriptor_t *dd; + struct usb2_device_descriptor *dd; - if (udev->usb_template_ptr == NULL) { + if (udev->usb2_template_ptr == NULL) { return (NULL); } - dd = &(udev->usb_template_ptr->udd); + dd = &(udev->usb2_template_ptr->udd); if (dd->bDescriptorType != UDESC_DEVICE) { /* sanity check failed */ return (NULL); @@ -900,21 +930,21 @@ } /*------------------------------------------------------------------------* - * usbd_temp_get_qualifier_desc + * usb2_temp_get_qualifier_desc * * Returns: * NULL: No USB device_qualifier descriptor found. * Else: Pointer to USB device_qualifier descriptor. *------------------------------------------------------------------------*/ static void * -usbd_temp_get_qualifier_desc(struct usbd_device *udev) +usb2_temp_get_qualifier_desc(struct usb2_device *udev) { - usb_device_qualifier_t *dq; + struct usb2_device_qualifier *dq; - if (udev->usb_template_ptr == NULL) { + if (udev->usb2_template_ptr == NULL) { return (NULL); } - dq = &(udev->usb_template_ptr->udq); + dq = &(udev->usb2_template_ptr->udq); if (dq->bDescriptorType != UDESC_DEVICE_QUALIFIER) { /* sanity check failed */ return (NULL); @@ -923,25 +953,25 @@ } /*------------------------------------------------------------------------* - * usbd_temp_get_config_desc + * usb2_temp_get_config_desc * * Returns: * NULL: No USB config descriptor found. * Else: Pointer to USB config descriptor having index "index". *------------------------------------------------------------------------*/ static void * -usbd_temp_get_config_desc(struct usbd_device *udev, +usb2_temp_get_config_desc(struct usb2_device *udev, uint16_t *pLength, uint8_t index) { - usb_device_descriptor_t *dd; - usb_config_descriptor_t *cd; + struct usb2_device_descriptor *dd; + struct usb2_config_descriptor *cd; uint16_t temp; - if (udev->usb_template_ptr == NULL) { + if (udev->usb2_template_ptr == NULL) { return (NULL); } - dd = &(udev->usb_template_ptr->udd); - cd = (void *)(udev->usb_template_ptr + 1); + dd = &(udev->usb2_template_ptr->udd); + cd = (void *)(udev->usb2_template_ptr + 1); if (index >= dd->bNumConfigurations) { /* out of range */ @@ -953,7 +983,7 @@ return (NULL); } temp = UGETW(cd->wTotalLength); - cd = USBD_ADD_BYTES(cd, temp); + cd = USB_ADD_BYTES(cd, temp); } if (pLength) { @@ -963,19 +993,19 @@ } /*------------------------------------------------------------------------* - * usbd_temp_get_string_desc + * usb2_temp_get_string_desc * * Returns: * NULL: No string descriptor found. * Else: Pointer to a string descriptor. *------------------------------------------------------------------------*/ static const void * -usbd_temp_get_string_desc(struct usbd_device *udev, +usb2_temp_get_string_desc(struct usb2_device *udev, uint16_t lang_id, uint8_t string_index) { - const struct usb_temp_device_desc *tdd; + const struct usb2_temp_device_desc *tdd; - tdd = usbd_temp_get_tdd(udev); + tdd = usb2_temp_get_tdd(udev); if (tdd == NULL) { return (NULL); } @@ -986,26 +1016,26 @@ } /*------------------------------------------------------------------------* - * usbd_temp_get_hub_desc + * usb2_temp_get_hub_desc * * Returns: * NULL: No USB HUB descriptor found. * Else: Pointer to a USB HUB descriptor. *------------------------------------------------------------------------*/ static const void * -usbd_temp_get_hub_desc(struct usbd_device *udev) +usb2_temp_get_hub_desc(struct usb2_device *udev) { return (NULL); /* needs to be implemented */ } /*------------------------------------------------------------------------* - * usbd_temp_get_desc + * usb2_temp_get_desc * * This function is a demultiplexer for local USB device side control * endpoint requests. *------------------------------------------------------------------------*/ -void -usbd_temp_get_desc(struct usbd_device *udev, usb_device_request_t *req, +static void +usb2_temp_get_desc(struct usb2_device *udev, struct usb2_device_request *req, const void **pPtr, uint16_t *pLength) { const uint8_t *buf; @@ -1041,7 +1071,7 @@ if (req->wValue[0]) { goto tr_stalled; } - buf = usbd_temp_get_device_desc(udev); + buf = usb2_temp_get_device_desc(udev); goto tr_valid; case UDESC_DEVICE_QUALIFIER: if (udev->speed != USB_SPEED_HIGH) { @@ -1050,18 +1080,18 @@ if (req->wValue[0]) { goto tr_stalled; } - buf = usbd_temp_get_qualifier_desc(udev); + buf = usb2_temp_get_qualifier_desc(udev); goto tr_valid; case UDESC_OTHER_SPEED_CONFIGURATION: if (udev->speed != USB_SPEED_HIGH) { goto tr_stalled; } case UDESC_CONFIG: - buf = usbd_temp_get_config_desc(udev, + buf = usb2_temp_get_config_desc(udev, &len, req->wValue[0]); goto tr_valid; case UDESC_STRING: - buf = usbd_temp_get_string_desc(udev, + buf = usb2_temp_get_string_desc(udev, UGETW(req->wIndex), req->wValue[0]); goto tr_valid; default: @@ -1073,7 +1103,7 @@ if (req->wValue[0]) { goto tr_stalled; } - buf = usbd_temp_get_hub_desc(udev); + buf = usb2_temp_get_hub_desc(udev); goto tr_valid; tr_valid: @@ -1094,7 +1124,7 @@ } /*------------------------------------------------------------------------* - * usbd_temp_setup + * usb2_temp_setup * * This function generates USB descriptors according to the given USB * template device descriptor. It will also try to figure out the best @@ -1104,11 +1134,11 @@ * 0: Success * Else: Failure *------------------------------------------------------------------------*/ -usbd_status_t -usbd_temp_setup(struct usbd_device *udev, - const struct usb_temp_device_desc *tdd) +static usb2_error_t +usb2_temp_setup(struct usb2_device *udev, + const struct usb2_temp_device_desc *tdd) { - struct usbd_temp_setup *uts; + struct usb2_temp_setup *uts; void *buf; uint8_t n; @@ -1116,16 +1146,16 @@ /* be NULL safe */ return (0); } - uts = udev->scratch[0].temp_setup; + uts = udev->bus->scratch[0].temp_setup; bzero(uts, sizeof(*uts)); - uts->usb_speed = udev->speed; + uts->usb2_speed = udev->speed; uts->self_powered = udev->flags.self_powered; /* first pass */ - usbd_make_device_desc(uts, tdd); + usb2_make_device_desc(uts, tdd); if (uts->err) { /* some error happened */ @@ -1133,24 +1163,24 @@ } /* sanity check */ if (uts->size == 0) { - return (USBD_ERR_INVAL); + return (USB_ERR_INVAL); } /* allocate zeroed memory */ uts->buf = malloc(uts->size, M_USB, M_WAITOK | M_ZERO); if (uts->buf == NULL) { /* could not allocate memory */ - return (USBD_ERR_NOMEM); + return (USB_ERR_NOMEM); } /* second pass */ uts->size = 0; - usbd_make_device_desc(uts, tdd); + usb2_make_device_desc(uts, tdd); /* * Store a pointer to our descriptors: */ - udev->usb_template_ptr = uts->buf; + udev->usb2_template_ptr = uts->buf; if (uts->err) { /* some error happened during second pass */ @@ -1159,49 +1189,84 @@ /* * Resolve all endpoint addresses ! */ - buf = usbd_temp_get_device_desc(udev); - uts->err = usbd_hw_ep_resolve(udev, buf); + buf = usb2_temp_get_device_desc(udev); + uts->err = usb2_hw_ep_resolve(udev, buf); if (uts->err) { - PRINTFN(-1, ("Could not resolve endpoints for " + DPRINTF(-1, "Could not resolve endpoints for " "Device Descriptor, error = %s\n", - usbd_errstr(uts->err))); + usb2_errstr(uts->err)); goto error; } for (n = 0;; n++) { - buf = usbd_temp_get_config_desc(udev, NULL, n); + buf = usb2_temp_get_config_desc(udev, NULL, n); if (buf == NULL) { break; } - uts->err = usbd_hw_ep_resolve(udev, buf); + uts->err = usb2_hw_ep_resolve(udev, buf); if (uts->err) { - PRINTFN(-1, ("Could not resolve endpoints for " + DPRINTF(-1, "Could not resolve endpoints for " "Config Descriptor %u, error = %s\n", n, - usbd_errstr(uts->err))); + usb2_errstr(uts->err)); goto error; } } return (uts->err); error: - usbd_temp_unsetup(udev); + usb2_temp_unsetup(udev); return (uts->err); } /*------------------------------------------------------------------------* - * usbd_temp_unsetup + * usb2_temp_unsetup * * This function frees any memory associated with the currently * setup template, if any. *------------------------------------------------------------------------*/ -void -usbd_temp_unsetup(struct usbd_device *udev) +static void +usb2_temp_unsetup(struct usb2_device *udev) { - if (udev->usb_template_ptr) { + if (udev->usb2_template_ptr) { + + free(udev->usb2_template_ptr, M_USB); + + udev->usb2_template_ptr = NULL; + } + return; +} - free(udev->usb_template_ptr, M_USB); +static usb2_error_t +usb2_temp_setup_by_index(struct usb2_device *udev, uint16_t index) +{ + usb2_error_t err; - udev->usb_template_ptr = NULL; + switch (index) { + case 0: + err = usb2_temp_setup(udev, &usb2_template_msc); + break; + case 1: + err = usb2_temp_setup(udev, &usb2_template_cdce); + break; + case 2: + err = usb2_temp_setup(udev, &usb2_template_mtp); + break; + default: + return (USB_ERR_INVAL); } + + return (err); +} + +static void +usb2_temp_init(void *arg) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 1 21:29:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F30E1065678; Tue, 1 Jul 2008 21:29: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 116751065674 for ; Tue, 1 Jul 2008 21:29:39 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F02E98FC14 for ; Tue, 1 Jul 2008 21:29:38 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61LTc9h089977 for ; Tue, 1 Jul 2008 21:29:38 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61LTcDK089975 for perforce@freebsd.org; Tue, 1 Jul 2008 21:29:38 GMT (envelope-from julian@freebsd.org) Date: Tue, 1 Jul 2008 21:29:38 GMT Message-Id: <200807012129.m61LTcDK089975@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144441 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, 01 Jul 2008 21:29:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=144441 Change 144441 by julian@julian_trafmon1 on 2008/07/01 21:29:03 Need the include files in kernmel modules too Affected files ... .. //depot/projects/vimage-commit3/src/sys/contrib/ipfilter/netinet/fil.c#2 edit Differences ... ==== //depot/projects/vimage-commit3/src/sys/contrib/ipfilter/netinet/fil.c#2 (text+ko) ==== @@ -28,14 +28,16 @@ (__FreeBSD_version >= 220000) # if (__FreeBSD_version >= 400000) # if !defined(IPFILTER_LKM) -# include "opt_vimage.h" # include "opt_inet6.h" -# include # endif # if (__FreeBSD_version == 400019) # define CSUM_DELAY_DATA # endif # endif +# if (__FreeBSD_version >= 800000) +# include "opt_vimage.h" +# include +# endif # include #else # include From owner-p4-projects@FreeBSD.ORG Tue Jul 1 21:41:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 083FB1065678; Tue, 1 Jul 2008 21:41: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 A587F1065677 for ; Tue, 1 Jul 2008 21:41:51 +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 8F2C58FC12 for ; Tue, 1 Jul 2008 21:41:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61Lfp5L091044 for ; Tue, 1 Jul 2008 21:41:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61Lfpr6091042 for perforce@freebsd.org; Tue, 1 Jul 2008 21:41:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 21:41:51 GMT Message-Id: <200807012141.m61Lfpr6091042@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 144443 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, 01 Jul 2008 21:41:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=144443 Change 144443 by hselasky@hselasky_laptop001 on 2008/07/01 21:41:25 Several fixes and improvements to the USB device layer /dev/usbXXX . Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#6 (text+ko) ==== @@ -75,6 +75,7 @@ static int usb2_fifo_open(struct usb2_fifo *f, struct file *fp, struct thread *td, int fflags); static void usb2_fifo_close(struct usb2_fifo *f, struct thread *td, int fflags); static void usb2_dev_init(void *arg); +static void usb2_dev_init_post(void *arg); static void usb2_dev_uninit(void *arg); static int usb2_fifo_uiomove(struct usb2_fifo *f, void *cp, int n, struct uio *uio); static void usb2_fifo_wakeup(struct usb2_fifo *f); @@ -310,28 +311,35 @@ mtx_lock(&usb2_ref_lock); ploc->bus = devclass_get_softc(usb2_devclass_ptr, ploc->bus_index); if (ploc->bus == NULL) { + DPRINTF(1, "no bus\n"); goto error; } if (ploc->bus->ready == 0) { + DPRINTF(1, "not ready\n"); goto error; } if (ploc->dev_index >= ploc->bus->devices_max) { + DPRINTF(1, "invalid dev index\n"); goto error; } ploc->udev = ploc->bus->devices[ploc->dev_index]; if (ploc->udev == NULL) { + DPRINTF(1, "no device\n"); goto error; } if (ploc->udev->refcount == USB_DEV_REF_MAX) { + DPRINTF(1, "no dev ref\n"); goto error; } ploc->iface = usb2_get_iface(ploc->udev, ploc->iface_index); if (ploc->ep_index != 0) { /* non control endpoint - we need an interface */ if (ploc->iface == NULL) { + DPRINTF(1, "no iface\n"); goto error; } if (ploc->iface->idesc == NULL) { + DPRINTF(1, "no idesc\n"); goto error; } } @@ -368,12 +376,15 @@ /* when everything is OK we increment the refcounts */ if (ploc->is_uref) { + DPRINTF(1, "ref udev\n"); ploc->udev->refcount++; } if (ploc->is_write) { + DPRINTF(1, "ref write\n"); ploc->txfifo->refcount++; } if (ploc->is_read) { + DPRINTF(1, "ref read\n"); ploc->rxfifo->refcount++; } mtx_unlock(&usb2_ref_lock); @@ -390,6 +401,7 @@ error: mtx_unlock(&usb2_ref_lock); + DPRINTF(1, "fail\n"); return (USB_ERR_INVAL); } @@ -513,10 +525,12 @@ if (f) { /* nothing do to - we already have a FIFO */ + DPRINTF(1, "has FIFO\n"); return; } if (ep_index >= 16) { /* nothing to do - these are virtual endpoints */ + DPRINTF(1, "VEP\n"); return; } /* automatically create a generic endpoint */ @@ -601,6 +615,7 @@ if (f == NULL) { /* no FIFO there */ + DPRINTF(1, "no FIFO\n"); return (ENXIO); } /* remove FWRITE and FREAD flags */ @@ -743,7 +758,7 @@ /* check if we are sleeping */ if (f->flag_sleeping) { - DPRINTF(-1, "Sleeping at close!\n"); + DPRINTF(1, "Sleeping at close!\n"); } mtx_unlock(f->priv_mtx); @@ -774,6 +789,7 @@ usb2_last_devloc = (0 - 1); /* reset "usb2_devloc" */ if (fp == NULL) { + DPRINTF(1, "fp == NULL\n"); return (ENXIO); } if (usb2_old_f_data != fp->f_data) { @@ -799,10 +815,12 @@ } if (devloc == (uint32_t)(0 - 1)) { /* tried to open /dev/usb */ + DPRINTF(1, "no devloc\n"); return (ENXIO); } err = usb2_ref_device(NULL, &loc, devloc); if (err) { + DPRINTF(1, "cannot ref device\n"); return (ENXIO); } /* create a permissions mask */ @@ -854,7 +872,6 @@ } usb2_fifo_check(&loc, fflags & FREAD); usb2_fifo_check(&loc, fflags & FWRITE); - usb2_unref_device(&loc); /* try to refer the device and associated FIFOs again */ @@ -866,6 +883,7 @@ err = usb2_fifo_open(loc.rxfifo, fp, td, fflags); if (err) { + DPRINTF(1, "read open failed\n"); usb2_unref_device(&loc); return (err); } @@ -874,6 +892,7 @@ err = usb2_fifo_open(loc.txfifo, fp, td, fflags); if (err) { + DPRINTF(1, "write open failed\n"); if (fflags & FREAD) { usb2_fifo_close(loc.rxfifo, td, fflags); @@ -923,7 +942,6 @@ } if (usb2_last_devloc != (uint32_t)(0 - 1)) { DPRINTF(-1, "Clone race!\n"); - return; } usb2_last_devloc = usb2_path_convert(name + sizeof(USB_DEVICE_NAME) - 1); @@ -941,7 +959,14 @@ usb2_dev_init(void *arg) { mtx_init(&usb2_ref_lock, "USB ref mutex", NULL, MTX_DEF); + return; +} +SYSINIT(usb2_dev_init, SI_SUB_KLD, SI_ORDER_FIRST, usb2_dev_init, NULL); + +static void +usb2_dev_init_post(void *arg) +{ /* create a dummy device so that we are visible */ usb2_dev = make_dev(&usb2_devsw, 0, UID_ROOT, GID_OPERATOR, 0000, USB_DEVICE_NAME " "); @@ -955,7 +980,7 @@ return; } -SYSINIT(usb2_dev_init, SI_SUB_KLD, SI_ORDER_FIRST, usb2_dev_init, NULL); +SYSINIT(usb2_dev_init_post, SI_SUB_KICK_SCHEDULER, SI_ORDER_FIRST, usb2_dev_init_post, NULL); static void usb2_dev_uninit(void *arg) @@ -981,7 +1006,9 @@ int fflags; int err; - DPRINTF(1, "\n"); + fflags = fp->f_flag; + + DPRINTF(1, "fflags=%u\n", fflags); err = usb2_ref_device(fp, &loc, 0);; @@ -991,6 +1018,7 @@ /* check for error */ if (err) { + DPRINTF(1, "could not ref\n"); goto done; } if (fflags & FREAD) { @@ -1062,6 +1090,9 @@ return (ENXIO); } fflags = fp->f_flag; + + DPRINTF(1, "fflags=%u, cmd=0x%lx\n", fflags, cmd); + if ((fflags & FREAD) && (err == 0)) { err = usb2_ioctl_f_sub(loc.rxfifo, cmd, addr, td); if (err) { @@ -1297,6 +1328,7 @@ f = loc.txfifo; if (f == NULL) { /* should not happen */ + usb2_unref_device(&loc); return (EPERM); } resid = uio->uio_resid; @@ -1358,6 +1390,8 @@ done: mtx_unlock(f->priv_mtx); + usb2_unref_device(&loc); + if ((flags & FOF_OFFSET) == 0) fp->f_offset = uio->uio_offset; fp->f_nextoff = uio->uio_offset; @@ -1387,6 +1421,8 @@ int usb2_fifo_wait(struct usb2_fifo *f) { + int err; + mtx_assert(f->priv_mtx, MA_OWNED); if (f->flag_iserror) { @@ -1394,13 +1430,14 @@ return (EIO); } f->flag_sleeping = 1; - cv_wait(&(f->cv_io), f->priv_mtx); + + err = cv_wait_sig(&(f->cv_io), f->priv_mtx); if (f->flag_iserror) { /* we are gone */ - return (EIO); + err = EIO; } - return (0); + return (err); } void From owner-p4-projects@FreeBSD.ORG Tue Jul 1 21:44:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E6281065690; Tue, 1 Jul 2008 21:44:55 +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 0EC381065681 for ; Tue, 1 Jul 2008 21:44:55 +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 EB4818FC0A for ; Tue, 1 Jul 2008 21:44:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61LiseG091289 for ; Tue, 1 Jul 2008 21:44:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61LisVj091287 for perforce@freebsd.org; Tue, 1 Jul 2008 21:44:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 21:44:54 GMT Message-Id: <200807012144.m61LisVj091287@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 144445 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, 01 Jul 2008 21:44:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=144445 Change 144445 by hselasky@hselasky_laptop001 on 2008/07/01 21:44:42 New USB sound module is finished and tested. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#8 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_defs.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2_reg.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/sound/usb2_sound.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/sound/usb2_sound.h#1 add .. //depot/projects/usb/src/sys/modules/usb2/sound/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_core.h#8 (text+ko) ==== @@ -391,7 +391,7 @@ struct usb2_interface_descriptor *usb2_get_interface_descriptor(struct usb2_interface *iface); uint8_t usb2_clear_stall_callback(struct usb2_xfer *xfer1, struct usb2_xfer *xfer2); uint8_t usb2_get_interface_altindex(struct usb2_interface *iface); -uint8_t usb2_get_quirk(struct usb2_attach_arg *uaa, uint16_t quirk); +usb2_error_t usb2_set_alt_interface_index(struct usb2_device *udev, uint8_t iface_index, uint8_t alt_index); uint8_t usb2_get_speed(struct usb2_device *udev); usb2_error_t usb2_transfer_setup(struct usb2_device *udev, const uint8_t *ifaces, struct usb2_xfer **pxfer, const struct usb2_config *setup_start, uint16_t n_setup, void *priv_sc, struct mtx *priv_mtx); void usb2_set_frame_data(struct usb2_xfer *xfer, void *ptr, uint32_t frindex); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#3 (text+ko) ==== @@ -147,7 +147,6 @@ usb2_error_t usb2_interface_count(struct usb2_device *udev, uint8_t *count); usb2_error_t usb2_probe_and_attach(struct usb2_device *udev, uint8_t iface_index); usb2_error_t usb2_reset_iface_endpoints(struct usb2_device *udev, uint8_t iface_index); -usb2_error_t usb2_set_alt_interface_index(struct usb2_device *udev, uint8_t iface_index, uint8_t alt_index); usb2_error_t usb2_set_config_index(struct usb2_device *udev, uint8_t index); usb2_error_t usb2_set_endpoint_stall(struct usb2_device *udev, struct usb2_pipe *pipe, uint8_t do_stall); usb2_error_t usb2_suspend_resume(struct usb2_device *udev, uint8_t do_suspend); ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_defs.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ #define USB_DEV_MAX 128 /* units */ #define USB_IFACE_MAX 32 /* units */ #define USB_EP_MAX (2*16) /* hardcoded */ -#define USB_FIFO_MAX (2 * USB_EP_MAX) +#define USB_FIFO_MAX (4 * USB_EP_MAX) #define USB_MAX_DEVICES USB_DEV_MAX /* including virtual root HUB and * address zero */ ==== //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#2 (text+ko) ==== @@ -52,18 +52,30 @@ * $NetBSD: uaudio.c,v 1.97 2005/02/24 08:19:38 martin Exp $ */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include + +#define USB_DEBUG_VAR uaudio_debug + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + #include /* for bootverbose */ -#include -#include -#include -#include - #include #include #include "feeder_if.h" @@ -72,17 +84,11 @@ #include #ifdef USB_DEBUG -#define DPRINTF(n,fmt,...) \ - do { if (uaudio_debug > (n)) { \ - printf("%s: " fmt, __FUNCTION__,## __VA_ARGS__); } } while (0) - static int uaudio_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, uaudio, CTLFLAG_RW, 0, "USB uaudio"); -SYSCTL_INT(_hw_usb_uaudio, OID_AUTO, debug, CTLFLAG_RW, +SYSCTL_NODE(_hw_usb2, OID_AUTO, uaudio, CTLFLAG_RW, 0, "USB uaudio"); +SYSCTL_INT(_hw_usb2_uaudio, OID_AUTO, debug, CTLFLAG_RW, &uaudio_debug, 0, "uaudio debug level"); -#else -#define DPRINTF(...) do { } while (0) #endif static uint32_t uaudio_default_rate = 96000; @@ -94,8 +100,6 @@ #define UAUDIO_RECURSE_LIMIT 24 /* rounds */ #define UAUDIO_DEFAULT_BUFSZ (16*1024) /* bytes */ - - #define MAKE_WORD(h,l) (((h) << 8) | (l)) #define BIT_TEST(bm,bno) (((bm)[(bno) / 8] >> (7 - ((bno) % 8))) & 1) @@ -135,16 +139,16 @@ struct pcmchan_caps pcm_cap; /* capabilities */ struct snd_dbuf *pcm_buf; - const struct usbd_config *usb_cfg; + const struct usb2_config *usb2_cfg; struct mtx *pcm_mtx; /* lock protecting this structure */ struct uaudio_softc *priv_sc; struct pcm_channel *pcm_ch; - struct usbd_xfer *xfer[UAUDIO_NCHANBUFS]; - const struct usb_audio_streaming_interface_descriptor *p_asid; - const struct usb_audio_streaming_type1_descriptor *p_asf1d; - const struct usb_audio_streaming_endpoint_descriptor *p_sed; - const usb_endpoint_descriptor_audio_t *p_ed1; - const usb_endpoint_descriptor_audio_t *p_ed2; + struct usb2_xfer *xfer[UAUDIO_NCHANBUFS]; + const struct usb2_audio_streaming_interface_descriptor *p_asid; + const struct usb2_audio_streaming_type1_descriptor *p_asf1d; + const struct usb2_audio_streaming_endpoint_descriptor *p_sed; + const usb2_endpoint_descriptor_audio_t *p_ed1; + const usb2_endpoint_descriptor_audio_t *p_ed2; const struct uaudio_format *p_fmt; uint8_t *buf; /* pointer to buffer */ @@ -170,7 +174,7 @@ #define UMIDI_BULK_SIZE 1024 /* bytes */ struct umidi_sub_chan { - struct usb_cdev cdev; + struct usb2_fifo_sc fifo; uint8_t *temp_cmd; uint8_t temp_0[4]; uint8_t temp_1[4]; @@ -193,7 +197,7 @@ struct umidi_sub_chan sub[UMIDI_CABLES_MAX]; struct mtx mtx; - struct usbd_xfer *xfer[UMIDI_N_TRANSFER]; + struct usb2_xfer *xfer[UMIDI_N_TRANSFER]; uint8_t iface_index; uint8_t iface_alt_index; @@ -217,8 +221,8 @@ struct uaudio_chan sc_play_chan; struct umidi_chan sc_midi_chan; - struct usbd_device *sc_udev; - struct usbd_xfer *sc_mixer_xfer[1]; + struct usb2_device *sc_udev; + struct usb2_xfer *sc_mixer_xfer[1]; struct mtx *sc_mixer_lock; struct uaudio_mixer_node *sc_mixer_root; struct uaudio_mixer_node *sc_mixer_curr; @@ -226,7 +230,6 @@ uint32_t sc_buffer_size; uint32_t sc_mix_info; uint32_t sc_recsrc_info; - uint32_t sc_quirks; uint16_t sc_audio_rev; uint16_t sc_mixer_count; @@ -237,7 +240,10 @@ uint8_t sc_mixer_chan; uint8_t sc_pcm_registered:1; uint8_t sc_mixer_init:1; - uint8_t sc_unused:6; + uint8_t sc_uq_audio_swap_lr:1; + uint8_t sc_uq_au_inp_async:1; + uint8_t sc_uq_au_no_xu:1; + uint8_t sc_uq_bad_adc:1; }; struct uaudio_search_result { @@ -250,14 +256,14 @@ struct uaudio_terminal_node { union { - const usb_descriptor_t *desc; - const struct usb_audio_input_terminal *it; - const struct usb_audio_output_terminal *ot; - const struct usb_audio_mixer_unit_0 *mu; - const struct usb_audio_selector_unit *su; - const struct usb_audio_feature_unit *fu; - const struct usb_audio_processing_unit_0 *pu; - const struct usb_audio_extension_unit_0 *eu; + const struct usb2_descriptor *desc; + const struct usb2_audio_input_terminal *it; + const struct usb2_audio_output_terminal *ot; + const struct usb2_audio_mixer_unit_0 *mu; + const struct usb2_audio_selector_unit *su; + const struct usb2_audio_feature_unit *fu; + const struct usb2_audio_processing_unit_0 *pu; + const struct usb2_audio_extension_unit_0 *eu; } u; struct uaudio_search_result usr; struct uaudio_terminal_node *root; @@ -307,157 +313,74 @@ static device_attach_t uaudio_attach; static device_detach_t uaudio_detach; -static usbd_callback_t uaudio_chan_play_callback; -static usbd_callback_t uaudio_chan_record_callback; -static usbd_callback_t uaudio_mixer_write_cfg_callback; -static usbd_callback_t umidi_read_clear_stall_callback; -static usbd_callback_t umidi_bulk_read_callback; -static usbd_callback_t umidi_write_clear_stall_callback; -static usbd_callback_t umidi_bulk_write_callback; +static usb2_callback_t uaudio_chan_play_callback; +static usb2_callback_t uaudio_chan_record_callback; +static usb2_callback_t uaudio_mixer_write_cfg_callback; +static usb2_callback_t umidi_read_clear_stall_callback; +static usb2_callback_t umidi_bulk_read_callback; +static usb2_callback_t umidi_write_clear_stall_callback; +static usb2_callback_t umidi_bulk_write_callback; #ifdef USB_DEBUG -static void - uaudio_chan_dump_ep_desc(const usb_endpoint_descriptor_audio_t *ed); +static void uaudio_chan_dump_ep_desc(const usb2_endpoint_descriptor_audio_t *ed); #endif -static void -uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usbd_device *udev, - uint32_t rate, uint16_t fps, uint8_t channels, - uint8_t bit_resolution); - -static void - uaudio_chan_fill_info(struct uaudio_softc *sc, struct usbd_device *udev); - -static void -uaudio_mixer_add_ctl_sub(struct uaudio_softc *sc, - struct uaudio_mixer_node *mc); -static void - uaudio_mixer_add_ctl(struct uaudio_softc *sc, struct uaudio_mixer_node *mc); +static void uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb2_device *udev, uint32_t rate, uint16_t fps, uint8_t channels, uint8_t bit_resolution); +static void uaudio_chan_fill_info(struct uaudio_softc *sc, struct usb2_device *udev); +static void uaudio_mixer_add_ctl_sub(struct uaudio_softc *sc, struct uaudio_mixer_node *mc); +static void uaudio_mixer_add_ctl(struct uaudio_softc *sc, struct uaudio_mixer_node *mc); +static void uaudio_mixer_add_input(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static void uaudio_mixer_add_output(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static void uaudio_mixer_add_mixer(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static void uaudio_mixer_add_selector(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static uint32_t uaudio_mixer_feature_get_bmaControls(const struct usb2_audio_feature_unit *d, uint8_t index); +static void uaudio_mixer_add_feature(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static void uaudio_mixer_add_processing_updown(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static void uaudio_mixer_add_processing(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static void uaudio_mixer_add_extension(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id); +static const void *uaudio_mixer_verify_desc(const void *arg, uint32_t len); -static void -uaudio_mixer_add_input(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static void -uaudio_mixer_add_output(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static void -uaudio_mixer_add_mixer(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static void -uaudio_mixer_add_selector(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static uint32_t -uaudio_mixer_feature_get_bmaControls(const struct usb_audio_feature_unit *d, - uint8_t index); -static void -uaudio_mixer_add_feature(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static void -uaudio_mixer_add_processing_updown(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, - int id); -static void -uaudio_mixer_add_processing(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static void -uaudio_mixer_add_extension(struct uaudio_softc *sc, - const struct uaudio_terminal_node *iot, int id); -static const void * - uaudio_mixer_verify_desc(const void *arg, uint32_t len); - #ifdef USB_DEBUG -static void - uaudio_mixer_dump_cluster(uint8_t id, const struct uaudio_terminal_node *iot); +static void uaudio_mixer_dump_cluster(uint8_t id, const struct uaudio_terminal_node *iot); #endif -static struct usb_audio_cluster - uaudio_mixer_get_cluster(uint8_t id, const struct uaudio_terminal_node *iot); +static struct usb2_audio_cluster uaudio_mixer_get_cluster(uint8_t id, const struct uaudio_terminal_node *iot); #ifdef USB_DEBUG -static const char * - uaudio_mixer_get_terminal_name(uint16_t terminal_type); +static const char *uaudio_mixer_get_terminal_name(uint16_t terminal_type); #endif -static uint16_t -uaudio_mixer_determine_class(const struct uaudio_terminal_node *iot, - struct uaudio_mixer_node *mix); -static uint16_t -uaudio_mixer_feature_name(const struct uaudio_terminal_node *iot, - struct uaudio_mixer_node *mix); +static uint16_t uaudio_mixer_determine_class(const struct uaudio_terminal_node *iot, struct uaudio_mixer_node *mix); +static uint16_t uaudio_mixer_feature_name(const struct uaudio_terminal_node *iot, struct uaudio_mixer_node *mix); +static const struct uaudio_terminal_node *uaudio_mixer_get_input(const struct uaudio_terminal_node *iot, uint8_t index); +static const struct uaudio_terminal_node *uaudio_mixer_get_output(const struct uaudio_terminal_node *iot, uint8_t index); +static void uaudio_mixer_find_inputs_sub(struct uaudio_terminal_node *root, const uint8_t *p_id, uint8_t n_id, struct uaudio_search_result *info); +static void uaudio_mixer_find_outputs_sub(struct uaudio_terminal_node *root, uint8_t id, uint8_t n_id, struct uaudio_search_result *info); +static void uaudio_mixer_fill_info(struct uaudio_softc *sc, struct usb2_device *udev, void *desc); +static uint16_t uaudio_mixer_get(struct usb2_device *udev, uint8_t what, struct uaudio_mixer_node *mc); +static usb2_error_t uaudio_set_speed(struct usb2_device *udev, uint8_t endpt, uint32_t speed); +static int uaudio_mixer_signext(uint8_t type, int val); +static int uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, int32_t val); -static const struct uaudio_terminal_node * - uaudio_mixer_get_input(const struct uaudio_terminal_node *iot, uint8_t index); +static void uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc, uint8_t chan, int32_t val); +static void uaudio_mixer_init(struct uaudio_softc *sc); +static uint8_t umidi_convert_to_usb(struct umidi_sub_chan *sub, uint8_t cn, uint8_t b); +static struct umidi_sub_chan *umidi_sub_by_fifo(struct usb2_fifo *fifo); +static void umidi_start_read(struct usb2_fifo *fifo); +static void umidi_stop_read(struct usb2_fifo *fifo); +static void umidi_start_write(struct usb2_fifo *fifo); +static void umidi_stop_write(struct usb2_fifo *fifo); +static int umidi_open(struct usb2_fifo *fifo, int fflags, struct thread *td); +static int umidi_ioctl(struct usb2_fifo *fifo, u_long cmd, void *data, int fflags, struct thread *td); +static void umidi_close(struct usb2_fifo *fifo, int fflags, struct thread *td); +static void umidi_init(device_t dev); +static int32_t umidi_probe(device_t dev); +static int32_t umidi_detach(device_t dev); -static const struct uaudio_terminal_node * -uaudio_mixer_get_output(const struct uaudio_terminal_node *iot, - uint8_t index); -static void -uaudio_mixer_find_inputs_sub(struct uaudio_terminal_node *root, - const uint8_t *p_id, uint8_t n_id, - struct uaudio_search_result *info); -static void -uaudio_mixer_find_outputs_sub(struct uaudio_terminal_node *root, uint8_t id, - uint8_t n_id, - struct uaudio_search_result *info); -static void -uaudio_mixer_fill_info(struct uaudio_softc *sc, struct usbd_device *udev, - void *desc); -static uint16_t -uaudio_mixer_get(struct usbd_device *udev, uint8_t what, - struct uaudio_mixer_node *mc); -static usbd_status_t - uaudio_set_speed(struct usbd_device *udev, uint8_t endpt, uint32_t speed); - -static int - uaudio_mixer_signext(uint8_t type, int val); - -static int - uaudio_mixer_bsd2value(struct uaudio_mixer_node *mc, int32_t val); - -static void -uaudio_mixer_ctl_set(struct uaudio_softc *sc, struct uaudio_mixer_node *mc, - uint8_t chan, int32_t val); -static void - uaudio_mixer_init(struct uaudio_softc *sc); - -static uint8_t - umidi_convert_to_usb(struct umidi_sub_chan *sub, uint8_t cn, uint8_t b); - -static struct umidi_sub_chan * - umidi_sub_by_cdev(struct usb_cdev *cdev); - -static void - umidi_start_read(struct usb_cdev *cdev); - -static void - umidi_stop_read(struct usb_cdev *cdev); - -static void - umidi_start_write(struct usb_cdev *cdev); - -static void - umidi_stop_write(struct usb_cdev *cdev); - -static int32_t -umidi_open(struct usb_cdev *cdev, int32_t fflags, - int32_t devtype, struct thread *td); - -static int32_t -umidi_ioctl(struct usb_cdev *cdev, u_long cmd, caddr_t data, - int32_t fflags, struct thread *td); -static void - umidi_init(device_t dev); - -static int32_t - umidi_probe(device_t dev); - -static int32_t - umidi_detach(device_t dev); - -static const struct usbd_config +static const struct usb2_config uaudio_cfg_record_full_speed[UAUDIO_NCHANBUFS] = { [0] = { .type = UE_ISOCHRONOUS, @@ -480,7 +403,7 @@ }, }; -static const struct usbd_config +static const struct usb2_config uaudio_cfg_record_high_speed[UAUDIO_NCHANBUFS] = { [0] = { .type = UE_ISOCHRONOUS, @@ -503,7 +426,7 @@ }, }; -static const struct usbd_config +static const struct usb2_config uaudio_cfg_play_full_speed[UAUDIO_NCHANBUFS] = { [0] = { .type = UE_ISOCHRONOUS, @@ -526,7 +449,7 @@ }, }; -static const struct usbd_config +static const struct usb2_config uaudio_cfg_play_high_speed[UAUDIO_NCHANBUFS] = { [0] = { .type = UE_ISOCHRONOUS, @@ -549,13 +472,13 @@ }, }; -static const struct usbd_config +static const struct usb2_config uaudio_mixer_config[1] = { [0] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = (sizeof(usb_device_request_t) + 4), + .mh.bufsize = (sizeof(struct usb2_device_request) + 4), .mh.callback = &uaudio_mixer_write_cfg_callback, .mh.timeout = 1000, /* 1 second */ }, @@ -581,7 +504,7 @@ [0xF] = 1, /* bytes */ }; -static const struct usbd_config +static const struct usb2_config umidi_config[UMIDI_N_TRANSFER] = { [0] = { .type = UE_BULK, @@ -605,7 +528,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &umidi_write_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ @@ -616,7 +539,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &umidi_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ @@ -646,34 +569,29 @@ static int uaudio_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct usb2_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); - } - if (uaa->iface == NULL) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - id = usbd_get_interface_descriptor(uaa->iface); - /* trigger on the control interface */ - if ((id == NULL) || - (id->bInterfaceClass != UICLASS_AUDIO) || - (id->bInterfaceSubClass != UISUBCLASS_AUDIOCONTROL) || - (usbd_get_quirks(uaa->device)->uq_flags & UQ_BAD_AUDIO)) { - return (UMATCH_NONE); + if ((uaa->info.bInterfaceClass == UICLASS_AUDIO) && + (uaa->info.bInterfaceSubClass == UISUBCLASS_AUDIOCONTROL)) { + if (usb2_test_quirk(uaa, UQ_BAD_AUDIO)) + return (ENXIO); + else + return (0); } - return (UMATCH_IFACECLASS_IFACESUBCLASS); + return (ENXIO); } static int uaudio_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct uaudio_softc *sc = device_get_softc(dev); - usb_interface_descriptor_t *id; + struct usb2_interface_descriptor *id; device_t child; if (sc == NULL) { @@ -682,20 +600,31 @@ sc->sc_play_chan.priv_sc = sc; sc->sc_rec_chan.priv_sc = sc; sc->sc_udev = uaa->device; - sc->sc_quirks = usbd_get_quirks(uaa->device)->uq_flags; + + if (usb2_test_quirk(uaa, UQ_AUDIO_SWAP_LR)) + sc->sc_uq_audio_swap_lr = 1; + + if (usb2_test_quirk(uaa, UQ_AU_INP_ASYNC)) + sc->sc_uq_au_inp_async = 1; + + if (usb2_test_quirk(uaa, UQ_AU_NO_XU)) + sc->sc_uq_au_no_xu = 1; + + if (usb2_test_quirk(uaa, UQ_BAD_ADC)) + sc->sc_uq_bad_adc = 1; umidi_init(dev); - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); - id = usbd_get_interface_descriptor(uaa->iface); + id = usb2_get_interface_descriptor(uaa->iface); uaudio_chan_fill_info(sc, uaa->device); uaudio_mixer_fill_info(sc, uaa->device, id); - sc->sc_mixer_iface_index = uaa->iface_index; - sc->sc_mixer_iface_no = id->bInterfaceNumber; + sc->sc_mixer_iface_index = uaa->info.bIfaceIndex; + sc->sc_mixer_iface_no = uaa->info.bIfaceNum; DPRINTF(0, "audio rev %d.%02x\n", sc->sc_audio_rev >> 8, @@ -782,7 +711,7 @@ } uaudio_mixer_init(sc); - if (sc->sc_quirks & UQ_AUDIO_SWAP_LR) { + if (sc->sc_uq_audio_swap_lr) { DPRINTF(0, "hardware has swapped left and right\n"); uaudio_pcm_setflags(dev, SD_F_PSWAPLR); } @@ -868,7 +797,7 @@ #ifdef USB_DEBUG static void -uaudio_chan_dump_ep_desc(const usb_endpoint_descriptor_audio_t *ed) +uaudio_chan_dump_ep_desc(const usb2_endpoint_descriptor_audio_t *ed) { if (ed) { DPRINTF(0, "endpoint=%p bLength=%d bDescriptorType=%d \n" @@ -886,18 +815,18 @@ #endif static void -uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usbd_device *udev, +uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb2_device *udev, uint32_t rate, uint16_t fps, uint8_t channels, uint8_t bit_resolution) { - usb_descriptor_t *desc = NULL; - const struct usb_audio_streaming_interface_descriptor *asid = NULL; - const struct usb_audio_streaming_type1_descriptor *asf1d = NULL; - const struct usb_audio_streaming_endpoint_descriptor *sed = NULL; - const usb_endpoint_descriptor_audio_t *ed1 = NULL; - const usb_endpoint_descriptor_audio_t *ed2 = NULL; - usb_config_descriptor_t *cd = usbd_get_config_descriptor(udev); - usb_interface_descriptor_t *id; + struct usb2_descriptor *desc = NULL; + const struct usb2_audio_streaming_interface_descriptor *asid = NULL; + const struct usb2_audio_streaming_type1_descriptor *asf1d = NULL; + const struct usb2_audio_streaming_endpoint_descriptor *sed = NULL; + const usb2_endpoint_descriptor_audio_t *ed1 = NULL; + const usb2_endpoint_descriptor_audio_t *ed2 = NULL; + struct usb2_config_descriptor *cd = usb2_get_config_descriptor(udev); + struct usb2_interface_descriptor *id; const struct uaudio_format *p_fmt; struct uaudio_chan *chan; uint16_t curidx = 0xFFFF; @@ -913,7 +842,7 @@ uint8_t audio_if = 0; uint8_t sample_size; - while ((desc = usbd_desc_foreach(cd, desc))) { + while ((desc = usb2_desc_foreach(cd, desc))) { if ((desc->bDescriptorType == UDESC_INTERFACE) && (desc->bLength >= sizeof(*id))) { @@ -945,7 +874,7 @@ */ if ((sc->sc_midi_chan.valid == 0) && - usbd_get_iface(udev, curidx)) { + usb2_get_iface(udev, curidx)) { sc->sc_midi_chan.iface_index = curidx; sc->sc_midi_chan.iface_alt_index = alt_index; sc->sc_midi_chan.valid = 1; @@ -1028,7 +957,7 @@ ep_type = UE_GET_ISO_TYPE(ed1->bmAttributes); ep_sync = 0; - if ((sc->sc_quirks & UQ_AU_INP_ASYNC) && + if ((sc->sc_uq_au_inp_async) && (ep_dir == UE_DIR_IN) && (ep_type == UE_ISO_ADAPT)) { ep_type = UE_ISO_ASYNC; } @@ -1105,7 +1034,7 @@ &(sc->sc_rec_chan) : &(sc->sc_play_chan); - if ((chan->valid == 0) && usbd_get_iface(udev, curidx)) { + if ((chan->valid == 0) && usb2_get_iface(udev, curidx)) { chan->valid = 1; #ifdef USB_DEBUG @@ -1133,7 +1062,7 @@ chan->iface_index = curidx; chan->iface_alt_index = alt_index; - chan->usb_cfg = + chan->usb2_cfg = (ep_dir == UE_DIR_IN) ? ((fps == 1000) ? uaudio_cfg_record_full_speed : @@ -1167,11 +1096,11 @@ } static void -uaudio_chan_fill_info(struct uaudio_softc *sc, struct usbd_device *udev) +uaudio_chan_fill_info(struct uaudio_softc *sc, struct usb2_device *udev) { uint32_t rate = uaudio_default_rate; uint32_t z; - uint16_t fps = (usbd_get_speed(udev) == USB_SPEED_HIGH) ? 8000 : 1000; + uint16_t fps = (usb2_get_speed(udev) == USB_SPEED_HIGH) ? 8000 : 1000; uint8_t bits = uaudio_default_bits; uint8_t y; uint8_t channels = uaudio_default_channels; @@ -1206,7 +1135,7 @@ } static void -uaudio_chan_play_callback(struct usbd_xfer *xfer) +uaudio_chan_play_callback(struct usb2_xfer *xfer) { struct uaudio_chan *ch = xfer->priv_sc; uint32_t *p_len = xfer->frlengths; @@ -1214,8 +1143,8 @@ uint32_t total = (ch->bytes_per_frame * xfer->nframes); uint32_t offset; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: tr_transferred: if (xfer->actlen < xfer->sumlen) { DPRINTF(0, "short transfer, " @@ -1223,7 +1152,7 @@ } chn_intr(ch->pcm_ch); - case USBD_ST_SETUP: + case USB_ST_SETUP: if (ch->bytes_per_frame > xfer->max_frame_size) { DPRINTF(0, "bytes per transfer, %d, " "exceeds maximum, %d!\n", @@ -1249,7 +1178,7 @@ if (n > total) { n = total; } - usbd_copy_in(xfer->frbuffers, offset, ch->cur, n); + usb2_copy_in(xfer->frbuffers, offset, ch->cur, n); total -= n; ch->cur += n; @@ -1260,11 +1189,11 @@ } } - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { + if (xfer->error == USB_ERR_CANCELLED) { return; } goto tr_transferred; @@ -1272,7 +1201,7 @@ } static void -uaudio_chan_record_callback(struct usbd_xfer *xfer) +uaudio_chan_record_callback(struct usb2_xfer *xfer) { struct uaudio_chan *ch = xfer->priv_sc; uint32_t *p_len = xfer->frlengths; @@ -1282,8 +1211,8 @@ uint32_t offset0; uint32_t offset1; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: tr_transferred: if (xfer->actlen < total) { DPRINTF(0, "short transfer, " @@ -1305,7 +1234,7 @@ if (m > p_len[n]) { m = p_len[n]; } - usbd_copy_out(xfer->frbuffers, offset1, ch->cur, m); + usb2_copy_out(xfer->frbuffers, offset1, ch->cur, m); p_len[n] -= m; offset1 += m; @@ -1321,7 +1250,7 @@ chn_intr(ch->pcm_ch); - case USBD_ST_SETUP: + case USB_ST_SETUP: if (ch->bytes_per_frame > xfer->max_frame_size) { DPRINTF(0, "bytes per transfer, %d, " "exceeds maximum, %d!\n", @@ -1337,11 +1266,11 @@ DPRINTF(0, "no buffer!\n"); return; } - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { + if (xfer->error == USB_ERR_CANCELLED) { return; } goto tr_transferred; @@ -1357,7 +1286,7 @@ uint8_t endpoint; uint8_t iface_index; uint8_t alt_index; - usbd_status_t err; + usb2_error_t err; ch->buf = malloc(sc->sc_buffer_size, M_DEVBUF, M_WAITOK | M_ZERO); @@ -1405,13 +1334,13 @@ DPRINTF(0, "endpoint=0x%02x, speed=%d, iface=%d alt=%d\n", endpoint, ch->sample_rate, iface_index, alt_index); - err = usbd_set_alt_interface_index(sc->sc_udev, iface_index, alt_index); + err = usb2_set_alt_interface_index(sc->sc_udev, iface_index, alt_index); if (err) { DPRINTF(0, "setting of alternate index failed: %s!\n", - usbd_errstr(err)); + usb2_errstr(err)); goto error; } - USBD_SET_IFACE_NO_PROBE(sc->sc_udev, iface_index); + usb2_set_parent_iface(sc->sc_udev, iface_index, sc->sc_mixer_iface_index); /* * If just one sampling rate is supported, @@ -1427,8 +1356,8 @@ DPRINTF(0, "setting of sample rate failed! (continuing anyway)\n"); } } - if (usbd_transfer_setup(sc->sc_udev, &iface_index, ch->xfer, - ch->usb_cfg, UAUDIO_NCHANBUFS, ch, ch->pcm_mtx)) { + if (usb2_transfer_setup(sc->sc_udev, &iface_index, ch->xfer, + ch->usb2_cfg, UAUDIO_NCHANBUFS, ch, ch->pcm_mtx)) { DPRINTF(0, "could not allocate USB transfers!\n"); goto error; } @@ -1446,7 +1375,7 @@ free(ch->buf, M_DEVBUF); ch->buf = NULL; } - usbd_transfer_unsetup(ch->xfer, UAUDIO_NCHANBUFS); + usb2_transfer_unsetup(ch->xfer, UAUDIO_NCHANBUFS); ch->valid = 0; @@ -1533,10 +1462,10 @@ #error "please update code" #endif if (ch->xfer[0]) { - usbd_transfer_start(ch->xfer[0]); + usb2_transfer_start(ch->xfer[0]); } if (ch->xfer[1]) { - usbd_transfer_start(ch->xfer[1]); + usb2_transfer_start(ch->xfer[1]); } return (0); } @@ -1547,8 +1476,8 @@ #if (UAUDIO_NCHANBUFS != 2) #error "please update code" #endif - usbd_transfer_stop(ch->xfer[0]); - usbd_transfer_stop(ch->xfer[1]); + usb2_transfer_stop(ch->xfer[0]); + usb2_transfer_stop(ch->xfer[1]); return (0); } @@ -1639,7 +1568,7 @@ const struct uaudio_terminal_node *iot, int id) { #ifdef USB_DEBUG - const struct usb_audio_input_terminal *d = iot[id].u.it; + const struct usb2_audio_input_terminal *d = iot[id].u.it; DPRINTF(2, "bTerminalId=%d wTerminalType=0x%04x " "bAssocTerminal=%d bNrChannels=%d wChannelConfig=%d " @@ -1656,7 +1585,7 @@ const struct uaudio_terminal_node *iot, int id) { #ifdef USB_DEBUG - const struct usb_audio_output_terminal *d = iot[id].u.ot; + const struct usb2_audio_output_terminal *d = iot[id].u.ot; DPRINTF(2, "bTerminalId=%d wTerminalType=0x%04x " "bAssocTerminal=%d bSourceId=%d iTerminal=%d\n", @@ -1672,8 +1601,8 @@ { struct uaudio_mixer_node mix; - const struct usb_audio_mixer_unit_0 *d0 = iot[id].u.mu; - const struct usb_audio_mixer_unit_1 *d1; + const struct usb2_audio_mixer_unit_0 *d0 = iot[id].u.mu; + const struct usb2_audio_mixer_unit_1 *d1; uint32_t bno; /* bit number */ uint32_t p; /* bit number accumulator */ @@ -1756,7 +1685,7 @@ uaudio_mixer_add_selector(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id) { - const struct usb_audio_selector_unit *d = iot[id].u.su; + const struct usb2_audio_selector_unit *d = iot[id].u.su; struct uaudio_mixer_node mix; struct uaudio_mixer_node dummy; uint16_t i; @@ -1797,7 +1726,7 @@ } static uint32_t -uaudio_mixer_feature_get_bmaControls(const struct usb_audio_feature_unit *d, +uaudio_mixer_feature_get_bmaControls(const struct usb2_audio_feature_unit *d, uint8_t index) { uint32_t temp = 0; @@ -1822,7 +1751,7 @@ uaudio_mixer_add_feature(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id) { - const struct usb_audio_feature_unit *d = iot[id].u.fu; + const struct usb2_audio_feature_unit *d = iot[id].u.fu; struct uaudio_mixer_node mix; uint32_t fumask; uint32_t mmask; @@ -1949,10 +1878,10 @@ uaudio_mixer_add_processing_updown(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id) { - const struct usb_audio_processing_unit_0 *d0 = iot[id].u.pu; - const struct usb_audio_processing_unit_1 *d1 = + const struct usb2_audio_processing_unit_0 *d0 = iot[id].u.pu; + const struct usb2_audio_processing_unit_1 *d1 = (const void *)(d0->baSourceId + d0->bNrInPins); - const struct usb_audio_processing_unit_updown *ud = + const struct usb2_audio_processing_unit_updown *ud = (const void *)(d1->bmControls + d1->bControlSize); struct uaudio_mixer_node mix; uint8_t i; @@ -1992,8 +1921,8 @@ uaudio_mixer_add_processing(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id) { - const struct usb_audio_processing_unit_0 *d0 = iot[id].u.pu; - const struct usb_audio_processing_unit_1 *d1 = + const struct usb2_audio_processing_unit_0 *d0 = iot[id].u.pu; + const struct usb2_audio_processing_unit_1 *d1 = (const void *)(d0->baSourceId + d0->bNrInPins); struct uaudio_mixer_node mix; uint16_t ptype; @@ -2038,15 +1967,15 @@ uaudio_mixer_add_extension(struct uaudio_softc *sc, const struct uaudio_terminal_node *iot, int id) { - const struct usb_audio_extension_unit_0 *d0 = iot[id].u.eu; - const struct usb_audio_extension_unit_1 *d1 = + const struct usb2_audio_extension_unit_0 *d0 = iot[id].u.eu; + const struct usb2_audio_extension_unit_1 *d1 = (const void *)(d0->baSourceId + d0->bNrInPins); struct uaudio_mixer_node mix; DPRINTF(2, "bUnitId=%d bNrInPins=%d\n", d0->bUnitId, d0->bNrInPins); - if (sc->sc_quirks & UQ_AU_NO_XU) { + if (sc->sc_uq_au_no_xu) { return; } if (d1->bControlSize == 0) { @@ -2070,19 +1999,19 @@ static const void * uaudio_mixer_verify_desc(const void *arg, uint32_t len) { - const struct usb_audio_mixer_unit_1 *d1; - const struct usb_audio_extension_unit_1 *e1; - const struct usb_audio_processing_unit_1 *u1; + const struct usb2_audio_mixer_unit_1 *d1; + const struct usb2_audio_extension_unit_1 *e1; + const struct usb2_audio_processing_unit_1 *u1; union { - const usb_descriptor_t *desc; - const struct usb_audio_input_terminal *it; - const struct usb_audio_output_terminal *ot; - const struct usb_audio_mixer_unit_0 *mu; - const struct usb_audio_selector_unit *su; - const struct usb_audio_feature_unit *fu; - const struct usb_audio_processing_unit_0 *pu; - const struct usb_audio_extension_unit_0 *eu; + const struct usb2_descriptor *desc; + const struct usb2_audio_input_terminal *it; + const struct usb2_audio_output_terminal *ot; + const struct usb2_audio_mixer_unit_0 *mu; + const struct usb2_audio_selector_unit *su; + const struct usb2_audio_feature_unit *fu; + const struct usb2_audio_processing_unit_0 *pu; + const struct usb2_audio_extension_unit_0 *eu; } u; u.desc = arg; @@ -2206,7 +2135,7 @@ }; uint16_t cc; uint8_t i; - const struct usb_audio_cluster cl = uaudio_mixer_get_cluster(id, iot); + const struct usb2_audio_cluster cl = uaudio_mixer_get_cluster(id, iot); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 1 23:36:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 940EF1065671; Tue, 1 Jul 2008 23:36: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 5602F106568A for ; Tue, 1 Jul 2008 23:36:53 +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 3ED818FC17 for ; Tue, 1 Jul 2008 23:36:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61NarDa002648 for ; Tue, 1 Jul 2008 23:36:53 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61Narvo002646 for perforce@freebsd.org; Tue, 1 Jul 2008 23:36:53 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 23:36:53 GMT Message-Id: <200807012336.m61Narvo002646@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 144450 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, 01 Jul 2008 23:36:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=144450 Change 144450 by hselasky@hselasky_laptop001 on 2008/07/01 23:36:42 Workaround panic at USB sound device detach during playback! There might be a deadlock situation here if the USB sound device is located on the same HUB like the mouse and keyboard, and the HUB is detached, but else this works fine and is better than nothing. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#3 (text+ko) ==== @@ -661,11 +661,6 @@ device_printf(dev, "No midi sequencer\n"); } - if (sc->sc_play_chan.valid || - sc->sc_rec_chan.valid) { - device_printf(dev, "WARNING: Unplugging the device while " - "it is in use will cause a panic!\n"); - } DPRINTF(0, "doing child attach\n"); /* attach the children */ @@ -760,6 +755,7 @@ struct uaudio_softc *sc = device_get_softc(device_get_parent(dev)); int error = 0; +repeat: if (sc->sc_pcm_registered) { error = pcm_unregister(dev); } else { @@ -769,8 +765,11 @@ } if (error) { - panic("Please don't detach your sound device " - "while it is in use. This is not supported yet!\n"); + device_printf(dev, "Waiting for sound application to exit!\n"); + mtx_lock(&Giant); + usb2_pause_mtx(&Giant, 2000); + mtx_unlock(&Giant); + goto repeat; /* try again */ } return (0); /* success */ } From owner-p4-projects@FreeBSD.ORG Tue Jul 1 23:43:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8C6D1065677; Tue, 1 Jul 2008 23:42: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 9A19E1065688 for ; Tue, 1 Jul 2008 23:42:59 +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 815038FC12 for ; Tue, 1 Jul 2008 23:42:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m61NgxG8003400 for ; Tue, 1 Jul 2008 23:42:59 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m61NgxUU003398 for perforce@freebsd.org; Tue, 1 Jul 2008 23:42:59 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 Jul 2008 23:42:59 GMT Message-Id: <200807012342.m61NgxUU003398@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 144451 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, 01 Jul 2008 23:43:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=144451 Change 144451 by hselasky@hselasky_laptop001 on 2008/07/01 23:42:40 - Fix some synchronisation issues. - Remove a debug "usb2_pause_mtx()". - Add code to automatically decide if IOCTLs should be merged or split when two USB FIFOs are opened in Read+Write mode. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/at91dci_atmelarm.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2_pci.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_atmelarm.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_pci.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uhci2_pci.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_bus.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_pccard.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#7 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#7 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/at91dci_atmelarm.c#4 (text+ko) ==== @@ -210,7 +210,6 @@ goto error; } device_set_ivars(sc->sc_dci.sc_bus.bdev, &(sc->sc_dci.sc_bus)); - device_set_softc(sc->sc_dci.sc_bus.bdev, &(sc->sc_dci.sc_bus)); err = usb2_config_td_setup(&(sc->sc_dci.sc_config_td), sc, &(sc->sc_dci.sc_bus.mtx), NULL, 0, 4); ==== //depot/projects/usb/src/sys/dev/usb2/controller/ehci2_pci.c#4 (text+ko) ==== @@ -287,7 +287,6 @@ goto error; } device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); - device_set_softc(sc->sc_bus.bdev, &sc->sc_bus); /* * ehci_pci_match will never return NULL if ehci_pci_probe ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_atmelarm.c#4 (text) ==== @@ -108,7 +108,6 @@ goto error; } device_set_ivars(sc->sc_ohci.sc_bus.bdev, &(sc->sc_ohci.sc_bus)); - device_set_softc(sc->sc_ohci.sc_bus.bdev, &(sc->sc_ohci.sc_bus)); strlcpy(sc->sc_ohci.sc_vendor, "Atmel", sizeof(sc->sc_ohci.sc_vendor)); ==== //depot/projects/usb/src/sys/dev/usb2/controller/ohci2_pci.c#4 (text+ko) ==== @@ -235,7 +235,6 @@ goto error; } device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); - device_set_softc(sc->sc_bus.bdev, &sc->sc_bus); /* * ohci_pci_match will never return NULL if ohci_pci_probe ==== //depot/projects/usb/src/sys/dev/usb2/controller/uhci2_pci.c#4 (text+ko) ==== @@ -288,7 +288,6 @@ goto error; } device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); - device_set_softc(sc->sc_bus.bdev, &sc->sc_bus); /* * uhci_pci_match must never return NULL if uhci_pci_probe ==== //depot/projects/usb/src/sys/dev/usb2/controller/usb2_bus.h#2 (text+ko) ==== @@ -75,7 +75,6 @@ uint8_t usbrev; /* USB revision. See "USB_REV_XXX". */ uint8_t devices_max; /* maximum number of USB devices */ - uint8_t ready; /* set when USB BUS is ready */ uint8_t do_probe; /* set if USB BUS should be re-probed */ union { ==== //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#4 (text+ko) ==== @@ -50,7 +50,6 @@ static void usb2_attach_sub(device_t dev, struct usb2_bus *bus); static void usb2_post_init(void *arg); -static void usb2_bus_init(void *arg); static void usb2_bus_mem_flush_all_cb(struct usb2_bus *bus, struct usb2_page_cache *pc, struct usb2_page *pg, uint32_t size, uint32_t align); static void usb2_bus_mem_alloc_all_cb(struct usb2_bus *bus, struct usb2_page_cache *pc, struct usb2_page *pg, uint32_t size, uint32_t align); static void usb2_bus_mem_free_all_cb(struct usb2_bus *bus, struct usb2_page_cache *pc, struct usb2_page *pg, uint32_t size, uint32_t align); @@ -112,19 +111,20 @@ static int usb2_attach(device_t dev) { - struct usb2_bus *bus = device_get_softc(dev); + struct usb2_bus *bus = device_get_ivars(dev); DPRINTF(0, "\n"); - mtx_lock(&Giant); + if (bus == NULL) { + DPRINTF(-1, "USB device has no ivars\n"); + return (ENXIO); + } if (usb2_post_init_called) { mtx_lock(&Giant); usb2_attach_sub(dev, bus); mtx_unlock(&Giant); usb2_needs_explore(bus, 1); } - mtx_unlock(&Giant); - return (0); /* return success */ } @@ -138,6 +138,10 @@ DPRINTF(0, "\n"); + if (bus == NULL) { + /* was never setup properly */ + return (0); + } /* Let the USB explore process detach all devices. */ mtx_lock(&(bus->mtx)); @@ -156,9 +160,6 @@ usb2_proc_unsetup(&(bus->explore_proc)); - /* clear the softc */ - device_set_softc(dev, NULL); - return (0); } @@ -218,8 +219,10 @@ bus = ((struct usb2_bus_msg *)pm)->bus; udev = bus->devices[USB_ROOT_HUB_ADDR]; dev = bus->bdev; + /* clear the softc */ + device_set_softc(dev, NULL); + /* clear bdev variable */ bus->bdev = NULL; - bus->ready = 0; mtx_unlock(&(bus->mtx)); mtx_lock(&Giant); @@ -231,7 +234,9 @@ * Free USB Root device, but not any sub-devices, hence they * are freed by the caller of this function: */ + sx_xlock(udev->default_sx + 1); usb2_detach_device(udev, USB_IFACE_INDEX_ANY, 0); + sx_unlock(udev->default_sx + 1); usb2_free_device(udev); mtx_unlock(&Giant); @@ -320,8 +325,8 @@ &(bus->mtx), USB_PRI_MED)) { printf("WARNING: Creation of USB explore process failed.\n"); } - /* set ready flag */ - bus->ready = 1; + /* set softc - we are ready */ + device_set_softc(dev, bus); return; } @@ -342,16 +347,20 @@ mtx_lock(&Giant); + usb2_devclass_ptr = devclass_find("usbus"); + dc = usb2_devclass_ptr; if (dc) { max = devclass_get_maxunit(dc) + 1; for (n = 0; n != max; n++) { dev = devclass_get_device(dc, n); if (dev && device_is_attached(dev)) { - bus = device_get_softc(dev); - mtx_lock(&Giant); - usb2_attach_sub(dev, bus); - mtx_unlock(&Giant); + bus = device_get_ivars(dev); + if (bus) { + mtx_lock(&Giant); + usb2_attach_sub(dev, bus); + mtx_unlock(&Giant); + } } } } else { @@ -369,21 +378,6 @@ } SYSINIT(usb2_post_init, SI_SUB_KICK_SCHEDULER, SI_ORDER_ANY, usb2_post_init, NULL); - -/*------------------------------------------------------------------------* - * usb2_bus_init - * - * This function is called before the USB system is started. - *------------------------------------------------------------------------*/ -static void -usb2_bus_init(void *arg) -{ - /* register our devclass */ - usb2_devclass_ptr = devclass_find("usbus"); - return; -} - -SYSINIT(usb2_bus_init, SI_SUB_DRIVERS, SI_ORDER_FIRST, usb2_bus_init, NULL); SYSUNINIT(usb2_bus_unload, SI_SUB_KLD, SI_ORDER_ANY, usb2_bus_unload, NULL); /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb2/controller/uss820dci_pccard.c#4 (text+ko) ==== @@ -189,7 +189,6 @@ goto error; } device_set_ivars(sc->sc_bus.bdev, &(sc->sc_bus)); - device_set_softc(sc->sc_bus.bdev, &(sc->sc_bus)); err = usb2_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_bus.mtx), NULL, 0, 4); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#7 (text+ko) ==== @@ -314,10 +314,6 @@ DPRINTF(1, "no bus\n"); goto error; } - if (ploc->bus->ready == 0) { - DPRINTF(1, "not ready\n"); - goto error; - } if (ploc->dev_index >= ploc->bus->devices_max) { DPRINTF(1, "invalid dev index\n"); goto error; @@ -941,7 +937,11 @@ return; } if (usb2_last_devloc != (uint32_t)(0 - 1)) { - DPRINTF(-1, "Clone race!\n"); + /* + * XXX can we assume that the clone and open operation is + * atomic ? + */ + DPRINTF(1, "Clone race!\n"); } usb2_last_devloc = usb2_path_convert(name + sizeof(USB_DEVICE_NAME) - 1); @@ -1083,7 +1083,10 @@ { struct usb2_location loc; int fflags; + int err_rx; + int err_tx; int err; + uint8_t is_common = 0; err = usb2_ref_device(fp, &loc, 0);; if (err) { @@ -1093,19 +1096,49 @@ DPRINTF(1, "fflags=%u, cmd=0x%lx\n", fflags, cmd); - if ((fflags & FREAD) && (err == 0)) { - err = usb2_ioctl_f_sub(loc.rxfifo, cmd, addr, td); - if (err) { - err = (loc.rxfifo->methods->f_ioctl) ( - loc.rxfifo, cmd, addr, fflags & ~FWRITE, td); + if (fflags & FREAD) { + if (fflags & FWRITE) { + /* + * Automagically figure out if we have an IOCTL that + * should not be replicated to both FIFOs: + */ + if ((loc.rxfifo->priv_sc0 == + loc.txfifo->priv_sc0) && + (loc.rxfifo->priv_sc1 == + loc.txfifo->priv_sc1) && + (loc.rxfifo->methods == + loc.txfifo->methods)) { + is_common = 1; + } + } + err_rx = usb2_ioctl_f_sub(loc.rxfifo, cmd, addr, td); + if (err_rx == ENOTTY) { + err_rx = (loc.rxfifo->methods->f_ioctl) ( + loc.rxfifo, cmd, addr, + is_common ? fflags : (fflags & ~FWRITE), td); } + } else { + err_rx = 0; } - if ((fflags & FWRITE) && (err == 0)) { - err = usb2_ioctl_f_sub(loc.txfifo, cmd, addr, td); - if (err) { - err = (loc.txfifo->methods->f_ioctl) ( - loc.txfifo, cmd, addr, fflags & ~FREAD, td); + if (fflags & FWRITE) { + err_tx = usb2_ioctl_f_sub(loc.txfifo, cmd, addr, td); + if (err_tx == ENOTTY) { + if (is_common) + err_tx = 0; /* already handled this IOCTL */ + else + err_tx = (loc.txfifo->methods->f_ioctl) ( + loc.txfifo, cmd, addr, fflags & ~FREAD, td); } + } else { + err_tx = 0; + } + + if (err_rx) { + err = err_rx; + } else if (err_tx) { + err = err_tx; + } else { + err = 0; /* no error */ } usb2_unref_device(&loc); return (err); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#5 (text+ko) ==== @@ -571,9 +571,6 @@ DPRINTF(0, "characteristics=0x%04x\n", UGETW(hd.wHubCharacteristics)); } else { - - usb2_pause_mtx(&Giant, 100); - err = usb2_req_get_device_status (udev, &Giant, &ds); if (err) { ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#7 (text+ko) ==== @@ -1282,8 +1282,8 @@ { DPRINTF(0, "\n"); - if (bus->ready == 0) { - DPRINTF(0, "BUS is not ready\n"); + if (bus == NULL) { + DPRINTF(0, "No bus pointer!\n"); return; } mtx_lock(&(bus->mtx)); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#8 (text+ko) ==== @@ -1885,6 +1885,14 @@ if (pq->curr == xfer) { /* start the next USB transfer, if any */ usb2_command_wrapper(pq, NULL); + + if (pq->curr || TAILQ_FIRST(&(pq->head))) { + /* there is another USB transfer waiting */ + } else { + /* this is the last USB transfer */ + /* clear isochronous sync flag */ + xfer->pipe->is_synced = 0; + } } } /* keep some statistics */ @@ -1896,13 +1904,6 @@ [xfer->pipe->edesc->bmAttributes & UE_XFERTYPE]++; } - /* - * if this is the last USB transfer on the PIPE queue we are no - * longer synced: - */ - if (TAILQ_FIRST(&(xfer->pipe->pipe_q.head)) == NULL) { - xfer->pipe->is_synced = 0; - } /* call the USB transfer callback */ usb2_command_wrapper(&(xfer->usb2_root->done_q), xfer); return; From owner-p4-projects@FreeBSD.ORG Wed Jul 2 01:12:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6EBA106567C; Wed, 2 Jul 2008 01:12: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 65E1D106568A for ; Wed, 2 Jul 2008 01:12:36 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4C4508FC14 for ; Wed, 2 Jul 2008 01:12:36 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m621CaUs023455 for ; Wed, 2 Jul 2008 01:12:36 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m621CVOM023449 for perforce@freebsd.org; Wed, 2 Jul 2008 01:12:31 GMT (envelope-from peter-gmail@wemm.org) Date: Wed, 2 Jul 2008 01:12:31 GMT Message-Id: <200807020112.m621CVOM023449@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 144452 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, 02 Jul 2008 01:12:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=144452 Change 144452 by peter@peter_daintree on 2008/07/02 01:12:05 IFC @144449 Affected files ... .. //depot/projects/bike_sched/sys/Makefile#5 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/bpf_jit_machdep.c#2 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/bpf_jit_machdep.h#2 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/exception.S#4 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/mem.c#3 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/minidump_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/bike_sched/sys/amd64/amd64/trap.c#6 integrate .. //depot/projects/bike_sched/sys/amd64/conf/GENERIC#8 integrate .. //depot/projects/bike_sched/sys/amd64/conf/NOTES#8 integrate .. //depot/projects/bike_sched/sys/amd64/include/clock.h#6 integrate .. //depot/projects/bike_sched/sys/amd64/include/iodev.h#2 integrate .. //depot/projects/bike_sched/sys/amd64/include/memdev.h#2 integrate .. //depot/projects/bike_sched/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/bike_sched/sys/amd64/include/pmap.h#4 integrate .. //depot/projects/bike_sched/sys/amd64/include/pmc_mdep.h#3 integrate .. //depot/projects/bike_sched/sys/amd64/include/stack.h#2 integrate .. //depot/projects/bike_sched/sys/amd64/include/vmparam.h#4 integrate .. //depot/projects/bike_sched/sys/amd64/isa/clock.c#7 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_proto.h#7 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_syscall.h#7 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/linux32_sysent.c#7 integrate .. //depot/projects/bike_sched/sys/amd64/linux32/syscalls.master#7 integrate .. //depot/projects/bike_sched/sys/arm/arm/identcpu.c#3 integrate .. //depot/projects/bike_sched/sys/arm/arm/intr.c#5 integrate .. //depot/projects/bike_sched/sys/arm/arm/machdep.c#5 integrate .. //depot/projects/bike_sched/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/bike_sched/sys/arm/at91/at91.c#4 integrate .. //depot/projects/bike_sched/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/bike_sched/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/bike_sched/sys/arm/at91/uart_dev_at91usart.c#6 integrate .. //depot/projects/bike_sched/sys/arm/conf/AVILA#6 integrate .. //depot/projects/bike_sched/sys/arm/conf/BWCT#4 integrate .. //depot/projects/bike_sched/sys/arm/conf/CRB#4 integrate .. //depot/projects/bike_sched/sys/arm/conf/EP80219#4 integrate .. //depot/projects/bike_sched/sys/arm/conf/GUMSTIX#1 branch .. //depot/projects/bike_sched/sys/arm/conf/GUMSTIX.hints#1 branch .. //depot/projects/bike_sched/sys/arm/conf/HL200#4 integrate .. //depot/projects/bike_sched/sys/arm/conf/IQ31244#6 integrate .. //depot/projects/bike_sched/sys/arm/conf/KB920X#7 integrate .. //depot/projects/bike_sched/sys/arm/conf/SIMICS#6 integrate .. //depot/projects/bike_sched/sys/arm/conf/SKYEYE#6 integrate .. //depot/projects/bike_sched/sys/arm/include/intr.h#3 integrate .. //depot/projects/bike_sched/sys/arm/include/memdev.h#2 integrate .. //depot/projects/bike_sched/sys/arm/sa11x0/sa11x0_ost.c#3 integrate .. //depot/projects/bike_sched/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/arm/xscale/i8134x/i81342_pci.c#2 integrate .. //depot/projects/bike_sched/sys/arm/xscale/pxa/files.pxa#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/if_smc_smi.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_gpio.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_icu.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_machdep.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_obio.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_smi.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_space.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxa_timer.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxareg.h#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/pxavar.h#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/std.pxa#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/uart_bus_pxa.c#1 branch .. //depot/projects/bike_sched/sys/arm/xscale/pxa/uart_cpu_pxa.c#1 branch .. //depot/projects/bike_sched/sys/boot/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/bike_sched/sys/boot/common/ufsread.c#3 integrate .. //depot/projects/bike_sched/sys/boot/efi/Makefile.inc#2 integrate .. //depot/projects/bike_sched/sys/boot/forth/loader.conf#5 integrate .. //depot/projects/bike_sched/sys/boot/i386/Makefile.inc#3 integrate .. //depot/projects/bike_sched/sys/boot/i386/boot2/boot2.c#4 integrate .. //depot/projects/bike_sched/sys/boot/i386/libi386/biossmap.c#3 integrate .. //depot/projects/bike_sched/sys/boot/i386/libi386/time.c#2 integrate .. //depot/projects/bike_sched/sys/boot/i386/loader/Makefile#3 integrate .. //depot/projects/bike_sched/sys/boot/ia64/Makefile.inc#2 integrate .. //depot/projects/bike_sched/sys/boot/ia64/common/Makefile#2 integrate .. //depot/projects/bike_sched/sys/boot/ia64/efi/Makefile#3 integrate .. //depot/projects/bike_sched/sys/boot/ia64/ski/Makefile#3 integrate .. //depot/projects/bike_sched/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/boot/pc98/Makefile.inc#3 integrate .. //depot/projects/bike_sched/sys/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/bike_sched/sys/boot/pc98/loader/Makefile#3 integrate .. //depot/projects/bike_sched/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/bike_sched/sys/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/bike_sched/sys/boot/sparc64/loader/Makefile#2 integrate .. //depot/projects/bike_sched/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/kern/opensolaris.c#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/kern/opensolaris_string.c#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/machine/endian.h#2 delete .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/rpc/xdr.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/acl.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/atomic.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/bitmap.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/byteorder.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/callb.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/cmn_err.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/cpupart.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/cpuvar.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/cpuvar_defs.h#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/cyclic.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/cyclic_impl.h#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/dkio.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/feature_tests.h#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/kmem.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/lock.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/mntent.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/objfs.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/pcpu.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/sema.h#1 branch .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/sysmacros.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/taskq.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/compat/opensolaris/sys/taskq_impl.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/ctf/ctf_mod.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/ctf/ctf_subr.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/dtrace/lockstat.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/dtrace/profile.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/dtrace/sdt_subr.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/dtrace/systrace.c#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/cmn_err.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/cpupart.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/cpuvar.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/ctf.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#2 integrate .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/sdt.h#2 delete .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/common/sys/vmem.h#2 delete .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/intel/sys/fasttrap_isa.h#1 branch .. //depot/projects/bike_sched/sys/cddl/contrib/opensolaris/uts/sparc/sys/fasttrap_isa.h#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/cyclic/amd64/cyclic_machdep.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/cyclic/cyclic.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/cyclic/cyclic_test.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/cyclic/i386/cyclic_machdep.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtmalloc/dtmalloc.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/amd64/dis_tables.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/amd64/dis_tables.h#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/amd64/dtrace_asm.S#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/amd64/instr_size.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_anon.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_cddl.h#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_clone.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_debug.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_hacks.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_ioctl.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_load.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_modevent.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_sysctl.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_test.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_unload.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/dtrace_vtime.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/i386/dis_tables.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/i386/dis_tables.h#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/i386/dtrace_asm.S#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/i386/dtrace_isa.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/i386/dtrace_subr.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/dtrace/i386/instr_size.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/fbt/fbt.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/profile/profile.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/prototype.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/sdt/sdt.c#1 branch .. //depot/projects/bike_sched/sys/cddl/dev/systrace/systrace.c#1 branch .. //depot/projects/bike_sched/sys/compat/linux/linux_emul.c#2 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_file.c#7 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_futex.c#4 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_futex.h#3 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_mib.c#3 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/bike_sched/sys/compat/linux/linux_util.c#5 integrate .. //depot/projects/bike_sched/sys/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/bike_sched/sys/compat/ndis/subr_ntoskrnl.c#4 integrate .. //depot/projects/bike_sched/sys/compat/pecoff/imgact_pecoff.c#5 delete .. //depot/projects/bike_sched/sys/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/bike_sched/sys/compat/svr4/svr4_misc.c#6 integrate .. //depot/projects/bike_sched/sys/conf/Makefile.amd64#4 integrate .. //depot/projects/bike_sched/sys/conf/NOTES#9 integrate .. //depot/projects/bike_sched/sys/conf/files#12 integrate .. //depot/projects/bike_sched/sys/conf/files.amd64#6 integrate .. //depot/projects/bike_sched/sys/conf/files.i386#6 integrate .. //depot/projects/bike_sched/sys/conf/files.pc98#5 integrate .. //depot/projects/bike_sched/sys/conf/files.powerpc#5 integrate .. //depot/projects/bike_sched/sys/conf/files.sparc64#4 integrate .. //depot/projects/bike_sched/sys/conf/files.sun4v#3 integrate .. //depot/projects/bike_sched/sys/conf/kern.mk#4 integrate .. //depot/projects/bike_sched/sys/conf/kern.post.mk#5 integrate .. //depot/projects/bike_sched/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/bike_sched/sys/conf/ldscript.mips#2 integrate .. //depot/projects/bike_sched/sys/conf/ldscript.mips.cfe#2 integrate .. //depot/projects/bike_sched/sys/conf/newvers.sh#3 integrate .. //depot/projects/bike_sched/sys/conf/options#9 integrate .. //depot/projects/bike_sched/sys/conf/options.amd64#4 integrate .. //depot/projects/bike_sched/sys/conf/options.arm#4 integrate .. //depot/projects/bike_sched/sys/conf/options.i386#4 integrate .. //depot/projects/bike_sched/sys/conf/options.pc98#4 integrate .. //depot/projects/bike_sched/sys/contrib/dev/iwn/LICENSE#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/iwn/iwlwifi-4965-4.44.17.fw.uu#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/LICENSE#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/Makefile#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/rt2561.fw.uu#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/rt2561s.fw.uu#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/rt2661.fw.uu#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/rt2661_ucode.h#1 branch .. //depot/projects/bike_sched/sys/contrib/dev/ral/rt2860.fw.uu#1 branch .. //depot/projects/bike_sched/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#3 integrate .. //depot/projects/bike_sched/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/bike_sched/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/bike_sched/sys/contrib/rdma/core_priv.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_addr.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_cache.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_cm.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_fmr_pool.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_mad.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_marshall.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_pack.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_sa.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_smi.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_umem.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_user_cm.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_user_mad.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_user_sa.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_user_verbs.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/ib_verbs.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/iw_cm.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/krping/getopt.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/krping/getopt.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/krping/krping.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/krping/krping.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/krping/krping_dev.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_addr.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_cache.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_cm.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_cm_ib.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_cma.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_device.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_iwcm.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_user_cm.h#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/rdma_verbs.c#1 branch .. //depot/projects/bike_sched/sys/contrib/rdma/types.h#1 branch .. //depot/projects/bike_sched/sys/ddb/db_capture.c#2 integrate .. //depot/projects/bike_sched/sys/ddb/db_ps.c#6 integrate .. //depot/projects/bike_sched/sys/dev/aac/aac.c#8 integrate .. //depot/projects/bike_sched/sys/dev/aac/aac_pci.c#6 integrate .. //depot/projects/bike_sched/sys/dev/acpi_support/acpi_asus.c#4 integrate .. //depot/projects/bike_sched/sys/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/bike_sched/sys/dev/acpi_support/acpi_sony.c#3 integrate .. //depot/projects/bike_sched/sys/dev/acpica/acpi_thermal.c#5 integrate .. //depot/projects/bike_sched/sys/dev/age/if_age.c#1 branch .. //depot/projects/bike_sched/sys/dev/age/if_agereg.h#1 branch .. //depot/projects/bike_sched/sys/dev/age/if_agevar.h#1 branch .. //depot/projects/bike_sched/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-all.c#5 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-chipset.c#7 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-disk.c#6 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-lowlevel.c#6 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-pci.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-pci.h#6 integrate .. //depot/projects/bike_sched/sys/dev/ata/ata-queue.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ata/atapi-cd.c#5 integrate .. //depot/projects/bike_sched/sys/dev/ata/atapi-fd.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ata/atapi-tape.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ath/ath_rate/amrr/amrr.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ath/ath_rate/amrr/amrr.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ath/ath_rate/onoe/onoe.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ath/ath_rate/onoe/onoe.h#3 integrate .. //depot/projects/bike_sched/sys/dev/ath/ath_rate/sample/sample.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ath/ath_rate/sample/sample.h#3 integrate .. //depot/projects/bike_sched/sys/dev/ath/if_ath.c#6 integrate .. //depot/projects/bike_sched/sys/dev/ath/if_ath_pci.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ath/if_athioctl.h#4 integrate .. //depot/projects/bike_sched/sys/dev/ath/if_athrate.h#3 integrate .. //depot/projects/bike_sched/sys/dev/ath/if_athvar.h#4 integrate .. //depot/projects/bike_sched/sys/dev/atkbdc/psm.c#5 integrate .. //depot/projects/bike_sched/sys/dev/awi/am79c930.c#2 delete .. //depot/projects/bike_sched/sys/dev/awi/am79c930reg.h#2 delete .. //depot/projects/bike_sched/sys/dev/awi/am79c930var.h#2 delete .. //depot/projects/bike_sched/sys/dev/awi/awi.c#3 delete .. //depot/projects/bike_sched/sys/dev/awi/awireg.h#2 delete .. //depot/projects/bike_sched/sys/dev/awi/awivar.h#3 delete .. //depot/projects/bike_sched/sys/dev/awi/if_awi_pccard.c#3 delete .. //depot/projects/bike_sched/sys/dev/bce/if_bce.c#7 integrate .. //depot/projects/bike_sched/sys/dev/bce/if_bcefw.h#5 integrate .. //depot/projects/bike_sched/sys/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/bike_sched/sys/dev/bfe/if_bfe.c#4 integrate .. //depot/projects/bike_sched/sys/dev/bge/if_bge.c#6 integrate .. //depot/projects/bike_sched/sys/dev/bge/if_bgereg.h#5 integrate .. //depot/projects/bike_sched/sys/dev/bktr/bktr_i2c.c#3 integrate .. //depot/projects/bike_sched/sys/dev/bm/if_bm.c#1 branch .. //depot/projects/bike_sched/sys/dev/bm/if_bmreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/bm/if_bmvar.h#1 branch .. //depot/projects/bike_sched/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ce/if_ce.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ciss/ciss.c#4 integrate .. //depot/projects/bike_sched/sys/dev/cnw/if_cnw.c#3 integrate .. //depot/projects/bike_sched/sys/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cp/cpddk.h#2 integrate .. //depot/projects/bike_sched/sys/dev/cp/if_cp.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cs/if_cs.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cs/if_cs_isa.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cs/if_cs_pccard.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cs/if_csreg.h#2 integrate .. //depot/projects/bike_sched/sys/dev/cs/if_csvar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/ctau/ctddk.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ctau/if_ct.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cx/cxddk.h#2 integrate .. //depot/projects/bike_sched/sys/dev/cx/if_cx.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_config.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_l2t.c#3 delete .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_l2t.h#3 delete .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_offload.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_offload.h#4 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_osdep.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#5 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_l2t.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#1 branch .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/bike_sched/sys/dev/dc/if_dc.c#5 integrate .. //depot/projects/bike_sched/sys/dev/dcons/dcons_os.c#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_82571.c#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_82571.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_api.c#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_api.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_defines.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_hw.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_ich8lan.c#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_ich8lan.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_osdep.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_phy.c#4 integrate .. //depot/projects/bike_sched/sys/dev/em/e1000_phy.h#4 integrate .. //depot/projects/bike_sched/sys/dev/em/if_em.c#6 integrate .. //depot/projects/bike_sched/sys/dev/em/if_em.h#5 integrate .. //depot/projects/bike_sched/sys/dev/et/if_et.c#1 branch .. //depot/projects/bike_sched/sys/dev/et/if_etreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/et/if_etvar.h#1 branch .. //depot/projects/bike_sched/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ex/if_ex_isa.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ex/if_ex_pccard.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ex/if_exvar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/bike_sched/sys/dev/fe/if_fe_cbus.c#2 integrate .. //depot/projects/bike_sched/sys/dev/fe/if_fe_isa.c#2 integrate .. //depot/projects/bike_sched/sys/dev/fe/if_fe_pccard.c#2 integrate .. //depot/projects/bike_sched/sys/dev/fe/if_fevar.h#2 integrate .. //depot/projects/bike_sched/sys/dev/firewire/firewire.c#3 integrate .. //depot/projects/bike_sched/sys/dev/firewire/fwohci.c#3 integrate .. //depot/projects/bike_sched/sys/dev/gem/if_gem.c#5 integrate .. //depot/projects/bike_sched/sys/dev/harp/if_harp.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_aali.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_buffer.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_command.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_globals.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_if.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_include.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_init.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_intr.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_output.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_receive.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_slave.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_stats.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_stats.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_timer.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_transmit.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_var.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/fore_vcm.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/hfa_eisa.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/hfa_freebsd.c#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/hfa_freebsd.h#2 delete .. //depot/projects/bike_sched/sys/dev/hfa/hfa_pci.c#3 delete .. //depot/projects/bike_sched/sys/dev/hfa/hfa_sbus.c#2 delete .. //depot/projects/bike_sched/sys/dev/hme/if_hme.c#3 integrate .. //depot/projects/bike_sched/sys/dev/hme/if_hme_pci.c#3 integrate .. //depot/projects/bike_sched/sys/dev/hme/if_hme_sbus.c#3 integrate .. //depot/projects/bike_sched/sys/dev/hme/if_hmereg.h#2 integrate .. //depot/projects/bike_sched/sys/dev/hme/if_hmevar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/ichsmb/ichsmb.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ichsmb/ichsmb_pci.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ichsmb/ichsmb_var.h#2 integrate .. //depot/projects/bike_sched/sys/dev/idt/idt.c#2 delete .. //depot/projects/bike_sched/sys/dev/idt/idt_harp.c#2 delete .. //depot/projects/bike_sched/sys/dev/idt/idt_pci.c#3 delete .. //depot/projects/bike_sched/sys/dev/idt/idtreg.h#3 delete .. //depot/projects/bike_sched/sys/dev/idt/idtvar.h#2 delete .. //depot/projects/bike_sched/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ie/if_ie_isa.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ie/if_ievar.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ieee488/upd7210.c#2 integrate .. //depot/projects/bike_sched/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/bike_sched/sys/dev/if_ndis/if_ndisvar.h#5 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_82575.c#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_api.c#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_api.h#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_defines.h#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_hw.h#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_mac.c#3 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_manage.h#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_osdep.c#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_osdep.h#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/e1000_phy.c#2 integrate .. //depot/projects/bike_sched/sys/dev/igb/if_igb.c#3 integrate .. //depot/projects/bike_sched/sys/dev/igb/if_igb.h#2 integrate .. //depot/projects/bike_sched/sys/dev/iicbus/iicsmb.c#3 integrate .. //depot/projects/bike_sched/sys/dev/io/iodev.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ipw/if_ipw.c#5 integrate .. //depot/projects/bike_sched/sys/dev/ipw/if_ipwvar.h#4 integrate .. //depot/projects/bike_sched/sys/dev/iscsi/initiator/iscsi.c#2 integrate .. //depot/projects/bike_sched/sys/dev/iwi/if_iwi.c#4 integrate .. //depot/projects/bike_sched/sys/dev/iwi/if_iwivar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/iwn/if_iwn.c#1 branch .. //depot/projects/bike_sched/sys/dev/iwn/if_iwnreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/iwn/if_iwnvar.h#1 branch .. //depot/projects/bike_sched/sys/dev/ixgbe/LICENSE#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/README#1 branch .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/bike_sched/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/bike_sched/sys/dev/jme/if_jme.c#1 branch .. //depot/projects/bike_sched/sys/dev/jme/if_jmereg.h#1 branch .. //depot/projects/bike_sched/sys/dev/jme/if_jmevar.h#1 branch .. //depot/projects/bike_sched/sys/dev/k8temp/k8temp.c#2 integrate .. //depot/projects/bike_sched/sys/dev/led/led.c#3 integrate .. //depot/projects/bike_sched/sys/dev/malo/if_malo.c#2 integrate .. //depot/projects/bike_sched/sys/dev/malo/if_malo.h#2 integrate .. //depot/projects/bike_sched/sys/dev/md/md.c#4 integrate .. //depot/projects/bike_sched/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/bike_sched/sys/dev/mfi/mfi_ioctl.h#3 integrate .. //depot/projects/bike_sched/sys/dev/mii/atphy.c#1 branch .. //depot/projects/bike_sched/sys/dev/mii/atphyreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/mii/brgphy.c#5 integrate .. //depot/projects/bike_sched/sys/dev/mii/brgphyreg.h#3 integrate .. //depot/projects/bike_sched/sys/dev/mii/ciphy.c#5 integrate .. //depot/projects/bike_sched/sys/dev/mii/jmphy.c#1 branch .. //depot/projects/bike_sched/sys/dev/mii/jmphyreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/mii/lxtphy.c#4 integrate .. //depot/projects/bike_sched/sys/dev/mii/miidevs#5 integrate .. //depot/projects/bike_sched/sys/dev/mii/smcphy.c#1 branch .. //depot/projects/bike_sched/sys/dev/mii/truephy.c#1 branch .. //depot/projects/bike_sched/sys/dev/mii/truephyreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/mpt/mpt.h#5 integrate .. //depot/projects/bike_sched/sys/dev/mpt/mpt_cam.c#5 integrate .. //depot/projects/bike_sched/sys/dev/mpt/mpt_pci.c#5 integrate .. //depot/projects/bike_sched/sys/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/bike_sched/sys/dev/mpt/mpt_user.c#1 branch .. //depot/projects/bike_sched/sys/dev/nmdm/nmdm.c#3 integrate .. //depot/projects/bike_sched/sys/dev/nve/if_nve.c#3 integrate .. //depot/projects/bike_sched/sys/dev/nve/if_nvereg.h#3 integrate .. //depot/projects/bike_sched/sys/dev/ofw/ofw_console.c#5 integrate .. //depot/projects/bike_sched/sys/dev/pccard/pccard_cis.c#3 integrate .. //depot/projects/bike_sched/sys/dev/pci/pcivar.h#4 integrate .. //depot/projects/bike_sched/sys/dev/puc/pucdata.c#5 integrate .. //depot/projects/bike_sched/sys/dev/ral/if_ral_pci.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ral/if_ralrate.c#2 delete .. //depot/projects/bike_sched/sys/dev/ral/if_ralrate.h#2 delete .. //depot/projects/bike_sched/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/bike_sched/sys/dev/ral/rt2560reg.h#4 integrate .. //depot/projects/bike_sched/sys/dev/ral/rt2560var.h#4 integrate .. //depot/projects/bike_sched/sys/dev/ral/rt2661.c#5 integrate .. //depot/projects/bike_sched/sys/dev/ral/rt2661_ucode.h#2 delete .. //depot/projects/bike_sched/sys/dev/ral/rt2661var.h#3 integrate .. //depot/projects/bike_sched/sys/dev/scc/scc_bfe.h#4 integrate .. //depot/projects/bike_sched/sys/dev/scc/scc_bfe_ebus.c#3 integrate .. //depot/projects/bike_sched/sys/dev/scc/scc_bfe_macio.c#3 integrate .. //depot/projects/bike_sched/sys/dev/scc/scc_bfe_quicc.c#2 integrate .. //depot/projects/bike_sched/sys/dev/scc/scc_bfe_sbus.c#3 integrate .. //depot/projects/bike_sched/sys/dev/scc/scc_core.c#3 integrate .. //depot/projects/bike_sched/sys/dev/si/si.c#3 integrate .. //depot/projects/bike_sched/sys/dev/si/si.h#2 integrate .. //depot/projects/bike_sched/sys/dev/sio/sio.c#5 integrate .. //depot/projects/bike_sched/sys/dev/smbus/smb.c#3 integrate .. //depot/projects/bike_sched/sys/dev/smc/if_smc.c#1 branch .. //depot/projects/bike_sched/sys/dev/smc/if_smcreg.h#1 branch .. //depot/projects/bike_sched/sys/dev/smc/if_smcvar.h#1 branch .. //depot/projects/bike_sched/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/bike_sched/sys/dev/snc/dp83932subr.c#2 integrate .. //depot/projects/bike_sched/sys/dev/snc/dp83932var.h#2 integrate .. //depot/projects/bike_sched/sys/dev/snc/if_sncreg.h#2 integrate .. //depot/projects/bike_sched/sys/dev/snp/snp.c#4 integrate .. //depot/projects/bike_sched/sys/dev/sound/midi/sequencer.c#5 integrate .. //depot/projects/bike_sched/sys/dev/sound/pci/atiixp.h#3 integrate .. //depot/projects/bike_sched/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/bike_sched/sys/dev/sound/pcm/dsp.c#4 integrate .. //depot/projects/bike_sched/sys/dev/speaker/spkr.c#5 integrate .. //depot/projects/bike_sched/sys/dev/sym/sym_defs.h#2 integrate .. //depot/projects/bike_sched/sys/dev/sym/sym_fw.h#2 integrate .. //depot/projects/bike_sched/sys/dev/sym/sym_fw1.h#3 integrate .. //depot/projects/bike_sched/sys/dev/sym/sym_fw2.h#3 integrate .. //depot/projects/bike_sched/sys/dev/sym/sym_hipd.c#3 integrate .. //depot/projects/bike_sched/sys/dev/ti/if_ti.c#5 integrate .. //depot/projects/bike_sched/sys/dev/tx/if_tx.c#3 integrate .. //depot/projects/bike_sched/sys/dev/tx/if_txvar.h#2 integrate .. //depot/projects/bike_sched/sys/dev/uart/uart_core.c#4 integrate .. //depot/projects/bike_sched/sys/dev/uart/uart_dev_ns8250.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/ehci.c#5 integrate .. //depot/projects/bike_sched/sys/dev/usb/ehcivar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_axe.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_udav.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_ural.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_uralvar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/if_zydreg.h#2 integrate .. //depot/projects/bike_sched/sys/dev/usb/ohci.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/ubsa.c#6 integrate .. //depot/projects/bike_sched/sys/dev/usb/uipaq.c#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/umass.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/ums.c#4 integrate .. //depot/projects/bike_sched/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/bike_sched/sys/dev/usb/usb.c#3 integrate .. //depot/projects/bike_sched/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/bike_sched/sys/dev/usb/uscanner.c#5 integrate .. //depot/projects/bike_sched/sys/dev/usb/uxb360gp_rdesc.h#2 integrate .. //depot/projects/bike_sched/sys/dev/vkbd/vkbd.c#4 integrate .. //depot/projects/bike_sched/sys/dev/vx/if_vx.c#2 integrate .. //depot/projects/bike_sched/sys/dev/wi/if_wavelan_ieee.h#3 integrate .. //depot/projects/bike_sched/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/bike_sched/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/bike_sched/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/bike_sched/sys/dev/wi/if_wivar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/wi/spectrum24t_cf.h#2 delete .. //depot/projects/bike_sched/sys/dev/wpi/if_wpi.c#3 integrate .. //depot/projects/bike_sched/sys/dev/wpi/if_wpivar.h#3 integrate .. //depot/projects/bike_sched/sys/dev/xe/if_xe.c#3 integrate .. //depot/projects/bike_sched/sys/dev/xe/if_xe_pccard.c#2 integrate .. //depot/projects/bike_sched/sys/dev/xe/if_xevar.h#2 integrate .. //depot/projects/bike_sched/sys/fs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/bike_sched/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/bike_sched/sys/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/bike_sched/sys/fs/devfs/devfs_rule.c#4 integrate .. //depot/projects/bike_sched/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/bike_sched/sys/fs/fdescfs/fdesc.h#2 integrate .. //depot/projects/bike_sched/sys/fs/fdescfs/fdesc_vfsops.c#4 integrate .. //depot/projects/bike_sched/sys/fs/fdescfs/fdesc_vnops.c#5 integrate .. //depot/projects/bike_sched/sys/fs/ntfs/ntfs_ihash.c#3 integrate .. //depot/projects/bike_sched/sys/fs/ntfs/ntfs_subr.c#4 integrate .. //depot/projects/bike_sched/sys/fs/smbfs/smbfs_node.c#4 integrate .. //depot/projects/bike_sched/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/bike_sched/sys/fs/udf/udf_vnops.c#4 integrate .. //depot/projects/bike_sched/sys/fs/unionfs/union.h#3 integrate .. //depot/projects/bike_sched/sys/fs/unionfs/union_subr.c#5 integrate .. //depot/projects/bike_sched/sys/fs/unionfs/union_vnops.c#5 integrate .. //depot/projects/bike_sched/sys/geom/geom_dev.c#5 integrate .. //depot/projects/bike_sched/sys/geom/geom_subr.c#5 integrate .. //depot/projects/bike_sched/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part.c#5 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part.h#6 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_apm.c#3 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_bsd.c#3 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_gpt.c#4 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_if.m#3 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_mbr.c#5 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_pc98.c#3 integrate .. //depot/projects/bike_sched/sys/geom/part/g_part_vtoc8.c#3 integrate .. //depot/projects/bike_sched/sys/geom/vinum/geom_vinum_share.c#3 integrate .. //depot/projects/bike_sched/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/bike_sched/sys/i386/acpica/acpi_machdep.c#5 integrate .. //depot/projects/bike_sched/sys/i386/bios/apm.c#4 integrate .. //depot/projects/bike_sched/sys/i386/conf/GENERIC#8 integrate .. //depot/projects/bike_sched/sys/i386/conf/NOTES#7 integrate .. //depot/projects/bike_sched/sys/i386/conf/PAE#5 integrate .. //depot/projects/bike_sched/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/bike_sched/sys/i386/i386/bpf_jit_machdep.c#2 integrate .. //depot/projects/bike_sched/sys/i386/i386/bpf_jit_machdep.h#2 integrate .. //depot/projects/bike_sched/sys/i386/i386/exception.s#4 integrate .. //depot/projects/bike_sched/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/bike_sched/sys/i386/i386/identcpu.c#6 integrate .. //depot/projects/bike_sched/sys/i386/i386/local_apic.c#8 integrate .. //depot/projects/bike_sched/sys/i386/i386/machdep.c#9 integrate .. //depot/projects/bike_sched/sys/i386/i386/pmap.c#9 integrate .. //depot/projects/bike_sched/sys/i386/i386/trap.c#7 integrate .. //depot/projects/bike_sched/sys/i386/include/clock.h#6 integrate .. //depot/projects/bike_sched/sys/i386/include/iodev.h#2 integrate .. //depot/projects/bike_sched/sys/i386/include/memdev.h#2 integrate .. //depot/projects/bike_sched/sys/i386/include/pcpu.h#3 integrate .. //depot/projects/bike_sched/sys/i386/include/pecoff_machdep.h#2 delete .. //depot/projects/bike_sched/sys/i386/isa/clock.c#7 integrate .. //depot/projects/bike_sched/sys/i386/isa/pmtimer.c#3 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_proto.h#7 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_syscall.h#7 integrate .. //depot/projects/bike_sched/sys/i386/linux/linux_sysent.c#7 integrate .. //depot/projects/bike_sched/sys/i386/linux/syscalls.master#7 integrate .. //depot/projects/bike_sched/sys/i4b/capi/README#2 delete .. //depot/projects/bike_sched/sys/i4b/capi/capi.h#2 delete .. //depot/projects/bike_sched/sys/i4b/capi/capi_l4if.c#3 delete .. //depot/projects/bike_sched/sys/i4b/capi/capi_llif.c#3 delete .. //depot/projects/bike_sched/sys/i4b/capi/capi_msgs.c#3 delete .. //depot/projects/bike_sched/sys/i4b/capi/capi_msgs.h#2 delete .. //depot/projects/bike_sched/sys/i4b/capi/iavc/iavc.h#2 delete .. //depot/projects/bike_sched/sys/i4b/capi/iavc/iavc_card.c#3 delete .. //depot/projects/bike_sched/sys/i4b/capi/iavc/iavc_isa.c#3 delete .. //depot/projects/bike_sched/sys/i4b/capi/iavc/iavc_lli.c#3 delete .. //depot/projects/bike_sched/sys/i4b/capi/iavc/iavc_pci.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_ctl.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_ing.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_ipr.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_isppp.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_rbch.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_tel.c#3 delete .. //depot/projects/bike_sched/sys/i4b/driver/i4b_trace.c#3 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_cause.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_debug.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_global.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_ioctl.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_isdnq931.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_l1l2.h#3 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_l2l3.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_l3l4.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_mbuf.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_rbch_ioctl.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_tel_ioctl.h#2 delete .. //depot/projects/bike_sched/sys/i4b/include/i4b_trace.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/i4b_hdlc.c#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/i4b_hdlc.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/i4b_l1.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/i4b_l1dmux.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/i4b_l1lib.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi/i4b_ifpi_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi/i4b_ifpi_isac.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi/i4b_ifpi_l1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi/i4b_ifpi_l1fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi2/i4b_ifpi2_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi2/i4b_ifpi2_isacsx.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi2/i4b_ifpi2_l1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpnp/i4b_ifpnp_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpnp/i4b_ifpnp_isac.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpnp/i4b_ifpnp_l1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ihfc/i4b_ihfc.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ihfc/i4b_ihfc_drv.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ihfc/i4b_ihfc_drv.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ihfc/i4b_ihfc_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ihfc/i4b_ihfc_l1if.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/ihfc/i4b_ihfc_pnp.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_asuscom_ipac.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_avm_a1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_bchan.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_ctx_s0P.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_diva.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_drn_ngo.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_dynalink.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_elsa_pcc16.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_elsa_qs1i.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_elsa_qs1p.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_hscx.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_hscx.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_ipac.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isac.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isac.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isic.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isic.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isic_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isic_isa.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_isic_pnp.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_itk_ix1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_l1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_l1fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_siemens_isurf.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_sws.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_tel_s016.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_tel_s0163.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_tel_s08.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/isic/i4b_usr_sti.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/itjc/i4b_hdlc.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/itjc/i4b_itjc_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/itjc/i4b_itjc_isac.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/itjc/i4b_itjc_l1.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/itjc/i4b_itjc_l1fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/itjc/i4b_itjc_pci.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic_bchan.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic_dchan.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic_ext.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic_fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic_l1if.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_iwic_pci.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer1/iwic/i4b_w6692.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_iframe.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_l2.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_l2.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_l2fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_l2fsm.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_l2timer.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_lme.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_mbuf.c#2 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_sframe.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_tei.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_uframe.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer2/i4b_util.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_l2if.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_l3.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_l3fsm.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_l3fsm.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_l3timer.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_l4if.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_q931.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_q931.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_q932fac.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer3/i4b_q932fac.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer4/i4b_i4bdrv.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer4/i4b_l4.c#3 delete .. //depot/projects/bike_sched/sys/i4b/layer4/i4b_l4.h#2 delete .. //depot/projects/bike_sched/sys/i4b/layer4/i4b_l4mgmt.c#4 delete .. //depot/projects/bike_sched/sys/i4b/layer4/i4b_l4timer.c#3 delete .. //depot/projects/bike_sched/sys/ia64/conf/DEFAULTS#7 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/clock.c#4 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/interrupt.c#5 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/machdep.c#11 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/mp_machdep.c#4 integrate .. //depot/projects/bike_sched/sys/ia64/ia64/pmap.c#6 integrate .. //depot/projects/bike_sched/sys/ia64/include/atomic.h#4 integrate .. //depot/projects/bike_sched/sys/ia64/include/memdev.h#2 integrate .. //depot/projects/bike_sched/sys/kern/Make.tags.inc#3 integrate .. //depot/projects/bike_sched/sys/kern/imgact_elf.c#5 integrate .. //depot/projects/bike_sched/sys/kern/init_sysent.c#10 integrate .. //depot/projects/bike_sched/sys/kern/kern_conf.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_cpu.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_cpuset.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_ctf.c#1 branch .. //depot/projects/bike_sched/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/bike_sched/sys/kern/kern_dtrace.c#1 branch .. //depot/projects/bike_sched/sys/kern/kern_event.c#7 integrate .. //depot/projects/bike_sched/sys/kern/kern_exec.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_exit.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_fork.c#11 integrate .. //depot/projects/bike_sched/sys/kern/kern_intr.c#10 integrate .. //depot/projects/bike_sched/sys/kern/kern_jail.c#6 integrate .. //depot/projects/bike_sched/sys/kern/kern_kthread.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_linker.c#8 integrate .. //depot/projects/bike_sched/sys/kern/kern_lock.c#7 integrate .. //depot/projects/bike_sched/sys/kern/kern_lockf.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_malloc.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_proc.c#7 integrate .. //depot/projects/bike_sched/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_sdt.c#1 branch .. //depot/projects/bike_sched/sys/kern/kern_sig.c#8 integrate .. //depot/projects/bike_sched/sys/kern/kern_switch.c#16 integrate .. //depot/projects/bike_sched/sys/kern/kern_sx.c#4 integrate .. //depot/projects/bike_sched/sys/kern/kern_thr.c#8 integrate .. //depot/projects/bike_sched/sys/kern/kern_umtx.c#5 integrate .. //depot/projects/bike_sched/sys/kern/kern_xxx.c#3 integrate .. //depot/projects/bike_sched/sys/kern/link_elf.c#6 integrate .. //depot/projects/bike_sched/sys/kern/link_elf_obj.c#6 integrate .. //depot/projects/bike_sched/sys/kern/linker_if.m#3 integrate .. //depot/projects/bike_sched/sys/kern/sched_4bsd.c#25 integrate .. //depot/projects/bike_sched/sys/kern/sched_ule.c#25 integrate .. //depot/projects/bike_sched/sys/kern/stack_protector.c#1 branch .. //depot/projects/bike_sched/sys/kern/subr_blist.c#2 integrate .. //depot/projects/bike_sched/sys/kern/subr_bus.c#7 integrate .. //depot/projects/bike_sched/sys/kern/subr_clist.c#1 branch .. //depot/projects/bike_sched/sys/kern/subr_clock.c#4 integrate .. //depot/projects/bike_sched/sys/kern/subr_kdb.c#5 integrate .. //depot/projects/bike_sched/sys/kern/subr_lock.c#4 integrate .. //depot/projects/bike_sched/sys/kern/subr_param.c#3 integrate .. //depot/projects/bike_sched/sys/kern/subr_rtc.c#2 integrate .. //depot/projects/bike_sched/sys/kern/subr_smp.c#5 integrate .. //depot/projects/bike_sched/sys/kern/subr_witness.c#7 integrate .. //depot/projects/bike_sched/sys/kern/sys_pipe.c#5 integrate .. //depot/projects/bike_sched/sys/kern/sys_socket.c#4 integrate .. //depot/projects/bike_sched/sys/kern/syscalls.c#9 integrate .. //depot/projects/bike_sched/sys/kern/syscalls.master#11 integrate .. //depot/projects/bike_sched/sys/kern/systrace_args.c#6 integrate .. //depot/projects/bike_sched/sys/kern/sysv_sem.c#5 integrate .. //depot/projects/bike_sched/sys/kern/tty.c#7 integrate .. //depot/projects/bike_sched/sys/kern/tty_cons.c#6 integrate .. //depot/projects/bike_sched/sys/kern/tty_subr.c#3 delete .. //depot/projects/bike_sched/sys/kern/tty_tty.c#4 integrate .. //depot/projects/bike_sched/sys/kern/uipc_mbuf.c#6 integrate .. //depot/projects/bike_sched/sys/kern/uipc_sem.c#4 integrate .. //depot/projects/bike_sched/sys/kern/uipc_shm.c#3 integrate .. //depot/projects/bike_sched/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/bike_sched/sys/kern/uipc_socket.c#9 integrate .. //depot/projects/bike_sched/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/bike_sched/sys/kern/vfs_aio.c#4 integrate .. //depot/projects/bike_sched/sys/kern/vfs_export.c#3 integrate .. //depot/projects/bike_sched/sys/kern/vfs_mount.c#8 integrate .. //depot/projects/bike_sched/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/bike_sched/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/bike_sched/sys/mips/conf/ADM5120#2 integrate .. //depot/projects/bike_sched/sys/mips/conf/IDT#2 integrate .. //depot/projects/bike_sched/sys/mips/conf/MALTA#2 integrate .. //depot/projects/bike_sched/sys/mips/conf/QEMU#2 integrate .. //depot/projects/bike_sched/sys/mips/conf/SENTRY5#2 integrate .. //depot/projects/bike_sched/sys/mips/include/am29lv081b.h#2 delete .. //depot/projects/bike_sched/sys/mips/include/cp0.h#2 delete .. //depot/projects/bike_sched/sys/mips/include/float.h#2 integrate .. //depot/projects/bike_sched/sys/mips/include/iodev.h#2 integrate .. //depot/projects/bike_sched/sys/mips/include/memdev.h#2 integrate .. //depot/projects/bike_sched/sys/mips/include/pmap.h#2 integrate .. //depot/projects/bike_sched/sys/mips/include/pte.h#2 integrate .. //depot/projects/bike_sched/sys/mips/mips/machdep.c#2 integrate .. //depot/projects/bike_sched/sys/mips/mips/mips_subr.c#2 delete .. //depot/projects/bike_sched/sys/mips/mips/pmap.c#2 integrate .. //depot/projects/bike_sched/sys/mips/mips/trap.c#2 integrate .. //depot/projects/bike_sched/sys/modules/Makefile#7 integrate .. //depot/projects/bike_sched/sys/modules/age/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/ath_rate_amrr/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/ath_rate_onoe/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/ath_rate_sample/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/awi/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/bm/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/cnw/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/cxgb/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/cxgb/iw_cxgb/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/cxgb/tom/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/cyclic/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/dtmalloc/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/dtrace/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/dtrace_test/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/dtraceall/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/dtraceall/dtraceall.c#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/fasttrap/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/fbt/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/lockstat/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/profile/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/prototype/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/sdt/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/dtrace/systrace/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/em/Makefile#6 integrate .. //depot/projects/bike_sched/sys/modules/esp/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/et/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/firmware/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/harp/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/hfa/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/hfa/Makefile.inc#2 delete .. //depot/projects/bike_sched/sys/modules/hfa/eisa/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/hfa/hfa/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/hfa/pci/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/hfa/sbus/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/hme/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/idt/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/isp/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/ispfw/Makefile#4 integrate .. //depot/projects/bike_sched/sys/modules/iwn/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/iwnfw/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/ixgbe/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/jme/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/le/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/malo/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/mii/Makefile#4 integrate .. //depot/projects/bike_sched/sys/modules/mpt/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/netgraph/atm/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/netgraph/atm/atmpif/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/nfslockd/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/opensolaris/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/pecoff/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/ral/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/ralfw/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/ralfw/Makefile.inc#1 branch .. //depot/projects/bike_sched/sys/modules/ralfw/rt2561/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/ralfw/rt2561s/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/ralfw/rt2661/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/rdma/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/rdma/addr/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/rdma/cma/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/rdma/core/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/rdma/iwcm/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/rdma/krping/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/scc/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/sem/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/sound/driver/Makefile#4 integrate .. //depot/projects/bike_sched/sys/modules/wlan/Makefile#3 integrate .. //depot/projects/bike_sched/sys/modules/wlan_acl/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/wlan_amrr/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/wlan_ccmp/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/wlan_rssadapt/Makefile#1 branch .. //depot/projects/bike_sched/sys/modules/wlan_scan_ap/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/wlan_scan_sta/Makefile#2 delete .. //depot/projects/bike_sched/sys/modules/wlan_tkip/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/wlan_wep/Makefile#2 integrate .. //depot/projects/bike_sched/sys/modules/wlan_xauth/Makefile#2 integrate .. //depot/projects/bike_sched/sys/net/bpf.c#9 integrate .. //depot/projects/bike_sched/sys/net/ethernet.h#3 integrate .. //depot/projects/bike_sched/sys/net/if.c#8 integrate .. //depot/projects/bike_sched/sys/net/if_atmsubr.c#4 integrate .. //depot/projects/bike_sched/sys/net/if_bridge.c#6 integrate .. //depot/projects/bike_sched/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/bike_sched/sys/net/if_fwsubr.c#3 integrate .. //depot/projects/bike_sched/sys/net/if_gif.c#6 integrate .. //depot/projects/bike_sched/sys/net/if_gif.h#2 integrate .. //depot/projects/bike_sched/sys/net/if_gre.c#5 integrate .. //depot/projects/bike_sched/sys/net/if_gre.h#2 integrate .. //depot/projects/bike_sched/sys/net/if_iso88025subr.c#4 integrate .. //depot/projects/bike_sched/sys/net/if_loop.c#6 integrate .. //depot/projects/bike_sched/sys/net/if_media.h#4 integrate .. //depot/projects/bike_sched/sys/net/if_stf.c#5 integrate .. //depot/projects/bike_sched/sys/net/if_tap.c#4 integrate .. //depot/projects/bike_sched/sys/net/if_tun.c#4 integrate .. //depot/projects/bike_sched/sys/net/if_var.h#6 integrate .. //depot/projects/bike_sched/sys/net/radix_mpath.c#2 integrate .. //depot/projects/bike_sched/sys/net/radix_mpath.h#2 integrate .. //depot/projects/bike_sched/sys/net/route.c#6 integrate .. //depot/projects/bike_sched/sys/net/route.h#4 integrate .. //depot/projects/bike_sched/sys/net/rtsock.c#6 integrate .. //depot/projects/bike_sched/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211.c#4 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_acl.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_adhoc.c#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_adhoc.h#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_amrr.c#2 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_amrr.h#2 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_crypto.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_crypto.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_crypto_none.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_crypto_tkip.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_crypto_wep.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_ddb.c#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_dfs.c#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_dfs.h#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_freebsd.c#4 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_hostap.c#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_hostap.h#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_input.c#4 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_input.h#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_monitor.c#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_monitor.h#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_node.h#3 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_output.c#4 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_phy.c#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_phy.h#1 branch .. //depot/projects/bike_sched/sys/net80211/ieee80211_power.c#2 integrate .. //depot/projects/bike_sched/sys/net80211/ieee80211_power.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 02:29:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D461A1065684; Wed, 2 Jul 2008 02:29: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 95BB5106567E for ; Wed, 2 Jul 2008 02:29:54 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7DF808FC15 for ; Wed, 2 Jul 2008 02:29:54 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m622TseA030568 for ; Wed, 2 Jul 2008 02:29:54 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m622TrGl030566 for perforce@freebsd.org; Wed, 2 Jul 2008 02:29:53 GMT (envelope-from peter-gmail@wemm.org) Date: Wed, 2 Jul 2008 02:29:53 GMT Message-Id: <200807020229.m622TrGl030566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 144453 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, 02 Jul 2008 02:29:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=144453 Change 144453 by peter@peter_daintree on 2008/07/02 02:29:27 IFC @144452 Affected files ... .. //depot/projects/hammer/Makefile.inc1#137 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#54 integrate .. //depot/projects/hammer/contrib/gcc/config/i386/freebsd.h#14 integrate .. //depot/projects/hammer/etc/devd.conf#33 integrate .. //depot/projects/hammer/etc/periodic/security/800.loginfail#7 integrate .. //depot/projects/hammer/etc/rc.d/lockd#6 integrate .. //depot/projects/hammer/etc/rc.d/statd#5 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#82 integrate .. //depot/projects/hammer/gnu/lib/Makefile#8 integrate .. //depot/projects/hammer/gnu/lib/csu/Makefile#12 integrate .. //depot/projects/hammer/gnu/lib/libssp/Makefile#2 integrate .. //depot/projects/hammer/gnu/usr.bin/cvs/contrib/Makefile#5 integrate .. //depot/projects/hammer/lib/csu/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_zip.c#20 integrate .. //depot/projects/hammer/lib/libarchive/test/Makefile#12 integrate .. //depot/projects/hammer/lib/libarchive/test/test_compat_zip_1.zip.uu#2 integrate .. //depot/projects/hammer/lib/libarchive/test/test_read_format_zip.c#4 integrate .. //depot/projects/hammer/lib/libarchive/test/test_read_format_zip.zip.uu#1 branch .. //depot/projects/hammer/lib/libc/Makefile#31 integrate .. //depot/projects/hammer/lib/libc/amd64/gen/_setjmp.S#8 integrate .. //depot/projects/hammer/lib/libc/amd64/gen/setjmp.S#10 integrate .. //depot/projects/hammer/lib/libc/gen/glob.c#7 integrate .. //depot/projects/hammer/lib/libc/i386/gen/_setjmp.S#3 integrate .. //depot/projects/hammer/lib/libc/i386/gen/setjmp.S#3 integrate .. //depot/projects/hammer/lib/libc/net/getaddrinfo.3#14 integrate .. //depot/projects/hammer/lib/libc/stdio/Makefile.inc#18 integrate .. //depot/projects/hammer/lib/libc/stdio/printf-pos.c#1 branch .. //depot/projects/hammer/lib/libc/stdio/printflocal.h#1 branch .. //depot/projects/hammer/lib/libc/stdio/vfprintf.c#26 integrate .. //depot/projects/hammer/lib/libc/stdio/vfwprintf.c#22 integrate .. //depot/projects/hammer/lib/libc/stdlib/system.3#3 integrate .. //depot/projects/hammer/lib/libc/sys/mkdir.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/socket.2#7 integrate .. //depot/projects/hammer/lib/libstand/Makefile#21 integrate .. //depot/projects/hammer/lib/libthr/Makefile#28 integrate .. //depot/projects/hammer/lib/libutil/Makefile#18 integrate .. //depot/projects/hammer/lib/libutil/hexdump.3#1 branch .. //depot/projects/hammer/lib/libutil/hexdump.c#1 branch .. //depot/projects/hammer/lib/libutil/libutil.h#11 integrate .. //depot/projects/hammer/lib/msun/man/cos.3#4 integrate .. //depot/projects/hammer/libexec/rtld-elf/Makefile#19 integrate .. //depot/projects/hammer/release/Makefile#100 integrate .. //depot/projects/hammer/release/picobsd/build/picobsd#8 integrate .. //depot/projects/hammer/release/scripts/src-install.sh#6 integrate .. //depot/projects/hammer/rescue/librescue/Makefile#9 integrate .. //depot/projects/hammer/rescue/rescue/Makefile#39 integrate .. //depot/projects/hammer/sbin/atacontrol/atacontrol.8#11 integrate .. //depot/projects/hammer/sbin/devfs/devfs.8#14 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient.c#15 integrate .. //depot/projects/hammer/sbin/ggate/ggated/ggated.c#7 integrate .. //depot/projects/hammer/sbin/sconfig/sconfig.c#6 integrate .. //depot/projects/hammer/share/man/man4/aac.4#17 integrate .. //depot/projects/hammer/share/man/man5/src.conf.5#19 integrate .. //depot/projects/hammer/share/mk/bsd.cpu.mk#36 integrate .. //depot/projects/hammer/share/mk/bsd.sys.mk#17 integrate .. //depot/projects/hammer/sys/amd64/include/iodev.h#2 integrate .. //depot/projects/hammer/sys/amd64/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/amd64/include/pmap.h#67 integrate .. //depot/projects/hammer/sys/amd64/include/vmparam.h#28 integrate .. //depot/projects/hammer/sys/arm/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/boot/Makefile.inc#1 branch .. //depot/projects/hammer/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/hammer/sys/boot/arm/at91/Makefile.inc#4 integrate .. //depot/projects/hammer/sys/boot/efi/Makefile.inc#4 integrate .. //depot/projects/hammer/sys/boot/i386/Makefile.inc#8 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/boot2.c#23 integrate .. //depot/projects/hammer/sys/boot/i386/loader/Makefile#16 integrate .. //depot/projects/hammer/sys/boot/ia64/Makefile.inc#4 integrate .. //depot/projects/hammer/sys/boot/ia64/common/Makefile#2 integrate .. //depot/projects/hammer/sys/boot/ia64/efi/Makefile#5 integrate .. //depot/projects/hammer/sys/boot/ia64/ski/Makefile#6 integrate .. //depot/projects/hammer/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/hammer/sys/boot/pc98/Makefile.inc#5 integrate .. //depot/projects/hammer/sys/boot/pc98/boot2/Makefile#10 integrate .. //depot/projects/hammer/sys/boot/pc98/loader/Makefile#13 integrate .. //depot/projects/hammer/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/hammer/sys/boot/powerpc/ofw/Makefile#4 integrate .. //depot/projects/hammer/sys/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/hammer/sys/boot/sparc64/loader/Makefile#10 integrate .. //depot/projects/hammer/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/hammer/sys/compat/pecoff/imgact_pecoff.c#20 delete .. //depot/projects/hammer/sys/compat/pecoff/imgact_pecoff.h#3 delete .. //depot/projects/hammer/sys/conf/NOTES#147 integrate .. //depot/projects/hammer/sys/conf/files#184 integrate .. //depot/projects/hammer/sys/conf/kern.mk#27 integrate .. //depot/projects/hammer/sys/conf/kern.pre.mk#54 integrate .. //depot/projects/hammer/sys/dev/aac/aac_pci.c#33 integrate .. //depot/projects/hammer/sys/dev/acpi_support/acpi_asus.c#12 integrate .. //depot/projects/hammer/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/hammer/sys/dev/ce/if_ce.c#7 integrate .. //depot/projects/hammer/sys/dev/cp/cpddk.h#5 integrate .. //depot/projects/hammer/sys/dev/cp/if_cp.c#26 integrate .. //depot/projects/hammer/sys/dev/ctau/ctddk.h#3 integrate .. //depot/projects/hammer/sys/dev/ctau/if_ct.c#29 integrate .. //depot/projects/hammer/sys/dev/cx/cxddk.h#3 integrate .. //depot/projects/hammer/sys/dev/cx/if_cx.c#37 integrate .. //depot/projects/hammer/sys/dev/io/iodev.c#2 integrate .. //depot/projects/hammer/sys/dev/mfi/mfi.c#16 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_pci.c#24 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/hammer/sys/dev/sound/pci/atiixp.h#5 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#105 integrate .. //depot/projects/hammer/sys/dev/usb/uscanner.c#31 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_node.c#26 integrate .. //depot/projects/hammer/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/hammer/sys/i386/include/iodev.h#2 integrate .. //depot/projects/hammer/sys/i386/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/ia64/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/kern/kern_cpuset.c#7 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#83 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#50 integrate .. //depot/projects/hammer/sys/kern/kern_lockf.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_xxx.c#15 integrate .. //depot/projects/hammer/sys/kern/stack_protector.c#1 branch .. //depot/projects/hammer/sys/kern/uipc_sem.c#23 integrate .. //depot/projects/hammer/sys/kern/uipc_shm.c#4 integrate .. //depot/projects/hammer/sys/mips/include/iodev.h#2 integrate .. //depot/projects/hammer/sys/mips/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/modules/nfslockd/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/pecoff/Makefile#5 delete .. //depot/projects/hammer/sys/modules/ralfw/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/sem/Makefile#3 integrate .. //depot/projects/hammer/sys/net/if.c#77 integrate .. //depot/projects/hammer/sys/net/if_bridge.c#41 integrate .. //depot/projects/hammer/sys/net/if_gre.c#38 integrate .. //depot/projects/hammer/sys/net/if_loop.c#35 integrate .. //depot/projects/hammer/sys/net/if_var.h#48 integrate .. //depot/projects/hammer/sys/netinet/udp_usrreq.c#56 integrate .. //depot/projects/hammer/sys/netinet6/in6_rmx.c#15 integrate .. //depot/projects/hammer/sys/netinet6/ip6_ipsec.c#6 integrate .. //depot/projects/hammer/sys/netipsec/key.c#21 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#23 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_node.c#27 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#58 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#62 integrate .. //depot/projects/hammer/sys/nfsclient/nfsmount.h#12 integrate .. //depot/projects/hammer/sys/nfsclient/nfsnode.h#22 integrate .. //depot/projects/hammer/sys/nfsserver/nfs_syscalls.c#26 integrate .. //depot/projects/hammer/sys/nlm/nlm.h#2 integrate .. //depot/projects/hammer/sys/nlm/nlm_advlock.c#1 branch .. //depot/projects/hammer/sys/nlm/nlm_prot.h#2 integrate .. //depot/projects/hammer/sys/nlm/nlm_prot_clnt.c#3 integrate .. //depot/projects/hammer/sys/nlm/nlm_prot_impl.c#5 integrate .. //depot/projects/hammer/sys/nlm/nlm_prot_server.c#3 integrate .. //depot/projects/hammer/sys/powerpc/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/rpc/auth_unix.c#3 integrate .. //depot/projects/hammer/sys/rpc/authunix_prot.c#3 integrate .. //depot/projects/hammer/sys/rpc/clnt.h#2 integrate .. //depot/projects/hammer/sys/rpc/clnt_dg.c#3 integrate .. //depot/projects/hammer/sys/rpc/clnt_rc.c#4 integrate .. //depot/projects/hammer/sys/rpc/clnt_vc.c#3 integrate .. //depot/projects/hammer/sys/rpc/rpcb_clnt.c#3 integrate .. //depot/projects/hammer/sys/rpc/svc_vc.c#3 integrate .. //depot/projects/hammer/sys/security/mac/mac_framework.h#13 integrate .. //depot/projects/hammer/sys/security/mac/mac_policy.h#14 integrate .. //depot/projects/hammer/sys/security/mac/mac_posix_sem.c#8 integrate .. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#48 integrate .. //depot/projects/hammer/sys/security/mac_mls/mac_mls.c#47 integrate .. //depot/projects/hammer/sys/security/mac_stub/mac_stub.c#31 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#50 integrate .. //depot/projects/hammer/sys/sparc64/include/in_cksum.h#4 integrate .. //depot/projects/hammer/sys/sparc64/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/sun4v/include/in_cksum.h#2 integrate .. //depot/projects/hammer/sys/sun4v/include/memdev.h#2 integrate .. //depot/projects/hammer/sys/sys/fcntl.h#9 integrate .. //depot/projects/hammer/sys/sys/file.h#20 integrate .. //depot/projects/hammer/sys/sys/ksem.h#2 integrate .. //depot/projects/hammer/sys/sys/lockf.h#9 integrate .. //depot/projects/hammer/sys/sys/param.h#114 integrate .. //depot/projects/hammer/sys/sys/priv.h#9 integrate .. //depot/projects/hammer/sys/sys/semaphore.h#2 integrate .. //depot/projects/hammer/sys/sys/user.h#26 integrate .. //depot/projects/hammer/tools/build/options/WITHOUT_SSP#2 integrate .. //depot/projects/hammer/tools/regression/file/flock/flock.c#2 integrate .. //depot/projects/hammer/tools/regression/lib/libc/stdio/Makefile#5 integrate .. //depot/projects/hammer/tools/regression/lib/libc/stdio/test-print-positional.c#1 branch .. //depot/projects/hammer/tools/regression/posixsem/Makefile#1 branch .. //depot/projects/hammer/tools/regression/posixsem/posixsem.c#1 branch .. //depot/projects/hammer/tools/regression/posixsem/posixsem.t#1 branch .. //depot/projects/hammer/tools/regression/posixsem/test.c#1 branch .. //depot/projects/hammer/tools/regression/posixsem/test.h#1 branch .. //depot/projects/hammer/tools/regression/posixshm/test.c#2 integrate .. //depot/projects/hammer/usr.bin/cpio/cpio.c#4 integrate .. //depot/projects/hammer/usr.bin/gzip/gzip.1#5 integrate .. //depot/projects/hammer/usr.bin/gzip/unbzip2.c#2 integrate .. //depot/projects/hammer/usr.bin/gzip/znew#3 integrate .. //depot/projects/hammer/usr.bin/make/make.1#35 integrate .. //depot/projects/hammer/usr.bin/procstat/procstat_files.c#4 integrate .. //depot/projects/hammer/usr.bin/su/su.1#13 integrate .. //depot/projects/hammer/usr.bin/tar/write.c#33 integrate .. //depot/projects/hammer/usr.bin/unzip/unzip.1#2 integrate .. //depot/projects/hammer/usr.bin/unzip/unzip.c#2 integrate .. //depot/projects/hammer/usr.sbin/config/mkmakefile.c#17 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.8#6 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.c#7 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.h#6 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/do_command.c#8 integrate .. //depot/projects/hammer/usr.sbin/mountd/exports.5#9 integrate .. //depot/projects/hammer/usr.sbin/newsyslog/newsyslog.conf.5#7 integrate .. //depot/projects/hammer/usr.sbin/ngctl/main.c#11 integrate .. //depot/projects/hammer/usr.sbin/pmcstat/pmcstat.8#11 integrate .. //depot/projects/hammer/usr.sbin/pmcstat/pmcstat.c#16 integrate .. //depot/projects/hammer/usr.sbin/rpc.lockd/lockd.c#13 integrate .. //depot/projects/hammer/usr.sbin/rpc.statd/file.c#4 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/Makefile#14 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#10 integrate Differences ... ==== //depot/projects/hammer/Makefile.inc1#137 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.606 2008/06/18 13:52:58 obrien Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.607 2008/06/25 21:33:28 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -225,6 +225,7 @@ ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ + -DWITHOUT_SSP \ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \ -DWITHOUT_NLS -DNO_PIC -DWITHOUT_PROFILE -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF @@ -235,7 +236,7 @@ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} -DNO_LINT -DNO_CPU_CFLAGS \ - -DNO_WARNS -DNO_CTF + -DNO_WARNS -DNO_CTF -DWITHOUT_SSP # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ @@ -452,7 +453,7 @@ .if ${MK_KERBEROS} != "no" .for _t in obj depend all cd ${.CURDIR}/kerberos5/tools; \ - MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} DESTDIR= ${_t} + MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} -DWITHOUT_SSP DESTDIR= ${_t} .endfor .endif .for _t in obj includes @@ -480,7 +481,7 @@ .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ - MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} DESTDIR= build-tools + MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} -DWITHOUT_SSP DESTDIR= build-tools .endfor cd ${.CURDIR}; \ ${LIB32WMAKE} -f Makefile.inc1 libraries @@ -772,14 +773,14 @@ @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${_kernel}; \ MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \ - ${MAKE} -DNO_CPU_CFLAGS -DNO_CTF \ + ${MAKE} -DWITHOUT_SSP -DNO_CPU_CFLAGS -DNO_CTF \ -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile # XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case. .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules) .for target in obj depend all cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \ MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \ - ${MAKE} -DNO_CPU_CFLAGS -DNO_CTF ${target} + ${MAKE} -DWITHOUT_SSP -DNO_CPU_CFLAGS -DNO_CTF ${target} .endfor .endif .if !defined(NO_KERNELDEPEND) ==== //depot/projects/hammer/ObsoleteFiles.inc#54 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.143 2008/06/14 10:42:18 ed Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.144 2008/07/01 21:54:08 danger 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,9 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080701: wpa_supplicant.conf moved to share/examples/etc/ +OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf +OLD_DIRS+=usr/share/examples/wpa_supplicant # 20080614: sgtty removed OLD_FILES+=usr/include/sys/ttychars.h OLD_FILES+=usr/include/sys/ttydev.h ==== //depot/projects/hammer/contrib/gcc/config/i386/freebsd.h#14 (text+ko) ==== @@ -22,7 +22,7 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.73 2007/05/19 02:30:20 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/config/i386/freebsd.h,v 1.75 2008/06/28 15:28:17 obrien Exp $ */ #undef CC1_SPEC #define CC1_SPEC "%(cc1_cpu) %{profile:-p}" @@ -54,7 +54,7 @@ /* Reset our STARTFILE_SPEC which was properly set in config/freebsd.h but trashed by config//. */ -#undef STARTFILE_SPEC +#undef STARTFILE_SPEC #define STARTFILE_SPEC FBSD_STARTFILE_SPEC /* Provide an ENDFILE_SPEC appropriate for FreeBSD/i386. */ @@ -78,13 +78,13 @@ #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD) -#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */ +#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */ #define SUBTARGET_EXTRA_SPECS \ { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); -#define TARGET_ELF 1 +#define TARGET_ELF 1 /* This goes away when the math emulator is fixed. */ #undef TARGET_SUBTARGET_DEFAULT @@ -101,7 +101,7 @@ /* FreeBSD sets the rounding precision of the FPU to 53 bits. Let the compiler get the contents of and std::numeric_limits correct. */ -#undef TARGET_96_ROUND_53_LONG_DOUBLE +#undef TARGET_96_ROUND_53_LONG_DOUBLE #define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT) /* Tell final.c that we don't need a label passed to mcount. */ @@ -110,7 +110,7 @@ /* Output assembler code to FILE to begin profiling of the current function. LABELNO is an optional label. */ -#undef MCOUNT_NAME +#undef MCOUNT_NAME #define MCOUNT_NAME ".mcount" /* Output assembler code to FILE to end profiling of the current function. */ @@ -145,7 +145,7 @@ else \ fprintf ((FILE), "%s", xname); \ } \ - else \ + else \ { \ if (xname[0] == '%') \ xname += 2; \ @@ -191,7 +191,7 @@ uninitialized global data will be output in the data section if `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be used. */ -#undef BSS_SECTION_ASM_OP +#undef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" /* Like `ASM_OUTPUT_BSS' except takes the required alignment as a @@ -202,7 +202,7 @@ Try to use function `asm_output_aligned_bss' defined in file `varasm.c' when defining this macro. */ -#undef ASM_OUTPUT_ALIGNED_BSS +#undef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) @@ -230,7 +230,7 @@ assemble_name (asm_out_file, NAME); \ fputc ('-', asm_out_file); \ assemble_name (asm_out_file, \ - XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \ + XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \ fprintf (asm_out_file, "\n"); \ } while (0) ==== //depot/projects/hammer/etc/devd.conf#33 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.41 2008/06/15 13:26:25 kmacy Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.42 2008/06/27 12:04:36 rpaulo Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -255,6 +255,28 @@ action "/etc/rc.resume acpi $notify"; }; +# The next blocks enable volume hotkeys that can be found on the Asus EeePC +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS-Eee"; + match "notify" "0x13"; + action "mixer 0"; +}; + +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS-Eee"; + match "notify" "0x14"; + action "mixer vol -10"; +}; + +notify 0 { + match "system" "ACPI"; + match "subsystem" "ASUS-Eee"; + match "notify" "0x15"; + action "mixer vol +10"; +}; + /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might ==== //depot/projects/hammer/etc/periodic/security/800.loginfail#7 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/periodic/security/800.loginfail,v 1.8 2007/02/23 21:42:54 remko Exp $ +# $FreeBSD: src/etc/periodic/security/800.loginfail,v 1.9 2008/06/30 08:01:47 mtm Exp $ # # Show login failures @@ -59,7 +59,7 @@ [Yy][Ee][Ss]) echo "" echo "${host} login failures:" - n=$(catmsgs | egrep -ia "^$yesterday.*: .* (fail|invalid|bad|illegal)" | + n=$(catmsgs | egrep -ia "^$yesterday.*: .*(fail|invalid|bad|illegal)" | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0;; *) rc=0;; ==== //depot/projects/hammer/etc/rc.d/lockd#6 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.20 2008/06/23 04:05:39 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.21 2008/06/27 15:45:17 mtm Exp $ # # PROVIDE: lockd @@ -15,7 +15,7 @@ rcvar=rpc_lockd_enable command="/usr/sbin/rpc.${name}" start_precmd='lockd_precmd' -stop_precmd='checkyesno nfs_server_enable || checkyesno nfsclient_enable' +stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable' status_precmd=$stop_precmd # Make sure that we are either an NFS client or server, and that we get @@ -26,7 +26,7 @@ local ret ret=0 - if ! checkyesno nfs_server_enable && ! checkyesno nfsclient_enable + if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable then ret=1 fi ==== //depot/projects/hammer/etc/rc.d/statd#5 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp -# $FreeBSD: src/etc/rc.d/statd,v 1.19 2008/06/23 04:05:39 mtm Exp $ +# $FreeBSD: src/etc/rc.d/statd,v 1.20 2008/06/27 15:45:17 mtm Exp $ # # PROVIDE: statd @@ -15,7 +15,7 @@ rcvar=rpc_statd_enable command="/usr/sbin/rpc.${name}" start_precmd='statd_precmd' -stop_precmd='checkyesno nfs_server_enable || checkyesno nfsclient_enable' +stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable' status_precmd=$stop_precmd # Make sure that we are either an NFS client or server, and that we get @@ -26,7 +26,7 @@ local ret ret=0 - if ! checkyesno nfs_server_enable && ! checkyesno nfsclient_enable + if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable then ret=1 fi ==== //depot/projects/hammer/games/fortune/datfiles/fortunes#82 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.264 2008/06/23 20:27:37 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.265 2008/06/25 04:56:08 wollman Exp $ % ======================================================================= || || @@ -14259,7 +14259,7 @@ The computer assumes that all behavior is in pursuit of an ultimate goal. Whenever a motorist changes his or her mind and veers off course, the GPS lady issues that snippy announcement: "Recalculating!" - -- Joel Achenbach (www.slate.com, 20 jun 2008) + -- Joel Achenbach (www.slate.com, 20 Jun 2008) % Computers don't actually think. You just think they think. ==== //depot/projects/hammer/gnu/lib/Makefile#8 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/gnu/lib/Makefile,v 1.42 2007/05/19 04:25:54 kan Exp $ +# $FreeBSD: src/gnu/lib/Makefile,v 1.43 2008/06/25 21:33:28 ru Exp $ .include -SUBDIR= csu libgcc libgcov libdialog libgomp libregex libreadline +SUBDIR= csu libgcc libgcov libdialog libgomp libregex libreadline libssp # libsupc++ uses libstdc++ headers, although 'make includes' should # have taken care of that already. @@ -14,8 +14,4 @@ SUBDIR+= libobjc .endif -.if ${MK_SSP} != "no" -SUBDIR+= libssp -.endif - .include ==== //depot/projects/hammer/gnu/lib/csu/Makefile#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/csu/Makefile,v 1.28 2008/01/24 07:43:09 ru Exp $ +# $FreeBSD: src/gnu/lib/csu/Makefile,v 1.29 2008/06/25 21:33:28 ru Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -19,6 +19,7 @@ -I${CCDIR}/cc_tools CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG} MKDEP= -DCRT_BEGIN +WITHOUT_SSP= .if ${MACHINE_ARCH} == "ia64" BEGINSRC= crtbegin.asm ==== //depot/projects/hammer/gnu/lib/libssp/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libssp/Makefile,v 1.2 2007/05/22 10:40:58 ru Exp $ +# $FreeBSD: src/gnu/lib/libssp/Makefile,v 1.3 2008/06/25 21:33:28 ru Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -10,6 +10,7 @@ SHLIB_MAJOR= 0 SHLIBDIR?= /lib NO_PROFILE= +WITHOUT_SSP= SRCS= ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \ memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \ ==== //depot/projects/hammer/gnu/usr.bin/cvs/contrib/Makefile#5 (text+ko) ==== @@ -1,6 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.20 2008/01/16 17:15:59 obrien Exp $ - -.POSIX: +# $FreeBSD: src/gnu/usr.bin/cvs/contrib/Makefile,v 1.21 2008/06/27 14:59:23 obrien Exp $ .include "../Makefile.inc" @@ -21,6 +19,10 @@ .SUFFIXES: .sh .pl .in +# Prevent Makefile.in from overwriting Makefile through the suffix rules. +Makefile: + @: + .sh: cp ${.IMPSRC} ${.TARGET} ==== //depot/projects/hammer/lib/libarchive/archive_read_support_format_zip.c#20 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.24 2008/06/15 05:15:53 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.26 2008/06/30 16:19:26 des Exp $"); #ifdef HAVE_ERRNO_H #include @@ -53,6 +53,9 @@ int64_t entry_compressed_bytes_read; int64_t entry_uncompressed_bytes_read; + /* Running CRC32 of the decompressed data */ + unsigned long entry_crc32; + unsigned version; unsigned system; unsigned flags; @@ -70,7 +73,7 @@ char end_of_entry; char end_of_entry_cleanup; - long crc32; + unsigned long crc32; ssize_t filename_length; ssize_t extra_length; int64_t uncompressed_size; @@ -299,6 +302,7 @@ zip->end_of_entry_cleanup = 0; zip->entry_uncompressed_bytes_read = 0; zip->entry_compressed_bytes_read = 0; + zip->entry_crc32 = crc32(0, NULL, 0); if ((h = __archive_read_ahead(a, 4)) == NULL) return (ARCHIVE_FATAL); @@ -523,14 +527,13 @@ "ZIP uncompressed data is wrong size"); return (ARCHIVE_WARN); } -/* TODO: Compute CRC. */ -/* - if (zip->crc32 != zip->entry_crc32_calculated) { + /* Check computed CRC against header */ + if (zip->crc32 != zip->entry_crc32) { archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, - "ZIP data CRC error"); + "ZIP bad CRC: 0x%lx should be 0x%lx", + zip->entry_crc32, zip->crc32); return (ARCHIVE_WARN); } -*/ /* End-of-entry cleanup done. */ zip->end_of_entry_cleanup = 1; } @@ -570,6 +573,11 @@ } break; } + /* Update checksum */ + if (r == ARCHIVE_OK && *size) { + zip->entry_crc32 = + crc32(zip->entry_crc32, *buff, *size); + } return (r); } ==== //depot/projects/hammer/lib/libarchive/test/Makefile#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/test/Makefile,v 1.21 2008/06/15 05:05:53 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/test/Makefile,v 1.23 2008/06/26 11:58:26 des Exp $ # Where to find the libarchive sources LA_SRCDIR=${.CURDIR}/.. @@ -72,7 +72,7 @@ # Build the test program using all libarchive sources + the test sources. SRCS= ${LA_SRCS} \ ${TESTS} \ - ${.OBJDIR}/list.h \ + list.h \ main.c \ read_open_memory.c @@ -84,19 +84,19 @@ CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\" LDADD= -lz -lbz2 CFLAGS+= -static -g -CFLAGS+= -I${LA_SRCDIR} +CFLAGS+= -I${LA_SRCDIR} -I. # Uncomment to link against dmalloc -LDADD+= -L/usr/local/lib -ldmalloc -CFLAGS+= -I/usr/local/include -DUSE_DMALLOC -WARNS=6 +#LDADD+= -L/usr/local/lib -ldmalloc +#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC +#WARNS=6 # Build libarchive_test and run it. check test: libarchive_test ./libarchive_test -v -r ${.CURDIR} # list.h is just a list of all tests, as indicated by DEFINE_TEST macro lines -${.OBJDIR}/list.h: ${TESTS} Makefile +list.h: ${TESTS} Makefile (cd ${.CURDIR}; cat ${TESTS}) | grep DEFINE_TEST > list.h CLEANFILES += *.out *.o *.core *~ list.h ==== //depot/projects/hammer/lib/libarchive/test/test_compat_zip_1.zip.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_compat_zip_1.zip.uu,v 1.2 2008/06/30 15:49:12 des Exp $ begin 644 test_compat_zip_1.zip M4$L#!!0`"``(``B$@S<````````````````4````345402U)3D8O34%.249% M4U0N34;S3 1 assert(0 == archive_read_finish(a)); #else ==== //depot/projects/hammer/lib/libc/Makefile#31 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.73 2007/10/01 18:15:10 ru Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.74 2008/06/25 21:33:28 ru Exp $ SHLIBDIR?= /lib @@ -122,3 +122,9 @@ # Disable warnings in contributed sources. CWARNFLAGS:= ${.IMPSRC:Ngdtoa_*.c:C/^.+$/${CWARNFLAGS}/} +# XXX For now, we don't allow libc to be compiled with +# -fstack-protector-all because it breaks rtld. We may want to make a librtld +# in the future to circumvent this. +SSP_CFLAGS:= ${SSP_CFLAGS:S/^-fstack-protector-all$/-fstack-protector/} +# Disable stack protection for SSP symbols. +SSP_CFLAGS:= ${.IMPSRC:N*/stack_protector.c:C/^.+$/${SSP_CFLAGS}/} ==== //depot/projects/hammer/lib/libc/amd64/gen/_setjmp.S#8 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/_setjmp.S,v 1.19 2007/01/09 00:27:48 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/_setjmp.S,v 1.20 2008/06/28 17:55:43 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -58,6 +58,7 @@ movq %r14,48(%rax) /* 6; r14 */ movq %r15,56(%rax) /* 7; r15 */ fnstcw 64(%rax) /* 8; fpu cw */ + stmxcsr 68(%rax) /* and mxcsr */ xorq %rax,%rax ret @@ -65,6 +66,15 @@ .set CNAME(_longjmp),CNAME(___longjmp) ENTRY(___longjmp) movq %rdi,%rdx + /* Restore the mxcsr, but leave exception flags intact. */ + stmxcsr -4(%rsp) + movl 68(%rdx),%eax + andl $0xffffffc0,%eax + movl -4(%rsp),%edi + andl $0x3f,%edi + xorl %eax,%edi + movl %edi,-4(%rsp) + ldmxcsr -4(%rsp) movq %rsi,%rax /* retval */ movq 0(%rdx),%rcx movq 8(%rdx),%rbx @@ -74,7 +84,6 @@ movq 40(%rdx),%r13 movq 48(%rdx),%r14 movq 56(%rdx),%r15 - fninit fldcw 64(%rdx) testq %rax,%rax jnz 1f ==== //depot/projects/hammer/lib/libc/amd64/gen/setjmp.S#10 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/setjmp.S,v 1.27 2007/01/09 00:27:48 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/setjmp.S,v 1.28 2008/06/28 17:55:43 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -67,6 +67,7 @@ movq %r14,48(%rcx) /* 6; r14 */ movq %r15,56(%rcx) /* 7; r15 */ fnstcw 64(%rcx) /* 8; fpu cw */ + stmxcsr 68(%rcx) /* and mxcsr */ xorq %rax,%rax ret @@ -83,6 +84,15 @@ popq %rsi popq %rdi /* jmpbuf */ movq %rdi,%rdx + /* Restore the mxcsr, but leave exception flags intact. */ + stmxcsr -4(%rsp) + movl 68(%rdx),%eax + andl $0xffffffc0,%eax + movl -4(%rsp),%edi + andl $0x3f,%edi + xorl %eax,%edi + movl %edi,-4(%rsp) + ldmxcsr -4(%rsp) movq %rsi,%rax /* retval */ movq 0(%rdx),%rcx movq 8(%rdx),%rbx @@ -92,7 +102,6 @@ movq 40(%rdx),%r13 movq 48(%rdx),%r14 movq 56(%rdx),%r15 - fninit fldcw 64(%rdx) testq %rax,%rax jnz 1f ==== //depot/projects/hammer/lib/libc/gen/glob.c#7 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)glob.c 8.3 (Berkeley) 10/13/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/glob.c,v 1.26 2007/01/09 00:27:54 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/glob.c,v 1.27 2008/06/26 07:12:35 mtm Exp $"); /* * glob(3) -- a superset of the one defined in POSIX 1003.2. @@ -143,7 +143,7 @@ static int g_Ctoc(const Char *, char *, size_t); static int g_lstat(Char *, struct stat *, glob_t *); static DIR *g_opendir(Char *, glob_t *); -static Char *g_strchr(Char *, wchar_t); +static const Char *g_strchr(const Char *, wchar_t); #ifdef notdef static Char *g_strcat(Char *, const Char *); #endif @@ -246,7 +246,7 @@ if (pattern[0] == LBRACE && pattern[1] == RBRACE && pattern[2] == EOS) return glob0(pattern, pglob, limit); - while ((ptr = (const Char *) g_strchr((Char *) ptr, LBRACE)) != NULL) + while ((ptr = g_strchr(ptr, LBRACE)) != NULL) if (!globexp2(ptr, pattern, pglob, &rv, limit)) return rv; @@ -449,7 +449,7 @@ if (c == NOT) ++qpatnext; if (*qpatnext == EOS || - g_strchr((Char *) qpatnext+1, RBRACKET) == NULL) { + g_strchr(qpatnext+1, RBRACKET) == NULL) { *bufnext++ = LBRACKET; if (c == NOT) --qpatnext; @@ -859,8 +859,8 @@ return(stat(buf, sb)); } -static Char * -g_strchr(Char *str, wchar_t ch) +static const Char * +g_strchr(const Char *str, wchar_t ch) { do { ==== //depot/projects/hammer/lib/libc/i386/gen/_setjmp.S#3 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)_setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/i386/gen/_setjmp.S,v 1.17 2007/01/09 00:27:58 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/i386/gen/_setjmp.S,v 1.18 2008/06/28 17:58:06 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -70,7 +70,6 @@ movl 12(%edx),%ebp movl 16(%edx),%esi movl 20(%edx),%edi - fninit fldcw 24(%edx) testl %eax,%eax jnz 1f ==== //depot/projects/hammer/lib/libc/i386/gen/setjmp.S#3 (text+ko) ==== @@ -34,7 +34,7 @@ .asciz "@(#)setjmp.s 5.1 (Berkeley) 4/23/90" #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/i386/gen/setjmp.S,v 1.23 2007/01/09 00:27:58 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/i386/gen/setjmp.S,v 1.24 2008/06/28 17:58:06 das Exp $"); /* * C library -- _setjmp, _longjmp @@ -90,7 +90,6 @@ movl 12(%edx),%ebp movl 16(%edx),%esi movl 20(%edx),%edi - fninit fldcw 24(%edx) testl %eax,%eax jnz 1f ==== //depot/projects/hammer/lib/libc/net/getaddrinfo.3#14 (text+ko) ==== @@ -16,9 +16,9 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.33 2007/06/06 19:24:02 remko Exp $ +.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.34 2008/07/01 22:59:20 danger Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 03:36:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A32B71065670; Wed, 2 Jul 2008 03:36: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 4C0AE106564A for ; Wed, 2 Jul 2008 03:36:01 +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 386D88FC0C for ; Wed, 2 Jul 2008 03:36:01 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m623a0CH037945 for ; Wed, 2 Jul 2008 03:36:00 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m623a0Oi037943 for perforce@freebsd.org; Wed, 2 Jul 2008 03:36:00 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 2 Jul 2008 03:36:00 GMT Message-Id: <200807020336.m623a0Oi037943@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 144455 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, 02 Jul 2008 03:36:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=144455 Change 144455 by pgj@disznohal on 2008/07/02 03:35:57 A bit of rework in www/hu/advocacy Affected files ... .. //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#4 (text+ko) ==== @@ -33,15 +33,27 @@
    -

    Webes források

    +

    Webes források

    • *BSD mítoszok

      -

      Bemutatunk és leleplezünk néhány *BSD - projektrõl terjedõ mítoszt.

      +

      Bemutatunk és leleplezünk néhány + *BSD projektrõl terjedõ mítoszt.

      +
    • + +
    • &os; a @@ -63,34 +75,51 @@

      &os;-t használó oldalak

        +
      • A Daemon News + egy elektronikus publikáció a BSD + operációs rendszerekrõl + általában. A célja, hogy egy forrás + legyen a &os;, OpenBSD, és NetBSD + közösségek számára.
      • + +
      • A BSD Freak egy új + oldal, amely a BSD rendszerekrõl felhasználói + szemszögbõl bemutató leírásokat, + cikkeket és folyóiratokat + kínál.
      • + +
      • A Hosting Providers Performance a Netcraft + oldala, a nagyobb tár- és + tartalomszolgáltatások + megbízhatóságát követi nyomon, + amelyek közül sok &os;-t használ.
      • +
      • A Daemon News - egy elektronikus publikáció a BSD operációs - rendszerekrõl általában. A célja, hogy egy - forrás legyen a FreeBSD, OpenBSD, és NetBSD - közösségek számára.
      • + href="http://dmoz.org/Computers/Software/Operating_Systems/Unix/BSD/FreeBSD/" + name="dmoz">The Open Directory Project célja, hogy + a legátfogóbb könyvtár legyen a + weben. Ebben önkéntes szerkesztõk serege + segíti. -
      • A BSD Freak egy új oldal, - útmutatókat, cikkeket és folyóiratokat - kínál a BSD rendszerekrõl felhasználói - szemszögbõl
      • +
      • BSDCan, az - évente megrendezett BSD Konferencia a Kanadában található Ottawában.
      • + évente megrendezett BSD Konferencia a Kanadában + található Ottawában. -
      • EuroBSDCon, - az éves BSD Konferencia Európában.
      • +
      • EuroBSDCon, az + éves BSD Konferencia Európában.
      ==== //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#4 (text+ko) ==== @@ -2,7 +2,7 @@ - + %developers; @@ -17,579 +17,689 @@ &header; -

      Miközben a BSD projektek (DragonflyBSD, FreeBSD, NetBSD, és - OpenBSD) nagyra nõttek, számos mítosz kezdett - terjedni róluk. Ezek közül néhányat - jó szándékú, ám megfontolatlan - személyek indítottak el, másokat pedig önhitt - emberek.

      +

      Miközben a BSD projektek (DragonflyBSD, &os;, NetBSD + és az OpenBSD) nagyra nõttek, számos + mítosz kezdett terjedni róluk. Ezek közül + néhányat jó szándékú, + ám megfontolatlan személyek indítottak el, + másokat pedig önhitt emberek.

      -

      Ennek az oldalnak az a célja, hogy a lehetõ legnagyobb - tárgyilagosság mellett eloszlassa ezeket a +

      Ennek az oldalnak az a célja, hogy a lehetõ + legnagyobb tárgyilagosság mellett eloszlassa ezeket a tévhiteket.

      -
      Megjegyzés: Ezen az oldalon a "*BSD" - kifejezés mind a négy BSD projektre vonatkozik. Ahol a - mende-monda az egyik különálló projektre - vonatkozik, ott azt külön említjük.
      +
      Megjegyzés: Ezen az oldalon a ,,*BSD'' + kifejezés mind a négy BSD projektre vonatkozik. + Ahol az adott mende-monda csak az egyik + különálló projektre vonatkozik, ott azt + külön említjük.
      -
      Ha úgy gondolja, hogy az oldal valamely - témában hiányos ismereteket közöl, - kérjük értesítse az oldal - fenntartóját, &a.trhodes;-ot a következõ e-mail - címen: - <trhodes@FreeBSD.org> +
      Ha úgy érezzük, hogy az oldal + valamely témában hiányos ismereteket + közöl, akkor értesítsük az oldal + fenntartóját, &a.trhodes;-ot a következõ + e-mail címen: <trhodes@FreeBSD.org>

      Tartalom

      -

      Mítoszok

      +

      Mítoszok

      -

      A *BSD zárt fejlesztési - modellel rendelkezik

      +

      A *BSD rendszerek zárt + fejlesztési modellel rendelkeznek, sokkal inkább + ,,katedrálisok'' mintsem ,,bazárok''

      -

      Eric Raymond nagy hatású írása - "The - Cathedral and the Bazaar" címmel a Linux fejlesztési - modellt (és azt a modellt, amelyet Eric a fetchmail-hez - használt) említi mint a "nyílt" fejlesztési - modell példáját. Ezzel szemben a *BSD +

      Eric Raymond nagy hatású írása A katedrális és a bazár + címmel a Linux fejlesztési modellt (és azt a + modellt, amelyet Eric a fetchmail + kifejlesztéséhez használt) említi mint + a ,,nyílt'' fejlesztési modell + példáját. Ezzel szemben a *BSD fejlesztési modelljét gyakran jellemzik zártként.

      -

      A hallgatólagos bírálat szerint a "bazár" - (nyílt) jó, és a "katedrális" (zárt) - rossz.

      +

      A hallgatólagos bírálat szerint a + ,,bazár'' (nyílt) jó, és a + ,,katedrális'' (zárt) rossz.

      -

      Ha valami, akkor a *BSD fejlesztési modell - még inkább hasonlít a - "bazárhoz", mint a Linux vagy a fetchmail - esetében, amelyeket Eric említ.

      +

      Ha valami, akkor a *BSD rendszerek által alkalmazott + fejlesztési modell még inkább + hasonlít a ,,bazárhoz'', mint a Linux vagy a + fetchmail esetében, amelyeket Eric + említ.

      -

      Vegye figyelembe a következõket:

      +

      Ehhez elég csupán a következõket + figyelembe vennünk:

        -
      • Minden *BSD projekt: Az aktuális fejlesztési - forráskód a FreeBSD, NetBSD, és az OpenBSD - esetében is bárki számára - elérhetõ az Interneten keresztül, a nap 24 - órájában. Nem szükséges - arra várni, hogy egy új kiadás jelenjen meg.

        +
      • +

        Minden *BSD projekt esetén: A + forráskód aktuális változata a + &os;, NetBSD, és az OpenBSD esetében is a nap 24 + órájában bárki + számára elérhetõ az Interneten + keresztül. Nem szükséges arra várni, + hogy egy új kiadás jelenjen meg.

        -

        FreeBSD, NetBSD: Egy telepíthetõ "snapshot" - verzió válik elérhetõvé 24 - óránként. Ezek a snapshotok teljesen - ugyanúgy telepíthetõk mint a - közönséges kiadások, és a - telepítéshez nem szükséges egy - meglévõ rendszer.

        +

        &os;, NetBSD: Egy telepíthetõ ,,pillanat'' + verzió 24 óránként válik + elérhetõvé. Ezek a pillanatképek + teljesen ugyanúgy telepíthetõk mint a + közönséges kiadások, és a + telepítéshez nem szükséges egy + meglévõ rendszer.

        -

        OpenBSD: OpenBSD snapshotok naponta készülnek, - és ha Theo elég jónak találja õket, - felkerülnek a tükörszerverekre.

        +

        OpenBSD: OpenBSD pillanatképei naponta + készülnek, és ha Theo elég + jónak találja ezeket, felkerülnek a + tükörszerverekre.

        -

        Ezzel ellentétben a Linux kernelnek csak alkalmilag - válik elérhetõvé új verziója, - és a különbözõ disztribúciók - kiadási gyakorisága a disztribúció - fejlesztõitõl függ.

        +

        Ezzel ellentétben a Linux kernelnek csak alkalmilag + válik elérhetõvé új + verziója, és a különbözõ + disztribúciók kiadási gyakorisága + a disztribúció fejlesztõitõl + függ.

        -

        Itt nem kíséri harsonaszó egy új kernel - megjelenését, mivel a legtöbb *BSD - felhasználó számára ez egy mindennapi - esemény.

      • +

        Itt nem kíséri harsonaszó egy új + kernel megjelenését, mivel a legtöbb *BSD + felhasználó számára ez egy + teljesen megszokott esemény.

        + -
      • A *BSD projektek mind CVS-t használnak a - forráskód karbantartásához.

        +
      • +

        A *BSD projektek mind CVS-t használnak a + forráskód karbantartásához.

        -

        Minden *BSD projekt: a CVS Repository a nap 24 - órájában böngészhetõ, és - a repóból az egész rendszer letölthetõ. - A forrás elérhetõ Anonymous CVS, CVSup, CVSupit, - CTM (e-mail-en keresztül), vagy FTP - segítségével.

      • +

        Minden *BSD projekt esetén: a CVS Repository a + nap 24 órájában + böngészhetõ, és a repositoryból + az egész rendszer letölthetõ. A + forrás elérhetõ anonim CVS, CVSup, CVSupit, + CTM (e-mail-en keresztül) vagy egyszerû FTP + segítségével.

        + -
      • Bárki küldhet javításokat, - hibajelentéseket, dokumentációt, és - egyéb hozzájárulásokat. Ezt a *BSD - rendszerek részét képezõ send-pr - program, vagy a webes felület segítségével - lehet megtenni.

        +
      • +

        Bárki küldhet javításokat, + hibajelentéseket, dokumentációt, + és egyéb módokon is + hozzájárulhat a munkához. Ezt a *BSD + rendszerek részét képezõ + send-pr program vagy a webes felület + segítségével lehet megtenni.

        -

        A dokumentáció hemzseg az erre való - hivatkozásoktól.

      • +

        A dokumentáció hemzseg az erre utaló + hivatkozásoktól.

        + -
      • Nem mindenki hajthat végre változtatásokat a - *BSD kódban. Elõször committerré kell - válnia. Általában olyan emberek kapnak "commit - jogot", akik már a send-pr - segítségével, vagy hasonló módon - beküldtek pár jól átgondolt - változtatást a projektnek.

        +
      • +

        Nem mindenki hajthat végre + változtatásokat a *BSD rendszerek + forráskódjában, ehhez elõször + committerré kell válnia. + Általában olyan emberek kapnak ,,commit jogot'', + akik már a send-pr + segítségével vagy más + hasonló módon beküldtek már + pár alapos változtatást a projektnek.

        Ez a rendszer hasonló a Linux módszeréhez. Egyetlen ember, Linus jogosult megváltoztatni a kernelt, - de a különbözõ területek fejlesztése - (mint például a hálózati kód) - más emberek közt van szétosztva - karbantartásra.

        + de a különbözõ területek (mint + például a hálózati kód) + fejlesztését más emberek tartják + karban.

        -

        Mellesleg: Nik (nik@FreeBSD.org) jó példa erre. - Miután számos fejlesztést hajtott végre a - FreeBSD Dokumentációs Projekten és a weboldalon, - felajánlották neki a "commit jogot", hogy ne kelljen - más committereket zargatnia, hogy hajtsák végre - az általa készített fejlesztéseket. - Soha nem kérte ezt a jogot, ingyen kapta.

      • +

        Mellesleg Nik (nik@FreeBSD.org) jó példa erre. + Miután számos fejlesztést hajtott + végre a FreeBSD Dokumentációs Projekten + és a weboldalon, felajánlották neki a + ,,commit jogot'', hogy ne kelljen más committereket + zargatnia, hogy hajtsák végre az általa + készített fejlesztéseket. Soha nem + kérte ezt a jogot, ingyen kapta.

        +

      -

      Nem készíthet saját - disztribúciót, vagy egyéb, *BSD-bõl - származó munkát

      +

      A *BSD rendszerekrõl nem + készíthetõ saját + disztribúció, vagy nem származtatható + egyéb munka

      -

      Készíthet, csak a dokumentációban és - a forrásfájlokban fel kell tüntetnie, hogy a - kód honnan - származik. Rengeteg származtatott projekt - létezik:

      +

      Készíthetõ, csak a + dokumentációban és a + forrásfájlokban fel kell tüntetni, hogy a + forráskód honnan származik. Rengeteg + származtatott projekt létezik:

        -
      • A DragonflyBSD - a FreeBSD 4.X egy kódelágazásaként - indult, de azóta kialakult a saját - felhasználói közössége és a - fejlesztési céljai.

      • +
      • +

        A DragonflyBSD a + &os; 4.X egy leágazásaként indult, + de azóta már van saját + felhasználói közössége + és vannak fejlesztési céljai.

        +
      • -
      • A TrustedBSD - olyan kiegészítéseket nyújt - a FreeBSD-hez, amelyek a trusted operációs - rendszerekre jellemzõ funkciókkal látják - el azt, megcélozva ezzel az IT biztonsági - minõsítést, a Common Criteria-t (CC). - Ez a projekt fejlesztés alatt áll, a kód - nagy része visszakerül a FreeBSD alaprendszerbe, de a - fejlesztés külön történik.

      • +
      • +

        A TrustedBSD a + &os;-hez nyújt a megbízható (trusted) + operációs rendszerekre jellemzõ + funkciókat képviselõ + különbözõ kiterjesztéseket, + és ezzel az IT biztonsági + minõsítést, a Common Criteria-t (CC) + célozza meg. Ez a projekt folyamatos fejlesztés + alatt áll, a kód nagy része + visszakerül a &os; alaprendszerébe, de a + fejlesztés külön történik.

        +

      • -
      • A FreeSBIE egy - CD-ROM-ról futó teljes desktop rendszer. - Telepíthetõ is, de különösen - hasznos háttértár nélküli - számítógépekhez.

      • +
      • +

        A FreeSBIE egy + CD-ROM-ról futó teljes asztali rendszer. + Telepíthetõ is, de különösen + hasznos háttértár nélküli + számítógépekhez.

      • -
      • A Frenzy egy - másik live-CD disztribúció, de - elsõsorban adminisztrációs feladatokhoz. - Egyaránt tartalmaz hardvertesztelõ, - fájlrendszer-ellenõrzõ, biztonsági - ellenõrzõ, hálózat-konfiguráló - és -analizáló szoftvereket.

      • +
      • +

        A Frenzy egy + másik live-CD disztribúció, de + elsõsorban adminisztrációs feladatokhoz. + Egyaránt tartalmaz hardvertesztelõ, + állományrendszer-ellenõrzõ, + biztonsági ellenõrzõ, + hálózatkonfiguráló és + -analizáló szoftvereket.

        +

      • -
      • A PicoBSD - egy testreszabott FreeBSD disztribúció, amely - elfér akár egy floppy lemezen is. Remek eszköz - merevlemez nélküli 386-os PC-k routerré, vagy - nyomtató szerverré alakításához. - A FreeBSD forrásfa része, tekintse meg a - /usr/src/release/picobsd könyvtárat.

      • +
      • +

        A PicoBSD + egy testreszabott &os; disztribúció, amely + elfér akár egy floppy lemezen is. Remek + eszköz merevlemez nélküli 386-os PC-k + útválasztóvá vagy + nyomtatószerverré + alakításához. A &os; + forrásfájának része, lásd a + /usr/src/release/picobsd könyvtárat.

        +
      • -
      • A NanoBSD egy - másik projekt a FreeBSD minimális - helyigényû verzióinak - elõállításához amelyek - elférnek egy Compact Flash kártyán, vagy - egyéb elterjedt adathordozón. Ez a projekt is - a FreeBSD forrásfa része, tekintse meg a - /usr/src/tools/tools/nanobsd könyvtárat.

      • +
      • +

        A NanoBSD egy + másik olyan projekt, amely a &os; minimális + helyigényû verziójának + elõállításával foglalkozik. + Ez a változat elfér egy Compact Flash + kártyán vagy egyéb kisebb + méretû adathordozón. Ez a projekt is a + &os; forrásfájának része, + lásd a /usr/src/tools/tools/nanobsd + könyvtárat.

        +
      • -
      • A TinyBSD - shell scriptek egy olyan készlete, amelyek a - FreeBSD 5.X és 6.X verzióin alapuló - beágyazott rendszerek fejlesztéséhez - használható.

      • +
      • +

        A TinyBSD olyan + shell szripteket foglal össze, amelyek a &os; 5.X + és 6.X verzióin alapuló beágyazott + rendszerek fejlesztéséhez + használhatóak.

      • -
      • A ThinBSD egy - kisméretû rendszerindító lemez, - amellyel egy egyszerû PC-t használhatunk - Microsoft Windows RDP kliensként, vagy - X terminálként. Az egész - konfiguráció DHCP protokollon - végezhetõ.

      • +
      • +

        A ThinBSD egy + kisméretû rendszerindító lemez, + amellyel egy egyszerû PC-t használhatunk Microsoft + Windows RDP kliensként, vagy X + terminálként. Az egész + konfiguráció DHCP protokollon + végezhetõ.

        +
      • -
      • A PC-BSD egy dekstop - felhasználásra készített - FreeBSD leszármazott. A fejlesztés - célja, hogy könnyen telepíthetõ - legyen és egy segítõkész - közösség alakuljon ki - körülötte.

      • +
      • +

        A PC-BSD egy asztali + felhasználásra elõkészített + &os; leszármazott. A fejlesztés célja, + hogy könnyen telepíthetõ legyen és egy + segítõkész közösség + alakuljon ki körülötte.

        +
      • -
      • A DesktopBSD egy - másik desktop felhasználásra - szánt FreeBSD alapú operációs - rendszer.

      • +
      • +

        A DesktopBSD egy + másik asztali felhasználásra szánt + &os; alapú operációs rendszer.

        +
      • -
      • A - Gentoo/FreeBSD a Gentoo Projekt kezdeményezése - arra, hogy a Gentoo adminisztrációs adottságait - portolják a megbízható FreeBSD kernelre és - szoftverkörnyezetre. A projekt befejezetlen, - kísérleti stádiumban van.

      • +
      • +

        A Gentoo/&os; + a Gentoo Projekt kezdeményezése arra, hogy a + Gentoo adminisztrációs adottságait + portolják a megbízható &os; + rendszermagjára és + szoftverkörnyezetére. A projekt befejezetlen, + jelenleg kísérleti stádiumban van.

        +
      • -
      • A m0n0wall egy - FreeBSD alapú tûzfalrendszer, amely - rengeteg olyan funkcióval rendelkezik, amelyet - a drága tûzfalak nyújtanak, mint - például a webes interfész, - visszaállíthatóság a - gyári beállításokra, - alapos csomagszûrés, NAT/PAT - átirányítás, DHCP kliens - és szerver, gyorstáras névszerver - és még ennél is több.

      • +
      • +

        A m0n0wall egy &os; + alapú tûzfalrendszer. Rengeteg olyan + funkcióval rendelkezik, amelyet a drága + tûzfalak is nyújtanak, mint például + a webes interfész, gyári + beállítások + visszaállítása, + állapottartó csomagszûrés, NAT/PAT + átirányítás, DHCP kliens és + szerver, gyorstárazó névszerver és + még sok minden más.

        +
      • -
      • A pfSense egy - mo0nowall alapú tûzfalrendszer, de a fejlesztés - céljai és a támogatott funkciók - különbözõek, mint pl. az OpenBSD Packet - Filter (PF), FreeBSD 6.1, ALTQ támogatás a - kiûnõ háló csomagütemezéshez - és egy integrált csomagkezelõ rendszer a - bõvíthetõ funkcionalitásért.

      • +
      • +

        A pfSense egy m0n0wall + alapú tûzfalrendszer, de a fejlesztés + céljai és a támogatott funkciók + különbözõek, mint például az + OpenBSD Packet Filter (PF) és a &os; 6.1 + támogatása, vagy a kitûnõ + hálózati ütemezéshez az ALTQ + támogatása, valamint a funkcionalitás + bõvíthetõségét egy + integrált csomagkezelõ rendszer + segítségével valósítja + meg.

        +
      • -
      • A Whistle Interjet egy "hálózati - készülék", ami router, webszerver, - e-mail szerver és egyéb funkciókat - lát el, továbbá webböngészõvel - konfigurálható. A készülék - alapja a FreeBSD operációs rendszer, - és a Whistle a fejlesztéseinek nagy - részét visszaküldte a FreeBSD projekthez - (miközben eleget megtartott ahhoz, hogy az - üzleti versenyben maradhasson).

      • - +
      • +

        A Whistle Interjet egy ,,hálózati + készülék'', amely + útválasztó, webszerver, e-mail szerver + és egyéb funkciókat lát el, + továbbá webböngészõvel + konfigurálható. A készülék + alapja a &os; operációs rendszer, és a + Whistle a fejlesztéseinek nagy részét + visszaküldte a &os; Projektnek (miközben eleget + megtartott ahhoz, hogy az üzleti versenyben + maradhasson).

        +
      -

      A DragonflyBSD esetéhez hasonlóan, az OpenBSD sem volt - önálló projekt, a NetBSD projekt alapjaitól - indult el, és azóta kialakult a saját - szemléletmódja.

      +

      A DragonflyBSD esetéhez hasonlóan, az OpenBSD sem + volt önálló projekt, a NetBSD projekt + alapjaitól indult el és azóta kialakult a + saját szemléletmódja.


      -

      A *BSD egy remek kiszolgáló, de - rossz desktop rendszer

      +

      A *BSD rendszerek remek + kiszolgálók, de rossz asztali rendszerek

      -

      A *BSD egy remek kiszolgáló, de egy remek desktop - rendszer is. Sok elvárás a kiszolgálók - felé (gyors válaszidõ nagy terhelés alatt is, - stabilitás, erõforrások hatéony - kihasználása) ugyanúgy elvárás a - dektop rendszerek esetén is.

      +

      A *BSD rendszerek remek kiszolgálók, de egyben + remek asztali rendszerek is. Sok elvárás a + kiszolgálók felé (rövid + válaszidõ nagy terhelés alatt is, + stabilitás, az erõforrások hatékony + kihasználása) ugyanúgy elvárás + az asztali rendszerek esetén is.

      -

      A *BSD mûködik ugyanazokkal a desktop szoftverekkel (KDE, - GNOME, Firefox, ablakkezelõk), mint a Linux, és az irodai - szoftverek, mint például az OpenOffice csomag is - remekül mûködik a *BSD rendszerek alatt.

      +

      A *BSD rendszerek ugyanazokkal az asztali szoftverekkel (KDE, + GNOME, Firefox, ablakkezelõk) mûködnek, mint a + Linux, és az irodai szoftverek, mint például + az OpenOffice csomag is remekül mûködnek + alattuk.


      -

      A BSD kódbázis régi, - elavult és haldokló

      +

      A *BSD rendszerek + forráskódja régi, elavult és + haldoklik

      -

      A BSD kódbázis egyes részei több mint 20 - évesek is lehetnek, de ez egyáltalán nem jelenti - azt, hogy elavult, vagy haldokló. Rengeteg profi - felhasználó szereti azt a stabilitást, amelyet - többéves tesztelés eredményezett.

      +

      Noha a BSD rendszerek forráskódjának egyes + részei akár több mint 20 évesek is + lehetnek, egyáltalán nem jelenti azt, hogy elavult + lenne vagy éppen haldokolna. Rengeteg profi + felhasználó szereti azt a stabilitást, + amelyet ez a többéves tesztelés hozott + magával.

      Technológiai fejlesztések továbbra is - bekerülnek a *BSD rendszerekbe, mint például:

      + bekerülnek a *BSD rendszerekbe, mint + például:

        -
      • SMP: Symmetric Multi-Processing, több processzorral - rendelkezõ rendszerek használata.

      • +
      • +

        SMP: Symmetric Multi-Processing, vagyis a több + processzorral rendelkezõ rendszerek használata.

        +
      • -
      • SoftUpdates: A BSD fájlrendszert legalább olyan - gyorssá teszi, mint a Linux fájlrendszer, - az szinkron írási mûveletek - engedélyezése - és így az ezzel - járó kockázat - - nélkül.

      • +
      • +

        SoftUpdates: A BSD állományrendszert + legalább olyan gyorssá teszi mint a Linux + által használt állományrendszerek, + az aszinkron írási mûveletek + engedélyezése — és így az + ezzel járó kockázat — + nélkül.

        +
      • -
      • VM rendszer: A VM (Virtuális Memória) alrendszer - folyamatosan fejlõdik. A VM/cache kialakítása - segít a wcarchive.cdrom.com-hoz hasonló - kiszolgálóknak a több ezer (konkrétan - több mint 10.000) egyidejû FTP kapcsolat szakadatlan - kezelésében.

      • +
      • +

        VM rendszer: A VM (Virtuális Memória) + alrendszer folyamatosan fejlõdik. A VM/cache + kialakítása segít a wcarchive.cdrom.com + szolgáltatásához hasonló + kiszolgálóknak a több ezer + (konkrétan több mint 10 000) egyidejû + FTP kapcsolat kiesésektõl mentes + kezelésében.

        +
      • -
      • Architektúra portok: A FreeBSD jelenleg hat fõ - architektúrát támogat: AMD64, i386, - Itanium, PC-98, PowerPC és UltraSPARC. - Jelenleg is folynak fejlesztések további - architektúrák támogatására. - Tekintse meg a Támogatott Platformok - oldalt bõvebb információért.

      • +
      • +

        Különbözõ architektúrák: A + &os; jelenleg hét fõ architektúrát + támogat: Alpha, AMD64, i386, Itanium, PC-98, PowerPC + és UltraSPARC. Jelenleg is folynak fejlesztések + további architektúrák + támogatására. Bõvebb + információért lásd a Támogatott + platformok oldalt.

        +
      • -
      • MAC keretrendszer: A FreeBSD támogatja a Mandatory - Access Controlt, azt a funkciót, amely általában - drága trusted operációs rendszerekben - található meg. A FreeBSD kiemelkedõ - biztonságot nyújt Önnek ingyen! A - TrustedBSD Projekt - további trusted operációs rendszer - kiegészítéseket kínál.

      • +
      • +

        MAC alrendszer: A &os; támogatja a Mandatory Access + Controlt, vagyis egy olyan funkciót, amely + általában csak drága + megbízható (trusted) operációs + rendszerekben található meg. A &os; ellenben + kiemelkedõ biztonságot nyújt ingyen! A + témával kapcsolatban a TrustedBSD Projekt + kínál további + kiegészítéseket.

      • -
      • GEOM keretrendszer: A GEOM egy moduláris lemezkezelõ - keretrendszer, amelynek segítségével - összefûzhet, tükrözhet, csíkozhat, vagy - titkosíthat lemezeket. Funkcionalitásban gazdag, - és biztonságban tartja az adatait.

      • - +
      • +

        GEOM alrendszer: A GEOM egy moduláris lemezkezelõ + rendszer, amelynek segítségével + összefûzhetünk, tükrözhetünk, + csíkozhatunk vagy titkosíthatunk lemezeket. + Funkcionalitásban gazdag, és biztonságban + tartja az adatainkat. +


      -

      A *BSD projektek egymással versengenek - felhasználók csoportjait egyre jobban megosztva ezzel

      +

      A *BSD projektek egymással + háborúznak, hetente válnak ki újabb + felhasználói csoportok

      -

      Ez nem így van. Noha idõnként heves viták - zajlanak a *BSD rendszerek képviselõi között, - a projektek továbbra is együtt dolgoznak. A FreeBSD Alpha - portja kezdetben nagyrészt a NetBSD csapat munkáján - alapult. A NetBSD és az OpenBSD is a FreeBSD Ports Collectiont - vette alapul a saját portrendszerének - kialakításakor. A FreeBSD és a NetBSD is - átvett biztonsági javításokat, amelyeket - az OpenBSD-ben fedeztek fel elõször.

      +

      Ez nem így van. Noha idõnként heves + viták zajlanak a *BSD rendszerek képviselõi + között, a projektek továbbra is együtt + dolgoznak. A &os; Alpha portja kezdetben nagyrészt a + NetBSD csapat munkáján alapult. A NetBSD és + az OpenBSD is a &os; Portgyûjteményét vette + alapul a saját portrendszerének + kialakításakor. A &os; és a NetBSD is + vesznek át olyan biztonsági + javításokat, amelyeket az OpenBSD-ben fedeznek fel + elõször.

      -

      A FreeBSD és a NetBSD több mint öt éve - vált szét, csak az OpenBSD és a DragonflyBSD - számítanak újabb projektnek.

      +

      A &os; és a NetBSD projektek több mint tíz + éve váltak szét, azóta csak az OpenBSD + és a DragonflyBSD számítanak újabb BSD + projektnek.

      A *BSD projektek más területen is - együttmûködnek. Például a - DaemonNews - havonta frissülõ online magazin is a négy projekt + együttmûködnek. Például a DaemonNews havonta + frissülõ internetes magazin is a négy projekt tagjainak közös munkája.


      -

      Nem lehet *BSD rendszereket - fürtözni (párhuzamos használat)

      +

      A *BSD rendszereket nem + fürtözni (párhuzamos + számításokra)

      -

      A következõ (angol nyelvû) URL-ek cáfolják - ezt;

      +

      A következõ (angol nyelvû) linkek pontosan ezt + cáfolják:

      -
    - -

    Ezen kívül a - freebsd-cluster - levelezési lista is rendelkezésre áll a FreeBSD - fürtözésével kapcsolatos kérdések - megvitatására.

    +

    Ezeken kívül még a freebsd-cluster + levelezési lista is rendelkezésre áll a >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 05:09:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA539106567F; Wed, 2 Jul 2008 05:09: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 6C1871065679 for ; Wed, 2 Jul 2008 05:09:35 +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 5843E8FC12 for ; Wed, 2 Jul 2008 05:09:35 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6259ZnX057028 for ; Wed, 2 Jul 2008 05:09:35 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m6259Zku057024 for perforce@freebsd.org; Wed, 2 Jul 2008 05:09:35 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 2 Jul 2008 05:09:35 GMT Message-Id: <200807020509.m6259Zku057024@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 144459 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, 02 Jul 2008 05:09:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=144459 Change 144459 by pgj@disznohal on 2008/07/02 05:09:10 Rework in www/hu/community Affected files ... .. //depot/projects/docproj_hu/www/hu/community/irc.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#7 edit .. //depot/projects/docproj_hu/www/hu/community/webresources.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/community/irc.sgml#5 (text+ko) ==== @@ -17,23 +17,24 @@ &header;

    Ugyan több IRC hálózaton létezik - #freebsd csatorna, de a FreeBSD Projekt nem felügyeli ezeket - és nem ismeri el az IRC-t, mint támogatási - formát. Elõfordulhat, hogy nem figyelnek Önre, - inzultálják, vagy kirúgják, ha - kérdéseket tesz fel bármilyen IRC - csatornán, de kicsit több szerencséje lehet, ha - #freebsdhelp csatornákon próbálkozik, ahol - létezik ilyen. A &os;-vel foglalkozó IRC - csatornákat a &os; wikijében - olvashatjuk. Ha ki akarja próbálni ezeket, vagy - más IRC csatornákat, teljes mértékben - a saját felelõsségére teszi, a FreeBSD - Projekt nem foglalkozik az ezekkel a csatornákkal - kapcsolatos panaszokkal. Ha többet szeretne errõl - megtudni, akkor tekintse meg az erre vonatkozó GYIK bejegyzést + olvashatjuk. Teljesen a saját + felelõsségünkre tegyünk próbát + ezeken vagy más IRC csatornákon, a &os; Projekt + nem foglalkozik az ezzel kapcsolatos panaszokkal. Ha többet + szeretnénk errõl megtudni, akkor tekintsünk meg + az erre vonatkozó GYIK bejegyzést .

    &footer; ==== //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#7 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> @@ -16,29 +16,29 @@ &header; -

    A levelezési listák jelentik a FreeBSD +

    A levelezési listák jelentik a &os; közösség fõ kommunikációs - csatornáját és rengeteg - témát érintenek.

    + csatornáját és rengeteg témát + érintenek.

    Levelezési lista archívumok

    -

    A levelezési listák archívumait - keresheti - vagy böngészheti - a - www.FreeBSD.org - honlapon keresztül. A Mailman is biztosít egy - webes felületet az archívum - böngészéséhez. -

    +

    A www.FreeBSD.org honlapon + keresztül kereshetünk + vagy böngészhetünk + a levelezési listák archívumában. + Ehhez a Mailman nyújt webes felületet + .

    -

    Angol Levelezési Listák

    +

    Angol nyelvû levelezési listák

    -

    Az angol nyelvû levelezési listák a FreeBSD - Kézikönyvben vannak - felsorolva.

    +

    Az angol nyelvû levelezési listákat a &os; + kézikönyvben soroltuk fel + .

    Nem angol nyelvû levelezési listák

    @@ -46,89 +46,89 @@ létezik:

    -

    Ha létrehoz egy újabb FreeBSD levelezési - listát, kérjük - tudassa velünk!

    +

    Ha létrehoz egy újabb &os; levelezési + listát, kérjük tudassa velünk!

    &footer; ==== //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#7 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> @@ -16,20 +16,21 @@ &header; -

    Létezik pár FreeBSD-vel foglalkozó - hírcsoport, +

    Létezik pár &os;-vel foglalkozó hírcsoport, és sok más egyéb olyan hírcsoport is, - amelyek érdekesek lehetnek a FreeBSD felhasználói - számára, de ennek ellenére a levelezési - listák jelentik a legmegbízhatóbb utat, hogy - felvegye a kapcsolatot a FreeBSD fejlesztõivel. - A különféle FreBSD-vel kapcsolatos - megbeszéléseket comp.unix.bsd.freebsd.misc - hírcsoportban találja. Fontos bejelentésekhez - tekintse meg a - comp.unix.bsd.freebsd.announce - hírcsoportot.

    + hírcsoportban találjuk. A fontos + bejelentéset lásd a comp.unix.bsd.freebsd.announce + hírcsoportban.

    &footer; ==== //depot/projects/docproj_hu/www/hu/community/webresources.sgml#4 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> @@ -17,53 +17,55 @@ &header;

    Ez a weboldal a legjobb információforrás, - ráadásul rengeteg tükörrel rendelkezik - világszerte. Próbálja ki a + ráadásul rengeteg tükrözéssel + rendelkezik világszerte. Próbálkozzunk a www.országrövidítés.FreeBSD.org - címet (pl. - www.de.FreeBSD.org - Németország, vagy - www.au.FreeBSD.org - Ausztrália tükréhez), vagy válasszon egy - szervert a fõoldal - legördülõ listájából.

    + címmel (például a www.de.FreeBSD.org a + németországi, vagy a www.au.FreeBSD.org az + ausztráliai tükrözés), vagy + válasszunk egy szervert a fõoldal legördülõ + listájából.

    -

    A FreeBSD weboldala több nyelvre le lett fordítva. - A fordított verziókhoz linkeket a - fõoldalon - találhat.

    +

    A &os; honlapja több nyelven is olvasható. A + különbözõ fordítások linkjeit a + fõoldalon találhatjuk + meg.

    -

    Ezen kívül több nem angol nyelvû +

    Ezenkívül még több nem angol nyelvû forrás is létezik:

    -

    A FreeBSD jelenlegi állapotáról - szóló információkért tekintse meg a - Hírek oldalt.

    +

    A &os; jelenlegi állapotáról + szóló információkat a Hírek oldalon + találjuk.

    &footer; From owner-p4-projects@FreeBSD.ORG Wed Jul 2 09:47:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA4BB1065670; Wed, 2 Jul 2008 09:47: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 7BC201065676 for ; Wed, 2 Jul 2008 09:47:17 +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 699938FC32 for ; Wed, 2 Jul 2008 09:47:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m629lHOR004367 for ; Wed, 2 Jul 2008 09:47:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m629lHIg004365 for perforce@freebsd.org; Wed, 2 Jul 2008 09:47:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 2 Jul 2008 09:47:17 GMT Message-Id: <200807020947.m629lHIg004365@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 144475 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, 02 Jul 2008 09:47:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=144475 Change 144475 by hselasky@hselasky_laptop001 on 2008/07/02 09:47:12 Fix some LORs. When starting and stopping an USB transfer it is safest to defer the callback to the callback thread, and not do all callbacks from the current execution environment. That way the USB callback is always executed from the callback thread/process: See: xfer->usb2_root->done_p (struct usb2_process) Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#8 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#9 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/controller/usb2_controller.c#5 (text+ko) ==== @@ -234,9 +234,7 @@ * Free USB Root device, but not any sub-devices, hence they * are freed by the caller of this function: */ - sx_xlock(udev->default_sx + 1); usb2_detach_device(udev, USB_IFACE_INDEX_ANY, 0); - sx_unlock(udev->default_sx + 1); usb2_free_device(udev); mtx_unlock(&Giant); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#6 (text+ko) ==== @@ -856,6 +856,7 @@ { struct usb2_interface *iface; uint8_t i; + uint8_t do_unlock; if (udev == NULL) { /* nothing to do */ @@ -863,7 +864,13 @@ } DPRINTF(3, "udev=%p\n", udev); - sx_assert(udev->default_sx + 1, SA_LOCKED); + /* automatic locking */ + if (sx_xlocked(udev->default_sx + 1)) { + do_unlock = 0; + } else { + do_unlock = 1; + sx_xlock(udev->default_sx + 1); + } /* * First detach the child to give the child's detach routine a @@ -890,6 +897,10 @@ } usb2_detach_device_sub(udev, &(iface->subdev), free_subdev); } + + if (do_unlock) { + sx_unlock(udev->default_sx + 1); + } return; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#8 (text+ko) ==== @@ -313,9 +313,7 @@ /* detach any existing devices */ if (child) { - sx_xlock(child->default_sx + 1); usb2_detach_device(child, USB_IFACE_INDEX_ANY, 1); - sx_unlock(child->default_sx + 1); usb2_free_device(child); child = NULL; } @@ -409,9 +407,7 @@ error: if (child) { - sx_xlock(child->default_sx + 1); usb2_detach_device(child, USB_IFACE_INDEX_ANY, 1); - sx_unlock(child->default_sx + 1); usb2_free_device(child); child = NULL; } @@ -806,9 +802,7 @@ * Subdevices are not freed, because the caller of * uhub_detach() will do that. */ - sx_xlock(child->default_sx + 1); usb2_detach_device(child, USB_IFACE_INDEX_ANY, 0); - sx_unlock(child->default_sx + 1); usb2_free_device(child); child = NULL; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#5 (text+ko) ==== @@ -365,7 +365,7 @@ usb2_transfer_start(xfer); - while (xfer->flags_int.transferring) { + while (usb2_transfer_pending(xfer)) { if ((flags & USB_USE_POLLING) || cold) { usb2_do_poll(udev->default_xfer, USB_DEFAULT_XFER_MAX); } else { ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#9 (text+ko) ==== @@ -125,6 +125,7 @@ static void usb2_control_transfer_init(struct usb2_xfer *xfer); static uint8_t usb2_start_hardware_sub(struct usb2_xfer *xfer); static void usb2_callback_proc(struct usb2_proc_msg *_pm); +static void usb2_callback_ss_done_defer(struct usb2_xfer *xfer); static void usb2_callback_wrapper(struct usb2_xfer_queue *pq); static void usb2_dma_delay_done_cb(void *arg); static void usb2_transfer_start_cb(void *arg); @@ -1164,6 +1165,9 @@ /* the size of the SETUP structure is hardcoded ! */ if (xfer->frlengths[0] != sizeof(struct usb2_device_request)) { + DPRINTF(-1, "Wrong framelength %u != %u\n", + xfer->frlengths[0], sizeof(struct + usb2_device_request)); goto error; } /* check USB mode */ @@ -1470,7 +1474,7 @@ } mtx_lock(xfer->usb2_mtx); /* call the USB transfer callback */ - usb2_command_wrapper(&(xfer->usb2_root->done_q), xfer); + usb2_callback_ss_done_defer(xfer); mtx_unlock(xfer->usb2_mtx); return; } @@ -1540,6 +1544,46 @@ } /*------------------------------------------------------------------------* + * usb2_transfer_pending + * + * This function will check if an USB transfer is pending which is a + * little bit complicated! + * Return values: + * 0: Not pending + * 1: Pending: The USB transfer will receive a callback in the future. + *------------------------------------------------------------------------*/ +uint8_t +usb2_transfer_pending(struct usb2_xfer *xfer) +{ + struct usb2_xfer_root *info; + struct usb2_xfer_queue *pq; + + mtx_assert(xfer->priv_mtx, MA_OWNED); + + if (xfer->flags_int.transferring) { + /* trivial case */ + return (1); + } + mtx_lock(xfer->usb2_mtx); + if (xfer->wait_queue) { + /* we are waiting on a queue somewhere */ + mtx_unlock(xfer->usb2_mtx); + return (1); + } + info = xfer->usb2_root; + pq = &(info->done_q); + + if (pq->curr == xfer) { + /* we are currently scheduled for callback */ + mtx_unlock(xfer->usb2_mtx); + return (1); + } + /* we are not pending */ + mtx_unlock(xfer->usb2_mtx); + return (0); +} + +/*------------------------------------------------------------------------* * usb2_transfer_drain * * This function will stop the USB transfer and wait for any @@ -1564,7 +1608,7 @@ usb2_transfer_stop(xfer); - while (xfer->flags_int.transferring) { + while (usb2_transfer_pending(xfer)) { xfer->flags_int.draining = 1; /* * Wait until the current outstanding USB @@ -1645,6 +1689,43 @@ } /*------------------------------------------------------------------------* + * usb2_callback_ss_done_defer + * + * This function will defer the start, stop and done callback to the + * correct thread. + *------------------------------------------------------------------------*/ +static void +usb2_callback_ss_done_defer(struct usb2_xfer *xfer) +{ + struct usb2_xfer_root *info = xfer->usb2_root; + struct usb2_xfer_queue *pq = &(info->done_q); + + if (!mtx_owned(xfer->usb2_mtx)) { + panic("%s: called unlocked!\n", __FUNCTION__); + } + if (pq->curr != xfer) { + usb2_transfer_enqueue(pq, xfer); + } + if (!pq->recurse_1) { + + /* + * We have to postpone the callback due to the fact we + * will have a Lock Order Reversal, LOR, if we try to + * proceed ! + */ + if (usb2_proc_msignal(&(info->done_p), + &(info->done_m[0]), &(info->done_m[1]))) { + /* ignore */ + } + } else { + /* clear second recurse flag */ + pq->recurse_2 = 0; + } + return; + +} + +/*------------------------------------------------------------------------* * usb2_callback_wrapper * * This is a wrapper for USB callbacks. This wrapper does some @@ -1663,11 +1744,10 @@ } if (!mtx_owned(xfer->priv_mtx)) { /* - * Cases that end up here: - * - * 5) HW interrupt done callback or other source. - */ - + * Cases that end up here: + * + * 5) HW interrupt done callback or other source. + */ DPRINTF(2, "case 5\n"); /* @@ -1675,7 +1755,6 @@ * will have a Lock Order Reversal, LOR, if we try to * proceed ! */ - if (usb2_proc_msignal(&(info->done_p), &(info->done_m[0]), &(info->done_m[1]))) { /* ignore */ @@ -1700,6 +1779,11 @@ /* set correct USB state for callback */ if (!xfer->flags_int.transferring) { xfer->usb2_state = USB_ST_SETUP; + if (!xfer->flags_int.started) { + /* we got stopped before we even got started */ + mtx_lock(xfer->usb2_mtx); + goto done; + } } else { if (usb2_callback_wrapper_sub(xfer)) { @@ -1905,7 +1989,7 @@ } /* call the USB transfer callback */ - usb2_command_wrapper(&(xfer->usb2_root->done_q), xfer); + usb2_callback_ss_done_defer(xfer); return; } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.h#4 (text+ko) ==== @@ -63,10 +63,8 @@ uint32_t dma_nframes; /* number of page caches to load */ uint32_t dma_currframe; /* currect page cache number */ uint32_t dma_frlength_0; /* length of page cache zero */ - uint8_t dma_error; /* set if virtual memory could not be * loaded */ - uint8_t done_sleep; /* set if done thread is sleeping */ }; @@ -103,6 +101,7 @@ /* function prototypes */ +uint8_t usb2_transfer_pending(struct usb2_xfer *xfer); uint8_t usb2_transfer_setup_sub_malloc(struct usb2_setup_params *parm, struct usb2_page_search *info, struct usb2_page_cache **ppc, uint32_t size, uint32_t align); void usb2_command_wrapper(struct usb2_xfer_queue *pq, struct usb2_xfer *xfer); void usb2_pipe_enter(struct usb2_xfer *xfer); From owner-p4-projects@FreeBSD.ORG Wed Jul 2 10:04:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 724271065685; Wed, 2 Jul 2008 10:04: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 3281E106566C for ; Wed, 2 Jul 2008 10:04:35 +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 1EBD18FC16 for ; Wed, 2 Jul 2008 10:04:35 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62A4Z7U006797 for ; Wed, 2 Jul 2008 10:04:35 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62A4YnS006795 for perforce@freebsd.org; Wed, 2 Jul 2008 10:04:34 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 10:04:34 GMT Message-Id: <200807021004.m62A4YnS006795@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 144476 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, 02 Jul 2008 10:04:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=144476 Change 144476 by trasz@trasz_traszkan on 2008/07/02 10:03:54 IFC Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/getaddrinfo.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/hexdump.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/hexdump.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/libutil.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/dhclient/dhclient.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/sconfig/sconfig.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/pecoff/imgact_pecoff.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/cpddk.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/ctddk.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/cxddk.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephyreg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/pecoff/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_bridge.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_syscalls.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/unbzip2.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/znew#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/su/su.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mountd/exports.5#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcstat/pmcstat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wpa/wpa_supplicant/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.143 2008/06/14 10:42:18 ed Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.144 2008/07/01 21:54:08 danger 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,9 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080701: wpa_supplicant.conf moved to share/examples/etc/ +OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf +OLD_DIRS+=usr/share/examples/wpa_supplicant # 20080614: sgtty removed OLD_FILES+=usr/include/sys/ttychars.h OLD_FILES+=usr/include/sys/ttydev.h ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/getaddrinfo.3#2 (text+ko) ==== @@ -16,9 +16,9 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.33 2007/06/06 19:24:02 remko Exp $ +.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.34 2008/07/01 22:59:20 danger Exp $ .\" -.Dd June 6, 2007 +.Dd July 1, 2008 .Dt GETADDRINFO 3 .Os .Sh NAME @@ -237,6 +237,11 @@ .Fa ai_family equals .Dv AF_INET6 . +Note: this flag is currently +.Em not +supported, see the +.Sx BUGS +section. .El .El .Pp @@ -485,6 +490,18 @@ .%B "Proceedings of the freenix track: 2000 USENIX annual technical conference" .%D June 2000 .Re +.Sh BUGS +The +.Nm +function as implemented in +.Fx +currently does not support +.Dv AI_ALL +and +.Dv AI_V4MAPPED +flags and returns +.Dv EAI_BADFLAGS +if one of them is specified. .Sh STANDARDS The .Fn getaddrinfo ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libutil/Makefile,v 1.67 2008/04/23 00:49:12 scf Exp $ +# $FreeBSD: src/lib/libutil/Makefile,v 1.68 2008/07/01 22:30:57 jhb Exp $ SHLIBDIR?= /lib @@ -9,9 +9,9 @@ SHLIB_MAJOR= 7 SRCS= _secure_path.c auth.c gr_util.c expand_number.c flopen.c fparseln.c \ - humanize_number.c kld.c login.c login_auth.c login_cap.c login_class.c \ - login_crypt.c login_ok.c login_times.c login_tty.c logout.c \ - logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \ + hexdump.c humanize_number.c kld.c login.c login_auth.c login_cap.c \ + login_class.c login_crypt.c login_ok.c login_times.c login_tty.c \ + logout.c logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \ stub.c trimdomain.c uucplock.c INCS= libutil.h login_cap.h ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/libutil.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libutil/libutil.h,v 1.47 2008/04/23 00:49:12 scf Exp $ + * $FreeBSD: src/lib/libutil/libutil.h,v 1.48 2008/07/01 22:30:57 jhb Exp $ */ #ifndef _LIBUTIL_H_ @@ -71,6 +71,7 @@ int extattr_namespace_to_string(int _attrnamespace, char **_string); int extattr_string_to_namespace(const char *_string, int *_attrnamespace); int flopen(const char *_path, int _flags, ...); +void hexdump(const void *ptr, int length, const char *hdr, int flags); void login(struct utmp *_ut); int login_tty(int _fd); int logout(const char *_line); @@ -171,4 +172,11 @@ #define HN_GETSCALE 0x10 #define HN_AUTOSCALE 0x20 +/* hexdump(3) */ +#define HD_COLUMN_MASK 0xff +#define HD_DELIM_MASK 0xff00 +#define HD_OMIT_COUNT (1 << 16) +#define HD_OMIT_HEX (1 << 17) +#define HD_OMIT_CHARS (1 << 18) + #endif /* !_LIBUTIL_H_ */ ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/dhclient/dhclient.c#2 (text+ko) ==== @@ -54,7 +54,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/dhclient/dhclient.c,v 1.23 2008/03/22 16:24:02 sam Exp $"); +__FBSDID("$FreeBSD: src/sbin/dhclient/dhclient.c,v 1.24 2008/06/30 20:23:49 ed Exp $"); #include "dhcpd.h" #include "privsep.h" @@ -2612,6 +2612,7 @@ setproctitle("%s [priv]", ifi->name); + setsid(); dup2(nullfd, STDIN_FILENO); dup2(nullfd, STDOUT_FILENO); dup2(nullfd, STDERR_FILENO); ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/sconfig/sconfig.c#2 (text+ko) ==== @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/sconfig/sconfig.c,v 1.5 2008/02/19 07:09:18 ru Exp $"); +__FBSDID("$FreeBSD: src/sbin/sconfig/sconfig.c,v 1.6 2008/06/30 21:18:27 rik Exp $"); #include #include @@ -276,6 +276,15 @@ system (buf); } +static void +set_debug_ifconfig (int on) +{ + char buf [64]; + sprintf (buf, "ifconfig %s %sdebug 2>/dev/null", chan_name, + on ? "" : "-"); + system (buf); +} + static char * format_long (unsigned long val) { @@ -724,6 +733,7 @@ int i, mode, loop, nrzi, dpll, invclk, phony, use16, crc4, unfram, ami; int higain, clk, keepalive, debug, port, dlci, invrclk, invtclk; int monitor, dir, scrambler, rloop, cablen; + int mode_valid; long baud, timeslots, mtu, rqlen; for (i=0; i -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.623 2008/06/21 19:19:09 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.624 2008/07/02 05:41:23 alc Exp $"); /* * Manages physical address maps. @@ -173,7 +173,6 @@ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ -static int nkpt; static int ndmpdp; static vm_paddr_t dmaplimit; vm_offset_t kernel_vm_end; @@ -543,7 +542,6 @@ kernel_pmap->pm_root = NULL; kernel_pmap->pm_active = -1; /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); - nkpt = NKPT; /* * Reserve some special page table entries/VA space for temporary @@ -650,7 +648,7 @@ * page table pages. */ pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS); - for (i = 0; i < nkpt; i++) { + for (i = 0; i < NKPT; i++) { if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V)) continue; mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME); @@ -1708,10 +1706,8 @@ mtx_assert(&kernel_map->system_mtx, MA_OWNED); if (kernel_vm_end == 0) { kernel_vm_end = VM_MIN_KERNEL_ADDRESS; - nkpt = 0; while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) { kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1); - nkpt++; if (kernel_vm_end - 1 >= kernel_map->max_offset) { kernel_vm_end = kernel_map->max_offset; break; @@ -1725,7 +1721,7 @@ pde = pmap_pde(kernel_pmap, kernel_vm_end); if (pde == NULL) { /* We need a new PDP entry */ - nkpg = vm_page_alloc(NULL, nkpt, + nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT, VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); @@ -1749,9 +1745,6 @@ VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); - - nkpt++; - pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.86 2008/02/28 17:08:05 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.87 2008/07/01 11:18:51 nyan Exp $"); #include #include @@ -472,7 +472,7 @@ dsk.slice = WHOLE_DISK_SLICE; if (arg[1] == ',') { dsk.slice = *arg - '0' + 1; - if (dsk.slice > NDOSPART) + if (dsk.slice > NDOSPART + 1) return -1; arg += 2; } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/ceddk.h#2 (text+ko) ==== @@ -13,7 +13,7 @@ * works or modified versions. * * $Cronyx: ceddk.h,v 1.2.6.1 2005/11/09 13:01:39 rik Exp $ - * $FreeBSD: src/sys/dev/ce/ceddk.h,v 1.1 2006/01/27 09:02:09 rik Exp $ + * $FreeBSD: src/sys/dev/ce/ceddk.h,v 1.2 2008/06/30 21:18:27 rik Exp $ */ #define TAU32_UserContext_Add void *sys; @@ -72,6 +72,7 @@ TAU32_UserRequest *rx_queue; TAU32_UserRequest *tx_queue; unsigned char debug; + unsigned char debug_shadow; void (*transmit) (struct _ce_chan_t*, void*, int); void (*receive) (struct _ce_chan_t*, unsigned char*, int); void (*error) (struct _ce_chan_t*, int); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ce/if_ce.c#2 (text+ko) ==== @@ -16,7 +16,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ce/if_ce.c,v 1.9 2007/07/27 11:59:56 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ce/if_ce.c,v 1.11 2008/07/01 14:41:03 dds Exp $"); #include @@ -962,8 +962,8 @@ if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; switch (cmd) { default: CE_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1333,7 +1333,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1374,7 +1374,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1404,7 +1404,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1424,7 +1424,7 @@ CE_DEBUG2 (d, ("ioctl: setcfg\n")); #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1526,7 +1526,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1562,7 +1562,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1590,7 +1590,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1614,19 +1614,24 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; +#ifndef NETGRAPH + /* + * The debug_shadow is always greater than zero for logic + * simplicity. For switching debug off the IFF_DEBUG is + * responsible. + */ + d->chan->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + d->chan->debug = d->chan->debug_shadow; +#else d->chan->debug = *(int*)data; -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= ~IFF_DEBUG; #endif return 0; @@ -1642,7 +1647,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1668,7 +1673,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1698,7 +1703,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1722,7 +1727,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1750,7 +1755,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1776,7 +1781,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1804,7 +1809,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1832,7 +1837,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1860,7 +1865,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1893,7 +1898,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1920,7 +1925,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1939,7 +1944,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1977,7 +1982,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/cpddk.h#2 (text+ko) ==== @@ -16,7 +16,7 @@ * works or modified versions. * * $Cronyx: cpddk.h,v 1.8.4.20 2004/12/06 16:21:06 rik Exp $ - * $FreeBSD: src/sys/dev/cp/cpddk.h,v 1.4 2005/01/06 01:42:32 imp Exp $ + * $FreeBSD: src/sys/dev/cp/cpddk.h,v 1.5 2008/06/30 21:18:27 rik Exp $ */ #define NBRD 6 /* the maximum number of installed boards */ #define NCHAN 4 /* the number of channels on the board */ @@ -205,6 +205,7 @@ void *tag [NTBUF]; /* system dependent data per buffer */ void *sys; /* system dependent data per channel */ unsigned char debug; /* debug level, 0..2 */ + unsigned char debug_shadow; /* debug shadow */ void (*transmit) (struct _cp_chan_t *c, void *tag, int len); void (*receive) (struct _cp_chan_t *c, unsigned char *data, int len); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cp/if_cp.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.34 2007/07/27 11:59:56 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.35 2008/06/30 21:18:27 rik Exp $"); #include #include @@ -733,8 +733,8 @@ if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; switch (cmd) { default: CP_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1349,12 +1349,17 @@ error = priv_check (td, PRIV_DRIVER); if (error) return error; +#ifndef NETGRAPH + /* + * The debug_shadow is always greater than zero for logic + * simplicity. For switching debug off the IFF_DEBUG is + * responsible. + */ + d->chan->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + d->chan->debug = d->chan->debug_shadow; +#else d->chan->debug = *(int*)data; -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= ~IFF_DEBUG; #endif return 0; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/ctddk.h#2 (text+ko) ==== @@ -12,7 +12,7 @@ * all derivative works or modified versions. * * Cronyx Id: ctddk.h,v 1.1.2.3 2003/12/11 17:33:44 rik Exp $ - * $FreeBSD: src/sys/dev/ctau/ctddk.h,v 1.2 2005/01/06 01:42:33 imp Exp $ + * $FreeBSD: src/sys/dev/ctau/ctddk.h,v 1.3 2008/06/30 21:18:27 rik Exp $ */ #define NBRD 3 /* the maximum number of installed boards */ #define NPORT 32 /* the number of i/o ports per board */ @@ -412,6 +412,7 @@ void *attach [NBUF]; /* system dependent data per buffer */ void *sys; /* system dependent data per channel */ int debug; + int debug_shadow; int e1_first_int; unsigned char *sccrx, *scctx; /* pointers to SCC rx and tx buffers */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ctau/if_ct.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.35 2007/10/12 06:03:43 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.36 2008/06/30 21:18:27 rik Exp $"); #include #include @@ -949,8 +949,8 @@ if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; switch (cmd) { default: CT_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1529,12 +1529,17 @@ error = priv_check (td, PRIV_DRIVER); if (error) return error; +#ifndef NETGRAPH + /* + * The debug_shadow is always greater than zero for logic + * simplicity. For switching debug off the IFF_DEBUG is + * responsible. + */ + c->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + c->debug = c->debug_shadow; +#else c->debug = *(int*)data; -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= (~IFF_DEBUG); #endif return 0; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/cxddk.h#2 (text+ko) ==== @@ -15,7 +15,7 @@ * all derivative works or modified versions. * * Cronyx Id: cxddk.h,v 1.1.2.1 2003/11/12 17:13:41 rik Exp $ - * $FreeBSD: src/sys/dev/cx/cxddk.h,v 1.2 2005/01/06 01:42:34 imp Exp $ + * $FreeBSD: src/sys/dev/cx/cxddk.h,v 1.3 2008/06/30 21:18:27 rik Exp $ */ #ifndef port_t @@ -337,6 +337,7 @@ void *sys; int debug; + int debug_shadow; void *attach [2]; char *received_data; int received_len; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cx/if_cx.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.58 2007/10/12 06:03:43 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.59 2008/06/30 21:18:27 rik Exp $"); #include @@ -1102,10 +1102,14 @@ if (error) return error; + s = splhigh (); + CX_LOCK (bd); if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; + CX_UNLOCK (bd); + splx (s); switch (cmd) { default: CX_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1745,6 +1749,8 @@ cx_enable_receive (c, 0); cx_enable_transmit (c, 0); } else if (c->mode == M_ASYNC && *(int*)data == SERIAL_HDLC) { + if (d->ifp->if_flags & IFF_DEBUG) + c->debug = c->debug_shadow; cx_set_mode (c, M_HDLC); cx_enable_receive (c, 1); cx_enable_transmit (c, 1); @@ -1913,15 +1919,24 @@ return error; s = splhigh (); CX_LOCK (bd); +#ifndef NETGRAPH + if (c->mode == M_ASYNC) { + c->debug = *(int*)data; + } else { + /* + * The debug_shadow is always greater than zero for + * logic simplicity. For switching debug off the + * IFF_DEBUG is responsible (for !M_ASYNC mode). + */ + c->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + c->debug = c->debug_shadow; + } +#else c->debug = *(int*)data; +#endif CX_UNLOCK (bd); splx (s); -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= (~IFF_DEBUG); -#endif return 0; } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephy.c#2 (text+ko) ==== @@ -31,10 +31,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mii/rgephy.c,v 1.19 2008/03/05 01:15:10 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mii/rgephy.c,v 1.20 2008/07/02 08:10:18 yongari Exp $"); /* - * Driver for the RealTek 8169S/8110S/8211B internal 10/100/1000 PHY. + * Driver for the RealTek 8169S/8110S/8211B/8211C internal 10/100/1000 PHY. */ #include @@ -531,6 +531,18 @@ static void rgephy_reset(struct mii_softc *sc) { + struct rgephy_softc *rsc; + uint16_t ssr; + + rsc = (struct rgephy_softc *)sc; + if (rsc->mii_revision == 3) { + /* RTL8211C(L) */ + ssr = PHY_READ(sc, RGEPHY_MII_SSR); + if ((ssr & RGEPHY_SSR_ALDPS) != 0) { + ssr &= ~RGEPHY_SSR_ALDPS; + PHY_WRITE(sc, RGEPHY_MII_SSR, ssr); + } + } mii_phy_reset(sc); DELAY(1000); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephyreg.h#2 (text+ko) ==== @@ -29,7 +29,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/mii/rgephyreg.h,v 1.3 2007/10/29 02:17:07 yongari Exp $ + * $FreeBSD: src/sys/dev/mii/rgephyreg.h,v 1.4 2008/07/02 08:10:18 yongari Exp $ */ #ifndef _DEV_MII_RGEPHYREG_H_ @@ -137,7 +137,7 @@ #define RGEPHY_EXTSTS_T_FD_CAP 0x2000 /* 1000base-T FD capable */ #define RGEPHY_EXTSTS_T_HD_CAP 0x1000 /* 1000base-T HD capable */ -/* RTL8211B(L) */ +/* RTL8211B(L)/RTL8211C(L) */ #define RGEPHY_MII_SSR 0x11 /* PHY Specific status register */ #define RGEPHY_SSR_S1000 0x8000 /* 1000Mbps */ #define RGEPHY_SSR_S100 0x4000 /* 100Mbps */ @@ -148,6 +148,7 @@ #define RGEPHY_SSR_SPD_DPLX_RESOLVED 0x0800 /* speed/duplex resolved */ #define RGEPHY_SSR_LINK 0x0400 /* link up */ #define RGEPHY_SSR_MDI_XOVER 0x0040 /* MDI crossover */ +#define RGEPHY_SSR_ALDPS 0x0008 /* RTL8211C(L) only */ #define RGEPHY_SSR_JABBER 0x0001 /* Jabber */ #endif /* _DEV_RGEPHY_MIIREG_H_ */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_pci.c#2 (text+ko) ==== @@ -99,7 +99,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.52 2008/05/10 01:27:23 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.53 2008/07/01 19:44:38 jhb Exp $"); #include #include @@ -688,7 +688,7 @@ mpt_free_bus_resources(mpt); mpt_raid_free_mem(mpt); if (mpt->eh != NULL) { - EVENTHANDLER_DEREGISTER(shutdown_final, mpt->eh); + EVENTHANDLER_DEREGISTER(shutdown_post_sync, mpt->eh); } } return(0); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_user.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_user.c,v 1.1 2008/05/06 20:49:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_user.c,v 1.2 2008/07/01 19:48:15 jhb Exp $"); #include #include @@ -47,6 +47,13 @@ uint16_t action_status; }; +struct mpt_page_memory { + bus_dma_tag_t tag; + bus_dmamap_t map; + bus_addr_t paddr; + void *vaddr; +}; + static mpt_probe_handler_t mpt_user_probe; static mpt_attach_handler_t mpt_user_attach; static mpt_enable_handler_t mpt_user_enable; @@ -180,6 +187,56 @@ } static int +mpt_alloc_buffer(struct mpt_softc *mpt, struct mpt_page_memory *page_mem, + size_t len) +{ + struct mpt_map_info mi; + int error; + + page_mem->vaddr = NULL; + + /* Limit requests to 16M. */ + if (len > 16 * 1024 * 1024) + return (ENOSPC); + error = mpt_dma_tag_create(mpt, mpt->parent_dmat, 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + len, 1, len, 0, &page_mem->tag); + if (error) + return (error); + error = bus_dmamem_alloc(page_mem->tag, &page_mem->vaddr, + BUS_DMA_NOWAIT, &page_mem->map); + if (error) { + bus_dma_tag_destroy(page_mem->tag); + return (error); + } + mi.mpt = mpt; + error = bus_dmamap_load(page_mem->tag, page_mem->map, page_mem->vaddr, + len, mpt_map_rquest, &mi, BUS_DMA_NOWAIT); + if (error == 0) + error = mi.error; + if (error) { + bus_dmamem_free(page_mem->tag, page_mem->vaddr, page_mem->map); + bus_dma_tag_destroy(page_mem->tag); + page_mem->vaddr = NULL; + return (error); + } + page_mem->paddr = mi.phys; + return (0); +} + +static void +mpt_free_buffer(struct mpt_page_memory *page_mem) +{ + + if (page_mem->vaddr == NULL) + return; + bus_dmamap_unload(page_mem->tag, page_mem->map); + bus_dmamem_free(page_mem->tag, page_mem->vaddr, page_mem->map); + bus_dma_tag_destroy(page_mem->tag); + page_mem->vaddr = NULL; +} + +static int mpt_user_read_cfg_header(struct mpt_softc *mpt, struct mpt_cfg_page_req *page_req) { @@ -225,7 +282,7 @@ static int mpt_user_read_cfg_page(struct mpt_softc *mpt, struct mpt_cfg_page_req *page_req, - void *mpt_page) + struct mpt_page_memory *mpt_page) { CONFIG_PAGE_HEADER *hdr; request_t *req; @@ -238,15 +295,14 @@ return (ENOMEM); } - hdr = mpt_page; + hdr = mpt_page->vaddr; params.Action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT; params.PageVersion = hdr->PageVersion; params.PageLength = hdr->PageLength; params.PageNumber = hdr->PageNumber; params.PageType = hdr->PageType & MPI_CONFIG_PAGETYPE_MASK; params.PageAddress = page_req->page_address; - error = mpt_issue_cfg_req(mpt, req, ¶ms, - req->req_pbuf + MPT_RQSL(mpt), + error = mpt_issue_cfg_req(mpt, req, ¶ms, mpt_page->paddr, page_req->len, TRUE, 5000); if (error != 0) { mpt_prt(mpt, "mpt_user_read_cfg_page timed out\n"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 10:47:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91418106567B; Wed, 2 Jul 2008 10:47:18 +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 52ECB1065675 for ; Wed, 2 Jul 2008 10:47:18 +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 3FE5F8FC13 for ; Wed, 2 Jul 2008 10:47:18 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62AlIeY010867 for ; Wed, 2 Jul 2008 10:47:18 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62AlICi010865 for perforce@freebsd.org; Wed, 2 Jul 2008 10:47:18 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 10:47:18 GMT Message-Id: <200807021047.m62AlICi010865@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 144477 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, 02 Jul 2008 10:47:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=144477 Change 144477 by trasz@trasz_traszkan on 2008/07/02 10:46:29 Initial cut of the NFSv4 ACLs implementation, kernel part. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_acl.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_acl.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#5 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#4 (text+ko) ==== @@ -1611,6 +1611,7 @@ kern/stack_protector.c standard \ compile-with "${NORMAL_C:N-fstack-protector*}" kern/subr_acl_posix1e.c standard +kern/subr_acl_nfs4.c standard kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#2 (text+ko) ==== @@ -427,6 +427,10 @@ printf("acl_posix1e_mode_to_entry: invalid tag (%d)\n", tag); } + acl_entry.ae_acl = NULL; + acl_entry.ae_extended = ACL_EXTENDED_ALLOW; + acl_entry.ae_flags = 0; + return (acl_entry); } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_acl.c#4 (text+ko) ==== @@ -66,7 +66,114 @@ static int vacl_aclcheck(struct thread *td, struct vnode *vp, acl_type_t type, struct acl *aclp); +int +acl_copy_oldacl_into_acl(const struct oldacl *source, struct acl *dest) +{ + int i; + + if (source->acl_cnt < 0 || source->acl_cnt >= ACL_MAX_ENTRIES) + return (-1); + + bzero(dest, sizeof(*dest)); + + dest->acl_magic = ACL_MAGIC; + dest->acl_cnt = source->acl_cnt; + + for (i = 0; i < dest->acl_cnt; i++) { + dest->acl_entry[i].ae_tag = source->acl_entry[i].ae_tag; + dest->acl_entry[i].ae_id = source->acl_entry[i].ae_id; + dest->acl_entry[i].ae_perm = source->acl_entry[i].ae_perm; + dest->acl_entry[i].ae_extended = ACL_EXTENDED_ALLOW; + dest->acl_entry[i].ae_flags = 0; + } + + return (0); +} + +int +acl_copy_acl_into_oldacl(const struct acl *source, struct oldacl *dest) +{ + int i; + + if (source->acl_cnt < 0 || source->acl_cnt >= ACL_MAX_ENTRIES) + return (-1); + + bzero(dest, sizeof(*dest)); + + dest->acl_cnt = source->acl_cnt; + + for (i = 0; i < dest->acl_cnt; i++) { + dest->acl_entry[i].ae_tag = source->acl_entry[i].ae_tag; + dest->acl_entry[i].ae_id = source->acl_entry[i].ae_id; + dest->acl_entry[i].ae_perm = source->acl_entry[i].ae_perm; + } + + return (0); +} + /* + * At one time, "struct ACL" was extended in order to add support for NFSv4 + * ACLs. Instead of creating compatibility versions of all the ACL-related + * syscalls, they were left intact. It's possible to find out what the code + * calling these syscalls (libc) expects basing on "type" argument - if it's + * either ACL_TYPE_ACCESS_OLD or ACL_TYPE_DEFAULT_OLD (which previously were + * known as ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT), then it's the "struct + * oldacl". If it's something else, then it's the new "struct acl". In the + * latter case, the routines below just copyin/copyout the contents. In the + * former case, they copyin the "struct oldacl" and convert it to the new + * format. + */ +static int +copyin_acl(void *user_acl, struct acl *kernel_acl, acl_type_t type) +{ + int error; + struct oldacl old; + + /* Is it the new "struct acl"? */ + if (type != ACL_TYPE_ACCESS_OLD && type != ACL_TYPE_DEFAULT_OLD) + return (copyin(user_acl, kernel_acl, sizeof(struct acl))); + + /* Nope, it's a "struct oldacl". */ + error = copyin(user_acl, &old, sizeof(struct oldacl)); + if (error) + return (error); + + error = acl_copy_oldacl_into_acl(&old, kernel_acl); + + return (error); +} + +static int +copyout_acl(struct acl *kernel_acl, void *user_acl, acl_type_t type) +{ + int error; + struct oldacl old; + + if (type != ACL_TYPE_ACCESS_OLD && type != ACL_TYPE_DEFAULT_OLD) + return (copyout(kernel_acl, user_acl, sizeof(struct acl))); + + error = acl_copy_acl_into_oldacl(kernel_acl, &old); + if (error) + return (error); + + error = copyout(&old, user_acl, sizeof(struct oldacl)); + + return (error); +} + +static int +type_unold(int type) +{ + if (type == ACL_TYPE_ACCESS_OLD) + return (ACL_TYPE_ACCESS); + + if (type == ACL_TYPE_DEFAULT_OLD) + return (ACL_TYPE_DEFAULT); + + return (type); +} + +/* * These calls wrap the real vnode operations, and are called by the syscall * code once the syscall has converted the path or file descriptor to a vnode * (unlocked). The aclp pointer is assumed still to point to userland, so @@ -85,7 +192,7 @@ struct mount *mp; int error; - error = copyin(aclp, &inkernacl, sizeof(struct acl)); + error = copyin_acl(aclp, &inkernacl, type); if (error) return(error); error = vn_start_write(vp, &mp, V_WAIT | PCATCH); @@ -98,7 +205,7 @@ if (error != 0) goto out; #endif - error = VOP_SETACL(vp, type, &inkernacl, td->td_ucred, td); + error = VOP_SETACL(vp, type_unold(type), &inkernacl, td->td_ucred, td); #ifdef MAC out: #endif @@ -124,13 +231,14 @@ if (error != 0) goto out; #endif - error = VOP_GETACL(vp, type, &inkernelacl, td->td_ucred, td); + error = VOP_GETACL(vp, type_unold(type), &inkernelacl, + td->td_ucred, td); #ifdef MAC out: #endif VOP_UNLOCK(vp, 0); if (error == 0) - error = copyout(&inkernelacl, aclp, sizeof(struct acl)); + error = copyout_acl(&inkernelacl, aclp, type); return (error); } @@ -153,7 +261,7 @@ if (error) goto out; #endif - error = VOP_SETACL(vp, type, 0, td->td_ucred, td); + error = VOP_SETACL(vp, type_unold(type), 0, td->td_ucred, td); #ifdef MAC out: #endif @@ -172,10 +280,11 @@ struct acl inkernelacl; int error; - error = copyin(aclp, &inkernelacl, sizeof(struct acl)); + error = copyin_acl(aclp, &inkernelacl, type); if (error) return(error); - error = VOP_ACLCHECK(vp, type, &inkernelacl, td->td_ucred, td); + error = VOP_ACLCHECK(vp, type_unold(type), &inkernelacl, + td->td_ucred, td); return (error); } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#6 (text+ko) ==== @@ -47,23 +47,58 @@ #define POSIX1E_ACL_ACCESS_EXTATTR_NAME "posix1e.acl_access" #define POSIX1E_ACL_DEFAULT_EXTATTR_NAMESPACE EXTATTR_NAMESPACE_SYSTEM #define POSIX1E_ACL_DEFAULT_EXTATTR_NAME "posix1e.acl_default" +#define NFS4_ACL_EXTATTR_NAMESPACE EXTATTR_NAMESPACE_SYSTEM +#define NFS4_ACL_EXTATTR_NAME "nfs4.acl" #define ACL_MAX_ENTRIES 32 /* maximum entries in an ACL */ +/* + * "struct oldacl" is used in compatibility ACL syscalls and for on-disk + * storage of POSIX.1e ACLs. + */ +typedef int oldacl_tag_t; +typedef mode_t oldacl_perm_t; + +struct oldacl_entry { + oldacl_tag_t ae_tag; + uid_t ae_id; + oldacl_perm_t ae_perm; +}; +typedef struct oldacl_entry *oldacl_entry_t; + +/* internal ACL structure */ +struct oldacl { + int acl_cnt; + struct oldacl_entry acl_entry[ACL_MAX_ENTRIES]; +}; + +/* + * Current "struct acl". + */ +typedef int acl_tag_t; +typedef int acl_flag_t; +typedef int acl_perm_t; +typedef int acl_extended_t; typedef int acl_type_t; -typedef int acl_tag_t; -typedef mode_t acl_perm_t; -typedef mode_t *acl_permset_t; +typedef int *acl_permset_t; struct acl_entry { acl_tag_t ae_tag; uid_t ae_id; acl_perm_t ae_perm; + /* "allow" or "deny". Unused in POSIX ACLs. */ + acl_extended_t ae_extended; + /* Flags control inheritance. Unused in POSIX ACLs. */ + acl_flag_t ae_flags; + struct acl *ae_acl; /* XXX: This is ugly. */ }; typedef struct acl_entry *acl_entry_t; /* internal ACL structure */ struct acl { + int acl_magic; int acl_cnt; + int acl_length; + int acl_brand; struct acl_entry acl_entry[ACL_MAX_ENTRIES]; }; @@ -74,6 +109,15 @@ }; typedef struct acl_t_struct *acl_t; +#define ACL_MAGIC 0x5452535a + +/* + * Possible valid values for acl_brand field. + */ +#define ACL_BRAND_UNKNOWN 0 +#define ACL_BRAND_POSIX 1 +#define ACL_BRAND_NFS4 2 + /* * Possible valid values for ae_tag field. */ @@ -85,15 +129,27 @@ #define ACL_MASK 0x00000010 #define ACL_OTHER 0x00000020 #define ACL_OTHER_OBJ ACL_OTHER +#define ACL_EVERYONE 0x00000040 /* + * Possible valid values for ae_extended field. + */ +#define ACL_EXTENDED_ALLOW 0x00000100 +#define ACL_EXTENDED_DENY 0x00000200 +#define ACL_EXTENDED_AUDIT 0x00000400 +#define ACL_EXTENDED_ALARM 0x00000800 + +/* * Possible valid values for acl_type_t arguments. */ -#define ACL_TYPE_ACCESS 0x00000000 -#define ACL_TYPE_DEFAULT 0x00000001 +#define ACL_TYPE_ACCESS_OLD 0x00000000 +#define ACL_TYPE_DEFAULT_OLD 0x00000001 +#define ACL_TYPE_ACCESS 0x00000002 +#define ACL_TYPE_DEFAULT 0x00000003 +#define ACL_TYPE_NFS4 0x00000004 /* - * Possible flags in ae_perm field. + * Possible flags in ae_perm field for POSIX ACLs. */ #define ACL_EXECUTE 0x0001 #define ACL_WRITE 0x0002 @@ -103,12 +159,65 @@ #define ACL_POSIX1E_BITS (ACL_EXECUTE | ACL_WRITE | ACL_READ) /* + * Possible flags in ae_perm field for NFSv4 ACLs. + * XXX: Change values of these to match rfc3530. + */ +#define ACL_READ_DATA 0x00010000 +#define ACL_LIST_DIRECTORY 0x00010000 +#define ACL_WRITE_DATA 0x00020000 +#define ACL_ADD_FILE 0x00020000 +#define ACL_APPEND_DATA 0x00040000 +#define ACL_ADD_SUBDIRECTORY 0x00040000 +#define ACL_READ_NAMED_ATTRS 0x00080000 +#define ACL_READ_EXTATTRIBUTES ACL_READ_NAMED_ATTRS /* Darwin compatibility. */ +#define ACL_WRITE_NAMED_ATTRS 0x00100000 +#define ACL_WRITE_EXTATTRIBUTES ACL_WRITE_NAMED_ATTRS /* Darwin compatibility. */ +#ifdef XXX_conflicting_defines +#define ACL_EXECUTE 0x00200000 +#define ACL_SEARCH ACL_EXECUTE /* Darwin compatibility. */ +#else +#define ACL_SEARCH 0x00200000 +#endif +#define ACL_DELETE_CHILD 0x00400000 +#define ACL_READ_ATTRIBUTES 0x00800000 +#define ACL_WRITE_ATTRIBUTES 0x01000000 +#define ACL_DELETE 0x02000000 +#define ACL_READ_ACL 0x04000000 +#define ACL_READ_SECURITY ACL_READ_ACL /* Darwin compatibility. */ +#define ACL_WRITE_ACL 0x08000000 +#define ACL_WRITE_SECURITY ACL_WRITE_ACL /* Darwin compatibility. */ +#define ACL_WRITE_OWNER 0x10000000 +#define ACL_CHANGE_OWNER ACL_WRITE_OWNER /* Darwin compatibility. */ +#define ACL_SYNCHRONIZE 0x20000000 + +#define ACL_NFS4_PERM_BITS (ACL_READ_DATA | ACL_WRITE_DATA | ACL_APPEND_DATA | \ + ACL_READ_NAMED_ATTRS | ACL_WRITE_NAMED_ATTRS | ACL_EXECUTE | ACL_DELETE_CHILD | \ + ACL_READ_ATTRIBUTES | ACL_WRITE_ATTRIBUTES | ACL_DELETE | ACL_READ_ACL | \ + ACL_WRITE_ACL | ACL_WRITE_OWNER | ACL_SYNCHRONIZE) + +/* * Possible entry_id values for acl_get_entry() */ #define ACL_FIRST_ENTRY 0 #define ACL_NEXT_ENTRY 1 /* + * Possible values in ae_flags field; valid only for NFSv4 ACLs. + */ +/* #define ACL_FLAG_DEFER_INHERIT - this doesn't seem to be used in Darwin. */ +/* #define ACL_ENTRY_INHERITED - this seems to be used in Darwin, but how does it translate into rfc3530? */ +#define ACL_ENTRY_FILE_INHERIT 0x00000001 /* ACE4_FILE_INHERIT_ACE */ +#define ACL_ENTRY_DIRECTORY_INHERIT 0x00000002 /* ACE4_DIRECTORY_INHERIT_ACE */ +#define ACL_ENTRY_LIMIT_INHERIT 0x00000004 /* ACE4_NO_PROPAGATE_INHERIT_ACE */ +#define ACL_ENTRY_ONLY_INHERIT 0x00000008 /* ACE4_INHERIT_ONLY_ACE */ +#define ACL_FLAG_SUCCESSFUL_ACCESS 0x00000010 /* Valid only for ACL_EXTENDED_ALARM and ACL_EXTENDED_AUDIT. */ +#define ACL_FLAG_FAILED_ACCESS 0x00000020 /* s/a */ + +#define ACL_FLAGS_BITS (ACL_ENTRY_FILE_INHERIT | ACL_ENTRY_DIRECTORY_INHERIT | \ + ACL_ENTRY_LIMIT_INHERIT | ACL_ENTRY_ONLY_INHERIT | ACL_FLAG_SUCCESSFUL_ACCESS | \ + ACL_FLAG_FAILED_ACCESS) + +/* * Undefined value in ae_id field */ #define ACL_UNDEFINED_ID ((uid_t)-1) @@ -118,6 +227,7 @@ extern uma_zone_t acl_zone; +#endif /* * POSIX.1e ACLs are capable of expressing the read, write, and execute bits * of the POSIX mode field. We provide two masks: one that defines the bits @@ -127,6 +237,7 @@ #define ACL_OVERRIDE_MASK (S_IRWXU | S_IRWXG | S_IRWXO) #define ACL_PRESERVE_MASK (~ACL_OVERRIDE_MASK) +#ifdef _KERNEL /* * File system independent code to move back and forth between POSIX mode and * POSIX.1e ACL representations. @@ -142,10 +253,19 @@ mode_t acl_posix1e_newfilemode(mode_t cmode, struct acl *dacl); +int acl_nfs4_sync_acl_from_mode(struct acl *aclp, mode_t mode, int file_owner_id); +void acl_nfs4_sync_mode_from_acl(mode_t *mode, const struct acl *aclp); +int acl_nfs4_is_trivial(const struct acl *aclp); +int acl_nfs4_compute_inherited_acl(struct acl *child_aclp, const struct acl *parent_aclp, + mode_t mode, int file_owner_id, int is_directory); +int acl_copy_oldacl_into_acl(const struct oldacl *source, struct acl *dest); +int acl_copy_acl_into_oldacl(const struct acl *source, struct oldacl *dest); + /* * File system independent syntax check for a POSIX.1e ACL. */ int acl_posix1e_check(struct acl *acl); +int acl_nfs4_check(const struct acl *aclp, int is_directory); #else /* !_KERNEL */ @@ -184,7 +304,9 @@ ssize_t acl_copy_ext(void *_buf_p, acl_t _acl, ssize_t _size); acl_t acl_copy_int(const void *_buf_p); int acl_create_entry(acl_t *_acl_p, acl_entry_t *_entry_p); +int acl_create_entry_at_position_np(acl_t *_acl_p, acl_entry_t *_entry_p, int _index); int acl_delete_entry(acl_t _acl, acl_entry_t _entry_d); +int acl_delete_entry_at_position_np(acl_t _acl, int _index); int acl_delete_fd_np(int _filedes, acl_type_t _type); int acl_delete_file_np(const char *_path_p, acl_type_t _type); int acl_delete_link_np(const char *_path_p, acl_type_t _type); @@ -198,6 +320,8 @@ acl_t acl_get_fd(int _fd); acl_t acl_get_fd_np(int fd, acl_type_t _type); acl_t acl_get_file(const char *_path_p, acl_type_t _type); +int acl_get_flags_np(acl_entry_t _entry_d, acl_flag_t *_flags_p); +int acl_get_extended_np(acl_entry_t _entry_d, acl_extended_t *_extended_p); acl_t acl_get_link_np(const char *_path_p, acl_type_t _type); void *acl_get_qualifier(acl_entry_t _entry_d); int acl_get_perm_np(acl_permset_t _permset_d, acl_perm_t _perm); @@ -207,6 +331,8 @@ int acl_set_fd(int _fd, acl_t _acl); int acl_set_fd_np(int _fd, acl_t _acl, acl_type_t _type); int acl_set_file(const char *_path_p, acl_type_t _type, acl_t _acl); +int acl_set_flags_np(acl_entry_t _entry_d, acl_flag_t _flags); +int acl_set_extended_np(acl_entry_t _entry_d, acl_extended_t _extended); int acl_set_link_np(const char *_path_p, acl_type_t _type, acl_t _acl); int acl_set_permset(acl_entry_t _entry_d, acl_permset_t _permset_d); int acl_set_qualifier(acl_entry_t _entry_d, const void *_tag_qualifier_p); @@ -217,6 +343,9 @@ int acl_valid_fd_np(int _fd, acl_type_t _type, acl_t _acl); int acl_valid_file_np(const char *_path_p, acl_type_t _type, acl_t _acl); int acl_valid_link_np(const char *_path_p, acl_type_t _type, acl_t _acl); +int acl_is_trivial_np(const acl_t _acl); +acl_t acl_compute_trivial_np(const acl_t _acl); +acl_t acl_strip_np(const acl_t _acl, int recalculate_mask); __END_DECLS #endif /* !_KERNEL */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#2 (text+ko) ==== @@ -589,6 +589,9 @@ int vaccess_acl_posix1e(enum vtype type, uid_t file_uid, gid_t file_gid, struct acl *acl, mode_t acc_mode, struct ucred *cred, int *privused); +int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, + gid_t file_gid, struct acl *acl, mode_t acc_mode, + struct ucred *cred, int *privused); void vattr_null(struct vattr *vap); int vcount(struct vnode *vp); void vdrop(struct vnode *); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#4 (text+ko) ==== @@ -172,10 +172,12 @@ vfs_deleteopt(mp->mnt_opt, "snapshot"); if (vfs_getopt(mp->mnt_optnew, "nfs4acls", NULL, NULL) == 0) { - printf("WARNING: both acls and nfs4acls specified\n"); + if (mntorflags & MNT_ACLS) { + printf("WARNING: both acls and nfs4acls specified\n"); #if 0 - return (EINVAL); + return (EINVAL); #endif + } mntorflags |= MNT_NFS4ACLS; } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_acl.c#5 (text+ko) ==== @@ -139,6 +139,52 @@ DIP_SET(ip, i_mode, ip->i_mode); } +static int +ufs_getacl_nfs4(struct vop_getacl_args *ap) +{ + int error, len; + struct inode *ip = VTOI(ap->a_vp); + + if ((ap->a_vp->v_mount->mnt_flag & MNT_NFS4ACLS) == 0) + return (EOPNOTSUPP); + + bzero(ap->a_aclp, sizeof(*ap->a_aclp)); + len = sizeof(*ap->a_aclp); + + error = vn_extattr_get(ap->a_vp, IO_NODELOCKED, + NFS4_ACL_EXTATTR_NAMESPACE, + NFS4_ACL_EXTATTR_NAME, &len, (char *) ap->a_aclp, + ap->a_td); + + if (error == ENOATTR) { + /* + * Legitimately no ACL set on object, purely + * emulate it through the inode. + */ + error = acl_nfs4_sync_acl_from_mode(ap->a_aclp, ip->i_mode, ip->i_uid); + + return (error); + } + + if (error) + return (error); + + if (len != sizeof(*ap->a_aclp)) { + /* + * A short (or long) read, meaning that for + * some reason the ACL is corrupted. Return + * EPERM since the object DAC protections + * are unsafe. + */ + printf("ufs_getacl_nfs4(): Loaded invalid ACL (" + "%d bytes)\n", len); + + return (EPERM); + } + + return (0); +} + /* * Retrieve the ACL on a file. * @@ -146,18 +192,12 @@ * assemble both into a final ACL product. Right now this is not done * very efficiently. */ -int -ufs_getacl(ap) - struct vop_getacl_args /* { - struct vnode *vp; - struct acl_type_t type; - struct acl *aclp; - struct ucred *cred; - struct thread *td; - } */ *ap; +static int +ufs_getacl_posix1e(struct vop_getacl_args *ap) { struct inode *ip = VTOI(ap->a_vp); int error, len; + struct oldacl old; /* * XXX: If ufs_getacl() should work on file systems not supporting @@ -169,8 +209,8 @@ /* * Attempt to retrieve the ACL based on the ACL type. */ - bzero(ap->a_aclp, sizeof(*ap->a_aclp)); - len = sizeof(*ap->a_aclp); + bzero(&old, sizeof(old)); + len = sizeof(old); switch(ap->a_type) { case ACL_TYPE_ACCESS: /* @@ -182,7 +222,7 @@ */ error = vn_extattr_get(ap->a_vp, IO_NODELOCKED, POSIX1E_ACL_ACCESS_EXTATTR_NAMESPACE, - POSIX1E_ACL_ACCESS_EXTATTR_NAME, &len, (char *) ap->a_aclp, + POSIX1E_ACL_ACCESS_EXTATTR_NAME, &len, (char *) &old, ap->a_td); switch (error) { /* XXX: If ufs_getacl() should work on filesystems without @@ -194,34 +234,45 @@ * be updated when the ACL is synchronized with * the inode later. */ - ap->a_aclp->acl_cnt = 3; - ap->a_aclp->acl_entry[0].ae_tag = ACL_USER_OBJ; - ap->a_aclp->acl_entry[0].ae_id = ACL_UNDEFINED_ID; - ap->a_aclp->acl_entry[0].ae_perm = ACL_PERM_NONE; - ap->a_aclp->acl_entry[1].ae_tag = ACL_GROUP_OBJ; - ap->a_aclp->acl_entry[1].ae_id = ACL_UNDEFINED_ID; - ap->a_aclp->acl_entry[1].ae_perm = ACL_PERM_NONE; - ap->a_aclp->acl_entry[2].ae_tag = ACL_OTHER; - ap->a_aclp->acl_entry[2].ae_id = ACL_UNDEFINED_ID; - ap->a_aclp->acl_entry[2].ae_perm = ACL_PERM_NONE; + old.acl_cnt = 3; + old.acl_entry[0].ae_tag = ACL_USER_OBJ; + old.acl_entry[0].ae_id = ACL_UNDEFINED_ID; + old.acl_entry[0].ae_perm = ACL_PERM_NONE; + old.acl_entry[1].ae_tag = ACL_GROUP_OBJ; + old.acl_entry[1].ae_id = ACL_UNDEFINED_ID; + old.acl_entry[1].ae_perm = ACL_PERM_NONE; + old.acl_entry[2].ae_tag = ACL_OTHER; + old.acl_entry[2].ae_id = ACL_UNDEFINED_ID; + old.acl_entry[2].ae_perm = ACL_PERM_NONE; + + error = acl_copy_oldacl_into_acl(&old, ap->a_aclp); + if (error) + return (error); + ufs_sync_acl_from_inode(ip, ap->a_aclp); - error = 0; - break; + + return (0); case 0: - if (len != sizeof(*ap->a_aclp)) { + if (len != sizeof(old)) { /* * A short (or long) read, meaning that for * some reason the ACL is corrupted. Return * EPERM since the object DAC protections * are unsafe. */ - printf("ufs_getacl(): Loaded invalid ACL (" + printf("ufs_getacl_posix1e(): Loaded invalid ACL (" "%d bytes)\n", len); return (EPERM); } + + error = acl_copy_oldacl_into_acl(&old, ap->a_aclp); + if (error) + return (error); + ufs_sync_acl_from_inode(ip, ap->a_aclp); - break; + + return (0); default: break; @@ -236,7 +287,7 @@ error = vn_extattr_get(ap->a_vp, IO_NODELOCKED, POSIX1E_ACL_DEFAULT_EXTATTR_NAMESPACE, POSIX1E_ACL_DEFAULT_EXTATTR_NAME, &len, - (char *) ap->a_aclp, ap->a_td); + (char *) &old, ap->a_td); /* * Unlike ACL_TYPE_ACCESS, there is no relationship between * the inode contents and the ACL, and it is therefore @@ -248,13 +299,13 @@ /* XXX: If ufs_getacl() should work on filesystems without * the EA configured, add case EOPNOTSUPP here. */ case ENOATTR: - bzero(ap->a_aclp, sizeof(*ap->a_aclp)); - ap->a_aclp->acl_cnt = 0; + bzero(&old, sizeof(old)); + old.acl_cnt = 0; error = 0; break; case 0: - if (len != sizeof(*ap->a_aclp)) { + if (len != sizeof(old)) { /* * A short (or long) read, meaning that for * some reason the ACL is corrupted. Return @@ -276,9 +327,98 @@ error = EINVAL; } + if (error) + return (error); + + error = acl_copy_oldacl_into_acl(&old, ap->a_aclp); + return (error); } +int +ufs_getacl(ap) + struct vop_getacl_args /* { + struct vnode *vp; + acl_type_t type; + struct acl *aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + if (ap->a_type == ACL_TYPE_NFS4) + return (ufs_getacl_nfs4(ap)); + + return (ufs_getacl_posix1e(ap)); +} + +static int +ufs_setacl_nfs4(struct vop_setacl_args *ap) +{ + int error; + mode_t mode; + struct inode *ip = VTOI(ap->a_vp); + + if ((ap->a_vp->v_mount->mnt_flag & MNT_NFS4ACLS) == 0) + return (EOPNOTSUPP); + + if (ap->a_vp->v_mount->mnt_flag & MNT_RDONLY) + return (EROFS); + + if (ap->a_aclp == NULL) + return (EINVAL); + + error = VOP_ACLCHECK(ap->a_vp, ap->a_type, ap->a_aclp, ap->a_cred, ap->a_td); + if (error) + return (error); + + /* + * Authorize the ACL operation. + */ + if (ip->i_flags & (IMMUTABLE | APPEND)) + return (EPERM); + + /* + * Must hold VADMIN (be file owner) or have appropriate privilege. + */ + if ((error = VOP_ACCESS(ap->a_vp, VADMIN, ap->a_cred, ap->a_td))) + return (error); + + if (acl_nfs4_is_trivial(ap->a_aclp)) { + error = vn_extattr_rm(ap->a_vp, IO_NODELOCKED, + NFS4_ACL_EXTATTR_NAMESPACE, + NFS4_ACL_EXTATTR_NAME, ap->a_td); + + } else { + error = vn_extattr_set(ap->a_vp, IO_NODELOCKED, + NFS4_ACL_EXTATTR_NAMESPACE, + NFS4_ACL_EXTATTR_NAME, sizeof(*ap->a_aclp), + (char *) ap->a_aclp, ap->a_td); + } + + /* + * Map lack of attribute definition in UFS_EXTATTR into lack of + * support for ACLs on the filesystem. + */ + if (error == ENOATTR) + return (EOPNOTSUPP); + + if (error) + return (error); + + mode = ip->i_mode; + + acl_nfs4_sync_mode_from_acl(&mode, ap->a_aclp); + + ip->i_mode &= ACL_PRESERVE_MASK; + ip->i_mode |= mode; + DIP_SET(ip, i_mode, ip->i_mode); + ip->i_flag |= IN_CHANGE; + + VN_KNOTE_UNLOCKED(ap->a_vp, NOTE_ATTRIB); + + return (0); +} + /* * Set the ACL on a file. * @@ -288,18 +428,12 @@ * a fair number of different access checks may be required to go ahead * with the operation at all. */ -int -ufs_setacl(ap) - struct vop_setacl_args /* { - struct vnode *vp; - acl_type_t type; - struct acl *aclp; - struct ucred *cred; - struct proc *p; - } */ *ap; +static int +ufs_setacl_posix1e(struct vop_setacl_args *ap) { struct inode *ip = VTOI(ap->a_vp); int error; + struct oldacl old; if ((ap->a_vp->v_mount->mnt_flag & MNT_ACLS) == 0) return (EOPNOTSUPP); @@ -344,12 +478,16 @@ if ((error = VOP_ACCESS(ap->a_vp, VADMIN, ap->a_cred, ap->a_td))) return (error); + error = acl_copy_acl_into_oldacl(ap->a_aclp, &old); + if (error) + return (error); + switch(ap->a_type) { case ACL_TYPE_ACCESS: error = vn_extattr_set(ap->a_vp, IO_NODELOCKED, POSIX1E_ACL_ACCESS_EXTATTR_NAMESPACE, - POSIX1E_ACL_ACCESS_EXTATTR_NAME, sizeof(*ap->a_aclp), - (char *) ap->a_aclp, ap->a_td); + POSIX1E_ACL_ACCESS_EXTATTR_NAME, sizeof(old), + (char *) &old, ap->a_td); break; case ACL_TYPE_DEFAULT: @@ -373,7 +511,7 @@ error = vn_extattr_set(ap->a_vp, IO_NODELOCKED, POSIX1E_ACL_DEFAULT_EXTATTR_NAMESPACE, POSIX1E_ACL_DEFAULT_EXTATTR_NAME, - sizeof(*ap->a_aclp), (char *) ap->a_aclp, ap->a_td); + sizeof(old), (char *) &old, ap->a_td); break; default: @@ -401,12 +539,9 @@ return (0); } -/* - * Check the validity of an ACL for a file. - */ int -ufs_aclcheck(ap) - struct vop_aclcheck_args /* { +ufs_setacl(ap) + struct vop_setacl_args /* { struct vnode *vp; acl_type_t type; struct acl *aclp; @@ -414,7 +549,29 @@ struct thread *td; } */ *ap; { + if (ap->a_type == ACL_TYPE_NFS4) + return (ufs_setacl_nfs4(ap)); + + return (ufs_setacl_posix1e(ap)); +} + +static int +ufs_aclcheck_nfs4(struct vop_aclcheck_args *ap) +{ + int is_directory = 0; + + if ((ap->a_vp->v_mount->mnt_flag & MNT_NFS4ACLS) == 0) + return (EOPNOTSUPP); + + if (ap->a_vp->v_type == VDIR) + is_directory = 1; + return (acl_nfs4_check(ap->a_aclp, is_directory)); +} + +static int +ufs_aclcheck_posix1e(struct vop_aclcheck_args *ap) +{ if ((ap->a_vp->v_mount->mnt_flag & MNT_ACLS) == 0) return (EOPNOTSUPP); @@ -438,4 +595,23 @@ return (acl_posix1e_check(ap->a_aclp)); } +/* + * Check the validity of an ACL for a file. + */ +int +ufs_aclcheck(ap) + struct vop_aclcheck_args /* { + struct vnode *vp; + acl_type_t type; + struct acl *aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + if (ap->a_type == ACL_TYPE_NFS4) + return (ufs_aclcheck_nfs4(ap)); + + return (ufs_aclcheck_posix1e(ap)); +} + #endif /* !UFS_ACL */ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#5 (text+ko) ==== @@ -312,6 +312,7 @@ int error; #ifdef UFS_ACL struct acl *acl; + acl_type_t type; #endif /* @@ -337,9 +338,14 @@ return (EPERM); #ifdef UFS_ACL - if ((vp->v_mount->mnt_flag & MNT_ACLS) != 0) { + if ((vp->v_mount->mnt_flag & (MNT_ACLS | MNT_NFS4ACLS)) != 0) { + if (vp->v_mount->mnt_flag & MNT_NFS4ACLS) + type = ACL_TYPE_NFS4; + else + type = ACL_TYPE_ACCESS; + acl = uma_zalloc(acl_zone, M_WAITOK); - error = VOP_GETACL(vp, ACL_TYPE_ACCESS, acl, ap->a_cred, + error = VOP_GETACL(vp, type, acl, ap->a_cred, ap->a_td); switch (error) { case EOPNOTSUPP: @@ -347,8 +353,13 @@ ip->i_gid, ap->a_mode, ap->a_cred, NULL); break; case 0: - error = vaccess_acl_posix1e(vp->v_type, ip->i_uid, - ip->i_gid, acl, ap->a_mode, ap->a_cred, NULL); + if (type == ACL_TYPE_NFS4) { + error = vaccess_acl_nfs4(vp->v_type, ip->i_uid, + ip->i_gid, acl, ap->a_mode, ap->a_cred, NULL); + } else { + error = vaccess_acl_posix1e(vp->v_type, ip->i_uid, + ip->i_gid, acl, ap->a_mode, ap->a_cred, NULL); + } break; default: printf( @@ -631,6 +642,37 @@ return (error); } +#ifdef UFS_ACL +static int +ufs_update_nfs4_acl_after_mode_change(struct vnode *vp, int mode, + int file_owner_id, struct ucred *cred, struct thread *td) +{ + int error; + struct acl *aclp; + + aclp = uma_zalloc(acl_zone, M_WAITOK); + + error = VOP_GETACL(vp, ACL_TYPE_NFS4, aclp, cred, td); + /* + * We cannot get EOPNOTSUPP here, as the filesystem claims + * to support ACLs. + */ + if (error) + goto out; + + error = acl_nfs4_sync_acl_from_mode(aclp, mode, file_owner_id); + if (error) + goto out; + + error = VOP_SETACL(vp, ACL_TYPE_NFS4, aclp, cred, td); + +out: + uma_zfree(acl_zone, aclp); + + return (error); +} +#endif /* UFS_ACL */ + /* * Change the mode on a file. * Inode must be locked before calling. @@ -670,7 +712,11 @@ ip->i_mode |= (mode & ALLPERMS); DIP_SET(ip, i_mode, ip->i_mode); ip->i_flag |= IN_CHANGE; - return (0); +#ifdef UFS_ACL + if ((vp->v_mount->mnt_flag & MNT_NFS4ACLS) != 0) + error = ufs_update_nfs4_acl_after_mode_change(vp, mode, ip->i_uid, cred, td); +#endif + return (error); } /* @@ -1355,6 +1401,38 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 11:03:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E77461065676; Wed, 2 Jul 2008 11:03: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 A7D101065673 for ; Wed, 2 Jul 2008 11:03:39 +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 949148FC17 for ; Wed, 2 Jul 2008 11:03:39 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62B3dUI013868 for ; Wed, 2 Jul 2008 11:03:39 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62B3d0O013866 for perforce@freebsd.org; Wed, 2 Jul 2008 11:03:39 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 11:03:39 GMT Message-Id: <200807021103.m62B3d0O013866@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 144478 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, 02 Jul 2008 11:03:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=144478 Change 144478 by trasz@trasz_traszkan on 2008/07/02 11:02:45 NFSv4 ACLs, libc part. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flags_nfs4.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flags_nfs4.h#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_perm.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#2 (text+ko) ==== @@ -7,14 +7,20 @@ acl_delete.c \ acl_delete_entry.c \ acl_entry.c \ + acl_flags_nfs4.c \ acl_free.c \ acl_from_text.c \ + acl_from_text_nfs4.c \ acl_get.c \ acl_init.c \ acl_perm.c \ acl_set.c \ acl_support.c \ + acl_branding.c \ + acl_strip.c \ acl_to_text.c \ + acl_to_text_nfs4.c \ + acl_strip.c \ acl_valid.c \ extattr.c \ mac.c \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#2 (text) ==== @@ -13,12 +13,16 @@ acl_delete_link_np; acl_delete_fd_np; acl_delete_entry; + acl_delete_entry_at_position_np; acl_create_entry; + acl_create_entry_at_position_np; acl_get_entry; acl_free; acl_from_text; acl_get_file; acl_get_link_np; + acl_get_extended_np; + acl_get_flags_np; acl_get_fd; acl_get_fd_np; acl_get_perm_np; @@ -30,6 +34,8 @@ acl_add_perm; acl_clear_perms; acl_delete_perm; + acl_set_extended_np; + acl_set_flags_np; acl_set_file; acl_set_link_np; acl_set_fd; @@ -42,6 +48,8 @@ acl_valid_file_np; acl_valid_link_np; acl_valid_fd_np; + acl_is_trivial_np; + acl_strip_np; extattr_namespace_to_string; extattr_string_to_namespace; mac_reload; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#2 (text+ko) ==== @@ -35,6 +35,8 @@ #include #include +#include "acl_support.h" + /* * acl_calc_mask() (23.4.2): calculate and set the permissions * associated with the ACL_MASK ACL entry. If the ACL already @@ -48,6 +50,11 @@ acl_t acl_new; int i, mask_mode, mask_num; + if (!_acl_must_be_posix(*acl_p)) { + errno = EINVAL; + return (-1); + } + /* * (23.4.2.4) requires acl_p to point to a pointer to a valid ACL. * Since one of the primary reasons to use this function would be ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#2 (text+ko) ==== @@ -35,6 +35,8 @@ #include #include +#include "acl_support.h" + /* * acl_copy_entry() (23.4.4): copy the contents of ACL entry src_d to * ACL entry dest_d @@ -48,9 +50,25 @@ return (-1); } - dest_d->ae_tag = src_d->ae_tag; - dest_d->ae_id = src_d->ae_id; + if (_entry_is_posix(src_d)) { + if (!_entry_must_be_posix(dest_d)) { + errno = EINVAL; + return (-1); + } + } + + if (_entry_is_nfs4(src_d)) { + if (!_entry_must_be_nfs4(dest_d)) { + errno = EINVAL; + return (-1); + } + } + + dest_d->ae_tag = src_d->ae_tag; + dest_d->ae_id = src_d->ae_id; dest_d->ae_perm = src_d->ae_perm; + dest_d->ae_extended = src_d->ae_extended; + dest_d->ae_flags = src_d->ae_flags; return (0); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete.c#2 (text+ko) ==== @@ -38,6 +38,8 @@ #include "un-namespace.h" #include +#include "acl_support.h" + int acl_delete_def_file(const char *path_p) { @@ -56,6 +58,8 @@ acl_delete_file_np(const char *path_p, acl_type_t type) { + type = _acl_type_unold(type); + return (__acl_delete_file(path_p, type)); } @@ -63,6 +67,8 @@ acl_delete_link_np(const char *path_p, acl_type_t type) { + type = _acl_type_unold(type); + return (__acl_delete_link(path_p, type)); } @@ -71,5 +77,7 @@ acl_delete_fd_np(int filedes, acl_type_t type) { + type = _acl_type_unold(type); + return (___acl_delete_fd(filedes, type)); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#2 (text+ko) ==== @@ -33,6 +33,40 @@ #include "un-namespace.h" #include #include +#include + +#include "acl_support.h" + +static int +_entry_matches(const acl_entry_t a, const acl_entry_t b) +{ + /* + * There is a semantical difference here between NFSv4 and POSIX + * draft ACLs. In POSIX, there may be only one entry for the particular + * user or group. In NFSv4 ACL, there may be any number of them. We're + * trying to be more specific here in that case. + * + * XXX: The proper way would be to remove them by entry number. + */ + if (_entry_is_nfs4(a)) { + if (a->ae_tag != b->ae_tag || a->ae_extended != b->ae_extended) + return (0); + + /* If ae_ids matter, compare them as well. */ + if (a->ae_tag == ACL_USER || a->ae_tag == ACL_GROUP) { + if (a->ae_id != b->ae_id) + return (0); + } + + return (1); + + } else { + if ((a->ae_tag == b->ae_tag) && (a->ae_id == b->ae_id)) + return (1); + } + + return (0); +} /* * acl_delete_entry() (23.4.9): remove the ACL entry indicated by entry_d @@ -42,7 +76,7 @@ acl_delete_entry(acl_t acl, acl_entry_t entry_d) { struct acl *acl_int; - int i; + int i, found = 0; if (acl == NULL || entry_d == NULL) { errno = EINVAL; @@ -51,15 +85,18 @@ acl_int = &acl->ats_acl; + if (_entry_is_nfs4(entry_d) != _acl_is_nfs4(acl)) { + errno = EINVAL; + return (-1); + } + if ((acl->ats_acl.acl_cnt < 1) || (acl->ats_acl.acl_cnt > ACL_MAX_ENTRIES)) { errno = EINVAL; return (-1); } for (i = 0; i < acl->ats_acl.acl_cnt; i++) { - /* if this is our entry... */ - if ((acl->ats_acl.acl_entry[i].ae_tag == entry_d->ae_tag) && - (acl->ats_acl.acl_entry[i].ae_id == entry_d->ae_id)) { + if (_entry_matches(&(acl->ats_acl.acl_entry[i]), entry_d)) { /* ...shift the remaining entries... */ for (; i < acl->ats_acl.acl_cnt - 1; ++i) acl->ats_acl.acl_entry[i] = @@ -68,12 +105,57 @@ acl->ats_acl.acl_cnt--; bzero(&acl->ats_acl.acl_entry[i], sizeof(struct acl_entry)); + /* XXX: We need this because of the bzero above. */ + _acl_fixup_entry_pointers(acl); acl->ats_cur_entry = 0; - return (0); + + /* Continue with the loop to remove all maching entries. */ + found = 1; } } + if (found) + return (0); errno = EINVAL; return (-1); } + +int +acl_delete_entry_at_position_np(acl_t acl, int offset) +{ + struct acl *acl_int; + int i; + + if (acl == NULL) { + errno = EINVAL; + return (-1); + } + + acl_int = &acl->ats_acl; + + if (offset < 0 || offset >= acl_int->acl_cnt) { + errno = EINVAL; + return (-1); + } + + if ((acl->ats_acl.acl_cnt < 1) || + (acl->ats_acl.acl_cnt > ACL_MAX_ENTRIES)) { + errno = EINVAL; + return (-1); + } + + /* ...shift the remaining entries... */ + for (i = offset; i < acl->ats_acl.acl_cnt - 1; ++i) + acl->ats_acl.acl_entry[i] = + acl->ats_acl.acl_entry[i+1]; + /* ...drop the count and zero the unused entry... */ + acl->ats_acl.acl_cnt--; + bzero(&acl->ats_acl.acl_entry[i], + sizeof(struct acl_entry)); + /* XXX: We need this because of the bzero above. */ + _acl_fixup_entry_pointers(acl); + acl->ats_cur_entry = 0; + + return (0); +} ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#2 (text+ko) ==== @@ -51,7 +51,8 @@ acl_int = &(*acl_p)->ats_acl; - if ((acl_int->acl_cnt >= ACL_MAX_ENTRIES) || (acl_int->acl_cnt < 0)) { + /* XXX: There was a bug here. */ + if ((acl_int->acl_cnt + 1 >= ACL_MAX_ENTRIES) || (acl_int->acl_cnt < 0)) { errno = EINVAL; return (-1); } @@ -61,6 +62,50 @@ (**entry_p).ae_tag = ACL_UNDEFINED_TAG; (**entry_p).ae_id = ACL_UNDEFINED_ID; (**entry_p).ae_perm = ACL_PERM_NONE; + (**entry_p).ae_acl = acl_int; + (**entry_p).ae_flags= 0; + + (*acl_p)->ats_cur_entry = 0; + + return (0); +} + +int +acl_create_entry_at_position_np(acl_t *acl_p, acl_entry_t *entry_p, int offset) +{ + int i; + struct acl *acl_int; + + if (acl_p == NULL) { + errno = EINVAL; + return (-1); + } + + acl_int = &(*acl_p)->ats_acl; + + if ((acl_int->acl_cnt + 1 >= ACL_MAX_ENTRIES) || (acl_int->acl_cnt < 0)) { + errno = EINVAL; + return (-1); + } + + if (offset < 0 || offset >= acl_int->acl_cnt) { + errno = EINVAL; + return (-1); + } + + /* Make room for the new entry. */ + for (i = acl_int->acl_cnt; i > offset; i--) + acl_int->acl_entry[i] = acl_int->acl_entry[i - 1]; + + acl_int->acl_cnt++; + + *entry_p = &acl_int->acl_entry[offset]; + + (**entry_p).ae_tag = ACL_UNDEFINED_TAG; + (**entry_p).ae_id = ACL_UNDEFINED_ID; + (**entry_p).ae_perm = ACL_PERM_NONE; + (**entry_p).ae_acl = acl_int; + (**entry_p).ae_flags= 0; (*acl_p)->ats_cur_entry = 0; @@ -90,6 +135,7 @@ if (acl->ats_cur_entry >= acl->ats_acl.acl_cnt) return 0; *entry_p = &acl_int->acl_entry[acl->ats_cur_entry++]; + (*entry_p)->ae_acl = acl_int; return (1); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#3 (text+ko) ==== @@ -40,46 +40,16 @@ #include #include #include +#include #include "acl_support.h" static int _posix1e_acl_name_to_id(acl_tag_t tag, char *name, uid_t *id); static acl_tag_t acl_string_to_tag(char *tag, char *qualifier); -static char *string_skip_whitespace(char *string); -static void string_trim_trailing_whitespace(char *string); -static char * -string_skip_whitespace(char *string) -{ - - while (*string && ((*string == ' ') || (*string == '\t'))) { - string++; - } - return (string); -} - -static void -string_trim_trailing_whitespace(char *string) -{ - char *end; +int _nfs4_acl_entry_from_text(acl_t aclp, char *entry); +int _text_could_be_nfs4_acl(const char *entry); - if (*string == '\0') - return; - - end = string + strlen(string) - 1; - - while (end != string) { - if ((*end == ' ') || (*end == '\t')) { - *end = '\0'; - end--; - } else { - return; - } - } - - return; -} - static acl_tag_t acl_string_to_tag(char *tag, char *qualifier) { @@ -118,6 +88,8 @@ uid_t id; int error; + assert(_acl_is_posix(aclp)); + /* Split into three ':' delimited fields. */ tag = strsep(&entry, ":"); if (tag == NULL) { @@ -194,6 +166,25 @@ return (0); } +static int +_text_is_nfs4_entry(const char *entry) +{ + int count = 0; + + assert(strlen(entry) > 0); + + while (*entry != '\0') { + if (*entry == ':' || *entry == '@') + count++; + entry++; + } + + if (count <= 2) + return (0); + + return (1); +} + /* * acl_from_text -- Convert a string into an ACL. * Postpone most validity checking until the end and call acl_valid() to do @@ -211,7 +202,7 @@ if (mybuf_p == NULL) return(NULL); - acl = acl_init(3); + acl = acl_init(3); /* XXX: WTF, 3? */ if (acl == NULL) { free(mybuf_p); return(NULL); @@ -226,7 +217,21 @@ /* Inner loop: delimit at ',' boundaries. */ while ((entry = strsep(¬comment, ","))) { - error = _posix1e_acl_entry_from_text(acl, entry); + + /* Skip empty lines. */ + if (strlen(string_skip_whitespace(entry)) == 0) + continue; + + if (_acl_is_unknown(acl) && _text_is_nfs4_entry(entry)) + _acl_must_be_nfs4(acl); + else + _acl_must_be_posix(acl); + + if (_acl_is_nfs4(acl)) + error = _nfs4_acl_entry_from_text(acl, entry); + else + error = _posix1e_acl_entry_from_text(acl, entry); + if (error) goto error_label; } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#3 (text+ko) ==== @@ -49,6 +49,9 @@ #include #include #include +#include + +#include "acl_support.h" acl_t acl_get_file(const char *path_p, acl_type_t type) @@ -60,12 +63,17 @@ if (aclp == NULL) return (NULL); + type = _acl_type_unold(type); + error = __acl_get_file(path_p, type, &aclp->ats_acl); if (error) { acl_free(aclp); return (NULL); } + _acl_fixup_entry_pointers(aclp); + _acl_brand_from_type(aclp, type); + return (aclp); } @@ -79,18 +87,26 @@ if (aclp == NULL) return (NULL); + type = _acl_type_unold(type); + error = __acl_get_link(path_p, type, &aclp->ats_acl); if (error) { acl_free(aclp); return (NULL); } + _acl_fixup_entry_pointers(aclp); + _acl_brand_from_type(aclp, type); + return (aclp); } acl_t acl_get_fd(int fd) { + if (fpathconf(fd, _PC_EXTENDED_SECURITY_NP)) + return (acl_get_fd_np(fd, ACL_TYPE_NFS4)); + return (acl_get_fd_np(fd, ACL_TYPE_ACCESS)); } @@ -104,15 +120,23 @@ if (aclp == NULL) return (NULL); + type = _acl_type_unold(type); + error = ___acl_get_fd(fd, type, &aclp->ats_acl); if (error) { acl_free(aclp); return (NULL); } + _acl_fixup_entry_pointers(aclp); + _acl_brand_from_type(aclp, type); + return (aclp); } +/* + * XXX: Possible binary compatibility problem; acl_perm_t definition changed. + */ int acl_get_perm_np(acl_permset_t permset_d, acl_perm_t perm) { @@ -200,3 +224,40 @@ return (0); } + +int +acl_get_extended_np(acl_entry_t entry_d, acl_extended_t *extended_p) +{ + if (entry_d == NULL || extended_p == NULL) { + errno = EINVAL; + return (-1); + } + + if (!_entry_is_nfs4(entry_d)) { + errno = EINVAL; + return (-1); + } + + *extended_p = entry_d->ae_extended; + + return (0); +} + +int +acl_get_flags_np(acl_entry_t entry_d, acl_flag_t *flags_p) +{ + if (entry_d == NULL || flags_p == NULL) { + errno = EINVAL; + return (-1); + } + + if (!_entry_is_nfs4(entry_d)) { + errno = EINVAL; + return (-1); + } + + *flags_p = entry_d->ae_flags; + + return (0); +} + ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#2 (text+ko) ==== @@ -39,6 +39,8 @@ #include #include +#include "acl_support.h" + acl_t acl_init(int count) { @@ -57,6 +59,11 @@ if (acl != NULL) bzero(acl, sizeof(struct acl_t_struct)); + acl->ats_acl.acl_brand = ACL_BRAND_UNKNOWN; + acl->ats_acl.acl_magic = ACL_MAGIC; + + _acl_fixup_entry_pointers(acl); + return (acl); } @@ -72,5 +79,7 @@ acl_new->ats_cur_entry = 0; } + _acl_fixup_entry_pointers(acl_new); + return (acl_new); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_perm.c#2 (text+ko) ==== @@ -39,6 +39,9 @@ * acl_add_perm() (23.4.1): add the permission contained in perm to the * permission set permset_d */ +/* + * XXX: Possible binary compatibility problem; acl_perm_t definition changed. + */ int acl_add_perm(acl_permset_t permset_d, acl_perm_t perm) { @@ -79,6 +82,9 @@ * acl_delete_perm() (23.4.10): remove the permission in perm from the * permission set permset_d */ +/* + * XXX: Possible binary compatibility problem; acl_perm_t definition changed. + */ int acl_delete_perm(acl_permset_t permset_d, acl_perm_t perm) { ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#3 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include "acl_support.h" @@ -58,6 +59,15 @@ errno = EINVAL; return (-1); } + + /* This is for old binaries using new libc. */ + type = _acl_type_unold(type); + + if (_acl_type_not_valid_for_acl(acl, type)) { + errno = EINVAL; + return (-1); + } + if (_posix1e_acl(acl, type)) { error = _posix1e_acl_sort(acl); if (error) { @@ -80,6 +90,14 @@ errno = EINVAL; return (-1); } + + type = _acl_type_unold(type); + + if (_acl_type_not_valid_for_acl(acl, type)) { + errno = EINVAL; + return (-1); + } + if (_posix1e_acl(acl, type)) { error = _posix1e_acl_sort(acl); if (error) { @@ -96,6 +114,9 @@ int acl_set_fd(int fd, acl_t acl) { + if (fpathconf(fd, _PC_EXTENDED_SECURITY_NP)) + return (acl_set_fd_np(fd, acl, ACL_TYPE_NFS4)); + return (acl_set_fd_np(fd, acl, ACL_TYPE_ACCESS)); } @@ -104,6 +125,18 @@ { int error; + if (acl == NULL) { + errno = EINVAL; + return (-1); + } + + type = _acl_type_unold(type); + + if (_acl_type_not_valid_for_acl(acl, type)) { + errno = EINVAL; + return (-1); + } + if (_posix1e_acl(acl, type)) { error = _posix1e_acl_sort(acl); if (error) { @@ -130,6 +163,19 @@ return (-1); } + if ((*permset_d & ACL_POSIX1E_BITS) != *permset_d) { + + if ((*permset_d & ACL_NFS4_PERM_BITS) != *permset_d) { + errno = EINVAL; + return (-1); + } + + if (!_entry_must_be_nfs4(entry_d)) { + errno = EINVAL; + return (-1); + } + } + entry_d->ae_perm = *permset_d; return (0); @@ -173,6 +219,15 @@ return (-1); } + if ((tag_type == ACL_OTHER || tag_type == ACL_MASK) && + !_entry_must_be_posix(entry_d)) { + errno = EINVAL; + return (-1); + } else if (tag_type == ACL_EVERYONE && !_entry_must_be_nfs4(entry_d)) { + errno = EINVAL; + return (-1); + } + switch(tag_type) { case ACL_USER_OBJ: case ACL_USER: @@ -180,6 +235,7 @@ case ACL_GROUP: case ACL_MASK: case ACL_OTHER: + case ACL_EVERYONE: entry_d->ae_tag = tag_type; return (0); } @@ -187,3 +243,53 @@ errno = EINVAL; return (-1); } + +int +acl_set_extended_np(acl_entry_t entry_d, acl_extended_t extended) +{ + if (entry_d == NULL) { + errno = EINVAL; + return (-1); + } + + if (!_entry_must_be_nfs4(entry_d)) { + errno = EINVAL; + return (-1); + } + + switch (extended) { + case ACL_EXTENDED_ALLOW: + case ACL_EXTENDED_DENY: + case ACL_EXTENDED_AUDIT: + case ACL_EXTENDED_ALARM: + + entry_d->ae_extended = extended; + return (0); + } + + errno = EINVAL; + return (-1); +} + +int +acl_set_flags_np(acl_entry_t entry_d, acl_flag_t flags) +{ + if (entry_d == NULL) { + errno = EINVAL; + return (-1); + } + + if ((flags & ACL_FLAGS_BITS) != flags) { + errno = EINVAL; + return (-1); + } + + if (!_entry_must_be_nfs4(entry_d)) { + errno = EINVAL; + return (-1); + } + + entry_d->ae_flags = flags; + return (0); +} + ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#2 (text+ko) ==== @@ -40,6 +40,8 @@ #include #include #include +#include +#include #include "acl_support.h" @@ -49,6 +51,51 @@ #define ACL_STRING_PERM_NONE '-' /* + * Convert "old" type - ACL_TYPE_{ACCESS,DEFAULT}_OLD - into its "new" + * counterpart. It's neccessary for the old (pre-NFS4 ACLs) binaries + * to work with new libc and kernel. Fixing "type" for old binaries with + * old libc and new kernel is being done by kern/vfs_acl.c:type_unold(). + */ +int +_acl_type_unold(acl_type_t type) +{ + if (type == ACL_TYPE_ACCESS_OLD) + return (ACL_TYPE_ACCESS); + + if (type == ACL_TYPE_DEFAULT_OLD) + return (ACL_TYPE_DEFAULT); + + return (type); +} + +/* + * Return 0, if both ACLs are identical. + */ +int +_acl_differs(const acl_t a, const acl_t b) +{ + int i; + struct acl_entry *entrya, *entryb; + + if (a->ats_acl.acl_cnt != b->ats_acl.acl_cnt) + return (1); + + for (i = 0; i < b->ats_acl.acl_cnt; i++) { + entrya = &(a->ats_acl.acl_entry[i]); + entryb = &(b->ats_acl.acl_entry[i]); + + if (entrya->ae_tag != entryb->ae_tag || + entrya->ae_id != entryb->ae_id || + entrya->ae_perm != entryb->ae_perm || + entrya->ae_extended != entryb->ae_extended || + entrya->ae_flags != entryb->ae_flags) + return (1); + } + + return (0); +} + +/* * _posix1e_acl_entry_compare -- compare two acl_entry structures to * determine the order they should appear in. Used by _posix1e_acl_sort to * sort ACL entries into the kernel-desired order -- i.e., the order useful @@ -59,6 +106,9 @@ static int _posix1e_acl_entry_compare(struct acl_entry *a, struct acl_entry *b) { + assert(_entry_is_posix(a)); + assert(_entry_is_posix(b)); + /* * First, sort between tags -- conveniently defined in the correct * order for verification. @@ -101,6 +151,9 @@ acl_int = &acl->ats_acl; + /* XXX: */ + assert(_entry_is_posix(&(acl->ats_acl.acl_entry[3]))); + qsort(&acl_int->acl_entry[0], acl_int->acl_cnt, sizeof(struct acl_entry), (compare) _posix1e_acl_entry_compare); @@ -115,6 +168,8 @@ int _posix1e_acl(acl_t acl, acl_type_t type) { + if (!_acl_is_posix(acl)) + return (0); return ((type == ACL_TYPE_ACCESS) || (type == ACL_TYPE_DEFAULT)); } @@ -382,3 +437,37 @@ return (0); } + +char * +string_skip_whitespace(char *string) +{ + + while (*string && ((*string == ' ') || (*string == '\t'))) { + string++; + } + return (string); +} + +void +string_trim_trailing_whitespace(char *string) +{ + char *end; + + if (*string == '\0') + return; + + end = string + strlen(string) - 1; + + while (end != string) { + if ((*end == ' ') || (*end == '\t')) { + *end = '\0'; + end--; + } else { + return; + } + } + + return; +} + + ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 11:04:41 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1927E1065676; Wed, 2 Jul 2008 11:04: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 CEF8C1065674 for ; Wed, 2 Jul 2008 11:04: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 BDB198FC1F for ; Wed, 2 Jul 2008 11:04:40 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62B4efL013944 for ; Wed, 2 Jul 2008 11:04:40 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62B4eqU013942 for perforce@freebsd.org; Wed, 2 Jul 2008 11:04:40 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 11:04:40 GMT Message-Id: <200807021104.m62B4eqU013942@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 144479 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, 02 Jul 2008 11:04:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=144479 Change 144479 by trasz@trasz_traszkan on 2008/07/02 11:04:20 Add support for the new ACLs to getfacl(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#5 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#5 (text+ko) ==== @@ -196,6 +196,9 @@ else more_than_one++; + if (pathconf(path, _PC_EXTENDED_SECURITY_NP)) + type = ACL_TYPE_NFS4; + if (!qflag) printf("# file: %s\n# owner: %s\n# group: %s\n", path, getuname(sb.st_uid), getgname(sb.st_gid)); @@ -210,7 +213,7 @@ return(-1); } errno = 0; - if (type != ACL_TYPE_ACCESS) + if (type != ACL_TYPE_ACCESS && type != ACL_TYPE_NFS4) return(0); acl = acl_from_stat(sb); if (!acl) { From owner-p4-projects@FreeBSD.ORG Wed Jul 2 11:09:46 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 541BE1065673; Wed, 2 Jul 2008 11:09: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 16713106564A for ; Wed, 2 Jul 2008 11:09:46 +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 04CAA8FC20 for ; Wed, 2 Jul 2008 11:09:46 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62B9jfv014395 for ; Wed, 2 Jul 2008 11:09:45 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62B9jHc014393 for perforce@freebsd.org; Wed, 2 Jul 2008 11:09:45 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 11:09:45 GMT Message-Id: <200807021109.m62B9jHc014393@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 144480 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, 02 Jul 2008 11:09:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=144480 Change 144480 by trasz@trasz_traszkan on 2008/07/02 11:09:31 Add support for the new ACLs to ls(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/ls/print.c#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/ls/print.c#2 (text+ko) ==== @@ -616,9 +616,8 @@ aclmode(char *buf, const FTSENT *p, int *haveacls) { char name[MAXPATHLEN + 1]; - int entries, ret; + int type = ACL_TYPE_ACCESS, ret; acl_t facl; - acl_entry_t ae; /* * Add a + after the standard rwxrwxrwx mode if the file has an @@ -638,29 +637,34 @@ *haveacls = 1; return; } - if ((ret = pathconf(name, _PC_ACL_EXTENDED)) <= 0) { - if (ret < 0 && errno != EINVAL) - warn("%s", name); - else - *haveacls = 0; + + *haveacls = 0; + + ret = pathconf(name, _PC_ACL_EXTENDED); + if (ret > 0) { + type = ACL_TYPE_ACCESS; + *haveacls = 1; + } else if (ret < 0 && errno != EINVAL) { + warn("%s", name); + return; + } + + ret = pathconf(name, _PC_EXTENDED_SECURITY_NP); + if (ret > 0) { + type = ACL_TYPE_NFS4; + *haveacls = 1; + } else if (ret < 0 && errno != EINVAL) { + warn("%s", name); return; } - *haveacls = 1; - if ((facl = acl_get_file(name, ACL_TYPE_ACCESS)) != NULL) { - if (acl_get_entry(facl, ACL_FIRST_ENTRY, &ae) == 1) { - entries = 1; - while (acl_get_entry(facl, ACL_NEXT_ENTRY, &ae) == 1) - if (++entries > 3) - break; - /* - * POSIX.1e requires that ACLs of type ACL_TYPE_ACCESS - * must have at least three entries (owner, group, - * and other). So anything with more than 3 ACLs looks - * interesting to us. - */ - if (entries > 3) - buf[10] = '+'; - } + + if (*haveacls == 0) + return; + + if ((facl = acl_get_file(name, type)) != NULL) { + if (!acl_is_trivial_np(facl)) + buf[10] = '+'; + acl_free(facl); } else warn("%s", name); From owner-p4-projects@FreeBSD.ORG Wed Jul 2 11:16:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B64B91065679; Wed, 2 Jul 2008 11:16: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 5EACD1065676 for ; Wed, 2 Jul 2008 11:16:53 +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 4C21F8FC1A for ; Wed, 2 Jul 2008 11:16:53 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62BGrCq015013 for ; Wed, 2 Jul 2008 11:16:53 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62BGra9015011 for perforce@freebsd.org; Wed, 2 Jul 2008 11:16:53 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 11:16:53 GMT Message-Id: <200807021116.m62BGra9015011@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 144481 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, 02 Jul 2008 11:16:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=144481 Change 144481 by trasz@trasz_traszkan on 2008/07/02 11:16:14 Add support for the new ACLs to setfacl(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#2 (text+ko) ==== @@ -42,6 +42,8 @@ merge_user_group(acl_entry_t *entry, acl_entry_t *entry_new) { acl_permset_t permset; + acl_extended_t extended; + acl_flag_t flags; int have_entry; uid_t *id, *id_new; @@ -59,6 +61,18 @@ err(1, "acl_get_permset() failed"); if (acl_set_permset(*entry_new, permset) == -1) err(1, "acl_set_permset() failed"); + + if (acl_type == ACL_TYPE_NFS4) { + if (acl_get_extended_np(*entry, &extended)) + err(1, "acl_get_extended_np() failed"); + if (acl_set_extended_np(*entry_new, extended)) + err(1, "acl_set_extended_np() failed"); + if (acl_get_flags_np(*entry, &flags)) + err(1, "acl_get_flags_np() failed"); + if (acl_set_flags_np(*entry_new, flags)) + err(1, "acl_set_flags_np() failed"); + } + have_entry = 1; } acl_free(id); @@ -77,9 +91,11 @@ acl_permset_t permset; acl_t acl_new; acl_tag_t tag, tag_new; + acl_extended_t extended, extended_new; + acl_flag_t flags; int entry_id, entry_id_new, have_entry; - if (acl_type == ACL_TYPE_ACCESS) + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) acl_new = acl_dup(prev_acl[ACCESS_ACL]); else acl_new = acl_dup(prev_acl[DEFAULT_ACL]); @@ -111,6 +127,19 @@ if (tag != tag_new) continue; + /* + * For NFS4, in addition to "tag" and "id" we also + * compare "extended". + */ + if (acl_type == ACL_TYPE_NFS4) { + if (acl_get_extended_np(entry, &extended)) + err(1, "acl_get_extended_np() failed"); + if (acl_get_extended_np(entry_new, &extended_new)) + err(1, "acl_get_extended_np() failed"); + if (extended != extended_new) + continue; + } + switch(tag) { case ACL_USER: case ACL_GROUP: @@ -123,10 +152,22 @@ case ACL_GROUP_OBJ: case ACL_OTHER: case ACL_MASK: + case ACL_EVERYONE: if (acl_get_permset(entry, &permset) == -1) err(1, "acl_get_permset() failed"); if (acl_set_permset(entry_new, permset) == -1) err(1, "acl_set_permset() failed"); + + if (acl_type == ACL_TYPE_NFS4) { + if (acl_get_extended_np(entry, &extended)) + err(1, "acl_get_extended_np() failed"); + if (acl_set_extended_np(entry_new, extended)) + err(1, "acl_set_extended_np() failed"); + if (acl_get_flags_np(entry, &flags)) + err(1, "acl_get_flags_np() failed"); + if (acl_set_flags_np(entry_new, flags)) + err(1, "acl_set_flags_np() failed"); + } have_entry = 1; break; default: @@ -138,16 +179,29 @@ /* if this entry has not been found, it must be new */ if (have_entry == 0) { - if (acl_create_entry(&acl_new, &entry_new) == -1) { - acl_free(acl_new); - return (-1); + + /* + * NFS4 ACL entries must be prepended to the ACL. + * Appending them at the end makes no sense, since + * in most cases they wouldn't even get evaluated. + */ + if (acl_type == ACL_TYPE_NFS4) { + if (acl_create_entry_at_position_np(&acl_new, &entry_new, 0) == -1) { + acl_free(acl_new); + return (-1); + } + } else { + if (acl_create_entry(&acl_new, &entry_new) == -1) { + acl_free(acl_new); + return (-1); + } } if (acl_copy_entry(entry_new, entry) == -1) err(1, "acl_copy_entry() failed"); } } - if (acl_type == ACL_TYPE_ACCESS) { + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) { acl_free(prev_acl[ACCESS_ACL]); prev_acl[ACCESS_ACL] = acl_new; } else { ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#2 (text+ko) ==== @@ -50,7 +50,7 @@ carried_error = 0; - if (acl_type == ACL_TYPE_ACCESS) + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) acl_new = acl_dup(prev_acl[ACCESS_ACL]); else acl_new = acl_dup(prev_acl[DEFAULT_ACL]); @@ -73,7 +73,7 @@ } } - if (acl_type == ACL_TYPE_ACCESS) { + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) { acl_free(prev_acl[ACCESS_ACL]); prev_acl[ACCESS_ACL] = acl_new; } else { @@ -113,64 +113,17 @@ remove_ext(acl_t *prev_acl) { acl_t acl_new, acl_old; - acl_entry_t entry, entry_new; - acl_permset_t perm; - acl_tag_t tag; - int entry_id, have_mask_entry; - if (acl_type == ACL_TYPE_ACCESS) - acl_old = acl_dup(prev_acl[ACCESS_ACL]); + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) + acl_old = prev_acl[ACCESS_ACL]; else - acl_old = acl_dup(prev_acl[DEFAULT_ACL]); - if (acl_old == NULL) - err(1, "acl_dup() failed"); + acl_old = prev_acl[DEFAULT_ACL]; - have_mask_entry = 0; - acl_new = acl_init(ACL_MAX_ENTRIES); + acl_new = acl_strip_np(acl_old, !n_flag); if (acl_new == NULL) - err(1, "acl_init() failed"); - tag = ACL_UNDEFINED_TAG; + err(1, "acl_strip_np() failed"); - /* only save the default user/group/other entries */ - entry_id = ACL_FIRST_ENTRY; - while (acl_get_entry(acl_old, entry_id, &entry) == 1) { - entry_id = ACL_NEXT_ENTRY; - - if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed"); - - switch(tag) { - case ACL_USER_OBJ: - case ACL_GROUP_OBJ: - case ACL_OTHER: - if (acl_get_tag_type(entry, &tag) == -1) - err(1, "acl_get_tag_type() failed"); - if (acl_get_permset(entry, &perm) == -1) - err(1, "acl_get_permset() failed"); - if (acl_create_entry(&acl_new, &entry_new) == -1) - err(1, "acl_create_entry() failed"); - if (acl_set_tag_type(entry_new, tag) == -1) - err(1, "acl_set_tag_type() failed"); - if (acl_set_permset(entry_new, perm) == -1) - err(1, "acl_get_permset() failed"); - if (acl_copy_entry(entry_new, entry) == -1) - err(1, "acl_copy_entry() failed"); - break; - case ACL_MASK: - have_mask_entry = 1; - break; - default: - break; - } - } - if (have_mask_entry && n_flag == 0) { - if (acl_calc_mask(&acl_new) == -1) - err(1, "acl_calc_mask() failed"); - } else { - have_mask = 1; - } - - if (acl_type == ACL_TYPE_ACCESS) { + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) { acl_free(prev_acl[ACCESS_ACL]); prev_acl[ACCESS_ACL] = acl_new; } else { ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#3 (text+ko) ==== @@ -64,20 +64,26 @@ { acl_t *acl; struct stat sb; + int type; if (stat(filename, &sb) == -1) { warn("stat() of %s failed", filename); return (NULL); } + if (pathconf(filename, _PC_EXTENDED_SECURITY_NP)) + type = ACL_TYPE_NFS4; + else + type = ACL_TYPE_ACCESS; + acl = zmalloc(sizeof(acl_t) * 2); if (h_flag) - acl[ACCESS_ACL] = acl_get_link_np(filename, ACL_TYPE_ACCESS); + acl[ACCESS_ACL] = acl_get_link_np(filename, type); else - acl[ACCESS_ACL] = acl_get_file(filename, ACL_TYPE_ACCESS); + acl[ACCESS_ACL] = acl_get_file(filename, type); if (acl[ACCESS_ACL] == NULL) err(1, "acl_get_file() failed"); - if (S_ISDIR(sb.st_mode)) { + if (S_ISDIR(sb.st_mode) && type != ACL_TYPE_NFS4) { if (h_flag) acl[DEFAULT_ACL] = acl_get_link_np(filename, ACL_TYPE_DEFAULT); @@ -210,6 +216,11 @@ local_error = 0; + if (acl_type != ACL_TYPE_DEFAULT && pathconf(file->filename, _PC_EXTENDED_SECURITY_NP)) + acl_type = ACL_TYPE_NFS4; + else + acl_type = ACL_TYPE_ACCESS; + /* cycle through each option */ TAILQ_FOREACH(entry, &entrylist, next) { if (local_error) @@ -245,11 +256,14 @@ continue; } - if (acl_type == ACL_TYPE_ACCESS) + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) final_acl = acl[ACCESS_ACL]; else final_acl = acl[DEFAULT_ACL]; + if (acl_type == ACL_TYPE_NFS4) + need_mask = 0; + if (need_mask && (set_acl_mask(&final_acl) == -1)) { warnx("failed to set ACL mask on %s", file->filename); carried_error++; From owner-p4-projects@FreeBSD.ORG Wed Jul 2 12:12:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDACF1065679; Wed, 2 Jul 2008 12:12: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 7DAE1106564A for ; Wed, 2 Jul 2008 12:12:49 +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 6C4B18FC1A for ; Wed, 2 Jul 2008 12:12:49 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62CCnWj021203 for ; Wed, 2 Jul 2008 12:12:49 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62CCnWW021201 for perforce@freebsd.org; Wed, 2 Jul 2008 12:12:49 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 12:12:49 GMT Message-Id: <200807021212.m62CCnWW021201@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 144482 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, 02 Jul 2008 12:12:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=144482 Change 144482 by trasz@trasz_traszkan on 2008/07/02 12:12:47 Keep the list sorted. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#3 (text+ko) ==== @@ -2,7 +2,8 @@ .PATH: ${.CURDIR}/posix1e -SRCS+= acl_calc_mask.c \ +SRCS+= acl_branding.c \ + acl_calc_mask.c \ acl_copy.c \ acl_delete.c \ acl_delete_entry.c \ @@ -15,12 +16,10 @@ acl_init.c \ acl_perm.c \ acl_set.c \ + acl_strip.c \ acl_support.c \ - acl_branding.c \ - acl_strip.c \ acl_to_text.c \ acl_to_text_nfs4.c \ - acl_strip.c \ acl_valid.c \ extattr.c \ mac.c \ From owner-p4-projects@FreeBSD.ORG Wed Jul 2 14:30:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9F281065686; Wed, 2 Jul 2008 14:30: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 9B4C71065680 for ; Wed, 2 Jul 2008 14:30:07 +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 8A3F28FC32 for ; Wed, 2 Jul 2008 14:30:07 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62EU7ob044266 for ; Wed, 2 Jul 2008 14:30:07 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62EU7xG044262 for perforce@freebsd.org; Wed, 2 Jul 2008 14:30:07 GMT (envelope-from gabor@freebsd.org) Date: Wed, 2 Jul 2008 14:30:07 GMT Message-Id: <200807021430.m62EU7xG044262@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 144485 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, 02 Jul 2008 14:30:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=144485 Change 144485 by gabor@gabor_server on 2008/07/02 14:29:53 - Fix handling of binary files - The fixed routine supports multibyte characters Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#4 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#4 (text+ko) ==== @@ -86,6 +86,8 @@ #include #include #include +#include +#include #include "diff.h" #include "pathnames.h" @@ -1280,17 +1282,22 @@ static int asciifile(FILE *f) { - char buf[BUFSIZ]; - int i, cnt; + wint_t ch = L'\0'; + size_t i; if (aflag || f == NULL) return (1); rewind(f); - cnt = fread(buf, 1, sizeof(buf), f); - for (i = 0; i < cnt; i++) - if (!isprint(buf[i]) && !isspace(buf[i])) + for (i = 0; i <= BUFSIZ; i++) { + if ((ch = fgetwc(f)) == WEOF) { + if (errno == EILSEQ) + return (0); + break; + } + if (!iswspace(ch) && iswcntrl(ch)) return (0); + } return (1); } From owner-p4-projects@FreeBSD.ORG Wed Jul 2 14:48:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 717E410656AF; Wed, 2 Jul 2008 14:48:26 +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 329411065687 for ; Wed, 2 Jul 2008 14:48:26 +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 07A8E8FC19 for ; Wed, 2 Jul 2008 14:48:26 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62EmP68046061 for ; Wed, 2 Jul 2008 14:48:25 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62EmPUk046059 for perforce@freebsd.org; Wed, 2 Jul 2008 14:48:25 GMT (envelope-from gabor@freebsd.org) Date: Wed, 2 Jul 2008 14:48:25 GMT Message-Id: <200807021448.m62EmPUk046059@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 144486 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, 02 Jul 2008 14:48:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=144486 Change 144486 by gabor@gabor_server on 2008/07/02 14:47:44 - Reset errno before calling fgetwc Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#5 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diffreg.c#5 (text+ko) ==== @@ -1289,6 +1289,7 @@ return (1); rewind(f); + errno = 0; for (i = 0; i <= BUFSIZ; i++) { if ((ch = fgetwc(f)) == WEOF) { if (errno == EILSEQ) From owner-p4-projects@FreeBSD.ORG Wed Jul 2 14:49:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 993DE1065675; Wed, 2 Jul 2008 14:49: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 5B7F1106566C for ; Wed, 2 Jul 2008 14:49:27 +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 30F588FC1A for ; Wed, 2 Jul 2008 14:49:27 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62EnR9R046129 for ; Wed, 2 Jul 2008 14:49:27 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62EnRf4046127 for perforce@freebsd.org; Wed, 2 Jul 2008 14:49:27 GMT (envelope-from gabor@freebsd.org) Date: Wed, 2 Jul 2008 14:49:27 GMT Message-Id: <200807021449.m62EnRf4046127@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 144487 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, 02 Jul 2008 14:49:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=144487 Change 144487 by gabor@gabor_server on 2008/07/02 14:48:36 - Reset errno before calling fgetwc Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/file.c#13 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/file.c#13 (text+ko) ==== @@ -66,6 +66,7 @@ if (fseek(f->f, 0L, SEEK_SET) == -1) return (0); + errno = 0; for (i = 0; i <= BUFSIZ; i++) { if ((ch = fgetwc(f->f)) == WEOF) { if (errno == EILSEQ) From owner-p4-projects@FreeBSD.ORG Wed Jul 2 14:53:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6C9C1065690; Wed, 2 Jul 2008 14:53: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 781AF1065688 for ; Wed, 2 Jul 2008 14:53:31 +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 66D3C8FC0C for ; Wed, 2 Jul 2008 14:53:31 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62ErVxU046508 for ; Wed, 2 Jul 2008 14:53:31 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62ErVFN046506 for perforce@freebsd.org; Wed, 2 Jul 2008 14:53:31 GMT (envelope-from gabor@freebsd.org) Date: Wed, 2 Jul 2008 14:53:31 GMT Message-Id: <200807021453.m62ErVFN046506@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 144488 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, 02 Jul 2008 14:53:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=144488 Change 144488 by gabor@gabor_server on 2008/07/02 14:52:50 - Remove false comment Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#5 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#5 (text+ko) ==== @@ -76,7 +76,6 @@ /* XXX: UNIMPLEMENTED { "ignore-blank-lines", no_argument, NULL, 'B' }, */ { "ignore-space-change", no_argument, NULL, 'b' }, -/* XXX: -c is incompatible with GNU version */ { "context", optional_argument, NULL, 'C' }, { "ifdef", required_argument, NULL, 'D' }, { "minimal", no_argument, NULL, 'd' }, @@ -100,7 +99,6 @@ { "report-identical-files", no_argument, NULL, 's' }, { "initial-tab", no_argument, NULL, 'T' }, { "expand-tabs", no_argument, NULL, 't' }, -/* XXX: -u is incompatible with GNU version */ { "unified", optional_argument, NULL, 'U' }, { "version", no_argument, NULL, 'v' }, /* XXX: UNIMPLEMENTED From owner-p4-projects@FreeBSD.ORG Wed Jul 2 14:53:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97D541065727; Wed, 2 Jul 2008 14:53: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 9AB5F106568E for ; Wed, 2 Jul 2008 14:53:31 +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 893FC8FC14 for ; Wed, 2 Jul 2008 14:53:31 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62ErVeJ046513 for ; Wed, 2 Jul 2008 14:53:31 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62ErV0t046511 for perforce@freebsd.org; Wed, 2 Jul 2008 14:53:31 GMT (envelope-from trasz@freebsd.org) Date: Wed, 2 Jul 2008 14:53:31 GMT Message-Id: <200807021453.m62ErV0t046511@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 144489 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, 02 Jul 2008 14:53:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=144489 Change 144489 by trasz@trasz_traszkan on 2008/07/02 14:53:26 Clarify comments. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#2 (text+ko) ==== @@ -265,7 +265,7 @@ aclp->acl_magic = ACL_MAGIC; /* - * NFSv4 Minor Version 1 + * NFSv4 Minor Version 1, draft-ietf-nfsv4-minorversion1-03.txt * * 3.16.6.3. Applying a Mode to an Existing ACL */ @@ -605,7 +605,7 @@ const struct acl_entry *entry; /* - * NFSv4 Minor Version 1 + * NFSv4 Minor Version 1, draft-ietf-nfsv4-minorversion1-03.txt * * 3.16.6.1. Recomputing mode upon SETATTR of ACL */ @@ -740,7 +740,7 @@ KASSERT(child_aclp->acl_cnt == 0, "child_aclp->acl_cnt == 0"); /* - * NFSv4 Minor Version 1 + * NFSv4 Minor Version 1, draft-ietf-nfsv4-minorversion1-03.txt * * 3.16.6.2. Applying the mode given to CREATE or OPEN * to an inherited ACL From owner-p4-projects@FreeBSD.ORG Wed Jul 2 14:59:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 230551065685; Wed, 2 Jul 2008 14:59:38 +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 D83341065675 for ; Wed, 2 Jul 2008 14:59:37 +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 C72F28FC29 for ; Wed, 2 Jul 2008 14:59:37 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62ExbPu047042 for ; Wed, 2 Jul 2008 14:59:37 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62ExbNZ047040 for perforce@freebsd.org; Wed, 2 Jul 2008 14:59:37 GMT (envelope-from gabor@freebsd.org) Date: Wed, 2 Jul 2008 14:59:37 GMT Message-Id: <200807021459.m62ExbNZ047040@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 144490 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, 02 Jul 2008 14:59:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=144490 Change 144490 by gabor@gabor_server on 2008/07/02 14:59:18 - -Add --help Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#6 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#6 (text+ko) ==== @@ -53,6 +53,10 @@ struct excludes *excludes_list; regex_t ignore_re; +enum { + HELP_OPT = CHAR_MAX + 1 +}; + #define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" static struct option longopts[] = { /* XXX: UNIMPLEMENTED @@ -70,8 +74,8 @@ { "from-file", required_argument, NULL, OPT_FFILE }, { "to-file", required_argument, NULL, OPT_TOFILE }, { "horizon-lines", required_argument, NULL, OPT_HLINES }, - { "speed-large-files", no_argument, NULL, OPT_LFILES }, - { "help", no_argument, NULL, OPT_HELP }, */ + { "speed-large-files", no_argument, NULL, OPT_LFILES }, */ + { "help", no_argument, NULL, HELP_OPT }, { "text", no_argument, NULL, 'a' }, /* XXX: UNIMPLEMENTED { "ignore-blank-lines", no_argument, NULL, 'B' }, */ @@ -243,6 +247,7 @@ case 'x': push_excludes(optarg); break; + case HELP_OPT: default: usage(); break; From owner-p4-projects@FreeBSD.ORG Wed Jul 2 15:10:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC1DB1065674; Wed, 2 Jul 2008 15:10: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 3B35E106564A for ; Wed, 2 Jul 2008 15:10:49 +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 29CA98FC19 for ; Wed, 2 Jul 2008 15:10:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62FAnGU049051 for ; Wed, 2 Jul 2008 15:10:49 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62FAn3S049049 for perforce@freebsd.org; Wed, 2 Jul 2008 15:10:49 GMT (envelope-from gabor@freebsd.org) Date: Wed, 2 Jul 2008 15:10:49 GMT Message-Id: <200807021510.m62FAn3S049049@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 144491 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, 02 Jul 2008 15:10:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=144491 Change 144491 by gabor@gabor_server on 2008/07/02 15:10:37 - Add --normal Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#7 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#7 (text+ko) ==== @@ -54,7 +54,8 @@ regex_t ignore_re; enum { - HELP_OPT = CHAR_MAX + 1 + HELP_OPT = CHAR_MAX + 1, + NORMAL_OPT }; #define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" @@ -62,8 +63,9 @@ /* XXX: UNIMPLEMENTED { "ignore-file-name-case", no_argument, NULL, OPT_IGN_FN_CASE }, { "no-ignore-file-name-case", no_argument, NULL, OPT_NIGN_FN_CASE }, - { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, - { "normal", no_argument, NULL, OPT_NORMAL }, + { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, */ + { "normal", no_argument, NULL, NORMAL_OPT }, +/* XXX: UNIMPLEMENTED { "left-column", no_argument, NULL, OPT_LEFTC }, { "suppress-common-lines", no_argument, NULL, OT_SUPCL }, { "GTYPE-group-format", required_argument, NULL, OPT_GTYPE }, @@ -247,6 +249,9 @@ case 'x': push_excludes(optarg); break; + case NORMAL_OPT: + /* compatibility, this is the default */ + break; case HELP_OPT: default: usage(); From owner-p4-projects@FreeBSD.ORG Wed Jul 2 17:41:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C3A981065673; Wed, 2 Jul 2008 17:41: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 54513106566C for ; Wed, 2 Jul 2008 17:41:56 +0000 (UTC) (envelope-from andenore@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 407228FC19 for ; Wed, 2 Jul 2008 17:41:56 +0000 (UTC) (envelope-from andenore@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62HfuTK074752 for ; Wed, 2 Jul 2008 17:41:56 GMT (envelope-from andenore@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62HfuWN074750 for perforce@freebsd.org; Wed, 2 Jul 2008 17:41:56 GMT (envelope-from andenore@FreeBSD.org) Date: Wed, 2 Jul 2008 17:41:56 GMT Message-Id: <200807021741.m62HfuWN074750@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andenore@FreeBSD.org using -f From: Anders Nore To: Perforce Change Reviews Cc: Subject: PERFORCE change 144499 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, 02 Jul 2008 17:41:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=144499 Change 144499 by andenore@andenore_laptop on 2008/07/02 17:41:54 A lot of small fixes and merging. I think everything works with what I've done so far. Affected files ... .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/Makefile#3 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/Makefile.inc#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/main.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/perform.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/pkg_add.1#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/convert/main.c#3 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/create.h#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/main.c#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/perform.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/create/pkg_create.1#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/delete/main.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/delete/perform.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/delete/pkg_delete.1#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/Makefile#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/info.h#2 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/main.c#6 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/perform.c#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/info/pkg_info.1#3 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/database.c#6 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/file.c#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/lib.h#7 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/match.c#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/plist.c#4 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/lib/url.c#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/updating/main.c#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/updating/pkg_updating.1#2 integrate .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/version/main.c#5 edit .. //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/version/pkg_version.1#2 integrate Differences ... ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/CHANGES#5 (text+ko) ==== @@ -4,6 +4,7 @@ Converter: - Added convert program that indexes information to PKG_DBCACHE_FILE + - Added some features to lookup keys and print them (or print whole db) Info: - Improved performance for -W option using the dbcache @@ -20,7 +21,7 @@ - Deindexes information according to the delete Lib: - - Changed methods in match.c to use cache if available + - Changed methods in match.c to use cache if available (matchallbyorigin, ispkginstalled) - Added global variable 'database' of type DB* (the database object) - Added database helper functions - Added function to cache a Packagelist (cache_plist()) ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/usr.sbin/pkg_install/Makefile,v 1.22 2008/04/09 15:08:31 flz Exp $ +# $FreeBSD: src/usr.sbin/pkg_install/Makefile,v 1.25 2008/06/16 09:15:27 flz Exp $ .include @@ -6,18 +6,15 @@ .include -CP= /bin/cp -RM= /bin/rm -TAR= /usr/bin/tar - -DATE!= date +%Y%m%d +DATE!= grep PKG_INSTALL_VERSION ${.CURDIR}/lib/lib.h | sed 's|.*[ ]||' distfile: clean @(cd ${.CURDIR}/..; \ - ${CP} -r pkg_install pkg_install-${DATE}; \ - ${TAR} -czf pkg_install/pkg_install-${DATE}.tar.gz \ + cp -r pkg_install pkg_install-${DATE}; \ + tar -czf pkg_install/pkg_install-${DATE}.tar.gz \ --exclude .#* --exclude *~ --exclude CVS \ - --exclude pkg_install-*.tar.gz pkg_install-${DATE}; \ - ${RM} -rf pkg_install-${DATE}) + --exclude .svn --exclude pkg_install-*.tar.gz \ + pkg_install-${DATE}; \ + rm -rf pkg_install-${DATE}) ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/Makefile.inc#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/usr.sbin/pkg_install/Makefile.inc,v 1.14 2006/03/17 18:54:42 ru Exp $ +# $FreeBSD: src/usr.sbin/pkg_install/Makefile.inc,v 1.16 2008/05/03 23:17:37 pav Exp $ .include @@ -11,4 +11,4 @@ .endif # Inherit BINDIR from one level up. -.include "../Makefile.inc" +#.include "../Makefile.inc" ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/main.c#4 (text+ko) ==== @@ -19,16 +19,16 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/add/main.c,v 1.76 2008/02/26 14:35:01 kensmith Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/add/main.c,v 1.78 2008/06/16 23:41:11 flz Exp $"); -#include #include #include +#include +#include + #include "lib.h" #include "add.h" -static char Options[] = "hviIRfFnrp:P:SMt:C:K"; - char *Prefix = NULL; Boolean PrefixRecursive = FALSE; char *Chroot = NULL; @@ -95,246 +95,257 @@ static void usage(void); +static char opts[] = "hviIRfFnrp:P:SMt:C:K"; +static struct option longopts[] = { + { "chroot", required_argument, NULL, 'C' }, + { "dry-run", no_argument, NULL, 'n' }, + { "force", no_argument, NULL, 'f' }, + { "help", no_argument, NULL, 'h' }, + { "keep", no_argument, NULL, 'K' }, + { "master", no_argument, NULL, 'M' }, + { "no-deps", no_argument, NULL, 'i' }, + { "no-record", no_argument, NULL, 'R' }, + { "no-script", no_argument, NULL, 'I' }, + { "prefix", required_argument, NULL, 'p' }, + { "remote", no_argument, NULL, 'r' }, + { "template", required_argument, NULL, 't' }, + { "slave", no_argument, NULL, 'S' }, + { "verbose", no_argument, NULL, 'v' }, + { NULL, 0, NULL, 0 } +}; + int main(int argc, char **argv) { - int ch, error; - char **start; - char *cp, *packagesite = NULL, *remotepkg = NULL, *ptr; - static char temppackageroot[MAXPATHLEN]; - static char pkgaddpath[MAXPATHLEN]; + int ch, error; + char **start; + char *cp, *packagesite = NULL, *remotepkg = NULL, *ptr; + static char temppackageroot[MAXPATHLEN]; + static char pkgaddpath[MAXPATHLEN]; + + if (*argv[0] != '/' && strchr(argv[0], '/') != NULL) + PkgAddCmd = realpath(argv[0], pkgaddpath); + else + PkgAddCmd = argv[0]; + + openDatabase(O_CREAT | O_RDWR); + atexit(closeDatabase); + + start = argv; + while ((ch = getopt_long(argc, argv, opts, longopts, NULL)) != -1) { + switch(ch) { + case 'v': + Verbose++; + break; + + case 'p': + Prefix = optarg; + PrefixRecursive = FALSE; + break; + + case 'P': + Prefix = optarg; + PrefixRecursive = TRUE; + break; + + case 'I': + NoInstall = TRUE; + break; + + case 'R': + NoRecord = TRUE; + break; + + case 'f': + Force = TRUE; + break; + + case 'F': + FailOnAlreadyInstalled = FALSE; + break; + + case 'K': + KeepPackage = TRUE; + break; + + case 'n': + Fake = TRUE; + break; + + case 'r': + Remote = TRUE; + break; + + case 't': + if (strlcpy(FirstPen, optarg, sizeof(FirstPen)) >= sizeof(FirstPen)) + errx(1, "-t Argument too long."); + break; + + case 'S': + AddMode = SLAVE; + break; + + case 'M': + AddMode = MASTER; + break; - if (*argv[0] != '/' && strchr(argv[0], '/') != NULL) - PkgAddCmd = realpath(argv[0], pkgaddpath); - else - PkgAddCmd = argv[0]; + case 'C': + Chroot = optarg; + break; - if(cacheExists()) { - printf("add.main(): cacheExists()\n"); - openDatabase(); - } + case 'i': + IgnoreDeps = TRUE; + break; - start = argv; - while ((ch = getopt(argc, argv, Options)) != -1) { - switch(ch) { - case 'v': - Verbose++; - break; - - case 'p': - Prefix = optarg; - PrefixRecursive = FALSE; - break; - - case 'P': - Prefix = optarg; - PrefixRecursive = TRUE; - break; - - case 'I': - NoInstall = TRUE; - break; - - case 'R': - NoRecord = TRUE; - break; - - case 'f': - Force = TRUE; - break; - - case 'F': - FailOnAlreadyInstalled = FALSE; - break; - - case 'K': - KeepPackage = TRUE; - break; - - case 'n': - Fake = TRUE; - break; - - case 'r': - Remote = TRUE; - break; - - case 't': - if (strlcpy(FirstPen, optarg, sizeof(FirstPen)) >= sizeof(FirstPen)) - errx(1, "-t Argument too long."); - break; - - case 'S': - AddMode = SLAVE; - break; - - case 'M': - AddMode = MASTER; - break; - - case 'C': - Chroot = optarg; - break; - case 'i': - IgnoreDeps = TRUE; - break; - - case 'h': - case '?': - default: - usage(); - break; - } + case 'h': + default: + usage(); + break; } - argc -= optind; - argv += optind; + } + argc -= optind; + argv += optind; - if (AddMode != SLAVE) { - pkgs = (char **)malloc((argc+1) * sizeof(char *)); - for (ch = 0; ch <= argc; pkgs[ch++] = NULL) ; + if (AddMode != SLAVE) { + pkgs = (char **)malloc((argc+1) * sizeof(char *)); + for (ch = 0; ch <= argc; pkgs[ch++] = NULL) ; - /* Get all the remaining package names, if any */ - for (ch = 0; *argv; ch++, argv++) { - char temp[MAXPATHLEN]; - if (Remote) { - if ((packagesite = getpackagesite()) == NULL) - errx(1, "package name too long"); - if (strlcpy(temppackageroot, packagesite, - sizeof(temppackageroot)) >= sizeof(temppackageroot)) - errx(1, "package name too long"); - if (strlcat(temppackageroot, *argv, sizeof(temppackageroot)) - >= sizeof(temppackageroot)) - errx(1, "package name too long"); - remotepkg = temppackageroot; - if (!((ptr = strrchr(remotepkg, '.')) && ptr[1] == 't' && - (ptr[2] == 'b' || ptr[2] == 'g') && ptr[3] == 'z' && - !ptr[4])) - if (strlcat(remotepkg, -#if defined(__FreeBSD_version) && __FreeBSD_version >= 500039 - ".tbz", -#else - ".tgz", -#endif - sizeof(temppackageroot)) >= sizeof(temppackageroot)) - errx(1, "package name too long"); + /* Get all the remaining package names, if any */ + for (ch = 0; *argv; ch++, argv++) { + char temp[MAXPATHLEN]; + if (Remote) { + if ((packagesite = getpackagesite()) == NULL) + errx(1, "package name too long"); + if (strlcpy(temppackageroot, packagesite, + sizeof(temppackageroot)) >= sizeof(temppackageroot)) + errx(1, "package name too long"); + if (strlcat(temppackageroot, *argv, sizeof(temppackageroot)) + >= sizeof(temppackageroot)) + errx(1, "package name too long"); + remotepkg = temppackageroot; + if (!((ptr = strrchr(remotepkg, '.')) && ptr[1] == 't' && + (ptr[2] == 'b' || ptr[2] == 'g') && ptr[3] == 'z' && + !ptr[4])) + if (strlcat(remotepkg, ".tbz", + sizeof(temppackageroot)) >= sizeof(temppackageroot)) + errx(1, "package name too long"); } - if (!strcmp(*argv, "-")) /* stdin? */ - pkgs[ch] = (char *)"-"; - else if (isURL(*argv)) { /* preserve URLs */ - if (strlcpy(temp, *argv, sizeof(temp)) >= sizeof(temp)) - errx(1, "package name too long"); - pkgs[ch] = strdup(temp); - } - else if ((Remote) && isURL(remotepkg)) { - if (strlcpy(temp, remotepkg, sizeof(temp)) >= sizeof(temp)) - errx(1, "package name too long"); - pkgs[ch] = strdup(temp); - } else { /* expand all pathnames to fullnames */ - if (fexists(*argv)) /* refers to a file directly */ - pkgs[ch] = strdup(realpath(*argv, temp)); - else { /* look for the file in the expected places */ - if (!(cp = fileFindByPath(NULL, *argv))) { - /* let pkg_do() fail later, so that error is reported */ - if (strlcpy(temp, *argv, sizeof(temp)) >= sizeof(temp)) - errx(1, "package name too long"); - pkgs[ch] = strdup(temp); - } else { - if (strlcpy(temp, cp, sizeof(temp)) >= sizeof(temp)) - errx(1, "package name too long"); - pkgs[ch] = strdup(temp); - } - } - } - if (packagesite != NULL) - packagesite[0] = '\0'; + if (!strcmp(*argv, "-")) /* stdin? */ + pkgs[ch] = (char *)"-"; + else if (isURL(*argv)) { /* preserve URLs */ + if (strlcpy(temp, *argv, sizeof(temp)) >= sizeof(temp)) + errx(1, "package name too long"); + pkgs[ch] = strdup(temp); + } + else if ((Remote) && isURL(remotepkg)) { + if (strlcpy(temp, remotepkg, sizeof(temp)) >= sizeof(temp)) + errx(1, "package name too long"); + pkgs[ch] = strdup(temp); + } else { /* expand all pathnames to fullnames */ + if (fexists(*argv)) /* refers to a file directly */ + pkgs[ch] = strdup(realpath(*argv, temp)); + else { /* look for the file in the expected places */ + if (!(cp = fileFindByPath(NULL, *argv))) { + /* let pkg_do() fail later, so that error is reported */ + if (strlcpy(temp, *argv, sizeof(temp)) >= sizeof(temp)) + errx(1, "package name too long"); + pkgs[ch] = strdup(temp); + } else { + if (strlcpy(temp, cp, sizeof(temp)) >= sizeof(temp)) + errx(1, "package name too long"); + pkgs[ch] = strdup(temp); + } } + } + if (packagesite != NULL) + packagesite[0] = '\0'; } - - /* If no packages, yelp */ - else if (!ch) { - warnx("missing package name(s)"); - usage(); - } - else if (ch > 1 && AddMode == MASTER) { - warnx("only one package name may be specified with master mode"); - usage(); - } - - /* Perform chroot if requested */ - if (Chroot != NULL) { - if (chroot(Chroot)) - errx(1, "chroot to %s failed", Chroot); - } - /* Make sure the sub-execs we invoke get found */ - setenv("PATH", - "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin", - 1); + } + /* If no packages, yelp */ + else if (!ch) { + warnx("missing package name(s)"); + usage(); + } + else if (ch > 1 && AddMode == MASTER) { + warnx("only one package name may be specified with master mode"); + usage(); + } + /* Perform chroot if requested */ + if (Chroot != NULL) { + if (chroot(Chroot)) + errx(1, "chroot to %s failed", Chroot); + } + /* Make sure the sub-execs we invoke get found */ + setenv("PATH", + "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin", + 1); - /* Set a reasonable umask */ - umask(022); + /* Set a reasonable umask */ + umask(022); - if ((error = pkg_perform(pkgs)) != 0) { - if (Verbose) - warnx("%d package addition(s) failed", error); - return error; - } - else - return 0; + if ((error = pkg_perform(pkgs)) != 0) { + if (Verbose) + warnx("%d package addition(s) failed", error); + return error; + } + else + return 0; } static char * getpackagesite(void) { - int reldate, i; - static char sitepath[MAXPATHLEN]; - struct utsname u; + int reldate, i; + static char sitepath[MAXPATHLEN]; + struct utsname u; + + if (getenv("PACKAGESITE")) { + if (strlcpy(sitepath, getenv("PACKAGESITE"), sizeof(sitepath)) + >= sizeof(sitepath)) + return NULL; + return sitepath; + } + + if (getenv("PACKAGEROOT")) { + if (strlcpy(sitepath, getenv("PACKAGEROOT"), sizeof(sitepath)) + >= sizeof(sitepath)) + return NULL; + } else { + if (strlcat(sitepath, "ftp://ftp.freebsd.org", sizeof(sitepath)) + >= sizeof(sitepath)) + return NULL; + } - if (getenv("PACKAGESITE")) { - if (strlcpy(sitepath, getenv("PACKAGESITE"), sizeof(sitepath)) - >= sizeof(sitepath)) - return NULL; - return sitepath; - } + if (strlcat(sitepath, "/pub/FreeBSD/ports/", sizeof(sitepath)) + >= sizeof(sitepath)) + return NULL; - if (getenv("PACKAGEROOT")) { - if (strlcpy(sitepath, getenv("PACKAGEROOT"), sizeof(sitepath)) - >= sizeof(sitepath)) - return NULL; - } else { - if (strlcat(sitepath, "ftp://ftp.freebsd.org", sizeof(sitepath)) - >= sizeof(sitepath)) - return NULL; - } + uname(&u); + if (strlcat(sitepath, u.machine, sizeof(sitepath)) >= sizeof(sitepath)) + return NULL; - if (strlcat(sitepath, "/pub/FreeBSD/ports/", sizeof(sitepath)) + reldate = getosreldate(); + for(i = 0; releases[i].directory != NULL; i++) { + if (reldate >= releases[i].lowver && reldate <= releases[i].hiver) { + if (strlcat(sitepath, releases[i].directory, sizeof(sitepath)) >= sizeof(sitepath)) - return NULL; - - uname(&u); - if (strlcat(sitepath, u.machine, sizeof(sitepath)) >= sizeof(sitepath)) return NULL; + break; + } + } - reldate = getosreldate(); - for(i = 0; releases[i].directory != NULL; i++) { - if (reldate >= releases[i].lowver && reldate <= releases[i].hiver) { - if (strlcat(sitepath, releases[i].directory, sizeof(sitepath)) - >= sizeof(sitepath)) - return NULL; - break; - } - } + if (strlcat(sitepath, "/Latest/", sizeof(sitepath)) >= sizeof(sitepath)) + return NULL; - if (strlcat(sitepath, "/Latest/", sizeof(sitepath)) >= sizeof(sitepath)) - return NULL; + return sitepath; - return sitepath; } static void usage() { - fprintf(stderr, "%s\n%s\n", + fprintf(stderr, "%s\n%s\n", "usage: pkg_add [-viInfFrRMSK] [-t template] [-p prefix] [-P prefix] [-C chrootdir]", " pkg-name [pkg-name ...]"); - exit(1); + exit(1); } ==== //depot/projects/soc2008/andenore_pkginstall/src/usr.sbin/pkg_install/add/perform.c#4 (text+ko) ==== @@ -19,7 +19,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/add/perform.c,v 1.83 2008/04/11 08:26:06 pav Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/pkg_install/add/perform.c,v 1.86 2008/06/16 23:41:11 flz Exp $"); #include #include @@ -29,6 +29,7 @@ #include #include #include +#include static int pkg_do(char *); static int sanity_check(char *); @@ -38,18 +39,18 @@ int pkg_perform(char **pkgs) { - int i, err_cnt = 0; + int i, err_cnt = 0; - signal(SIGINT, cleanup); - signal(SIGHUP, cleanup); + signal(SIGINT, cleanup); + signal(SIGHUP, cleanup); - if (AddMode == SLAVE) - err_cnt = pkg_do(NULL); - else { - for (i = 0; pkgs[i]; i++) - err_cnt += pkg_do(pkgs[i]); - } - return err_cnt; + if (AddMode == SLAVE) + err_cnt = pkg_do(NULL); + else { + for (i = 0; pkgs[i]; i++) + err_cnt += pkg_do(pkgs[i]); + } + return err_cnt; } static Package Plist; @@ -63,678 +64,643 @@ static int pkg_do(char *pkg) { - char pkg_fullname[FILENAME_MAX]; - char playpen[FILENAME_MAX]; - char extract_contents[FILENAME_MAX]; - char *where_to, *extract; - FILE *cfile; - int code; - PackingList p; - struct stat sb; - int inPlace, conflictsfound, errcode; - /* support for separate pre/post install scripts */ - int new_m = 0; - char pre_script[FILENAME_MAX] = INSTALL_FNAME; - char post_script[FILENAME_MAX]; - char pre_arg[FILENAME_MAX], post_arg[FILENAME_MAX]; - char *conflict[2]; - char **matched; + char pkg_fullname[FILENAME_MAX]; + char playpen[FILENAME_MAX]; + char extract_contents[FILENAME_MAX]; + char *where_to, *extract; + FILE *cfile; + int code; + PackingList p; + struct stat sb; + int inPlace, conflictsfound, errcode; + /* support for separate pre/post install scripts */ + int new_m = 0; + char pre_script[FILENAME_MAX] = INSTALL_FNAME; + char post_script[FILENAME_MAX]; + char pre_arg[FILENAME_MAX], post_arg[FILENAME_MAX]; + char *conflict[2]; + char **matched; - conflictsfound = 0; - code = 0; - zapLogDir = 0; - LogDir[0] = '\0'; - strcpy(playpen, FirstPen); - inPlace = 0; + conflictsfound = 0; + code = 0; + zapLogDir = 0; + LogDir[0] = '\0'; + strcpy(playpen, FirstPen); + inPlace = 0; - /* Are we coming in for a second pass, everything already extracted? */ - if (!pkg) { - fgets(playpen, FILENAME_MAX, stdin); - playpen[strlen(playpen) - 1] = '\0'; /* pesky newline! */ - if (chdir(playpen) == FAIL) { - warnx("pkg_add in SLAVE mode can't chdir to %s", playpen); - return 1; - } - read_plist(&Plist, stdin); - where_to = playpen; + /* Are we coming in for a second pass, everything already extracted? */ + if (!pkg) { + fgets(playpen, FILENAME_MAX, stdin); + playpen[strlen(playpen) - 1] = '\0'; /* pesky newline! */ + if (chdir(playpen) == FAIL) { + warnx("pkg_add in SLAVE mode can't chdir to %s", playpen); + return 1; + } + read_plist(&Plist, stdin); + where_to = playpen; + } + /* Nope - do it now */ + else { + /* Is it an ftp://foo.bar.baz/file.t[bg]z specification? */ + if (isURL(pkg)) { + if (!(Home = fileGetURL(NULL, pkg, KeepPackage))) { + warnx("unable to fetch '%s' by URL", pkg); + return 1; + } + where_to = Home; + strcpy(pkg_fullname, pkg); + cfile = fopen(CONTENTS_FNAME, "r"); + if (!cfile) { + warnx( + "unable to open table of contents file '%s' - not a package?", + CONTENTS_FNAME); + goto bomb; + } + read_plist(&Plist, cfile); + fclose(cfile); } - /* Nope - do it now */ else { - /* Is it an ftp://foo.bar.baz/file.t[bg]z specification? */ - if (isURL(pkg)) { - if (!(Home = fileGetURL(NULL, pkg, KeepPackage))) { - warnx("unable to fetch '%s' by URL", pkg); - return 1; - } - where_to = Home; - strcpy(pkg_fullname, pkg); - cfile = fopen(CONTENTS_FNAME, "r"); - if (!cfile) { - warnx( - "unable to open table of contents file '%s' - not a package?", - CONTENTS_FNAME); - - goto bomb; - } - read_plist(&Plist, cfile); - fclose(cfile); + strcpy(pkg_fullname, pkg); /* + * Copy for sanity's sake, + * could remove pkg_fullname + */ + if (strcmp(pkg, "-")) { + if (stat(pkg_fullname, &sb) == FAIL) { + warnx("can't stat package file '%s'", pkg_fullname); + goto bomb; } - else { - strcpy(pkg_fullname, pkg); /* - * Copy for sanity's sake, - * could remove pkg_fullname - */ - if (strcmp(pkg, "-")) { - if (stat(pkg_fullname, &sb) == FAIL) { - warnx("can't stat package file '%s'", pkg_fullname); - goto bomb; - } - sprintf(extract_contents, "--fast-read %s", CONTENTS_FNAME); - extract = extract_contents; - } - else { - extract = NULL; - sb.st_size = 100000; /* Make up a plausible average size */ - } - - Home = make_playpen(playpen, sb.st_size * 4); - if (!Home) - errx(1, "unable to make playpen for %lld bytes", (long long)sb.st_size * 4); - - where_to = Home; - /* Since we can call ourselves recursively, keep notes on where we came from */ - if (!getenv("_TOP")) - setenv("_TOP", Home, 1); - - if (unpack(pkg_fullname, extract)) { - warnx( - "unable to extract table of contents file from '%s' - not a package?", + sprintf(extract_contents, "--fast-read %s", CONTENTS_FNAME); + extract = extract_contents; + } + else { + extract = NULL; + sb.st_size = 100000; /* Make up a plausible average size */ + } + Home = make_playpen(playpen, sb.st_size * 4); + if (!Home) + errx(1, "unable to make playpen for %lld bytes", (long long)sb.st_size * 4); + where_to = Home; + /* Since we can call ourselves recursively, keep notes on where we came from */ + if (!getenv("_TOP")) + setenv("_TOP", Home, 1); + if (unpack(pkg_fullname, extract)) { + warnx( + "unable to extract table of contents file from '%s' - not a package?", pkg_fullname); - goto bomb; - } - - cfile = fopen(CONTENTS_FNAME, "r"); - if (!cfile) { - warnx( - "unable to open table of contents file '%s' - not a package?", - CONTENTS_FNAME); - goto bomb; - } - read_plist(&Plist, cfile); - fclose(cfile); + goto bomb; + } + cfile = fopen(CONTENTS_FNAME, "r"); + if (!cfile) { + warnx( + "unable to open table of contents file '%s' - not a package?", + CONTENTS_FNAME); + goto bomb; + } + read_plist(&Plist, cfile); + fclose(cfile); - /* Extract directly rather than moving? Oh goodie! */ - if (find_plist_option(&Plist, "extract-in-place")) { - if (Verbose) - printf("Doing in-place extraction for %s\n", pkg_fullname); - - p = find_plist(&Plist, PLIST_CWD); - if (p) { - if (!isdir(p->name) && !Fake) { - if (Verbose) - printf("Desired prefix of %s does not exist, creating..\n", p->name); - vsystem("/bin/mkdir -p %s", p->name); - if (chdir(p->name) == -1) { - warn("unable to change directory to '%s'", p->name); - goto bomb; - } - } - where_to = p->name; - inPlace = 1; - } - else { - warnx( - "no prefix specified in '%s' - this is a bad package!", - pkg_fullname); - goto bomb; - } + /* Extract directly rather than moving? Oh goodie! */ + if (find_plist_option(&Plist, "extract-in-place")) { + if (Verbose) + printf("Doing in-place extraction for %s\n", pkg_fullname); + p = find_plist(&Plist, PLIST_CWD); + if (p) { + if (!isdir(p->name) && !Fake) { + if (Verbose) + printf("Desired prefix of %s does not exist, creating..\n", p->name); + vsystem("/bin/mkdir -p %s", p->name); + if (chdir(p->name) == -1) { + warn("unable to change directory to '%s'", p->name); + goto bomb; } + } + where_to = p->name; + inPlace = 1; + } + else { + warnx( + "no prefix specified in '%s' - this is a bad package!", + pkg_fullname); + goto bomb; + } + } - /* - * Apply a crude heuristic to see how much space the package will - * take up once it's unpacked. I've noticed that most packages - * compress an average of 75%, so multiply by 4 for good measure. - */ + /* + * Apply a crude heuristic to see how much space the package will + * take up once it's unpacked. I've noticed that most packages + * compress an average of 75%, so multiply by 4 for good measure. + */ - if (!extract && !inPlace && min_free(playpen) < sb.st_size * 4) { - warnx("projected size of %lld exceeds available free space.\n" - "Please set your PKG_TMPDIR variable to point to a location with more\n" - "free space and try again", (long long)sb.st_size * 4); - warnx("not extracting %s\ninto %s, sorry!", - pkg_fullname, where_to); - goto bomb; + if (!extract && !inPlace && min_free(playpen) < sb.st_size * 4) { + warnx("projected size of %lld exceeds available free space.\n" +"Please set your PKG_TMPDIR variable to point to a location with more\n" + "free space and try again", (long long)sb.st_size * 4); + warnx("not extracting %s\ninto %s, sorry!", + pkg_fullname, where_to); + goto bomb; } /* If this is a direct extract and we didn't want it, stop now */ - if (inPlace && Fake) - goto success; + if (inPlace && Fake) + goto success; - /* Finally unpack the whole mess. If extract is null we - already + did so so don't bother doing it again. */ - if (extract && unpack(pkg_fullname, NULL)) { - warnx("unable to extract '%s'!", pkg_fullname); - goto bomb; - } + /* Finally unpack the whole mess. If extract is null we + already + did so so don't bother doing it again. */ + if (extract && unpack(pkg_fullname, NULL)) { + warnx("unable to extract '%s'!", pkg_fullname); + goto bomb; + } } - /* Check for sanity and dependencies */ - if (sanity_check(pkg)) - goto bomb; - - /* If we're running in MASTER mode, just output the plist and return */ - if (AddMode == MASTER) { - printf("%s\n", where_playpen()); - write_plist(&Plist, stdout); - return 0; - } + /* Check for sanity and dependencies */ + if (sanity_check(pkg)) + goto bomb; + + /* If we're running in MASTER mode, just output the plist and return */ + if (AddMode == MASTER) { + printf("%s\n", where_playpen()); + write_plist(&Plist, stdout); + return 0; } + } /* * If we have a prefix, delete the first one we see and add this * one in place of it. */ - if (Prefix) { - delete_plist(&Plist, FALSE, PLIST_CWD, NULL); - add_plist_top(&Plist, PLIST_CWD, Prefix); - } + if (Prefix) { + delete_plist(&Plist, FALSE, PLIST_CWD, NULL); + add_plist_top(&Plist, PLIST_CWD, Prefix); + } - setenv(PKG_PREFIX_VNAME, (p = find_plist(&Plist, PLIST_CWD)) ? p->name : ".", 1); - /* Protect against old packages with bogus @name and origin fields */ - if (Plist.name == NULL) - Plist.name = "anonymous"; - - if (Plist.origin == NULL) - Plist.origin = "anonymous/anonymous"; + setenv(PKG_PREFIX_VNAME, (p = find_plist(&Plist, PLIST_CWD)) ? p->name : ".", 1); + /* Protect against old packages with bogus @name and origin fields */ + if (Plist.name == NULL) + Plist.name = "anonymous"; + if (Plist.origin == NULL) + Plist.origin = "anonymous/anonymous"; - /* - * See if we're already registered either with the same name (the same - * version) or some other version with the same origin. - */ - if ((isinstalledpkg(Plist.name) > 0 || + /* + * See if we're already registered either with the same name (the same + * version) or some other version with the same origin. + */ + if ((isinstalledpkg(Plist.name) > 0 || matchbyorigin(Plist.origin, NULL) != NULL) && !Force) { - warnx("package '%s' or its older version already installed%s", - Plist.name, FailOnAlreadyInstalled ? "" : " (ignored)"); - code = FailOnAlreadyInstalled != FALSE; - goto success; /* close enough for government work */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 19:06:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 367151065675; Wed, 2 Jul 2008 19:06: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 EBEF51065686 for ; Wed, 2 Jul 2008 19:06:47 +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 D7C018FC1A for ; Wed, 2 Jul 2008 19:06:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62J6lE4083822 for ; Wed, 2 Jul 2008 19:06:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62J6l3H083820 for perforce@freebsd.org; Wed, 2 Jul 2008 19:06:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 2 Jul 2008 19:06:47 GMT Message-Id: <200807021906.m62J6l3H083820@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 144502 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, 02 Jul 2008 19:06:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=144502 Change 144502 by hselasky@hselasky_laptop001 on 2008/07/02 19:05:48 Renaming symbols and fixing the device ID tables is complete for the new USB serial module. Some minor stuff has been fixed in "ulpt" driver. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#8 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uark2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ubsa2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ubser2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uchcom2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ucycom2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ufoma2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uftdi2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ugensa2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uipaq2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/ulpt2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/umct2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/umodem2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/umoscom2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uplcom2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/usb2_serial.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/usb2_serial.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uvisor2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uvscom2.c#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#8 (text+ko) ==== @@ -1511,10 +1511,18 @@ usb2_fifo_opened(struct usb2_fifo *f) { uint8_t temp; + uint8_t do_unlock; - mtx_lock(f->priv_mtx); + if (mtx_owned(f->priv_mtx)) { + do_unlock = 0; + } else { + do_unlock = 1; + mtx_lock(f->priv_mtx); + } temp = f->curr_file ? 1 : 0; - mtx_unlock(f->priv_mtx); + if (do_unlock) { + mtx_unlock(f->priv_mtx); + } return (temp); } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#4 (text+ko) ==== @@ -94,6 +94,7 @@ uint8_t iface_index; /* set to the interface we belong to */ uint8_t fifo_index; /* set to the FIFO index in "struct * usb2_device" */ + uint8_t fifo_zlp; /* zero length packet count */ uint8_t refcount; #define USB_FIFO_REF_MAX 0xFF }; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#4 (text+ko) ==== @@ -97,7 +97,7 @@ static int ugen_debug = 0; SYSCTL_NODE(_hw_usb2, OID_AUTO, ugen, CTLFLAG_RW, 0, "USB generic"); -SYSCTL_INT(_hw_usb2_ugen, OID_AUTO, ugen, CTLFLAG_RW, &ugen_debug, +SYSCTL_INT(_hw_usb2_ugen, OID_AUTO, debug, CTLFLAG_RW, &ugen_debug, 0, "Debug level"); #endif @@ -164,6 +164,7 @@ } f->timeout = USB_NO_TIMEOUT; f->flag_short = 0; + f->fifo_zlp = 0; mtx_unlock(f->priv_mtx); return (0); @@ -372,6 +373,21 @@ switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: + if (xfer->actlen == 0) { + if (f->fifo_zlp != 4) { + f->fifo_zlp++; + } else { + /* + * Throttle a little bit we have multiple ZLPs + * in a row! + */ + xfer->interval = 64; /* ms */ + } + } else { + /* clear throttle */ + xfer->interval = 0; + f->fifo_zlp = 0; + } usb2_fifo_put_data(f, xfer->frbuffers, 0, xfer->actlen, 1); @@ -390,6 +406,7 @@ default: /* Error */ if (xfer->error != USB_ERR_CANCELLED) { f->flag_stall = 1; + f->fifo_zlp = 0; usb2_transfer_start(f->xfer[1]); } break; ==== //depot/projects/usb/src/sys/dev/usb2/serial/uark2.c#2 (text+ko) ==== @@ -23,23 +23,24 @@ * be called from within the config thread function ! */ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include -#include -#include +#define USB_DEBUG_VAR usb2_debug -#include +#include +#include +#include +#include +#include +#include +#include -#include "usbdevs.h" +#include -#define DPRINTF(...) do { } while (0) - #define UARK_BUF_SIZE 1024 /* bytes */ #define UARK_N_TRANSFER 4 /* units */ @@ -64,11 +65,11 @@ #define UARK_IFACE_INDEX 0 struct uark_softc { - struct ucom_super_softc sc_super_ucom; - struct ucom_softc sc_ucom; + struct usb2_com_super_softc sc_super_ucom; + struct usb2_com_softc sc_ucom; - struct usbd_xfer *sc_xfer[UARK_N_TRANSFER]; - struct usbd_device *sc_udev; + struct usb2_xfer *sc_xfer[UARK_N_TRANSFER]; + struct usb2_device *sc_udev; uint8_t sc_flags; #define UARK_FLAG_BULK_READ_STALL 0x01 @@ -83,23 +84,23 @@ static device_attach_t uark_attach; static device_detach_t uark_detach; -static usbd_callback_t uark_bulk_write_callback; -static usbd_callback_t uark_bulk_write_clear_stall_callback; -static usbd_callback_t uark_bulk_read_callback; -static usbd_callback_t uark_bulk_read_clear_stall_callback; +static usb2_callback_t uark_bulk_write_callback; +static usb2_callback_t uark_bulk_write_clear_stall_callback; +static usb2_callback_t uark_bulk_read_callback; +static usb2_callback_t uark_bulk_read_clear_stall_callback; -static void uark_start_read(struct ucom_softc *ucom); -static void uark_stop_read(struct ucom_softc *ucom); -static void uark_start_write(struct ucom_softc *ucom); -static void uark_stop_write(struct ucom_softc *ucom); +static void uark_start_read(struct usb2_com_softc *ucom); +static void uark_stop_read(struct usb2_com_softc *ucom); +static void uark_start_write(struct usb2_com_softc *ucom); +static void uark_stop_write(struct usb2_com_softc *ucom); -static int uark_pre_param(struct ucom_softc *ucom, struct termios *t); -static void uark_cfg_param(struct ucom_softc *ucom, struct termios *t); -static void uark_cfg_get_status(struct ucom_softc *ucom, uint8_t *lsr, uint8_t *msr); -static void uark_cfg_set_break(struct ucom_softc *ucom, uint8_t onoff); +static int uark_pre_param(struct usb2_com_softc *ucom, struct termios *t); +static void uark_cfg_param(struct usb2_com_softc *ucom, struct termios *t); +static void uark_cfg_get_status(struct usb2_com_softc *ucom, uint8_t *lsr, uint8_t *msr); +static void uark_cfg_set_break(struct usb2_com_softc *ucom, uint8_t onoff); static void uark_cfg_write(struct uark_softc *sc, uint16_t index, uint16_t value); -static const struct usbd_config +static const struct usb2_config uark_xfer_config[UARK_N_TRANSFER] = { [0] = { @@ -124,7 +125,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &uark_bulk_write_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ @@ -135,7 +136,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &uark_bulk_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ @@ -143,15 +144,15 @@ }, }; -static const struct ucom_callback uark_callback = { - .ucom_cfg_get_status = &uark_cfg_get_status, - .ucom_cfg_set_break = &uark_cfg_set_break, - .ucom_cfg_param = &uark_cfg_param, - .ucom_pre_param = &uark_pre_param, - .ucom_start_read = &uark_start_read, - .ucom_stop_read = &uark_stop_read, - .ucom_start_write = &uark_start_write, - .ucom_stop_write = &uark_stop_write, +static const struct usb2_com_callback uark_callback = { + .usb2_com_cfg_get_status = &uark_cfg_get_status, + .usb2_com_cfg_set_break = &uark_cfg_set_break, + .usb2_com_cfg_param = &uark_cfg_param, + .usb2_com_pre_param = &uark_pre_param, + .usb2_com_start_read = &uark_start_read, + .usb2_com_stop_read = &uark_stop_read, + .usb2_com_start_write = &uark_start_write, + .usb2_com_stop_write = &uark_stop_write, }; static device_method_t uark_methods[] = { @@ -170,35 +171,35 @@ .size = sizeof(struct uark_softc), }; -DRIVER_MODULE(uark, uhub, uark_driver, uark_devclass, usbd_driver_load, 0); -MODULE_DEPEND(uark, usb, 1, 1, 1); +DRIVER_MODULE(uark, ushub, uark_driver, uark_devclass, NULL, 0); +MODULE_DEPEND(uark, usb2_core, 1, 1, 1); MODULE_DEPEND(uark, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); -static const struct usb_devno uark_devs[] = { - {USB_VENDOR_ARKMICRO, USB_PRODUCT_ARKMICRO_ARK3116}, +static const struct usb2_device_id uark_devs[] = { + {USB_VPI(USB_VENDOR_ARKMICRO, USB_PRODUCT_ARKMICRO_ARK3116, 0)}, }; -#define uark_lookup(v, p) usb_lookup(uark_devs, v, p) - static int uark_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); + } + if (uaa->info.bConfigIndex != 0) { + return (ENXIO); } - if (uaa->iface) { - return (UMATCH_NONE); + if (uaa->info.bIfaceIndex != UARK_IFACE_INDEX) { + return (ENXIO); } - return (uark_lookup(uaa->vendor, uaa->product) ? - UMATCH_VENDOR_PRODUCT : UMATCH_NONE); + return (usb2_lookup_id_by_uaa(uark_devs, sizeof(uark_devs), uaa)); } static int uark_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct uark_softc *sc = device_get_softc(dev); int32_t error; uint8_t iface_index; @@ -206,19 +207,12 @@ if (sc == NULL) { return (ENOMEM); } - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); sc->sc_udev = uaa->device; - /* Move the device into the configured state */ - error = usbd_set_config_index(uaa->device, UARK_CONFIG_INDEX, 1); - if (error) { - device_printf(dev, "failed to set configuration, err=%s\n", - usbd_errstr(error)); - goto detach; - } iface_index = UARK_IFACE_INDEX; - error = usbd_transfer_setup + error = usb2_transfer_setup (uaa->device, &iface_index, sc->sc_xfer, uark_xfer_config, UARK_N_TRANSFER, sc, &Giant); @@ -231,10 +225,10 @@ sc->sc_flags |= (UARK_FLAG_BULK_WRITE_STALL | UARK_FLAG_BULK_READ_STALL); - error = ucom_attach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1, sc, + error = usb2_com_attach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1, sc, &uark_callback, &Giant); if (error) { - DPRINTF(sc, 0, "ucom_attach failed\n"); + DPRINTF(0, "usb2_com_attach failed\n"); goto detach; } return (0); /* success */ @@ -249,37 +243,37 @@ { struct uark_softc *sc = device_get_softc(dev); - ucom_detach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1); + usb2_com_detach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1); - usbd_transfer_unsetup(sc->sc_xfer, UARK_N_TRANSFER); + usb2_transfer_unsetup(sc->sc_xfer, UARK_N_TRANSFER); return (0); } static void -uark_bulk_write_callback(struct usbd_xfer *xfer) +uark_bulk_write_callback(struct usb2_xfer *xfer) { struct uark_softc *sc = xfer->priv_sc; uint32_t actlen; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_SETUP: - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_SETUP: + case USB_ST_TRANSFERRED: if (sc->sc_flags & UARK_FLAG_BULK_WRITE_STALL) { - usbd_transfer_start(sc->sc_xfer[2]); + usb2_transfer_start(sc->sc_xfer[2]); return; } - if (ucom_get_data(&(sc->sc_ucom), xfer->frbuffers, 0, + if (usb2_com_get_data(&(sc->sc_ucom), xfer->frbuffers, 0, UARK_BUF_SIZE, &actlen)) { xfer->frlengths[0] = actlen; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { sc->sc_flags |= UARK_FLAG_BULK_WRITE_STALL; - usbd_transfer_start(sc->sc_xfer[2]); + usb2_transfer_start(sc->sc_xfer[2]); } return; @@ -287,42 +281,42 @@ } static void -uark_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +uark_bulk_write_clear_stall_callback(struct usb2_xfer *xfer) { struct uark_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + struct usb2_xfer *xfer_other = sc->sc_xfer[0]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UARK_FLAG_BULK_WRITE_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } static void -uark_bulk_read_callback(struct usbd_xfer *xfer) +uark_bulk_read_callback(struct usb2_xfer *xfer) { struct uark_softc *sc = xfer->priv_sc; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - ucom_put_data(&(sc->sc_ucom), xfer->frbuffers, 0, + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + usb2_com_put_data(&(sc->sc_ucom), xfer->frbuffers, 0, xfer->actlen); - case USBD_ST_SETUP: + case USB_ST_SETUP: if (sc->sc_flags & UARK_FLAG_BULK_READ_STALL) { - usbd_transfer_start(sc->sc_xfer[3]); + usb2_transfer_start(sc->sc_xfer[3]); } else { xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { sc->sc_flags |= UARK_FLAG_BULK_READ_STALL; - usbd_transfer_start(sc->sc_xfer[3]); + usb2_transfer_start(sc->sc_xfer[3]); } return; @@ -330,59 +324,59 @@ } static void -uark_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +uark_bulk_read_clear_stall_callback(struct usb2_xfer *xfer) { struct uark_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + struct usb2_xfer *xfer_other = sc->sc_xfer[1]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UARK_FLAG_BULK_READ_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } static void -uark_start_read(struct ucom_softc *ucom) +uark_start_read(struct usb2_com_softc *ucom) { struct uark_softc *sc = ucom->sc_parent; - usbd_transfer_start(sc->sc_xfer[1]); + usb2_transfer_start(sc->sc_xfer[1]); return; } static void -uark_stop_read(struct ucom_softc *ucom) +uark_stop_read(struct usb2_com_softc *ucom) { struct uark_softc *sc = ucom->sc_parent; - usbd_transfer_stop(sc->sc_xfer[3]); - usbd_transfer_stop(sc->sc_xfer[1]); + usb2_transfer_stop(sc->sc_xfer[3]); + usb2_transfer_stop(sc->sc_xfer[1]); return; } static void -uark_start_write(struct ucom_softc *ucom) +uark_start_write(struct usb2_com_softc *ucom) { struct uark_softc *sc = ucom->sc_parent; - usbd_transfer_start(sc->sc_xfer[0]); + usb2_transfer_start(sc->sc_xfer[0]); return; } static void -uark_stop_write(struct ucom_softc *ucom) +uark_stop_write(struct usb2_com_softc *ucom) { struct uark_softc *sc = ucom->sc_parent; - usbd_transfer_stop(sc->sc_xfer[2]); - usbd_transfer_stop(sc->sc_xfer[0]); + usb2_transfer_stop(sc->sc_xfer[2]); + usb2_transfer_stop(sc->sc_xfer[0]); return; } static int -uark_pre_param(struct ucom_softc *ucom, struct termios *t) +uark_pre_param(struct usb2_com_softc *ucom, struct termios *t) { if ((t->c_ospeed < 300) || (t->c_ospeed > 115200)) return (EINVAL); @@ -390,7 +384,7 @@ } static void -uark_cfg_param(struct ucom_softc *ucom, struct termios *t) +uark_cfg_param(struct usb2_com_softc *ucom, struct termios *t) { struct uark_softc *sc = ucom->sc_parent; uint32_t speed = t->c_ospeed; @@ -441,7 +435,7 @@ } static void -uark_cfg_get_status(struct ucom_softc *ucom, uint8_t *lsr, uint8_t *msr) +uark_cfg_get_status(struct usb2_com_softc *ucom, uint8_t *lsr, uint8_t *msr) { struct uark_softc *sc = ucom->sc_parent; @@ -451,11 +445,11 @@ } static void -uark_cfg_set_break(struct ucom_softc *ucom, uint8_t onoff) +uark_cfg_set_break(struct usb2_com_softc *ucom, uint8_t onoff) { struct uark_softc *sc = ucom->sc_parent; - DPRINTF(sc, 0, "onoff=%d\n", onoff); + DPRINTF(0, "onoff=%d\n", onoff); uark_cfg_write(sc, 4, onoff ? 0x01 : 0x00); return; @@ -464,10 +458,10 @@ static void uark_cfg_write(struct uark_softc *sc, uint16_t index, uint16_t value) { - usb_device_request_t req; - usbd_status_t err; + struct usb2_device_request req; + usb2_error_t err; - if (ucom_cfg_is_gone(&(sc->sc_ucom))) { + if (usb2_com_cfg_is_gone(&(sc->sc_ucom))) { return; } req.bmRequestType = UARK_WRITE; @@ -476,12 +470,12 @@ USETW(req.wIndex, index); USETW(req.wLength, 0); - err = usbd_do_request_flags + err = usb2_do_request_flags (sc->sc_udev, &Giant, &req, NULL, 0, NULL, 1000); if (err) { - DPRINTF(sc, -1, "device request failed, err=%s " - "(ignored)\n", usbd_errstr(err)); + DPRINTF(-1, "device request failed, err=%s " + "(ignored)\n", usb2_errstr(err)); } return; } ==== //depot/projects/usb/src/sys/dev/usb2/serial/ubsa2.c#2 (text+ko) ==== @@ -62,34 +62,31 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include -#include -#include -#include -#include +#define USB_DEBUG_VAR ubsa_debug -#include +#include +#include +#include +#include +#include +#include +#include +#include -#include "usbdevs.h" +#include #ifdef USB_DEBUG -#define DPRINTF(n,fmt,...) \ - do { if (ubsa_debug > (n)) { \ - printf("%s: " fmt, __FUNCTION__,## __VA_ARGS__); } } while (0) - static int ubsa_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, ubsa, CTLFLAG_RW, 0, "USB ubsa"); -SYSCTL_INT(_hw_usb_ubsa, OID_AUTO, debug, CTLFLAG_RW, +SYSCTL_NODE(_hw_usb2, OID_AUTO, ubsa, CTLFLAG_RW, 0, "USB ubsa"); +SYSCTL_INT(_hw_usb2_ubsa, OID_AUTO, debug, CTLFLAG_RW, &ubsa_debug, 0, "ubsa debug level"); -#else -#define DPRINTF(...) do { } while (0) #endif #define UBSA_N_TRANSFER 6 /* units */ @@ -146,11 +143,11 @@ #define UBSA_MSR_DCTS 0x01 /* CTS has changed state */ struct ubsa_softc { - struct ucom_super_softc sc_super_ucom; - struct ucom_softc sc_ucom; + struct usb2_com_super_softc sc_super_ucom; + struct usb2_com_softc sc_ucom; - struct usbd_xfer *sc_xfer[UBSA_N_TRANSFER]; - struct usbd_device *sc_udev; + struct usb2_xfer *sc_xfer[UBSA_N_TRANSFER]; + struct usb2_device *sc_udev; uint16_t sc_flag; #define UBSA_FLAG_WRITE_STALL 0x0001 @@ -167,26 +164,26 @@ static device_attach_t ubsa_attach; static device_detach_t ubsa_detach; -static usbd_callback_t ubsa_write_callback; -static usbd_callback_t ubsa_write_clear_stall_callback; -static usbd_callback_t ubsa_read_callback; -static usbd_callback_t ubsa_read_clear_stall_callback; -static usbd_callback_t ubsa_intr_callback; -static usbd_callback_t ubsa_intr_clear_stall_callback; +static usb2_callback_t ubsa_write_callback; +static usb2_callback_t ubsa_write_clear_stall_callback; +static usb2_callback_t ubsa_read_callback; +static usb2_callback_t ubsa_read_clear_stall_callback; +static usb2_callback_t ubsa_intr_callback; +static usb2_callback_t ubsa_intr_clear_stall_callback; static void ubsa_cfg_request(struct ubsa_softc *sc, uint8_t index, uint16_t value); -static void ubsa_cfg_set_dtr(struct ucom_softc *ucom, uint8_t onoff); -static void ubsa_cfg_set_rts(struct ucom_softc *ucom, uint8_t onoff); -static void ubsa_cfg_set_break(struct ucom_softc *ucom, uint8_t onoff); -static int ubsa_pre_param(struct ucom_softc *ucom, struct termios *t); -static void ubsa_cfg_param(struct ucom_softc *ucom, struct termios *t); -static void ubsa_start_read(struct ucom_softc *ucom); -static void ubsa_stop_read(struct ucom_softc *ucom); -static void ubsa_start_write(struct ucom_softc *ucom); -static void ubsa_stop_write(struct ucom_softc *ucom); -static void ubsa_cfg_get_status(struct ucom_softc *ucom, uint8_t *lsr, uint8_t *msr); +static void ubsa_cfg_set_dtr(struct usb2_com_softc *ucom, uint8_t onoff); +static void ubsa_cfg_set_rts(struct usb2_com_softc *ucom, uint8_t onoff); +static void ubsa_cfg_set_break(struct usb2_com_softc *ucom, uint8_t onoff); +static int ubsa_pre_param(struct usb2_com_softc *ucom, struct termios *t); +static void ubsa_cfg_param(struct usb2_com_softc *ucom, struct termios *t); +static void ubsa_start_read(struct usb2_com_softc *ucom); +static void ubsa_stop_read(struct usb2_com_softc *ucom); +static void ubsa_start_write(struct usb2_com_softc *ucom); +static void ubsa_stop_write(struct usb2_com_softc *ucom); +static void ubsa_cfg_get_status(struct usb2_com_softc *ucom, uint8_t *lsr, uint8_t *msr); -static const struct usbd_config ubsa_config[UBSA_N_TRANSFER] = { +static const struct usb2_config ubsa_config[UBSA_N_TRANSFER] = { [0] = { .type = UE_BULK, @@ -210,7 +207,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &ubsa_write_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -220,7 +217,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &ubsa_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -239,69 +236,63 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &ubsa_intr_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ }, }; -static const struct ucom_callback ubsa_callback = { - .ucom_cfg_get_status = &ubsa_cfg_get_status, - .ucom_cfg_set_dtr = &ubsa_cfg_set_dtr, - .ucom_cfg_set_rts = &ubsa_cfg_set_rts, - .ucom_cfg_set_break = &ubsa_cfg_set_break, - .ucom_cfg_param = &ubsa_cfg_param, - .ucom_pre_param = &ubsa_pre_param, - .ucom_start_read = &ubsa_start_read, - .ucom_stop_read = &ubsa_stop_read, - .ucom_start_write = &ubsa_start_write, - .ucom_stop_write = &ubsa_stop_write, +static const struct usb2_com_callback ubsa_callback = { + .usb2_com_cfg_get_status = &ubsa_cfg_get_status, + .usb2_com_cfg_set_dtr = &ubsa_cfg_set_dtr, + .usb2_com_cfg_set_rts = &ubsa_cfg_set_rts, + .usb2_com_cfg_set_break = &ubsa_cfg_set_break, + .usb2_com_cfg_param = &ubsa_cfg_param, + .usb2_com_pre_param = &ubsa_pre_param, + .usb2_com_start_read = &ubsa_start_read, + .usb2_com_stop_read = &ubsa_stop_read, + .usb2_com_start_write = &ubsa_start_write, + .usb2_com_stop_write = &ubsa_stop_write, }; -struct ubsa_product { - uint16_t vendor; - uint16_t product; -}; - -static const struct ubsa_product ubsa_products[] = { +static const struct usb2_device_id ubsa_devs[] = { /* AnyData ADU-500A */ - {USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_500A}, + {USB_VPI(USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_500A, 0)}, /* AnyData ADU-E100A/H */ - {USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_E100X}, + {USB_VPI(USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_E100X, 0)}, /* Axesstel MV100H */ - {USB_VENDOR_AXESSTEL, USB_PRODUCT_AXESSTEL_DATAMODEM}, + {USB_VPI(USB_VENDOR_AXESSTEL, USB_PRODUCT_AXESSTEL_DATAMODEM, 0)}, /* BELKIN F5U103 */ - {USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U103}, + {USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U103, 0)}, /* BELKIN F5U120 */ - {USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U120}, + {USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U120, 0)}, /* GoHubs GO-COM232 */ - {USB_VENDOR_ETEK, USB_PRODUCT_ETEK_1COM}, + {USB_VPI(USB_VENDOR_ETEK, USB_PRODUCT_ETEK_1COM, 0)}, /* GoHubs GO-COM232 */ - {USB_VENDOR_GOHUBS, USB_PRODUCT_GOHUBS_GOCOM232}, + {USB_VPI(USB_VENDOR_GOHUBS, USB_PRODUCT_GOHUBS_GOCOM232, 0)}, /* Peracom */ - {USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_SERIAL1}, + {USB_VPI(USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_SERIAL1, 0)}, /* Novatel Wireless Merlin cards */ - {USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_U740}, + {USB_VPI(USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_U740, 0)}, /* Dell version of the above */ - {USB_VENDOR_DELL, USB_PRODUCT_DELL_U740}, + {USB_VPI(USB_VENDOR_DELL, USB_PRODUCT_DELL_U740, 0)}, /* Novatel Wireless Merlin v740 */ - {USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_V740}, + {USB_VPI(USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_V740, 0)}, /* Option Vodafone MC3G */ - {USB_VENDOR_OPTION, USB_PRODUCT_OPTION_VODAFONEMC3G}, + {USB_VPI(USB_VENDOR_OPTION, USB_PRODUCT_OPTION_VODAFONEMC3G, 0)}, /* Option GlobeTrotter 3G */ - {USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3G}, + {USB_VPI(USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3G, 0)}, /* Option GlobeTrotter 3G+ */ - {USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GPLUS}, + {USB_VPI(USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GPLUS, 0)}, /* Option GlobeTrotter Max 3.6 */ - {USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAX36}, + {USB_VPI(USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GTMAX36, 0)}, /* Option GlobeTrotter 3G QUAD */ - {USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GQUAD}, + {USB_VPI(USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GQUAD, 0)}, /* Huawei Mobile */ - {USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE}, + {USB_VPI(USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE, 0)}, /* Qualcomm, Inc. ZTE CDMA */ - {USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM}, - {0, 0} + {USB_VPI(USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM, 0)}, }; static device_method_t ubsa_methods[] = { @@ -319,39 +310,32 @@ .size = sizeof(struct ubsa_softc), }; -DRIVER_MODULE(ubsa, uhub, ubsa_driver, ubsa_devclass, usbd_driver_load, 0); -MODULE_DEPEND(ubsa, usb, 1, 1, 1); +DRIVER_MODULE(ubsa, ushub, ubsa_driver, ubsa_devclass, NULL, 0); +MODULE_DEPEND(ubsa, usb2_core, 1, 1, 1); MODULE_DEPEND(ubsa, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); static int ubsa_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - const struct ubsa_product *up = ubsa_products; + struct usb2_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface) { - return (UMATCH_NONE); + if (uaa->info.bConfigIndex != UBSA_CONFIG_INDEX) { + return (ENXIO); } - while (up->vendor) { - if ((up->vendor == uaa->vendor) && - (up->product == uaa->product)) { - return (UMATCH_VENDOR_PRODUCT); - } - up++; + if (uaa->info.bIfaceIndex != UBSA_IFACE_INDEX) { + return (ENXIO); } - return (UMATCH_NONE); + return (usb2_lookup_id_by_uaa(ubsa_devs, sizeof(ubsa_devs), uaa)); } static int ubsa_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct ubsa_softc *sc = device_get_softc(dev); - struct usbd_interface *iface; - usb_interface_descriptor_t *id; int error; DPRINTF(0, "sc=%p\n", sc); @@ -359,35 +343,13 @@ if (sc == NULL) { return (ENOMEM); } - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); sc->sc_udev = uaa->device; - - /* configure the device */ - - error = usbd_set_config_index(uaa->device, UBSA_CONFIG_INDEX, 1); - - if (error) { - DPRINTF(0, "failed to set configuration, error=%s\n", - usbd_errstr(error)); - goto detach; - } - iface = usbd_get_iface(uaa->device, UBSA_IFACE_INDEX); - - if (iface == NULL) { - DPRINTF(0, "no interface\n"); - goto detach; - } - id = usbd_get_interface_descriptor(iface); - - if (id == NULL) { - DPRINTF(0, "no interface descriptor\n"); - goto detach; - } - sc->sc_iface_no = id->bInterfaceNumber; + sc->sc_iface_no = uaa->info.bIfaceNum; sc->sc_iface_index = UBSA_IFACE_INDEX; - error = usbd_transfer_setup(uaa->device, &(sc->sc_iface_index), + error = usb2_transfer_setup(uaa->device, &(sc->sc_iface_index), sc->sc_xfer, ubsa_config, UBSA_N_TRANSFER, sc, &Giant); if (error) { @@ -398,10 +360,10 @@ sc->sc_flag |= (UBSA_FLAG_WRITE_STALL | UBSA_FLAG_READ_STALL); - error = ucom_attach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1, sc, + error = usb2_com_attach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1, sc, &ubsa_callback, &Giant); if (error) { - DPRINTF(0, "ucom_attach failed\n"); + DPRINTF(0, "usb2_com_attach failed\n"); goto detach; } return (0); @@ -418,9 +380,9 @@ DPRINTF(0, "sc=%p\n", sc); - ucom_detach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1); + usb2_com_detach(&(sc->sc_super_ucom), &(sc->sc_ucom), 1); - usbd_transfer_unsetup(sc->sc_xfer, UBSA_N_TRANSFER); + usb2_transfer_unsetup(sc->sc_xfer, UBSA_N_TRANSFER); return (0); } @@ -428,10 +390,10 @@ static void ubsa_cfg_request(struct ubsa_softc *sc, uint8_t index, uint16_t value) { - usb_device_request_t req; - usbd_status_t err; + struct usb2_device_request req; + usb2_error_t err; - if (ucom_cfg_is_gone(&(sc->sc_ucom))) { + if (usb2_com_cfg_is_gone(&(sc->sc_ucom))) { return; } req.bmRequestType = UT_WRITE_VENDOR_DEVICE; @@ -441,18 +403,18 @@ req.wIndex[1] = 0; USETW(req.wLength, 0); - err = usbd_do_request_flags + err = usb2_do_request_flags (sc->sc_udev, &Giant, &req, NULL, 0, NULL, 1000); if (err) { DPRINTF(-1, "device request failed, err=%s " - "(ignored)\n", usbd_errstr(err)); + "(ignored)\n", usb2_errstr(err)); } return; } static void -ubsa_cfg_set_dtr(struct ucom_softc *ucom, uint8_t onoff) +ubsa_cfg_set_dtr(struct usb2_com_softc *ucom, uint8_t onoff) { struct ubsa_softc *sc = ucom->sc_parent; @@ -463,7 +425,7 @@ } static void -ubsa_cfg_set_rts(struct ucom_softc *ucom, uint8_t onoff) +ubsa_cfg_set_rts(struct usb2_com_softc *ucom, uint8_t onoff) { struct ubsa_softc *sc = ucom->sc_parent; @@ -474,7 +436,7 @@ } static void -ubsa_cfg_set_break(struct ucom_softc *ucom, uint8_t onoff) +ubsa_cfg_set_break(struct usb2_com_softc *ucom, uint8_t onoff) { struct ubsa_softc *sc = ucom->sc_parent; @@ -485,7 +447,7 @@ } static int -ubsa_pre_param(struct ucom_softc *ucom, struct termios *t) +ubsa_pre_param(struct usb2_com_softc *ucom, struct termios *t) { struct ubsa_softc *sc = ucom->sc_parent; @@ -512,7 +474,7 @@ } static void >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 21:48:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDC2F1065676; Wed, 2 Jul 2008 21: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 660D11065672 for ; Wed, 2 Jul 2008 21:48:36 +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 52F8A8FC19 for ; Wed, 2 Jul 2008 21:48:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62LmagN008918 for ; Wed, 2 Jul 2008 21:48:36 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62LmavX008916 for perforce@freebsd.org; Wed, 2 Jul 2008 21:48:36 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 2 Jul 2008 21:48:36 GMT Message-Id: <200807022148.m62LmavX008916@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 144510 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, 02 Jul 2008 21:48:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=144510 Change 144510 by hselasky@hselasky_laptop001 on 2008/07/02 21:48:14 New USB bluetooth module finished. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/TODO.TXT#2 edit .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2_var.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/ubtbcmfw2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#9 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#7 edit .. //depot/projects/usb/src/sys/modules/usb2/bluetooth/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/TODO.TXT#2 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2.c#2 (text+ko) ==== @@ -31,29 +31,32 @@ * $FreeBSD: src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c,v 1.33 2007/06/23 04:34:38 imp Exp $ */ -#include -#include -#include -#include +#include +#include +#include +#include +#include + +#define USB_DEBUG_VAR usb2_debug + +#include +#include +#include +#include +#include +#include + #include -#include -#include -#include -#include -#include - #include #include #include #include #include #include -#include -#include "usbdevs.h" - -#define DPRINTF(...) do { } while (0) +#include +#include /* * USB methods @@ -181,30 +184,23 @@ /* USB methods */ -static usbd_callback_t ubt_ctrl_write_callback; -static usbd_callback_t ubt_intr_read_callback; -static usbd_callback_t ubt_intr_read_clear_stall_callback; -static usbd_callback_t ubt_bulk_read_callback; -static usbd_callback_t ubt_bulk_read_clear_stall_callback; -static usbd_callback_t ubt_bulk_write_callback; -static usbd_callback_t ubt_bulk_write_clear_stall_callback; -static usbd_callback_t ubt_isoc_read_callback; -static usbd_callback_t ubt_isoc_write_callback; +static usb2_callback_t ubt_ctrl_write_callback; +static usb2_callback_t ubt_intr_read_callback; +static usb2_callback_t ubt_intr_read_clear_stall_callback; +static usb2_callback_t ubt_bulk_read_callback; +static usb2_callback_t ubt_bulk_read_clear_stall_callback; +static usb2_callback_t ubt_bulk_write_callback; +static usb2_callback_t ubt_bulk_write_clear_stall_callback; +static usb2_callback_t ubt_isoc_read_callback; +static usb2_callback_t ubt_isoc_write_callback; -static int - ubt_modevent(module_t mod, int event, void *data); +static int ubt_modevent(module_t mod, int event, void *data); +static void ubt_intr_read_complete(node_p node, hook_p hook, void *arg1, int arg2); +static void ubt_bulk_read_complete(node_p node, hook_p hook, void *arg1, int arg2); +static void ubt_isoc_read_complete(node_p node, hook_p hook, void *arg1, int arg2); -static void - ubt_intr_read_complete(node_p node, hook_p hook, void *arg1, int arg2); - -static void - ubt_bulk_read_complete(node_p node, hook_p hook, void *arg1, int arg2); - -static void - ubt_isoc_read_complete(node_p node, hook_p hook, void *arg1, int arg2); - /* USB config */ -static const struct usbd_config ubt_config_if_0[UBT_IF_0_N_TRANSFER] = { +static const struct usb2_config ubt_config_if_0[UBT_IF_0_N_TRANSFER] = { [0] = { .type = UE_BULK, @@ -237,7 +233,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = (sizeof(usb_device_request_t) + UBT_CTRL_BUFFER_SIZE), + .mh.bufsize = (sizeof(struct usb2_device_request) + UBT_CTRL_BUFFER_SIZE), .mh.callback = &ubt_ctrl_write_callback, .mh.timeout = 5000, /* 5 seconds */ }, @@ -246,7 +242,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &ubt_bulk_write_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -256,7 +252,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &ubt_bulk_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -266,7 +262,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &ubt_intr_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -274,7 +270,7 @@ }; /* USB config */ -static const struct usbd_config +static const struct usb2_config ubt_config_if_1_full_speed[UBT_IF_1_N_TRANSFER] = { [0] = { @@ -319,7 +315,7 @@ }; /* USB config */ -static const struct usbd_config +static const struct usb2_config ubt_config_if_1_high_speed[UBT_IF_1_N_TRANSFER] = { [0] = { @@ -367,10 +363,10 @@ * Module */ -DRIVER_MODULE(ng_ubt, uhub, ubt_driver, ubt_devclass, ubt_modevent, 0); +DRIVER_MODULE(ng_ubt, ushub, ubt_driver, ubt_devclass, ubt_modevent, 0); MODULE_VERSION(ng_ubt, NG_BLUETOOTH_VERSION); MODULE_DEPEND(ng_ubt, netgraph, NG_ABI_VERSION, NG_ABI_VERSION, NG_ABI_VERSION); -MODULE_DEPEND(ng_ubt, usb, 1, 1, 1); +MODULE_DEPEND(ng_ubt, usb2_core, 1, 1, 1); /**************************************************************************** **************************************************************************** @@ -394,101 +390,85 @@ printf("%s: Could not register " "Netgraph node type, error=%d\n", NG_UBT_NODE_TYPE, error); - } else - error = usbd_driver_load(mod, event, data); + } break; case MOD_UNLOAD: error = ng_rmtype(&typestruct); - if (error == 0) - error = usbd_driver_load(mod, event, data); break; default: error = EOPNOTSUPP; break; } - return (error); } /* ubt_modevent */ /* + * If for some reason device should not be attached then put + * VendorID/ProductID pair into the list below. The format is + * as follows: + * + * { VENDOR_ID, PRODUCT_ID }, + * + * where VENDOR_ID and PRODUCT_ID are hex numbers. + */ +static const struct usb2_device_id ubt_ignore_devs[] = { + /* AVM USB Bluetooth-Adapter BlueFritz! v1.0 */ + {USB_VPI(USB_VENDOR_AVM, 0x2200, 0)}, +}; + +/* List of supported bluetooth devices */ +static const struct usb2_device_id ubt_devs[] = { + /* Generic Bluetooth class devices. */ + {USB_IFACE_CLASS(UDCLASS_WIRELESS), + USB_IFACE_SUBCLASS(UDSUBCLASS_RF), + USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH)}, + + /* AVM USB Bluetooth-Adapter BlueFritz! v2.0 */ + {USB_VPI(USB_VENDOR_AVM, 0x3800, 0)}, +}; + +/* * Probe for a USB Bluetooth device */ -static int32_t +static int ubt_probe(device_t dev) { - /* - * If for some reason device should not be attached then put - * VendorID/ProductID pair into the list below. The format is - * as follows: - * - * { VENDOR_ID, PRODUCT_ID }, - * - * where VENDOR_ID and PRODUCT_ID are hex numbers. - */ + struct usb2_attach_arg *uaa = device_get_ivars(dev); - static struct usb_devno const ubt_ignored_devices[] = { - {USB_VENDOR_AVM, 0x2200}, /* AVM USB Bluetooth-Adapter - * BlueFritz! v1.0 */ - {0, 0} /* This should be the last item in the - * list */ - }; - - /* - * If device violates Bluetooth specification and has bDeviceClass, - * bDeviceSubClass and bDeviceProtocol set to wrong values then you - * could try to put VendorID/ProductID pair into the list below. - * Adding VendorID/ProductID pair into this list forces ng_ubt(4) - * to attach to the broken device. - */ - - static struct usb_devno const ubt_broken_devices[] = { - {USB_VENDOR_AVM, 0x3800}, /* AVM USB Bluetooth-Adapter - * BlueFritz! v2.0 */ - {0, 0} /* This should be the last item in the - * list */ - }; - - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_device_descriptor_t *dd = usbd_get_device_descriptor(uaa->device); - - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if ((uaa->iface == NULL) || - usb_lookup(ubt_ignored_devices, uaa->vendor, uaa->product)) { - return (UMATCH_NONE); + if (uaa->info.bIfaceIndex != 0) { + return (ENXIO); } - if ((dd->bDeviceClass == UDCLASS_WIRELESS) && - (dd->bDeviceSubClass == UDSUBCLASS_RF) && - (dd->bDeviceProtocol == UDPROTO_BLUETOOTH)) { - return (UMATCH_DEVCLASS_DEVSUBCLASS); + if (usb2_lookup_id_by_uaa(ubt_ignore_devs, + sizeof(ubt_ignore_devs), uaa) == 0) { + return (ENXIO); } - if (usb_lookup(ubt_broken_devices, uaa->vendor, uaa->product)) { - return (UMATCH_VENDOR_PRODUCT); - } - return (UMATCH_NONE); + return (usb2_lookup_id_by_uaa(ubt_devs, sizeof(ubt_devs), uaa)); } /* * Attach the device */ -static int32_t +static int ubt_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct ubt_softc *sc = device_get_softc(dev); - const struct usbd_config *isoc_setup; - struct usbd_pipe *pipe; + const struct usb2_config *isoc_setup; + struct usb2_endpoint_descriptor *ed; uint16_t wMaxPacketSize; uint8_t alt_index; uint8_t iface_index; uint8_t i; + uint8_t j; - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); snprintf(sc->sc_name, sizeof(sc->sc_name), "%s", device_get_nameunit(dev)); @@ -510,13 +490,13 @@ /* isoc-out pipe */ NG_BT_MBUFQ_INIT(&sc->sc_scoq, - (usbd_get_speed(uaa->device) == USB_SPEED_HIGH) ? + (usb2_get_speed(uaa->device) == USB_SPEED_HIGH) ? (2 * UBT_ISOC_NFRAMES * 8) : (2 * UBT_ISOC_NFRAMES)); /* isoc-in pipe */ NG_BT_MBUFQ_INIT(&sc->sc_sciq, - (usbd_get_speed(uaa->device) == USB_SPEED_HIGH) ? + (usb2_get_speed(uaa->device) == USB_SPEED_HIGH) ? (2 * UBT_ISOC_NFRAMES * 8) : (2 * UBT_ISOC_NFRAMES)); @@ -549,7 +529,7 @@ mtx_init(&(sc->sc_mtx), "ubt lock", NULL, MTX_DEF | MTX_RECURSE); iface_index = 0; - if (usbd_transfer_setup + if (usb2_transfer_setup (uaa->device, &iface_index, sc->sc_xfer_if_0, ubt_config_if_0, UBT_IF_0_N_TRANSFER, sc, &(sc->sc_mtx))) { device_printf(dev, "Could not allocate transfers " @@ -563,37 +543,47 @@ * wMaxPacketSize) */ isoc_setup = - ((usbd_get_speed(uaa->device) == USB_SPEED_HIGH) ? + ((usb2_get_speed(uaa->device) == USB_SPEED_HIGH) ? ubt_config_if_1_high_speed : ubt_config_if_1_full_speed); wMaxPacketSize = 0; - alt_index = 0; - for (i = 0; i < 32; i++) { + /* search through all the descriptors looking for bidir mode */ - if (usbd_fill_iface_data(uaa->device, 1, i)) { - /* end of alternate settings */ - break; - } - pipe = usbd_get_pipe(uaa->device, 1, isoc_setup); + alt_index = 0 - 1; + i = 0; + j = 0; + while (1) { + uint16_t temp; - if (pipe && pipe->edesc) { - - if (UGETW(pipe->edesc->wMaxPacketSize) > wMaxPacketSize) { - wMaxPacketSize = UGETW(pipe->edesc->wMaxPacketSize); - alt_index = i; + ed = usb2_find_edesc( + usb2_get_config_descriptor(uaa->device), 1, i, j); + if (ed == NULL) { + if (j == 0) { + /* end of interfaces */ + break; + } else { + /* next interface */ + j = 0; + i++; + continue; } } + temp = UGETW(ed->wMaxPacketSize); + if (temp > wMaxPacketSize) { + wMaxPacketSize = temp; + alt_index = i; + } } - if (usbd_set_alt_interface_index(uaa->device, 1, alt_index)) { + if (usb2_set_alt_interface_index(uaa->device, 1, alt_index)) { device_printf(dev, "Could not set alternate " "setting %d for interface 1!\n", alt_index); goto detach; } iface_index = 1; - if (usbd_transfer_setup + if (usb2_transfer_setup (uaa->device, &iface_index, sc->sc_xfer_if_1, isoc_setup, UBT_IF_1_N_TRANSFER, sc, &(sc->sc_mtx))) { device_printf(dev, "Could not allocate transfers " @@ -622,12 +612,12 @@ /* claim all interfaces on the device */ - for (i = 0;; i++) { + for (i = 1;; i++) { - if (usbd_get_iface(uaa->device, i) == NULL) { + if (usb2_get_iface(uaa->device, i) == NULL) { break; } - USBD_SET_IFACE_NO_PROBE(uaa->device, i); + usb2_set_parent_iface(uaa->device, i, uaa->info.bIfaceIndex); } return (0); /* success */ @@ -642,7 +632,7 @@ * Detach the device */ -int32_t +int ubt_detach(device_t dev) { struct ubt_softc *sc = device_get_softc(dev); @@ -656,9 +646,9 @@ } /* free USB transfers, if any */ - usbd_transfer_unsetup(sc->sc_xfer_if_0, UBT_IF_0_N_TRANSFER); + usb2_transfer_unsetup(sc->sc_xfer_if_0, UBT_IF_0_N_TRANSFER); - usbd_transfer_unsetup(sc->sc_xfer_if_1, UBT_IF_1_N_TRANSFER); + usb2_transfer_unsetup(sc->sc_xfer_if_1, UBT_IF_1_N_TRANSFER); mtx_destroy(&(sc->sc_mtx)); @@ -673,14 +663,14 @@ } static void -ubt_ctrl_write_callback(struct usbd_xfer *xfer) +ubt_ctrl_write_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; - usb_device_request_t req; + struct usb2_device_request req; struct mbuf *m; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: tr_transferred: if (xfer->error) { @@ -690,7 +680,7 @@ NG_UBT_STAT_PCKTS_SENT(sc->sc_stat); } - case USBD_ST_SETUP: + case USB_ST_SETUP: /* get next mbuf, if any */ @@ -719,8 +709,8 @@ NG_UBT_INFO(sc, "Sending control request, bmRequestType=0x%02x, " "wLength=%d\n", req.bmRequestType, UGETW(req.wLength)); - usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); - usbd_m_copy_in(xfer->frbuffers + 1, 0, m, 0, m->m_pkthdr.len); + usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usb2_m_copy_in(xfer->frbuffers + 1, 0, m, 0, m->m_pkthdr.len); xfer->frlengths[0] = sizeof(req); xfer->frlengths[1] = m->m_pkthdr.len; @@ -728,11 +718,11 @@ NG_FREE_M(m); - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { + if (xfer->error == USB_ERR_CANCELLED) { /* ignore */ return; } @@ -741,15 +731,15 @@ } static void -ubt_intr_read_callback(struct usbd_xfer *xfer) +ubt_intr_read_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; struct mbuf *m; uint32_t max_len; uint8_t *ptr; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: /* allocate a new mbuf */ @@ -778,7 +768,7 @@ } ptr = ((uint8_t *)(m->m_data)) + m->m_len; - usbd_copy_out(xfer->frbuffers, 0, ptr, xfer->actlen); + usb2_copy_out(xfer->frbuffers, 0, ptr, xfer->actlen); m->m_pkthdr.len += xfer->actlen; m->m_len += xfer->actlen; @@ -788,7 +778,7 @@ sc->sc_intr_buffer = m; - case USBD_ST_SETUP: + case USB_ST_SETUP: tr_setup: if (sc->sc_intr_buffer) { @@ -796,19 +786,19 @@ return; } if (sc->sc_flags & UBT_FLAG_INTR_STALL) { - usbd_transfer_start(sc->sc_xfer_if_0[6]); + usb2_transfer_start(sc->sc_xfer_if_0[6]); return; } xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= UBT_FLAG_INTR_STALL; - usbd_transfer_start(sc->sc_xfer_if_0[6]); + usb2_transfer_start(sc->sc_xfer_if_0[6]); } return; @@ -816,15 +806,15 @@ } static void -ubt_intr_read_clear_stall_callback(struct usbd_xfer *xfer) +ubt_intr_read_clear_stall_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer_if_0[2]; + struct usb2_xfer *xfer_other = sc->sc_xfer_if_0[2]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UBT_FLAG_INTR_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -888,7 +878,7 @@ } /* start USB transfer if not already started */ - usbd_transfer_start(sc->sc_xfer_if_0[2]); + usb2_transfer_start(sc->sc_xfer_if_0[2]); mtx_unlock(&(sc->sc_mtx)); @@ -896,15 +886,15 @@ } static void -ubt_bulk_read_callback(struct usbd_xfer *xfer) +ubt_bulk_read_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; struct mbuf *m; uint32_t max_len; uint8_t *ptr; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: /* allocate new mbuf */ @@ -933,7 +923,7 @@ } ptr = ((uint8_t *)(m->m_data)) + m->m_len; - usbd_copy_out(xfer->frbuffers, 0, ptr, xfer->actlen); + usb2_copy_out(xfer->frbuffers, 0, ptr, xfer->actlen); m->m_pkthdr.len += xfer->actlen; m->m_len += xfer->actlen; @@ -943,26 +933,26 @@ sc->sc_bulk_in_buffer = m; - case USBD_ST_SETUP: + case USB_ST_SETUP: tr_setup: if (sc->sc_bulk_in_buffer) { ng_send_fn(sc->sc_node, NULL, ubt_bulk_read_complete, NULL, 0); return; } if (sc->sc_flags & UBT_FLAG_READ_STALL) { - usbd_transfer_start(sc->sc_xfer_if_0[5]); + usb2_transfer_start(sc->sc_xfer_if_0[5]); return; } xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= UBT_FLAG_READ_STALL; - usbd_transfer_start(sc->sc_xfer_if_0[5]); + usb2_transfer_start(sc->sc_xfer_if_0[5]); } return; @@ -970,15 +960,15 @@ } static void -ubt_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +ubt_bulk_read_clear_stall_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer_if_0[1]; + struct usb2_xfer *xfer_other = sc->sc_xfer_if_0[1]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UBT_FLAG_READ_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -1045,7 +1035,7 @@ } /* start USB transfer if not already started */ - usbd_transfer_start(sc->sc_xfer_if_0[1]); + usb2_transfer_start(sc->sc_xfer_if_0[1]); mtx_unlock(&(sc->sc_mtx)); @@ -1053,21 +1043,21 @@ } static void -ubt_bulk_write_callback(struct usbd_xfer *xfer) +ubt_bulk_write_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; struct mbuf *m; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: NG_UBT_INFO(sc, "sent %d bytes to bulk-out " "pipe\n", xfer->actlen); NG_UBT_STAT_BYTES_SENT(sc->sc_stat, xfer->actlen); NG_UBT_STAT_PCKTS_SENT(sc->sc_stat); - case USBD_ST_SETUP: + case USB_ST_SETUP: if (sc->sc_flags & UBT_FLAG_WRITE_STALL) { - usbd_transfer_start(sc->sc_xfer_if_0[4]); + usb2_transfer_start(sc->sc_xfer_if_0[4]); return; } /* get next mbuf, if any */ @@ -1089,7 +1079,7 @@ UBT_BULK_WRITE_BUFFER_SIZE, m->m_pkthdr.len); } - usbd_m_copy_in(xfer->frbuffers, 0, m, 0, m->m_pkthdr.len); + usb2_m_copy_in(xfer->frbuffers, 0, m, 0, m->m_pkthdr.len); NG_UBT_INFO(sc, "bulk-out transfer has been started, " "len=%d\n", m->m_pkthdr.len); @@ -1098,20 +1088,20 @@ NG_FREE_M(m); - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { NG_UBT_WARN(sc, "bulk-out transfer failed: %s\n", - usbd_errstr(xfer->error)); + usb2_errstr(xfer->error)); NG_UBT_STAT_OERROR(sc->sc_stat); /* try to clear stall first */ sc->sc_flags |= UBT_FLAG_WRITE_STALL; - usbd_transfer_start(sc->sc_xfer_if_0[4]); + usb2_transfer_start(sc->sc_xfer_if_0[4]); } return; @@ -1119,21 +1109,21 @@ } static void -ubt_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +ubt_bulk_write_clear_stall_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer_if_0[0]; + struct usb2_xfer *xfer_other = sc->sc_xfer_if_0[0]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UBT_FLAG_WRITE_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } static void -ubt_isoc_read_callback(struct usbd_xfer *xfer) +ubt_isoc_read_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; ng_hci_scodata_pkt_t hdr; @@ -1143,8 +1133,8 @@ uint32_t n; uint32_t offset; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: tr_transferred: offset = 0; @@ -1152,7 +1142,7 @@ if (xfer->frlengths[n] >= sizeof(hdr)) { - usbd_copy_out(xfer->frbuffers, offset, + usb2_copy_out(xfer->frbuffers, offset, &hdr, sizeof(hdr)); if (hdr.length == (xfer->frlengths[n] - sizeof(hdr))) { @@ -1194,7 +1184,7 @@ } ptr = ((uint8_t *)(m->m_data)) + m->m_len; - usbd_copy_out + usb2_copy_out (xfer->frbuffers, offset, ptr, xfer->frlengths[n]); @@ -1208,7 +1198,7 @@ offset += xfer->max_frame_size; } - case USBD_ST_SETUP: + case USB_ST_SETUP: tr_setup: if (NG_BT_MBUFQ_LEN(&(sc->sc_sciq)) > 0) { @@ -1218,11 +1208,11 @@ xfer->frlengths[n] = xfer->max_frame_size; } - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { + if (xfer->error == USB_ERR_CANCELLED) { /* ignore */ return; } @@ -1278,7 +1268,7 @@ } static void -ubt_isoc_write_callback(struct usbd_xfer *xfer) +ubt_isoc_write_callback(struct usb2_xfer *xfer) { struct ubt_softc *sc = xfer->priv_sc; struct mbuf *m; @@ -1286,8 +1276,8 @@ uint32_t len; uint32_t offset; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: tr_transferred: if (xfer->error) { NG_UBT_STAT_OERROR(sc->sc_stat); @@ -1296,7 +1286,7 @@ NG_UBT_STAT_PCKTS_SENT(sc->sc_stat); } - case USBD_ST_SETUP: + case USB_ST_SETUP: offset = 0; for (n = 0; n < xfer->nframes; n++) { @@ -1306,7 +1296,7 @@ if (m) { len = min(xfer->max_frame_size, m->m_pkthdr.len); - usbd_m_copy_in(xfer->frbuffers, offset, m, 0, len); + usb2_m_copy_in(xfer->frbuffers, offset, m, 0, len); NG_FREE_M(m); @@ -1317,11 +1307,11 @@ } } - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { + if (xfer->error == USB_ERR_CANCELLED) { /* ignore */ return; } @@ -1436,27 +1426,27 @@ UBT_FLAG_INTR_STALL); /* start intr transfer */ - usbd_transfer_start(sc->sc_xfer_if_0[2]); + usb2_transfer_start(sc->sc_xfer_if_0[2]); /* start bulk-in transfer */ - usbd_transfer_start(sc->sc_xfer_if_0[1]); + usb2_transfer_start(sc->sc_xfer_if_0[1]); /* start bulk-out transfer */ - usbd_transfer_start(sc->sc_xfer_if_0[0]); + usb2_transfer_start(sc->sc_xfer_if_0[0]); /* start control-out transfer */ - usbd_transfer_start(sc->sc_xfer_if_0[3]); + usb2_transfer_start(sc->sc_xfer_if_0[3]); #if 0 XXX can enable this XXX /* start isoc-in transfer */ - usbd_transfer_start(sc->sc_xfer_if_1[0]); + usb2_transfer_start(sc->sc_xfer_if_1[0]); - usbd_transfer_start(sc->sc_xfer_if_1[1]); + usb2_transfer_start(sc->sc_xfer_if_1[1]); /* start isoc-out transfer */ - usbd_transfer_start(sc->sc_xfer_if_1[2]); - usbd_transfer_start(sc->sc_xfer_if_1[3]); + usb2_transfer_start(sc->sc_xfer_if_1[2]); + usb2_transfer_start(sc->sc_xfer_if_1[3]); #endif mtx_unlock(&(sc->sc_mtx)); @@ -1483,27 +1473,27 @@ } else { /* stop intr transfer */ - usbd_transfer_stop(sc->sc_xfer_if_0[2]); - usbd_transfer_stop(sc->sc_xfer_if_0[6]); + usb2_transfer_stop(sc->sc_xfer_if_0[2]); + usb2_transfer_stop(sc->sc_xfer_if_0[6]); /* stop bulk-in transfer */ - usbd_transfer_stop(sc->sc_xfer_if_0[1]); - usbd_transfer_stop(sc->sc_xfer_if_0[5]); + usb2_transfer_stop(sc->sc_xfer_if_0[1]); + usb2_transfer_stop(sc->sc_xfer_if_0[5]); /* stop bulk-out transfer */ - usbd_transfer_stop(sc->sc_xfer_if_0[0]); - usbd_transfer_stop(sc->sc_xfer_if_0[4]); + usb2_transfer_stop(sc->sc_xfer_if_0[0]); + usb2_transfer_stop(sc->sc_xfer_if_0[4]); /* stop control transfer */ - usbd_transfer_stop(sc->sc_xfer_if_0[3]); + usb2_transfer_stop(sc->sc_xfer_if_0[3]); /* stop isoc-in transfer */ - usbd_transfer_stop(sc->sc_xfer_if_1[0]); - usbd_transfer_stop(sc->sc_xfer_if_1[1]); + usb2_transfer_stop(sc->sc_xfer_if_1[0]); + usb2_transfer_stop(sc->sc_xfer_if_1[1]); /* stop isoc-out transfer */ - usbd_transfer_stop(sc->sc_xfer_if_1[2]); - usbd_transfer_stop(sc->sc_xfer_if_1[3]); + usb2_transfer_stop(sc->sc_xfer_if_1[2]); + usb2_transfer_stop(sc->sc_xfer_if_1[3]); /* cleanup queues */ NG_BT_MBUFQ_DRAIN(&sc->sc_cmdq); @@ -1713,7 +1703,7 @@ struct ubt_softc *sc = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); struct mbuf *m; struct ng_bt_mbufq *q; - struct usbd_xfer *xfer; + struct usb2_xfer *xfer; int error = 0; if (sc == NULL) { @@ -1771,7 +1761,7 @@ } if (xfer) { - usbd_transfer_start(xfer); + usb2_transfer_start(xfer); } done: NG_FREE_ITEM(item); ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2_var.h#2 (text+ko) ==== @@ -92,8 +92,8 @@ struct mtx sc_mtx; /* USB device specific */ - struct usbd_xfer *sc_xfer_if_0[UBT_IF_0_N_TRANSFER]; - struct usbd_xfer *sc_xfer_if_1[UBT_IF_1_N_TRANSFER]; + struct usb2_xfer *sc_xfer_if_0[UBT_IF_0_N_TRANSFER]; + struct usb2_xfer *sc_xfer_if_1[UBT_IF_1_N_TRANSFER]; /* Interrupt pipe (HCI events) */ struct mbuf *sc_intr_buffer; /* interrupt buffer */ ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/ubtbcmfw2.c#2 (text+ko) ==== @@ -31,21 +31,24 @@ * $FreeBSD: src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c,v 1.18 2007/06/23 04:34:38 imp Exp $ */ -#include -#include -#include -#include -#include -#include +#include +#include +#include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 2 22:00:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07350106567B; Wed, 2 Jul 2008 22:00: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 BBDEE1065673 for ; Wed, 2 Jul 2008 22:00:48 +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 AAA258FC16 for ; Wed, 2 Jul 2008 22:00:48 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m62M0mhs010185 for ; Wed, 2 Jul 2008 22:00:48 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m62M0m5f010183 for perforce@freebsd.org; Wed, 2 Jul 2008 22:00:48 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 2 Jul 2008 22:00:48 GMT Message-Id: <200807022200.m62M0m5f010183@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 144511 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, 02 Jul 2008 22:00:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=144511 Change 144511 by hselasky@hselasky_laptop001 on 2008/07/02 22:00:07 Bugfix. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2.c#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/bluetooth/ng_ubt2.c#3 (text+ko) ==== @@ -555,7 +555,7 @@ i = 0; j = 0; while (1) { - uint16_t temp; + uint16_t temp; ed = usb2_find_edesc( usb2_get_config_descriptor(uaa->device), 1, i, j); @@ -575,6 +575,7 @@ wMaxPacketSize = temp; alt_index = i; } + j++; } if (usb2_set_alt_interface_index(uaa->device, 1, alt_index)) { From owner-p4-projects@FreeBSD.ORG Thu Jul 3 01:24:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A80D31065678; Thu, 3 Jul 2008 01:24: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 69C1F1065677 for ; Thu, 3 Jul 2008 01:24:01 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5A2B88FC12 for ; Thu, 3 Jul 2008 01:24:01 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m631O12p042454 for ; Thu, 3 Jul 2008 01:24:01 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m631O1om042445 for perforce@freebsd.org; Thu, 3 Jul 2008 01:24:01 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 01:24:01 GMT Message-Id: <200807030124.m631O1om042445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144527 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, 03 Jul 2008 01:24:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=144527 Change 144527 by julian@julian_trafmon1 on 2008/07/03 01:23:07 IFC@144523 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/include/vmparam.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/compat/pecoff/imgact_pecoff.c#2 delete .. //depot/projects/vimage-commit2/src/sys/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/vimage-commit2/src/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cp/cpddk.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ctau/ctddk.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cx/cxddk.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mii/rgephyreg.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/re/if_re.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_alq.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/pecoff/Makefile#2 delete .. //depot/projects/vimage-commit2/src/sys/net/if_bridge.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_syscalls.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/sys/socketvar.h#2 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.623 2008/06/21 19:19:09 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.624 2008/07/02 05:41:23 alc Exp $"); /* * Manages physical address maps. @@ -173,7 +173,6 @@ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ -static int nkpt; static int ndmpdp; static vm_paddr_t dmaplimit; vm_offset_t kernel_vm_end; @@ -543,7 +542,6 @@ kernel_pmap->pm_root = NULL; kernel_pmap->pm_active = -1; /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); - nkpt = NKPT; /* * Reserve some special page table entries/VA space for temporary @@ -650,7 +648,7 @@ * page table pages. */ pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS); - for (i = 0; i < nkpt; i++) { + for (i = 0; i < NKPT; i++) { if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V)) continue; mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME); @@ -1708,10 +1706,8 @@ mtx_assert(&kernel_map->system_mtx, MA_OWNED); if (kernel_vm_end == 0) { kernel_vm_end = VM_MIN_KERNEL_ADDRESS; - nkpt = 0; while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) { kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1); - nkpt++; if (kernel_vm_end - 1 >= kernel_map->max_offset) { kernel_vm_end = kernel_map->max_offset; break; @@ -1725,7 +1721,7 @@ pde = pmap_pde(kernel_pmap, kernel_vm_end); if (pde == NULL) { /* We need a new PDP entry */ - nkpg = vm_page_alloc(NULL, nkpt, + nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT, VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); @@ -1749,9 +1745,6 @@ VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); - - nkpt++; - pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M); ==== //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#3 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.142 2008/06/29 19:13:27 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.143 2008/06/30 02:35:55 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -115,7 +115,7 @@ #endif #define NKPML4E 1 /* number of kernel PML4 slots */ -#define NKPDPE 5 /* number of kernel PDP slots */ +#define NKPDPE howmany(NKPT, NPDEPG)/* number of kernel PDP slots */ #define NUPML4E (NPML4EPG/2) /* number of userland PML4 pages */ #define NUPDPE (NUPML4E*NPDPEPG)/* number of userland PDP pages */ ==== //depot/projects/vimage-commit2/src/sys/amd64/include/vmparam.h#3 (text+ko) ==== @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.52 2008/06/29 19:13:27 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.53 2008/06/30 03:14:39 alc Exp $ */ @@ -148,8 +148,18 @@ /* * Virtual addresses of things. Derived from the page directory and * page table indexes from pmap.h for precision. - * Because of the page that is both a PD and PT, it looks a little - * messy at times, but hey, we'll do anything to save a page :-) + * + * 0x0000000000000000 - 0x00007fffffffffff user map + * 0x0000800000000000 - 0xffff7fffffffffff does not exist (hole) + * 0xffff800000000000 - 0xffff804020100fff recursive page table (512GB slot) + * 0xffff804020101000 - 0xfffffeffffffffff unused + * 0xffffff0000000000 - 0xffffff7fffffffff 512GB direct map mappings + * 0xffffff8000000000 - 0xfffffffe7fffffff unused (506GB) + * 0xfffffffe80000000 - 0xffffffffffffffff 6GB kernel map + * + * Within the kernel map: + * + * 0xffffffff80000000 KERNBASE */ #define VM_MAX_KERNEL_ADDRESS KVADDR(KPML4I, NPDPEPG-1, NPDEPG-1, NPTEPG-1) ==== //depot/projects/vimage-commit2/src/sys/boot/i386/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.86 2008/02/28 17:08:05 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.87 2008/07/01 11:18:51 nyan Exp $"); #include #include @@ -472,7 +472,7 @@ dsk.slice = WHOLE_DISK_SLICE; if (arg[1] == ',') { dsk.slice = *arg - '0' + 1; - if (dsk.slice > NDOSPART) + if (dsk.slice > NDOSPART + 1) return -1; arg += 2; } ==== //depot/projects/vimage-commit2/src/sys/dev/ce/ceddk.h#2 (text+ko) ==== @@ -13,7 +13,7 @@ * works or modified versions. * * $Cronyx: ceddk.h,v 1.2.6.1 2005/11/09 13:01:39 rik Exp $ - * $FreeBSD: src/sys/dev/ce/ceddk.h,v 1.1 2006/01/27 09:02:09 rik Exp $ + * $FreeBSD: src/sys/dev/ce/ceddk.h,v 1.2 2008/06/30 21:18:27 rik Exp $ */ #define TAU32_UserContext_Add void *sys; @@ -72,6 +72,7 @@ TAU32_UserRequest *rx_queue; TAU32_UserRequest *tx_queue; unsigned char debug; + unsigned char debug_shadow; void (*transmit) (struct _ce_chan_t*, void*, int); void (*receive) (struct _ce_chan_t*, unsigned char*, int); void (*error) (struct _ce_chan_t*, int); ==== //depot/projects/vimage-commit2/src/sys/dev/ce/if_ce.c#2 (text+ko) ==== @@ -16,7 +16,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ce/if_ce.c,v 1.9 2007/07/27 11:59:56 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ce/if_ce.c,v 1.11 2008/07/01 14:41:03 dds Exp $"); #include @@ -962,8 +962,8 @@ if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; switch (cmd) { default: CE_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1333,7 +1333,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1374,7 +1374,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1404,7 +1404,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1424,7 +1424,7 @@ CE_DEBUG2 (d, ("ioctl: setcfg\n")); #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1526,7 +1526,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1562,7 +1562,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1590,7 +1590,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1614,19 +1614,24 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); #endif if (error) return error; +#ifndef NETGRAPH + /* + * The debug_shadow is always greater than zero for logic + * simplicity. For switching debug off the IFF_DEBUG is + * responsible. + */ + d->chan->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + d->chan->debug = d->chan->debug_shadow; +#else d->chan->debug = *(int*)data; -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= ~IFF_DEBUG; #endif return 0; @@ -1642,7 +1647,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1668,7 +1673,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1698,7 +1703,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1722,7 +1727,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1750,7 +1755,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1776,7 +1781,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1804,7 +1809,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1832,7 +1837,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1860,7 +1865,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1893,7 +1898,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1920,7 +1925,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1939,7 +1944,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); @@ -1977,7 +1982,7 @@ /* Only for superuser! */ #if __FreeBSD_version < 500000 error = suser (p); -#elsif __FreeBSD_version < 700000 +#elif __FreeBSD_version < 700000 error = suser (td); #else error = priv_check (td, PRIV_DRIVER); ==== //depot/projects/vimage-commit2/src/sys/dev/cp/cpddk.h#2 (text+ko) ==== @@ -16,7 +16,7 @@ * works or modified versions. * * $Cronyx: cpddk.h,v 1.8.4.20 2004/12/06 16:21:06 rik Exp $ - * $FreeBSD: src/sys/dev/cp/cpddk.h,v 1.4 2005/01/06 01:42:32 imp Exp $ + * $FreeBSD: src/sys/dev/cp/cpddk.h,v 1.5 2008/06/30 21:18:27 rik Exp $ */ #define NBRD 6 /* the maximum number of installed boards */ #define NCHAN 4 /* the number of channels on the board */ @@ -205,6 +205,7 @@ void *tag [NTBUF]; /* system dependent data per buffer */ void *sys; /* system dependent data per channel */ unsigned char debug; /* debug level, 0..2 */ + unsigned char debug_shadow; /* debug shadow */ void (*transmit) (struct _cp_chan_t *c, void *tag, int len); void (*receive) (struct _cp_chan_t *c, unsigned char *data, int len); ==== //depot/projects/vimage-commit2/src/sys/dev/cp/if_cp.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.34 2007/07/27 11:59:56 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cp/if_cp.c,v 1.35 2008/06/30 21:18:27 rik Exp $"); #include #include @@ -733,8 +733,8 @@ if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; switch (cmd) { default: CP_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1349,12 +1349,17 @@ error = priv_check (td, PRIV_DRIVER); if (error) return error; +#ifndef NETGRAPH + /* + * The debug_shadow is always greater than zero for logic + * simplicity. For switching debug off the IFF_DEBUG is + * responsible. + */ + d->chan->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + d->chan->debug = d->chan->debug_shadow; +#else d->chan->debug = *(int*)data; -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= ~IFF_DEBUG; #endif return 0; ==== //depot/projects/vimage-commit2/src/sys/dev/ctau/ctddk.h#2 (text+ko) ==== @@ -12,7 +12,7 @@ * all derivative works or modified versions. * * Cronyx Id: ctddk.h,v 1.1.2.3 2003/12/11 17:33:44 rik Exp $ - * $FreeBSD: src/sys/dev/ctau/ctddk.h,v 1.2 2005/01/06 01:42:33 imp Exp $ + * $FreeBSD: src/sys/dev/ctau/ctddk.h,v 1.3 2008/06/30 21:18:27 rik Exp $ */ #define NBRD 3 /* the maximum number of installed boards */ #define NPORT 32 /* the number of i/o ports per board */ @@ -412,6 +412,7 @@ void *attach [NBUF]; /* system dependent data per buffer */ void *sys; /* system dependent data per channel */ int debug; + int debug_shadow; int e1_first_int; unsigned char *sccrx, *scctx; /* pointers to SCC rx and tx buffers */ ==== //depot/projects/vimage-commit2/src/sys/dev/ctau/if_ct.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.35 2007/10/12 06:03:43 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ctau/if_ct.c,v 1.36 2008/06/30 21:18:27 rik Exp $"); #include #include @@ -949,8 +949,8 @@ if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; switch (cmd) { default: CT_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1529,12 +1529,17 @@ error = priv_check (td, PRIV_DRIVER); if (error) return error; +#ifndef NETGRAPH + /* + * The debug_shadow is always greater than zero for logic + * simplicity. For switching debug off the IFF_DEBUG is + * responsible. + */ + c->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + c->debug = c->debug_shadow; +#else c->debug = *(int*)data; -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= (~IFF_DEBUG); #endif return 0; ==== //depot/projects/vimage-commit2/src/sys/dev/cx/cxddk.h#2 (text+ko) ==== @@ -15,7 +15,7 @@ * all derivative works or modified versions. * * Cronyx Id: cxddk.h,v 1.1.2.1 2003/11/12 17:13:41 rik Exp $ - * $FreeBSD: src/sys/dev/cx/cxddk.h,v 1.2 2005/01/06 01:42:34 imp Exp $ + * $FreeBSD: src/sys/dev/cx/cxddk.h,v 1.3 2008/06/30 21:18:27 rik Exp $ */ #ifndef port_t @@ -337,6 +337,7 @@ void *sys; int debug; + int debug_shadow; void *attach [2]; char *received_data; int received_len; ==== //depot/projects/vimage-commit2/src/sys/dev/cx/if_cx.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.58 2007/10/12 06:03:43 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cx/if_cx.c,v 1.59 2008/06/30 21:18:27 rik Exp $"); #include @@ -1102,10 +1102,14 @@ if (error) return error; + s = splhigh (); + CX_LOCK (bd); if (! (ifp->if_flags & IFF_DEBUG)) d->chan->debug = 0; - else if (! d->chan->debug) - d->chan->debug = 1; + else + d->chan->debug = d->chan->debug_shadow; + CX_UNLOCK (bd); + splx (s); switch (cmd) { default: CX_DEBUG2 (d, ("ioctl 0x%lx\n", cmd)); return 0; @@ -1745,6 +1749,8 @@ cx_enable_receive (c, 0); cx_enable_transmit (c, 0); } else if (c->mode == M_ASYNC && *(int*)data == SERIAL_HDLC) { + if (d->ifp->if_flags & IFF_DEBUG) + c->debug = c->debug_shadow; cx_set_mode (c, M_HDLC); cx_enable_receive (c, 1); cx_enable_transmit (c, 1); @@ -1913,15 +1919,24 @@ return error; s = splhigh (); CX_LOCK (bd); +#ifndef NETGRAPH + if (c->mode == M_ASYNC) { + c->debug = *(int*)data; + } else { + /* + * The debug_shadow is always greater than zero for + * logic simplicity. For switching debug off the + * IFF_DEBUG is responsible (for !M_ASYNC mode). + */ + c->debug_shadow = (*(int*)data) ? (*(int*)data) : 1; + if (d->ifp->if_flags & IFF_DEBUG) + c->debug = c->debug_shadow; + } +#else c->debug = *(int*)data; +#endif CX_UNLOCK (bd); splx (s); -#ifndef NETGRAPH - if (d->chan->debug) - d->ifp->if_flags |= IFF_DEBUG; - else - d->ifp->if_flags &= (~IFF_DEBUG); -#endif return 0; } ==== //depot/projects/vimage-commit2/src/sys/dev/mii/rgephy.c#2 (text+ko) ==== @@ -31,10 +31,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mii/rgephy.c,v 1.19 2008/03/05 01:15:10 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mii/rgephy.c,v 1.20 2008/07/02 08:10:18 yongari Exp $"); /* - * Driver for the RealTek 8169S/8110S/8211B internal 10/100/1000 PHY. + * Driver for the RealTek 8169S/8110S/8211B/8211C internal 10/100/1000 PHY. */ #include @@ -531,6 +531,18 @@ static void rgephy_reset(struct mii_softc *sc) { + struct rgephy_softc *rsc; + uint16_t ssr; + + rsc = (struct rgephy_softc *)sc; + if (rsc->mii_revision == 3) { + /* RTL8211C(L) */ + ssr = PHY_READ(sc, RGEPHY_MII_SSR); + if ((ssr & RGEPHY_SSR_ALDPS) != 0) { + ssr &= ~RGEPHY_SSR_ALDPS; + PHY_WRITE(sc, RGEPHY_MII_SSR, ssr); + } + } mii_phy_reset(sc); DELAY(1000); ==== //depot/projects/vimage-commit2/src/sys/dev/mii/rgephyreg.h#2 (text+ko) ==== @@ -29,7 +29,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/mii/rgephyreg.h,v 1.3 2007/10/29 02:17:07 yongari Exp $ + * $FreeBSD: src/sys/dev/mii/rgephyreg.h,v 1.4 2008/07/02 08:10:18 yongari Exp $ */ #ifndef _DEV_MII_RGEPHYREG_H_ @@ -137,7 +137,7 @@ #define RGEPHY_EXTSTS_T_FD_CAP 0x2000 /* 1000base-T FD capable */ #define RGEPHY_EXTSTS_T_HD_CAP 0x1000 /* 1000base-T HD capable */ -/* RTL8211B(L) */ +/* RTL8211B(L)/RTL8211C(L) */ #define RGEPHY_MII_SSR 0x11 /* PHY Specific status register */ #define RGEPHY_SSR_S1000 0x8000 /* 1000Mbps */ #define RGEPHY_SSR_S100 0x4000 /* 100Mbps */ @@ -148,6 +148,7 @@ #define RGEPHY_SSR_SPD_DPLX_RESOLVED 0x0800 /* speed/duplex resolved */ #define RGEPHY_SSR_LINK 0x0400 /* link up */ #define RGEPHY_SSR_MDI_XOVER 0x0040 /* MDI crossover */ +#define RGEPHY_SSR_ALDPS 0x0008 /* RTL8211C(L) only */ #define RGEPHY_SSR_JABBER 0x0001 /* Jabber */ #endif /* _DEV_RGEPHY_MIIREG_H_ */ ==== //depot/projects/vimage-commit2/src/sys/dev/mpt/mpt_pci.c#2 (text+ko) ==== @@ -99,7 +99,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.52 2008/05/10 01:27:23 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_pci.c,v 1.53 2008/07/01 19:44:38 jhb Exp $"); #include #include @@ -688,7 +688,7 @@ mpt_free_bus_resources(mpt); mpt_raid_free_mem(mpt); if (mpt->eh != NULL) { - EVENTHANDLER_DEREGISTER(shutdown_final, mpt->eh); + EVENTHANDLER_DEREGISTER(shutdown_post_sync, mpt->eh); } } return(0); ==== //depot/projects/vimage-commit2/src/sys/dev/mpt/mpt_user.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_user.c,v 1.1 2008/05/06 20:49:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt_user.c,v 1.2 2008/07/01 19:48:15 jhb Exp $"); #include #include @@ -47,6 +47,13 @@ uint16_t action_status; }; +struct mpt_page_memory { + bus_dma_tag_t tag; + bus_dmamap_t map; + bus_addr_t paddr; + void *vaddr; +}; + static mpt_probe_handler_t mpt_user_probe; static mpt_attach_handler_t mpt_user_attach; static mpt_enable_handler_t mpt_user_enable; @@ -180,6 +187,56 @@ } static int +mpt_alloc_buffer(struct mpt_softc *mpt, struct mpt_page_memory *page_mem, + size_t len) +{ + struct mpt_map_info mi; + int error; + + page_mem->vaddr = NULL; + + /* Limit requests to 16M. */ + if (len > 16 * 1024 * 1024) + return (ENOSPC); + error = mpt_dma_tag_create(mpt, mpt->parent_dmat, 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + len, 1, len, 0, &page_mem->tag); + if (error) + return (error); + error = bus_dmamem_alloc(page_mem->tag, &page_mem->vaddr, + BUS_DMA_NOWAIT, &page_mem->map); + if (error) { + bus_dma_tag_destroy(page_mem->tag); + return (error); + } + mi.mpt = mpt; + error = bus_dmamap_load(page_mem->tag, page_mem->map, page_mem->vaddr, + len, mpt_map_rquest, &mi, BUS_DMA_NOWAIT); + if (error == 0) + error = mi.error; + if (error) { + bus_dmamem_free(page_mem->tag, page_mem->vaddr, page_mem->map); + bus_dma_tag_destroy(page_mem->tag); + page_mem->vaddr = NULL; + return (error); + } + page_mem->paddr = mi.phys; + return (0); +} + +static void +mpt_free_buffer(struct mpt_page_memory *page_mem) +{ + + if (page_mem->vaddr == NULL) + return; + bus_dmamap_unload(page_mem->tag, page_mem->map); + bus_dmamem_free(page_mem->tag, page_mem->vaddr, page_mem->map); + bus_dma_tag_destroy(page_mem->tag); + page_mem->vaddr = NULL; +} + +static int mpt_user_read_cfg_header(struct mpt_softc *mpt, struct mpt_cfg_page_req *page_req) { @@ -225,7 +282,7 @@ static int mpt_user_read_cfg_page(struct mpt_softc *mpt, struct mpt_cfg_page_req *page_req, - void *mpt_page) + struct mpt_page_memory *mpt_page) { CONFIG_PAGE_HEADER *hdr; request_t *req; @@ -238,15 +295,14 @@ return (ENOMEM); } - hdr = mpt_page; + hdr = mpt_page->vaddr; params.Action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT; params.PageVersion = hdr->PageVersion; params.PageLength = hdr->PageLength; params.PageNumber = hdr->PageNumber; params.PageType = hdr->PageType & MPI_CONFIG_PAGETYPE_MASK; params.PageAddress = page_req->page_address; - error = mpt_issue_cfg_req(mpt, req, ¶ms, - req->req_pbuf + MPT_RQSL(mpt), + error = mpt_issue_cfg_req(mpt, req, ¶ms, mpt_page->paddr, page_req->len, TRUE, 5000); if (error != 0) { mpt_prt(mpt, "mpt_user_read_cfg_page timed out\n"); @@ -254,12 +310,9 @@ } page_req->ioc_status = req->IOCStatus; - if ((req->IOCStatus & MPI_IOCSTATUS_MASK) == MPI_IOCSTATUS_SUCCESS) { - bus_dmamap_sync(mpt->request_dmat, mpt->request_dmap, + if ((req->IOCStatus & MPI_IOCSTATUS_MASK) == MPI_IOCSTATUS_SUCCESS) + bus_dmamap_sync(mpt_page->tag, mpt_page->map, BUS_DMASYNC_POSTREAD); - memcpy(mpt_page, ((uint8_t *)req->req_vbuf)+MPT_RQSL(mpt), - page_req->len); - } mpt_free_request(mpt, req); return (0); } @@ -315,7 +368,7 @@ static int mpt_user_read_extcfg_page(struct mpt_softc *mpt, - struct mpt_ext_cfg_page_req *ext_page_req, void *mpt_page) + struct mpt_ext_cfg_page_req *ext_page_req, struct mpt_page_memory *mpt_page) { CONFIG_EXTENDED_PAGE_HEADER *hdr; request_t *req; @@ -328,7 +381,7 @@ return (ENOMEM); } - hdr = mpt_page; + hdr = mpt_page->vaddr; params.Action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT; params.PageVersion = hdr->PageVersion; params.PageLength = 0; @@ -337,8 +390,7 @@ params.PageAddress = ext_page_req->page_address; params.ExtPageType = hdr->ExtPageType; params.ExtPageLength = hdr->ExtPageLength; - error = mpt_issue_cfg_req(mpt, req, ¶ms, - req->req_pbuf + MPT_RQSL(mpt), + error = mpt_issue_cfg_req(mpt, req, ¶ms, mpt_page->paddr, ext_page_req->len, TRUE, 5000); if (error != 0) { mpt_prt(mpt, "mpt_user_read_extcfg_page timed out\n"); @@ -346,19 +398,16 @@ } ext_page_req->ioc_status = req->IOCStatus; - if ((req->IOCStatus & MPI_IOCSTATUS_MASK) == MPI_IOCSTATUS_SUCCESS) { - bus_dmamap_sync(mpt->request_dmat, mpt->request_dmap, + if ((req->IOCStatus & MPI_IOCSTATUS_MASK) == MPI_IOCSTATUS_SUCCESS) + bus_dmamap_sync(mpt_page->tag, mpt_page->map, BUS_DMASYNC_POSTREAD); - memcpy(mpt_page, ((uint8_t *)req->req_vbuf)+MPT_RQSL(mpt), - ext_page_req->len); - } mpt_free_request(mpt, req); return (0); } static int mpt_user_write_cfg_page(struct mpt_softc *mpt, - struct mpt_cfg_page_req *page_req, void *mpt_page) + struct mpt_cfg_page_req *page_req, struct mpt_page_memory *mpt_page) { CONFIG_PAGE_HEADER *hdr; request_t *req; @@ -366,7 +415,7 @@ u_int hdr_attr; int error; - hdr = mpt_page; + hdr = mpt_page->vaddr; hdr_attr = hdr->PageType & MPI_CONFIG_PAGEATTR_MASK; if (hdr_attr != MPI_CONFIG_PAGEATTR_CHANGEABLE && hdr_attr != MPI_CONFIG_PAGEATTR_PERSISTENT) { @@ -386,8 +435,7 @@ if (req == NULL) return (ENOMEM); - memcpy(((caddr_t)req->req_vbuf) + MPT_RQSL(mpt), mpt_page, - page_req->len); + bus_dmamap_sync(mpt_page->tag, mpt_page->map, BUS_DMASYNC_PREWRITE); /* * There isn't any point in restoring stripped out attributes @@ -406,8 +454,7 @@ #else params.PageType = hdr->PageType; #endif - error = mpt_issue_cfg_req(mpt, req, ¶ms, - req->req_pbuf + MPT_RQSL(mpt), + error = mpt_issue_cfg_req(mpt, req, ¶ms, mpt_page->paddr, page_req->len, TRUE, 5000); if (error != 0) { mpt_prt(mpt, "mpt_write_cfg_page timed out\n"); @@ -466,7 +513,7 @@ */ static int mpt_user_raid_action(struct mpt_softc *mpt, struct mpt_raid_action *raid_act, - void *buf) + struct mpt_page_memory *mpt_page) { request_t *req; struct mpt_user_raid_action_result *res; @@ -486,12 +533,10 @@ rap->VolumeBus = raid_act->volume_bus; rap->PhysDiskNum = raid_act->phys_disk_num; se = (SGE_SIMPLE32 *)&rap->ActionDataSGE; - if (buf != 0 && raid_act->len != 0) { - memcpy(((caddr_t)req->req_vbuf) + MPT_RQSL(mpt) + - sizeof(struct mpt_user_raid_action_result), buf, - raid_act->len); - se->Address = req->req_pbuf + MPT_RQSL(mpt) + - sizeof(struct mpt_user_raid_action_result); + if (mpt_page->vaddr != NULL && raid_act->len != 0) { + bus_dmamap_sync(mpt_page->tag, mpt_page->map, + BUS_DMASYNC_PREWRITE); + se->Address = mpt_page->paddr; MPI_pSGE_SET_LENGTH(se, raid_act->len); MPI_pSGE_SET_FLAGS(se, (MPI_SGE_FLAGS_SIMPLE_ELEMENT | MPI_SGE_FLAGS_LAST_ELEMENT | MPI_SGE_FLAGS_END_OF_BUFFER | @@ -526,9 +571,9 @@ raid_act->action_status = res->action_status; bcopy(res->action_data, raid_act->action_data, sizeof(res->action_data)); - if (buf != NULL) - memcpy(buf, ((uint8_t *)req->req_vbuf) + MPT_RQSL(mpt) + - sizeof(struct mpt_user_raid_action_result), raid_act->len); + if (mpt_page->vaddr != NULL) + bus_dmamap_sync(mpt_page->tag, mpt_page->map, + BUS_DMASYNC_POSTREAD); mpt_free_request(mpt, req); return (0); } @@ -545,6 +590,7 @@ struct mpt_cfg_page_req *page_req; struct mpt_ext_cfg_page_req *ext_page_req; struct mpt_raid_action *raid_act; + struct mpt_page_memory mpt_page; #ifdef __amd64__ struct mpt_cfg_page_req32 *page_req32; struct mpt_cfg_page_req page_req_swab; @@ -553,14 +599,13 @@ struct mpt_raid_action32 *raid_act32; struct mpt_raid_action raid_act_swab; #endif - void *mpt_page; int error; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 3 01:28:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 51D60106567B; Thu, 3 Jul 2008 01:28: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 1246C1065675 for ; Thu, 3 Jul 2008 01:28:06 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01FB98FC16 for ; Thu, 3 Jul 2008 01:28:06 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m631S5RS042854 for ; Thu, 3 Jul 2008 01:28:05 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m631S5Pj042841 for perforce@freebsd.org; Thu, 3 Jul 2008 01:28:05 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 01:28:05 GMT Message-Id: <200807030128.m631S5Pj042841@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144528 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, 03 Jul 2008 01:28:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=144528 Change 144528 by julian@julian_trafmon1 on 2008/07/03 01:27:39 IF-commit2@144527 Affected files ... .. //depot/projects/vimage-commit3/src/sys/amd64/amd64/bpf_jit_machdep.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/amd64/bpf_jit_machdep.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/amd64/mem.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/amd64/minidump_machdep.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/include/iodev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/include/pmc_mdep.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/include/stack.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/amd64/include/vmparam.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/arm/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/Makefile.inc#1 branch .. //depot/projects/vimage-commit3/src/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/vimage-commit3/src/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/efi/Makefile.inc#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/i386/Makefile.inc#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/ia64/Makefile.inc#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/ia64/common/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/ia64/efi/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/ia64/ski/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/vimage-commit3/src/sys/boot/pc98/Makefile.inc#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/vimage-commit3/src/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/sparc64/loader/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/vimage-commit3/src/sys/compat/pecoff/imgact_pecoff.c#2 delete .. //depot/projects/vimage-commit3/src/sys/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/vimage-commit3/src/sys/conf/NOTES#2 integrate .. //depot/projects/vimage-commit3/src/sys/conf/files#2 integrate .. //depot/projects/vimage-commit3/src/sys/conf/kern.mk#2 integrate .. //depot/projects/vimage-commit3/src/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/aac/aac.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/aac/aac_pci.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/agp/agp_i810.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/cp/cpddk.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/ctau/ctddk.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/cx/cxddk.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/et/if_et.c#1 branch .. //depot/projects/vimage-commit3/src/sys/dev/et/if_etreg.h#1 branch .. //depot/projects/vimage-commit3/src/sys/dev/et/if_etvar.h#1 branch .. //depot/projects/vimage-commit3/src/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/fe/if_fe_cbus.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/fe/if_fe_isa.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/fe/if_fe_pccard.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/fe/if_fevar.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/io/iodev.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/mii/miidevs#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/mii/rgephyreg.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/mii/truephy.c#1 branch .. //depot/projects/vimage-commit3/src/sys/dev/mii/truephyreg.h#1 branch .. //depot/projects/vimage-commit3/src/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/re/if_re.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/usb/uscanner.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/dev/wpi/if_wpi.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/vimage-commit3/src/sys/i386/i386/bpf_jit_machdep.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/i386/i386/bpf_jit_machdep.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/i386/include/iodev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/i386/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/ia64/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_alq.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_cpuset.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_intr.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_jail.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/kern_xxx.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/stack_protector.c#1 branch .. //depot/projects/vimage-commit3/src/sys/kern/subr_bus.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/uipc_sem.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/mips/include/iodev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/mips/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/modules/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/modules/et/Makefile#1 branch .. //depot/projects/vimage-commit3/src/sys/modules/mii/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/modules/nfslockd/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/modules/pecoff/Makefile#2 delete .. //depot/projects/vimage-commit3/src/sys/modules/ralfw/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/modules/sem/Makefile#2 integrate .. //depot/projects/vimage-commit3/src/sys/net/if.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/net/if_bridge.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/net/if_gre.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/net/if_gre.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/net/if_loop.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/net/if_var.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/netgraph/netgraph.h#4 integrate .. //depot/projects/vimage-commit3/src/sys/netinet/in.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/netinet/libalias/alias.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/netinet/libalias/alias_db.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/netinet/libalias/alias_ftp.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_rmx.c#4 integrate .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_input.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_ipsec.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/netipsec/key.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfsmount.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/nfsserver/nfs_syscalls.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/nlm/nlm.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/nlm/nlm_advlock.c#1 branch .. //depot/projects/vimage-commit3/src/sys/nlm/nlm_prot.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/nlm/nlm_prot_clnt.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/nlm/nlm_prot_impl.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/nlm/nlm_prot_server.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/pci/if_rlreg.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/pci/viapm.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/powerpc/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/auth_unix.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/authunix_prot.c#3 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/clnt.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/clnt_dg.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/clnt_rc.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/clnt_vc.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/rpcb_clnt.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/rpc/svc_vc.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac/mac_policy.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac_stub/mac_stub.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/security/mac_test/mac_test.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/sparc64/include/in_cksum.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sparc64/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sun4v/include/in_cksum.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sun4v/include/memdev.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/bus.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/fcntl.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/file.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/jail.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/ksem.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/lockf.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/param.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/priv.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/semaphore.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/socketvar.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/umtx.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/sys/user.h#2 integrate .. //depot/projects/vimage-commit3/src/sys/vm/vm_kern.c#2 integrate .. //depot/projects/vimage-commit3/src/sys/vm/vm_map.c#2 integrate Differences ... ==== //depot/projects/vimage-commit3/src/sys/amd64/amd64/bpf_jit_machdep.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.4 2006/01/03 20:26:02 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.6 2008/06/24 20:12:12 jkim Exp $"); #include "opt_bpf.h" @@ -132,11 +132,11 @@ /* create the procedure header */ PUSH(RBP); - MOVrq(RBP, RSP); - MOVoqd(RBP, -8, ESI); - MOVoqd(RBP, -12, EDX); + MOVrq(RSP, RBP); + MOVdoq(ESI, -8, RBP); + MOVdoq(EDX, -12, RBP); PUSH(RBX); - MOVrq(RBX, RDI); + MOVrq(RDI, RBX); for (i = 0; i < nins; i++) { stream.bpf_pc++; @@ -146,7 +146,7 @@ return NULL; case BPF_RET|BPF_K: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); POP(RBX); LEAVE_RET(); break; @@ -157,119 +157,119 @@ break; case BPF_LD|BPF_W|BPF_ABS: - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LD|BPF_W|BPF_LEN: - MOVodd(EAX, RBP, -8); + MOVoqd(-8, RBP, EAX); break; case BPF_LDX|BPF_W|BPF_LEN: - MOVodd(EDX, RBP, -8); + MOVoqd(-8, RBP, EDX); break; case BPF_LD|BPF_W|BPF_IND: - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LDX|BPF_MSH|BPF_B: - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - ZERO_EDX(); - MOVobb(DL, RBX, RCX); - ANDib(DL, 0xf); - SHLib(EDX, 2); + ZEROrd(EDX); + MOVobb(RBX, RCX, DL); + ANDib(0xf, DL); + SHLib(2, EDX); break; case BPF_LD|BPF_IMM: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); break; case BPF_LDX|BPF_IMM: - MOVid(EDX, ins->k); + MOVid(ins->k, EDX); break; case BPF_LD|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EAX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EAX); break; case BPF_LDX|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EDX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EDX); break; case BPF_ST: @@ -278,15 +278,15 @@ * be optimized if the previous instruction * was already of this type */ - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EAX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EAX, RCX, RSI); break; case BPF_STX: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EDX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EDX, RCX, RSI); break; case BPF_JMP|BPF_JA: @@ -295,7 +295,7 @@ break; case BPF_JMP|BPF_JGT|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); /* 5 is the size of the following JMP */ JG(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5 ); @@ -304,7 +304,7 @@ break; case BPF_JMP|BPF_JGE|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JGE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -312,7 +312,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -320,8 +320,8 @@ break; case BPF_JMP|BPF_JSET|BPF_K: - MOVrd(ECX, EAX); - ANDid(ECX, ins->k); + MOVrd(EAX, ECX); + ANDid(ins->k, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -329,7 +329,7 @@ break; case BPF_JMP|BPF_JGT|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JA(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -337,7 +337,7 @@ break; case BPF_JMP|BPF_JGE|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JAE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -345,7 +345,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -353,8 +353,8 @@ break; case BPF_JMP|BPF_JSET|BPF_X: - MOVrd(ECX, EAX); - ANDrd(ECX, EDX); + MOVrd(EAX, ECX); + ANDrd(EDX, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -362,46 +362,46 @@ break; case BPF_ALU|BPF_ADD|BPF_X: - ADDrd(EAX, EDX); + ADDrd(EDX, EAX); break; case BPF_ALU|BPF_SUB|BPF_X: - SUBrd(EAX, EDX); + SUBrd(EDX, EAX); break; case BPF_ALU|BPF_MUL|BPF_X: + MOVrd(EDX, ECX); + MULrd(EDX); MOVrd(ECX, EDX); - MULrd(EDX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_DIV|BPF_X: - CMPid(EDX, 0); + CMPid(0, EDX); JNEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); + MOVrd(EDX, ECX); + ZEROrd(EDX); + DIVrd(ECX); MOVrd(ECX, EDX); - ZERO_EDX(); - DIVrd(ECX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_AND|BPF_X: - ANDrd(EAX, EDX); + ANDrd(EDX, EAX); break; case BPF_ALU|BPF_OR|BPF_X: - ORrd(EAX, EDX); + ORrd(EDX, EAX); break; case BPF_ALU|BPF_LSH|BPF_X: - MOVrd(ECX, EDX); + MOVrd(EDX, ECX); SHL_CLrb(EAX); break; case BPF_ALU|BPF_RSH|BPF_X: - MOVrd(ECX, EDX); + MOVrd(EDX, ECX); SHR_CLrb(EAX); break; @@ -414,34 +414,34 @@ break; case BPF_ALU|BPF_MUL|BPF_K: + MOVrd(EDX, ECX); + MOVid(ins->k, EDX); + MULrd(EDX); MOVrd(ECX, EDX); - MOVid(EDX, ins->k); - MULrd(EDX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_DIV|BPF_K: + MOVrd(EDX, ECX); + ZEROrd(EDX); + MOVid(ins->k, ESI); + DIVrd(ESI); MOVrd(ECX, EDX); - ZERO_EDX(); - MOVid(ESI, ins->k); - DIVrd(ESI); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_AND|BPF_K: - ANDid(EAX, ins->k); + ANDid(ins->k, EAX); break; case BPF_ALU|BPF_OR|BPF_K: - ORid(EAX, ins->k); + ORid(ins->k, EAX); break; case BPF_ALU|BPF_LSH|BPF_K: - SHLib(EAX, (ins->k) & 255); + SHLib((ins->k) & 0xff, EAX); break; case BPF_ALU|BPF_RSH|BPF_K: - SHRib(EAX, (ins->k) & 255); + SHRib((ins->k) & 0xff, EAX); break; case BPF_ALU|BPF_NEG: @@ -449,11 +449,11 @@ break; case BPF_MISC|BPF_TAX: - MOVrd(EDX, EAX); + MOVrd(EAX, EDX); break; case BPF_MISC|BPF_TXA: - MOVrd(EAX, EDX); + MOVrd(EDX, EAX); break; } ins++; ==== //depot/projects/vimage-commit3/src/sys/amd64/amd64/bpf_jit_machdep.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.3 2005/12/06 20:11:07 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.5 2008/06/24 20:12:12 jkim Exp $ */ #ifndef _BPF_JIT_MACHDEP_H_ @@ -104,254 +104,252 @@ * native Instruction Macros */ -/* mov r32,i32 */ -#define MOVid(r32, i32) do { \ +/* movl i32,r32 */ +#define MOVid(i32, r32) do { \ emitm(&stream, (11 << 4) | (1 << 3) | (r32 & 0x7), 1); \ emitm(&stream, i32, 4); \ } while (0) -/* mov r64,i64 */ -#define MOViq(r64, i64) do { \ +/* movq i64,r64 */ +#define MOViq(i64, r64) do { \ emitm(&stream, 0x48, 1); \ emitm(&stream, (11 << 4) | (1 << 3) | (r64 & 0x7), 1); \ emitm(&stream, i64, 4); \ emitm(&stream, (i64 >> 32), 4); \ } while (0) -/* mov dr32,sr32 */ -#define MOVrd(dr32, sr32) do { \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movl sr32,dr32 */ +#define MOVrd(sr32, dr32) do { \ + emitm(&stream, 0x89, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* mov dr64,sr64 */ -#define MOVrq(dr64, sr64) do { \ - emitm(&stream, 0x48, 1); \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movq sr64,dr64 */ +#define MOVrq(sr64, dr64) do { \ + emitm(&stream, 0x8948, 2); \ emitm(&stream, \ - (3 << 6) | ((dr64 & 0x7) << 3) | (sr64 & 0x7), 1); \ + (3 << 6) | ((sr64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) -/* mov dr32,sr64[off] */ -#define MOVodd(dr32, sr64, off) do { \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movl off(sr64),dr32 */ +#define MOVoqd(off, sr64, dr32) do { \ + emitm(&stream, 0x8b, 1); \ emitm(&stream, \ (1 << 6) | ((dr32 & 0x7) << 3) | (sr64 & 0x7), 1); \ emitm(&stream, off, 1); \ } while (0) -/* mov dr64[off],sr32 */ -#define MOVoqd(dr64, off, sr32) do { \ - emitm(&stream, (8 << 4) | 1 | (1 << 3), 1); \ +/* movl sr32,off(dr64) */ +#define MOVdoq(sr32, off, dr64) do { \ + emitm(&stream, 0x89, 1); \ emitm(&stream, \ (1 << 6) | ((sr32 & 0x7) << 3) | (dr64 & 0x7), 1); \ emitm(&stream, off, 1); \ } while (0) -/* mov dr32,sr64[or64] */ -#define MOVobd(dr32, sr64, or64) do { \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movl (sr64,or64,1),dr32 */ +#define MOVobd(sr64, or64, dr32) do { \ + emitm(&stream, 0x8b, 1); \ emitm(&stream, ((dr32 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (sr64 & 0x7), 1); \ } while (0) -/* mov dr16,sr64[or64] */ -#define MOVobw(dr32, sr64, or64) do { \ - emitm(&stream, 0x66, 1); \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ - emitm(&stream, ((dr32 & 0x7) << 3) | 4, 1); \ +/* movw (sr64,or64,1),dr16 */ +#define MOVobw(sr64, or64, dr16) do { \ + emitm(&stream, 0x8b66, 2); \ + emitm(&stream, ((dr16 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (sr64 & 0x7), 1); \ } while (0) -/* mov dr8,sr64[or64] */ -#define MOVobb(dr8, sr64, or64) do { \ +/* movb (sr64,or64,1),dr8 */ +#define MOVobb(sr64, or64, dr8) do { \ emitm(&stream, 0x8a, 1); \ emitm(&stream, ((dr8 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (sr64 & 0x7), 1); \ } while (0) -/* mov [dr64][or64],sr32 */ -#define MOVomd(dr64, or64, sr32) do { \ +/* movl sr32,(dr64,or64,1) */ +#define MOVomd(sr32, dr64, or64) do { \ emitm(&stream, 0x89, 1); \ emitm(&stream, ((sr32 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) -/* bswap dr32 */ +/* bswapl dr32 */ #define BSWAP(dr32) do { \ emitm(&stream, 0xf, 1); \ emitm(&stream, (0x19 << 3) | dr32, 1); \ } while (0) -/* xchg al,ah */ +/* xchgb %al,%ah */ #define SWAP_AX() do { \ - emitm(&stream, 0x86, 1); \ - emitm(&stream, 0xc4, 1); \ + emitm(&stream, 0xc486, 2); \ } while (0) -/* push r64 */ +/* pushq r64 */ #define PUSH(r64) do { \ emitm(&stream, (5 << 4) | (0 << 3) | (r64 & 0x7), 1); \ } while (0) -/* pop r64 */ +/* popq r64 */ #define POP(r64) do { \ emitm(&stream, (5 << 4) | (1 << 3) | (r64 & 0x7), 1); \ } while (0) -/* leave/ret */ +/* leaveq/retq */ #define LEAVE_RET() do { \ - emitm(&stream, 0xc9, 1); \ - emitm(&stream, 0xc3, 1); \ + emitm(&stream, 0xc3c9, 2); \ } while (0) -/* add dr32,sr32 */ -#define ADDrd(dr32, sr32) do { \ - emitm(&stream, 0x03, 1); \ +/* addl sr32,dr32 */ +#define ADDrd(sr32, dr32) do { \ + emitm(&stream, 0x01, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* add eax,i32 */ +/* addl i32,%eax */ #define ADD_EAXi(i32) do { \ emitm(&stream, 0x05, 1); \ emitm(&stream, i32, 4); \ } while (0) -/* add r32,i32 */ -#define ADDid(r32, i32) do { \ +/* addl i32,r32 */ +#define ADDid(i32, r32) do { \ emitm(&stream, 0x81, 1); \ emitm(&stream, (24 << 3) | r32, 1); \ emitm(&stream, i32, 4); \ } while (0) -/* add r32,i8 */ -#define ADDib(r32, i8) do { \ +/* addl i8,r32 */ +#define ADDib(i8, r32) do { \ emitm(&stream, 0x83, 1); \ emitm(&stream, (24 << 3) | r32, 1); \ emitm(&stream, i8, 1); \ } while (0) -/* sub dr32,sr32 */ -#define SUBrd(dr32, sr32) do { \ - emitm(&stream, 0x2b, 1); \ +/* subl sr32,dr32 */ +#define SUBrd(sr32, dr32) do { \ + emitm(&stream, 0x29, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* sub eax,i32 */ +/* subl i32,%eax */ #define SUB_EAXi(i32) do { \ emitm(&stream, 0x2d, 1); \ emitm(&stream, i32, 4); \ } while (0) -/* mul r32 */ +/* mull r32 */ #define MULrd(r32) do { \ emitm(&stream, 0xf7, 1); \ emitm(&stream, (7 << 5) | (r32 & 0x7), 1); \ } while (0) -/* div r32 */ +/* divl r32 */ #define DIVrd(r32) do { \ emitm(&stream, 0xf7, 1); \ emitm(&stream, (15 << 4) | (r32 & 0x7), 1); \ } while (0) -/* and r8,i8 */ -#define ANDib(r8, i8) do { \ - emitm(&stream, 0x80, 1); \ - emitm(&stream, (7 << 5) | r8, 1); \ +/* andb i8,r8 */ +#define ANDib(i8, r8) do { \ + if (r8 == AL) { \ + emitm(&stream, 0x24, 1); \ + } else { \ + emitm(&stream, 0x80, 1); \ + emitm(&stream, (7 << 5) | r8, 1); \ + } \ emitm(&stream, i8, 1); \ } while (0) -/* and r32,i32 */ -#define ANDid(r32, i32) do { \ +/* andl i32,r32 */ +#define ANDid(i32, r32) do { \ if (r32 == EAX) { \ emitm(&stream, 0x25, 1); \ - emitm(&stream, i32, 4); \ } else { \ emitm(&stream, 0x81, 1); \ emitm(&stream, (7 << 5) | r32, 1); \ - emitm(&stream, i32, 4); \ } \ + emitm(&stream, i32, 4); \ } while (0) -/* and dr32,sr32 */ -#define ANDrd(dr32, sr32) do { \ - emitm(&stream, 0x23, 1); \ +/* andl sr32,dr32 */ +#define ANDrd(sr32, dr32) do { \ + emitm(&stream, 0x21, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* or dr32,sr32 */ -#define ORrd(dr32, sr32) do { \ - emitm(&stream, 0x0b, 1); \ +/* orl sr32,dr32 */ +#define ORrd(sr32, dr32) do { \ + emitm(&stream, 0x09, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* or r32,i32 */ -#define ORid(r32, i32) do { \ +/* orl i32,r32 */ +#define ORid(i32, r32) do { \ if (r32 == EAX) { \ emitm(&stream, 0x0d, 1); \ - emitm(&stream, i32, 4); \ } else { \ emitm(&stream, 0x81, 1); \ emitm(&stream, (25 << 3) | r32, 1); \ - emitm(&stream, i32, 4); \ } \ + emitm(&stream, i32, 4); \ } while (0) -/* shl r32,i8 */ -#define SHLib(r32, i8) do { \ +/* shll i8,r32 */ +#define SHLib(i8, r32) do { \ emitm(&stream, 0xc1, 1); \ emitm(&stream, (7 << 5) | (r32 & 0x7), 1); \ emitm(&stream, i8, 1); \ } while (0) -/* shl dr32,cl */ +/* shll %cl,dr32 */ #define SHL_CLrb(dr32) do { \ emitm(&stream, 0xd3, 1); \ emitm(&stream, (7 << 5) | (dr32 & 0x7), 1); \ } while (0) -/* shr r32,i8 */ -#define SHRib(r32, i8) do { \ +/* shrl i8,r32 */ +#define SHRib(i8, r32) do { \ emitm(&stream, 0xc1, 1); \ emitm(&stream, (29 << 3) | (r32 & 0x7), 1); \ emitm(&stream, i8, 1); \ } while (0) -/* shr dr32,cl */ +/* shrl %cl,dr32 */ #define SHR_CLrb(dr32) do { \ emitm(&stream, 0xd3, 1); \ emitm(&stream, (29 << 3) | (dr32 & 0x7), 1); \ } while (0) -/* neg r32 */ +/* negl r32 */ #define NEGd(r32) do { \ emitm(&stream, 0xf7, 1); \ emitm(&stream, (27 << 3) | (r32 & 0x7), 1); \ } while (0) -/* cmp dr32,sr64[off] */ -#define CMPodd(dr32, sr64, off) do { \ - emitm(&stream, (3 << 4) | 3 | (1 << 3), 1); \ +/* cmpl off(sr64),dr32 */ +#define CMPoqd(off, sr64, dr32) do { \ + emitm(&stream, 0x3b, 1); \ emitm(&stream, \ (1 << 6) | ((dr32 & 0x7) << 3) | (sr64 & 0x7), 1); \ emitm(&stream, off, 1); \ } while (0) -/* cmp dr32,sr32 */ -#define CMPrd(dr32, sr32) do { \ - emitm(&stream, 0x3b, 1); \ +/* cmpl sr32,dr32 */ +#define CMPrd(sr32, dr32) do { \ + emitm(&stream, 0x39, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* cmp dr32,i32 */ -#define CMPid(dr32, i32) do { \ +/* cmpl i32,dr32 */ +#define CMPid(i32, dr32) do { \ if (dr32 == EAX){ \ emitm(&stream, 0x3d, 1); \ emitm(&stream, i32, 4); \ @@ -362,7 +360,7 @@ } \ } while (0) -/* jne off32 */ +/* jne off8 */ #define JNEb(off8) do { \ emitm(&stream, 0x75, 1); \ emitm(&stream, off8, 1); \ @@ -370,15 +368,13 @@ /* je off32 */ #define JE(off32) do { \ - emitm(&stream, 0x0f, 1); \ - emitm(&stream, 0x84, 1); \ + emitm(&stream, 0x840f, 2); \ emitm(&stream, off32, 4); \ } while (0) /* jle off32 */ #define JLE(off32) do { \ - emitm(&stream, 0x0f, 1); \ - emitm(&stream, 0x8e, 1); \ + emitm(&stream, 0x8e0f, 2); \ emitm(&stream, off32, 4); \ } while (0) @@ -390,29 +386,25 @@ /* ja off32 */ #define JA(off32) do { \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 3 05:17:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E021F1065688; Thu, 3 Jul 2008 05:17: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 A089A1065670 for ; Thu, 3 Jul 2008 05:17:57 +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 913168FC17 for ; Thu, 3 Jul 2008 05:17:57 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m635Hvf6077161 for ; Thu, 3 Jul 2008 05:17:57 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m635HvJm077159 for perforce@freebsd.org; Thu, 3 Jul 2008 05:17:57 GMT (envelope-from trasz@freebsd.org) Date: Thu, 3 Jul 2008 05:17:57 GMT Message-Id: <200807030517.m635HvJm077159@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 144531 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, 03 Jul 2008 05:17:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=144531 Change 144531 by trasz@trasz_traszkan on 2008/07/03 05:17:32 Add support for the new ACLs to mount(8). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sbin/mount/mntopts.h#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sbin/mount/mount.c#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/mount/mntopts.h#2 (text+ko) ==== @@ -54,6 +54,7 @@ #define MOPT_SNAPSHOT { "snapshot", 0, MNT_SNAPSHOT, 0 } #define MOPT_MULTILABEL { "multilabel", 0, MNT_MULTILABEL, 0 } #define MOPT_ACLS { "acls", 0, MNT_ACLS, 0 } +#define MOPT_NFS4ACLS { "nfs4acls", 0, MNT_NFS4ACLS, 0 } /* Control flags. */ #define MOPT_FORCE { "force", 0, MNT_FORCE, 0 } @@ -87,7 +88,8 @@ MOPT_NOCLUSTERR, \ MOPT_NOCLUSTERW, \ MOPT_MULTILABEL, \ - MOPT_ACLS + MOPT_ACLS, \ + MOPT_NFS4ACLS void getmntopts(const char *, const struct mntopt *, int *, int *); void rmslashes(char *, char *); ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/mount/mount.c#2 (text+ko) ==== @@ -107,6 +107,7 @@ { MNT_SOFTDEP, "soft-updates" }, { MNT_MULTILABEL, "multilabel" }, { MNT_ACLS, "acls" }, + { MNT_NFS4ACLS, "nfs4acls" }, { MNT_GJOURNAL, "gjournal" }, { 0, NULL } }; @@ -877,6 +878,7 @@ if (flags & MNT_SUIDDIR) res = catopt(res, "suiddir"); if (flags & MNT_MULTILABEL) res = catopt(res, "multilabel"); if (flags & MNT_ACLS) res = catopt(res, "acls"); + if (flags & MNT_NFS4ACLS) res = catopt(res, "nfs4acls"); return (res); } From owner-p4-projects@FreeBSD.ORG Thu Jul 3 08:17:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD9981065677; Thu, 3 Jul 2008 08:17: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 9E5E11065671 for ; Thu, 3 Jul 2008 08:17:58 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 89AD18FC0A for ; Thu, 3 Jul 2008 08:17:58 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m638Hwhi098390 for ; Thu, 3 Jul 2008 08:17:58 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m638HwNe098388 for perforce@freebsd.org; Thu, 3 Jul 2008 08:17:58 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 08:17:58 GMT Message-Id: <200807030817.m638HwNe098388@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144536 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, 03 Jul 2008 08:17:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=144536 Change 144536 by julian@julian_trafmon1 on 2008/07/03 08:17:38 Fix bad integration Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#11 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#11 (text+ko) ==== @@ -52,7 +52,7 @@ void syncache_chkrst(struct in_conninfo *, struct tcphdr *); void syncache_badack(struct in_conninfo *); int syncache_pcbcount(void); -int syncache_pcblist(struct sysctl_req *req, int max_pcbs, int *pcbs_exported); +int syncache_pcblist(struct sysctl_req *req, int max_pcbs, int *pcbs_exported); struct syncache { From owner-p4-projects@FreeBSD.ORG Thu Jul 3 08:26:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 317B71065677; Thu, 3 Jul 2008 08:26: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 E76AC1065686 for ; Thu, 3 Jul 2008 08:26:06 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D2C3E8FC23 for ; Thu, 3 Jul 2008 08:26:06 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m638Q6rp099186 for ; Thu, 3 Jul 2008 08:26:06 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m638Q62M099184 for perforce@freebsd.org; Thu, 3 Jul 2008 08:26:06 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 08:26:06 GMT Message-Id: <200807030826.m638Q62M099184@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144537 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, 03 Jul 2008 08:26:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=144537 Change 144537 by julian@julian_trafmon1 on 2008/07/03 08:25:39 shuffle includes Affected files ... .. //depot/projects/vimage/src/sys/netinet6/in6_gif.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#16 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet6/in6_gif.c#9 (text+ko) ==== @@ -58,11 +58,11 @@ #endif #include #ifdef INET6 -#include #include #include #include #include +#include #endif #include #include ==== //depot/projects/vimage/src/sys/netinet6/vinet6.h#16 (text+ko) ==== @@ -38,6 +38,7 @@ #include #include #include +#include #include #define INIT_VNET_INET6(vnet) \ From owner-p4-projects@FreeBSD.ORG Thu Jul 3 09:14:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9506106567D; Thu, 3 Jul 2008 09:14: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 6B84B106567A for ; Thu, 3 Jul 2008 09:14:56 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 554A18FC1A for ; Thu, 3 Jul 2008 09:14:56 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m639Eugj013841 for ; Thu, 3 Jul 2008 09:14:56 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m639EuHi013839 for perforce@freebsd.org; Thu, 3 Jul 2008 09:14:56 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 09:14:56 GMT Message-Id: <200807030914.m639EuHi013839@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144541 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, 03 Jul 2008 09:14:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=144541 Change 144541 by julian@julian_trafmon1 on 2008/07/03 09:14:25 ifnet_byindex() is no longer a macro so it can not be onthe LHS. use ifnet_setbyindex() instead. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#64 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#64 (text+ko) ==== @@ -293,7 +293,7 @@ do { INIT_VNET_NET(curvnet); - ifnet_byindex(ifp->if_index) = NULL; + ifnet_setbyindex(ifp->if_index, NULL); /* XXX: should be locked with if_findindex() */ while (V_if_index > 0 && ifnet_byindex(V_if_index) == NULL) V_if_index--; @@ -319,7 +319,7 @@ V_if_index = ifp->if_index; if (V_if_index >= V_if_indexlim) if_grow(); - ifnet_byindex(ifp->if_index) = ifp; + ifnet_setbyindex(ifp->if_index, ifp); /* Rename the ifnet */ if (new_vnet == ifp->if_home_vnet) { From owner-p4-projects@FreeBSD.ORG Thu Jul 3 09:22:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00B271065673; Thu, 3 Jul 2008 09:22: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 B739A106564A for ; Thu, 3 Jul 2008 09:22:03 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A0B538FC0A for ; Thu, 3 Jul 2008 09:22:03 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m639M34b015161 for ; Thu, 3 Jul 2008 09:22:03 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m639M3CU015158 for perforce@freebsd.org; Thu, 3 Jul 2008 09:22:03 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 09:22:03 GMT Message-Id: <200807030922.m639M3CU015158@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144542 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, 03 Jul 2008 09:22:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=144542 Change 144542 by julian@julian_trafmon1 on 2008/07/03 09:21:09 make ifnet_setbyindex non-static Affected files ... .. //depot/projects/vimage/src/sys/net/if.c#29 edit .. //depot/projects/vimage/src/sys/net/if_var.h#15 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if.c#29 (text+ko) ==== @@ -198,7 +198,7 @@ return (ifp); } -static void +void ifnet_setbyindex(u_short idx, struct ifnet *ifp) { ==== //depot/projects/vimage/src/sys/net/if_var.h#15 (text+ko) ==== @@ -650,6 +650,7 @@ struct cdev *ife_dev; }; +void ifnet_setbyindex(u_short idx, struct ifnet *ifp); struct ifnet *ifnet_byindex(u_short idx); /* * Given the index, ifaddr_byindex() returns the one and only From owner-p4-projects@FreeBSD.ORG Thu Jul 3 09:32:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 544931065686; Thu, 3 Jul 2008 09:32: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 168161065679 for ; Thu, 3 Jul 2008 09:32:14 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F35958FC19 for ; Thu, 3 Jul 2008 09:32:13 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m639WDmw026174 for ; Thu, 3 Jul 2008 09:32:13 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m639WD4A026172 for perforce@freebsd.org; Thu, 3 Jul 2008 09:32:13 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 09:32:13 GMT Message-Id: <200807030932.m639WD4A026172@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144543 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, 03 Jul 2008 09:32:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=144543 Change 144543 by julian@julian_trafmon1 on 2008/07/03 09:31:58 ifnet_byindex and friends need INIT_VNET_NET() Affected files ... .. //depot/projects/vimage/src/sys/net/if.c#30 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if.c#30 (text+ko) ==== @@ -151,12 +151,12 @@ static int if_indexlim; static struct knlist ifklist; -#endif /* !VIMAGE */ /* * Table of ifnet/cdev by index. Locked with ifnet_lock. */ static struct ifindex_entry *ifindex_table = NULL; +#endif /* !VIMAGE */ static void filt_netdetach(struct knote *kn); static int filt_netdev(struct knote *kn, long hint); @@ -190,10 +190,11 @@ struct ifnet * ifnet_byindex(u_short idx) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; IFNET_RLOCK(); - ifp = ifindex_table[idx].ife_ifnet; + ifp = V_ifindex_table[idx].ife_ifnet; IFNET_RUNLOCK(); return (ifp); } @@ -202,9 +203,10 @@ ifnet_setbyindex(u_short idx, struct ifnet *ifp) { + INIT_VNET_NET(curvnet); IFNET_WLOCK_ASSERT(); - ifindex_table[idx].ife_ifnet = ifp; + V_ifindex_table[idx].ife_ifnet = ifp; } struct ifaddr * @@ -221,10 +223,11 @@ struct cdev * ifdev_byindex(u_short idx) { + INIT_VNET_NET(curvnet); struct cdev *cdev; IFNET_RLOCK(); - cdev = ifindex_table[idx].ife_dev; + cdev = V_ifindex_table[idx].ife_dev; IFNET_RUNLOCK(); return (cdev); } @@ -233,8 +236,9 @@ ifdev_setbyindex(u_short idx, struct cdev *cdev) { + INIT_VNET_NET(curvnet); IFNET_WLOCK(); - ifindex_table[idx].ife_dev = cdev; + V_ifindex_table[idx].ife_dev = cdev; IFNET_WUNLOCK(); } @@ -268,7 +272,6 @@ static int netioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) { - INIT_VNET_NET(curvnet); struct ifnet *ifp; int error, idx; @@ -379,15 +382,8 @@ vnet_net_iattach(NULL); #endif IFNET_LOCK_INIT(); -#ifdef VIMAGE - if (IS_DEFAULT_VNET(curvnet)) { - INIT_VNET_NET(curvnet); -#endif ifdev_setbyindex(0, make_dev(&net_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "network")); -#ifdef VIMAGE - } -#endif if_clone_init(); } From owner-p4-projects@FreeBSD.ORG Thu Jul 3 09:36:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 791231065685; Thu, 3 Jul 2008 09:36:18 +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 39F13106567A for ; Thu, 3 Jul 2008 09:36:18 +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 217F78FC13 for ; Thu, 3 Jul 2008 09:36:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m639aIQe030285 for ; Thu, 3 Jul 2008 09:36:18 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m639aIee030283 for perforce@freebsd.org; Thu, 3 Jul 2008 09:36:18 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 09:36:18 GMT Message-Id: <200807030936.m639aIee030283@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 144544 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, 03 Jul 2008 09:36:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=144544 Change 144544 by hselasky@hselasky_laptop001 on 2008/07/03 09:36:05 USB ethernet related: - Add check for interface index to all probe functions. - Fix locking in miibus and ioctl callbacks to avoid recursive locking. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_aue2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_aue2_reg.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_axe2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_axe2_reg.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cdce2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cue2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cue2_reg.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_kue2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_kue2_reg.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_rue2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_rue2_reg.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_udav2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/ethernet/if_udav2_reg.h#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_aue2.c#3 (text+ko) ==== @@ -471,8 +471,15 @@ { struct aue_softc *sc = device_get_softc(dev); uint16_t i; + uint8_t do_unlock; - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } /* * The Am79C901 HomePNA PHY actually contains @@ -519,8 +526,9 @@ i = aue_cfg_csr_read_2(sc, AUE_PHY_DATA); done: - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (i); } @@ -529,11 +537,18 @@ { struct aue_softc *sc = device_get_softc(dev); uint16_t i; + uint8_t do_unlock; if (phy == 3) { return (0); } - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } aue_cfg_csr_write_2(sc, AUE_PHY_DATA, data); aue_cfg_csr_write_1(sc, AUE_PHY_ADDR, phy); @@ -554,8 +569,9 @@ } } - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (0); } @@ -564,8 +580,15 @@ { struct aue_softc *sc = device_get_softc(dev); struct mii_data *mii = GET_MII(sc); + uint8_t do_unlock; - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } AUE_CFG_CLRBIT(sc, AUE_CTL0, AUE_CTL0_RX_ENB | AUE_CTL0_TX_ENB); @@ -594,8 +617,9 @@ auxmode = aue_cfg_miibus_readreg(dev, 0, 0x1b); aue_cfg_miibus_writereg(dev, 0, 0x1b, auxmode | 0x04); } - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return; } @@ -705,7 +729,10 @@ if (uaa->usb2_mode != USB_MODE_HOST) { return (ENXIO); } - if (uaa->info.bConfigIndex != 0) { + if (uaa->info.bConfigIndex != AUE_CONFIG_INDEX) { + return (ENXIO); + } + if (uaa->info.bIfaceIndex != AUE_IFACE_IDX) { return (ENXIO); } return (usb2_lookup_id_by_uaa(aue_devs, sizeof(aue_devs), uaa)); @@ -1402,11 +1429,9 @@ struct mii_data *mii; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (command) { case SIOCSIFFLAGS: - + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { usb2_config_td_queue_command @@ -1424,13 +1449,16 @@ &aue_cfg_stop, 0, 0); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCADDMULTI: case SIOCDELMULTI: + mtx_lock(&(sc->sc_mtx)); usb2_config_td_queue_command (&(sc->sc_config_td), &aue_config_copy, &aue_cfg_setmulti, 0, 0); + mtx_unlock(&(sc->sc_mtx)); break; case SIOCGIFMEDIA: @@ -1448,9 +1476,6 @@ error = ether_ioctl(ifp, command, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_aue2_reg.h#3 (text+ko) ==== @@ -49,7 +49,7 @@ #define AUE_UR_READREG 0xF0 #define AUE_UR_WRITEREG 0xF1 -#define AUE_CONFIG_NO 1 +#define AUE_CONFIG_INDEX 0 /* config number 1 */ #define AUE_IFACE_IDX 0 /* ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_axe2.c#3 (text+ko) ==== @@ -325,8 +325,15 @@ { struct axe_softc *sc = device_get_softc(dev); uint16_t val; + uint8_t do_unlock; - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } #if 0 /* @@ -357,8 +364,9 @@ sc->sc_phyaddrs[0] = phy; } done: - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (val); } @@ -366,17 +374,25 @@ axe_cfg_miibus_writereg(device_t dev, int phy, int reg, int val) { struct axe_softc *sc = device_get_softc(dev); + uint8_t do_unlock; val = htole16(val); - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } axe_cfg_cmd(sc, AXE_CMD_MII_OPMODE_SW, 0, 0, NULL); axe_cfg_cmd(sc, AXE_CMD_MII_WRITE_REG, reg, phy, &val); axe_cfg_cmd(sc, AXE_CMD_MII_OPMODE_HW, 0, 0, NULL); - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (0); } @@ -386,8 +402,15 @@ struct axe_softc *sc = device_get_softc(dev); struct mii_data *mii = GET_MII(sc); uint16_t val; + uint8_t do_unlock; - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX) val = AXE_MEDIA_FULL_DUPLEX; @@ -411,8 +434,9 @@ } } axe_cfg_cmd(sc, AXE_CMD_WRITE_MEDIA, 0, val, NULL); - - mtx_unlock(&(sc->sc_mtx)); /* XXX */ + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return; } @@ -467,10 +491,8 @@ struct axe_softc *sc = ifp->if_softc; mtx_lock(&(sc->sc_mtx)); - ifmr->ifm_active = sc->sc_media_active; ifmr->ifm_status = sc->sc_media_status; - mtx_unlock(&(sc->sc_mtx)); return; @@ -550,7 +572,10 @@ if (uaa->usb2_mode != USB_MODE_HOST) { return (ENXIO); } - if (uaa->info.bConfigIndex != 0) { + if (uaa->info.bConfigIndex != AXE_CONFIG_IDX) { + return (ENXIO); + } + if (uaa->info.bIfaceIndex != AXE_IFACE_IDX) { return (ENXIO); } return (usb2_lookup_id_by_uaa(axe_devs, sizeof(axe_devs), uaa)); @@ -1364,11 +1389,9 @@ struct mii_data *mii; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (command) { case SIOCSIFFLAGS: - + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { usb2_config_td_queue_command @@ -1386,13 +1409,16 @@ &axe_cfg_stop, 0, 0); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCADDMULTI: case SIOCDELMULTI: + mtx_lock(&(sc->sc_mtx)); usb2_config_td_queue_command (&(sc->sc_config_td), &axe_config_copy, &axe_cfg_setmulti, 0, 0); + mtx_unlock(&(sc->sc_mtx)); break; case SIOCGIFMEDIA: @@ -1410,9 +1436,6 @@ error = ether_ioctl(ifp, command, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_axe2_reg.h#3 (text+ko) ==== @@ -143,7 +143,7 @@ #define AXE_CTL_READ 0x01 #define AXE_CTL_WRITE 0x02 -#define AXE_CONFIG_NO 1 +#define AXE_CONFIG_IDX 0 /* config number 1 */ #define AXE_IFACE_IDX 0 /* The interrupt endpoint is currently unused by the ASIX part. */ ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cdce2.c#3 (text+ko) ==== @@ -514,11 +514,6 @@ /* start the interrupt transfer, if any */ mtx_lock(&(sc->sc_mtx)); -#ifdef CDCE_DO_BENCHMARK - usb2_transfer_start(sc->sc_xfer[0]); - usb2_transfer_start(sc->sc_xfer[1]); - device_printf(dev, "benchmarking enabled\n"); -#endif usb2_transfer_start(sc->sc_xfer[4]); mtx_unlock(&(sc->sc_mtx)); @@ -953,14 +948,14 @@ cdce_suspend(device_t dev) { device_printf(dev, "Suspending\n"); - return 0; + return (0); } static int cdce_resume(device_t dev) { device_printf(dev, "Resuming\n"); - return 0; + return (0); } static int @@ -969,10 +964,9 @@ struct cdce_softc *sc = ifp->if_softc; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (command) { case SIOCSIFFLAGS: + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { cdce_init_cb(sc); @@ -982,6 +976,7 @@ cdce_stop(sc); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCSIFMEDIA: @@ -994,9 +989,6 @@ error = ether_ioctl(ifp, command, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cue2.c#3 (text+ko) ==== @@ -385,7 +385,10 @@ if (uaa->usb2_mode != USB_MODE_HOST) { return (ENXIO); } - if (uaa->info.bConfigIndex != 0) { + if (uaa->info.bConfigIndex != CUE_CONFIG_IDX) { + return (ENXIO); + } + if (uaa->info.bIfaceIndex != CUE_IFACE_IDX) { return (ENXIO); } return (usb2_lookup_id_by_uaa(cue_devs, sizeof(cue_devs), uaa)); @@ -842,10 +845,9 @@ struct cue_softc *sc = ifp->if_softc; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (command) { case SIOCSIFFLAGS: + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { usb2_config_td_queue_command @@ -863,22 +865,22 @@ &cue_cfg_stop, 0, 0); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCADDMULTI: case SIOCDELMULTI: + mtx_lock(&(sc->sc_mtx)); usb2_config_td_queue_command (&(sc->sc_config_td), &cue_config_copy, &cue_cfg_promisc_upd, 0, 0); + mtx_unlock(&(sc->sc_mtx)); break; default: error = ether_ioctl(ifp, command, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_cue2_reg.h#3 (text+ko) ==== @@ -109,7 +109,7 @@ #define CUE_CTL_READ 0x01 #define CUE_CTL_WRITE 0x02 -#define CUE_CONFIG_NO 1 +#define CUE_CONFIG_IDX 0 /* config number 1 */ #define CUE_IFACE_IDX 0 /* The interrupt endpoint is currently unused by the KLSI part. */ ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_kue2.c#3 (text+ko) ==== @@ -443,10 +443,13 @@ struct usb2_attach_arg *uaa = device_get_ivars(dev); if (uaa->usb2_mode != USB_MODE_HOST) { - return ((ENXIO)); + return (ENXIO); + } + if (uaa->info.bConfigIndex != KUE_CONFIG_IDX) { + return (ENXIO); } - if (uaa->info.bConfigIndex != 0) { - return ((ENXIO)); + if (uaa->info.bIfaceIndex != KUE_IFACE_IDX) { + return (ENXIO); } return (usb2_lookup_id_by_uaa(kue_devs, sizeof(kue_devs), uaa)); } @@ -881,10 +884,9 @@ struct kue_softc *sc = ifp->if_softc; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (command) { case SIOCSIFFLAGS: + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { usb2_config_td_queue_command @@ -902,22 +904,22 @@ &kue_cfg_stop, 0, 0); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCADDMULTI: case SIOCDELMULTI: + mtx_lock(&(sc->sc_mtx)); usb2_config_td_queue_command (&(sc->sc_config_td), &kue_config_copy, &kue_cfg_promisc_upd, 0, 0); + mtx_unlock(&(sc->sc_mtx)); break; default: error = ether_ioctl(ifp, command, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_kue2_reg.h#3 (text+ko) ==== @@ -111,7 +111,7 @@ #define KUE_CTL_READ 0x01 #define KUE_CTL_WRITE 0x02 -#define KUE_CONFIG_NO 1 +#define KUE_CONFIG_IDX 0 /* config number 1 */ #define KUE_IFACE_IDX 0 /* The interrupt endpoint is currently unused by the KLSI part. */ ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_rue2.c#3 (text+ko) ==== @@ -370,11 +370,18 @@ struct rue_softc *sc = device_get_softc(dev); uint16_t rval; uint16_t ruereg; + uint8_t do_unlock; if (phy != 0) { /* RTL8150 supports PHY == 0, only */ return (0); } - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } switch (reg) { case MII_BMCR: @@ -408,8 +415,9 @@ rval = rue_cfg_csr_read_2(sc, ruereg); done: - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (rval); } @@ -418,11 +426,18 @@ { struct rue_softc *sc = device_get_softc(dev); uint16_t ruereg; + uint8_t do_unlock; if (phy != 0) { /* RTL8150 supports PHY == 0, only */ return (0); } - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } switch (reg) { case MII_BMCR: @@ -454,8 +469,9 @@ } rue_cfg_csr_write_2(sc, ruereg, data); done: - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (0); } @@ -476,8 +492,15 @@ struct rue_softc *sc = device_get_softc(dev); struct mii_data *mii = GET_MII(sc); uint16_t bmcr; + uint8_t do_unlock; - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } RUE_CFG_CLRBIT(sc, RUE_CR, (RUE_CR_RE | RUE_CR_TE)); @@ -497,7 +520,9 @@ RUE_CFG_SETBIT(sc, RUE_CR, (RUE_CR_RE | RUE_CR_TE)); - mtx_unlock(&(sc->sc_mtx)); /* XXX */ + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } #endif return; } @@ -599,10 +624,13 @@ struct usb2_attach_arg *uaa = device_get_ivars(dev); if (uaa->usb2_mode != USB_MODE_HOST) { - return ((ENXIO)); + return (ENXIO); + } + if (uaa->info.bConfigIndex != RUE_CONFIG_IDX) { + return (ENXIO); } - if (uaa->info.bConfigIndex != 0) { - return ((ENXIO)); + if (uaa->info.bIfaceIndex != RUE_IFACE_IDX) { + return (ENXIO); } return (usb2_lookup_id_by_uaa(rue_devs, sizeof(rue_devs), uaa)); } @@ -1236,10 +1264,10 @@ struct mii_data *mii; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (command) { case SIOCSIFFLAGS: + + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { usb2_config_td_queue_command @@ -1257,13 +1285,16 @@ &rue_cfg_stop, 0, 0); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCADDMULTI: case SIOCDELMULTI: + mtx_lock(&(sc->sc_mtx)); usb2_config_td_queue_command (&(sc->sc_config_td), &rue_config_copy, &rue_cfg_promisc_upd, 0, 0); + mtx_unlock(&(sc->sc_mtx)); break; case SIOCGIFMEDIA: @@ -1281,9 +1312,6 @@ error = ether_ioctl(ifp, command, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_rue2_reg.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * $FreeBSD: src/sys/dev/usb/if_ruereg.h,v 1.8 2007/07/09 20:56:39 imp Exp $ */ -#define RUE_CONFIG_NO 1 +#define RUE_CONFIG_IDX 0 /* config number 1 */ #define RUE_IFACE_IDX 0 #define RUE_ENDPT_MAX 6 ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_udav2.c#3 (text+ko) ==== @@ -244,10 +244,13 @@ struct usb2_attach_arg *uaa = device_get_ivars(dev); if (uaa->usb2_mode != USB_MODE_HOST) { - return ((ENXIO)); + return (ENXIO); + } + if (uaa->info.bConfigIndex != UDAV_CONFIG_INDEX) { + return (ENXIO); } - if (uaa->info.bConfigIndex != 0) { - return ((ENXIO)); + if (uaa->info.bIfaceIndex != UDAV_IFACE_INDEX) { + return (ENXIO); } return (usb2_lookup_id_by_uaa(udav_devs, sizeof(udav_devs), uaa)); } @@ -1036,10 +1039,9 @@ struct mii_data *mii; int error = 0; - mtx_lock(&(sc->sc_mtx)); - switch (cmd) { case SIOCSIFFLAGS: + mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { usb2_config_td_queue_command @@ -1057,13 +1059,16 @@ &udav_cfg_stop, 0, 0); } } + mtx_unlock(&(sc->sc_mtx)); break; case SIOCADDMULTI: case SIOCDELMULTI: + mtx_lock(&(sc->sc_mtx)); usb2_config_td_queue_command (&(sc->sc_config_td), &udav_config_copy, &udav_cfg_promisc_upd, 0, 0); + mtx_unlock(&(sc->sc_mtx)); break; case SIOCGIFMEDIA: @@ -1081,9 +1086,6 @@ error = ether_ioctl(ifp, cmd, data); break; } - - mtx_unlock(&(sc->sc_mtx)); - return (error); } @@ -1246,14 +1248,21 @@ udav_cfg_miibus_readreg(device_t dev, int phy, int reg) { struct udav_softc *sc = device_get_softc(dev); + uint16_t data16; uint8_t val[2]; - uint16_t data16; + uint8_t do_unlock; /* XXX: one PHY only for the internal PHY */ if (phy != 0) { return (0); } - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } /* select internal PHY and set PHY register address */ udav_cfg_csr_write1(sc, UDAV_EPAR, @@ -1270,8 +1279,9 @@ /* retrieve the result from data registers */ udav_cfg_csr_read(sc, UDAV_EPDRL, val, 2); - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } data16 = (val[0] | (val[1] << 8)); DPRINTF(10, "phy=%d reg=0x%04x => 0x%04x\n", @@ -1285,12 +1295,19 @@ { struct udav_softc *sc = device_get_softc(dev); uint8_t val[2]; + uint8_t do_unlock; /* XXX: one PHY only for the internal PHY */ if (phy != 0) { return (0); } - mtx_lock(&(sc->sc_mtx)); /* XXX */ + /* avoid recursive locking */ + if (mtx_owned(&(sc->sc_mtx))) { + do_unlock = 0; + } else { + mtx_lock(&(sc->sc_mtx)); + do_unlock = 1; + } /* select internal PHY and set PHY register address */ udav_cfg_csr_write1(sc, UDAV_EPAR, @@ -1309,8 +1326,9 @@ /* end write command */ UDAV_CFG_CLRBIT(sc, UDAV_EPCR, UDAV_EPCR_ERPRW); - mtx_unlock(&(sc->sc_mtx)); /* XXX */ - + if (do_unlock) { + mtx_unlock(&(sc->sc_mtx)); + } return (0); } ==== //depot/projects/usb/src/sys/dev/usb2/ethernet/if_udav2_reg.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #define UDAV_IFACE_INDEX 0 -#define UDAV_CONFIG_NO 1 +#define UDAV_CONFIG_INDEX 0 /* config number 1 */ #define UDAV_ENDPT_MAX 6 /* units */ From owner-p4-projects@FreeBSD.ORG Thu Jul 3 09:39:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E6B71106566C; Thu, 3 Jul 2008 09:39: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 A7502106567E for ; Thu, 3 Jul 2008 09:39:21 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 901388FC1C for ; Thu, 3 Jul 2008 09:39:21 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m639dLNo030564 for ; Thu, 3 Jul 2008 09:39:21 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m639dLMS030562 for perforce@freebsd.org; Thu, 3 Jul 2008 09:39:21 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 09:39:21 GMT Message-Id: <200807030939.m639dLMS030562@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144545 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, 03 Jul 2008 09:39:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=144545 Change 144545 by julian@julian_trafmon1 on 2008/07/03 09:38:44 Aint kepping up with -current fun? Affected files ... .. //depot/projects/vimage/src/sys/net80211/ieee80211.c#16 edit .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#17 edit .. //depot/projects/vimage/src/sys/nlm/nlm_advlock.c#2 edit Differences ... ==== //depot/projects/vimage/src/sys/net80211/ieee80211.c#16 (text+ko) ==== @@ -219,7 +219,6 @@ void ieee80211_ifattach(struct ieee80211com *ic) { - INIT_VNET_NET(curvnet); struct ifnet *ifp = ic->ic_ifp; struct sockaddr_dl *sdl; struct ifaddr *ifa; ==== //depot/projects/vimage/src/sys/netinet6/in6_src.c#17 (text+ko) ==== @@ -455,7 +455,6 @@ struct ifnet **retifp, struct rtentry **retrt, int clone, int norouteok) { - INIT_VNET_NET(curvnet); INIT_VNET_INET6(curvnet); int error = 0; struct ifnet *ifp = NULL; ==== //depot/projects/vimage/src/sys/nlm/nlm_advlock.c#2 (text+ko) ==== @@ -25,6 +25,7 @@ * SUCH DAMAGE. */ +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/nlm/nlm_advlock.c,v 1.1 2008/06/26 10:21:54 dfr Exp $"); @@ -42,6 +43,7 @@ #include #include #include +#include #include #include @@ -1218,11 +1220,11 @@ return (EOVERFLOW); } - snprintf(oh_space, 32, "%d@%s", svid, hostname); + snprintf(oh_space, 32, "%d@%s", svid, G_hostname); oh_len = strlen(oh_space); memset(lock, 0, sizeof(*lock)); - lock->caller_name = hostname; + lock->caller_name = G_hostname; lock->fh.n_len = fhlen; lock->fh.n_bytes = fh; lock->oh.n_len = oh_len; From owner-p4-projects@FreeBSD.ORG Thu Jul 3 09:44:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 379C41065672; Thu, 3 Jul 2008 09:44: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 EE0F1106566C for ; Thu, 3 Jul 2008 09:44:26 +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 D6A438FC15 for ; Thu, 3 Jul 2008 09:44:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m639iQUu030982 for ; Thu, 3 Jul 2008 09:44:26 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m639iQ1W030980 for perforce@freebsd.org; Thu, 3 Jul 2008 09:44:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 09:44:26 GMT Message-Id: <200807030944.m639iQ1W030980@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 144546 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, 03 Jul 2008 09:44:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=144546 Change 144546 by hselasky@hselasky_laptop001 on 2008/07/03 09:43:46 USB WLAN module related - add interface index checks in probe function. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#3 (text+ko) ==== @@ -427,6 +427,9 @@ if (uaa->info.bConfigIndex != 0) { return (ENXIO); } + if (uaa->info.bIfaceIndex != RT2573_IFACE_INDEX) { + return (ENXIO); + } return (usb2_lookup_id_by_uaa(rum_devs, sizeof(rum_devs), uaa)); } ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#3 (text+ko) ==== @@ -420,6 +420,9 @@ if (uaa->info.bConfigIndex != 0) { return (ENXIO); } + if (uaa->info.bIfaceIndex != RAL_IFACE_INDEX) { + return (ENXIO); + } return (usb2_lookup_id_by_uaa(ural_devs, sizeof(ural_devs), uaa)); } ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#3 (text+ko) ==== @@ -1036,6 +1036,9 @@ if (uaa->info.bConfigIndex != 0) { return (ENXIO); } + if (uaa->info.bIfaceIndex != ZYD_IFACE_INDEX) { + return (ENXIO); + } return (usb2_lookup_id_by_uaa(zyd_devs, sizeof(zyd_devs), uaa)); } From owner-p4-projects@FreeBSD.ORG Thu Jul 3 13:50:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07FE710656AB; Thu, 3 Jul 2008 13:50: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 A49CD106567D for ; Thu, 3 Jul 2008 13:50:34 +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 8C48C8FC32 for ; Thu, 3 Jul 2008 13:50:34 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63DoYSX065275 for ; Thu, 3 Jul 2008 13:50:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63DoYhq065273 for perforce@freebsd.org; Thu, 3 Jul 2008 13:50:34 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 13:50:34 GMT Message-Id: <200807031350.m63DoYhq065273@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 144550 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, 03 Jul 2008 13:50:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=144550 Change 144550 by hselasky@hselasky_laptop001 on 2008/07/03 13:49:34 More and more USB devices come with autoinstall. Most of the time we just want to ignore these autoinstall disks. This patch implements a small SCSI driver that will look for mass storage devices in the first USB configuration. If it finds a USB CD-ROM USB device and there are more USB configurations, it will skip this configuration. Potentially we could also use this small SCSI driver to automatically test for USB mass storage quirks. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#8 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.h#1 add .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_parse.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_parse.h#2 edit .. //depot/projects/usb/src/sys/modules/usb2/core/Makefile#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#8 (text+ko) ==== @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -1507,23 +1508,36 @@ if (udev->flags.usb2_mode == USB_MODE_HOST) { uint8_t config_index; + uint8_t config_quirk; /* - * most USB devices should attach to config index 0 by + * Most USB devices should attach to config index 0 by * default */ - if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_1)) { + if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_0)) { + config_index = 1; + config_quirk = 1; + } else if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_1)) { config_index = 1; + config_quirk = 1; } else if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_2)) { config_index = 2; + config_quirk = 1; } else if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_3)) { config_index = 3; + config_quirk = 1; } else if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_4)) { config_index = 4; + config_quirk = 1; } else { config_index = 0; + config_quirk = 0; } +repeat_set_config: + + DPRINTF(0, "setting config %u\n", config_index); + /* get the USB device configured */ sx_xlock(udev->default_sx + 1); err = usb2_set_config_index(udev, config_index); @@ -1533,8 +1547,34 @@ "configuration index %u: %s, port %u, addr %u\n", config_index, usb2_errstr(err), udev->port_no, udev->address); + + } else if ((!config_quirk) && + ((config_index + 1) < udev->ddesc.bNumConfigurations)) { + + if ((udev->cdesc->bNumInterface < 2) && + (usb2_get_no_endpoints(udev->cdesc) == 0)) { + DPRINTF(-1, "Found no endpoints " + "(trying next config)!\n"); + config_index++; + goto repeat_set_config; + } + if (config_index == 0) { + /* + * Try to figure out if we have an + * auto-install disk there: + */ + if (usb2_test_autoinstall(udev, 0) == 0) { + DPRINTF(-1, "Found possible auto-install " + "disk (trying next config)\n"); + config_index++; + goto repeat_set_config; + } + } } + } else { + err = 0; /* set success */ } + DPRINTF(0, "new dev (addr %d), udev=%p, parent_hub=%p\n", udev->address, udev, udev->parent_hub); @@ -1542,8 +1582,6 @@ usb2_bus_port_set_device(bus, parent_hub ? parent_hub->hub->ports + port_index : NULL, udev, device_index); - err = 0; /* set success */ - done: if (err) { /* free device */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_parse.c#2 (text+ko) ==== @@ -159,6 +159,25 @@ } /*------------------------------------------------------------------------* + * usb2_get_no_endpoints + * + * This function will count the total number of endpoints available. + *------------------------------------------------------------------------*/ +uint16_t +usb2_get_no_endpoints(struct usb2_config_descriptor *cd) +{ + struct usb2_descriptor *desc = NULL; + uint16_t count = 0; + + while ((desc = usb2_desc_foreach(cd, desc))) { + if (desc->bDescriptorType == UDESC_ENDPOINT) { + count++; + } + } + return (count); +} + +/*------------------------------------------------------------------------* * usb2_get_no_alts * * Return value: ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_parse.h#2 (text+ko) ==== @@ -29,6 +29,7 @@ struct usb2_descriptor *usb2_desc_foreach(struct usb2_config_descriptor *cd, struct usb2_descriptor *desc); struct usb2_interface_descriptor *usb2_find_idesc(struct usb2_config_descriptor *cd, uint8_t iface_index, uint8_t alt_index); struct usb2_endpoint_descriptor *usb2_find_edesc(struct usb2_config_descriptor *cd, uint8_t iface_index, uint8_t alt_index, uint8_t ep_index); +uint16_t usb2_get_no_endpoints(struct usb2_config_descriptor *cd); uint16_t usb2_get_no_alts(struct usb2_config_descriptor *cd, uint8_t ifaceno); #endif /* _USB2_PARSE_H_ */ ==== //depot/projects/usb/src/sys/modules/usb2/core/Makefile#4 (text+ko) ==== @@ -5,6 +5,7 @@ KMOD= usb2_core SRCS= SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h opt_usb.h opt_bus.h +SRCS+= usb2_if.c SRCS+= usb2_busdma.c SRCS+= usb2_compat_linux.c SRCS+= usb2_config_td.c @@ -19,6 +20,7 @@ SRCS+= usb2_hub.c SRCS+= usb2_lookup.c SRCS+= usb2_mbuf.c +SRCS+= usb2_msctest.c SRCS+= usb2_parse.c SRCS+= usb2_process.c SRCS+= usb2_request.c From owner-p4-projects@FreeBSD.ORG Thu Jul 3 19:26:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3A9D106567F; Thu, 3 Jul 2008 19:26: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 A4B34106567B for ; Thu, 3 Jul 2008 19:26: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 9B5BF8FC23 for ; Thu, 3 Jul 2008 19:26:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63JQEJb009867 for ; Thu, 3 Jul 2008 19:26:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63JQERN009865 for perforce@freebsd.org; Thu, 3 Jul 2008 19:26:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 19:26:14 GMT Message-Id: <200807031926.m63JQERN009865@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 144564 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, 03 Jul 2008 19:26:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144564 Change 144564 by hselasky@hselasky_laptop001 on 2008/07/03 19:25:36 New USB storage module is finished. - mostly symbol renaming - some minor changes Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#9 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_ioctl.h#4 edit .. //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.h#3 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/ata-usb2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/umass2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/urio2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/usb2_storage.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/storage/usb2_storage.h#1 add .. //depot/projects/usb/src/sys/dev/usb2/storage/ustorage2_fs.c#2 edit .. //depot/projects/usb/src/sys/modules/usb2/storage/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#9 (text+ko) ==== @@ -1515,7 +1515,7 @@ * default */ if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_0)) { - config_index = 1; + config_index = 0; config_quirk = 1; } else if (usb2_test_quirk(&uaa, UQ_CFG_INDEX_1)) { config_index = 1; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#5 (text+ko) ==== @@ -793,7 +793,7 @@ return (0); } -static int +int ugen_do_request(struct usb2_fifo *f, struct usb2_ctl_request *ur) { int error; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.h#2 (text+ko) ==== @@ -27,5 +27,6 @@ #define _USB2_GENERIC_H_ extern struct usb2_fifo_methods usb2_ugen_methods; +int ugen_do_request(struct usb2_fifo *f, struct usb2_ctl_request *ur); #endif /* _USB2_GENERIC_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/include/usb2_ioctl.h#4 (text+ko) ==== @@ -39,7 +39,7 @@ #define USB_SHORT_XFER_OK 0x0004 /* allow short reads */ #define USB_DELAY_STATUS_STAGE 0x0010 /* insert delay before STATUS stage */ uint16_t ucr_actlen; /* actual length transferred */ - uint8_t ucr_addr; + uint8_t ucr_addr; /* zero - currently not used */ struct usb2_device_request ucr_request; }; ==== //depot/projects/usb/src/sys/dev/usb2/quirk/usb2_quirk.h#3 (text+ko) ==== @@ -73,7 +73,9 @@ /* select configuration index 3 by default */ \ m(n, UQ_CFG_INDEX_3) \ /* select configuration index 4 by default */ \ - m(n, UQ_CFG_INDEX_4) + m(n, UQ_CFG_INDEX_4) \ + /* select configuration index 0 by default */ \ + m(n, UQ_CFG_INDEX_0) USB_MAKE_ENUM(USB_QUIRK); ==== //depot/projects/usb/src/sys/dev/usb2/storage/ata-usb2.c#2 (text) ==== @@ -30,21 +30,26 @@ #include __FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.8 2008/04/10 13:05:05 sos 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 -#include -#include -#include - #include #include @@ -82,7 +87,7 @@ } __packed; /* USB-ATA 'controller' softc */ -struct atausb_softc { +struct atausb2_softc { struct bbb_cbw cbw; struct bbb_csw csw; struct mtx locked_mtx; @@ -104,7 +109,7 @@ #define ATAUSB_T_MAX ATAUSB_T_BBB_MAX - struct usbd_xfer *xfer[ATAUSB_T_MAX]; + struct usb2_xfer *xfer[ATAUSB_T_MAX]; caddr_t ata_data; device_t dev; @@ -113,7 +118,7 @@ uint32_t ata_bytecount; uint8_t last_xfer_no; - uint8_t usb_speed; + uint8_t usb2_speed; uint8_t intr_stalled; uint8_t maxlun; uint8_t iface_no; @@ -124,24 +129,24 @@ /* prototypes */ -static device_probe_t atausb_probe; -static device_attach_t atausb_attach; -static device_detach_t atausb_detach; +static device_probe_t atausb2_probe; +static device_attach_t atausb2_attach; +static device_detach_t atausb2_detach; -static usbd_callback_t atausb_t_bbb_reset1_callback; -static usbd_callback_t atausb_t_bbb_reset2_callback; -static usbd_callback_t atausb_t_bbb_reset3_callback; -static usbd_callback_t atausb_t_bbb_command_callback; -static usbd_callback_t atausb_t_bbb_data_read_callback; -static usbd_callback_t atausb_t_bbb_data_rd_cs_callback; -static usbd_callback_t atausb_t_bbb_data_write_callback; -static usbd_callback_t atausb_t_bbb_data_wr_cs_callback; -static usbd_callback_t atausb_t_bbb_status_callback; -static usbd_callback_t atausb_tr_error; +static usb2_callback_t atausb2_t_bbb_reset1_callback; +static usb2_callback_t atausb2_t_bbb_reset2_callback; +static usb2_callback_t atausb2_t_bbb_reset3_callback; +static usb2_callback_t atausb2_t_bbb_command_callback; +static usb2_callback_t atausb2_t_bbb_data_read_callback; +static usb2_callback_t atausb2_t_bbb_data_rd_cs_callback; +static usb2_callback_t atausb2_t_bbb_data_write_callback; +static usb2_callback_t atausb2_t_bbb_data_wr_cs_callback; +static usb2_callback_t atausb2_t_bbb_status_callback; +static usb2_callback_t atausb2_tr_error; -static void atausb_cancel_request(struct atausb_softc *sc); -static void atausb_transfer_start(struct atausb_softc *sc, uint8_t xfer_no); -static void atausb_t_bbb_data_clear_stall_callback(struct usbd_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); +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 usb2_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); static int ata_usbchannel_begin_transaction(struct ata_request *request); static int ata_usbchannel_end_transaction(struct ata_request *request); @@ -156,15 +161,15 @@ * USB frontend part */ -struct usbd_config atausb_config[ATAUSB_T_BBB_MAX] = { +struct usb2_config atausb2_config[ATAUSB_T_BBB_MAX] = { [ATAUSB_T_BBB_RESET1] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, - .mh.callback = &atausb_t_bbb_reset1_callback, + .mh.callback = &atausb2_t_bbb_reset1_callback, .mh.timeout = 5000, /* 5 seconds */ .mh.interval = 500, /* 500 milliseconds */ }, @@ -173,9 +178,9 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, - .mh.callback = &atausb_t_bbb_reset2_callback, + .mh.callback = &atausb2_t_bbb_reset2_callback, .mh.timeout = 5000, /* 5 seconds */ .mh.interval = 50, /* 50 milliseconds */ }, @@ -184,9 +189,9 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, - .mh.callback = &atausb_t_bbb_reset3_callback, + .mh.callback = &atausb2_t_bbb_reset3_callback, .mh.timeout = 5000, /* 5 seconds */ .mh.interval = 50, /* 50 milliseconds */ }, @@ -197,7 +202,7 @@ .direction = UE_DIR_OUT, .mh.bufsize = sizeof(struct bbb_cbw), .mh.flags = {}, - .mh.callback = &atausb_t_bbb_command_callback, + .mh.callback = &atausb2_t_bbb_command_callback, .mh.timeout = 5000, /* 5 seconds */ }, @@ -207,7 +212,7 @@ .direction = UE_DIR_IN, .mh.bufsize = ATAUSB_BULK_SIZE, .mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .mh.callback = &atausb_t_bbb_data_read_callback, + .mh.callback = &atausb2_t_bbb_data_read_callback, .mh.timeout = 0, /* overwritten later */ }, @@ -215,9 +220,9 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, - .mh.callback = &atausb_t_bbb_data_rd_cs_callback, + .mh.callback = &atausb2_t_bbb_data_rd_cs_callback, .mh.timeout = 5000, /* 5 seconds */ }, @@ -227,7 +232,7 @@ .direction = UE_DIR_OUT, .mh.bufsize = ATAUSB_BULK_SIZE, .mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .mh.callback = &atausb_t_bbb_data_write_callback, + .mh.callback = &atausb2_t_bbb_data_write_callback, .mh.timeout = 0, /* overwritten later */ }, @@ -235,9 +240,9 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, - .mh.callback = &atausb_t_bbb_data_wr_cs_callback, + .mh.callback = &atausb2_t_bbb_data_wr_cs_callback, .mh.timeout = 5000, /* 5 seconds */ }, @@ -247,45 +252,42 @@ .direction = UE_DIR_IN, .mh.bufsize = sizeof(struct bbb_csw), .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &atausb_t_bbb_status_callback, + .mh.callback = &atausb2_t_bbb_status_callback, .mh.timeout = 5000, /* ms */ }, }; -static devclass_t atausb_devclass; +static devclass_t atausb2_devclass; -static device_method_t atausb_methods[] = { - DEVMETHOD(device_probe, atausb_probe), - DEVMETHOD(device_attach, atausb_attach), - DEVMETHOD(device_detach, atausb_detach), +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 atausb_driver = { +static driver_t atausb2_driver = { .name = "atausb", - .methods = atausb_methods, - .size = sizeof(struct atausb_softc), + .methods = atausb2_methods, + .size = sizeof(struct atausb2_softc), }; -DRIVER_MODULE(atausb, uhub, atausb_driver, atausb_devclass, 0, 0); -MODULE_DEPEND(atausb, usb, 1, 1, 1); +DRIVER_MODULE(atausb, ushub, atausb2_driver, atausb2_devclass, 0, 0); +MODULE_DEPEND(atausb, usb2_core, 1, 1, 1); MODULE_VERSION(atausb, 1); static int -atausb_probe(device_t dev) +atausb2_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct usb2_attach_arg *uaa = device_get_ivars(dev); + struct usb2_interface_descriptor *id; - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface == NULL) { - return (UMATCH_NONE); - } - id = usbd_get_interface_descriptor(uaa->iface); + id = usb2_get_interface_descriptor(uaa->iface); if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { - return (UMATCH_NONE); + return (ENXIO); } switch (id->bInterfaceSubClass) { case UISUBCLASS_QIC157: @@ -299,24 +301,24 @@ case UIPROTO_MASS_CBI_I: case UIPROTO_MASS_BBB: case UIPROTO_MASS_BBB_OLD: - return (UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO); + return (0); default: - return (UMATCH_IFACECLASS_IFACESUBCLASS); + return (0); } break; default: - return (UMATCH_IFACECLASS); + return (0); } } static int -atausb_attach(device_t dev) +atausb2_attach(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; + struct atausb2_softc *sc = device_get_softc(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); + struct usb2_interface_descriptor *id; const char *proto, *subclass; - usb_device_request_t request; + struct usb2_device_request request; uint16_t i; uint8_t maxlun; uint8_t has_intr; @@ -325,16 +327,16 @@ if (sc == NULL) { return (ENOMEM); } - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); sc->dev = dev; sc->maxlun = 0; sc->locked_ch = NULL; sc->restart_ch = NULL; - sc->usb_speed = usbd_get_speed(uaa->device); + sc->usb2_speed = usb2_get_speed(uaa->device); mtx_init(&(sc->locked_mtx), "ATAUSB lock", NULL, (MTX_DEF | MTX_RECURSE)); - id = usbd_get_interface_descriptor(uaa->iface); + id = usb2_get_interface_descriptor(uaa->iface); switch (id->bInterfaceProtocol) { case UIPROTO_MASS_BBB: case UIPROTO_MASS_BBB_OLD: @@ -377,15 +379,16 @@ (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { goto detach; } - err = usbd_transfer_setup(uaa->device, &(uaa->iface_index), sc->xfer, - atausb_config, ATAUSB_T_BBB_MAX, sc, &(sc->locked_mtx)); + err = usb2_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)); + "transfers, %s\n", usb2_errstr(err)); goto detach; } /* get number of devices so we can add matching channels */ @@ -394,12 +397,12 @@ USETW(request.wValue, 0); USETW(request.wIndex, sc->iface_no); USETW(request.wLength, sizeof(maxlun)); - err = usbd_do_request(uaa->device, &usb_global_lock, &request, &maxlun); + err = usb2_do_request(uaa->device, &Giant, &request, &maxlun); if (err) { if (bootverbose) { device_printf(sc->dev, "get maxlun not supported %s\n", - usbd_errstr(err)); + usb2_errstr(err)); } } else { sc->maxlun = maxlun; @@ -421,20 +424,20 @@ return (0); detach: - atausb_detach(dev); + atausb2_detach(dev); return (ENXIO); } static int -atausb_detach(device_t dev) +atausb2_detach(device_t dev) { - struct atausb_softc *sc = device_get_softc(dev); + struct atausb2_softc *sc = device_get_softc(dev); device_t *children; int nchildren, i; /* teardown our statemachine */ - usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); + usb2_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); /* detach & delete all children, if any */ @@ -449,32 +452,32 @@ } static void -atausb_transfer_start(struct atausb_softc *sc, uint8_t xfer_no) +atausb2_transfer_start(struct atausb2_softc *sc, uint8_t xfer_no) { if (atausbdebug) { device_printf(sc->dev, "BBB transfer %d\n", xfer_no); } if (sc->xfer[xfer_no]) { sc->last_xfer_no = xfer_no; - usbd_transfer_start(sc->xfer[xfer_no]); + usb2_transfer_start(sc->xfer[xfer_no]); } else { - atausb_cancel_request(sc); + atausb2_cancel_request(sc); } return; } static void -atausb_t_bbb_reset1_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_reset1_callback(struct usb2_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; - usb_device_request_t req; + struct atausb2_softc *sc = xfer->priv_sc; + struct usb2_device_request req; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - atausb_transfer_start(sc, ATAUSB_T_BBB_RESET2); + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + atausb2_transfer_start(sc, ATAUSB_T_BBB_RESET2); return; - case USBD_ST_SETUP: + case USB_ST_SETUP: req.bmRequestType = UT_WRITE_CLASS_INTERFACE; req.bRequest = 0xff; /* bulk-only reset */ USETW(req.wValue, 0); @@ -482,79 +485,79 @@ req.wIndex[1] = 0; USETW(req.wLength, 0); - usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); xfer->frlengths[0] = sizeof(req); xfer->nframes = 1; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - atausb_tr_error(xfer); + atausb2_tr_error(xfer); return; } } static void -atausb_t_bbb_reset2_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_reset2_callback(struct usb2_xfer *xfer) { - atausb_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_RESET3, + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_RESET3, ATAUSB_T_BBB_DATA_READ); return; } static void -atausb_t_bbb_reset3_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_reset3_callback(struct usb2_xfer *xfer) { - atausb_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_COMMAND, + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_COMMAND, ATAUSB_T_BBB_DATA_WRITE); return; } static void -atausb_t_bbb_data_clear_stall_callback(struct usbd_xfer *xfer, +atausb2_t_bbb_data_clear_stall_callback(struct usb2_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer) { - struct atausb_softc *sc = xfer->priv_sc; + struct atausb2_softc *sc = xfer->priv_sc; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: tr_transferred: - atausb_transfer_start(sc, next_xfer); + atausb2_transfer_start(sc, next_xfer); return; - case USBD_ST_SETUP: - if (usbd_clear_stall_callback(xfer, sc->xfer[stall_xfer])) { + case USB_ST_SETUP: + if (usb2_clear_stall_callback(xfer, sc->xfer[stall_xfer])) { goto tr_transferred; } return; default: /* Error */ - atausb_tr_error(xfer); + atausb2_tr_error(xfer); return; } } static void -atausb_t_bbb_command_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_command_callback(struct usb2_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; + struct atausb2_softc *sc = xfer->priv_sc; struct ata_request *request = sc->ata_request; struct ata_channel *ch; uint32_t tag; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - atausb_transfer_start + 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; - case USBD_ST_SETUP: + case USB_ST_SETUP: sc->status_try = 0; @@ -574,30 +577,30 @@ bzero(sc->cbw.cdb, 16); bcopy(request->u.atapi.ccb, sc->cbw.cdb, 12); /* XXX SOS */ - usbd_copy_in(xfer->frbuffers, 0, &(sc->cbw), sizeof(sc->cbw)); + usb2_copy_in(xfer->frbuffers, 0, &(sc->cbw), sizeof(sc->cbw)); xfer->frlengths[0] = sizeof(sc->cbw); - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } return; default: /* Error */ - atausb_tr_error(xfer); + atausb2_tr_error(xfer); return; } } static void -atausb_t_bbb_data_read_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_data_read_callback(struct usb2_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; + struct atausb2_softc *sc = xfer->priv_sc; uint32_t max_bulk = xfer->max_data_length; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: - usbd_copy_out(xfer->frbuffers, 0, + usb2_copy_out(xfer->frbuffers, 0, sc->ata_data, xfer->actlen); sc->ata_bytecount -= xfer->actlen; @@ -608,14 +611,14 @@ /* short transfer */ sc->ata_bytecount = 0; } - case USBD_ST_SETUP: + 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) { - atausb_transfer_start(sc, ATAUSB_T_BBB_STATUS); + atausb2_transfer_start(sc, ATAUSB_T_BBB_STATUS); return; } if (max_bulk > sc->ata_bytecount) { @@ -624,14 +627,14 @@ xfer->timeout = sc->timeout; xfer->frlengths[0] = max_bulk; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { - atausb_tr_error(xfer); + if (xfer->error == USB_ERR_CANCELLED) { + atausb2_tr_error(xfer); } else { - atausb_transfer_start(sc, ATAUSB_T_BBB_DATA_RD_CS); + atausb2_transfer_start(sc, ATAUSB_T_BBB_DATA_RD_CS); } return; @@ -639,34 +642,34 @@ } static void -atausb_t_bbb_data_rd_cs_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_data_rd_cs_callback(struct usb2_xfer *xfer) { - atausb_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_STATUS, + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_STATUS, ATAUSB_T_BBB_DATA_READ); return; } static void -atausb_t_bbb_data_write_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_data_write_callback(struct usb2_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; + struct atausb2_softc *sc = xfer->priv_sc; uint32_t max_bulk = xfer->max_data_length; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: sc->ata_bytecount -= xfer->actlen; sc->ata_data += xfer->actlen; sc->ata_donecount += xfer->actlen; - case USBD_ST_SETUP: + 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) { - atausb_transfer_start(sc, ATAUSB_T_BBB_STATUS); + atausb2_transfer_start(sc, ATAUSB_T_BBB_STATUS); return; } if (max_bulk > sc->ata_bytecount) { @@ -675,17 +678,17 @@ xfer->timeout = sc->timeout; xfer->frlengths[0] = max_bulk; - usbd_copy_in(xfer->frbuffers, 0, + usb2_copy_in(xfer->frbuffers, 0, sc->ata_data, max_bulk); - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error == USBD_ERR_CANCELLED) { - atausb_tr_error(xfer); + if (xfer->error == USB_ERR_CANCELLED) { + atausb2_tr_error(xfer); } else { - atausb_transfer_start(sc, ATAUSB_T_BBB_DATA_WR_CS); + atausb2_transfer_start(sc, ATAUSB_T_BBB_DATA_WR_CS); } return; @@ -693,27 +696,27 @@ } static void -atausb_t_bbb_data_wr_cs_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_data_wr_cs_callback(struct usb2_xfer *xfer) { - atausb_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_STATUS, + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_STATUS, ATAUSB_T_BBB_DATA_WRITE); return; } static void -atausb_t_bbb_status_callback(struct usbd_xfer *xfer) +atausb2_t_bbb_status_callback(struct usb2_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; + struct atausb2_softc *sc = xfer->priv_sc; struct ata_request *request = sc->ata_request; uint32_t residue; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: if (xfer->actlen < sizeof(sc->csw)) { bzero(&(sc->csw), sizeof(sc->csw)); } - usbd_copy_out(xfer->frbuffers, 0, &(sc->csw), xfer->actlen); + usb2_copy_out(xfer->frbuffers, 0, &(sc->csw), xfer->actlen); if (request->flags & (ATA_R_READ | ATA_R_WRITE)) { request->donecount = sc->ata_donecount; @@ -778,19 +781,19 @@ mtx_lock(xfer->priv_mtx); return; - case USBD_ST_SETUP: + case USB_ST_SETUP: xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: tr_error: - if ((xfer->error == USBD_ERR_CANCELLED) || + if ((xfer->error == USB_ERR_CANCELLED) || (sc->status_try)) { - atausb_tr_error(xfer); + atausb2_tr_error(xfer); } else { sc->status_try = 1; - atausb_transfer_start(sc, ATAUSB_T_BBB_DATA_RD_CS); + atausb2_transfer_start(sc, ATAUSB_T_BBB_DATA_RD_CS); } return; @@ -798,7 +801,7 @@ } static void -atausb_cancel_request(struct atausb_softc *sc) +atausb2_cancel_request(struct atausb2_softc *sc) { struct ata_request *request; @@ -821,19 +824,19 @@ } static void -atausb_tr_error(struct usbd_xfer *xfer) +atausb2_tr_error(struct usb2_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; + struct atausb2_softc *sc = xfer->priv_sc; - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { if (atausbdebug) { device_printf(sc->dev, "transfer failed, %s, in state %d " - "-> BULK reset\n", usbd_errstr(xfer->error), + "-> BULK reset\n", usb2_errstr(xfer->error), sc->last_xfer_no); } } - atausb_cancel_request(sc); + atausb2_cancel_request(sc); return; } @@ -858,7 +861,7 @@ static int ata_usbchannel_begin_transaction(struct ata_request *request) { - struct atausb_softc *sc = + struct atausb2_softc *sc = device_get_softc(device_get_parent(request->parent)); int error; @@ -906,7 +909,7 @@ sc->ata_data = request->data; sc->ata_donecount = 0; - usbd_transfer_start(sc->xfer[sc->last_xfer_no]); + usb2_transfer_start(sc->xfer[sc->last_xfer_no]); error = ATA_OP_CONTINUES; } else { request->result = EIO; @@ -1034,10 +1037,10 @@ static void ata_usbchannel_setmode(device_t parent, device_t dev) { - struct atausb_softc *sc = device_get_softc(GRANDPARENT(dev)); + struct atausb2_softc *sc = device_get_softc(GRANDPARENT(dev)); struct ata_device *atadev = device_get_softc(dev); - if (sc->usb_speed == USB_SPEED_HIGH) + if (sc->usb2_speed == USB_SPEED_HIGH) atadev->mode = ATA_USB2; else atadev->mode = ATA_USB1; @@ -1047,7 +1050,7 @@ static int ata_usbchannel_locking(device_t dev, int flags) { - struct atausb_softc *sc = device_get_softc(device_get_parent(dev)); + struct atausb2_softc *sc = device_get_softc(device_get_parent(dev)); struct ata_channel *ch = device_get_softc(dev); int res = -1; ==== //depot/projects/usb/src/sys/dev/usb2/storage/umass2.c#2 (text+ko) ==== @@ -102,17 +102,20 @@ * umass_cam_cb again to complete the CAM command. */ -#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 @@ -157,8 +160,8 @@ #define UDMASS_ALL 0xffff0000 /* all of the above */ static int umass_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, umass, CTLFLAG_RW, 0, "USB umass"); -SYSCTL_INT(_hw_usb_umass, OID_AUTO, debug, CTLFLAG_RW, +SYSCTL_NODE(_hw_usb2, OID_AUTO, umass, CTLFLAG_RW, 0, "USB umass"); +SYSCTL_INT(_hw_usb2_umass, OID_AUTO, debug, CTLFLAG_RW, &umass_debug, 0, "umass debug level"); #else #define DIF(...) do { } while (0) @@ -927,9 +930,9 @@ umass_cbi_sbl_t sbl; /* status block */ device_t sc_dev; - struct usbd_device *sc_udev; + struct usb2_device *sc_udev; struct cam_sim *sc_sim; /* SCSI Interface Module */ - struct usbd_xfer *sc_xfer[UMASS_T_MAX]; + struct usb2_xfer *sc_xfer[UMASS_T_MAX]; /* * The command transform function is used to convert the SCSI @@ -962,35 +965,35 @@ static device_attach_t umass_attach; static device_detach_t umass_detach; -static usbd_callback_t umass_tr_error; -static usbd_callback_t umass_t_bbb_reset1_callback; -static usbd_callback_t umass_t_bbb_reset2_callback; -static usbd_callback_t umass_t_bbb_reset3_callback; -static usbd_callback_t umass_t_bbb_command_callback; -static usbd_callback_t umass_t_bbb_data_read_callback; -static usbd_callback_t umass_t_bbb_data_rd_cs_callback; -static usbd_callback_t umass_t_bbb_data_write_callback; -static usbd_callback_t umass_t_bbb_data_wr_cs_callback; -static usbd_callback_t umass_t_bbb_status_callback; -static usbd_callback_t umass_t_cbi_reset1_callback; -static usbd_callback_t umass_t_cbi_reset2_callback; -static usbd_callback_t umass_t_cbi_reset3_callback; -static usbd_callback_t umass_t_cbi_reset4_callback; -static usbd_callback_t umass_t_cbi_command_callback; -static usbd_callback_t umass_t_cbi_data_read_callback; -static usbd_callback_t umass_t_cbi_data_rd_cs_callback; -static usbd_callback_t umass_t_cbi_data_write_callback; -static usbd_callback_t umass_t_cbi_data_wr_cs_callback; -static usbd_callback_t umass_t_cbi_status_callback; +static usb2_callback_t umass_tr_error; +static usb2_callback_t umass_t_bbb_reset1_callback; +static usb2_callback_t umass_t_bbb_reset2_callback; +static usb2_callback_t umass_t_bbb_reset3_callback; +static usb2_callback_t umass_t_bbb_command_callback; +static usb2_callback_t umass_t_bbb_data_read_callback; +static usb2_callback_t umass_t_bbb_data_rd_cs_callback; +static usb2_callback_t umass_t_bbb_data_write_callback; +static usb2_callback_t umass_t_bbb_data_wr_cs_callback; +static usb2_callback_t umass_t_bbb_status_callback; +static usb2_callback_t umass_t_cbi_reset1_callback; +static usb2_callback_t umass_t_cbi_reset2_callback; +static usb2_callback_t umass_t_cbi_reset3_callback; +static usb2_callback_t umass_t_cbi_reset4_callback; +static usb2_callback_t umass_t_cbi_command_callback; +static usb2_callback_t umass_t_cbi_data_read_callback; +static usb2_callback_t umass_t_cbi_data_rd_cs_callback; +static usb2_callback_t umass_t_cbi_data_write_callback; +static usb2_callback_t umass_t_cbi_data_wr_cs_callback; +static usb2_callback_t umass_t_cbi_status_callback; static void umass_cancel_ccb(struct umass_softc *sc); static void umass_init_shuttle(struct umass_softc *sc); static void umass_reset(struct umass_softc *sc); -static void umass_t_bbb_data_clear_stall_callback(struct usbd_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); +static void umass_t_bbb_data_clear_stall_callback(struct usb2_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); static void umass_command_start(struct umass_softc *sc, uint8_t dir, void *data_ptr, uint32_t data_len, uint32_t data_timeout, umass_callback_t *callback, union ccb *ccb); static uint8_t umass_bbb_get_max_lun(struct umass_softc *sc); static void umass_cbi_start_status(struct umass_softc *sc); -static void umass_t_cbi_data_clear_stall_callback(struct usbd_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); +static void umass_t_cbi_data_clear_stall_callback(struct usb2_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); static int umass_cam_attach_sim(struct umass_softc *sc); static void umass_cam_rescan_callback(struct cam_periph *periph, union ccb *ccb); static void umass_cam_rescan(struct umass_softc *sc); @@ -1017,13 +1020,13 @@ #endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 3 19:53:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AFC881065674; Thu, 3 Jul 2008 19:53: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 718F01065672 for ; Thu, 3 Jul 2008 19:53:42 +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 6A77C8FC21 for ; Thu, 3 Jul 2008 19:53:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63JrgM2012086 for ; Thu, 3 Jul 2008 19:53:42 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63Jrgen012084 for perforce@freebsd.org; Thu, 3 Jul 2008 19:53:42 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 19:53:42 GMT Message-Id: <200807031953.m63Jrgen012084@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 144566 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, 03 Jul 2008 19:53:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=144566 Change 144566 by hselasky@hselasky_laptop001 on 2008/07/03 19:52:56 Style changes by "usb_style.sh". Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/storage/ata-usb2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/urio2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/usb2_storage.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/storage/ustorage2_fs.c#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/storage/ata-usb2.c#3 (text) ==== @@ -379,8 +379,8 @@ (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { goto detach; } - err = usb2_transfer_setup(uaa->device, &(uaa->info.bIfaceIndex), - sc->xfer, atausb2_config, ATAUSB_T_BBB_MAX, sc, + err = usb2_transfer_setup(uaa->device, &(uaa->info.bIfaceIndex), + sc->xfer, atausb2_config, ATAUSB_T_BBB_MAX, sc, &(sc->locked_mtx)); /* skip reset first time */ ==== //depot/projects/usb/src/sys/dev/usb2/storage/urio2.c#3 (text+ko) ==== @@ -238,7 +238,7 @@ error = usb2_fifo_attach(uaa->device, sc, &(sc->sc_mtx), &urio_fifo_methods, &(sc->sc_fifo), - device_get_unit(dev), 0 - 1, uaa->info.bIfaceIndex); + device_get_unit(dev), 0 - 1, uaa->info.bIfaceIndex); if (error) { goto detach; } ==== //depot/projects/usb/src/sys/dev/usb2/storage/usb2_storage.h#2 (text+ko) ==== @@ -24,6 +24,6 @@ */ #ifndef _USB2_STORAGE_H_ -#define _USB2_STORAGE_H_ +#define _USB2_STORAGE_H_ -#endif /* _USB2_STORAGE_H_ */ +#endif /* _USB2_STORAGE_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/storage/ustorage2_fs.c#3 (text+ko) ==== @@ -328,12 +328,15 @@ if (sc->sc_unit == 0) { if (ustorage_fs_ramdisk == NULL) { - /* allocate a memory image for our ramdisk until further */ - ustorage_fs_ramdisk = - malloc(USTORAGE_FS_RAM_SECT << 9, M_USB, M_ZERO | M_WAITOK); - if (ustorage_fs_ramdisk == NULL) { - return (ENOMEM); - } + /* + * allocate a memory image for our ramdisk until + * further + */ + ustorage_fs_ramdisk = + malloc(USTORAGE_FS_RAM_SECT << 9, M_USB, M_ZERO | M_WAITOK); + if (ustorage_fs_ramdisk == NULL) { + return (ENOMEM); + } } sc->sc_lun[0].memory_image = ustorage_fs_ramdisk; sc->sc_lun[0].num_sectors = USTORAGE_FS_RAM_SECT; From owner-p4-projects@FreeBSD.ORG Thu Jul 3 20:14:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6DC8C1065682; Thu, 3 Jul 2008 20:14: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 F20F61065680 for ; Thu, 3 Jul 2008 20:14:02 +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 E9EA38FC14 for ; Thu, 3 Jul 2008 20:14:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63KE22q014761 for ; Thu, 3 Jul 2008 20:14:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63KE2OV014759 for perforce@freebsd.org; Thu, 3 Jul 2008 20:14:02 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 20:14:02 GMT Message-Id: <200807032014.m63KE2OV014759@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 144567 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, 03 Jul 2008 20:14:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144567 Change 144567 by hselasky@hselasky_laptop001 on 2008/07/03 20:13:05 Finished new USB image module. - mostly symbol renaming Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/image/usb2_image.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/image/usb2_image.h#1 add .. //depot/projects/usb/src/sys/dev/usb2/image/uscanner2.c#2 edit .. //depot/projects/usb/src/sys/modules/usb2/image/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/image/uscanner2.c#2 (text+ko) ==== @@ -45,41 +45,36 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include -#include -#include -#include +#include +#include +#include +#include -#include -#include -#include +#define USB_DEBUG_VAR uscanner_debug -#include "usbdevs.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -/* - * uscanner debugging statements. - */ #ifdef USB_DEBUG static int uscanner_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, uscanner, CTLFLAG_RW, 0, "USB uscanner"); -SYSCTL_INT(_hw_usb_uscanner, OID_AUTO, uscanner, CTLFLAG_RW, &uscanner_debug, +SYSCTL_NODE(_hw_usb2, OID_AUTO, uscanner, CTLFLAG_RW, 0, "USB uscanner"); +SYSCTL_INT(_hw_usb2_uscanner, OID_AUTO, uscanner, CTLFLAG_RW, &uscanner_debug, 0, "uscanner debug level"); - -#define DPRINTF(n, fmt, ...) do { \ - if (uscanner_debug > (n)) { \ - printf("%s: " fmt, __FUNCTION__ \ - ,## __VA_ARGS__); \ - } \ - } while (0) -#else -#define DPRINTF(...) #endif /* * uscanner transfers macros definition. */ -#define USCANNER_BSIZE (1 << 16) +#define USCANNER_BSIZE (1 << 15) #define USCANNER_IFQ_MAXLEN 2 #define USCANNER_N_TRANSFER 4 @@ -94,19 +89,11 @@ */ #define USCANNER_FLAG_KEEP_OPEN 0x04 - /* - * uscanner driver specific structures. - */ -struct uscanner_info { - struct usb_devno devno; - uint8_t flags; -}; - struct uscanner_softc { - struct usb_cdev sc_cdev; + struct usb2_fifo_sc sc_fifo; struct mtx sc_mtx; - struct usbd_xfer *sc_xfer[USCANNER_N_TRANSFER]; + struct usb2_xfer *sc_xfer[USCANNER_N_TRANSFER]; uint8_t sc_flags; /* Used to prevent stalls */ }; @@ -121,33 +108,42 @@ /* * Prototypes for xfer transfer callbacks. */ -static usbd_callback_t uscanner_read_callback; -static usbd_callback_t uscanner_read_clear_stall_callback; -static usbd_callback_t uscanner_write_callback; -static usbd_callback_t uscanner_write_clear_stall_callback; +static usb2_callback_t uscanner_read_callback; +static usb2_callback_t uscanner_read_clear_stall_callback; +static usb2_callback_t uscanner_write_callback; +static usb2_callback_t uscanner_write_clear_stall_callback; /* * Prototypes for the character device handling routines. */ -static int32_t -uscanner_open(struct usb_cdev *cdev, int32_t fflags, - int32_t devtype, struct thread *td); -static void uscanner_start_read(struct usb_cdev *cdev); -static void uscanner_start_write(struct usb_cdev *cdev); -static void uscanner_stop_read(struct usb_cdev *cdev); -static void uscanner_stop_write(struct usb_cdev *cdev); +static usb2_fifo_close_t uscanner_close; +static usb2_fifo_cmd_t uscanner_start_read; +static usb2_fifo_cmd_t uscanner_start_write; +static usb2_fifo_cmd_t uscanner_stop_read; +static usb2_fifo_cmd_t uscanner_stop_write; +static usb2_fifo_open_t uscanner_open; + +static struct usb2_fifo_methods uscanner_fifo_methods = { + .f_close = &uscanner_close, + .f_open = &uscanner_open, + .f_start_read = &uscanner_start_read, + .f_start_write = &uscanner_start_write, + .f_stop_read = &uscanner_stop_read, + .f_stop_write = &uscanner_stop_write, + .basename[0] = "uscanner", +}; /* * xfer transfers array. Resolve-stalling callbacks are marked as control * transfers. */ -static const struct usbd_config uscanner_config[USCANNER_N_TRANSFER] = { +static const struct usb2_config uscanner_config[USCANNER_N_TRANSFER] = { [0] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, .mh.bufsize = USCANNER_BSIZE, - .mh.flags = {.pipe_bof = 1,.proxy_buffer = 1,.force_short_xfer = 1,}, + .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,.proxy_buffer = 1,.force_short_xfer = 1,}, .mh.callback = &uscanner_write_callback, }, @@ -164,7 +160,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &uscanner_write_clear_stall_callback, .mh.timeout = 1000, @@ -175,7 +171,7 @@ .type = UE_CONTROL, .endpoint = 0x00, .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &uscanner_read_clear_stall_callback, .mh.timeout = 1000, @@ -198,190 +194,166 @@ .size = sizeof(struct uscanner_softc), }; -DRIVER_MODULE(uscanner, uhub, uscanner_driver, uscanner_devclass, usbd_driver_load, 0); -MODULE_DEPEND(uscanner, usb, 1, 1, 1); +DRIVER_MODULE(uscanner, ushub, uscanner_driver, uscanner_devclass, NULL, 0); +MODULE_DEPEND(uscanner, usb2_core, 1, 1, 1); /* - * USB scanners probing array. It determines flags too. + * USB scanners device IDs */ -static const struct uscanner_info uscanner_devs[] = { +static const struct usb2_device_id uscanner_devs[] = { /* Acer */ - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_320U}, 0}, - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_640U}, 0}, - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_640BT}, 0}, - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_620U}, 0}, - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_1240U}, 0}, - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_C310U}, 0}, - {{USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_4300U}, 0}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_320U, 0)}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_640U, 0)}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_640BT, 0)}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_620U, 0)}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_1240U, 0)}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_C310U, 0)}, + {USB_VPI(USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_4300U, 0)}, /* AGFA */ - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1236U}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U2}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANTOUCH}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE40}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE50}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE20}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE25}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE26}, 0}, - {{USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE52}, 0}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1236U, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U2, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANTOUCH, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE40, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE50, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE20, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE25, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE26, 0)}, + {USB_VPI(USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE52, 0)}, /* Avision */ - {{USB_VENDOR_AVISION, USB_PRODUCT_AVISION_1200U}, 0}, + {USB_VPI(USB_VENDOR_AVISION, USB_PRODUCT_AVISION_1200U, 0)}, /* Canon */ - {{USB_VENDOR_CANON, USB_PRODUCT_CANON_N656U}, 0}, - {{USB_VENDOR_CANON, USB_PRODUCT_CANON_N676U}, 0}, - {{USB_VENDOR_CANON, USB_PRODUCT_CANON_N1220U}, 0}, - {{USB_VENDOR_CANON, USB_PRODUCT_CANON_D660U}, 0}, - {{USB_VENDOR_CANON, USB_PRODUCT_CANON_N1240U}, 0}, - {{USB_VENDOR_CANON, USB_PRODUCT_CANON_LIDE25}, 0}, + {USB_VPI(USB_VENDOR_CANON, USB_PRODUCT_CANON_N656U, 0)}, + {USB_VPI(USB_VENDOR_CANON, USB_PRODUCT_CANON_N676U, 0)}, + {USB_VPI(USB_VENDOR_CANON, USB_PRODUCT_CANON_N1220U, 0)}, + {USB_VPI(USB_VENDOR_CANON, USB_PRODUCT_CANON_D660U, 0)}, + {USB_VPI(USB_VENDOR_CANON, USB_PRODUCT_CANON_N1240U, 0)}, + {USB_VPI(USB_VENDOR_CANON, USB_PRODUCT_CANON_LIDE25, 0)}, /* Epson */ - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_636}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_610}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1200}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1240}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1250}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1270}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1600}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1640}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1650}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1660}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1670}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1260}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_RX425}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_3200}, USCANNER_FLAG_KEEP_OPEN}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_GT9700F}, USCANNER_FLAG_KEEP_OPEN}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_CX5400}, 0}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_636, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_610, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1200, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1240, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1250, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1270, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1600, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1640, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1650, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1660, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1670, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1260, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_RX425, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_3200, USCANNER_FLAG_KEEP_OPEN)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_GT9700F, USCANNER_FLAG_KEEP_OPEN)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_CX5400, 0)}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_GT9300UF}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_2480}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_3500}, USCANNER_FLAG_KEEP_OPEN}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_3590}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_4200}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_4800}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_4990}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_5000}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_6000}, 0}, - {{USB_VENDOR_EPSON, USB_PRODUCT_EPSON_DX8400}, 0}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_GT9300UF, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_2480, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_3500, USCANNER_FLAG_KEEP_OPEN)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_3590, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_4200, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_4800, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_4990, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_5000, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_6000, 0)}, + {USB_VPI(USB_VENDOR_EPSON, USB_PRODUCT_EPSON_DX8400, 0)}, /* HP */ - {{USB_VENDOR_HP, USB_PRODUCT_HP_2200C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_3300C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_3400CSE}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_4100C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_4200C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_4300C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_4670V}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_S20}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_5200C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_5300C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_5400C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_6200C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_6300C}, 0}, - {{USB_VENDOR_HP, USB_PRODUCT_HP_82x0C}, 0}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_2200C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_3300C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_3400CSE, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_4100C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_4200C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_4300C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_4670V, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_S20, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_5200C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_5300C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_5400C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_6200C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_6300C, 0)}, + {USB_VPI(USB_VENDOR_HP, USB_PRODUCT_HP_82x0C, 0)}, /* Kye */ - {{USB_VENDOR_KYE, USB_PRODUCT_KYE_VIVIDPRO}, 0}, + {USB_VPI(USB_VENDOR_KYE, USB_PRODUCT_KYE_VIVIDPRO, 0)}, /* Microtek */ - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_X6U}, 0}, - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_336CX}, 0}, - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_336CX2}, 0}, - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_C6}, 0}, - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6USL}, 0}, - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6USL2}, 0}, - {{USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6UL}, 0}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_X6U, 0)}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_336CX, 0)}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_336CX2, 0)}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_C6, 0)}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6USL, 0)}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6USL2, 0)}, + {USB_VPI(USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6UL, 0)}, /* Minolta */ - {{USB_VENDOR_MINOLTA, USB_PRODUCT_MINOLTA_5400}, 0}, + {USB_VPI(USB_VENDOR_MINOLTA, USB_PRODUCT_MINOLTA_5400, 0)}, /* Mustek */ - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CU}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_BEARPAW1200F}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_BEARPAW1200TA}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600USB}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600CU}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USB}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200UB}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USBPLUS}, 0}, - {{USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CUPLUS}, 0}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CU, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_BEARPAW1200F, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_BEARPAW1200TA, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600USB, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600CU, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USB, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200UB, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USBPLUS, 0)}, + {USB_VPI(USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CUPLUS, 0)}, /* National */ - {{USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW1200}, 0}, - {{USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW2400}, 0}, + {USB_VPI(USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW1200, 0)}, + {USB_VPI(USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW2400, 0)}, /* Nikon */ - {{USB_VENDOR_NIKON, USB_PRODUCT_NIKON_LS40}, 0}, + {USB_VPI(USB_VENDOR_NIKON, USB_PRODUCT_NIKON_LS40, 0)}, /* Primax */ - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2X300}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E300}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2300}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E3002}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_9600}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_600U}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_6200}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_19200}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_1200U}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G600}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_636I}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2600}, 0}, - {{USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E600}, 0}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2X300, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E300, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2300, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E3002, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_9600, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_600U, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_6200, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_19200, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_1200U, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G600, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_636I, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2600, 0)}, + {USB_VPI(USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E600, 0)}, /* Scanlogic */ - {{USB_VENDOR_SCANLOGIC, USB_PRODUCT_SCANLOGIC_336CX}, 0}, + {USB_VPI(USB_VENDOR_SCANLOGIC, USB_PRODUCT_SCANLOGIC_336CX, 0)}, /* Ultima */ - {{USB_VENDOR_ULTIMA, USB_PRODUCT_ULTIMA_1200UBPLUS}, 0}, + {USB_VPI(USB_VENDOR_ULTIMA, USB_PRODUCT_ULTIMA_1200UBPLUS, 0)}, /* UMAX */ - {{USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1220U}, 0}, - {{USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1236U}, 0}, - {{USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2000U}, 0}, - {{USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2100U}, 0}, - {{USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2200U}, 0}, - {{USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA3400}, 0}, + {USB_VPI(USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1220U, 0)}, + {USB_VPI(USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1236U, 0)}, + {USB_VPI(USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2000U, 0)}, + {USB_VPI(USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2100U, 0)}, + {USB_VPI(USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2200U, 0)}, + {USB_VPI(USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA3400, 0)}, /* Visioneer */ - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_3000}, 0}, - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_5300}, 0}, - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_7600}, 0}, - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6100}, 0}, - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6200}, 0}, - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8100}, 0}, - {{USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8600}, 0} + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_3000, 0)}, + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_5300, 0)}, + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_7600, 0)}, + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6100, 0)}, + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6200, 0)}, + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8100, 0)}, + {USB_VPI(USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8600, 0)} }; /* - * It returns vendor and product ids. - */ -static inline const struct uscanner_info * -uscanner_lookup(uint16_t v, uint16_t p) -{ - return ((const struct uscanner_info *)usb_lookup(uscanner_devs, v, p)); -} - -/* * uscanner device probing method. */ static int uscanner_probe(device_t dev) { - struct usb_attach_arg *uaa; - usb_interface_descriptor_t *id; + struct usb2_attach_arg *uaa; DPRINTF(10, "\n"); uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface == NULL) { - return (UMATCH_NONE); + /* Give other class drivers a chance for multifunctional scanners. */ + if (uaa->use_generic == 0) { + return (ENXIO); } - id = usbd_get_interface_descriptor(uaa->iface); - if (id == NULL) { - return (UMATCH_NONE); - } - /* - * There isn't a specific UICLASS for scanners, many vendors use - * UICLASS_VENDOR, so detecting the right interface is not so easy. - * But certainly we can exclude PRINTER and MASS - which some - * multifunction devices implement. - */ - if ((id->bInterfaceClass == UICLASS_PRINTER) || - (id->bInterfaceClass == UICLASS_MASS)) { - return (UMATCH_NONE); - } - return ((uscanner_lookup(uaa->vendor, uaa->product) != NULL) ? - UMATCH_VENDOR_PRODUCT : UMATCH_NONE); + return (usb2_lookup_id_by_uaa(uscanner_devs, sizeof(uscanner_devs), uaa)); } /* @@ -390,11 +362,9 @@ static int uscanner_attach(device_t dev) { - struct usb_attach_arg *uaa; + struct usb2_attach_arg *uaa; struct uscanner_softc *sc; - const char *p_buf[2]; - char buf[32]; - int32_t unit; + int unit; int error; uaa = device_get_ivars(dev); @@ -402,46 +372,34 @@ unit = device_get_unit(dev); /* - * A first path softc structure filling. sc_cdev and - * sc_xfer are filled later with appropriate functions. + * A first path softc structure filling. sc_fifo and + * sc_xfer are initialised later. */ - sc->sc_flags = uscanner_lookup(uaa->vendor, uaa->product)->flags; + sc->sc_flags = USB_GET_DRIVER_INFO(uaa); mtx_init(&(sc->sc_mtx), "uscanner mutex", NULL, MTX_DEF | MTX_RECURSE); /* * Announce the device: */ - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); /* * Setup the transfer. */ - if ((error = usbd_transfer_setup(uaa->device, &(uaa->iface_index), sc->sc_xfer, + if ((error = usb2_transfer_setup(uaa->device, &(uaa->info.bIfaceIndex), sc->sc_xfer, uscanner_config, USCANNER_N_TRANSFER, sc, &(sc->sc_mtx)))) { device_printf(dev, "could not setup transfers, " - "error=%s\n", usbd_errstr(error)); + "error=%s\n", usb2_errstr(error)); goto detach; } - /* - * Setup the character device for USB scanner. - */ - snprintf(buf, sizeof(buf), "uscanner%u", unit); - p_buf[0] = buf; - p_buf[1] = NULL; + /* set interface permissions */ + usb2_set_iface_perm(uaa->device, uaa->info.bIfaceIndex, + UID_ROOT, GID_OPERATOR, 0644); - sc->sc_cdev.sc_start_read = &uscanner_start_read; - sc->sc_cdev.sc_stop_read = &uscanner_stop_read; - sc->sc_cdev.sc_start_write = &uscanner_start_write; - sc->sc_cdev.sc_stop_write = &uscanner_stop_write; - sc->sc_cdev.sc_open = &uscanner_open; - sc->sc_cdev.sc_flags |= (USB_CDEV_FLAG_WAKEUP_RD_IMMED | - USB_CDEV_FLAG_WAKEUP_WR_IMMED); - - if ((error = usb_cdev_attach(&(sc->sc_cdev), sc, &(sc->sc_mtx), p_buf, - UID_ROOT, GID_OPERATOR, 0644, USCANNER_BSIZE, USCANNER_IFQ_MAXLEN, - USCANNER_BSIZE, USCANNER_IFQ_MAXLEN))) { - device_printf(dev, "error setting the " - "char device!\n"); + error = usb2_fifo_attach(uaa->device, sc, &(sc->sc_mtx), + &uscanner_fifo_methods, &(sc->sc_fifo), + unit, 0 - 1, uaa->info.bIfaceIndex); + if (error) { goto detach; } return (0); @@ -461,8 +419,8 @@ sc = device_get_softc(dev); - usb_cdev_detach(&(sc->sc_cdev)); - usbd_transfer_unsetup(sc->sc_xfer, USCANNER_N_TRANSFER); + usb2_fifo_detach(&(sc->sc_fifo)); + usb2_transfer_unsetup(sc->sc_xfer, USCANNER_N_TRANSFER); mtx_destroy(&(sc->sc_mtx)); return (0); @@ -472,56 +430,57 @@ * Reading callback. Implemented as an "in" bulk transfer. */ static void -uscanner_read_callback(struct usbd_xfer *xfer) +uscanner_read_callback(struct usb2_xfer *xfer) { struct uscanner_softc *sc; - struct usbd_mbuf *m; + struct usb2_fifo *f; sc = xfer->priv_sc; + f = sc->sc_fifo.fp[USB_FIFO_RX]; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - usb_cdev_put_data(&(sc->sc_cdev), xfer->frbuffers, 0, + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + usb2_fifo_put_data(f, xfer->frbuffers, 0, xfer->actlen, 1); - case USBD_ST_SETUP: + case USB_ST_SETUP: /* * If reading is in stall, just jump to clear stall callback and * solve the situation. */ if (sc->sc_flags & USCANNER_FLAG_READ_STALL) { - usbd_transfer_start(sc->sc_xfer[3]); - return; + usb2_transfer_start(sc->sc_xfer[3]); + break; } - USBD_IF_POLL(&(sc->sc_cdev).sc_rdq_free, m); - if (m) { + if (usb2_fifo_put_bytes_max(f) != 0) { xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } - return; + break; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { sc->sc_flags |= USCANNER_FLAG_READ_STALL; - usbd_transfer_start(sc->sc_xfer[3]); + usb2_transfer_start(sc->sc_xfer[3]); } - return; + break; } + return; } /* * Removing stall on reading callback. */ static void -uscanner_read_clear_stall_callback(struct usbd_xfer *xfer) +uscanner_read_clear_stall_callback(struct usb2_xfer *xfer) { struct uscanner_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + struct usb2_xfer *xfer_other = sc->sc_xfer[1]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { + if (usb2_clear_stall_callback(xfer, xfer_other)) { DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~USCANNER_FLAG_READ_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -530,56 +489,59 @@ * Writing callback. Implemented as an "out" bulk transfer. */ static void -uscanner_write_callback(struct usbd_xfer *xfer) +uscanner_write_callback(struct usb2_xfer *xfer) { struct uscanner_softc *sc; + struct usb2_fifo *f; uint32_t actlen; sc = xfer->priv_sc; + f = sc->sc_fifo.fp[USB_FIFO_TX]; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_SETUP: - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_SETUP: + case USB_ST_TRANSFERRED: /* * If writing is in stall, just jump to clear stall callback and * solve the situation. */ if (sc->sc_flags & USCANNER_FLAG_WRITE_STALL) { - usbd_transfer_start(sc->sc_xfer[2]); - return; + usb2_transfer_start(sc->sc_xfer[2]); + break; } /* * Write datas, setup and perform hardware transfer. */ - if (usb_cdev_get_data(&(sc->sc_cdev), xfer->frbuffers, 0, + if (usb2_fifo_get_data(f, xfer->frbuffers, 0, xfer->max_data_length, &actlen, 0)) { xfer->frlengths[0] = actlen; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } - return; + break; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { sc->sc_flags |= USCANNER_FLAG_WRITE_STALL; - usbd_transfer_start(sc->sc_xfer[2]); + usb2_transfer_start(sc->sc_xfer[2]); } - return; + break; } + return; } /* * Removing stall on writing callback. */ static void -uscanner_write_clear_stall_callback(struct usbd_xfer *xfer) +uscanner_write_clear_stall_callback(struct usb2_xfer *xfer) { struct uscanner_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + struct usb2_xfer *xfer_other = sc->sc_xfer[0]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { + if (usb2_clear_stall_callback(xfer, xfer_other)) { DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~USCANNER_FLAG_WRITE_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -587,13 +549,12 @@ /* * uscanner character device opening method. */ -static int32_t -uscanner_open(struct usb_cdev *cdev, int32_t fflags, int32_t devtype, - struct thread *td) +static int +uscanner_open(struct usb2_fifo *fifo, int fflags, struct thread *td) { struct uscanner_softc *sc; - sc = cdev->sc_priv_ptr; + sc = fifo->priv_sc0; if (!(sc->sc_flags & USCANNER_FLAG_KEEP_OPEN)) { if (fflags & FWRITE) { @@ -603,55 +564,78 @@ sc->sc_flags |= USCANNER_FLAG_READ_STALL; } } + if (fflags & FREAD) { + if (usb2_fifo_alloc_buffer(fifo, + sc->sc_xfer[1]->max_data_length, + USCANNER_IFQ_MAXLEN)) { + return (ENOMEM); + } + } + if (fflags & FWRITE) { + if (usb2_fifo_alloc_buffer(fifo, + sc->sc_xfer[0]->max_data_length, + USCANNER_IFQ_MAXLEN)) { + return (ENOMEM); + } + } return (0); } +static void +uscanner_close(struct usb2_fifo *fifo, int fflags, struct thread *td) +{ + if (fflags & (FREAD | FWRITE)) { + usb2_fifo_free_buffer(fifo); + } + return; +} + /* * uscanner character device start reading method. */ static void -uscanner_start_read(struct usb_cdev *cdev) +uscanner_start_read(struct usb2_fifo *fifo) { struct uscanner_softc *sc; - sc = cdev->sc_priv_ptr; - usbd_transfer_start(sc->sc_xfer[1]); + sc = fifo->priv_sc0; + usb2_transfer_start(sc->sc_xfer[1]); } /* * uscanner character device start writing method. */ static void -uscanner_start_write(struct usb_cdev *cdev) +uscanner_start_write(struct usb2_fifo *fifo) { struct uscanner_softc *sc; - sc = cdev->sc_priv_ptr; - usbd_transfer_start(sc->sc_xfer[0]); + sc = fifo->priv_sc0; + usb2_transfer_start(sc->sc_xfer[0]); } /* * uscanner character device stop reading method. */ static void -uscanner_stop_read(struct usb_cdev *cdev) +uscanner_stop_read(struct usb2_fifo *fifo) { struct uscanner_softc *sc; - sc = cdev->sc_priv_ptr; - usbd_transfer_stop(sc->sc_xfer[3]); - usbd_transfer_stop(sc->sc_xfer[1]); + sc = fifo->priv_sc0; + usb2_transfer_stop(sc->sc_xfer[3]); + usb2_transfer_stop(sc->sc_xfer[1]); } /* * uscanner character device stop writing method. */ static void -uscanner_stop_write(struct usb_cdev *cdev) +uscanner_stop_write(struct usb2_fifo *fifo) { struct uscanner_softc *sc; - sc = cdev->sc_priv_ptr; - usbd_transfer_stop(sc->sc_xfer[2]); - usbd_transfer_stop(sc->sc_xfer[0]); + sc = fifo->priv_sc0; + usb2_transfer_stop(sc->sc_xfer[2]); + usb2_transfer_stop(sc->sc_xfer[0]); } ==== //depot/projects/usb/src/sys/modules/usb2/image/Makefile#2 (text+ko) ==== @@ -1,0 +1,13 @@ +S= ${.CURDIR}/../../.. + +.PATH: $S/dev/usb2/image + +KMOD= usb2_image +SRCS= +SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h +SRCS+= opt_usb.h opt_bus.h + +SRCS+= usb2_image.c +SRCS+= uscanner2.c + +.include From owner-p4-projects@FreeBSD.ORG Thu Jul 3 20:36:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38A5E1065682; Thu, 3 Jul 2008 20:36:26 +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 C2E581065674 for ; Thu, 3 Jul 2008 20:36:25 +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 BBE728FC1A for ; Thu, 3 Jul 2008 20:36:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63KaPk1016657 for ; Thu, 3 Jul 2008 20:36:25 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63KaPQp016655 for perforce@freebsd.org; Thu, 3 Jul 2008 20:36:25 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 20:36:25 GMT Message-Id: <200807032036.m63KaPQp016655@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 144569 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, 03 Jul 2008 20:36:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=144569 Change 144569 by hselasky@hselasky_laptop001 on 2008/07/03 20:35:44 The misc. USB module is finished. - mostly symbol renaming. - some minor code changes to ufm2.c Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/misc/udbp2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/misc/udbp2.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/misc/ufm2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/misc/usb2_misc.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/misc/usb2_misc.h#1 add .. //depot/projects/usb/src/sys/modules/usb2/misc/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/misc/udbp2.c#2 (text+ko) ==== @@ -57,37 +57,36 @@ * */ -#include -#include -#include -#include +#include +#include +#include +#include +#include + +#define USB_DEBUG_VAR udbp_debug -#include -#include -#include +#include +#include +#include +#include +#include +#include -#include "usbdevs.h" +#include #include +#include #include -#include -#include #include +#include + #ifdef USB_DEBUG -#define DPRINTF(sc,n,fmt,...) do { \ - if (udbp_debug > (n)) \ - printf("%s:%s: " fmt, (sc)->sc_name, \ - __FUNCTION__,## __VA_ARGS__); \ -} while (0) - static int udbp_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, udbp, CTLFLAG_RW, 0, "USB udbp"); -SYSCTL_INT(_hw_usb_udbp, OID_AUTO, debug, CTLFLAG_RW, +SYSCTL_NODE(_hw_usb2, OID_AUTO, udbp, CTLFLAG_RW, 0, "USB udbp"); +SYSCTL_INT(_hw_usb2_udbp, OID_AUTO, debug, CTLFLAG_RW, &udbp_debug, 0, "udbp debug level"); -#else -#define DPRINTF(...) do { } while (0) #endif #define UDBP_TIMEOUT 2000 /* timeout on outbound transfers, in @@ -107,7 +106,7 @@ struct ng_bt_mbufq sc_xmitq_hipri; /* hi-priority transmit queue */ struct ng_bt_mbufq sc_xmitq; /* low-priority transmit queue */ - struct usbd_xfer *sc_xfer[UDBP_T_MAX]; + struct usb2_xfer *sc_xfer[UDBP_T_MAX]; node_p sc_node; /* back pointer to node */ hook_p sc_hook; /* pointer to the hook */ struct mbuf *sc_bulk_in_buffer; @@ -124,20 +123,18 @@ /* prototypes */ -static int - udbp_modload(module_t mod, int event, void *data); +static int udbp_modload(module_t mod, int event, void *data); static device_probe_t udbp_probe; static device_attach_t udbp_attach; static device_detach_t udbp_detach; -static usbd_callback_t udbp_bulk_read_callback; -static usbd_callback_t udbp_bulk_read_clear_stall_callback; -static usbd_callback_t udbp_bulk_write_callback; -static usbd_callback_t udbp_bulk_write_clear_stall_callback; +static usb2_callback_t udbp_bulk_read_callback; +static usb2_callback_t udbp_bulk_read_clear_stall_callback; +static usb2_callback_t udbp_bulk_write_callback; +static usb2_callback_t udbp_bulk_write_clear_stall_callback; -static void - udbp_bulk_read_complete(node_p node, hook_p hook, void *arg1, int arg2); +static void udbp_bulk_read_complete(node_p node, hook_p hook, void *arg1, int arg2); static ng_constructor_t ng_udbp_constructor; static ng_rcvmsg_t ng_udbp_rcvmsg; @@ -150,6 +147,7 @@ /* Parse type for struct ngudbpstat */ static const struct ng_parse_struct_field ng_udbp_stat_type_fields[] = NG_UDBP_STATS_TYPE_INFO; + static const struct ng_parse_type ng_udbp_stat_type = { &ng_parse_struct_type, &ng_udbp_stat_type_fields @@ -189,7 +187,7 @@ }; /* USB config */ -static const struct usbd_config udbp_config[UDBP_T_MAX] = { +static const struct usb2_config udbp_config[UDBP_T_MAX] = { [UDBP_T_WR] = { .type = UE_BULK, @@ -214,7 +212,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &udbp_bulk_write_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ @@ -225,7 +223,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.flags = {}, .mh.callback = &udbp_bulk_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ @@ -249,9 +247,9 @@ .size = sizeof(struct udbp_softc), }; -DRIVER_MODULE(udbp, uhub, udbp_driver, udbp_devclass, udbp_modload, 0); +DRIVER_MODULE(udbp, ushub, udbp_driver, udbp_devclass, udbp_modload, 0); MODULE_DEPEND(udbp, netgraph, NG_ABI_VERSION, NG_ABI_VERSION, NG_ABI_VERSION); -MODULE_DEPEND(udbp, usb, 1, 1, 1); +MODULE_DEPEND(udbp, usb2_core, 1, 1, 1); static int udbp_modload(module_t mod, int event, void *data) @@ -265,14 +263,11 @@ printf("%s: Could not register " "Netgraph node type, error=%d\n", NG_UDBP_NODE_TYPE, error); - } else - error = usbd_driver_load(mod, event, data); + } break; case MOD_UNLOAD: error = ng_rmtype(&ng_udbp_typestruct); - if (error == 0) - error = usbd_driver_load(mod, event, data); break; default: @@ -285,14 +280,11 @@ static int udbp_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (!uaa->iface) - return (UMATCH_NONE); - /* * XXX Julian, add the id of the device if you have one to test * things with. run 'usbdevs -v' and note the 3 ID's that appear. @@ -301,47 +293,47 @@ * compare the revision id in the device descriptor with 0x101 Or go * search the file usbdevs.h. Maybe the device is already in there. */ - if (((uaa->vendor == USB_VENDOR_NETCHIP) && - (uaa->product == USB_PRODUCT_NETCHIP_TURBOCONNECT))) - return (UMATCH_VENDOR_PRODUCT); + if (((uaa->info.idVendor == USB_VENDOR_NETCHIP) && + (uaa->info.idProduct == USB_PRODUCT_NETCHIP_TURBOCONNECT))) + return (0); - if (((uaa->vendor == USB_VENDOR_PROLIFIC) && - ((uaa->product == USB_PRODUCT_PROLIFIC_PL2301) || - (uaa->product == USB_PRODUCT_PROLIFIC_PL2302)))) - return (UMATCH_VENDOR_PRODUCT); + if (((uaa->info.idVendor == USB_VENDOR_PROLIFIC) && + ((uaa->info.idProduct == USB_PRODUCT_PROLIFIC_PL2301) || + (uaa->info.idProduct == USB_PRODUCT_PROLIFIC_PL2302)))) + return (0); - if ((uaa->vendor == USB_VENDOR_ANCHOR) && - (uaa->product == USB_PRODUCT_ANCHOR_EZLINK)) - return (UMATCH_VENDOR_PRODUCT); + if ((uaa->info.idVendor == USB_VENDOR_ANCHOR) && + (uaa->info.idProduct == USB_PRODUCT_ANCHOR_EZLINK)) + return (0); - if ((uaa->vendor == USB_VENDOR_GENESYS) && - (uaa->product == USB_PRODUCT_GENESYS_GL620USB)) - return (UMATCH_VENDOR_PRODUCT); + if ((uaa->info.idVendor == USB_VENDOR_GENESYS) && + (uaa->info.idProduct == USB_PRODUCT_GENESYS_GL620USB)) + return (0); - return (UMATCH_NONE); + return (ENXIO); } static int udbp_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct udbp_softc *sc = device_get_softc(dev); - int32_t error; + int error; if (sc == NULL) { return (ENOMEM); } - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); snprintf(sc->sc_name, sizeof(sc->sc_name), "%s", device_get_nameunit(dev)); mtx_init(&(sc->sc_mtx), "udbp lock", NULL, MTX_DEF | MTX_RECURSE); - error = usbd_transfer_setup(uaa->device, &(uaa->iface_index), + error = usb2_transfer_setup(uaa->device, &(uaa->info.bIfaceIndex), sc->sc_xfer, udbp_config, UDBP_T_MAX, sc, &(sc->sc_mtx)); if (error) { - DPRINTF(sc, 0, "error=%s\n", usbd_errstr(error)); + DPRINTF(0, "error=%s\n", usb2_errstr(error)); goto detach; } NG_BT_MBUFQ_INIT(&(sc->sc_xmitq), UDBP_Q_MAXLEN); @@ -390,7 +382,7 @@ } /* free USB transfers, if any */ - usbd_transfer_unsetup(sc->sc_xfer, UDBP_T_MAX); + usb2_transfer_unsetup(sc->sc_xfer, UDBP_T_MAX); mtx_destroy(&(sc->sc_mtx)); @@ -409,13 +401,13 @@ } static void -udbp_bulk_read_callback(struct usbd_xfer *xfer) +udbp_bulk_read_callback(struct usb2_xfer *xfer) { struct udbp_softc *sc = xfer->priv_sc; struct mbuf *m; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: /* allocate new mbuf */ @@ -432,32 +424,32 @@ } m->m_pkthdr.len = m->m_len = xfer->actlen; - usbd_copy_out(xfer->frbuffers, 0, m->m_data, xfer->actlen); + usb2_copy_out(xfer->frbuffers, 0, m->m_data, xfer->actlen); sc->sc_bulk_in_buffer = m; - DPRINTF(sc, 0, "received package %d " + DPRINTF(0, "received package %d " "bytes\n", xfer->actlen); - case USBD_ST_SETUP: + case USB_ST_SETUP: tr_setup: if (sc->sc_bulk_in_buffer) { ng_send_fn(sc->sc_node, NULL, &udbp_bulk_read_complete, NULL, 0); return; } if (sc->sc_flags & UDBP_FLAG_READ_STALL) { - usbd_transfer_start(sc->sc_xfer[UDBP_T_RD_CS]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_RD_CS]); return; } xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= UDBP_FLAG_READ_STALL; - usbd_transfer_start(sc->sc_xfer[UDBP_T_RD_CS]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_RD_CS]); } return; @@ -465,15 +457,15 @@ } static void -udbp_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +udbp_bulk_read_clear_stall_callback(struct usb2_xfer *xfer) { struct udbp_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[UDBP_T_RD]; + struct usb2_xfer *xfer_other = sc->sc_xfer[UDBP_T_RD]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UDBP_FLAG_READ_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -498,7 +490,7 @@ if ((sc->sc_hook == NULL) || NG_HOOK_NOT_VALID(sc->sc_hook)) { - DPRINTF(sc, 0, "No upstream hook\n"); + DPRINTF(0, "No upstream hook\n"); goto done; } sc->sc_packets_in++; @@ -513,7 +505,7 @@ } /* start USB bulk-in transfer, if not already started */ - usbd_transfer_start(sc->sc_xfer[UDBP_T_RD]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_RD]); mtx_unlock(&(sc->sc_mtx)); @@ -521,19 +513,19 @@ } static void -udbp_bulk_write_callback(struct usbd_xfer *xfer) +udbp_bulk_write_callback(struct usb2_xfer *xfer) { struct udbp_softc *sc = xfer->priv_sc; struct mbuf *m; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: sc->sc_packets_out++; - case USBD_ST_SETUP: + case USB_ST_SETUP: if (sc->sc_flags & UDBP_FLAG_WRITE_STALL) { - usbd_transfer_start(sc->sc_xfer[UDBP_T_WR_CS]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_WR_CS]); return; } /* get next mbuf, if any */ @@ -542,33 +534,33 @@ if (m == NULL) { NG_BT_MBUFQ_DEQUEUE(&(sc->sc_xmitq), m); if (m == NULL) { - DPRINTF(sc, 0, "Data queue is empty\n"); + DPRINTF(0, "Data queue is empty\n"); return; } } if (m->m_pkthdr.len > MCLBYTES) { - DPRINTF(sc, 0, "truncating large packet " + DPRINTF(0, "truncating large packet " "from %d to %d bytes\n", m->m_pkthdr.len, MCLBYTES); m->m_pkthdr.len = MCLBYTES; } - usbd_m_copy_in(xfer->frbuffers, 0, m, 0, m->m_pkthdr.len); + usb2_m_copy_in(xfer->frbuffers, 0, m, 0, m->m_pkthdr.len); xfer->frlengths[0] = m->m_pkthdr.len; m_freem(m); - DPRINTF(sc, 0, "packet out: %d bytes\n", + DPRINTF(0, "packet out: %d bytes\n", xfer->frlengths[0]); - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= UDBP_FLAG_WRITE_STALL; - usbd_transfer_start(sc->sc_xfer[UDBP_T_WR_CS]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_WR_CS]); } return; @@ -576,15 +568,15 @@ } static void -udbp_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +udbp_bulk_write_clear_stall_callback(struct usb2_xfer *xfer) { struct udbp_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[UDBP_T_WR]; + struct usb2_xfer *xfer_other = sc->sc_xfer[UDBP_T_WR]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~UDBP_FLAG_WRITE_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -683,7 +675,7 @@ error = EINVAL; break; } - DPRINTF(sc, 0, "flags = 0x%08x\n", + DPRINTF(0, "flags = 0x%08x\n", *((uint32_t *)msg->data)); break; default: @@ -743,7 +735,7 @@ /* * start bulk-out transfer, if not already started: */ - usbd_transfer_start(sc->sc_xfer[UDBP_T_WR]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_WR]); error = 0; } @@ -811,10 +803,10 @@ UDBP_FLAG_WRITE_STALL); /* start bulk-in transfer */ - usbd_transfer_start(sc->sc_xfer[UDBP_T_RD]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_RD]); /* start bulk-out transfer */ - usbd_transfer_start(sc->sc_xfer[UDBP_T_WR]); + usb2_transfer_start(sc->sc_xfer[UDBP_T_WR]); mtx_unlock(&(sc->sc_mtx)); @@ -841,12 +833,12 @@ } else { /* stop bulk-in transfer */ - usbd_transfer_stop(sc->sc_xfer[UDBP_T_RD_CS]); - usbd_transfer_stop(sc->sc_xfer[UDBP_T_RD]); + usb2_transfer_stop(sc->sc_xfer[UDBP_T_RD_CS]); + usb2_transfer_stop(sc->sc_xfer[UDBP_T_RD]); /* stop bulk-out transfer */ - usbd_transfer_stop(sc->sc_xfer[UDBP_T_WR_CS]); - usbd_transfer_stop(sc->sc_xfer[UDBP_T_WR]); + usb2_transfer_stop(sc->sc_xfer[UDBP_T_WR_CS]); + usb2_transfer_stop(sc->sc_xfer[UDBP_T_WR]); /* cleanup queues */ NG_BT_MBUFQ_DRAIN(&sc->sc_xmitq); ==== //depot/projects/usb/src/sys/dev/usb2/misc/udbp2.h#2 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb2/misc/ufm2.c#2 (text+ko) ==== @@ -32,47 +32,34 @@ __FBSDID("$FreeBSD: src/sys/dev/usb/ufm.c,v 1.36 2007/06/21 14:42:33 imp Exp $"); -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include -#include -#include +#define USB_DEBUG_VAR usb2_debug -#include "usbdevs.h" - -#include - -#ifdef USB_DEBUG -#define DPRINTF(sc,n,fmt,...) \ - do { if (ufm_debug > (n)) { \ - printf("%s:%s: " fmt, (sc)->sc_name, \ - __FUNCTION__,## __VA_ARGS__); } } while (0) +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -static int ufm_debug = 0; - -SYSCTL_NODE(_hw_usb, OID_AUTO, ufm, CTLFLAG_RW, 0, "USB ufm"); -SYSCTL_INT(_hw_usb_ufm, OID_AUTO, debug, CTLFLAG_RW, - &ufm_debug, 0, "ufm debug level"); -#else -#define DPRINTF(...) do { } while (0) -#endif - #define UFM_CMD0 0x00 #define UFM_CMD_SET_FREQ 0x01 #define UFM_CMD2 0x02 struct ufm_softc { - struct usb_cdev sc_cdev; + struct usb2_fifo_sc sc_fifo; struct mtx sc_mtx; - struct usbd_device *sc_udev; + struct usb2_device *sc_udev; uint32_t sc_unit; uint32_t sc_freq; @@ -86,32 +73,22 @@ static device_attach_t ufm_attach; static device_detach_t ufm_detach; -static int32_t -ufm_open(struct usb_cdev *dev, int32_t fflags, - int32_t devtype, struct thread *td); +static usb2_fifo_ioctl_t ufm_ioctl; +static usb2_fifo_open_t ufm_open; -static int -ufm_do_req(struct ufm_softc *sc, int32_t fflags, uint8_t request, - uint16_t value, uint16_t index, uint8_t *retbuf); -static int - ufm_set_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags); +static struct usb2_fifo_methods ufm_fifo_methods = { + .f_ioctl = &ufm_ioctl, + .f_open = &ufm_open, + .basename[0] = "ufm", +}; -static int - ufm_get_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags); +static int ufm_do_req(struct ufm_softc *sc, uint8_t request, uint16_t value, uint16_t index, uint8_t *retbuf); +static int ufm_set_freq(struct ufm_softc *sc, void *addr); +static int ufm_get_freq(struct ufm_softc *sc, void *addr); +static int ufm_start(struct ufm_softc *sc, void *addr); +static int ufm_stop(struct ufm_softc *sc, void *addr); +static int ufm_get_stat(struct ufm_softc *sc, void *addr); -static int - ufm_start(struct ufm_softc *sc, caddr_t addr, int32_t fflags); - -static int - ufm_stop(struct ufm_softc *sc, caddr_t addr, int32_t fflags); - -static int - ufm_get_stat(struct ufm_softc *sc, caddr_t addr, int32_t fflags); - -static int -ufm_ioctl(struct usb_cdev *dev, u_long cmd, caddr_t addr, - int32_t fflags, struct thread *td); - static devclass_t ufm_devclass; static device_method_t ufm_methods[] = { @@ -127,35 +104,30 @@ .size = sizeof(struct ufm_softc), }; -MODULE_DEPEND(ufm, usb, 1, 1, 1); -DRIVER_MODULE(ufm, uhub, ufm_driver, ufm_devclass, usbd_driver_load, 0); +MODULE_DEPEND(ufm, usb2_core, 1, 1, 1); +DRIVER_MODULE(ufm, ushub, ufm_driver, ufm_devclass, NULL, 0); static int ufm_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface == NULL) { - return (UMATCH_NONE); + if ((uaa->info.idVendor == USB_VENDOR_CYPRESS) && + (uaa->info.idProduct == USB_PRODUCT_CYPRESS_FMRADIO)) { + return (0); } - if ((uaa->vendor == USB_VENDOR_CYPRESS) && - (uaa->product == USB_PRODUCT_CYPRESS_FMRADIO)) { - return (UMATCH_VENDOR_PRODUCT); - } - return (UMATCH_NONE); + return (ENXIO); } static int ufm_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct ufm_softc *sc = device_get_softc(dev); - const char *p_buf[2]; - char buf[16]; - int32_t error; + int error; if (sc == NULL) { return (ENOMEM); @@ -168,18 +140,15 @@ mtx_init(&(sc->sc_mtx), "ufm lock", NULL, MTX_DEF | MTX_RECURSE); - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); - snprintf(buf, sizeof(buf), "ufm%d", sc->sc_unit); + /* set interface permissions */ + usb2_set_iface_perm(uaa->device, uaa->info.bIfaceIndex, + UID_ROOT, GID_OPERATOR, 0644); - p_buf[0] = buf; - p_buf[1] = NULL; - - sc->sc_cdev.sc_open = &ufm_open; - sc->sc_cdev.sc_ioctl = &ufm_ioctl; - - error = usb_cdev_attach(&(sc->sc_cdev), sc, &(sc->sc_mtx), p_buf, - UID_ROOT, GID_OPERATOR, 0644, 0, 0, 0, 0); + error = usb2_fifo_attach(uaa->device, sc, &(sc->sc_mtx), + &ufm_fifo_methods, &(sc->sc_fifo), + device_get_unit(dev), 0 - 1, uaa->info.bIfaceIndex); if (error) { goto detach; } @@ -195,16 +164,15 @@ { struct ufm_softc *sc = device_get_softc(dev); - usb_cdev_detach(&(sc->sc_cdev)); + usb2_fifo_detach(&(sc->sc_fifo)); mtx_destroy(&(sc->sc_mtx)); return (0); } -static int32_t -ufm_open(struct usb_cdev *dev, int32_t fflags, - int32_t devtype, struct thread *td) +static int +ufm_open(struct usb2_fifo *dev, int fflags, struct thread *td) { if ((fflags & (FWRITE | FREAD)) != (FWRITE | FREAD)) { return (EACCES); @@ -213,12 +181,12 @@ } static int -ufm_do_req(struct ufm_softc *sc, int32_t fflags, uint8_t request, +ufm_do_req(struct ufm_softc *sc, uint8_t request, uint16_t value, uint16_t index, uint8_t *retbuf) { - int32_t error; + int error; - usb_device_request_t req; + struct usb2_device_request req; uint8_t buf[1]; req.bmRequestType = UT_READ_VENDOR_DEVICE; @@ -227,7 +195,7 @@ USETW(req.wIndex, index); USETW(req.wLength, 1); - error = usbd_do_request(sc->sc_udev, NULL, &req, buf); + error = usb2_do_request(sc->sc_udev, NULL, &req, buf); if (retbuf) { *retbuf = buf[0]; @@ -239,7 +207,7 @@ } static int -ufm_set_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +ufm_set_freq(struct ufm_softc *sc, void *addr) { int freq = *(int *)addr; @@ -257,12 +225,12 @@ freq = (freq + 10700001) / 12500; /* This appears to set the frequency */ - if (ufm_do_req(sc, fflags, UFM_CMD_SET_FREQ, + if (ufm_do_req(sc, UFM_CMD_SET_FREQ, freq >> 8, freq, NULL) != 0) { return (EIO); } /* Not sure what this does */ - if (ufm_do_req(sc, fflags, UFM_CMD0, + if (ufm_do_req(sc, UFM_CMD0, 0x96, 0xb7, NULL) != 0) { return (EIO); } @@ -270,7 +238,7 @@ } static int -ufm_get_freq(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +ufm_get_freq(struct ufm_softc *sc, void *addr) { int *valp = (int *)addr; @@ -281,15 +249,15 @@ } static int -ufm_start(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +ufm_start(struct ufm_softc *sc, void *addr) { uint8_t ret; - if (ufm_do_req(sc, fflags, UFM_CMD0, + if (ufm_do_req(sc, UFM_CMD0, 0x00, 0xc7, &ret)) { return (EIO); } - if (ufm_do_req(sc, fflags, UFM_CMD2, + if (ufm_do_req(sc, UFM_CMD2, 0x01, 0x00, &ret)) { return (EIO); } @@ -300,13 +268,13 @@ } static int -ufm_stop(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +ufm_stop(struct ufm_softc *sc, void *addr) { - if (ufm_do_req(sc, fflags, UFM_CMD0, + if (ufm_do_req(sc, UFM_CMD0, 0x16, 0x1C, NULL)) { return (EIO); } - if (ufm_do_req(sc, fflags, UFM_CMD2, + if (ufm_do_req(sc, UFM_CMD2, 0x00, 0x00, NULL)) { return (EIO); } @@ -314,7 +282,7 @@ } static int -ufm_get_stat(struct ufm_softc *sc, caddr_t addr, int32_t fflags) +ufm_get_stat(struct ufm_softc *sc, void *addr) { uint8_t ret; @@ -323,9 +291,11 @@ * will be valid, so sleep that amount. */ - usbd_pause_mtx(NULL, 250); + mtx_lock(&(sc->sc_mtx)); + usb2_pause_mtx(&(sc->sc_mtx), USB_MS_HZ / 4); + mtx_unlock(&(sc->sc_mtx)); - if (ufm_do_req(sc, fflags, UFM_CMD0, + if (ufm_do_req(sc, UFM_CMD0, 0x00, 0x24, &ret)) { return (EIO); } @@ -335,33 +305,31 @@ } static int -ufm_ioctl(struct usb_cdev *dev, u_long cmd, caddr_t addr, - int32_t fflags, struct thread *td) +ufm_ioctl(struct usb2_fifo *fifo, u_long cmd, void *addr, + int fflags, struct thread *td) { - struct ufm_softc *sc = dev->sc_priv_ptr; + struct ufm_softc *sc = fifo->priv_sc0; int error = 0; - usb_cdev_unlock(dev, fflags); - switch (cmd) { case FM_SET_FREQ: - error = ufm_set_freq(sc, addr, fflags); + error = ufm_set_freq(sc, addr); break; case FM_GET_FREQ: - error = ufm_get_freq(sc, addr, fflags); + error = ufm_get_freq(sc, addr); break; case FM_START: - error = ufm_start(sc, addr, fflags); + error = ufm_start(sc, addr); break; case FM_STOP: - error = ufm_stop(sc, addr, fflags); + error = ufm_stop(sc, addr); break; case FM_GET_STAT: - error = ufm_get_stat(sc, addr, fflags); + error = ufm_get_stat(sc, addr); break; default: error = ENOTTY; break; } - return (usb_cdev_lock(dev, fflags, error)); + return (error); } ==== //depot/projects/usb/src/sys/modules/usb2/misc/Makefile#2 (text+ko) ==== @@ -1,0 +1,14 @@ +S= ${.CURDIR}/../../.. + +.PATH: $S/dev/usb2/misc + +KMOD= usb2_misc +SRCS= +SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h +SRCS+= opt_usb.h opt_bus.h opt_netgraph.h + +SRCS+= usb2_misc.c +SRCS+= ufm2.c +SRCS+= udbp2.c + +.include From owner-p4-projects@FreeBSD.ORG Thu Jul 3 20:52:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 600751065676; Thu, 3 Jul 2008 20:52: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 09477106566C for ; Thu, 3 Jul 2008 20:52:42 +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 03BD78FC14 for ; Thu, 3 Jul 2008 20:52:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63Kqf5A027800 for ; Thu, 3 Jul 2008 20:52:41 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63KqfML027798 for perforce@freebsd.org; Thu, 3 Jul 2008 20:52:41 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 20:52:41 GMT Message-Id: <200807032052.m63KqfML027798@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 144570 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, 03 Jul 2008 20:52:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=144570 Change 144570 by hselasky@hselasky_laptop001 on 2008/07/03 20:52:27 The USB NDIS module is complete. - symbol renaming NOTE: The module is not complete and there is an ongoing project at FreeBSD P4 to fix this. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/ndis/if_ndis_usb2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/ndis/usb2_ndis.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/ndis/usb2_ndis.h#1 add .. //depot/projects/usb/src/sys/modules/usb2/ndis/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/ndis/if_ndis_usb2.c#2 (text+ko) ==== @@ -33,20 +33,14 @@ #include __FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_usb.c,v 1.9 2007/06/18 22:24:32 imp Exp $"); -#include -#include -#include -#include -#include -#include +#include +#include + +#include + #include -#include +#include -#include -#include -#include -#include - #include #include #include @@ -62,14 +56,13 @@ #include #include #include + #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_usb.c,v 1.5 2005/04/24 20:21:22 wpaul Exp $"); +MODULE_DEPEND(ndis, usb2_core, 1, 1, 1); -MODULE_DEPEND(ndis, usb, 1, 1, 1); - -static device_probe_t ndisusb_probe; -static device_attach_t ndisusb_attach; +static device_probe_t ndisusb2_probe; +static device_attach_t ndisusb2_attach; static struct resource_list *ndis_get_resource_list(device_t, device_t); extern device_attach_t ndis_attach; @@ -83,8 +76,8 @@ static device_method_t ndis_methods[] = { /* Device interface */ - DEVMETHOD(device_probe, ndisusb_probe), - DEVMETHOD(device_attach, ndisusb_attach), + DEVMETHOD(device_probe, ndisusb2_probe), + DEVMETHOD(device_attach, ndisusb2_attach), DEVMETHOD(device_detach, ndis_detach), DEVMETHOD(device_shutdown, ndis_shutdown), @@ -104,27 +97,24 @@ static devclass_t ndis_devclass; -DRIVER_MODULE(ndis, uhub, ndis_driver, ndis_devclass, ndisdrv_modevent, 0); +DRIVER_MODULE(ndis, ushub, ndis_driver, ndis_devclass, ndisdrv_modevent, 0); static int -ndisusb_probe(device_t dev) +ndisusb2_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); if (windrv_lookup(0, "USB Bus") == NULL) { - return (UMATCH_NONE); + return (ENXIO); } - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface != NULL) { - return (UMATCH_NONE); - } - return (UMATCH_NONE); + return (ENXIO); } static int -ndisusb_attach(device_t dev) +ndisusb2_attach(device_t dev) { struct ndis_softc *sc = device_get_softc(dev); driver_object *drv; ==== //depot/projects/usb/src/sys/modules/usb2/ndis/Makefile#2 (text+ko) ==== @@ -1,0 +1,13 @@ +S= ${.CURDIR}/../../.. + +.PATH: $S/dev/usb2/ndis + +KMOD= usb2_ndis +SRCS= +SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h +SRCS+= opt_usb.h opt_bus.h + +SRCS+= usb2_ndis.c +SRCS+= if_ndis_usb2.c + +.include From owner-p4-projects@FreeBSD.ORG Thu Jul 3 21:03:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA04E1065678; Thu, 3 Jul 2008 21:03: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 7BD811065674 for ; Thu, 3 Jul 2008 21:03:53 +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 76D828FC1C for ; Thu, 3 Jul 2008 21:03:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63L3rg1029796 for ; Thu, 3 Jul 2008 21:03:53 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63L3r7C029794 for perforce@freebsd.org; Thu, 3 Jul 2008 21:03:53 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 21:03:53 GMT Message-Id: <200807032103.m63L3r7C029794@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 144571 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, 03 Jul 2008 21:03:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=144571 Change 144571 by hselasky@hselasky_laptop001 on 2008/07/03 21:03:18 Looks like I forgot to commit the USB serial Makefile. Affected files ... .. //depot/projects/usb/src/sys/modules/usb2/serial/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/modules/usb2/serial/Makefile#2 (text+ko) ==== @@ -1,0 +1,28 @@ +S= ${.CURDIR}/../../.. + +.PATH: $S/dev/usb2/serial + +KMOD= usb2_serial +SRCS= +SRCS+= bus_if.h usb2_if.h device_if.h vnode_if.h +SRCS+= opt_usb.h opt_bus.h opt_compat.h +SRCS+= usb2_serial.c + +SRCS+= uark2.c +SRCS+= ubsa2.c +SRCS+= ubser2.c +SRCS+= uchcom2.c +SRCS+= ucycom2.c +SRCS+= ufoma2.c +SRCS+= uftdi2.c +SRCS+= ugensa2.c +SRCS+= uipaq2.c +SRCS+= ulpt2.c +SRCS+= umct2.c +SRCS+= umodem2.c +SRCS+= umoscom2.c +SRCS+= uplcom2.c +SRCS+= uvisor2.c +SRCS+= uvscom2.c + +.include From owner-p4-projects@FreeBSD.ORG Thu Jul 3 21:25:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67885106566C; Thu, 3 Jul 2008 21:25:18 +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 28BCD1065676 for ; Thu, 3 Jul 2008 21:25:18 +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 212228FC22 for ; Thu, 3 Jul 2008 21:25:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63LPH5c031580 for ; Thu, 3 Jul 2008 21:25:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63LPEIp031557 for perforce@freebsd.org; Thu, 3 Jul 2008 21:25:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 21:25:14 GMT Message-Id: <200807032125.m63LPEIp031557@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 144572 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, 03 Jul 2008 21:25:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=144572 Change 144572 by hselasky@hselasky_laptop001 on 2008/07/03 21:24:47 IFC @ 144568 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/bpf_jit_machdep.c#2 integrate .. //depot/projects/usb/src/sys/amd64/amd64/bpf_jit_machdep.h#2 integrate .. //depot/projects/usb/src/sys/amd64/amd64/mem.c#3 integrate .. //depot/projects/usb/src/sys/amd64/amd64/minidump_machdep.c#4 integrate .. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/usb/src/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/usb/src/sys/amd64/conf/GENERIC#11 integrate .. //depot/projects/usb/src/sys/amd64/include/iodev.h#2 integrate .. //depot/projects/usb/src/sys/amd64/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/amd64/include/pmap.h#5 integrate .. //depot/projects/usb/src/sys/amd64/include/pmc_mdep.h#3 integrate .. //depot/projects/usb/src/sys/amd64/include/stack.h#2 integrate .. //depot/projects/usb/src/sys/amd64/include/vmparam.h#7 integrate .. //depot/projects/usb/src/sys/arm/at91/if_ate.c#8 integrate .. //depot/projects/usb/src/sys/arm/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/usb/src/sys/arm/xscale/i8134x/i81342_pci.c#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/pxa/files.pxa#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/pxa/pxa_obio.c#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/pxa/pxa_space.c#2 integrate .. //depot/projects/usb/src/sys/boot/Makefile.inc#1 branch .. //depot/projects/usb/src/sys/boot/arm/Makefile.inc#1 branch .. //depot/projects/usb/src/sys/boot/arm/at91/Makefile.inc#5 integrate .. //depot/projects/usb/src/sys/boot/efi/Makefile.inc#2 integrate .. //depot/projects/usb/src/sys/boot/i386/Makefile.inc#3 integrate .. //depot/projects/usb/src/sys/boot/i386/boot2/boot2.c#5 integrate .. //depot/projects/usb/src/sys/boot/i386/libi386/time.c#2 integrate .. //depot/projects/usb/src/sys/boot/i386/loader/Makefile#4 integrate .. //depot/projects/usb/src/sys/boot/ia64/Makefile.inc#2 integrate .. //depot/projects/usb/src/sys/boot/ia64/common/Makefile#2 integrate .. //depot/projects/usb/src/sys/boot/ia64/efi/Makefile#3 integrate .. //depot/projects/usb/src/sys/boot/ia64/ski/Makefile#3 integrate .. //depot/projects/usb/src/sys/boot/ofw/Makefile.inc#1 branch .. //depot/projects/usb/src/sys/boot/pc98/Makefile.inc#3 integrate .. //depot/projects/usb/src/sys/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/usb/src/sys/boot/pc98/loader/Makefile#3 integrate .. //depot/projects/usb/src/sys/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/usb/src/sys/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/usb/src/sys/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/usb/src/sys/boot/sparc64/loader/Makefile#2 integrate .. //depot/projects/usb/src/sys/boot/uboot/Makefile.inc#1 branch .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#2 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_ndis.c#8 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_ntoskrnl.c#8 integrate .. //depot/projects/usb/src/sys/compat/pecoff/imgact_pecoff.c#5 delete .. //depot/projects/usb/src/sys/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/usb/src/sys/conf/NOTES#14 integrate .. //depot/projects/usb/src/sys/conf/files#28 integrate .. //depot/projects/usb/src/sys/conf/files.i386#9 integrate .. //depot/projects/usb/src/sys/conf/files.pc98#9 integrate .. //depot/projects/usb/src/sys/conf/kern.mk#7 integrate .. //depot/projects/usb/src/sys/conf/kern.pre.mk#10 integrate .. //depot/projects/usb/src/sys/conf/newvers.sh#4 integrate .. //depot/projects/usb/src/sys/conf/options.i386#7 integrate .. //depot/projects/usb/src/sys/conf/options.pc98#6 integrate .. //depot/projects/usb/src/sys/ddb/db_ps.c#6 integrate .. //depot/projects/usb/src/sys/dev/aac/aac.c#5 integrate .. //depot/projects/usb/src/sys/dev/aac/aac_pci.c#6 integrate .. //depot/projects/usb/src/sys/dev/acpi_support/acpi_asus.c#5 integrate .. //depot/projects/usb/src/sys/dev/agp/agp_i810.c#3 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-all.c#9 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-chipset.c#10 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-pci.c#7 integrate .. //depot/projects/usb/src/sys/dev/bce/if_bce.c#10 integrate .. //depot/projects/usb/src/sys/dev/bce/if_bcefw.h#5 integrate .. //depot/projects/usb/src/sys/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/usb/src/sys/dev/ce/ceddk.h#2 integrate .. //depot/projects/usb/src/sys/dev/ce/if_ce.c#5 integrate .. //depot/projects/usb/src/sys/dev/ciss/ciss.c#10 integrate .. //depot/projects/usb/src/sys/dev/cp/cpddk.h#2 integrate .. //depot/projects/usb/src/sys/dev/cp/if_cp.c#5 integrate .. //depot/projects/usb/src/sys/dev/ctau/ctddk.h#2 integrate .. //depot/projects/usb/src/sys/dev/ctau/if_ct.c#5 integrate .. //depot/projects/usb/src/sys/dev/cx/cxddk.h#2 integrate .. //depot/projects/usb/src/sys/dev/cx/if_cx.c#5 integrate .. //depot/projects/usb/src/sys/dev/et/if_et.c#1 branch .. //depot/projects/usb/src/sys/dev/et/if_etreg.h#1 branch .. //depot/projects/usb/src/sys/dev/et/if_etvar.h#1 branch .. //depot/projects/usb/src/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/usb/src/sys/dev/ex/if_ex_isa.c#3 integrate .. //depot/projects/usb/src/sys/dev/ex/if_ex_pccard.c#3 integrate .. //depot/projects/usb/src/sys/dev/ex/if_exvar.h#3 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fe.c#5 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fe_cbus.c#2 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fe_isa.c#2 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fe_pccard.c#3 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fevar.h#3 integrate .. //depot/projects/usb/src/sys/dev/gem/if_gem.c#8 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#8 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndisvar.h#5 integrate .. //depot/projects/usb/src/sys/dev/io/iodev.c#2 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/ixgbe.h#4 integrate .. //depot/projects/usb/src/sys/dev/ixgbe/tcp_lro.c#2 delete .. //depot/projects/usb/src/sys/dev/ixgbe/tcp_lro.h#2 delete .. //depot/projects/usb/src/sys/dev/mfi/mfi.c#10 integrate .. //depot/projects/usb/src/sys/dev/mii/brgphy.c#9 integrate .. //depot/projects/usb/src/sys/dev/mii/miidevs#9 integrate .. //depot/projects/usb/src/sys/dev/mii/rgephy.c#6 integrate .. //depot/projects/usb/src/sys/dev/mii/rgephyreg.h#3 integrate .. //depot/projects/usb/src/sys/dev/mii/truephy.c#1 branch .. //depot/projects/usb/src/sys/dev/mii/truephyreg.h#1 branch .. //depot/projects/usb/src/sys/dev/mpt/mpt_pci.c#8 integrate .. //depot/projects/usb/src/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/usb/src/sys/dev/nmdm/nmdm.c#4 integrate .. //depot/projects/usb/src/sys/dev/re/if_re.c#8 integrate .. //depot/projects/usb/src/sys/dev/si/si.c#4 integrate .. //depot/projects/usb/src/sys/dev/si/si.h#3 integrate .. //depot/projects/usb/src/sys/dev/smc/if_smc.c#2 integrate .. //depot/projects/usb/src/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/usb/src/sys/dev/snp/snp.c#5 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/atiixp.h#4 integrate .. //depot/projects/usb/src/sys/dev/tx/if_tx.c#3 integrate .. //depot/projects/usb/src/sys/dev/tx/if_txvar.h#2 integrate .. //depot/projects/usb/src/sys/dev/usb/ehci.c#80 integrate .. //depot/projects/usb/src/sys/dev/usb/uplcom.c#43 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdevs#19 integrate .. //depot/projects/usb/src/sys/dev/usb/uscanner.c#29 integrate .. //depot/projects/usb/src/sys/dev/usb2/controller/ehci2.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usbdevs#2 edit .. //depot/projects/usb/src/sys/dev/usb2/image/uscanner2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devid.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/include/usb2_devtable.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/serial/uplcom2.c#3 edit .. //depot/projects/usb/src/sys/dev/vkbd/vkbd.c#4 integrate .. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#5 integrate .. //depot/projects/usb/src/sys/fs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/usb/src/sys/fs/devfs/devfs_devs.c#7 integrate .. //depot/projects/usb/src/sys/fs/devfs/devfs_int.h#5 integrate .. //depot/projects/usb/src/sys/fs/devfs/devfs_rule.c#5 integrate .. //depot/projects/usb/src/sys/fs/devfs/devfs_vnops.c#9 integrate .. //depot/projects/usb/src/sys/fs/ntfs/ntfs_ihash.c#3 integrate .. //depot/projects/usb/src/sys/fs/smbfs/smbfs_node.c#6 integrate .. //depot/projects/usb/src/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/usb/src/sys/geom/journal/g_journal.c#5 integrate .. //depot/projects/usb/src/sys/geom/part/g_part.c#7 integrate .. //depot/projects/usb/src/sys/geom/part/g_part.h#6 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_apm.c#7 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_bsd.c#3 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_gpt.c#7 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_if.m#3 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_mbr.c#4 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_pc98.c#3 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_vtoc8.c#3 integrate .. //depot/projects/usb/src/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/usb/src/sys/i386/acpica/acpi_machdep.c#6 integrate .. //depot/projects/usb/src/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/usb/src/sys/i386/conf/NOTES#10 integrate .. //depot/projects/usb/src/sys/i386/i386/bpf_jit_machdep.c#2 integrate .. //depot/projects/usb/src/sys/i386/i386/bpf_jit_machdep.h#2 integrate .. //depot/projects/usb/src/sys/i386/include/iodev.h#2 integrate .. //depot/projects/usb/src/sys/i386/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/i386/include/pecoff_machdep.h#2 delete .. //depot/projects/usb/src/sys/ia64/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/kern/kern_alq.c#7 integrate .. //depot/projects/usb/src/sys/kern/kern_conf.c#7 integrate .. //depot/projects/usb/src/sys/kern/kern_cpuset.c#3 integrate .. //depot/projects/usb/src/sys/kern/kern_descrip.c#10 integrate .. //depot/projects/usb/src/sys/kern/kern_dtrace.c#2 integrate .. //depot/projects/usb/src/sys/kern/kern_intr.c#9 integrate .. //depot/projects/usb/src/sys/kern/kern_jail.c#6 integrate .. //depot/projects/usb/src/sys/kern/kern_lockf.c#6 integrate .. //depot/projects/usb/src/sys/kern/kern_umtx.c#9 integrate .. //depot/projects/usb/src/sys/kern/kern_xxx.c#4 integrate .. //depot/projects/usb/src/sys/kern/link_elf_obj.c#8 integrate .. //depot/projects/usb/src/sys/kern/stack_protector.c#1 branch .. //depot/projects/usb/src/sys/kern/subr_bus.c#11 integrate .. //depot/projects/usb/src/sys/kern/sysv_sem.c#7 integrate .. //depot/projects/usb/src/sys/kern/uipc_debug.c#4 integrate .. //depot/projects/usb/src/sys/kern/uipc_sem.c#8 integrate .. //depot/projects/usb/src/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/usb/src/sys/kern/uipc_socket.c#10 integrate .. //depot/projects/usb/src/sys/kern/vfs_aio.c#8 integrate .. //depot/projects/usb/src/sys/kern/vfs_export.c#5 integrate .. //depot/projects/usb/src/sys/kern/vfs_mount.c#9 integrate .. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/usb/src/sys/mips/include/iodev.h#2 integrate .. //depot/projects/usb/src/sys/mips/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/modules/Makefile#15 integrate .. //depot/projects/usb/src/sys/modules/ath_rate_amrr/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/et/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/ixgbe/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/mii/Makefile#6 integrate .. //depot/projects/usb/src/sys/modules/nfslockd/Makefile#2 integrate .. //depot/projects/usb/src/sys/modules/pecoff/Makefile#2 delete .. //depot/projects/usb/src/sys/modules/ralfw/Makefile#2 integrate .. //depot/projects/usb/src/sys/modules/sem/Makefile#2 integrate .. //depot/projects/usb/src/sys/net/if.c#9 integrate .. //depot/projects/usb/src/sys/net/if_bridge.c#8 integrate .. //depot/projects/usb/src/sys/net/if_gre.c#7 integrate .. //depot/projects/usb/src/sys/net/if_gre.h#3 integrate .. //depot/projects/usb/src/sys/net/if_loop.c#8 integrate .. //depot/projects/usb/src/sys/net/if_tap.c#6 integrate .. //depot/projects/usb/src/sys/net/if_tun.c#6 integrate .. //depot/projects/usb/src/sys/net/if_var.h#7 integrate .. //depot/projects/usb/src/sys/netgraph/netgraph.h#6 integrate .. //depot/projects/usb/src/sys/netinet/in.c#8 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#10 integrate .. //depot/projects/usb/src/sys/netinet/libalias/alias.c#5 integrate .. //depot/projects/usb/src/sys/netinet/libalias/alias_db.c#6 integrate .. //depot/projects/usb/src/sys/netinet/libalias/alias_ftp.c#5 integrate .. //depot/projects/usb/src/sys/netinet/sctp.h#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_asconf.c#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_auth.c#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_bsd_addr.c#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_bsd_addr.h#6 integrate .. //depot/projects/usb/src/sys/netinet/sctp_cc_functions.c#4 integrate .. //depot/projects/usb/src/sys/netinet/sctp_header.h#6 integrate .. //depot/projects/usb/src/sys/netinet/sctp_indata.c#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_input.c#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_lock_bsd.h#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_os_bsd.h#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_output.c#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_pcb.h#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_peeloff.c#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_sysctl.c#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_sysctl.h#6 integrate .. //depot/projects/usb/src/sys/netinet/sctp_timer.c#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_uio.h#7 integrate .. //depot/projects/usb/src/sys/netinet/sctp_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netinet/sctp_var.h#8 integrate .. //depot/projects/usb/src/sys/netinet/sctputil.c#8 integrate .. //depot/projects/usb/src/sys/netinet/tcp_lro.c#1 branch .. //depot/projects/usb/src/sys/netinet/tcp_lro.h#1 branch .. //depot/projects/usb/src/sys/netinet/tcp_syncache.c#11 integrate .. //depot/projects/usb/src/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/usb/src/sys/netinet6/frag6.c#6 integrate .. //depot/projects/usb/src/sys/netinet6/in6_rmx.c#6 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_forward.c#6 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_input.c#9 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/usb/src/sys/netinet6/sctp6_usrreq.c#8 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#4 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_node.c#6 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vfsops.c#8 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vnops.c#9 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsnode.h#5 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_syscalls.c#7 integrate .. //depot/projects/usb/src/sys/nlm/nlm.h#2 integrate .. //depot/projects/usb/src/sys/nlm/nlm_advlock.c#1 branch .. //depot/projects/usb/src/sys/nlm/nlm_prot.h#2 integrate .. //depot/projects/usb/src/sys/nlm/nlm_prot_clnt.c#2 integrate .. //depot/projects/usb/src/sys/nlm/nlm_prot_impl.c#3 integrate .. //depot/projects/usb/src/sys/nlm/nlm_prot_server.c#2 integrate .. //depot/projects/usb/src/sys/pc98/conf/NOTES#8 integrate .. //depot/projects/usb/src/sys/pc98/include/pecoff_machdep.h#2 delete .. //depot/projects/usb/src/sys/pci/if_rl.c#7 integrate .. //depot/projects/usb/src/sys/pci/if_rlreg.h#8 integrate .. //depot/projects/usb/src/sys/pci/nfsmb.c#7 integrate .. //depot/projects/usb/src/sys/pci/viapm.c#6 integrate .. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#3 integrate .. //depot/projects/usb/src/sys/powerpc/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/powerpc/powermac/grackle.c#4 integrate .. //depot/projects/usb/src/sys/powerpc/powermac/macio.c#4 integrate .. //depot/projects/usb/src/sys/powerpc/powermac/uninorth.c#5 integrate .. //depot/projects/usb/src/sys/rpc/auth_unix.c#2 integrate .. //depot/projects/usb/src/sys/rpc/authunix_prot.c#2 integrate .. //depot/projects/usb/src/sys/rpc/clnt.h#2 integrate .. //depot/projects/usb/src/sys/rpc/clnt_dg.c#2 integrate .. //depot/projects/usb/src/sys/rpc/clnt_rc.c#2 integrate .. //depot/projects/usb/src/sys/rpc/clnt_vc.c#2 integrate .. //depot/projects/usb/src/sys/rpc/rpcb_clnt.c#2 integrate .. //depot/projects/usb/src/sys/rpc/svc_vc.c#2 integrate .. //depot/projects/usb/src/sys/security/audit/audit_pipe.c#7 integrate .. //depot/projects/usb/src/sys/security/audit/audit_worker.c#8 integrate .. //depot/projects/usb/src/sys/security/mac/mac_framework.h#6 integrate .. //depot/projects/usb/src/sys/security/mac/mac_inet.c#7 integrate .. //depot/projects/usb/src/sys/security/mac/mac_policy.h#6 integrate .. //depot/projects/usb/src/sys/security/mac/mac_posix_sem.c#6 integrate .. //depot/projects/usb/src/sys/security/mac_biba/mac_biba.c#6 integrate .. //depot/projects/usb/src/sys/security/mac_lomac/mac_lomac.c#7 integrate .. //depot/projects/usb/src/sys/security/mac_mls/mac_mls.c#7 integrate .. //depot/projects/usb/src/sys/security/mac_stub/mac_stub.c#7 integrate .. //depot/projects/usb/src/sys/security/mac_test/mac_test.c#7 integrate .. //depot/projects/usb/src/sys/sparc64/include/in_cksum.h#2 integrate .. //depot/projects/usb/src/sys/sparc64/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/sun4v/include/in_cksum.h#2 integrate .. //depot/projects/usb/src/sys/sun4v/include/memdev.h#2 integrate .. //depot/projects/usb/src/sys/sys/apm.h#3 integrate .. //depot/projects/usb/src/sys/sys/bus.h#6 integrate .. //depot/projects/usb/src/sys/sys/conf.h#7 integrate .. //depot/projects/usb/src/sys/sys/fcntl.h#3 integrate .. //depot/projects/usb/src/sys/sys/file.h#5 integrate .. //depot/projects/usb/src/sys/sys/ioctl.h#2 integrate .. //depot/projects/usb/src/sys/sys/ioctl_compat.h#3 integrate .. //depot/projects/usb/src/sys/sys/jail.h#5 integrate .. //depot/projects/usb/src/sys/sys/ksem.h#2 integrate .. //depot/projects/usb/src/sys/sys/lockf.h#4 integrate .. //depot/projects/usb/src/sys/sys/mount.h#8 integrate .. //depot/projects/usb/src/sys/sys/param.h#11 integrate .. //depot/projects/usb/src/sys/sys/priv.h#6 integrate .. //depot/projects/usb/src/sys/sys/semaphore.h#2 integrate .. //depot/projects/usb/src/sys/sys/socketvar.h#7 integrate .. //depot/projects/usb/src/sys/sys/systm.h#9 integrate .. //depot/projects/usb/src/sys/sys/ttychars.h#2 delete .. //depot/projects/usb/src/sys/sys/ttydev.h#2 delete .. //depot/projects/usb/src/sys/sys/umtx.h#8 integrate .. //depot/projects/usb/src/sys/sys/user.h#5 integrate .. //depot/projects/usb/src/sys/vm/vm_kern.c#7 integrate .. //depot/projects/usb/src/sys/vm/vm_map.c#10 integrate .. //depot/projects/usb/src/sys/vm/vnode_pager.c#9 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/bpf_jit_machdep.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.4 2006/01/03 20:26:02 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.6 2008/06/24 20:12:12 jkim Exp $"); #include "opt_bpf.h" @@ -132,11 +132,11 @@ /* create the procedure header */ PUSH(RBP); - MOVrq(RBP, RSP); - MOVoqd(RBP, -8, ESI); - MOVoqd(RBP, -12, EDX); + MOVrq(RSP, RBP); + MOVdoq(ESI, -8, RBP); + MOVdoq(EDX, -12, RBP); PUSH(RBX); - MOVrq(RBX, RDI); + MOVrq(RDI, RBX); for (i = 0; i < nins; i++) { stream.bpf_pc++; @@ -146,7 +146,7 @@ return NULL; case BPF_RET|BPF_K: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); POP(RBX); LEAVE_RET(); break; @@ -157,119 +157,119 @@ break; case BPF_LD|BPF_W|BPF_ABS: - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LD|BPF_W|BPF_LEN: - MOVodd(EAX, RBP, -8); + MOVoqd(-8, RBP, EAX); break; case BPF_LDX|BPF_W|BPF_LEN: - MOVodd(EDX, RBP, -8); + MOVoqd(-8, RBP, EDX); break; case BPF_LD|BPF_W|BPF_IND: - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LDX|BPF_MSH|BPF_B: - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - ZERO_EDX(); - MOVobb(DL, RBX, RCX); - ANDib(DL, 0xf); - SHLib(EDX, 2); + ZEROrd(EDX); + MOVobb(RBX, RCX, DL); + ANDib(0xf, DL); + SHLib(2, EDX); break; case BPF_LD|BPF_IMM: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); break; case BPF_LDX|BPF_IMM: - MOVid(EDX, ins->k); + MOVid(ins->k, EDX); break; case BPF_LD|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EAX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EAX); break; case BPF_LDX|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EDX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EDX); break; case BPF_ST: @@ -278,15 +278,15 @@ * be optimized if the previous instruction * was already of this type */ - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EAX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EAX, RCX, RSI); break; case BPF_STX: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EDX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EDX, RCX, RSI); break; case BPF_JMP|BPF_JA: @@ -295,7 +295,7 @@ break; case BPF_JMP|BPF_JGT|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); /* 5 is the size of the following JMP */ JG(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5 ); @@ -304,7 +304,7 @@ break; case BPF_JMP|BPF_JGE|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JGE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -312,7 +312,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -320,8 +320,8 @@ break; case BPF_JMP|BPF_JSET|BPF_K: - MOVrd(ECX, EAX); - ANDid(ECX, ins->k); + MOVrd(EAX, ECX); + ANDid(ins->k, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -329,7 +329,7 @@ break; case BPF_JMP|BPF_JGT|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JA(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -337,7 +337,7 @@ break; case BPF_JMP|BPF_JGE|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JAE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -345,7 +345,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -353,8 +353,8 @@ break; case BPF_JMP|BPF_JSET|BPF_X: - MOVrd(ECX, EAX); - ANDrd(ECX, EDX); + MOVrd(EAX, ECX); + ANDrd(EDX, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -362,46 +362,46 @@ break; case BPF_ALU|BPF_ADD|BPF_X: - ADDrd(EAX, EDX); + ADDrd(EDX, EAX); break; case BPF_ALU|BPF_SUB|BPF_X: - SUBrd(EAX, EDX); + SUBrd(EDX, EAX); break; case BPF_ALU|BPF_MUL|BPF_X: + MOVrd(EDX, ECX); + MULrd(EDX); MOVrd(ECX, EDX); - MULrd(EDX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_DIV|BPF_X: - CMPid(EDX, 0); + CMPid(0, EDX); JNEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); + MOVrd(EDX, ECX); + ZEROrd(EDX); + DIVrd(ECX); MOVrd(ECX, EDX); - ZERO_EDX(); - DIVrd(ECX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_AND|BPF_X: - ANDrd(EAX, EDX); + ANDrd(EDX, EAX); break; case BPF_ALU|BPF_OR|BPF_X: - ORrd(EAX, EDX); + ORrd(EDX, EAX); break; case BPF_ALU|BPF_LSH|BPF_X: - MOVrd(ECX, EDX); + MOVrd(EDX, ECX); SHL_CLrb(EAX); break; case BPF_ALU|BPF_RSH|BPF_X: - MOVrd(ECX, EDX); + MOVrd(EDX, ECX); SHR_CLrb(EAX); break; @@ -414,34 +414,34 @@ break; case BPF_ALU|BPF_MUL|BPF_K: + MOVrd(EDX, ECX); + MOVid(ins->k, EDX); + MULrd(EDX); MOVrd(ECX, EDX); - MOVid(EDX, ins->k); - MULrd(EDX); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_DIV|BPF_K: + MOVrd(EDX, ECX); + ZEROrd(EDX); + MOVid(ins->k, ESI); + DIVrd(ESI); MOVrd(ECX, EDX); - ZERO_EDX(); - MOVid(ESI, ins->k); - DIVrd(ESI); - MOVrd(EDX, ECX); break; case BPF_ALU|BPF_AND|BPF_K: - ANDid(EAX, ins->k); + ANDid(ins->k, EAX); break; case BPF_ALU|BPF_OR|BPF_K: - ORid(EAX, ins->k); + ORid(ins->k, EAX); break; case BPF_ALU|BPF_LSH|BPF_K: - SHLib(EAX, (ins->k) & 255); + SHLib((ins->k) & 0xff, EAX); break; case BPF_ALU|BPF_RSH|BPF_K: - SHRib(EAX, (ins->k) & 255); + SHRib((ins->k) & 0xff, EAX); break; case BPF_ALU|BPF_NEG: @@ -449,11 +449,11 @@ break; case BPF_MISC|BPF_TAX: - MOVrd(EDX, EAX); + MOVrd(EAX, EDX); break; case BPF_MISC|BPF_TXA: - MOVrd(EAX, EDX); + MOVrd(EDX, EAX); break; } ins++; ==== //depot/projects/usb/src/sys/amd64/amd64/bpf_jit_machdep.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.3 2005/12/06 20:11:07 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.5 2008/06/24 20:12:12 jkim Exp $ */ #ifndef _BPF_JIT_MACHDEP_H_ @@ -104,254 +104,252 @@ * native Instruction Macros */ -/* mov r32,i32 */ -#define MOVid(r32, i32) do { \ +/* movl i32,r32 */ +#define MOVid(i32, r32) do { \ emitm(&stream, (11 << 4) | (1 << 3) | (r32 & 0x7), 1); \ emitm(&stream, i32, 4); \ } while (0) -/* mov r64,i64 */ -#define MOViq(r64, i64) do { \ +/* movq i64,r64 */ +#define MOViq(i64, r64) do { \ emitm(&stream, 0x48, 1); \ emitm(&stream, (11 << 4) | (1 << 3) | (r64 & 0x7), 1); \ emitm(&stream, i64, 4); \ emitm(&stream, (i64 >> 32), 4); \ } while (0) -/* mov dr32,sr32 */ -#define MOVrd(dr32, sr32) do { \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movl sr32,dr32 */ +#define MOVrd(sr32, dr32) do { \ + emitm(&stream, 0x89, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* mov dr64,sr64 */ -#define MOVrq(dr64, sr64) do { \ - emitm(&stream, 0x48, 1); \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movq sr64,dr64 */ +#define MOVrq(sr64, dr64) do { \ + emitm(&stream, 0x8948, 2); \ emitm(&stream, \ - (3 << 6) | ((dr64 & 0x7) << 3) | (sr64 & 0x7), 1); \ + (3 << 6) | ((sr64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) -/* mov dr32,sr64[off] */ -#define MOVodd(dr32, sr64, off) do { \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movl off(sr64),dr32 */ +#define MOVoqd(off, sr64, dr32) do { \ + emitm(&stream, 0x8b, 1); \ emitm(&stream, \ (1 << 6) | ((dr32 & 0x7) << 3) | (sr64 & 0x7), 1); \ emitm(&stream, off, 1); \ } while (0) -/* mov dr64[off],sr32 */ -#define MOVoqd(dr64, off, sr32) do { \ - emitm(&stream, (8 << 4) | 1 | (1 << 3), 1); \ +/* movl sr32,off(dr64) */ +#define MOVdoq(sr32, off, dr64) do { \ + emitm(&stream, 0x89, 1); \ emitm(&stream, \ (1 << 6) | ((sr32 & 0x7) << 3) | (dr64 & 0x7), 1); \ emitm(&stream, off, 1); \ } while (0) -/* mov dr32,sr64[or64] */ -#define MOVobd(dr32, sr64, or64) do { \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ +/* movl (sr64,or64,1),dr32 */ +#define MOVobd(sr64, or64, dr32) do { \ + emitm(&stream, 0x8b, 1); \ emitm(&stream, ((dr32 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (sr64 & 0x7), 1); \ } while (0) -/* mov dr16,sr64[or64] */ -#define MOVobw(dr32, sr64, or64) do { \ - emitm(&stream, 0x66, 1); \ - emitm(&stream, (8 << 4) | 3 | (1 << 3), 1); \ - emitm(&stream, ((dr32 & 0x7) << 3) | 4, 1); \ +/* movw (sr64,or64,1),dr16 */ +#define MOVobw(sr64, or64, dr16) do { \ + emitm(&stream, 0x8b66, 2); \ + emitm(&stream, ((dr16 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (sr64 & 0x7), 1); \ } while (0) -/* mov dr8,sr64[or64] */ -#define MOVobb(dr8, sr64, or64) do { \ +/* movb (sr64,or64,1),dr8 */ +#define MOVobb(sr64, or64, dr8) do { \ emitm(&stream, 0x8a, 1); \ emitm(&stream, ((dr8 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (sr64 & 0x7), 1); \ } while (0) -/* mov [dr64][or64],sr32 */ -#define MOVomd(dr64, or64, sr32) do { \ +/* movl sr32,(dr64,or64,1) */ +#define MOVomd(sr32, dr64, or64) do { \ emitm(&stream, 0x89, 1); \ emitm(&stream, ((sr32 & 0x7) << 3) | 4, 1); \ emitm(&stream, ((or64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) -/* bswap dr32 */ +/* bswapl dr32 */ #define BSWAP(dr32) do { \ emitm(&stream, 0xf, 1); \ emitm(&stream, (0x19 << 3) | dr32, 1); \ } while (0) -/* xchg al,ah */ +/* xchgb %al,%ah */ #define SWAP_AX() do { \ - emitm(&stream, 0x86, 1); \ - emitm(&stream, 0xc4, 1); \ + emitm(&stream, 0xc486, 2); \ } while (0) -/* push r64 */ +/* pushq r64 */ #define PUSH(r64) do { \ emitm(&stream, (5 << 4) | (0 << 3) | (r64 & 0x7), 1); \ } while (0) -/* pop r64 */ +/* popq r64 */ #define POP(r64) do { \ emitm(&stream, (5 << 4) | (1 << 3) | (r64 & 0x7), 1); \ } while (0) -/* leave/ret */ +/* leaveq/retq */ #define LEAVE_RET() do { \ - emitm(&stream, 0xc9, 1); \ - emitm(&stream, 0xc3, 1); \ + emitm(&stream, 0xc3c9, 2); \ } while (0) -/* add dr32,sr32 */ -#define ADDrd(dr32, sr32) do { \ - emitm(&stream, 0x03, 1); \ +/* addl sr32,dr32 */ +#define ADDrd(sr32, dr32) do { \ + emitm(&stream, 0x01, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* add eax,i32 */ +/* addl i32,%eax */ #define ADD_EAXi(i32) do { \ emitm(&stream, 0x05, 1); \ emitm(&stream, i32, 4); \ } while (0) -/* add r32,i32 */ -#define ADDid(r32, i32) do { \ +/* addl i32,r32 */ +#define ADDid(i32, r32) do { \ emitm(&stream, 0x81, 1); \ emitm(&stream, (24 << 3) | r32, 1); \ emitm(&stream, i32, 4); \ } while (0) -/* add r32,i8 */ -#define ADDib(r32, i8) do { \ +/* addl i8,r32 */ +#define ADDib(i8, r32) do { \ emitm(&stream, 0x83, 1); \ emitm(&stream, (24 << 3) | r32, 1); \ emitm(&stream, i8, 1); \ } while (0) -/* sub dr32,sr32 */ -#define SUBrd(dr32, sr32) do { \ - emitm(&stream, 0x2b, 1); \ +/* subl sr32,dr32 */ +#define SUBrd(sr32, dr32) do { \ + emitm(&stream, 0x29, 1); \ emitm(&stream, \ - (3 << 6) | ((dr32 & 0x7) << 3) | (sr32 & 0x7), 1); \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) -/* sub eax,i32 */ +/* subl i32,%eax */ #define SUB_EAXi(i32) do { \ emitm(&stream, 0x2d, 1); \ emitm(&stream, i32, 4); \ } while (0) -/* mul r32 */ +/* mull r32 */ #define MULrd(r32) do { \ emitm(&stream, 0xf7, 1); \ emitm(&stream, (7 << 5) | (r32 & 0x7), 1); \ } while (0) -/* div r32 */ +/* divl r32 */ #define DIVrd(r32) do { \ emitm(&stream, 0xf7, 1); \ emitm(&stream, (15 << 4) | (r32 & 0x7), 1); \ } while (0) -/* and r8,i8 */ -#define ANDib(r8, i8) do { \ - emitm(&stream, 0x80, 1); \ - emitm(&stream, (7 << 5) | r8, 1); \ +/* andb i8,r8 */ +#define ANDib(i8, r8) do { \ + if (r8 == AL) { \ + emitm(&stream, 0x24, 1); \ + } else { \ + emitm(&stream, 0x80, 1); \ + emitm(&stream, (7 << 5) | r8, 1); \ + } \ emitm(&stream, i8, 1); \ } while (0) -/* and r32,i32 */ -#define ANDid(r32, i32) do { \ +/* andl i32,r32 */ +#define ANDid(i32, r32) do { \ if (r32 == EAX) { \ emitm(&stream, 0x25, 1); \ - emitm(&stream, i32, 4); \ } else { \ emitm(&stream, 0x81, 1); \ emitm(&stream, (7 << 5) | r32, 1); \ - emitm(&stream, i32, 4); \ } \ + emitm(&stream, i32, 4); \ } while (0) -/* and dr32,sr32 */ -#define ANDrd(dr32, sr32) do { \ - emitm(&stream, 0x23, 1); \ +/* andl sr32,dr32 */ +#define ANDrd(sr32, dr32) do { \ + emitm(&stream, 0x21, 1); \ emitm(&stream, \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 3 22:32:26 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 638521065677; Thu, 3 Jul 2008 22:32:26 +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 0CD741065672 for ; Thu, 3 Jul 2008 22:32:26 +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 0592B8FC14 for ; Thu, 3 Jul 2008 22:32:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63MWPcn038851 for ; Thu, 3 Jul 2008 22:32:25 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63MWPdl038849 for perforce@freebsd.org; Thu, 3 Jul 2008 22:32:25 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 22:32:25 GMT Message-Id: <200807032232.m63MWPdl038849@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 144575 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, 03 Jul 2008 22:32:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=144575 Change 144575 by hselasky@hselasky_laptop001 on 2008/07/03 22:31:42 Remove some old files. Affected files ... .. //depot/projects/usb/src/sys/dev/sound/pcm.old/ac97.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/ac97.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/ac97_if.m#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/ac97_patch.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/ac97_patch.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/buffer.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/buffer.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/channel.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/channel.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/channel_if.m#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/dsp.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/dsp.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/fake.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/feeder.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/feeder.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/feeder_fmt.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/feeder_if.m#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/feeder_rate.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/feeder_volume.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/mixer.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/mixer.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/mixer_if.m#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/sndstat.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/sound.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/sound.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/vchan.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/pcm.old/vchan.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/usb.old/uaudio.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/usb.old/uaudio.h#2 delete .. //depot/projects/usb/src/sys/dev/sound/usb.old/uaudio_pcm.c#2 delete .. //depot/projects/usb/src/sys/dev/sound/usb.old/uaudioreg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/FILES#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/dsbr100io.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ehci.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ehci_pci.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ehcireg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ehcivar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/hid.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/hid.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_aue.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_auereg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_axe.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_axereg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_cdce.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_cdcereg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_cue.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_cuereg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_kue.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_kuereg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_rue.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_ruereg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_udav.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_udavreg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_ural.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_uralreg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/if_uralvar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/kue_fw.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ohci.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ohci_pci.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ohcireg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ohcivar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/rio500_usb.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/sl811hs.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/sl811hsreg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/sl811hsvar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/slhci_pccard.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ubsa.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ubser.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ubser.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ucom.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ucomvar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ucycom.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/udbp.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/udbp.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ufm.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ufoma.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uftdi.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uftdireg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ugen.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ugraphire_rdesc.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uhci.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uhci_pci.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uhcireg.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uhcivar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uhid.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uhub.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ukbd.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ulpt.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/umass.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/umct.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/umodem.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/ums.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uplcom.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/urio.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_ethersubr.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_ethersubr.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_if.m#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_mem.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_mem.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_port.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_quirks.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_quirks.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usb_subr.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbcdc.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbdevs#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbdi.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbdi.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbdi_util.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbdi_util.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbdivar.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/usbhid.h#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uscanner.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uvisor.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uvscom.c#2 delete .. //depot/projects/usb/src/sys/dev/usb.old/uxb360gp_rdesc.h#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 3 22:39:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7CCD01065678; Thu, 3 Jul 2008 22:39:33 +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 3EE671065675 for ; Thu, 3 Jul 2008 22:39:33 +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 38CE48FC13 for ; Thu, 3 Jul 2008 22:39:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63MdX9s039517 for ; Thu, 3 Jul 2008 22:39:33 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63MdX1X039515 for perforce@freebsd.org; Thu, 3 Jul 2008 22:39:33 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 22:39:33 GMT Message-Id: <200807032239.m63MdX1X039515@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 144577 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, 03 Jul 2008 22:39:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=144577 Change 144577 by hselasky@hselasky_laptop001 on 2008/07/03 22:38:57 This is the first step making the old USB stack compile together with the new USB stack. Remove files that did not initially exist in the old USB stack. Note that all of these files now reside under /sys/dev/usb2 . Affected files ... .. //depot/projects/usb/src/sys/arm/at91/at91_udp.c#7 delete .. //depot/projects/usb/src/sys/dev/usb/README#37 delete .. //depot/projects/usb/src/sys/dev/usb/at9100_dci.c#19 delete .. //depot/projects/usb/src/sys/dev/usb/at9100_dci.h#5 delete .. //depot/projects/usb/src/sys/dev/usb/ehci.h#27 delete .. //depot/projects/usb/src/sys/dev/usb/if_kuefw.h#7 delete .. //depot/projects/usb/src/sys/dev/usb/if_rumfw.h#3 delete .. //depot/projects/usb/src/sys/dev/usb/ohci.h#22 delete .. //depot/projects/usb/src/sys/dev/usb/ugensa.c#23 delete .. //depot/projects/usb/src/sys/dev/usb/uhci.h#22 delete .. //depot/projects/usb/src/sys/dev/usb/umoscom.c#19 delete .. //depot/projects/usb/src/sys/dev/usb/usb_cdc.h#9 delete .. //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#20 delete .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#27 delete .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#9 delete .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#16 delete .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#11 delete .. //depot/projects/usb/src/sys/dev/usb/usb_rdesc.h#4 delete .. //depot/projects/usb/src/sys/dev/usb/usb_requests.c#22 delete .. //depot/projects/usb/src/sys/dev/usb/usb_style.sh#5 delete .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#104 delete .. //depot/projects/usb/src/sys/dev/usb/usb_template.c#17 delete .. //depot/projects/usb/src/sys/dev/usb/usb_template.h#10 delete .. //depot/projects/usb/src/sys/dev/usb/usb_template_cdce.c#8 delete .. //depot/projects/usb/src/sys/dev/usb/usb_template_msc.c#3 delete .. //depot/projects/usb/src/sys/dev/usb/usb_template_mtp.c#2 delete .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#127 delete .. //depot/projects/usb/src/sys/dev/usb/uss820_dci.c#14 delete .. //depot/projects/usb/src/sys/dev/usb/uss820_dci.h#7 delete .. //depot/projects/usb/src/sys/dev/usb/uss820_dci_pccard.c#3 delete .. //depot/projects/usb/src/sys/dev/usb/ustorage_fs.c#4 delete .. //depot/projects/usb/src/sys/modules/ugensa/Makefile#5 delete .. //depot/projects/usb/src/sys/modules/umoscom/Makefile#5 delete .. //depot/projects/usb/src/sys/modules/uss820_dci/Makefile#2 delete .. //depot/projects/usb/src/sys/modules/ustorage_fs/Makefile#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 3 23:00:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC57D106568D; Thu, 3 Jul 2008 23:00: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 544B11065681 for ; Thu, 3 Jul 2008 23:00:58 +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 4CD848FC12 for ; Thu, 3 Jul 2008 23:00:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63N0wlS041403 for ; Thu, 3 Jul 2008 23:00:58 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63N0sFN041397 for perforce@freebsd.org; Thu, 3 Jul 2008 23:00:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 23:00:54 GMT Message-Id: <200807032300.m63N0sFN041397@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 144578 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, 03 Jul 2008 23:00:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=144578 Change 144578 by hselasky@hselasky_laptop001 on 2008/07/03 23:00:00 This is the second step making the old USB stack compile together with the new USB stack. Restore old USB stack. Note that the new USB stack now resides under /sys/dev/usb2 . Affected files ... .. //depot/projects/usb/src/sys/amd64/conf/NOTES#11 integrate .. //depot/projects/usb/src/sys/arm/at91/files.at91#5 integrate .. //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#17 integrate .. //depot/projects/usb/src/sys/arm/conf/KB920X#9 integrate .. //depot/projects/usb/src/sys/conf/NOTES#15 integrate .. //depot/projects/usb/src/sys/conf/files#29 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#37 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#8 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#34 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.h#7 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio_pcm.c#10 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/FILES#3 branch .. //depot/projects/usb/src/sys/dev/usb/dsbr100io.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/ehci.c#81 integrate .. //depot/projects/usb/src/sys/dev/usb/ehci_pci.c#36 integrate .. //depot/projects/usb/src/sys/dev/usb/ehcireg.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/ehcivar.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/hid.c#5 branch .. //depot/projects/usb/src/sys/dev/usb/hid.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#48 integrate .. //depot/projects/usb/src/sys/dev/usb/if_auereg.h#15 integrate .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#51 integrate .. //depot/projects/usb/src/sys/dev/usb/if_axereg.h#19 integrate .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#51 integrate .. //depot/projects/usb/src/sys/dev/usb/if_cdcereg.h#18 integrate .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#44 integrate .. //depot/projects/usb/src/sys/dev/usb/if_cuereg.h#14 integrate .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#46 integrate .. //depot/projects/usb/src/sys/dev/usb/if_kuereg.h#13 integrate .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#43 integrate .. //depot/projects/usb/src/sys/dev/usb/if_ruereg.h#14 integrate .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#34 integrate .. //depot/projects/usb/src/sys/dev/usb/if_rumreg.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/if_rumvar.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#47 integrate .. //depot/projects/usb/src/sys/dev/usb/if_udavreg.h#12 integrate .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#60 integrate .. //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#17 integrate .. //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#23 integrate .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#42 integrate .. //depot/projects/usb/src/sys/dev/usb/if_zydfw.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#17 integrate .. //depot/projects/usb/src/sys/dev/usb/kue_fw.h#5 branch .. //depot/projects/usb/src/sys/dev/usb/ohci.c#65 integrate .. //depot/projects/usb/src/sys/dev/usb/ohci_pci.c#31 integrate .. //depot/projects/usb/src/sys/dev/usb/ohcireg.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/ohcivar.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/rio500_usb.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/rt2573_ucode.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/sl811hs.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/sl811hsreg.h#4 integrate .. //depot/projects/usb/src/sys/dev/usb/sl811hsvar.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/slhci_pccard.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/uark.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/ubsa.c#42 integrate .. //depot/projects/usb/src/sys/dev/usb/ubser.c#31 integrate .. //depot/projects/usb/src/sys/dev/usb/ubser.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/uchcom.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/ucom.c#31 integrate .. //depot/projects/usb/src/sys/dev/usb/ucomvar.h#16 integrate .. //depot/projects/usb/src/sys/dev/usb/ucycom.c#35 integrate .. //depot/projects/usb/src/sys/dev/usb/udbp.c#27 integrate .. //depot/projects/usb/src/sys/dev/usb/udbp.h#9 integrate .. //depot/projects/usb/src/sys/dev/usb/ufm.c#20 integrate .. //depot/projects/usb/src/sys/dev/usb/ufoma.c#41 integrate .. //depot/projects/usb/src/sys/dev/usb/uftdi.c#38 integrate .. //depot/projects/usb/src/sys/dev/usb/uftdireg.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/ugen.c#43 integrate .. //depot/projects/usb/src/sys/dev/usb/ugraphire_rdesc.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/uhci.c#63 integrate .. //depot/projects/usb/src/sys/dev/usb/uhci_pci.c#33 integrate .. //depot/projects/usb/src/sys/dev/usb/uhcireg.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/uhcivar.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/uhid.c#33 integrate .. //depot/projects/usb/src/sys/dev/usb/uhub.c#34 integrate .. //depot/projects/usb/src/sys/dev/usb/uipaq.c#26 integrate .. //depot/projects/usb/src/sys/dev/usb/ukbd.c#44 integrate .. //depot/projects/usb/src/sys/dev/usb/ulpt.c#45 integrate .. //depot/projects/usb/src/sys/dev/usb/umass.c#49 integrate .. //depot/projects/usb/src/sys/dev/usb/umct.c#33 integrate .. //depot/projects/usb/src/sys/dev/usb/umodem.c#43 integrate .. //depot/projects/usb/src/sys/dev/usb/ums.c#45 integrate .. //depot/projects/usb/src/sys/dev/usb/uplcom.c#44 integrate .. //depot/projects/usb/src/sys/dev/usb/urio.c#27 integrate .. //depot/projects/usb/src/sys/dev/usb/usb.c#36 integrate .. //depot/projects/usb/src/sys/dev/usb/usb.h#33 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_ethersubr.c#6 branch .. //depot/projects/usb/src/sys/dev/usb/usb_ethersubr.h#5 branch .. //depot/projects/usb/src/sys/dev/usb/usb_if.m#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mem.c#3 branch .. //depot/projects/usb/src/sys/dev/usb/usb_mem.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/usb_port.h#27 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#18 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_quirks.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#107 integrate .. //depot/projects/usb/src/sys/dev/usb/usbcdc.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/usbdevs#20 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdi.c#3 branch .. //depot/projects/usb/src/sys/dev/usb/usbdi.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/usbdi_util.c#3 branch .. //depot/projects/usb/src/sys/dev/usb/usbdi_util.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/usbdivar.h#3 branch .. //depot/projects/usb/src/sys/dev/usb/usbhid.h#5 integrate .. //depot/projects/usb/src/sys/dev/usb/uscanner.c#30 integrate .. //depot/projects/usb/src/sys/dev/usb/uslcom.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/uvisor.c#37 integrate .. //depot/projects/usb/src/sys/dev/usb/uvscom.c#40 integrate .. //depot/projects/usb/src/sys/dev/usb/uxb360gp_rdesc.h#3 branch .. //depot/projects/usb/src/sys/modules/Makefile#16 integrate .. //depot/projects/usb/src/sys/modules/ata/atausb/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/aue/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/axe/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/cdce/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/cue/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/if_ndis/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/kue/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ndis/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/netgraph/bluetooth/ubt/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/rue/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/rum/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/slhci/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/sound/driver/uaudio/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/uark/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ubsa/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/ubser/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/uchcom/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/ucom/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/ucycom/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/udav/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/udbp/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ufm/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ufoma/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/uftdi/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/ugen/Makefile#7 integrate .. //depot/projects/usb/src/sys/modules/uhid/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/uipaq/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ukbd/Makefile#7 integrate .. //depot/projects/usb/src/sys/modules/ulpt/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/umass/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/umct/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/umodem/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/ums/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/uplcom/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/ural/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/urio/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/usb/Makefile#10 integrate .. //depot/projects/usb/src/sys/modules/uscanner/Makefile#4 integrate .. //depot/projects/usb/src/sys/modules/uslcom/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/uvisor/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/uvscom/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/zyd/Makefile#3 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/TODO#3 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#28 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#11 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#23 integrate .. //depot/projects/usb/src/sys/pc98/conf/NOTES#9 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/conf/NOTES#11 (text+ko) ==== @@ -306,6 +306,7 @@ # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # nve: nVidia nForce MCP on-board Ethernet Networking # ral: Ralink Technology IEEE 802.11 wireless adapter +# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter # wpi: Intel 3945ABG Wireless LAN controller device ed ==== //depot/projects/usb/src/sys/arm/at91/files.at91#5 (text) ==== @@ -12,7 +12,7 @@ dependency "spibus_if.h" arm/at91/at91_tc.c optional at91_tc arm/at91/at91_twi.c optional at91_twi -arm/at91/at91_udp.c optional at9100_dci +arm/at91/at91_udp.c optional at91_udp arm/at91/if_ate.c optional ate arm/at91/ohci_atmelarm.c optional ohci arm/at91/uart_bus_at91usart.c optional uart ==== //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#17 (text) ==== @@ -25,31 +25,36 @@ #include __FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.4 2007/10/29 21:01:50 imp Exp $"); -#include "opt_bus.h" - #include #include #include -#include +#include +#include +#include +#include #include -#include -#include +#include +#include +#include -#include #include -#include -#include +#include +#include +#include + +#include +#include #include -#define MEM_RID 0 +#define MEM_RID 0 -static device_probe_t ohci_atmelarm_probe; -static device_attach_t ohci_atmelarm_attach; -static device_detach_t ohci_atmelarm_detach; +static int ohci_atmelarm_attach(device_t dev); +static int ohci_atmelarm_detach(device_t dev); -struct at91_ohci_softc { - struct ohci_softc sc_ohci; /* must be first */ +struct at91_ohci_softc +{ + struct ohci_softc sc_ohci; struct at91_pmc_clock *iclk; struct at91_pmc_clock *fclk; }; @@ -57,7 +62,7 @@ static int ohci_atmelarm_probe(device_t dev) { - device_set_desc(dev, "AT91 integrated OHCI controller"); + device_set_desc(dev, "AT91 integrated ohci controller"); return (BUS_PROBE_DEFAULT); } @@ -68,99 +73,96 @@ int err; int rid; - if (sc == NULL) { - return (ENXIO); - } - /* get all DMA memory */ - - if (usbd_bus_mem_alloc_all(&(sc->sc_ohci.sc_bus), - device_get_dma_tag(dev), &ohci_iterate_hw_softc)) { - return ENOMEM; - } + sc->iclk = at91_pmc_clock_ref("ohci_clk"); sc->fclk = at91_pmc_clock_ref("uhpck"); - sc->sc_ohci.sc_dev = dev; - rid = MEM_RID; - sc->sc_ohci.sc_io_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &rid, RF_ACTIVE); - - if (!(sc->sc_ohci.sc_io_res)) { + sc->sc_ohci.io_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, + RF_ACTIVE); + if (sc->sc_ohci.io_res == NULL) { err = ENOMEM; goto error; } - sc->sc_ohci.sc_io_tag = rman_get_bustag(sc->sc_ohci.sc_io_res); - sc->sc_ohci.sc_io_hdl = rman_get_bushandle(sc->sc_ohci.sc_io_res); - sc->sc_ohci.sc_io_size = rman_get_size(sc->sc_ohci.sc_io_res); + sc->sc_ohci.iot = rman_get_bustag(sc->sc_ohci.io_res); + sc->sc_ohci.ioh = rman_get_bushandle(sc->sc_ohci.io_res); rid = 0; - sc->sc_ohci.sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, + sc->sc_ohci.irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); - if (!(sc->sc_ohci.sc_irq_res)) { + if (sc->sc_ohci.irq_res == NULL) { + err = ENOMEM; goto error; } sc->sc_ohci.sc_bus.bdev = device_add_child(dev, "usb", -1); - if (!(sc->sc_ohci.sc_bus.bdev)) { + if (sc->sc_ohci.sc_bus.bdev == NULL) { + err = ENOMEM; goto error; } - device_set_ivars(sc->sc_ohci.sc_bus.bdev, &(sc->sc_ohci.sc_bus)); - device_set_softc(sc->sc_ohci.sc_bus.bdev, &(sc->sc_ohci.sc_bus)); + device_set_ivars(sc->sc_ohci.sc_bus.bdev, &sc->sc_ohci.sc_bus); - strlcpy(sc->sc_ohci.sc_vendor, "Atmel", sizeof(sc->sc_ohci.sc_vendor)); + /* Allocate a parent dma tag for DMA maps */ + err = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + BUS_SPACE_MAXSIZE_32BIT, USB_DMA_NSEG, BUS_SPACE_MAXSIZE_32BIT, 0, + NULL, NULL, &sc->sc_ohci.sc_bus.parent_dmatag); + if (err) { + device_printf(dev, "Could not allocate parent DMA tag (%d)\n", + err); + err = ENXIO; + goto error; + } - err = usbd_config_td_setup(&(sc->sc_ohci.sc_config_td), sc, - &(sc->sc_ohci.sc_bus.mtx), NULL, 0, 4); + /* Allocate a dma tag for transfer buffers */ + err = bus_dma_tag_create(sc->sc_ohci.sc_bus.parent_dmatag, 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + BUS_SPACE_MAXSIZE_32BIT, USB_DMA_NSEG, BUS_SPACE_MAXSIZE_32BIT, 0, + busdma_lock_mutex, &Giant, &sc->sc_ohci.sc_bus.buffer_dmatag); if (err) { - device_printf(dev, "could not setup config thread!\n"); + device_printf(dev, "Could not allocate transfer tag (%d)\n", + err); + err = ENXIO; goto error; } -#if (__FreeBSD_version >= 700031) - err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - NULL, (void *)ohci_interrupt, sc, &(sc->sc_ohci.sc_intr_hdl)); -#else - err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, - (void *)ohci_interrupt, sc, &(sc->sc_ohci.sc_intr_hdl)); -#endif + + err = bus_setup_intr(dev, sc->sc_ohci.irq_res, INTR_TYPE_BIO, NULL, + ohci_intr, sc, &sc->sc_ohci.ih); if (err) { - sc->sc_ohci.sc_intr_hdl = NULL; + err = ENXIO; goto error; } + strlcpy(sc->sc_ohci.sc_vendor, "Atmel", sizeof(sc->sc_ohci.sc_vendor)); + /* * turn on the clocks from the AT91's point of view. Keep the unit in reset. */ at91_pmc_clock_enable(sc->iclk); at91_pmc_clock_enable(sc->fclk); - bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, - OHCI_CONTROL, 0); + bus_space_write_4(sc->sc_ohci.iot, sc->sc_ohci.ioh, OHCI_CONTROL, 0); - err = ohci_init(&(sc->sc_ohci)); + err = ohci_init(&sc->sc_ohci); if (!err) { + sc->sc_ohci.sc_flags |= OHCI_SCFLG_DONEINIT; err = device_probe_and_attach(sc->sc_ohci.sc_bus.bdev); } + +error:; if (err) { - goto error; + ohci_atmelarm_detach(dev); + return (err); } - return (0); - -error: - ohci_atmelarm_detach(dev); - return (ENXIO); + return (err); } static int ohci_atmelarm_detach(device_t dev) { struct at91_ohci_softc *sc = device_get_softc(dev); - int err; - if (sc->sc_ohci.sc_bus.bdev) { - device_detach(sc->sc_ohci.sc_bus.bdev); - device_delete_child(dev, sc->sc_ohci.sc_bus.bdev); - sc->sc_ohci.sc_bus.bdev = NULL; + if (sc->sc_ohci.sc_flags & OHCI_SCFLG_DONEINIT) { + ohci_detach(&sc->sc_ohci, 0); + sc->sc_ohci.sc_flags &= ~OHCI_SCFLG_DONEINIT; } - /* during module unload there are lots of children leftover */ - device_delete_all_children(dev); /* * Put the controller into reset, then disable clocks and do @@ -171,36 +173,36 @@ * clocks after we disable them, so the system could, in * theory, reuse them. */ - bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, - OHCI_CONTROL, 0); - + bus_space_write_4(sc->sc_ohci.iot, sc->sc_ohci.ioh, OHCI_CONTROL, 0); at91_pmc_clock_disable(sc->fclk); at91_pmc_clock_disable(sc->iclk); at91_pmc_clock_deref(sc->fclk); at91_pmc_clock_deref(sc->iclk); - if (sc->sc_ohci.sc_irq_res && sc->sc_ohci.sc_intr_hdl) { - /* - * only call ohci_detach() after ohci_init() - */ - ohci_detach(&(sc->sc_ohci)); + if (sc->sc_ohci.ih) { + bus_teardown_intr(dev, sc->sc_ohci.irq_res, sc->sc_ohci.ih); + sc->sc_ohci.ih = NULL; + } + + if (sc->sc_ohci.sc_bus.parent_dmatag != NULL) + bus_dma_tag_destroy(sc->sc_ohci.sc_bus.parent_dmatag); + if (sc->sc_ohci.sc_bus.buffer_dmatag != NULL) + bus_dma_tag_destroy(sc->sc_ohci.sc_bus.buffer_dmatag); - err = bus_teardown_intr(dev, sc->sc_ohci.sc_irq_res, sc->sc_ohci.sc_intr_hdl); - sc->sc_ohci.sc_intr_hdl = NULL; + if (sc->sc_ohci.sc_bus.bdev) { + device_delete_child(dev, sc->sc_ohci.sc_bus.bdev); + sc->sc_ohci.sc_bus.bdev = NULL; } - if (sc->sc_ohci.sc_irq_res) { - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_ohci.sc_irq_res); - sc->sc_ohci.sc_irq_res = NULL; + if (sc->sc_ohci.irq_res) { + bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_ohci.irq_res); + sc->sc_ohci.irq_res = NULL; } - if (sc->sc_ohci.sc_io_res) { - bus_release_resource(dev, SYS_RES_MEMORY, MEM_RID, - sc->sc_ohci.sc_io_res); - sc->sc_ohci.sc_io_res = NULL; + if (sc->sc_ohci.io_res) { + bus_release_resource(dev, SYS_RES_MEMORY, MEM_RID, sc->sc_ohci.io_res); + sc->sc_ohci.io_res = NULL; + sc->sc_ohci.iot = 0; + sc->sc_ohci.ioh = 0; } - usbd_config_td_unsetup(&(sc->sc_ohci.sc_config_td)); - - usbd_bus_mem_free_all(&(sc->sc_ohci.sc_bus), &ohci_iterate_hw_softc); - return (0); } ==== //depot/projects/usb/src/sys/arm/conf/KB920X#9 (text) ==== @@ -93,8 +93,7 @@ device bpf # USB support -device ohci # OHCI localbus->USB interface (Host Mode) -device at9100_dci # ADCI localbus->USB interface (Device Mode) +device ohci # OHCI localbus->USB interface device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic ==== //depot/projects/usb/src/sys/conf/NOTES#15 (text+ko) ==== @@ -2409,8 +2409,6 @@ device ufm # Generic USB device driver device ugen -# Generic USB serial driver -device ugensa # Human Interface Device (anything with buttons and dials) device uhid # USB keyboard @@ -2442,8 +2440,6 @@ device uftdi # USB support for some Windows CE based serial communication. device uipaq -# USB support for MOSCHIP serial port adapters -device umoscom # USB support for Prolific PL-2303 serial adapters device uplcom # USB support for Silicon Laboratories CP2101/CP2102 based USB serial adapters ==== //depot/projects/usb/src/sys/conf/files#29 (text+ko) ==== @@ -1265,9 +1265,9 @@ dev/ubsec/ubsec.c optional ubsec # # USB support -dev/usb/at9100_dci.c optional at9100_dci dev/usb/ehci.c optional ehci dev/usb/ehci_pci.c optional ehci pci +dev/usb/hid.c optional usb dev/usb/if_aue.c optional aue dev/usb/if_axe.c optional axe dev/usb/if_cdce.c optional cdce @@ -1288,11 +1288,10 @@ dev/usb/ucom.c optional ucom dev/usb/ucycom.c optional ucycom dev/usb/udbp.c optional udbp +dev/usb/ufoma.c optional ufoma dev/usb/ufm.c optional ufm -dev/usb/ufoma.c optional ufoma dev/usb/uftdi.c optional uftdi dev/usb/ugen.c optional ugen -dev/usb/ugensa.c optional ugensa dev/usb/uhci.c optional uhci dev/usb/uhci_pci.c optional uhci pci dev/usb/uhid.c optional uhid @@ -1303,31 +1302,21 @@ dev/usb/umass.c optional umass dev/usb/umct.c optional umct dev/usb/umodem.c optional umodem -dev/usb/umoscom.c optional umoscom dev/usb/ums.c optional ums dev/usb/uplcom.c optional uplcom dev/usb/urio.c optional urio dev/usb/usb.c optional usb -dev/usb/usb_cdev.c optional usb -dev/usb/usb_hid.c optional usb +dev/usb/usb_ethersubr.c optional usb dev/usb/usb_if.m optional usb +dev/usb/usb_mem.c optional usb dev/usb/usb_quirks.c optional usb -dev/usb/usb_requests.c optional usb dev/usb/usb_subr.c optional usb -dev/usb/usb_template.c optional usb -dev/usb/usb_template_cdce.c optional usb -dev/usb/usb_template_msc.c optional usb -dev/usb/usb_transfer.c optional usb -dev/usb/usb_compat_linux.c optional usb +dev/usb/usbdi.c optional usb +dev/usb/usbdi_util.c optional usb dev/usb/uscanner.c optional uscanner dev/usb/uslcom.c optional uslcom -dev/usb/uss820_dci.c optional uss820_dci -dev/usb/uss820_dci_pccard.c optional uss820_dci pccard -dev/usb/ustorage_fs.c optional ustorage_fs dev/usb/uvisor.c optional uvisor dev/usb/uvscom.c optional uvscom -# End of USB support -# dev/utopia/idtphy.c optional utopia dev/utopia/suni.c optional utopia dev/utopia/utopia.c optional utopia ==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#37 (text) ==== @@ -2,9 +2,6 @@ * 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: @@ -32,1075 +29,946 @@ #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 - +#include +#include +#include #include #include -#define ATAUSB_BULK_SIZE (1<<17) - /* Command Block Wrapper */ struct bbb_cbw { - uint8_t signature[4]; -#define CBWSIGNATURE 0x43425355 + u_int8_t signature[4]; +#define CBWSIGNATURE 0x43425355 - uint8_t tag[4]; - uint8_t transfer_length[4]; - uint8_t flags; -#define CBWFLAGS_OUT 0x00 -#define CBWFLAGS_IN 0x80 + 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 lun; - uint8_t length; -#define CBWCDBLENGTH 16 + u_int8_t lun; + u_int8_t length; +#define CBWCDBLENGTH 16 - uint8_t cdb[CBWCDBLENGTH]; -} __packed; + u_int8_t cdb[CBWCDBLENGTH]; +}; /* Command Status Wrapper */ struct bbb_csw { - uint8_t signature[4]; -#define CSWSIGNATURE 0x53425355 + u_int8_t signature[4]; +#define CSWSIGNATURE 0x53425355 - uint8_t tag[4]; - uint8_t residue[4]; - uint8_t status; -#define CSWSTATUS_GOOD 0x0 -#define CSWSTATUS_FAILED 0x1 -#define CSWSTATUS_PHASE 0x2 -} __packed; + 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 +}; /* USB-ATA 'controller' softc */ struct atausb_softc { - struct bbb_cbw cbw; - struct bbb_csw csw; - struct mtx locked_mtx; + 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 ata_channel *locked_ch; - struct ata_channel *restart_ch; - struct ata_request *ata_request; +#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]; -#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 + 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 -#define ATAUSB_T_MAX ATAUSB_T_BBB_MAX - - struct usbd_xfer *xfer[ATAUSB_T_MAX]; - caddr_t ata_data; - device_t dev; - - uint32_t timeout; - uint32_t ata_donecount; - uint32_t ata_bytecount; - - uint8_t last_xfer_no; - uint8_t usb_speed; - uint8_t intr_stalled; - uint8_t maxlun; - uint8_t iface_no; - uint8_t status_try; + struct mtx locked_mtx; + struct ata_channel *locked_ch; + struct ata_channel *restart_ch; }; -static const int atausbdebug = 0; +static int atausbdebug = 0; -/* prototypes */ - -static device_probe_t atausb_probe; -static device_attach_t atausb_attach; -static device_detach_t atausb_detach; - -static usbd_callback_t atausb_t_bbb_reset1_callback; -static usbd_callback_t atausb_t_bbb_reset2_callback; -static usbd_callback_t atausb_t_bbb_reset3_callback; -static usbd_callback_t atausb_t_bbb_command_callback; -static usbd_callback_t atausb_t_bbb_data_read_callback; -static usbd_callback_t atausb_t_bbb_data_rd_cs_callback; -static usbd_callback_t atausb_t_bbb_data_write_callback; -static usbd_callback_t atausb_t_bbb_data_wr_cs_callback; -static usbd_callback_t atausb_t_bbb_status_callback; -static usbd_callback_t atausb_tr_error; +/* 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 void atausb_cancel_request(struct atausb_softc *sc); -static void atausb_transfer_start(struct atausb_softc *sc, uint8_t xfer_no); -static void atausb_t_bbb_data_clear_stall_callback(struct usbd_xfer *xfer, uint8_t next_xfer, uint8_t stall_xfer); -static int ata_usbchannel_begin_transaction(struct ata_request *request); -static 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 */ - -struct usbd_config atausb_config[ATAUSB_T_BBB_MAX] = { - - [ATAUSB_T_BBB_RESET1] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), - .mh.flags = {}, - .mh.callback = &atausb_t_bbb_reset1_callback, - .mh.timeout = 5000, /* 5 seconds */ - .mh.interval = 500, /* 500 milliseconds */ - }, - - [ATAUSB_T_BBB_RESET2] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), - .mh.flags = {}, - .mh.callback = &atausb_t_bbb_reset2_callback, - .mh.timeout = 5000, /* 5 seconds */ - .mh.interval = 50, /* 50 milliseconds */ - }, - - [ATAUSB_T_BBB_RESET3] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), - .mh.flags = {}, - .mh.callback = &atausb_t_bbb_reset3_callback, - .mh.timeout = 5000, /* 5 seconds */ - .mh.interval = 50, /* 50 milliseconds */ - }, - - [ATAUSB_T_BBB_COMMAND] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_OUT, - .mh.bufsize = sizeof(struct bbb_cbw), - .mh.flags = {}, - .mh.callback = &atausb_t_bbb_command_callback, - .mh.timeout = 5000, /* 5 seconds */ - }, - - [ATAUSB_T_BBB_DATA_READ] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_IN, - .mh.bufsize = ATAUSB_BULK_SIZE, - .mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .mh.callback = &atausb_t_bbb_data_read_callback, - .mh.timeout = 0, /* overwritten later */ - }, - - [ATAUSB_T_BBB_DATA_RD_CS] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), - .mh.flags = {}, - .mh.callback = &atausb_t_bbb_data_rd_cs_callback, - .mh.timeout = 5000, /* 5 seconds */ - }, - - [ATAUSB_T_BBB_DATA_WRITE] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_OUT, - .mh.bufsize = ATAUSB_BULK_SIZE, - .mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .mh.callback = &atausb_t_bbb_data_write_callback, - .mh.timeout = 0, /* overwritten later */ - }, - - [ATAUSB_T_BBB_DATA_WR_CS] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), - .mh.flags = {}, - .mh.callback = &atausb_t_bbb_data_wr_cs_callback, - .mh.timeout = 5000, /* 5 seconds */ - }, - - [ATAUSB_T_BBB_STATUS] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_IN, - .mh.bufsize = sizeof(struct bbb_csw), - .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &atausb_t_bbb_status_callback, - .mh.timeout = 5000, /* ms */ - }, -}; - -static devclass_t atausb_devclass; - -static device_method_t atausb_methods[] = { - DEVMETHOD(device_probe, atausb_probe), - DEVMETHOD(device_attach, atausb_attach), - DEVMETHOD(device_detach, atausb_detach), - {0, 0} -}; - -static driver_t atausb_driver = { - .name = "atausb", - .methods = atausb_methods, - .size = sizeof(struct atausb_softc), -}; - +USB_DECLARE_DRIVER(atausb); DRIVER_MODULE(atausb, uhub, atausb_driver, atausb_devclass, 0, 0); -MODULE_DEPEND(atausb, usb, 1, 1, 1); MODULE_VERSION(atausb, 1); static int -atausb_probe(device_t dev) +atausb_match(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct usb_attach_arg *uaa = device_get_ivars(dev); + usb_interface_descriptor_t *id; + + if (uaa->iface == NULL) + return UMATCH_NONE; + + id = usbd_get_interface_descriptor(uaa->iface); + if (!id || id->bInterfaceClass != UICLASS_MASS) + return UMATCH_NONE; - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); - } - if (uaa->iface == NULL) { - return (UMATCH_NONE); - } - id = usbd_get_interface_descriptor(uaa->iface); - if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { - return (UMATCH_NONE); - } - 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 (UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO); - default: - return (UMATCH_IFACECLASS_IFACESUBCLASS); - } - break; + 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 UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; default: - return (UMATCH_IFACECLASS); + return UMATCH_IFACECLASS_IFACESUBCLASS; } + break; + default: + return UMATCH_IFACECLASS; + } } static int atausb_attach(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; - const char *proto, *subclass; - usb_device_request_t request; - uint16_t i; - uint8_t maxlun; - uint8_t has_intr; - int err; + 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; - if (sc == NULL) { - return (ENOMEM); - } - usbd_set_device_desc(dev); + 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; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jul 3 23:07:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE58B1065676; Thu, 3 Jul 2008 23:07: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 970431065674 for ; Thu, 3 Jul 2008 23:07:04 +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 91AF38FC17 for ; Thu, 3 Jul 2008 23:07:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63N74li043017 for ; Thu, 3 Jul 2008 23:07:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63N74RK043015 for perforce@freebsd.org; Thu, 3 Jul 2008 23:07:04 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 23:07:04 GMT Message-Id: <200807032307.m63N74RK043015@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 144579 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, 03 Jul 2008 23:07:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=144579 Change 144579 by hselasky@hselasky_laptop001 on 2008/07/03 23:06:53 Style. Affected files ... .. //depot/projects/usb/src/sys/arm/at91/at91_piovar.h#6 edit Differences ... ==== //depot/projects/usb/src/sys/arm/at91/at91_piovar.h#6 (text+ko) ==== @@ -25,21 +25,18 @@ /* $FreeBSD: src/sys/arm/at91/at91_piovar.h,v 1.2 2006/07/14 22:22:57 imp Exp $ */ #ifndef ARM_AT91_AT91_PIOVAR_H -#define ARM_AT91_AT91_PIOVAR_H +#define ARM_AT91_AT91_PIOVAR_H -void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup); -void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup); -void at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask); -void at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask); -void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, - int use_pullup); -void at91_pio_gpio_set(uint32_t pio, uint32_t data_mask); -void at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask); -uint8_t at91_pio_gpio_get(uint32_t pio, uint32_t data_mask); -void at91_pio_gpio_set_deglitch(uint32_t pio, uint32_t data_mask, - int use_deglitch); -void at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask, - int enable_interrupt); +void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup); +void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup); +void at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask); +void at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask); +void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, int use_pullup); +void at91_pio_gpio_set(uint32_t pio, uint32_t data_mask); +void at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask); +uint8_t at91_pio_gpio_get(uint32_t pio, uint32_t data_mask); +void at91_pio_gpio_set_deglitch(uint32_t pio, uint32_t data_mask, int use_deglitch); +void at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask, int enable_interrupt); uint32_t at91_pio_gpio_clear_interrupt(uint32_t pio); -#endif /* ARM_AT91_AT91_PIOVAR_H */ +#endif /* ARM_AT91_AT91_PIOVAR_H */ From owner-p4-projects@FreeBSD.ORG Thu Jul 3 23:52:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65B3E1065676; Thu, 3 Jul 2008 23:52:51 +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 1CE131065671 for ; Thu, 3 Jul 2008 23:52:51 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E628B8FC1B for ; Thu, 3 Jul 2008 23:52:50 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63NqoLG046737 for ; Thu, 3 Jul 2008 23:52:50 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63NqoA7046735 for perforce@freebsd.org; Thu, 3 Jul 2008 23:52:50 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 23:52:50 GMT Message-Id: <200807032352.m63NqoA7046735@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144582 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, 03 Jul 2008 23:52:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=144582 Change 144582 by julian@julian_trafmon1 on 2008/07/03 23:51:53 Add missing ';' Affected files ... .. //depot/projects/vimage/src/sys/contrib/pf/net/pfvar.h#5 edit Differences ... ==== //depot/projects/vimage/src/sys/contrib/pf/net/pfvar.h#5 (text+ko) ==== @@ -1861,8 +1861,7 @@ #ifdef VIMAGE struct vnet_pf { struct vnet *parent_vnet; - -} +}; #endif /* From owner-p4-projects@FreeBSD.ORG Thu Jul 3 23:58:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE3FA1065678; Thu, 3 Jul 2008 23:58: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 81E411065672 for ; Thu, 3 Jul 2008 23:58:57 +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 7043B8FC12 for ; Thu, 3 Jul 2008 23:58:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63NwvuW047193 for ; Thu, 3 Jul 2008 23:58:57 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63NwvT0047191 for perforce@freebsd.org; Thu, 3 Jul 2008 23:58:57 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 3 Jul 2008 23:58:57 GMT Message-Id: <200807032358.m63NwvT0047191@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 144583 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, 03 Jul 2008 23:58:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=144583 Change 144583 by hselasky@hselasky_laptop001 on 2008/07/03 23:58:39 Hook in USB2 modules and drivers into the default build. Make USB2 default for KB920X based boards. Affected files ... .. //depot/projects/usb/src/sys/arm/conf/KB920X#10 edit .. //depot/projects/usb/src/sys/conf/files#30 edit .. //depot/projects/usb/src/sys/modules/Makefile#17 edit Differences ... ==== //depot/projects/usb/src/sys/arm/conf/KB920X#10 (text) ==== @@ -92,42 +92,31 @@ device icee device bpf + +device sound # sound support + # USB support -device ohci # OHCI localbus->USB interface -device usb # USB Bus (required) -#device udbp # USB Double Bulk Pipe devices -device ugen # Generic -device uhid # "Human Interface Devices" -device ulpt # Printer -device umass # Disks/Mass storage - Requires scbus and da -device ural # Ralink Technology RT2500USB wireless NICs -device rum # Ralink Technology RT2501USB wireless NICs -device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners +device at91rm9200 +device usb2_core +device usb2_controller # EHCI/OHCI/UHCI/AT91DCI +device usb2_storage # UMASS +device usb2_ethernet +device usb2_wlan +device usb2_serial +device usb2_quirk # USB quirks +device usb2_template # Device Side Mode USB templates +device usb2_image # Scanner support +device usb2_sound # USB sound and MIDI + # USB Ethernet, requires miibus -device miibus -device aue # ADMtek USB Ethernet -device axe # ASIX Electronics USB Ethernet -device cdce # Generic USB over Ethernet -device cue # CATC USB Ethernet -device kue # Kawasaki LSI USB Ethernet -device rue # RealTek RTL8150 USB Ethernet -device udav -# usb serial -device ucom -device uark -device ubsa -device ubser -device uftdi -device uipaq -device uplcom -device uvisor -device uvscom +device miibus + # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) device cd # CD device pass # Passthrough device (direct SCSI access) + # Wireless NIC cards device wlan # 802.11 support device wlan_wep # 802.11 WEP support ==== //depot/projects/usb/src/sys/conf/files#30 (text+ko) ==== @@ -1317,6 +1317,145 @@ dev/usb/uslcom.c optional uslcom dev/usb/uvisor.c optional uvisor dev/usb/uvscom.c optional uvscom +# +# USB2 controller drivers +# +dev/usb2/controller/at91dci.c optional usb2_core usb2_controller +dev/usb2/controller/at91dci_atmelarm.c optional usb2_core usb2_controller at91rm9200 +dev/usb2/controller/ehci2.c optional usb2_core usb2_controller +dev/usb2/controller/ehci2_pci.c optional usb2_core usb2_controller pci +dev/usb2/controller/ohci2.c optional usb2_core usb2_controller +dev/usb2/controller/ohci2_atmelarm.c optional usb2_core usb2_controller at91rm9200 +dev/usb2/controller/ohci2_pci.c optional usb2_core usb2_controller pci +dev/usb2/controller/uhci2.c optional usb2_core usb2_controller +dev/usb2/controller/uhci2_pci.c optional usb2_core usb2_controller pci +dev/usb2/controller/usb2_controller.c optional usb2_core usb2_controller +dev/usb2/controller/uss820dci.c optional usb2_core usb2_controller +dev/usb2/controller/uss820dci_pccard.c optional usb2_core usb2_controller pccard +# +# USB2 storage drivers +# +# NOTE: ata-usb conflicts with umass +# dev/usb2/storage/ata-usb2.c optional usb2_core usb2_storage +# +dev/usb2/storage/umass2.c optional usb2_core usb2_storage +dev/usb2/storage/urio2.c optional usb2_core usb2_storage +dev/usb2/storage/usb2_storage.c optional usb2_core usb2_storage +dev/usb2/storage/ustorage2_fs.c optional usb2_core usb2_storage +# +# USB2 NDIS driver +# +dev/usb2/ndis/if_ndis_usb2.c optional usb2_core usb2_ndis +dev/usb2/ndis/usb2_ndis.c optional usb2_core usb2_ndis +# +# USB2 core +# +dev/usb2/core/usb2_busdma.c optional usb2_core +dev/usb2/core/usb2_compat_linux.c optional usb2_core +dev/usb2/core/usb2_config_td.c optional usb2_core +dev/usb2/core/usb2_core.c optional usb2_core +dev/usb2/core/usb2_debug.c optional usb2_core +dev/usb2/core/usb2_dev.c optional usb2_core +dev/usb2/core/usb2_device.c optional usb2_core +dev/usb2/core/usb2_dynamic.c optional usb2_core +dev/usb2/core/usb2_error.c optional usb2_core +dev/usb2/core/usb2_generic.c optional usb2_core +dev/usb2/core/usb2_handle_request.c optional usb2_core +dev/usb2/core/usb2_hub.c optional usb2_core +dev/usb2/core/usb2_if.m optional usb2_core +dev/usb2/core/usb2_lookup.c optional usb2_core +dev/usb2/core/usb2_mbuf.c optional usb2_core +dev/usb2/core/usb2_msctest.c optional usb2_core +dev/usb2/core/usb2_parse.c optional usb2_core +dev/usb2/core/usb2_process.c optional usb2_core +dev/usb2/core/usb2_request.c optional usb2_core +dev/usb2/core/usb2_sw_transfer.c optional usb2_core +dev/usb2/core/usb2_transfer.c optional usb2_core +dev/usb2/core/usb2_util.c optional usb2_core +# +# USB2 ethernet drivers +# +dev/usb2/ethernet/if_aue2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/if_axe2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/if_cdce2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/if_cue2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/if_kue2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/if_rue2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/if_udav2.c optional usb2_core usb2_ethernet +dev/usb2/ethernet/usb2_ethernet.c optional usb2_core usb2_ethernet +# +# USB2 WLAN drivers +# +dev/usb2/wlan/if_rum2.c optional usb2_core usb2_wlan +dev/usb2/wlan/if_ural2.c optional usb2_core usb2_wlan +dev/usb2/wlan/if_zyd2.c optional usb2_core usb2_wlan +dev/usb2/wlan/usb2_wlan.c optional usb2_core usb2_wlan +# +# USB2 serial and parallel port drivers +# +dev/usb2/serial/uark2.c optional usb2_core usb2_serial +dev/usb2/serial/ubsa2.c optional usb2_core usb2_serial +dev/usb2/serial/ubser2.c optional usb2_core usb2_serial +dev/usb2/serial/uchcom2.c optional usb2_core usb2_serial +dev/usb2/serial/ucycom2.c optional usb2_core usb2_serial +dev/usb2/serial/ufoma2.c optional usb2_core usb2_serial +dev/usb2/serial/uftdi2.c optional usb2_core usb2_serial +dev/usb2/serial/ugensa2.c optional usb2_core usb2_serial +dev/usb2/serial/uipaq2.c optional usb2_core usb2_serial +dev/usb2/serial/ulpt2.c optional usb2_core usb2_serial +dev/usb2/serial/umct2.c optional usb2_core usb2_serial +dev/usb2/serial/umodem2.c optional usb2_core usb2_serial +dev/usb2/serial/umoscom2.c optional usb2_core usb2_serial +dev/usb2/serial/uplcom2.c optional usb2_core usb2_serial +dev/usb2/serial/usb2_serial.c optional usb2_core usb2_serial +dev/usb2/serial/uvisor2.c optional usb2_core usb2_serial +dev/usb2/serial/uvscom2.c optional usb2_core usb2_serial +# +# USB2 bluetooth drivers +# +dev/usb2/bluetooth/usb2_bluetooth.c optional usb2_core usb2_bluetooth +dev/usb2/bluetooth/ng_ubt2.c optional usb2_core usb2_bluetooth +dev/usb2/bluetooth/ubtbcmfw2.c optional usb2_core usb2_bluetooth + +# +# USB2 misc drivers +# +dev/usb2/misc/usb2_misc.c optional usb2_core usb2_misc +dev/usb2/misc/ufm2.c optional usb2_core usb2_misc +dev/usb2/misc/udbp2.c optional usb2_core usb2_misc +# +# USB2 input drivers +# +dev/usb2/input/uhid2.c optional usb2_core usb2_input +dev/usb2/input/ukbd2.c optional usb2_core usb2_input +dev/usb2/input/ums2.c optional usb2_core usb2_input +dev/usb2/input/usb2_hid.c optional usb2_core usb2_input +dev/usb2/input/usb2_input.c optional usb2_core usb2_input +# +# USB2 quirks +# +dev/usb2/quirk/usb2_quirk.c optional usb2_core usb2_quirk +# +# USB2 templates +# +dev/usb2/template/usb2_template.c optional usb2_core usb2_template +dev/usb2/template/usb2_template_cdce.c optional usb2_core usb2_template +dev/usb2/template/usb2_template_msc.c optional usb2_core usb2_template +dev/usb2/template/usb2_template_mtp.c optional usb2_core usb2_template +# +# USB2 image drivers +# +dev/usb2/image/usb2_image.c optional usb2_core usb2_image +dev/usb2/image/uscanner2.c optional usb2_core usb2_image +# +# USB2 sound and MIDI drivers +# +dev/usb2/sound/usb2_sound.c optional usb2_core usb2_sound +dev/usb2/sound/uaudio2.c optional usb2_core usb2_sound +dev/usb2/sound/uaudio2_pcm.c optional usb2_core usb2_sound +# +# USB2 END +# dev/utopia/idtphy.c optional utopia dev/utopia/suni.c optional utopia dev/utopia/utopia.c optional utopia ==== //depot/projects/usb/src/sys/modules/Makefile#17 (text+ko) ==== @@ -301,6 +301,7 @@ ural \ urio \ usb \ + usb2 \ uscanner \ uslcom \ utopia \ From owner-p4-projects@FreeBSD.ORG Thu Jul 3 23:58:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F8B210656EE; Thu, 3 Jul 2008 23:58: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 9351E1065673 for ; Thu, 3 Jul 2008 23:58:57 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 830398FC13 for ; Thu, 3 Jul 2008 23:58:57 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m63NwvKX047198 for ; Thu, 3 Jul 2008 23:58:57 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m63NwvvS047196 for perforce@freebsd.org; Thu, 3 Jul 2008 23:58:57 GMT (envelope-from julian@freebsd.org) Date: Thu, 3 Jul 2008 23:58:57 GMT Message-Id: <200807032358.m63NwvvS047196@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144584 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, 03 Jul 2008 23:58:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=144584 Change 144584 by julian@julian_trafmon1 on 2008/07/03 23:58:40 make up our mind abut ipstealth on a vimage basis Affected files ... .. //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#9 edit .. //depot/projects/vimage/src/sys/netinet/ip_input.c#26 edit .. //depot/projects/vimage/src/sys/netinet/ip_options.c#10 edit .. //depot/projects/vimage/src/sys/netinet/vinet.h#22 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#9 (text+ko) ==== @@ -400,7 +400,7 @@ * Check TTL */ #ifdef IPSTEALTH - if (!ipstealth) { + if (!V_ipstealth) { #endif if (ip->ip_ttl <= IPTTLDEC) { icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, 0, 0); ==== //depot/projects/vimage/src/sys/netinet/ip_input.c#26 (text+ko) ==== @@ -677,7 +677,7 @@ * IPSTEALTH: Process non-routing options only * if the packet is destined for us. */ - if (ipstealth && hlen > sizeof (struct ip) && + if (V_ipstealth && hlen > sizeof (struct ip) && ip_dooptions(m, 1)) return; #endif /* IPSTEALTH */ @@ -1331,7 +1331,7 @@ return; } #ifdef IPSTEALTH - if (!ipstealth) { + if (!V_ipstealth) { #endif if (ip->ip_ttl <= IPTTLDEC) { icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, @@ -1382,7 +1382,7 @@ } #ifdef IPSTEALTH - if (!ipstealth) { + if (!V_ipstealth) { #endif ip->ip_ttl -= IPTTLDEC; #ifdef IPSTEALTH ==== //depot/projects/vimage/src/sys/netinet/ip_options.c#10 (text+ko) ==== @@ -155,7 +155,7 @@ case IPOPT_LSRR: case IPOPT_SSRR: #ifdef IPSTEALTH - if (ipstealth && pass > 0) + if (V_ipstealth && pass > 0) break; #endif if (optlen < IPOPT_OFFSET + sizeof(*cp)) { @@ -194,7 +194,7 @@ break; } #ifdef IPSTEALTH - if (ipstealth) + if (V_ipstealth) goto dropit; #endif if (!ip_dosourceroute) { @@ -257,7 +257,7 @@ case IPOPT_RR: #ifdef IPSTEALTH - if (ipstealth && pass == 0) + if (V_ipstealth && pass == 0) break; #endif if (optlen < IPOPT_OFFSET + sizeof(*cp)) { @@ -294,7 +294,7 @@ case IPOPT_TS: #ifdef IPSTEALTH - if (ipstealth && pass == 0) + if (V_ipstealth && pass == 0) break; #endif code = cp - (u_char *)ip; ==== //depot/projects/vimage/src/sys/netinet/vinet.h#22 (text+ko) ==== @@ -66,6 +66,7 @@ int _sameprefixcarponly; int _ipforwarding; + int _ipstealth; int _ipfastforward_active; int _ipsendredirects; int _ip_defttl; @@ -201,6 +202,7 @@ #define V_sameprefixcarponly VNET_INET(sameprefixcarponly) #define V_ipforwarding VNET_INET(ipforwarding) +#define V_ipstealth VNET_INET(ipstealth) #define V_ipfastforward_active VNET_INET(ipfastforward_active) #define V_ipsendredirects VNET_INET(ipsendredirects) #define V_ip_defttl VNET_INET(ip_defttl) From owner-p4-projects@FreeBSD.ORG Fri Jul 4 00:02:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF2671065676; Fri, 4 Jul 2008 00:02: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 A4BEE1065672 for ; Fri, 4 Jul 2008 00:02:00 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94DE48FC15 for ; Fri, 4 Jul 2008 00:02:00 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64020RY047554 for ; Fri, 4 Jul 2008 00:02:00 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m64020Jf047552 for perforce@freebsd.org; Fri, 4 Jul 2008 00:02:00 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 00:02:00 GMT Message-Id: <200807040002.m64020Jf047552@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144585 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, 04 Jul 2008 00:02:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=144585 Change 144585 by julian@julian_trafmon1 on 2008/07/04 00:01:06 Make up mind on ipstealth per vimage Affected files ... .. //depot/projects/vimage-devel/src/sys/netinet/ip_fastfwd.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/ip_input.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/ip_options.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/vinet.h#3 integrate Differences ... ==== //depot/projects/vimage-devel/src/sys/netinet/ip_fastfwd.c#3 (text+ko) ==== @@ -400,7 +400,7 @@ * Check TTL */ #ifdef IPSTEALTH - if (!ipstealth) { + if (!V_ipstealth) { #endif if (ip->ip_ttl <= IPTTLDEC) { icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, 0, 0); ==== //depot/projects/vimage-devel/src/sys/netinet/ip_input.c#3 (text+ko) ==== @@ -677,7 +677,7 @@ * IPSTEALTH: Process non-routing options only * if the packet is destined for us. */ - if (ipstealth && hlen > sizeof (struct ip) && + if (V_ipstealth && hlen > sizeof (struct ip) && ip_dooptions(m, 1)) return; #endif /* IPSTEALTH */ @@ -1331,7 +1331,7 @@ return; } #ifdef IPSTEALTH - if (!ipstealth) { + if (!V_ipstealth) { #endif if (ip->ip_ttl <= IPTTLDEC) { icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, @@ -1382,7 +1382,7 @@ } #ifdef IPSTEALTH - if (!ipstealth) { + if (!V_ipstealth) { #endif ip->ip_ttl -= IPTTLDEC; #ifdef IPSTEALTH ==== //depot/projects/vimage-devel/src/sys/netinet/ip_options.c#3 (text+ko) ==== @@ -155,7 +155,7 @@ case IPOPT_LSRR: case IPOPT_SSRR: #ifdef IPSTEALTH - if (ipstealth && pass > 0) + if (V_ipstealth && pass > 0) break; #endif if (optlen < IPOPT_OFFSET + sizeof(*cp)) { @@ -194,7 +194,7 @@ break; } #ifdef IPSTEALTH - if (ipstealth) + if (V_ipstealth) goto dropit; #endif if (!ip_dosourceroute) { @@ -257,7 +257,7 @@ case IPOPT_RR: #ifdef IPSTEALTH - if (ipstealth && pass == 0) + if (V_ipstealth && pass == 0) break; #endif if (optlen < IPOPT_OFFSET + sizeof(*cp)) { @@ -294,7 +294,7 @@ case IPOPT_TS: #ifdef IPSTEALTH - if (ipstealth && pass == 0) + if (V_ipstealth && pass == 0) break; #endif code = cp - (u_char *)ip; ==== //depot/projects/vimage-devel/src/sys/netinet/vinet.h#3 (text+ko) ==== @@ -66,6 +66,7 @@ int _sameprefixcarponly; int _ipforwarding; + int _ipstealth; int _ipfastforward_active; int _ipsendredirects; int _ip_defttl; @@ -201,6 +202,7 @@ #define V_sameprefixcarponly VNET_INET(sameprefixcarponly) #define V_ipforwarding VNET_INET(ipforwarding) +#define V_ipstealth VNET_INET(ipstealth) #define V_ipfastforward_active VNET_INET(ipfastforward_active) #define V_ipsendredirects VNET_INET(ipsendredirects) #define V_ip_defttl VNET_INET(ip_defttl) From owner-p4-projects@FreeBSD.ORG Fri Jul 4 00:06:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 361501065673; Fri, 4 Jul 2008 00:06:05 +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 F0012106564A for ; Fri, 4 Jul 2008 00:06:04 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E040D8FC0A for ; Fri, 4 Jul 2008 00:06:04 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64064t4049064 for ; Fri, 4 Jul 2008 00:06:04 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m64064jV049062 for perforce@freebsd.org; Fri, 4 Jul 2008 00:06:04 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 00:06:04 GMT Message-Id: <200807040006.m64064jV049062@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144586 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, 04 Jul 2008 00:06:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=144586 Change 144586 by julian@julian_trafmon1 on 2008/07/04 00:05:52 catch up with 'vimage' branch a bit Affected files ... .. //depot/projects/vimage-devel/src/sys/contrib/pf/net/pfvar.h#3 integrate .. //depot/projects/vimage-devel/src/sys/net/if.c#5 integrate .. //depot/projects/vimage-devel/src/sys/net/if_var.h#4 integrate .. //depot/projects/vimage-devel/src/sys/net80211/ieee80211.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/in6_src.c#3 integrate .. //depot/projects/vimage-devel/src/sys/nlm/nlm_advlock.c#2 integrate Differences ... ==== //depot/projects/vimage-devel/src/sys/contrib/pf/net/pfvar.h#3 (text+ko) ==== @@ -1861,8 +1861,7 @@ #ifdef VIMAGE struct vnet_pf { struct vnet *parent_vnet; - -} +}; #endif /* ==== //depot/projects/vimage-devel/src/sys/net/if.c#5 (text+ko) ==== @@ -151,12 +151,12 @@ static int if_indexlim; static struct knlist ifklist; -#endif /* !VIMAGE */ /* * Table of ifnet/cdev by index. Locked with ifnet_lock. */ static struct ifindex_entry *ifindex_table = NULL; +#endif /* !VIMAGE */ static void filt_netdetach(struct knote *kn); static int filt_netdev(struct knote *kn, long hint); @@ -190,21 +190,23 @@ struct ifnet * ifnet_byindex(u_short idx) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; IFNET_RLOCK(); - ifp = ifindex_table[idx].ife_ifnet; + ifp = V_ifindex_table[idx].ife_ifnet; IFNET_RUNLOCK(); return (ifp); } -static void +void ifnet_setbyindex(u_short idx, struct ifnet *ifp) { + INIT_VNET_NET(curvnet); IFNET_WLOCK_ASSERT(); - ifindex_table[idx].ife_ifnet = ifp; + V_ifindex_table[idx].ife_ifnet = ifp; } struct ifaddr * @@ -221,10 +223,11 @@ struct cdev * ifdev_byindex(u_short idx) { + INIT_VNET_NET(curvnet); struct cdev *cdev; IFNET_RLOCK(); - cdev = ifindex_table[idx].ife_dev; + cdev = V_ifindex_table[idx].ife_dev; IFNET_RUNLOCK(); return (cdev); } @@ -233,8 +236,9 @@ ifdev_setbyindex(u_short idx, struct cdev *cdev) { + INIT_VNET_NET(curvnet); IFNET_WLOCK(); - ifindex_table[idx].ife_dev = cdev; + V_ifindex_table[idx].ife_dev = cdev; IFNET_WUNLOCK(); } @@ -268,7 +272,6 @@ static int netioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) { - INIT_VNET_NET(curvnet); struct ifnet *ifp; int error, idx; @@ -379,15 +382,8 @@ vnet_net_iattach(NULL); #endif IFNET_LOCK_INIT(); -#ifdef VIMAGE - if (IS_DEFAULT_VNET(curvnet)) { - INIT_VNET_NET(curvnet); -#endif ifdev_setbyindex(0, make_dev(&net_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "network")); -#ifdef VIMAGE - } -#endif if_clone_init(); } ==== //depot/projects/vimage-devel/src/sys/net/if_var.h#4 (text+ko) ==== @@ -650,6 +650,7 @@ struct cdev *ife_dev; }; +void ifnet_setbyindex(u_short idx, struct ifnet *ifp); struct ifnet *ifnet_byindex(u_short idx); /* * Given the index, ifaddr_byindex() returns the one and only ==== //depot/projects/vimage-devel/src/sys/net80211/ieee80211.c#5 (text+ko) ==== @@ -219,7 +219,6 @@ void ieee80211_ifattach(struct ieee80211com *ic) { - INIT_VNET_NET(curvnet); struct ifnet *ifp = ic->ic_ifp; struct sockaddr_dl *sdl; struct ifaddr *ifa; ==== //depot/projects/vimage-devel/src/sys/netinet6/in6_src.c#3 (text+ko) ==== @@ -455,7 +455,6 @@ struct ifnet **retifp, struct rtentry **retrt, int clone, int norouteok) { - INIT_VNET_NET(curvnet); INIT_VNET_INET6(curvnet); int error = 0; struct ifnet *ifp = NULL; ==== //depot/projects/vimage-devel/src/sys/nlm/nlm_advlock.c#2 (text+ko) ==== @@ -25,6 +25,7 @@ * SUCH DAMAGE. */ +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/nlm/nlm_advlock.c,v 1.1 2008/06/26 10:21:54 dfr Exp $"); @@ -42,6 +43,7 @@ #include #include #include +#include #include #include @@ -1218,11 +1220,11 @@ return (EOVERFLOW); } - snprintf(oh_space, 32, "%d@%s", svid, hostname); + snprintf(oh_space, 32, "%d@%s", svid, G_hostname); oh_len = strlen(oh_space); memset(lock, 0, sizeof(*lock)); - lock->caller_name = hostname; + lock->caller_name = G_hostname; lock->fh.n_len = fhlen; lock->fh.n_bytes = fh; lock->oh.n_len = oh_len; From owner-p4-projects@FreeBSD.ORG Fri Jul 4 00:13:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D71B11065671; Fri, 4 Jul 2008 00:13: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 9C3F21065672 for ; Fri, 4 Jul 2008 00:13:12 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 727A28FC0C for ; Fri, 4 Jul 2008 00:13:12 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m640DC8q049678 for ; Fri, 4 Jul 2008 00:13:12 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m640DCIi049676 for perforce@freebsd.org; Fri, 4 Jul 2008 00:13:12 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 00:13:12 GMT Message-Id: <200807040013.m640DCIi049676@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144587 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, 04 Jul 2008 00:13:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=144587 Change 144587 by julian@julian_trafmon1 on 2008/07/04 00:12:43 remove un-needed '&' in SYSCTL_V_INT Affected files ... .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#21 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#21 (text+ko) ==== @@ -185,7 +185,7 @@ int ipsec_integrity = 0; #endif SYSCTL_V_INT(V_NET, vnet_ipsec,_net_inet_ipsec, OID_AUTO, test_integrity, - CTLFLAG_RW, &ipsec_integrity, 0, "Emulate man-in-the-middle attack"); + CTLFLAG_RW, ipsec_integrity, 0, "Emulate man-in-the-middle attack"); #endif #ifndef VIMAGE From owner-p4-projects@FreeBSD.ORG Fri Jul 4 00:15:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9E341065674; Fri, 4 Jul 2008 00:15: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 8EE451065681 for ; Fri, 4 Jul 2008 00:15:14 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 65F168FC19 for ; Fri, 4 Jul 2008 00:15:14 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m640FEmb049849 for ; Fri, 4 Jul 2008 00:15:14 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m640FEWm049847 for perforce@freebsd.org; Fri, 4 Jul 2008 00:15:14 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 00:15:14 GMT Message-Id: <200807040015.m640FEWm049847@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144588 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, 04 Jul 2008 00:15:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144588 Change 144588 by julian@julian_trafmon1 on 2008/07/04 00:14:20 remove un-needed '&' Affected files ... .. //depot/projects/vimage-devel/src/sys/netipsec/ipsec.c#3 integrate Differences ... ==== //depot/projects/vimage-devel/src/sys/netipsec/ipsec.c#3 (text+ko) ==== @@ -185,7 +185,7 @@ int ipsec_integrity = 0; #endif SYSCTL_V_INT(V_NET, vnet_ipsec,_net_inet_ipsec, OID_AUTO, test_integrity, - CTLFLAG_RW, &ipsec_integrity, 0, "Emulate man-in-the-middle attack"); + CTLFLAG_RW, ipsec_integrity, 0, "Emulate man-in-the-middle attack"); #endif #ifndef VIMAGE From owner-p4-projects@FreeBSD.ORG Fri Jul 4 00:33:33 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74A041065674; Fri, 4 Jul 2008 00:33:33 +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 35434106566C for ; Fri, 4 Jul 2008 00:33:33 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2602D8FC14 for ; Fri, 4 Jul 2008 00:33:33 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m640XXG9051636 for ; Fri, 4 Jul 2008 00:33:33 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m640XWx2051634 for perforce@freebsd.org; Fri, 4 Jul 2008 00:33:32 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 00:33:32 GMT Message-Id: <200807040033.m640XWx2051634@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144590 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, 04 Jul 2008 00:33:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=144590 Change 144590 by julian@julian_trafmon1 on 2008/07/04 00:33:26 try merge in changes without destroying anything Affected files ... .. //depot/projects/vimage-devel/src/sys/kern/kern_exit.c#5 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_linker.c#4 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_vimage.c#5 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_xxx.c#6 integrate .. //depot/projects/vimage-devel/src/sys/net/if_loop.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_syncache.h#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/in6_gif.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/in6_rmx.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet6/vinet6.h#3 integrate .. //depot/projects/vimage-devel/src/sys/rpc/authunix_prot.c#4 integrate .. //depot/projects/vimage-devel/src/sys/sys/vimage.h#8 integrate Differences ... ==== //depot/projects/vimage-devel/src/sys/kern/kern_exit.c#5 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/kern/kern_linker.c#4 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/kern/kern_vimage.c#5 (text+ko) ==== @@ -293,7 +293,7 @@ do { INIT_VNET_NET(curvnet); - ifnet_byindex(ifp->if_index) = NULL; + ifnet_setbyindex(ifp->if_index, NULL); /* XXX: should be locked with if_findindex() */ while (V_if_index > 0 && ifnet_byindex(V_if_index) == NULL) V_if_index--; @@ -319,7 +319,7 @@ V_if_index = ifp->if_index; if (V_if_index >= V_if_indexlim) if_grow(); - ifnet_byindex(ifp->if_index) = ifp; + ifnet_setbyindex(ifp->if_index, ifp); /* Rename the ifnet */ if (new_vnet == ifp->if_home_vnet) { ==== //depot/projects/vimage-devel/src/sys/kern/kern_xxx.c#6 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/net/if_loop.c#4 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/netinet/tcp_syncache.h#4 (text+ko) ==== @@ -40,18 +40,18 @@ #ifdef VIMAGE void syncache_destroy(void); #endif -void syncache_unreach(struct in_conninfo *, struct tcphdr *); -int syncache_expand(struct in_conninfo *, struct tcpopt *, - struct tcphdr *, struct socket **, struct mbuf *); -void syncache_add(struct in_conninfo *, struct tcpopt *, - struct tcphdr *, struct inpcb *, struct socket **, struct mbuf *); -void syncache_offload_add(struct in_conninfo *, struct tcpopt *, - struct tcphdr *, struct inpcb *, struct socket **, - struct toe_usrreqs *tu, void *toepcb); -void syncache_chkrst(struct in_conninfo *, struct tcphdr *); -void syncache_badack(struct in_conninfo *); -int syncache_pcbcount(void); -int syncache_pcblist(struct sysctl_req *req, int max_pcbs, +void syncache_unreach(struct in_conninfo *, struct tcphdr *); +int syncache_expand(struct in_conninfo *, struct tcpopt *, + struct tcphdr *, struct socket **, struct mbuf *); +void syncache_add(struct in_conninfo *, struct tcpopt *, + struct tcphdr *, struct inpcb *, struct socket **, struct mbuf *); +void syncache_offload_add(struct in_conninfo *, struct tcpopt *, + struct tcphdr *, struct inpcb *, struct socket **, + struct toe_usrreqs *tu, void *toepcb); +void syncache_chkrst(struct in_conninfo *, struct tcphdr *); +void syncache_badack(struct in_conninfo *); +int syncache_pcbcount(void); +int syncache_pcblist(struct sysctl_req *req, int max_pcbs, int *pcbs_exported); struct syncache { ==== //depot/projects/vimage-devel/src/sys/netinet6/in6_gif.c#3 (text+ko) ==== @@ -58,11 +58,11 @@ #endif #include #ifdef INET6 -#include #include #include #include #include +#include #endif #include #include ==== //depot/projects/vimage-devel/src/sys/netinet6/in6_rmx.c#4 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/netinet6/ip6_ipsec.c#4 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/netinet6/vinet6.h#3 (text+ko) ==== @@ -32,14 +32,13 @@ #define _NETINET6_VINET6_H_ #include -#include -#include #include #include #include #include #include #include +#include #include #define INIT_VNET_INET6(vnet) \ ==== //depot/projects/vimage-devel/src/sys/rpc/authunix_prot.c#4 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/sys/vimage.h#8 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jul 4 01:51:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5817A1065673; Fri, 4 Jul 2008 01:51: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 77AAC106576C for ; Fri, 4 Jul 2008 01:51:40 +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 42CDD8FC94 for ; Fri, 4 Jul 2008 01:46:34 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m641kYsq099803 for ; Fri, 4 Jul 2008 01:46:34 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m641kYuZ099801 for perforce@freebsd.org; Fri, 4 Jul 2008 01:46:34 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 01:46:34 GMT Message-Id: <200807040146.m641kYuZ099801@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 144591 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, 04 Jul 2008 01:51:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=144591 Change 144591 by hselasky@hselasky_laptop001 on 2008/07/04 01:45:46 Compile fix. Correct header files included. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2_pcm.c#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2.c#4 (text+ko) ==== @@ -73,6 +73,7 @@ #include #include +#include #include /* for bootverbose */ @@ -80,9 +81,6 @@ #include #include "feeder_if.h" -#include -#include - #ifdef USB_DEBUG static int uaudio_debug = 0; ==== //depot/projects/usb/src/sys/dev/usb2/sound/uaudio2_pcm.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ #include #include -#include +#include #include "mixer_if.h" From owner-p4-projects@FreeBSD.ORG Fri Jul 4 02:06:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80465106567F; Fri, 4 Jul 2008 02:06:55 +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 2AAF41065672 for ; Fri, 4 Jul 2008 02:06:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 166A38FC18 for ; Fri, 4 Jul 2008 02:06:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6426sSb066611 for ; Fri, 4 Jul 2008 02:06:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m6426smw066602 for perforce@freebsd.org; Fri, 4 Jul 2008 02:06:54 GMT (envelope-from jb@freebsd.org) Date: Fri, 4 Jul 2008 02:06:54 GMT Message-Id: <200807040206.m6426smw066602@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144592 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, 04 Jul 2008 02:06:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=144592 Change 144592 by jb@freebsd3 on 2008/07/04 02:06:00 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/flyer/Makefile#1 branch .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/flyer/flyer.tex#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#49 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#40 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#5 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/transtable.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-dev-model.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-linux-license.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-more-information.xml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-organization.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-recent-releases.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-release-process.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-users.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/what-is-freebsd.xml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/freebsd-general/slides.xml#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/nwhitehorn.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#40 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#38 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/jails/chapter.sgml#2 integrate .. //depot/projects/dtrace/ports/MOVED#99 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gecko.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.gnome.mk#14 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#19 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/errorlogs/index.shtml#2 integrate .. //depot/projects/dtrace/ports/UPDATING#81 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#48 integrate .. //depot/projects/dtrace/src/etc/periodic/security/800.loginfail#5 integrate .. //depot/projects/dtrace/src/lib/libarchive/archive_read_support_format_zip.c#16 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_gtar_1.tgz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_zip_1.zip.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tgz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tgz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu#2 integrate .. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_tar_empty_filename.tar.uu#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getaddrinfo.3#5 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mkdir.2#9 integrate .. //depot/projects/dtrace/src/lib/libutil/Makefile#8 integrate .. //depot/projects/dtrace/src/lib/libutil/hexdump.3#1 branch .. //depot/projects/dtrace/src/lib/libutil/hexdump.c#1 branch .. //depot/projects/dtrace/src/lib/libutil/libutil.h#8 integrate .. //depot/projects/dtrace/src/sbin/Makefile#12 integrate .. //depot/projects/dtrace/src/sbin/dhclient/dhclient.c#9 integrate .. //depot/projects/dtrace/src/sbin/geom/Makefile#7 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/preen.c#6 integrate .. //depot/projects/dtrace/src/sbin/quotacheck/quotacheck.c#9 integrate .. //depot/projects/dtrace/src/sbin/sconfig/sconfig.c#6 integrate .. //depot/projects/dtrace/src/secure/usr.bin/bdes/bdes.ps#4 integrate .. //depot/projects/dtrace/src/share/man/man4/snd_emu10kx.4#7 integrate .. //depot/projects/dtrace/src/share/man/man4/uftdi.4#6 integrate .. //depot/projects/dtrace/src/share/misc/committers-doc.dot#7 integrate .. //depot/projects/dtrace/src/share/misc/committers-ports.dot#7 integrate .. //depot/projects/dtrace/src/share/misc/committers-src.dot#12 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#49 integrate .. //depot/projects/dtrace/src/sys/amd64/include/vmparam.h#8 integrate .. //depot/projects/dtrace/src/sys/boot/i386/boot2/boot2.c#10 integrate .. //depot/projects/dtrace/src/sys/compat/pecoff/imgact_pecoff.c#9 delete .. //depot/projects/dtrace/src/sys/compat/pecoff/imgact_pecoff.h#4 delete .. //depot/projects/dtrace/src/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/bm/if_bmreg.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/bm/if_bmvar.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/ce/ceddk.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/ce/if_ce.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/cp/cpddk.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/cp/if_cp.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/ctau/ctddk.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/ctau/if_ct.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/cx/cxddk.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/cx/if_cx.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/mii/rgephy.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/mii/rgephyreg.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_pci.c#20 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/re/if_re.c#21 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usb_ethersubr.c#7 integrate .. //depot/projects/dtrace/src/sys/fs/smbfs/smbfs_node.c#9 integrate .. //depot/projects/dtrace/src/sys/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_alq.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/kern_poll.c#9 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_debug.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#26 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_usrreq.c#23 integrate .. //depot/projects/dtrace/src/sys/modules/pecoff/Makefile#4 delete .. //depot/projects/dtrace/src/sys/net/if_bridge.c#29 integrate .. //depot/projects/dtrace/src/sys/net/if_ppp.c#11 integrate .. //depot/projects/dtrace/src/sys/net/netisr.c#7 integrate .. //depot/projects/dtrace/src/sys/net/netisr.h#5 integrate .. //depot/projects/dtrace/src/sys/net/rtsock.c#12 integrate .. //depot/projects/dtrace/src/sys/netatalk/ddp_usrreq.c#8 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_base.c#23 integrate .. //depot/projects/dtrace/src/sys/netinet/if_ether.c#17 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_input.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet/udp_usrreq.c#19 integrate .. //depot/projects/dtrace/src/sys/netinet6/frag6.c#12 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_forward.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_input.c#11 integrate .. //depot/projects/dtrace/src/sys/netipx/ipx_input.c#6 integrate .. //depot/projects/dtrace/src/sys/netnatm/natm_proto.c#5 integrate .. //depot/projects/dtrace/src/sys/nfsserver/nfs_syscalls.c#11 integrate .. //depot/projects/dtrace/src/sys/nlm/nlm_prot_impl.c#10 integrate .. //depot/projects/dtrace/src/sys/pci/if_rlreg.h#16 integrate .. //depot/projects/dtrace/src/sys/sys/socketvar.h#12 integrate .. //depot/projects/dtrace/src/tools/regression/lib/msun/Makefile#10 integrate .. //depot/projects/dtrace/src/tools/regression/lib/msun/test-fmaxmin.c#1 branch .. //depot/projects/dtrace/src/tools/regression/lib/msun/test-fmaxmin.t#1 branch .. //depot/projects/dtrace/src/usr.bin/cpio/cpio.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/unbzip2.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/znew#3 integrate .. //depot/projects/dtrace/src/usr.bin/ldd/ldd.1#6 integrate .. //depot/projects/dtrace/src/usr.bin/ldd/ldd.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/su/su.1#6 integrate .. //depot/projects/dtrace/src/usr.bin/unzip/unzip.1#2 integrate .. //depot/projects/dtrace/src/usr.bin/unzip/unzip.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/edquota/edquota.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/mountd/exports.5#5 integrate .. //depot/projects/dtrace/src/usr.sbin/pmcstat/pmcstat.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/quot/quot.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/quotaon/quotaon.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/repquota/repquota.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/wpa/wpa_supplicant/Makefile#10 integrate .. //depot/projects/dtrace/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#6 integrate .. //depot/projects/dtrace/www/en/developers.sgml#39 integrate .. //depot/projects/dtrace/www/ru/send-pr.sgml#5 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#54 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#23 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#49 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -1832,19 +1832,6 @@ Also, the dial timeout for tip is 60 seconds. Your modem should use something less, or else tip will think there is a communication problem. Try ATS7=45&W. - - - As shipped, tip does not yet support - Hayes modems fully. The solution is to edit the file - tipconf.h in the directory - /usr/src/usr.bin/tip/tip. Obviously you need the - source distribution to do this. - - Edit the line #define HAYES 0 to - #define HAYES 1. Then make and - make install. Everything works nicely after - that. - ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#40 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.452 2008/06/23 11:42:41 erik Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.453 2008/07/03 14:50:22 nwhitehorn Exp $ --> aaron@FreeBSD.org"> @@ -780,6 +780,8 @@ nsouch@FreeBSD.org"> +nwhitehorn@FreeBSD.org"> + nyan@FreeBSD.org"> obraun@FreeBSD.org"> ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#4 (text+ko) ==== @@ -1,13 +1,13 @@ @@ -653,6 +653,14 @@ + &a.virtualization.name; + A &os; részérõl + támogatott különbözõ + virtualizációs technológiák + tárgyalása + + + &a.vuxml.name; A VuXML infrastruktúra tárgyalása @@ -1977,6 +1985,32 @@ + + &a.virtualization.name; + + + A &os; részérõl + támogatott különbözõ + virtualizációs + technológiák + + Ezen a levelezési listán elsõsorban + a &os; által támogatott + virtualizációs megoldásokat vitatjuk + meg. Ennek keretében egyrészt az ehhez + kapcsolódó alapvetõ funkciók + megvalósítása valamint további + újítások kerülnek a + középpontba, másrészt a + felhasználók számára ezzel + létrehoztunk egy fórumot a + felmerülõ problémák + megoldására és az alkalmazási + lehetõségek + megbeszelésére. + + + ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#5 (text+ko) ==== @@ -1,13 +1,13 @@ @@ -429,6 +429,10 @@ FreeBSD vendors pre-release coordination levelezési lista"> freebsd-vendors"> + +Discussion of various virtualization techniques supported by FreeBSD levelezési lista"> +freebsd-virtualization"> + FreeBSD VuXML levelezési lista"> freebsd-vuxml"> ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/transtable.xml#3 (text+ko) ==== @@ -1,5 +1,5 @@ - + - $FreeBSD: doc/hu_HU.ISO8859-2/share/sgml/transtable.xml,v 1.2 2008/06/25 11:28:10 gabor Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/share/sgml/transtable.xml,v 1.3 2008/06/30 19:46:58 pgj Exp $ ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-dev-model.xml#3 (text+ko) ==== @@ -1,15 +1,16 @@ - + - A FreeBSD fejlesztési model + A FreeBSD fejlesztési model - + Áttekintés A FreeBSD fejlesztése két párhuzamos @@ -29,15 +30,16 @@ + - A FreeBSD fejlesztési model + A FreeBSD fejlesztési model - A csapat Fejlesztõk ezrei világszerte @@ -47,29 +49,34 @@ Csak a committerek rendelkeznek írási joggal a CVS repository-hoz. - 324 committer összesen (beleértve a + 353 committer összesen (beleértve a forrás, dokumentáció és ports jogokat) - 212 aktív committer az src/ területen + 181 aktív committer az src/ területen az elmúlt 12 hónapban - 165 aktív committer az src/sys/ területen + 147 aktív committer az src/sys/ területen az elmúlt 12 hónapban - A FreeBSD fejlesztési model + A FreeBSD fejlesztési model - A hibák + kezelése - A felhasználók és külsõ - fejlesztõk a GNATS rendszeren keresztül küldhetnek - hibajavításokat, fejlesztéseket, vagy - probléma-jelentéseket. + A felhasználók és a + külsõ, közvetlen CVS + hozzáféréssel nem rendelkezõ + fejlesztõk a GNATS rendszerén keresztül + küldhetnek hibajavításokat, + fejlesztési javaslatokat vagy + hibajelentéseket. - Online form az elküldéshez, send-pr parancs - alapértelmetetten a FreeBSD rendszereken, ... + Formái: interneten keresztül, a FreeBSD + rendszereken alapból elérhetõ + send-pr paranccsal stb. ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-linux-license.xml#3 (text+ko) ==== @@ -1,9 +1,9 @@ - + ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-organization.xml#3 (text+ko) ==== @@ -1,9 +1,9 @@ - + @@ -16,13 +16,43 @@ hogy a projekt pozitív irányban fejlõdjön tovább. + A FreeBSD Port Management Team + felelõs a FreeBSD Portgyûjtemény + mûködõképességének, + frissességének és + sokszínûségének + megõrzéséért. Emellett felügyeli + a rajta dolgozó committerek és fejlesztõk + munkáját. + + A FreeBSD Documentation Engineering + Team felelõs a Dokumentációs + Projektben dolgozó committerek számára + kitûzött célok + meghatározásáért és + felügyeletéért. + A FreeBSD Core Team egy 9 fejlesztõbõl álló csoport, amelyet a committerek választanak 2 évre. - A FreeBSD Release Engineering - Team fejlesztõk egy kisebb csoportja, amely - a kiadási folyamat szervezéséért - felel. + A FreeBSD Release Engineering Team + fejlesztõk egy kisebb csoportja, amely a kiadási + folyamat szervezéséért felel. + + A FreeBSD Security Team tagjai + felelõsek azért, hogy felhívják a + közösség figyelmét a FreeBSD src + és portok forrásait érintõ + hibákra, biztonsági résekre és + veszélyekre, illetve a FreeBSD rendszerek + biztonságos üzemeltetésével + kapcsolatos információkat gyûjtik össze + és közvetítik. Emellett még a FreeBSD + biztonságosságát fenyegetõ + hibák elhárításáért + és biztonsági figyelmeztetések + összeállításáért + felelnek. ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-recent-releases.xml#3 (text+ko) ==== @@ -1,33 +1,36 @@ - + Újabb kiadások - + - A FreeBSD 4.X-STABLE továbbra is fejlõdik - funkcionalitásában, teljesítményében - és stabilitásában. + A FreeBSD 6.X-STABLE + továbbra is fejlõdik funkcionalitásában, + teljesítményében és + stabilitásában. - FreeBSD 4.9 (2003. október) - FreeBSD 4.10 (2004. május) + FreeBSD 6.1 (2006. május) + FreeBSD 6.2 (2007. január) - A FreeBSD 5.X-CURRENT kockázatosabb fejlesztésen - megy keresztül, a -STABLE állapot közelében - jár. - - FreeBSD 5.0 (2003. január) - FreeBSD 5.1 (2003. június) - FreeBSD 5.2 (2004. január) - FreeBSD 5.2.1 (2004. február) + A FreeBSD 7.X-STABLE a + legfrissebb stabil fejlesztési ág, rengeteg izgalmas + tesztelnivaló újítással. + + FreeBSD 7.0 (2008. január) + + A FreeBSD 8.X-CURRENT + kockázatosabb fejlesztésen megy keresztül, a + -STABLE állapot közelében + jár. ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-release-process.xml#3 (text+ko) ==== @@ -1,31 +1,21 @@ - + A FreeBSD kiadási folyamata - A Stable kiadások a -STABLE - fejlesztõi ágból készülnek - hozzávetõlegesen 4 hónaponként. + A Stabil kiadások 4 havonta a + -STABLE fejlesztési ágból + készülnek. - A fõbb új verziók (3.0, 4.0, 5.0, ...) - sokkal hosszabb idõközönként jelennek meg, - amikor az adott kiadás fejlesztési céljai - már mind elkészültek. - - - 3.0 - 1998. október - 4.0 - 2000. március - 5.0 - 2003. január - - - + A nagyobb verziók (6.0, 7.0 stb.) 18 havonta + jelennek meg. Az átmeneti idõszakban az elõzõ fõ verziói alverziói továbbra is megjelennek, ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/freebsd-users.xml#3 (text+ko) ==== @@ -1,9 +1,9 @@ - + @@ -21,14 +21,15 @@ Az Apple a Linux-szal szemben a FreeBSD-t választotta a Mac OS X rendszer Unix magjának. - A Netcraft szerint közel 2,5 millió aktív - oldal használ FreeBSD-t hálózati - kiszolgálóként -- körülbelül egy - millióan többen, mint Red Hat Linuxot - - . + A Netcraft szerint közel 2,5 millió + aktív oldal használ FreeBSD-t hálózati + kiszolgálóként -- körülbelül + egy millióan többen, mint Red Hat + Linuxot + + . Csak az elõzõ évben körülbelül egy millió új FreeBSD kiszolgálót ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/common/what-is-freebsd.xml#3 (text+ko) ==== @@ -1,9 +1,9 @@ - + @@ -26,7 +26,7 @@ felhasználást a nyílt- és zárt forrású termékekben. - i386, ia64, amd64, sparc64, alpha + amd64, i386, ia64, pc98, powerpc, sparc64 ==== //depot/projects/dtrace/doc/hu_HU.ISO8859-2/slides/freebsd-general/slides.xml#3 (text+ko) ==== @@ -1,11 +1,11 @@ - + + ]> - + @@ -37,19 +39,26 @@ - KövesdánGáborgabor@FreeBSD.org - 2004. szeptember 9., csütörtök - 2004 FreeBSD Mall, Inc. + + Kövesdán + Gábor + gabor@FreeBSD.org + 2008. január 3., csütörtök + + 2004-2008 + FreeBSD Mall, Inc. + -Kivonat + + Kivonat + Mi az a FreeBSD? Ki használ FreeBSD-t? A FreeBSD fejlesztési model FreeBSD kiadások / elágazások terminológiája Újabb FreeBSD kiadások - FreeBSD 5.3 @@ -58,6 +67,7 @@ + &slides.what-is-freebsd; @@ -65,26 +75,12 @@ &slides.freebsd-dev-model; +&slides.freebsd-organization; + &slides.freebsd-release-process; - - &slides.freebsd-recent-releases; - - -&slides.freebsd-organization; - - - -&slides.freebsd-5.3; - -Bõvebb információ - - - FreeBSD Kézikönyv - FreeBSD Mall, Inc. - - +&slides.freebsd-more-information; ==== //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml#5 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -1774,18 +1774,6 @@ Ð‘Ð°Ñ tip-ийн хувьд залгах хугацаа нь 60 Ñекунд байдаг. Таны модем нь үүнÑÑÑ Ð±Ð°Ð³Ñ‹Ð³ ашиглах Ñ‘Ñтой бөгөөд Ñ‚ÑгÑхгүй бол tip холбоонд аÑуудал байна гÑж үзÑÑ… болно. ATS7=45&W гÑж үзÑÑÑ€Ñй. - - - tip нь Hayes модемуудыг бүрÑн гүйцÑд - дÑмждÑггүй. Үүний шийдÑл нь /usr/src/usr.bin/tip/tip - Ñан дахь tipconf.h файлыг заÑварлах Ñвдал - юм. Танд мÑдÑÑж үүнийг хийхийн тулд ÑÑ… түгÑÑлт байх шаардлагатай. - - #define HAYES 0 мөрийг - #define HAYES 1 болгон заÑварлана. Дараа нь - make хийгÑÑд make install хийнÑ. - Түүний дараа бүгд Ñайхан ажиллах болно. - ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#40 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1338,3 +1338,9 @@ &a.ivoras; &pgpkey.ivoras; + + + &a.nwhitehorn; + &pgpkey.nwhitehorn; + + ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#38 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -202,6 +202,7 @@ + ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/jails/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ )]
    * New build -failures on 7.x-current +failures on 7.x-stable [i386 ()] [sparc64 ()] [ia64 ()] @@ -74,17 +74,18 @@ [amd64 ()] >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 4 05:29:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B7361065672; Fri, 4 Jul 2008 05:29: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 3541D1065671 for ; Fri, 4 Jul 2008 05:29:19 +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 223038FC19 for ; Fri, 4 Jul 2008 05:29:19 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m645TIGj041248 for ; Fri, 4 Jul 2008 05:29:19 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m645TIt3041246 for perforce@freebsd.org; Fri, 4 Jul 2008 05:29:18 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 4 Jul 2008 05:29:18 GMT Message-Id: <200807040529.m645TIt3041246@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 144596 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, 04 Jul 2008 05:29:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=144596 Change 144596 by pgj@disznohal on 2008/07/04 05:28:36 Minor nits Affected files ... .. //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#8 edit .. //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#8 edit .. //depot/projects/docproj_hu/www/hu/community/webresources.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/advocacy/index.sgml#5 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> ==== //depot/projects/docproj_hu/www/hu/advocacy/myths.sgml#5 (text+ko) ==== @@ -2,7 +2,7 @@ - + %developers; ==== //depot/projects/docproj_hu/www/hu/community/mailinglists.sgml#8 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> ==== //depot/projects/docproj_hu/www/hu/community/newsgroups.sgml#8 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> ==== //depot/projects/docproj_hu/www/hu/community/webresources.sgml#5 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> From owner-p4-projects@FreeBSD.ORG Fri Jul 4 05:30:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB7A61065675; Fri, 4 Jul 2008 05:30:20 +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 6E95A1065672 for ; Fri, 4 Jul 2008 05:30:20 +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 598388FC22 for ; Fri, 4 Jul 2008 05:30:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m645UK58041383 for ; Fri, 4 Jul 2008 05:30:20 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m645UK9p041381 for perforce@freebsd.org; Fri, 4 Jul 2008 05:30:20 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 4 Jul 2008 05:30:20 GMT Message-Id: <200807040530.m645UK9p041381@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 144597 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, 04 Jul 2008 05:30:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=144597 Change 144597 by pgj@disznohal on 2008/07/04 05:30:08 Rework in www/hu/{copyright, developers, docproj, support} Affected files ... .. //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/developers/cvs.sgml#6 edit .. //depot/projects/docproj_hu/www/hu/docproj/doc-set.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/docproj/hungarian.sgml#3 edit .. //depot/projects/docproj_hu/www/hu/docproj/sgml.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/docproj/submitting.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/docproj/who.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/support/bugreports.sgml#5 edit .. //depot/projects/docproj_hu/www/hu/support/webresources.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#4 (text+ko) ==== @@ -2,7 +2,8 @@ - + ]> @@ -17,13 +18,13 @@

    -

    A FreeBSD Licensz

    -

    A FreeBSD Dokumentációs Licensz

    -

    Védjegyek Jegyzéke

    -

    A BSD Licensz

    -

    A BSD Démon

    -

    A FreeBSD Ports Collection terjesztésének - korlátozásai

    +

    A &os; licenc

    +

    A &os; dokumentációs licenc

    +

    A védjegyek jegyzéke

    +

    A BSD licensz

    +

    A BSD démon

    +

    A &os; portok terjesztésének korlátozásai

    GNU GENERAL PUBLIC LICENSE

    GNU LIBRARY GENERAL PUBLIC LICENSE

    ==== //depot/projects/docproj_hu/www/hu/developers/cvs.sgml#6 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> @@ -16,50 +16,61 @@ &header;

    A CVS - (Concurrent Version System) az az eszköz, amelyet a forrás - kezeléséhez használunk. Minden - változás (a hozzátartozó - naplóüzenettel együtt, amely leírja a - változtatás célját) itt - tárolódik a FreeBSD 2.0 óta. A lentebb - említett webes felület segítségével - a forrás könnyen böngészhetõ. A CVS - teljes másolata, vagy a benne lévõ fejlesztési - ágak bármelyike elérhetõ az itt felsorolt + (Concurrent Version System) az az eszköz, amelyet a + forrás kezeléséhez használunk. Minden + változás (az adott változtatás + célját leíró + naplóüzenettel együtt) itt + tárolódik a &os; 2.0 óta. A lentebb + említett webes felület + segítségével a forrás könnyen + böngészhetõ. A CVS teljes másolata, vagy + a benne lévõ fejlesztési ágak + bármelyike elérhetõ az itt felsorolt módszerekkel:

      -
    • CVSup: - egy kevés erõforrást igénylõ megoldás - (Modula-3 nyelven íródott).
    • +
    • CVSup: + egy kevés erõforrást igénylõ + megoldás (Modula-3 nyelven íródott).
    • -
    • AnonCVS: - a CVSup-nál több erõforrást igénylõ - (több ideig tartó, nagyobb hálózati forgalmat +
    • AnonCVS: + a CVSup megoldásánál több + erõforrást igénylõ (több ideig + tartó, nagyobb hálózati forgalmat bonyolító) módszer, de kis részek - letöltésekor könnyebben használható, - és csak a cvs eszközöket igényli, amelyek - a FreeBSD-vel együtt települnek.
    • + letöltésekor könnyebben + használható, és csak a &os;-vel együtt + települõ szabványos CVS eszközöket + igényli. -
    • CTM: +
    • CTM: egy nagyon kis erõforrást igénylõ - megoldás, batch módú eléréssel - (alapvetõen patcheket használ e-mailen + megoldás, kötegelt (batch) módú + eléréssel (alapvetõen a + módosításokat kapjuk meg e-mailen keresztül).
    • CVSWeb felület: - a forrás egyszerû böngészésére - használható, ha egy konkrét - változást, vagy fájlverziót keres.
    • + a forrás egyszerû + böngészésére + használható, amikor egy konkrét + változtatást, vagy + állományverziót keresünk benne.
    -

    A CVS web felület tükrei az alábbi helyeken is - elérhetõek: +

    A CVS web felület tükrözései az + alábbi helyeken is elérhetõek: + Amerikai Egyesült Államok, Kalifornia + Japán, Kanada, - Japán, - Portugália, - USA/California és - Ukrajna.

    + Portugália + és Ukrajna.

    &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/doc-set.sgml#4 (text+ko) ==== @@ -1,7 +1,8 @@ - + ]> @@ -15,45 +16,49 @@ &header; -

    A FreeBSD dokumentációja három fõ +

    A &os; dokumentációja három fõ kategóriára osztható:

    1. A man oldalak

      -

      A projekt ezzel nem igazán foglalkozik, mert ez az - alaprendszer részét képezi. Kivételt - képez ez alól a japán csapat, õk - lefordítják ezeket az oldalakat is. Nincs - akadálya azonban, hogy mások is így - tegyenek.

      +

      A projekt ezzel nem igazán foglalkozik, mert ez az + alaprendszer részét képezi. Kivételt + képez ez alól a japán csapat, õk + lefordítják ezeket az oldalakat is. Nincs + akadálya azonban, hogy mások is így + tegyenek.

      -

      Nem arról van szó, hogy a man oldalak nem fontosak, - egyáltalán nem! Egyszerûen csak annyira - kötõdnek a FreeBSD néhány - részéhez, hogy a legtöbb esetben a legalkalmasabb - ember, aki lefordíthatná ezeket az, - aki a FreeBSD azon részét írta.

    2. +

      Nem arról van szó, hogy a man oldalak nem fontosak, + egyáltalán nem! Egyszerûen csak annyira + kötõdnek a &os; néhány + részéhez, hogy a legtöbb esetben a + legalkalmasabb ember, aki lefordíthatná ezeket az, + aki a &os; azon részét írta.

      -
    3. A könyvek

      +
    4. +

      Könyvek

      -

      A projekt sok olyan dokumentációval rendelkezik, - melyek már "könyv terjedelmûek", vagy azok - lesznek. Ezek közé tartozik a FreeBSD GYIK és - a FreeBSD Kézikönyv.

      +

      A projekt sok olyan dokumentációval rendelkezik, + melyek már ,,könyv terjedelmûek'', vagy azok + lesznek. Ezek közé tartozik a &os; GYIK és a + &os; kézikönyv.

      -
    5. A cikkek

      +
    6. +

      Cikkek

      -

      Hatalmas - a FreeBSD-t érintõ - - információ-mennyiség érhetõ el - rövidebb cikkek formájában -- más - projektek oktatóanyagaihoz vagy HOGYAN - leírásaihoz hasonlóan.

      +

      A &os;-t érintõ hatalmas + információmennyiség érhetõ el + rövidebb cikkek formájában, hasonlóan + más projektek oktatóanyagaihoz vagy HOGYAN + leírásaihoz.

    - - FreeBSD Dokumentációs Projekt - kezdõlap + + A &os; Dokumentációs Projekt kezdõlapja &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/docproj.sgml#5 (text+ko) ==== @@ -17,36 +17,40 @@

    Áttekintés

    -

    Egy új és összetett operációs rendszer - kezelését elsajátítani mindig nehéz - feladat, függetlenül a grafikus felület - szépségétõl. Ez alól a FreeBSD sem - kivétel.

    +

    Egy új és összetett operációs + rendszer kezelését elsajátítani mindig + nehéz feladat, függetlenül a grafikus + felület szépségétõl. Ez + alól a &os; sem kivétel.

    Míg számos könyv létezik, amelynek - témája a BSD Unix (és általánosabban - &unix;), a FreeBSD-nek megvannak az egyedi szolgáltatásai, - eljárásai és furcsa szokásai.

    + témája a BSD Unix (és a &unix; úgy + általánosságban), a &os;-nek megvannak az + egyedi szolgáltatásai, eljárásai + és furcsa szokásai.

    -

    Ezen kívül néhány felhasználónak - a FreeBSD lesz az elsõ Unix-szerû rendszere, tehát egy - magas színvonalú, pontos dokumentáció +

    Ezenkívül néhány + felhasználónak a &os; lesz az elsõ + Unix-szerû rendszere, tehát egy magas + színvonalú, pontos dokumentáció elérhetõsége elengedhetetlen követelmény.

    -

    A FreeBSD Dokumentációs Projekt eme hiány - betöltését szolgálja, méghozzá +

    A &os; Dokumentációs Projekt ennek + hiányának megszûntetését + szolgálja, méghozzá kétféleképpen:

    1. A Dokumentációs Projekt tagjai dokumentációkat írnak és tesznek - elérhetõvé a FreeBSD Dokumentációs - Csomagba történõ - illesztéséhez.

    2. + elérhetõvé a &os; + dokumentációs készletének + részeként.

      -
    3. A Dokumentációs Projekt tagjai megvitatják - és rendszerezik a FreeBSD Dokumentáció +

    4. A Dokumentációs Projekt tagjai + megvitatják és rendszerezik a &os; + dokumentációs készletének megjelenését és összeállítását.

    @@ -54,52 +58,61 @@ - +

    A dokumentáció részét + képezõ több projekt is jelenleg + folyamatban van. Amennyiben idõnk engedi, + nézzük át ezt a listát, + hátha mi magunk is tudunk valamiben + segíteni!

    +

    Jelenlegi - feladatok

    +
    +

    Jelenlegi + feladatok

    -

    Több - a dokumentáció részét - képezõ - projekt van jelenleg is folyamatban. - Amennyiben ideje engedi, kérjük tekintse át a - következõ listát, hogy lássa, van-e olyan - terület, amelyben Ön is tud - segíteni!

    -

    Kik vagyunk és hogyan csatlakozhat?

    +

    Kik vagyunk és hogyan lehet hozzánk csatlakozni?

    Az oldal bemutatja a Dokumentációs Projekt - szerkesztõit, és leírja, hogyan csatlakozhat - hozzánk.

    + szerkesztõit, és leírja hogyan csatlakozhatunk + hozzájuk.

    -

    A FreeBSD Dokumentáció

    +

    A &os; dokumentációja

    -

    A FreeBSD Dokumentáció egységeinek és a - Dokumentációs Projekt ezen részeken végzett - munkájának leírása.

    +

    A &os; dokumentáció elemeinek és a + Dokumentációs Projekt ezen részeken + végzett munkájának leírása.

    -

    Az SGML és a Dokumentációs - Projekt

    +

    Az SGML és a Dokumentációs Projekt

    A projekt az SGML nyelvet használja a - dokumentációhoz. Ezt mutatja be ez az oldal, és - az érdeklõdõket további SGML forrásokhoz - irányítja.

    + dokumentációhoz. Ezt mutatja be ez az oldal, + és az érdeklõdõket további SGML + ismeretek felé kalauzolja.

    -

    Dokumentáció - beküldése

    +

    Dokumentáció beküldése

    -

    Dokumentáció beküldése a legjobb módja - annak, hogy segítse a FreeBSD használatát. Ez az - oldal a dokumentáció beküldésének - mikéntjét tárgyalja, tehát ajánlott, - hogy minél elõbb vessen rá egy pillantást.

    +

    A dokumentáció beküldése a legjobb + módja annak, hogy segítsük a &os; + használatát. Ez az oldal a + dokumentáció beküldésének + mikéntjét tárgyalja, tehát + ajánlott, hogy elsõként erre vessünk egy + pillantást.

    -

    Fordítások

    +

    Fordítások

    -

    A FreeBSD dokumentáció fordításai, honlapok, - Kézikönyv, man oldalak és GYIK.

    +

    A &os; dokumentációjának + fordításai, honlapok, a kézikönyv, man + oldalak és a GYIK.

    &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/hungarian.sgml#3 (text+ko) ==== @@ -2,7 +2,7 @@ - + ]> @@ -12,36 +12,43 @@ &header; -

    A Projekt Célja

    +

    A Projekt célja

    -

    A FreeBSD Dokumentációs Projekt által - létrehozott dokumentációk minden témát - felölelnek, de ezek a dokumentumok az angol nyelv amerikai - követelményei szerint íródtak, hiszen az - angol nyelv vált az informatika "hivatalos" nyelvévé. - A FreeBSD Magyar Dokumentációs Projekt célja, hogy - egy egységes magyar nyelvû dokumentációt - nyújtson az angol nyelvismerettel egyáltalán nem - rendelkezõ, vagy angol nyelvet kevésbé jól - értõ felhasználók számára.

    +

    A &os; Dokumentációs Projekt által + létrehozott dokumentációk felölelnek + ugyan minden témát, de ezek a dokumentumok az angol + nyelv amerikai követelményei szerint + íródtak, hiszen az angol nyelv vált az + informatika ,,hivatalos'' nyelvévé. A Magyar &os; + Dokumentációs Projekt célja, hogy egy + egységes magyar nyelvû dokumentációt + nyújtson az angol nyelvismerettel egyáltalán + nem rendelkezõ, vagy angol nyelvet kevésbé + jól értõ felhasználók + számára.

    -

    Hogyan segíthet?

    +

    Hogyan segíthetünk?

    -

    Lefordíthat egy még le nem fordított angol - nyelvû dokumentumot, vagy saját maga is írhat - új dokumentumokat. Mind az angol, mind a magyar nyelvû - dokumentumok SGML nyelven készülnek, - így az angol nyelv ismerete mellett az SGML nyelv alapjaival is - tisztában kell lennie, valamint követnie kell az - A - FreeBSD Dokumentációs Projekt Irányelvei - Kezdõknek könyv tartalmi és formai - elõírásait.

    +

    Lefordíthatunk egy még le nem fordított + angol nyelvû dokumentumot, vagy akár saját magunk + is írhatunk új dokumentumokat. Mind az angol, mind + a magyar nyelvû dokumentumok SGML + nyelven készülnek, így az angol nyelv ismerete + mellett az SGML nyelv alapjaival is tisztában kell + lennünk, valamint követnünk kell az A &os; + Dokumentációs Projekt irányelvei + kezdõknek címû könyv tartalmi és + formai elõírásait.

    Kapcsolat

    -

    Kövesdán Gábor <gabor@FreeBSD.org> +

    Kövesdán Gábor <gabor@FreeBSD.org>

    + +

    Páli Gábor <pgj@FreeBSD.org>

    &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/sgml.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ - + ]> @@ -14,207 +14,231 @@ &header; -

    A Dokumentációs Projekt az SGML nyelvet használja, mint - alapvetõ eszközt a dokumentáció - bemutatásához.

    +

    A dokumentációs munkákhoz a + Dokumentációs Projekt az SGML nyelvet + használja mint alapvetõ eszközt.

    Az SGML jelentése: Standard Generalized Markup Language.

    -

    Dióhéjban, (és elnézést - mindenkitõl, akit sért a következõ - kijelentés) az SGML egy nyelv további nyelvek - létrehozására.

    +

    Dióhéjban (és elnézést + kérünk mindenki SGML szakértõtõl, akit + sért a következõ kijelentés) úgy + foglalhatnánk össze, hogy az SGML egy olyan nyelv, + amellyel további nyelveket hozhatunk létre.

    -

    Talán Ön is használta már az SGML-t, - anélkül, hogy tudott volna róla. A HTML, amely - nyelven a honlapok készülnek, rendelkezik formális - leírással, amely SGML nyelven íródott. Mikor - HTML nyelven ír, nem az SGML nyelvet használja - (és fordítva sem), csak egy olyan nyelvet, amelynek - szabályait az SGML segítségével - fektették le.

    +

    Talán már mi magunk is használtuk az SGML-t + anélkül, hogy tudtunk volna róla. A honlapok + készítésére használt HTML nyelv + például olyan formális + leírással rendelkezik, amely az SGML nyelven + íródott. Természetesen ez nem azt + jelenti, hogy amikor HTML nyelven írunk valamit, akkor az + SGML nyelvet használjuk (és fordítva sem). + Ez csupán egy olyan nyelv, amelynek szabályait az + SGML segítségével fektették le.

    -

    Sok leíró nyelv létezik, melynek alapjait SGML - nyelven írták. A HTML az egyik ezek közül. - Egy másik példa erre a "DocBook". Ez egy olyan nyelv, - melyet technikai leírások írásához - terveztek, és mint ilyen, sok taggel rendelkezik (amelyek így - néznek ki: <Tag tartalma>), a technikai - leírások megfelelõ formázásához. - A FreeBSD Dokumentációs Projekt ezt használja, - kiegészítve néhány új elemmel a - még nagyobb precizitás érdekében.

    +

    Sok leíró nyelv létezik, melynek alapjait + SGML nyelven írták. A HTML az egyik ezek + közül. Egy másik példa erre a + ,,DocBook''. Ez egy olyan nyelv, melyet kifejezetten mûszaki + leírások írásához terveztek, + és mint ilyen, a megfelelõ formázáshoz + nagyon sok ilyen típusú (tehát + <a tag tartalma> alakú) taggel + rendelkezik. A &os; Dokumentációs Projekt ezt + használja, és a nagyon pontosság + érdekében még kiegészítette + néhány új elemmel is.

    -

    A következõ példa bemutatja, hogyan írhat - bekezdést a HTML nyelv segítségével - (a tartalomtól eltekintve, csak a tageket nézze):

    +

    A következõ példa bemutatja hogyan + írhatunk meg egy bekezdést a HTML nyelv + segítségével (a tartalom most nem fontos, + csak a tagek):

    -
    A rendszer a jelszavak tárolására a
    -        /etc/passwd fájlt használja.  Ennek
    -        módosításához a vipw
    -        használata ajánlott.  Amennyiben csak egy új
    -        felhasználót akar felvenni a rendszerbe,
    -        használhatja az adduser parancsot.

    - ]]>
    +
    A rendszer a jelszavak tárolására az
    +      /etc/passwd állományt használja.
    +      Ennek módosításához a
    +      vipw használata ajánlott.
    +      Amennyiben csak egy új felhasználót akarunk
    +      felvenni a rendszerbe, használjuk az
    +      adduser parancsot.

    +]]>

    Ugyanez a bekezdés a DocBook leírónyelvet használva így néz ki:

    A rendszer a jelszavak tárolására a
    -	/etc/passwd fájlt használja.  Ennek
    -	módosításához a vipw
    -	használata ajánlott.  Amennyiben csak egy új
    -	felhasználót akar felvenni a rendszerbe,
    -	használhatja az adduser parancsot.
    -    ]]>
    + A rendszer a jelszavak tárolására az + /etc/passwd állományt + használja. Ennek módosításához + a vipw használata ajánlott. + Amennyiben csak egy új felhasználót akarunk + felvenni a rendszerbe, használjuk az + adduser parancsot. +]]> -

    Amint látja, a DocBook sokkal "kifejezõbb" a HTML-nél. - A HTML példában a fájlnév - megjelenítése "typewriter" betûtípussal - történik. A DocBook ugyanezt - "fájlnév"-ként képes kezelni, - függetlenül attól, hogy a fájlnév - leírását itt nem tárgyaljuk.

    +

    Láthatjuk, hogy a DocBook sokkal ,,kifejezõbb'' a + HTML-nél. A HTML példában az + állománynév megjelenítése + ,,typewriter'' betûtípussal történik. A + DocBook ugyanezt ,,állománynévként'' + képes kezelni függetlenül attól, hogy az + állománynevek formázását itt + nem tárgyaljuk.

    Ennek a sokkal kifejezõbb jelölési rendszernek rengeteg elõnye van:

    • -

      Nem félreérthetõ vagy ellentmondásos.

      - -

      Nem tölt idõt azon gondolkodva, hogy "Hmm, vajon egy - fájlnév megjelenítéséhez 'tt', - 'b', vagy 'em' lenne megfelelõbb?"

      +

      Nem félreérthetõ vagy + ellentmondásos.

      + +

      Nem töltünk el idõt feleslegesen azon + gondolkodva, hogy ,,Hmm, vajon egy állomány + megjelenítéséhez a 'tt', 'b', vagy 'em' + lenne megfelelõbb?''

      -

      Ehelyett a megfelelõ taget használhatja a megfelelõ - helyen.

      +

      Ehelyett egyszerûen csak a megfelelõ taget + használjuk a megfelelõ helyen.

      -

      A DocBookból más formátumokba (HTML, - PostScript®, stb.) történõ - átalakítás során biztos lehet abban, - hogy minden <filename> ugyanúgy fog kinézni.

      +

      Biztosak lehetünk benne, hogy a minden <filename> + taggel megjelölt rész ugyanúgy fog + kinézni, amikor DocBookból más + formátumokba (HTML, PostScript® stb.) + alakítjuk át.

    • -

      Elfelejthet a dokumentum tálalásának - módjával foglalkozni, így - kizárólag a tartalomra koncentrálhat.

      +

      Nem kell a dokumentum megjelenésével + foglalkoznunk, így kizárólag a tartalomra + tudunk koncentrálni.

    • -

      Mivel a dokumentáció leírásának - módja egyáltalán nem kötött, ugyanaz - a dokumentáció több más formátumban - is könnyedén elõállítható - — egyszerû szöveg, HTML, PostScript®, RTF, PDF, - stb.

    • +

      Mivel a dokumentáció + leírásának módja + egyáltalán nem kötött, ugyanaz a + dokumentáció több más + formátumban is könnyedén + elõállítható — egyszerû + szöveg, HTML, PostScript®, RTF, PDF stb.

      +
    • -

      A dokumentáció sokkal intelligensebb, tehát - intelligensebb feladatokra használható. - Például lehetséges egy olyan - tárgymutató automatikus - elõállítása, amely a +

      A dokumentáció is így sokkal + ,,intelligensebb'', tehát bonyolultabb is feladatokra + felhasználható. Például + lehetséges egy olyan tárgymutató + automatikus elõállítása, amely a dokumentáció összes parancsát - tartalmazza.

    • + tartalmazza.

      +
    -

    Ez olyan, mint a Microsoft® Word stílusai, csak +

    Ez olyan, mint a Microsoft® Word stíluslapjai, csak mérhetetlenül sokoldalúbb.

    -

    Természetesen a sokoldalúságnak ára van:

    +

    Természetesen ennek a sokoldalúságnak + ára an:

    • -

      Mivel a használható tagek száma sokkal nagyobb, - tovább tart megtanulásuk és alkalmazásuk +

      Mivel a használható tagek száma sokkal + nagyobb, tovább tart megtanulásuk és + alkalmazásuk hatékony elsajátítása is.

      -

      Egy jó módszere az SGML és a DocBook - elsajátításának az, ha sok példa - dokumentáció forrásában - megfigyeljük, más szerzõk hogyan írtak le - hasonló információt.

      +

      Egy jó módszer az SGML és a DocBook + elsajátítására az, ha a + dokumentációk forrásaiban + megfigyeljük, más szerzõk hogyan írtak + le hasonló információt.

    • -

      Az átalakítás nem egyszerû.

    • +

      Az átalakítás nem egyszerû.

      +
    -

    Mi a teendõ, ha nem ismeri a DocBook rendszert? - Hozzájárulhat mással is?

    +

    Mi a teendõ, ha nem ismerjük a DocBook rendszert? + Hozzá tudunk járulni mással is?

    -

    Természetesen igen. Bármely dokumentáció jobb a - nem létezõ dokumentációnál. Amennyiben - rendelkezik néhány közlésre szánt - dokumentációval, de azok nem DocBook nyelven - íródtak, ne aggódjon!

    +

    Természetesen igen, hiszen bármely + dokumentáció jobb a nem létezõ + dokumentációnál. Ne aggódjunk, ha a + közlésre szánt dokumentáció nem + DocBook nyelven íródott!

    -

    Küldje el a - dokumentációt, mint normális esetben. A projekt - egy másik tagja elõ fogja venni a javasolt - dokumentációt, elvégzi a konvertálást - és közzéteszi. Kis szerencsével az így - elkészült szöveget is elküldik Önnek! - Ez hasznos lehet, mert így megtekintheti a - dokumentáció "elõtte és utána" - változatát, és remélhetõen tanul - egy keveset a leíró folyamatból.

    +

    Az eddig megszokottakhoz hasonlóan küldjünk el a + dokumentációt. A projekt egy másik tagja + elõ fogja venni a javasolt dokumentációt, + elvégzi a konvertálást és + közzéteszi. Kis szerencsével az így + elkészült szöveget is visszaküldik! Ez + hasznos lehet, mert így láthatjuk a + dokumentáció ,,elõtte és utána'' + változatát, és remélhetõen + tanulhatunk egy keveset a folyamatról.

    Ez nyilvánvalóan lelassítja a - közzétételi folyamatot, mivel a beküldött - dokumentációt még konvertálni kell. - Így pár órába, vagy pár - napba is beletelhet, mire elbírálásra - kerül.

    + közzétételi folyamatot, mivel a + beküldött dokumentációt még + konvertálni kell. Így pár + órába, vagy pár napba is beletelhet, mire + elbírálásra kerül.

    -

    További információk az SGML-rõl és a - DocBookról

    +

    További információk az SGML és a + DocBook nyelvekrõl

    -

    Elõször is olvassa el a - A FreeBSD - Dokumentációs Projekt Irányelvei - Kezdõknek címû könyvet. Ennek - célja, hogy átfogó leírást - nyújtson minden, a FreeBSD dokumentációja kapcsán +

    Elsõként olvassuk el a A &os; Dokumentációs Projekt irányelvei kezdõknek + címû könyvet. Ennek célja, hogy + átfogó leírást nyújtson minden, + a &os; dokumentációja kapcsán felmerülõ kérdések megválaszolásához. Igen hosszú - leírás, amely kisebb oldalakra van tagolva, de - lehetõsége van megtekinteni egy oldalként, - egészben.

    + leírás, amely kisebb részekre szedtek + szét, de lehetõségünk van megtekinteni + akár egészben + is.

    http://www.oasis-open.org/cover/sgml-xml.html
    -

    Az SGML/XML honlap. Számtalan hivatkozás az SGML-rõl.

    +

    Az SGML/XML honlapja. Számtalan hivatkozás + szól az SGML nyelvrõl.

    http://www-sul.stanford.edu/tools/tutorials/html2.0/gentle.html
    -

    "Gentle Introduction to SGML". Ajánlott olvasmány - mindenkinek, aki közelebbrõl akar megismerkedni az SGML - nyelvvel, a kezdõk szemszögébõl nézve.

    +

    "Gentle Introduction to SGML". Ajánlott + olvasmány mindenkinek, aki az SGML nyelvvel a kezdõk + szemszögébõl nézve szeretne + közelebbrõl megismerkedni.

    http://www.oasis-open.org/docbook/
    -

    A DocBook DTD-t az OASIS gondozza. Ezek az oldalak azoknak - szólnak, akik az SGML nyelvet már - elsajátították és a DocBook-ot - tanulmányoznák.

    +

    A DocBook DTD-t az OASIS tartja karban. Ezek az oldalak + azoknak szólnak, akik az SGML nyelvet már + elsajátították és a DocBook nyelvet + is tanulmányoznák.

    -

    FreeBSD Dokumentációs Projekt kezdõlap + A &os; Dokumentációs Projekt kezdõlapja + &footer; ==== //depot/projects/docproj_hu/www/hu/docproj/submitting.sgml#4 (text+ko) ==== @@ -2,8 +2,8 @@ - + ]> @@ -16,183 +16,195 @@ &header; -

    Írtam néhány dokumentációt. Hogyan - nyújthatom be közlésre?

    +

    Hogyan lehet beküldeni dokumentációt?

    + +

    Elõször is szeretnénk megköszönni, + hogy erre fordítottuk az idõnket!

    -

    Elõször is, köszönjük hogy erre fordította - idejét!

    +

    Az elkészített dokumentációt + valamilyen módon elérhetõvé kell tenni. + Amennyiben lehetséges, helyezzünk el egy FTP oldalon + vagy webcímen.

    -

    A dokumentációt elérhetõvé kell tennie. - Amennyiben lehetõsége van rá, kérjük - helyezze el egy FTP vagy webcímen.

    +

    Ezt követõen írjunk levelet a + freebsd-doc levelezési listára, amelyben + röviden ismertetjük a dokumentációt + és hivatkozunk a pontos helyére, majd várjunk + a visszajelzésre.

    -

    Ezt követõen írjon levelet a FreeBSD-doc - levelezõlistára, a dokumentáció rövid - ismertetõjével és pontos helyére való - hivatkozással, majd várjon a visszajelzésre.

    +

    Amennyiben valamilyen okból kifolyólag nem + áll módunkban elhelyezni a dokumentációt + FTP vagy webhelyen, közvetlenül is + elküldhetjük a freebsd-doc levelezési + lista címére is. Ebben az esetben viszont + lehetõleg csak egyszerû szöveges dokumentumokat + küldjünk.

    -

    Amennyiben valamilyen okból kifolyólag nem áll - módjában elhelyezni a dokumentációt FTP vagy - webhelyen, elküldheti közvetlenül a FreeBSD-doc - levelezõlistára. Ebben az esetben kérjük csak - egyszerû szöveges dokumentumokat küldjön.

    - -

    Elõfordulhat, hogy más levelezõ listákon is - megvitatnák a dokumentációt, tehát - kérjük továbbítsa azt azokra is. - Például egy cikk a CVSup - használatáról, arról, hogyan tarthatjuk - a forrásainkat frissen, további +

    Elõfordulhat, hogy más levelezési + listákon is megvitatnák a dokumentációt, + tehát érdemes azokra is elküldeni egy + másolatot belõle. Például egy olyan + cikk, amely arról szól, hogy a CVSup hogyan + tarthatjuk a forrásainkat frissen, további érdeklõdésre tarthat számot a - FreeBSD-current és a FreeBSD-stable + freebsd-current és a freebsd-stable listákon is.

    - -

    Miután a dokumentációját - átnézték és lehetõséget kapott, - hogy megvitassák, készen áll a - közzétételre.

    - -

    Ehhez nem kell mást tennie, csak csomagolja egy tar - fájlba! Amennyiben tehát a dokumentáció - három fájlból áll, elso, - masodik illetve harmadik, és szeretne egyetlen - doc.tar állományt készíteni - belõlük, adja ki a következõ parancsot:

    + +

    Miután a dokumentációt + átnézték, tegyünk eleget a vele + kapcsolatban beérkezett javaslatoknak, és már + készen is áll a közzétételre.

    + +

    Ehhez nem kell mást tennünk, csak csomagoljuk be egy + tar állományba. Ha például + tehát a dokumentáció három + állományból áll, mint az + elso, masodik, illetve harmadik, + és ezekbõl szeretnénk egyetlen doc.tar + állományt készíteni, akkor adjuk ki az + ehhez szükséges parancsot:

           % tar cf doc.tar elso masodik harmadik
         
    -

    ami éppen erre való. Ezután - tömörítse a tar fájlt az alábbi - paranccsal:

    +

    Ezután tömörítsük az így + kapott tar állományt az alábbi paranccsal:

           % gzip -9 doc.tar
         
    -

    ami elõállítja a doc.tar.gz - tömörített állományt.

    +

    Így elõáll a doc.tar.gz + tömörített állomány.

    -

    Végül pedig kódolja az állományt, - nehogy egy levelezõprogram jóvoltából - darabokra essen.

    +

    Végül pedig kódoljuk az + állományt, nehogy véletlenül egy + levelezõprogram szétcincálja.

           % uuencode doc.tar.gz doc.tar.gz > doc.uue
         
    -

    Ezt követõen tudatnia kell a Dokumentációs - Projekttel az új dokumentáció - létezését. Ennek megfelelõ módja a - send-pr parancs használata, ami - valószínûleg telepítve van a - számítógépére. A - WWW hibabejelentõ ûrlap - is hasznos lehet.

    +

    Ezt követõen tudatnunk kell a + Dokumentációs Projekttel az új + dokumentáció létezését. Ennek + megfelelõ módja a send-pr parancs + használata, amely valószínûleg + már el is érhetõ a + számítógépünkön. Erre + viszont a hibajelentõ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 4 08:31:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3F151065681; Fri, 4 Jul 2008 08:31: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 76AC21065678 for ; Fri, 4 Jul 2008 08:31:23 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6191C8FC1D for ; Fri, 4 Jul 2008 08:31:23 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m648VNkG062775 for ; Fri, 4 Jul 2008 08:31:23 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m648VNoB062773 for perforce@freebsd.org; Fri, 4 Jul 2008 08:31:23 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 08:31:23 GMT Message-Id: <200807040831.m648VNoB062773@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144601 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, 04 Jul 2008 08:31:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=144601 Change 144601 by julian@julian_trafmon1 on 2008/07/04 08:31:21 Make LINT compile (with SCTP removed) Affected files ... .. //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#5 edit .. //depot/projects/vimage/src/sys/compat/svr4/svr4_sockio.c#2 edit .. //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#2 edit .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_subr.c#4 edit .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#6 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf.c#11 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_if.c#7 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#12 edit .. //depot/projects/vimage/src/sys/dev/ie/if_ie.c#5 edit .. //depot/projects/vimage/src/sys/dev/syscons/daemon/daemon_saver.c#3 edit .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_socksys.c#2 edit .. //depot/projects/vimage/src/sys/kern/kern_poll.c#6 edit .. //depot/projects/vimage/src/sys/net/bridgestp.c#9 edit .. //depot/projects/vimage/src/sys/net/if_bridge.c#12 edit .. //depot/projects/vimage/src/sys/net/if_ef.c#3 edit .. //depot/projects/vimage/src/sys/netgraph/atm/ng_atm.c#2 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#12 edit .. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#11 edit .. //depot/projects/vimage/src/sys/nfsclient/bootp_subr.c#7 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#58 edit Differences ... ==== //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#5 (text+ko) ==== @@ -32,6 +32,7 @@ /* XXX we use functions that might not exist. */ #include "opt_compat.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include #include @@ -50,6 +51,9 @@ #include #include #include +#include + +#include #include #include @@ -57,6 +61,7 @@ #ifdef INET6 #include #include +#include #endif #ifdef COMPAT_LINUX32 @@ -545,6 +550,10 @@ static int linux_socket(struct thread *td, struct linux_socket_args *args) { +#ifndef KLD_MODULE + INIT_VNET_INET6(curvnet); +#endif + struct linux_socket_args linux_args; struct socket_args /* { int domain; @@ -588,7 +597,7 @@ * XXX: Avoid undefined symbol error with an IPv4 only * kernel. */ - && ip6_v6only + && V_ip6_v6only #endif ) { int v6only; ==== //depot/projects/vimage/src/sys/compat/svr4/svr4_sockio.c#2 (text+ko) ==== @@ -26,6 +26,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_sockio.c,v 1.18 2006/08/04 21:15:09 brooks Exp $"); @@ -36,9 +38,11 @@ #include #include #include +#include + #include +#include - #include #include #include @@ -87,6 +91,7 @@ switch (cmd) { case SVR4_SIOCGIFNUM: { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; int ifnum = 0; @@ -103,7 +108,7 @@ * entry per physical interface? */ IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) + TAILQ_FOREACH(ifp, &V_ifnet, if_link) if (TAILQ_EMPTY(&ifp->if_addrhead)) ifnum++; else ==== //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#2 (text+ko) ==== @@ -26,6 +26,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.23 2006/09/02 08:18:22 rwatson Exp $"); @@ -43,6 +45,7 @@ #include #include #include +#include #include @@ -411,6 +414,8 @@ struct thread *td; struct svr4_sys_systeminfo_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); + char *str = NULL; int error = 0; register_t *retval = td->td_retval; @@ -426,7 +431,7 @@ break; case SVR4_SI_HOSTNAME: - str = hostname; + str = V_hostname; break; case SVR4_SI_RELEASE: @@ -454,7 +459,7 @@ break; case SVR4_SI_SRPC_DOMAIN: - str = domainname; + str = V_domainname; break; case SVR4_SI_PLATFORM: ==== //depot/projects/vimage/src/sys/contrib/altq/altq/altq_subr.c#4 (text+ko) ==== @@ -29,11 +29,10 @@ #if defined(__FreeBSD__) || defined(__NetBSD__) #include "opt_altq.h" -#if (__FreeBSD__ != 2) -#include "opt_inet.h" #ifdef __FreeBSD__ #include "opt_inet6.h" -#endif +#include "opt_inet.h" +#include "opt_vimage.h" #endif #endif /* __FreeBSD__ || __NetBSD__ */ @@ -49,10 +48,12 @@ #include #include #include +#include #include #include #include +#include #include #include @@ -460,7 +461,9 @@ #if defined(__FreeBSD__) && (__FreeBSD_version >= 500000) IFNET_RLOCK(); #endif - for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) { + VNET_ITERLOOP_BEGIN(); + INIT_VNET_NET(curvnet); + for (ifp = TAILQ_FIRST(&V_ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) { /* read from if_snd unlocked */ if (!TBR_IS_ENABLED(&ifp->if_snd)) continue; @@ -468,6 +471,7 @@ if (!IFQ_IS_EMPTY(&ifp->if_snd) && ifp->if_start != NULL) (*ifp->if_start)(ifp); } + VNET_ITERLOOP_END() #if defined(__FreeBSD__) && (__FreeBSD_version >= 500000) IFNET_RUNLOCK(); #endif ==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#6 (text+ko) ==== @@ -25,6 +25,9 @@ # include "opt_random_ip_id.h" #endif #include +#if __FreeBSD_version > 800000 +# include "opt_vimage.h" +#endif #if defined(__FreeBSD__) && !defined(__FreeBSD_version) # if defined(IPFILTER_LKM) # ifndef __FreeBSD_cc_version @@ -115,8 +118,17 @@ #endif extern int ip_optcopy __P((struct ip *, struct ip *)); +#if __FreeBSD_version > 800000 +# include +# include +#endif #if (__FreeBSD_version > 460000) +#ifndef VIMAGE extern int path_mtu_discovery; +#define V_path_mtu_discovery path_mtu_discovery +#define V_ip_defttl ip_defttl +#define V_ipforwarding ipforwarding +#endif #endif # ifdef IPFILTER_M_IPFILTER @@ -233,8 +245,10 @@ bzero((char *)frcache, sizeof(frcache)); fr_running = 1; - if (fr_control_forwarding & 1) - ipforwarding = 1; + if (fr_control_forwarding & 1) { + INIT_VNET_INET(curvnet); + V_ipforwarding = 1; + } SPL_X(s); #if (__FreeBSD_version >= 300000) @@ -256,8 +270,10 @@ #ifdef USE_SPL int s; #endif - if (fr_control_forwarding & 2) - ipforwarding = 0; + if (fr_control_forwarding & 2) { + INIT_VNET_INET(curvnet); + V_ipforwarding = 0; + } SPL_NET(s); @@ -635,6 +651,7 @@ fr_info_t *fin; mb_t *m, **mpp; { + INIT_VNET_INET(curvnet); fr_info_t fnew; ip_t *ip, *oip; int hlen; @@ -652,11 +669,11 @@ ip->ip_tos = oip->ip_tos; ip->ip_id = fin->fin_ip->ip_id; #if (__FreeBSD_version > 460000) - ip->ip_off = path_mtu_discovery ? IP_DF : 0; + ip->ip_off = V_path_mtu_discovery ? IP_DF : 0; #else ip->ip_off = 0; #endif - ip->ip_ttl = ip_defttl; + ip->ip_ttl = V_ip_defttl; ip->ip_sum = 0; hlen = sizeof(*oip); break; ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf.c#11 (text+ko) ==== @@ -38,6 +38,7 @@ #ifdef __FreeBSD__ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.54 2008/05/09 23:02:55 julian Exp $"); @@ -91,6 +92,7 @@ #include #include #include +#include #else #include #endif @@ -118,6 +120,7 @@ #include #include #include +#include #ifndef __FreeBSD__ #include @@ -137,6 +140,7 @@ #ifdef __FreeBSD__ #include #include +#include #endif #endif /* INET6 */ @@ -1757,6 +1761,7 @@ u_int8_t flags, u_int16_t win, u_int16_t mss, u_int8_t ttl, int tag, u_int16_t rtag, struct ether_header *eh, struct ifnet *ifp) { + INIT_VNET_INET(curvnet); struct mbuf *m; int len, tlen; #ifdef INET @@ -1916,13 +1921,13 @@ h->ip_hl = sizeof(*h) >> 2; h->ip_tos = IPTOS_LOWDELAY; #ifdef __FreeBSD__ - h->ip_off = path_mtu_discovery ? IP_DF : 0; + h->ip_off = V_path_mtu_discovery ? IP_DF : 0; h->ip_len = len; #else h->ip_off = htons(ip_mtudisc ? IP_DF : 0); h->ip_len = htons(len); #endif - h->ip_ttl = ttl ? ttl : ip_defttl; + h->ip_ttl = ttl ? ttl : V_ip_defttl; h->ip_sum = 0; if (eh == NULL) { #ifdef __FreeBSD__ @@ -2920,6 +2925,7 @@ pf_socket_lookup(int direction, struct pf_pdesc *pd) #endif { + INIT_VNET_INET(curvnet); struct pf_addr *saddr, *daddr; u_int16_t sport, dport; #ifdef __FreeBSD__ @@ -2953,7 +2959,7 @@ sport = pd->hdr.tcp->th_sport; dport = pd->hdr.tcp->th_dport; #ifdef __FreeBSD__ - pi = &tcbinfo; + pi = &V_tcbinfo; #else tb = &tcbtable; #endif @@ -2964,7 +2970,7 @@ sport = pd->hdr.udp->uh_sport; dport = pd->hdr.udp->uh_dport; #ifdef __FreeBSD__ - pi = &udbinfo; + pi = &V_udbinfo; #else tb = &udbtable; #endif @@ -3099,10 +3105,11 @@ u_int16_t pf_get_mss(struct mbuf *m, int off, u_int16_t th_off, sa_family_t af) { + INIT_VNET_INET(curvnet); int hlen; u_int8_t hdr[60]; u_int8_t *opt, optlen; - u_int16_t mss = tcp_mssdflt; + u_int16_t mss = V_tcp_mssdflt; hlen = th_off << 2; /* hlen <= sizeof(hdr) */ if (hlen <= sizeof(struct tcphdr)) @@ -3138,6 +3145,7 @@ pf_calc_mss(struct pf_addr *addr, sa_family_t af, u_int16_t offer) { #ifdef INET + INIT_VNET_INET(curvnet); struct sockaddr_in *dst; struct route ro; #endif /* INET */ @@ -3147,7 +3155,7 @@ #endif /* INET6 */ struct rtentry *rt = NULL; int hlen = 0; /* make the compiler happy */ - u_int16_t mss = tcp_mssdflt; + u_int16_t mss = V_tcp_mssdflt; switch (af) { #ifdef INET @@ -3195,7 +3203,7 @@ if (rt && rt->rt_ifp) { mss = rt->rt_ifp->if_mtu - hlen - sizeof(struct tcphdr); - mss = max(tcp_mssdflt, mss); + mss = max(V_tcp_mssdflt, mss); RTFREE(rt); } mss = min(mss, offer); @@ -3240,6 +3248,7 @@ struct ifqueue *ifq) #endif { + INIT_VNET_INET(curvnet); struct pf_rule *nr = NULL; struct pf_addr *saddr = pd->src, *daddr = pd->dst; struct tcphdr *th = pd->hdr.tcp; @@ -3251,7 +3260,7 @@ u_short reason; int rewrite = 0; int tag = -1, rtableid = -1; - u_int16_t mss = tcp_mssdflt; + u_int16_t mss = V_tcp_mssdflt; int asd = 0; int match = 0; @@ -6078,6 +6087,7 @@ pf_route(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp, struct pf_state *s, struct pf_pdesc *pd) { + INIT_VNET_INET(curvnet); struct mbuf *m0, *m1; struct route iproute; struct route *ro = NULL; @@ -6135,7 +6145,7 @@ if (r->rt == PF_FASTROUTE) { in_rtalloc(ro, 0); if (ro->ro_rt == 0) { - ipstat.ips_noroute++; + V_ipstat.ips_noroute++; goto bad; } @@ -6266,7 +6276,7 @@ if ((ifp->if_capabilities & IFCAP_CSUM_IPv4) && ifp->if_bridge == NULL) { m0->m_pkthdr.csum_flags |= M_IPV4_CSUM_OUT; - ipstat.ips_outhwcsum++; + V_ipstat.ips_outhwcsum++; } else { ip->ip_sum = 0; ip->ip_sum = in_cksum(m0, ip->ip_hl << 2); @@ -6285,7 +6295,7 @@ * Must be able to put at least 8 bytes per fragment. */ if (ip->ip_off & htons(IP_DF)) { - ipstat.ips_cantfrag++; + V_ipstat.ips_cantfrag++; if (r->rt != PF_DUPTO) { #ifdef __FreeBSD__ /* icmp_error() expects host byte ordering */ @@ -6342,7 +6352,7 @@ } if (error == 0) - ipstat.ips_fragmented++; + V_ipstat.ips_fragmented++; done: if (r->rt != PF_DUPTO) @@ -6615,18 +6625,30 @@ if (sum) { switch (p) { case IPPROTO_TCP: - tcpstat.tcps_rcvbadsum++; + { + INIT_VNET_INET(curvnet); + V_tcpstat.tcps_rcvbadsum++; break; + } case IPPROTO_UDP: - udpstat.udps_badsum++; + { + INIT_VNET_INET(curvnet); + V_udpstat.udps_badsum++; break; + } case IPPROTO_ICMP: - icmpstat.icps_checksum++; + { + INIT_VNET_INET(curvnet); + V_icmpstat.icps_checksum++; break; + } #ifdef INET6 case IPPROTO_ICMPV6: - icmp6stat.icp6s_checksum++; + { + INIT_VNET_INET6(curvnet); + V_icmp6stat.icp6s_checksum++; break; + } #endif /* INET6 */ } return (1); ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_if.c#7 (text+ko) ==== @@ -35,6 +35,7 @@ #if defined(__FreeBSD__) #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_if.c,v 1.15 2008/03/29 00:24:36 mlaier Exp $"); @@ -54,9 +55,11 @@ #include #endif #include +#include #include #include +#include #include #include @@ -109,8 +112,10 @@ void pfi_detach_group_event(void * __unused, struct ifg_group *); void pfi_ifaddr_event(void * __unused, struct ifnet *); +#ifndef VIMAGE extern struct ifgrouphead ifg_head; #endif +#endif RB_PROTOTYPE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare); RB_GENERATE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare); @@ -121,6 +126,7 @@ void pfi_initialize(void) { + INIT_VNET_NET(curvnet); if (pfi_all != NULL) /* already initialized */ return; @@ -141,9 +147,9 @@ struct ifnet *ifp; IFNET_RLOCK(); - TAILQ_FOREACH(ifg, &ifg_head, ifg_next) + TAILQ_FOREACH(ifg, &V_ifg_head, ifg_next) pfi_attach_ifgroup(ifg); - TAILQ_FOREACH(ifp, &ifnet, if_link) + TAILQ_FOREACH(ifp, &V_ifnet, if_link) pfi_attach_ifnet(ifp); IFNET_RUNLOCK(); ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#12 (text+ko) ==== @@ -38,6 +38,7 @@ #ifdef __FreeBSD__ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.33 2008/06/05 19:30:20 mlaier Exp $"); @@ -96,11 +97,14 @@ #ifndef __FreeBSD__ #include #include +#else +#include #endif #include #include #include +#include #include #include @@ -3703,6 +3707,7 @@ pf_check6_in(void *arg, struct mbuf **m, struct ifnet *ifp, int dir, struct inpcb *inp) { + INIT_VNET_NET(curvnet); /* * IPv6 is not affected by ip_len/ip_off byte order changes. */ @@ -3713,7 +3718,7 @@ * order to support scoped addresses. In order to support stateful * filtering we have change this to lo0 as it is the case in IPv4. */ - chk = pf_test6(PF_IN, (*m)->m_flags & M_LOOP ? &loif[0] : ifp, m, + chk = pf_test6(PF_IN, (*m)->m_flags & M_LOOP ? &V_loif[0] : ifp, m, NULL, inp); if (chk && *m) { m_freem(*m); ==== //depot/projects/vimage/src/sys/dev/ie/if_ie.c#5 (text+ko) ==== ==== //depot/projects/vimage/src/sys/dev/syscons/daemon/daemon_saver.c#3 (text+ko) ==== @@ -28,6 +28,8 @@ * $FreeBSD: src/sys/dev/syscons/daemon/daemon_saver.c,v 1.24 2007/12/29 23:26:57 wkoszek Exp $ */ +#include "opt_vimage.h" + #include #include #include @@ -36,6 +38,7 @@ #include #include #include +#include #include @@ -350,10 +353,10 @@ static int daemon_init(video_adapter_t *adp) { - messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + + messagelen = strlen(G_hostname) + 3 + strlen(ostype) + 1 + strlen(osrelease); message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); - sprintf(message, "%s - %s %s", hostname, ostype, osrelease); + sprintf(message, "%s - %s %s", G_hostname, ostype, osrelease); blanked = 0; switch (adp->va_mode) { case M_PC98_80x25: ==== //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_socksys.c#2 (text+ko) ==== @@ -23,6 +23,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_socksys.c,v 1.22 2006/11/06 13:41:59 rwatson Exp $"); @@ -32,6 +34,7 @@ #include #include #include +#include #include #include @@ -171,15 +174,16 @@ struct thread *td; struct setipdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); char hname[MAXHOSTNAMELEN], *ptr; int error, sctl[2], hlen; /* W/out a hostname a domain-name is nonsense */ - if ( strlen(hostname) == 0 ) + if ( strlen(V_hostname) == 0 ) return EINVAL; /* Get the host's unqualified name (strip off the domain) */ - snprintf(hname, sizeof(hname), "%s", hostname); + snprintf(hname, sizeof(hname), "%s", V_hostname); ptr = index(hname, '.'); if ( ptr != NULL ) { ptr++; ==== //depot/projects/vimage/src/sys/kern/kern_poll.c#6 (text+ko) ==== @@ -25,6 +25,8 @@ * SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/kern/kern_poll.c,v 1.32 2008/03/16 10:58:05 rwatson Exp $"); @@ -37,9 +39,11 @@ #include #include #include +#include #include /* for IFF_* flags */ #include /* for NETISR_POLL */ +#include /* for ifnet pointer */ #include #include @@ -522,6 +526,7 @@ static int poll_switch(SYSCTL_HANDLER_ARGS) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; int error; int val = polling; @@ -539,7 +544,7 @@ polling = val; IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_capabilities & IFCAP_POLLING) { struct ifreq ifr; ==== //depot/projects/vimage/src/sys/net/bridgestp.c#9 (text+ko) ==== @@ -34,6 +34,8 @@ * ISO/IEC 802.1D-2004, June 9, 2004. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/net/bridgestp.c,v 1.40 2007/12/09 20:47:12 thompsa Exp $"); @@ -49,12 +51,14 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include @@ -2016,6 +2020,7 @@ void bstp_reinit(struct bstp_state *bs) { + INIT_VNET_NET(curvnet); struct bstp_port *bp; struct ifnet *ifp, *mif; u_char *e_addr; @@ -2031,7 +2036,7 @@ * value. */ IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_type != IFT_ETHER) continue; ==== //depot/projects/vimage/src/sys/net/if_bridge.c#12 (text+ko) ==== @@ -80,6 +80,7 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_carp.h" +#include "opt_vimage.h" #include #include @@ -100,6 +101,7 @@ #include #include #include +#include #include #include @@ -113,10 +115,12 @@ #include #include #include +#include #include #ifdef INET6 #include #include +#include #endif #ifdef DEV_CARP #include @@ -127,10 +131,12 @@ #include #include #include +#include #include #include #include +#include /* * Size of the route hash table. Must be a power of two. @@ -2977,9 +2983,10 @@ } if (IPFW_LOADED && pfil_ipfw != 0 && dir == PFIL_OUT && ifp != NULL) { + INIT_VNET_IPFW(curvnet); error = -1; args.rule = ip_dn_claim_rule(*mp); - if (args.rule != NULL && fw_one_pass) + if (args.rule != NULL && V_fw_one_pass) goto ipfwpass; /* packet already partially processed */ args.m = *mp; @@ -3161,6 +3168,7 @@ static int bridge_ip_checkbasic(struct mbuf **mp) { + INIT_VNET_INET(curvnet); struct mbuf *m = *mp; struct ip *ip; int len, hlen; @@ -3173,12 +3181,12 @@ if ((m = m_copyup(m, sizeof(struct ip), (max_linkhdr + 3) & ~3)) == NULL) { /* XXXJRT new stat, please */ - ipstat.ips_toosmall++; + V_ipstat.ips_toosmall++; goto bad; } } else if (__predict_false(m->m_len < sizeof (struct ip))) { if ((m = m_pullup(m, sizeof (struct ip))) == NULL) { - ipstat.ips_toosmall++; + V_ipstat.ips_toosmall++; goto bad; } } @@ -3186,17 +3194,17 @@ if (ip == NULL) goto bad; if (ip->ip_v != IPVERSION) { - ipstat.ips_badvers++; + V_ipstat.ips_badvers++; goto bad; } hlen = ip->ip_hl << 2; if (hlen < sizeof(struct ip)) { /* minimum header length */ - ipstat.ips_badhlen++; + V_ipstat.ips_badhlen++; goto bad; } if (hlen > m->m_len) { if ((m = m_pullup(m, hlen)) == 0) { - ipstat.ips_badhlen++; + V_ipstat.ips_badhlen++; goto bad; } ip = mtod(m, struct ip *); @@ -3213,7 +3221,7 @@ } } if (sum) { - ipstat.ips_badsum++; + V_ipstat.ips_badsum++; goto bad; } @@ -3224,7 +3232,7 @@ * Check for additional length bogosity */ if (len < hlen) { - ipstat.ips_badlen++; + V_ipstat.ips_badlen++; goto bad; } @@ -3234,7 +3242,7 @@ * Drop packet if shorter than we expect. */ if (m->m_pkthdr.len < len) { - ipstat.ips_tooshort++; + V_ipstat.ips_tooshort++; goto bad; } @@ -3256,6 +3264,7 @@ static int bridge_ip6_checkbasic(struct mbuf **mp) { + INIT_VNET_INET6(curvnet); struct mbuf *m = *mp; struct ip6_hdr *ip6; @@ -3270,14 +3279,14 @@ if ((m = m_copyup(m, sizeof(struct ip6_hdr), (max_linkhdr + 3) & ~3)) == NULL) { /* XXXJRT new stat, please */ - ip6stat.ip6s_toosmall++; + V_ip6stat.ip6s_toosmall++; in6_ifstat_inc(inifp, ifs6_in_hdrerr); goto bad; } } else if (__predict_false(m->m_len < sizeof(struct ip6_hdr))) { struct ifnet *inifp = m->m_pkthdr.rcvif; if ((m = m_pullup(m, sizeof(struct ip6_hdr))) == NULL) { - ip6stat.ip6s_toosmall++; + V_ip6stat.ip6s_toosmall++; in6_ifstat_inc(inifp, ifs6_in_hdrerr); goto bad; } @@ -3286,7 +3295,7 @@ ip6 = mtod(m, struct ip6_hdr *); if ((ip6->ip6_vfc & IPV6_VERSION_MASK) != IPV6_VERSION) { - ip6stat.ip6s_badvers++; + V_ip6stat.ip6s_badvers++; in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr); goto bad; } @@ -3346,8 +3355,10 @@ m_freem(m); } - if (error == 0) - ipstat.ips_fragmented++; + if (error == 0) { + INIT_VNET_INET(curvnet); + V_ipstat.ips_fragmented++; + } return (error); ==== //depot/projects/vimage/src/sys/net/if_ef.c#3 (text+ko) ==== @@ -29,6 +29,7 @@ #include "opt_inet.h" #include "opt_ipx.h" #include "opt_ef.h" +#include "opt_vimage.h" #include #include @@ -39,6 +40,7 @@ #include #include #include +#include #include #include @@ -49,6 +51,7 @@ #include #include #include +#include #ifdef INET #include @@ -489,35 +492,40 @@ int error = 0, d; IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { - if (ifp->if_type != IFT_ETHER) continue; - EFDEBUG("Found interface %s\n", ifp->if_xname); - efl = (struct ef_link*)malloc(sizeof(struct ef_link), - M_IFADDR, M_WAITOK | M_ZERO); - if (efl == NULL) { - error = ENOMEM; - break; - } + { + VNET_ITERLOOP_BEGIN_QUIET(); + INIT_VNET_NET(curvnet); + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { + if (ifp->if_type != IFT_ETHER) continue; + EFDEBUG("Found interface %s\n", ifp->if_xname); + efl = (struct ef_link*)malloc(sizeof(struct ef_link), + M_IFADDR, M_WAITOK | M_ZERO); + if (efl == NULL) { + error = ENOMEM; + break; + } - efl->el_ifp = ifp; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 4 08:36:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5642D1065671; Fri, 4 Jul 2008 08:36: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 1A143106568B for ; Fri, 4 Jul 2008 08:36:29 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 054DF8FC0A for ; Fri, 4 Jul 2008 08:36:29 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m648aSom063242 for ; Fri, 4 Jul 2008 08:36:28 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m648aSre063240 for perforce@freebsd.org; Fri, 4 Jul 2008 08:36:28 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 08:36:28 GMT Message-Id: <200807040836.m648aSre063240@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144603 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, 04 Jul 2008 08:36:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=144603 Change 144603 by julian@julian_trafmon1 on 2008/07/04 08:36:03 IFC a bunch of corrections from the vimage branch Affected files ... .. //depot/projects/vimage-devel/src/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/vimage-devel/src/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/vimage-devel/src/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/vimage-devel/src/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_poll.c#2 integrate .. //depot/projects/vimage-devel/src/sys/net/bridgestp.c#2 integrate .. //depot/projects/vimage-devel/src/sys/net/if_bridge.c#2 integrate .. //depot/projects/vimage-devel/src/sys/net/if_ef.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netgraph/atm/ng_atm.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netipsec/xform_ah.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netipsec/xform_esp.c#3 integrate .. //depot/projects/vimage-devel/src/sys/nfsclient/bootp_subr.c#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/vimage.h#9 edit Differences ... ==== //depot/projects/vimage-devel/src/sys/compat/linux/linux_socket.c#2 (text+ko) ==== @@ -32,6 +32,7 @@ /* XXX we use functions that might not exist. */ #include "opt_compat.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include #include @@ -50,6 +51,9 @@ #include #include #include +#include + +#include #include #include @@ -57,6 +61,7 @@ #ifdef INET6 #include #include +#include #endif #ifdef COMPAT_LINUX32 @@ -545,6 +550,10 @@ static int linux_socket(struct thread *td, struct linux_socket_args *args) { +#ifndef KLD_MODULE + INIT_VNET_INET6(curvnet); +#endif + struct linux_socket_args linux_args; struct socket_args /* { int domain; @@ -588,7 +597,7 @@ * XXX: Avoid undefined symbol error with an IPv4 only * kernel. */ - && ip6_v6only + && V_ip6_v6only #endif ) { int v6only; ==== //depot/projects/vimage-devel/src/sys/compat/svr4/svr4_sockio.c#2 (text+ko) ==== @@ -26,6 +26,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_sockio.c,v 1.18 2006/08/04 21:15:09 brooks Exp $"); @@ -36,9 +38,11 @@ #include #include #include +#include + #include +#include - #include #include #include @@ -87,6 +91,7 @@ switch (cmd) { case SVR4_SIOCGIFNUM: { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; int ifnum = 0; @@ -103,7 +108,7 @@ * entry per physical interface? */ IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) + TAILQ_FOREACH(ifp, &V_ifnet, if_link) if (TAILQ_EMPTY(&ifp->if_addrhead)) ifnum++; else ==== //depot/projects/vimage-devel/src/sys/compat/svr4/svr4_stat.c#2 (text+ko) ==== @@ -26,6 +26,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.23 2006/09/02 08:18:22 rwatson Exp $"); @@ -43,6 +45,7 @@ #include #include #include +#include #include @@ -411,6 +414,8 @@ struct thread *td; struct svr4_sys_systeminfo_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); + char *str = NULL; int error = 0; register_t *retval = td->td_retval; @@ -426,7 +431,7 @@ break; case SVR4_SI_HOSTNAME: - str = hostname; + str = V_hostname; break; case SVR4_SI_RELEASE: @@ -454,7 +459,7 @@ break; case SVR4_SI_SRPC_DOMAIN: - str = domainname; + str = V_domainname; break; case SVR4_SI_PLATFORM: ==== //depot/projects/vimage-devel/src/sys/contrib/altq/altq/altq_subr.c#2 (text+ko) ==== @@ -29,11 +29,10 @@ #if defined(__FreeBSD__) || defined(__NetBSD__) #include "opt_altq.h" -#if (__FreeBSD__ != 2) -#include "opt_inet.h" #ifdef __FreeBSD__ #include "opt_inet6.h" -#endif +#include "opt_inet.h" +#include "opt_vimage.h" #endif #endif /* __FreeBSD__ || __NetBSD__ */ @@ -49,10 +48,12 @@ #include #include #include +#include #include #include #include +#include #include #include @@ -460,7 +461,9 @@ #if defined(__FreeBSD__) && (__FreeBSD_version >= 500000) IFNET_RLOCK(); #endif - for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) { + VNET_ITERLOOP_BEGIN(); + INIT_VNET_NET(curvnet); + for (ifp = TAILQ_FIRST(&V_ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) { /* read from if_snd unlocked */ if (!TBR_IS_ENABLED(&ifp->if_snd)) continue; @@ -468,6 +471,7 @@ if (!IFQ_IS_EMPTY(&ifp->if_snd) && ifp->if_start != NULL) (*ifp->if_start)(ifp); } + VNET_ITERLOOP_END() #if defined(__FreeBSD__) && (__FreeBSD_version >= 500000) IFNET_RUNLOCK(); #endif ==== //depot/projects/vimage-devel/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 (text+ko) ==== @@ -25,6 +25,9 @@ # include "opt_random_ip_id.h" #endif #include +#if __FreeBSD_version > 800000 +# include "opt_vimage.h" +#endif #if defined(__FreeBSD__) && !defined(__FreeBSD_version) # if defined(IPFILTER_LKM) # ifndef __FreeBSD_cc_version @@ -115,8 +118,17 @@ #endif extern int ip_optcopy __P((struct ip *, struct ip *)); +#if __FreeBSD_version > 800000 +# include +# include +#endif #if (__FreeBSD_version > 460000) +#ifndef VIMAGE extern int path_mtu_discovery; +#define V_path_mtu_discovery path_mtu_discovery +#define V_ip_defttl ip_defttl +#define V_ipforwarding ipforwarding +#endif #endif # ifdef IPFILTER_M_IPFILTER @@ -233,8 +245,10 @@ bzero((char *)frcache, sizeof(frcache)); fr_running = 1; - if (fr_control_forwarding & 1) - ipforwarding = 1; + if (fr_control_forwarding & 1) { + INIT_VNET_INET(curvnet); + V_ipforwarding = 1; + } SPL_X(s); #if (__FreeBSD_version >= 300000) @@ -256,8 +270,10 @@ #ifdef USE_SPL int s; #endif - if (fr_control_forwarding & 2) - ipforwarding = 0; + if (fr_control_forwarding & 2) { + INIT_VNET_INET(curvnet); + V_ipforwarding = 0; + } SPL_NET(s); @@ -635,6 +651,7 @@ fr_info_t *fin; mb_t *m, **mpp; { + INIT_VNET_INET(curvnet); fr_info_t fnew; ip_t *ip, *oip; int hlen; @@ -652,11 +669,11 @@ ip->ip_tos = oip->ip_tos; ip->ip_id = fin->fin_ip->ip_id; #if (__FreeBSD_version > 460000) - ip->ip_off = path_mtu_discovery ? IP_DF : 0; + ip->ip_off = V_path_mtu_discovery ? IP_DF : 0; #else ip->ip_off = 0; #endif - ip->ip_ttl = ip_defttl; + ip->ip_ttl = V_ip_defttl; ip->ip_sum = 0; hlen = sizeof(*oip); break; ==== //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf.c#2 (text+ko) ==== @@ -38,6 +38,7 @@ #ifdef __FreeBSD__ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.54 2008/05/09 23:02:55 julian Exp $"); @@ -91,6 +92,7 @@ #include #include #include +#include #else #include #endif @@ -118,6 +120,7 @@ #include #include #include +#include #ifndef __FreeBSD__ #include @@ -137,6 +140,7 @@ #ifdef __FreeBSD__ #include #include +#include #endif #endif /* INET6 */ @@ -1757,6 +1761,7 @@ u_int8_t flags, u_int16_t win, u_int16_t mss, u_int8_t ttl, int tag, u_int16_t rtag, struct ether_header *eh, struct ifnet *ifp) { + INIT_VNET_INET(curvnet); struct mbuf *m; int len, tlen; #ifdef INET @@ -1916,13 +1921,13 @@ h->ip_hl = sizeof(*h) >> 2; h->ip_tos = IPTOS_LOWDELAY; #ifdef __FreeBSD__ - h->ip_off = path_mtu_discovery ? IP_DF : 0; + h->ip_off = V_path_mtu_discovery ? IP_DF : 0; h->ip_len = len; #else h->ip_off = htons(ip_mtudisc ? IP_DF : 0); h->ip_len = htons(len); #endif - h->ip_ttl = ttl ? ttl : ip_defttl; + h->ip_ttl = ttl ? ttl : V_ip_defttl; h->ip_sum = 0; if (eh == NULL) { #ifdef __FreeBSD__ @@ -2920,6 +2925,7 @@ pf_socket_lookup(int direction, struct pf_pdesc *pd) #endif { + INIT_VNET_INET(curvnet); struct pf_addr *saddr, *daddr; u_int16_t sport, dport; #ifdef __FreeBSD__ @@ -2953,7 +2959,7 @@ sport = pd->hdr.tcp->th_sport; dport = pd->hdr.tcp->th_dport; #ifdef __FreeBSD__ - pi = &tcbinfo; + pi = &V_tcbinfo; #else tb = &tcbtable; #endif @@ -2964,7 +2970,7 @@ sport = pd->hdr.udp->uh_sport; dport = pd->hdr.udp->uh_dport; #ifdef __FreeBSD__ - pi = &udbinfo; + pi = &V_udbinfo; #else tb = &udbtable; #endif @@ -3099,10 +3105,11 @@ u_int16_t pf_get_mss(struct mbuf *m, int off, u_int16_t th_off, sa_family_t af) { + INIT_VNET_INET(curvnet); int hlen; u_int8_t hdr[60]; u_int8_t *opt, optlen; - u_int16_t mss = tcp_mssdflt; + u_int16_t mss = V_tcp_mssdflt; hlen = th_off << 2; /* hlen <= sizeof(hdr) */ if (hlen <= sizeof(struct tcphdr)) @@ -3138,6 +3145,7 @@ pf_calc_mss(struct pf_addr *addr, sa_family_t af, u_int16_t offer) { #ifdef INET + INIT_VNET_INET(curvnet); struct sockaddr_in *dst; struct route ro; #endif /* INET */ @@ -3147,7 +3155,7 @@ #endif /* INET6 */ struct rtentry *rt = NULL; int hlen = 0; /* make the compiler happy */ - u_int16_t mss = tcp_mssdflt; + u_int16_t mss = V_tcp_mssdflt; switch (af) { #ifdef INET @@ -3195,7 +3203,7 @@ if (rt && rt->rt_ifp) { mss = rt->rt_ifp->if_mtu - hlen - sizeof(struct tcphdr); - mss = max(tcp_mssdflt, mss); + mss = max(V_tcp_mssdflt, mss); RTFREE(rt); } mss = min(mss, offer); @@ -3240,6 +3248,7 @@ struct ifqueue *ifq) #endif { + INIT_VNET_INET(curvnet); struct pf_rule *nr = NULL; struct pf_addr *saddr = pd->src, *daddr = pd->dst; struct tcphdr *th = pd->hdr.tcp; @@ -3251,7 +3260,7 @@ u_short reason; int rewrite = 0; int tag = -1, rtableid = -1; - u_int16_t mss = tcp_mssdflt; + u_int16_t mss = V_tcp_mssdflt; int asd = 0; int match = 0; @@ -6078,6 +6087,7 @@ pf_route(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp, struct pf_state *s, struct pf_pdesc *pd) { + INIT_VNET_INET(curvnet); struct mbuf *m0, *m1; struct route iproute; struct route *ro = NULL; @@ -6135,7 +6145,7 @@ if (r->rt == PF_FASTROUTE) { in_rtalloc(ro, 0); if (ro->ro_rt == 0) { - ipstat.ips_noroute++; + V_ipstat.ips_noroute++; goto bad; } @@ -6266,7 +6276,7 @@ if ((ifp->if_capabilities & IFCAP_CSUM_IPv4) && ifp->if_bridge == NULL) { m0->m_pkthdr.csum_flags |= M_IPV4_CSUM_OUT; - ipstat.ips_outhwcsum++; + V_ipstat.ips_outhwcsum++; } else { ip->ip_sum = 0; ip->ip_sum = in_cksum(m0, ip->ip_hl << 2); @@ -6285,7 +6295,7 @@ * Must be able to put at least 8 bytes per fragment. */ if (ip->ip_off & htons(IP_DF)) { - ipstat.ips_cantfrag++; + V_ipstat.ips_cantfrag++; if (r->rt != PF_DUPTO) { #ifdef __FreeBSD__ /* icmp_error() expects host byte ordering */ @@ -6342,7 +6352,7 @@ } if (error == 0) - ipstat.ips_fragmented++; + V_ipstat.ips_fragmented++; done: if (r->rt != PF_DUPTO) @@ -6615,18 +6625,30 @@ if (sum) { switch (p) { case IPPROTO_TCP: - tcpstat.tcps_rcvbadsum++; + { + INIT_VNET_INET(curvnet); + V_tcpstat.tcps_rcvbadsum++; break; + } case IPPROTO_UDP: - udpstat.udps_badsum++; + { + INIT_VNET_INET(curvnet); + V_udpstat.udps_badsum++; break; + } case IPPROTO_ICMP: - icmpstat.icps_checksum++; + { + INIT_VNET_INET(curvnet); + V_icmpstat.icps_checksum++; break; + } #ifdef INET6 case IPPROTO_ICMPV6: - icmp6stat.icp6s_checksum++; + { + INIT_VNET_INET6(curvnet); + V_icmp6stat.icp6s_checksum++; break; + } #endif /* INET6 */ } return (1); ==== //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf_if.c#2 (text+ko) ==== @@ -35,6 +35,7 @@ #if defined(__FreeBSD__) #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_if.c,v 1.15 2008/03/29 00:24:36 mlaier Exp $"); @@ -54,9 +55,11 @@ #include #endif #include +#include #include #include +#include #include #include @@ -109,8 +112,10 @@ void pfi_detach_group_event(void * __unused, struct ifg_group *); void pfi_ifaddr_event(void * __unused, struct ifnet *); +#ifndef VIMAGE extern struct ifgrouphead ifg_head; #endif +#endif RB_PROTOTYPE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare); RB_GENERATE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare); @@ -121,6 +126,7 @@ void pfi_initialize(void) { + INIT_VNET_NET(curvnet); if (pfi_all != NULL) /* already initialized */ return; @@ -141,9 +147,9 @@ struct ifnet *ifp; IFNET_RLOCK(); - TAILQ_FOREACH(ifg, &ifg_head, ifg_next) + TAILQ_FOREACH(ifg, &V_ifg_head, ifg_next) pfi_attach_ifgroup(ifg); - TAILQ_FOREACH(ifp, &ifnet, if_link) + TAILQ_FOREACH(ifp, &V_ifnet, if_link) pfi_attach_ifnet(ifp); IFNET_RUNLOCK(); ==== //depot/projects/vimage-devel/src/sys/contrib/pf/net/pf_ioctl.c#2 (text+ko) ==== @@ -38,6 +38,7 @@ #ifdef __FreeBSD__ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include __FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.33 2008/06/05 19:30:20 mlaier Exp $"); @@ -96,11 +97,14 @@ #ifndef __FreeBSD__ #include #include +#else +#include #endif #include #include #include +#include #include #include @@ -3703,6 +3707,7 @@ pf_check6_in(void *arg, struct mbuf **m, struct ifnet *ifp, int dir, struct inpcb *inp) { + INIT_VNET_NET(curvnet); /* * IPv6 is not affected by ip_len/ip_off byte order changes. */ @@ -3713,7 +3718,7 @@ * order to support scoped addresses. In order to support stateful * filtering we have change this to lo0 as it is the case in IPv4. */ - chk = pf_test6(PF_IN, (*m)->m_flags & M_LOOP ? &loif[0] : ifp, m, + chk = pf_test6(PF_IN, (*m)->m_flags & M_LOOP ? &V_loif[0] : ifp, m, NULL, inp); if (chk && *m) { m_freem(*m); ==== //depot/projects/vimage-devel/src/sys/dev/ie/if_ie.c#2 (text+ko) ==== ==== //depot/projects/vimage-devel/src/sys/dev/syscons/daemon/daemon_saver.c#2 (text+ko) ==== @@ -28,6 +28,8 @@ * $FreeBSD: src/sys/dev/syscons/daemon/daemon_saver.c,v 1.24 2007/12/29 23:26:57 wkoszek Exp $ */ +#include "opt_vimage.h" + #include #include #include @@ -36,6 +38,7 @@ #include #include #include +#include #include @@ -350,10 +353,10 @@ static int daemon_init(video_adapter_t *adp) { - messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + + messagelen = strlen(G_hostname) + 3 + strlen(ostype) + 1 + strlen(osrelease); message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); - sprintf(message, "%s - %s %s", hostname, ostype, osrelease); + sprintf(message, "%s - %s %s", G_hostname, ostype, osrelease); blanked = 0; switch (adp->va_mode) { case M_PC98_80x25: ==== //depot/projects/vimage-devel/src/sys/i386/ibcs2/ibcs2_socksys.c#2 (text+ko) ==== @@ -23,6 +23,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_socksys.c,v 1.22 2006/11/06 13:41:59 rwatson Exp $"); @@ -32,6 +34,7 @@ #include #include #include +#include #include #include @@ -171,15 +174,16 @@ struct thread *td; struct setipdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); char hname[MAXHOSTNAMELEN], *ptr; int error, sctl[2], hlen; /* W/out a hostname a domain-name is nonsense */ - if ( strlen(hostname) == 0 ) + if ( strlen(V_hostname) == 0 ) return EINVAL; /* Get the host's unqualified name (strip off the domain) */ - snprintf(hname, sizeof(hname), "%s", hostname); + snprintf(hname, sizeof(hname), "%s", V_hostname); ptr = index(hname, '.'); if ( ptr != NULL ) { ptr++; ==== //depot/projects/vimage-devel/src/sys/kern/kern_poll.c#2 (text+ko) ==== @@ -25,6 +25,8 @@ * SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/kern/kern_poll.c,v 1.32 2008/03/16 10:58:05 rwatson Exp $"); @@ -37,9 +39,11 @@ #include #include #include +#include #include /* for IFF_* flags */ #include /* for NETISR_POLL */ +#include /* for ifnet pointer */ #include #include @@ -522,6 +526,7 @@ static int poll_switch(SYSCTL_HANDLER_ARGS) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; int error; int val = polling; @@ -539,7 +544,7 @@ polling = val; IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_capabilities & IFCAP_POLLING) { struct ifreq ifr; ==== //depot/projects/vimage-devel/src/sys/net/bridgestp.c#2 (text+ko) ==== @@ -34,6 +34,8 @@ * ISO/IEC 802.1D-2004, June 9, 2004. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/net/bridgestp.c,v 1.40 2007/12/09 20:47:12 thompsa Exp $"); @@ -49,12 +51,14 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include @@ -2016,6 +2020,7 @@ void bstp_reinit(struct bstp_state *bs) { + INIT_VNET_NET(curvnet); struct bstp_port *bp; struct ifnet *ifp, *mif; u_char *e_addr; @@ -2031,7 +2036,7 @@ * value. */ IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_type != IFT_ETHER) continue; ==== //depot/projects/vimage-devel/src/sys/net/if_bridge.c#2 (text+ko) ==== @@ -80,6 +80,7 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_carp.h" +#include "opt_vimage.h" #include #include @@ -100,6 +101,7 @@ #include #include #include +#include #include #include @@ -113,10 +115,12 @@ #include #include #include +#include #include #ifdef INET6 #include #include +#include #endif #ifdef DEV_CARP #include @@ -127,10 +131,12 @@ #include #include #include +#include #include #include #include +#include /* * Size of the route hash table. Must be a power of two. @@ -2977,9 +2983,10 @@ } if (IPFW_LOADED && pfil_ipfw != 0 && dir == PFIL_OUT && ifp != NULL) { + INIT_VNET_IPFW(curvnet); error = -1; args.rule = ip_dn_claim_rule(*mp); - if (args.rule != NULL && fw_one_pass) + if (args.rule != NULL && V_fw_one_pass) goto ipfwpass; /* packet already partially processed */ args.m = *mp; @@ -3161,6 +3168,7 @@ static int bridge_ip_checkbasic(struct mbuf **mp) { + INIT_VNET_INET(curvnet); struct mbuf *m = *mp; struct ip *ip; int len, hlen; @@ -3173,12 +3181,12 @@ if ((m = m_copyup(m, sizeof(struct ip), (max_linkhdr + 3) & ~3)) == NULL) { /* XXXJRT new stat, please */ - ipstat.ips_toosmall++; + V_ipstat.ips_toosmall++; goto bad; } } else if (__predict_false(m->m_len < sizeof (struct ip))) { if ((m = m_pullup(m, sizeof (struct ip))) == NULL) { - ipstat.ips_toosmall++; + V_ipstat.ips_toosmall++; goto bad; } } @@ -3186,17 +3194,17 @@ if (ip == NULL) goto bad; if (ip->ip_v != IPVERSION) { - ipstat.ips_badvers++; + V_ipstat.ips_badvers++; goto bad; } hlen = ip->ip_hl << 2; if (hlen < sizeof(struct ip)) { /* minimum header length */ - ipstat.ips_badhlen++; + V_ipstat.ips_badhlen++; goto bad; } if (hlen > m->m_len) { if ((m = m_pullup(m, hlen)) == 0) { - ipstat.ips_badhlen++; + V_ipstat.ips_badhlen++; goto bad; } ip = mtod(m, struct ip *); @@ -3213,7 +3221,7 @@ } } if (sum) { - ipstat.ips_badsum++; + V_ipstat.ips_badsum++; goto bad; } @@ -3224,7 +3232,7 @@ * Check for additional length bogosity */ if (len < hlen) { - ipstat.ips_badlen++; + V_ipstat.ips_badlen++; goto bad; } @@ -3234,7 +3242,7 @@ * Drop packet if shorter than we expect. */ if (m->m_pkthdr.len < len) { - ipstat.ips_tooshort++; + V_ipstat.ips_tooshort++; goto bad; } @@ -3256,6 +3264,7 @@ static int bridge_ip6_checkbasic(struct mbuf **mp) { + INIT_VNET_INET6(curvnet); struct mbuf *m = *mp; struct ip6_hdr *ip6; @@ -3270,14 +3279,14 @@ if ((m = m_copyup(m, sizeof(struct ip6_hdr), (max_linkhdr + 3) & ~3)) == NULL) { /* XXXJRT new stat, please */ - ip6stat.ip6s_toosmall++; + V_ip6stat.ip6s_toosmall++; in6_ifstat_inc(inifp, ifs6_in_hdrerr); goto bad; } } else if (__predict_false(m->m_len < sizeof(struct ip6_hdr))) { struct ifnet *inifp = m->m_pkthdr.rcvif; if ((m = m_pullup(m, sizeof(struct ip6_hdr))) == NULL) { - ip6stat.ip6s_toosmall++; + V_ip6stat.ip6s_toosmall++; in6_ifstat_inc(inifp, ifs6_in_hdrerr); goto bad; } @@ -3286,7 +3295,7 @@ ip6 = mtod(m, struct ip6_hdr *); if ((ip6->ip6_vfc & IPV6_VERSION_MASK) != IPV6_VERSION) { - ip6stat.ip6s_badvers++; + V_ip6stat.ip6s_badvers++; in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr); goto bad; } @@ -3346,8 +3355,10 @@ m_freem(m); } - if (error == 0) - ipstat.ips_fragmented++; + if (error == 0) { + INIT_VNET_INET(curvnet); + V_ipstat.ips_fragmented++; + } return (error); ==== //depot/projects/vimage-devel/src/sys/net/if_ef.c#2 (text+ko) ==== @@ -29,6 +29,7 @@ #include "opt_inet.h" #include "opt_ipx.h" #include "opt_ef.h" +#include "opt_vimage.h" #include #include @@ -39,6 +40,7 @@ #include #include #include +#include #include #include @@ -49,6 +51,7 @@ #include #include #include +#include #ifdef INET #include @@ -489,35 +492,40 @@ int error = 0, d; IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { - if (ifp->if_type != IFT_ETHER) continue; - EFDEBUG("Found interface %s\n", ifp->if_xname); - efl = (struct ef_link*)malloc(sizeof(struct ef_link), - M_IFADDR, M_WAITOK | M_ZERO); - if (efl == NULL) { - error = ENOMEM; - break; - } + { + VNET_ITERLOOP_BEGIN_QUIET(); + INIT_VNET_NET(curvnet); + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { + if (ifp->if_type != IFT_ETHER) continue; + EFDEBUG("Found interface %s\n", ifp->if_xname); + efl = (struct ef_link*)malloc(sizeof(struct ef_link), + M_IFADDR, M_WAITOK | M_ZERO); + if (efl == NULL) { + error = ENOMEM; + break; + } - efl->el_ifp = ifp; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 4 08:50:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D15321065671; Fri, 4 Jul 2008 08:50: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 93B5E106564A for ; Fri, 4 Jul 2008 08:50:43 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 668D58FC25 for ; Fri, 4 Jul 2008 08:50:43 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m648ohZC073649 for ; Fri, 4 Jul 2008 08:50:43 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m648ohGK073647 for perforce@freebsd.org; Fri, 4 Jul 2008 08:50:43 GMT (envelope-from julian@freebsd.org) Date: Fri, 4 Jul 2008 08:50:43 GMT Message-Id: <200807040850.m648ohGK073647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 144604 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, 04 Jul 2008 08:50:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=144604 Change 144604 by julian@julian_trafmon1 on 2008/07/04 08:50:33 fix typo in basevnet Affected files ... .. //depot/projects/vimage-commit3/src/sys/sys/vimage.h#3 edit Differences ... ==== //depot/projects/vimage-commit3/src/sys/sys/vimage.h#3 (text+ko) ==== @@ -50,7 +50,7 @@ #define curvnet curthread->td_vnet -#define basevnet thread0.td_ucred->cr_vimage->v_vnet +#define basevnet thread0.td_ucred->cr_vimage->v_net #define basevprocg thread0.td_ucred->cr_vimage->v_procg #define basevcpu thread0.td_ucred->cr_vimage->v_cpu From owner-p4-projects@FreeBSD.ORG Fri Jul 4 09:21:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F6F41065673; Fri, 4 Jul 2008 09:21: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 52A8C106566C for ; Fri, 4 Jul 2008 09:21:19 +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 257D28FC1C for ; Fri, 4 Jul 2008 09:21:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m649LJ0i077137 for ; Fri, 4 Jul 2008 09:21:19 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m649LIeu077135 for perforce@freebsd.org; Fri, 4 Jul 2008 09:21:18 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 09:21:18 GMT Message-Id: <200807040921.m649LIeu077135@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 144605 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, 04 Jul 2008 09:21:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=144605 Change 144605 by hselasky@hselasky_laptop001 on 2008/07/04 09:21:14 Fix a witness issue with Giant. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#6 (text+ko) ==== @@ -289,7 +289,9 @@ } if (mtx) { mtx_unlock(mtx); - mtx_assert(mtx, MA_NOTOWNED); + if (mtx != &Giant) { + mtx_assert(mtx, MA_NOTOWNED); + } } /* * Grab the default sx-lock so that serialisation From owner-p4-projects@FreeBSD.ORG Fri Jul 4 09:46:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34B29106567A; Fri, 4 Jul 2008 09:46: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 ECFD21065674 for ; Fri, 4 Jul 2008 09:46:44 +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 DABCE8FC12 for ; Fri, 4 Jul 2008 09:46:44 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m649kiUB079427 for ; Fri, 4 Jul 2008 09:46:44 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m649kiW5079425 for perforce@freebsd.org; Fri, 4 Jul 2008 09:46:44 GMT (envelope-from trasz@freebsd.org) Date: Fri, 4 Jul 2008 09:46:44 GMT Message-Id: <200807040946.m649kiW5079425@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 144607 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, 04 Jul 2008 09:46:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=144607 Change 144607 by trasz@trasz_traszkan on 2008/07/04 09:45:48 Fix obvious bug in ACL recalculation. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#3 (text+ko) ==== @@ -429,29 +429,29 @@ if (entry->ae_tag == ACL_USER && entry->ae_id == file_owner_id) amode = amode >> 3; - if (entry->ae_perm | ACL_READ_DATA) { - if (amode | ACL_READ) + if (entry->ae_perm & ACL_READ_DATA) { + if (amode & ACL_READ) previous->ae_perm &= ~ACL_READ_DATA; else previous->ae_perm |= ACL_READ_DATA; } - if (entry->ae_perm | ACL_WRITE_DATA) { - if (amode | ACL_WRITE) + if (entry->ae_perm & ACL_WRITE_DATA) { + if (amode & ACL_WRITE) previous->ae_perm &= ~ACL_WRITE_DATA; else previous->ae_perm |= ACL_WRITE_DATA; } - if (entry->ae_perm | ACL_APPEND_DATA) { - if (amode | ACL_WRITE) + if (entry->ae_perm & ACL_APPEND_DATA) { + if (amode & ACL_WRITE) previous->ae_perm &= ~ACL_APPEND_DATA; else previous->ae_perm |= ACL_APPEND_DATA; } - if (entry->ae_perm | ACL_EXECUTE) { - if (amode | ACL_EXECUTE) + if (entry->ae_perm & ACL_EXECUTE) { + if (amode & ACL_EXECUTE) previous->ae_perm &= ~ACL_EXECUTE; else previous->ae_perm |= ACL_EXECUTE; From owner-p4-projects@FreeBSD.ORG Fri Jul 4 12:16:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B9BE1065695; Fri, 4 Jul 2008 12:16: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 0E63D106568A for ; Fri, 4 Jul 2008 12:16:15 +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 F0F0F8FC18 for ; Fri, 4 Jul 2008 12:16:14 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64CGEVU096319 for ; Fri, 4 Jul 2008 12:16:14 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64CGEML096317 for perforce@freebsd.org; Fri, 4 Jul 2008 12:16:14 GMT (envelope-from trasz@freebsd.org) Date: Fri, 4 Jul 2008 12:16:14 GMT Message-Id: <200807041216.m64CGEML096317@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 144608 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, 04 Jul 2008 12:16:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144608 Change 144608 by trasz@trasz_traszkan on 2008/07/04 12:15:35 Remove incorrect check, which was breaking inheritance. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#4 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#4 (text+ko) ==== @@ -753,10 +753,6 @@ parent_entry = &(parent_aclp->acl_entry[i]); if (((parent_entry->ae_flags & - ACL_ENTRY_DIRECTORY_INHERIT) == 0) && is_directory) - continue; - - if (((parent_entry->ae_flags & ACL_ENTRY_FILE_INHERIT) == 0) && !is_directory) continue; From owner-p4-projects@FreeBSD.ORG Fri Jul 4 13:14:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B228C106567B; Fri, 4 Jul 2008 13:14: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 708D41065670 for ; Fri, 4 Jul 2008 13:14:13 +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 5EFCE8FC26 for ; Fri, 4 Jul 2008 13:14:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64DEDv8011340 for ; Fri, 4 Jul 2008 13:14:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64DEDC6011338 for perforce@freebsd.org; Fri, 4 Jul 2008 13:14:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 13:14:13 GMT Message-Id: <200807041314.m64DEDC6011338@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 144611 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, 04 Jul 2008 13:14:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=144611 Change 144611 by hselasky@hselasky_laptop001 on 2008/07/04 13:13:46 Improve booting from removable devices. Affected files ... .. //depot/projects/usb/src/sys/kern/vfs_mount.c#10 edit Differences ... ==== //depot/projects/usb/src/sys/kern/vfs_mount.c#10 (text+ko) ==== @@ -58,6 +58,7 @@ #include #include #include +#include #include #include @@ -148,10 +149,7 @@ /* legacy find-root code */ char *rootdevnames[2] = {NULL, NULL}; -#ifndef ROOTDEVNAME -# define ROOTDEVNAME NULL -#endif -static const char *ctrootdevname = ROOTDEVNAME; +static const char *ctrootdevname = NULL; /* * --------------------------------------------------------------------- @@ -1613,7 +1611,10 @@ vfs_mountroot(void) { char *cp; - int error, i, asked = 0; + int error; + uint8_t i; + uint8_t asked = 0; + uint8_t timeout = 16; root_mount_prepare(); @@ -1631,6 +1632,11 @@ asked = 1; } + retry: +#ifdef ROOTDEVNAME + ctrootdevname = ROOTDEVNAME; +#endif + /* * The root filesystem information is compiled in, and we are * booted with instructions to use it. @@ -1684,9 +1690,24 @@ * Everything so far has failed, prompt on the console if we haven't * already tried that. */ - if (!asked) + if (!asked) { + if (--timeout) { + /* + * Improve booting from removable devices + * having USB in mind. + */ + printf("Waiting %u more seconds for boot " + "device. Press any key for boot " + "prompt.\r", timeout); + pause("WROOT", hz); + if (cncheckc() == -1) { + goto retry; + } + printf("\n"); + } if (!vfs_mountroot_ask()) goto mounted; + } panic("Root mount failed, startup aborted."); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 13:15:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0FAC01065672; Fri, 4 Jul 2008 13:15: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 C70CE1065670 for ; Fri, 4 Jul 2008 13:15: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 B4EBB8FC21 for ; Fri, 4 Jul 2008 13:15:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64DFE7k011472 for ; Fri, 4 Jul 2008 13:15:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64DFEse011470 for perforce@freebsd.org; Fri, 4 Jul 2008 13:15:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 13:15:14 GMT Message-Id: <200807041315.m64DFEse011470@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 144612 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, 04 Jul 2008 13:15:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144612 Change 144612 by hselasky@hselasky_laptop001 on 2008/07/04 13:14:33 Improve kernel devfs symlink support. Affected files ... .. //depot/projects/usb/src/sys/fs/devfs/devfs_devs.c#8 edit .. //depot/projects/usb/src/sys/kern/kern_conf.c#8 edit .. //depot/projects/usb/src/sys/sys/conf.h#8 edit Differences ... ==== //depot/projects/usb/src/sys/fs/devfs/devfs_devs.c#8 (text+ko) ==== @@ -350,7 +350,6 @@ struct cdev_priv *cdp; struct devfs_dirent *de; struct devfs_dirent *dd; - struct cdev *pdev; int j; char *q, *s; @@ -436,10 +435,9 @@ de->de_gid = 0; de->de_mode = 0755; de->de_dirent->d_type = DT_LNK; - pdev = cdp->cdp_c.si_parent; - j = strlen(pdev->si_name) + 1; + j = strlen(cdp->cdp_c.si_symlink) + 1; de->de_symlink = malloc(j, M_DEVFS, M_WAITOK); - bcopy(pdev->si_name, de->de_symlink, j); + bcopy(cdp->cdp_c.si_symlink, de->de_symlink, j); } else { de->de_uid = cdp->cdp_c.si_uid; de->de_gid = cdp->cdp_c.si_gid; ==== //depot/projects/usb/src/sys/kern/kern_conf.c#8 (text+ko) ==== @@ -690,7 +690,7 @@ printf("WARNING: Device name truncated! (%s)\n", dev->__si_namebuf); } - + dev->si_flags |= SI_NAMED; #ifdef MAC if (cr != NULL) @@ -758,7 +758,6 @@ dev_dependsl(struct cdev *pdev, struct cdev *cdev) { - cdev->si_parent = pdev; cdev->si_flags |= SI_CHILD; LIST_INSERT_HEAD(&pdev->si_children, cdev, si_siblings); } @@ -773,35 +772,81 @@ dev_unlock(); } -struct cdev * -make_dev_alias(struct cdev *pdev, const char *fmt, ...) +static struct cdev * +make_dev_alias_symlink(const char *target, struct cdev *pdev, const char *fmt, va_list ap) { struct cdev *dev; - va_list ap; int i; dev = devfs_alloc(); dev_lock(); dev->si_flags |= SI_ALIAS; dev->si_flags |= SI_NAMED; - va_start(ap, fmt); - i = vsnrprintf(dev->__si_namebuf, sizeof dev->__si_namebuf, 32, fmt, ap); - if (i > (sizeof dev->__si_namebuf - 1)) { + i = sizeof(dev->__si_namebuf); + i -= vsnrprintf(dev->__si_namebuf, i, 32, fmt, ap); + if (i < 1) { printf("WARNING: Device name truncated! (%s)\n", dev->__si_namebuf); + i = 1; } - va_end(ap); + if (target == NULL) { + /* use parent device name */ + dev->si_symlink = pdev->si_name; + } else { + if (i < 2) { + i = 1; + } else { + /* make sure there is a NUL between the strings */ + i --; + } + /* use specified target name */ + dev->si_symlink = dev->__si_namebuf + + sizeof(dev->__si_namebuf) - i; + i -= strlcpy(dev->si_symlink, target, i); + if (i < 1) { + printf("WARNING: Symlink name truncated! (%s)\n", + dev->si_symlink); + i = 1; + } + } devfs_create(dev); clean_unrhdrl(devfs_inos); dev_unlock(); - dev_depends(pdev, dev); + + if (pdev != NULL) { + dev_depends(pdev, dev); + } notify_create(dev); return (dev); } +struct cdev * +make_dev_alias(struct cdev *pdev, const char *fmt, ...) +{ + struct cdev *dev; + va_list ap; + + va_start(ap, fmt); + dev = make_dev_alias_symlink(NULL, pdev, fmt, ap); + va_end(ap); + return (dev); +} + +struct cdev * +make_dev_symlink(const char *target, const char *fmt, ...) +{ + struct cdev *dev; + va_list ap; + + va_start(ap, fmt); + dev = make_dev_alias_symlink(target, NULL, fmt, ap); + va_end(ap); + return (dev); +} + static void destroy_devl(struct cdev *dev) { ==== //depot/projects/usb/src/sys/sys/conf.h#8 (text+ko) ==== @@ -77,7 +77,7 @@ LIST_ENTRY(cdev) si_clone; LIST_HEAD(, cdev) si_children; LIST_ENTRY(cdev) si_siblings; - struct cdev *si_parent; + char *si_symlink; /* symbolic link name */ char *si_name; void *si_drv1, *si_drv2; struct cdevsw *si_devsw; @@ -273,6 +273,8 @@ struct ucred *_cr, uid_t _uid, gid_t _gid, int _mode, const char *_fmt, ...) __printflike(8, 9); struct cdev *make_dev_alias(struct cdev *_pdev, const char *_fmt, ...) __printflike(2, 3); +struct cdev *make_dev_symlink(const char *target, const char *fmt, ...) __printflike(2, 3); + void dev_lock(void); void dev_unlock(void); void setconf(void); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 13:15:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50E901065733; Fri, 4 Jul 2008 13:15: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 EA4311065676 for ; Fri, 4 Jul 2008 13:15: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 D877D8FC19 for ; Fri, 4 Jul 2008 13:15:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64DFEjN011477 for ; Fri, 4 Jul 2008 13:15:14 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64DFEZJ011475 for perforce@freebsd.org; Fri, 4 Jul 2008 13:15:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 13:15:14 GMT Message-Id: <200807041315.m64DFEZJ011475@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 144613 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, 04 Jul 2008 13:15:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144613 Change 144613 by hselasky@hselasky_laptop001 on 2008/07/04 13:14:56 Take advantage of new kernel symlink support. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#10 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#10 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.c#10 (text+ko) ==== @@ -453,10 +453,19 @@ void usb2_fifo_free(struct usb2_fifo *f) { + uint8_t n; + if (f == NULL) { /* be NULL safe */ return; } + /* destroy symlink devices, if any */ + for (n = 0; n != 2; n++) { + if (f->symlink[n]) { + destroy_dev(f->symlink[n]); + f->symlink[n] = NULL; + } + } mtx_lock(&usb2_ref_lock); /* delink ourselves to stop calls from userland */ @@ -1666,7 +1675,7 @@ mtx_unlock(&usb2_ref_lock); if (snprintf(src, sizeof(src), - "/dev/" USB_DEVICE_NAME "%u.%u.%u.%u", + USB_DEVICE_NAME "%u.%u.%u.%u", device_get_unit(udev->bus->bdev), udev->device_index, iface_index, @@ -1680,27 +1689,31 @@ } if (subunit == 0xFFFF) { if (snprintf(buf, sizeof(buf), - "/dev/%s%u%s", pm->basename[n], + "%s%u%s", pm->basename[n], unit, pm->postfix[n] ? pm->postfix[n] : "")) { /* ignore */ } } else { if (snprintf(buf, sizeof(buf), - "/dev/%s%u.%u%s", pm->basename[n], + "%s%u.%u%s", pm->basename[n], unit, subunit, pm->postfix[n] ? pm->postfix[n] : "")) { /* ignore */ } } - if (kern_unlink(curthread, buf, UIO_SYSSPACE)) { - /* ignore */ + /* + * Distribute the symbolic links into two FIFO structures: + */ + if (n & 1) { + f_rx->symlink[n / 2] = + make_dev_symlink(src, "%s", buf); + } else { + f_tx->symlink[n / 2] = + make_dev_symlink(src, "%s", buf); } - if (kern_symlink(curthread, src, buf, UIO_SYSSPACE)) { - /* ignore */ - } - printf("Symlink: %s -> %s\n", buf, src); + DPRINTF(0, "Symlink: %s -> %s\n", buf, src); } DPRINTF(1, "attached %p/%p\n", f_tx, f_rx); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_dev.h#5 (text+ko) ==== @@ -72,6 +72,7 @@ struct cv cv_io; struct cv cv_drain; struct usb2_fifo_methods *methods; + struct cdev *symlink[2]; /* our symlinks */ struct proc *async_p; /* process that wants SIGIO */ struct usb2_device *udev; struct usb2_xfer *xfer[2]; ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#10 (text+ko) ==== @@ -28,6 +28,7 @@ #include #include #include +#include #define USB_DEBUG_VAR usb2_debug @@ -1582,6 +1583,22 @@ usb2_bus_port_set_device(bus, parent_hub ? parent_hub->hub->ports + port_index : NULL, udev, device_index); + /* make a symlink for UGEN */ + if (snprintf(scratch_ptr, scratch_size, + USB_DEVICE_NAME "%u.%u.0.0", + device_get_unit(udev->bus->bdev), + udev->device_index)) { + /* ignore */ + } + udev->ugen_symlink = + make_dev_symlink(scratch_ptr, "ugen%u.%u", + device_get_unit(udev->bus->bdev), + udev->device_index); + + printf("ugen%u.%u: <%s> at %s\n", + device_get_unit(udev->bus->bdev), + udev->device_index, udev->manufacturer, + device_get_nameunit(udev->bus->bdev)); done: if (err) { /* free device */ @@ -1610,6 +1627,13 @@ bus = udev->bus; /* + * Destroy UGEN symlink, if any + */ + if (udev->ugen_symlink) { + destroy_dev(udev->ugen_symlink); + udev->ugen_symlink = NULL; + } + /* * Unregister our device first which will prevent any further * references: */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.h#4 (text+ko) ==== @@ -108,6 +108,7 @@ struct usb2_temp_data *usb2_template_ptr; struct usb2_pipe *pipe_curr; /* current clear stall pipe */ struct usb2_fifo *fifo[USB_FIFO_MAX]; + struct cdev *ugen_symlink; /* our generic symlink */ uint16_t refcount; #define USB_DEV_REF_MAX 0xffff From owner-p4-projects@FreeBSD.ORG Fri Jul 4 13:21:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7233E1065671; Fri, 4 Jul 2008 13:21: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 35612106564A for ; Fri, 4 Jul 2008 13:21:21 +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 23B838FC14 for ; Fri, 4 Jul 2008 13:21:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64DLLig011941 for ; Fri, 4 Jul 2008 13:21:21 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64DLKSO011939 for perforce@freebsd.org; Fri, 4 Jul 2008 13:21:20 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 13:21:20 GMT Message-Id: <200807041321.m64DLKSO011939@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 144614 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, 04 Jul 2008 13:21:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=144614 Change 144614 by hselasky@hselasky_laptop001 on 2008/07/04 13:20:43 If port power failed once it is likely to fail again. Only set port power if there was no previous port power failure. This is will improve the situation when you unplug the USB HUB too early. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#9 (text+ko) ==== @@ -736,10 +736,11 @@ if (!UHD_NOT_REMOV(&hubdesc, portno)) { removable++; } - /* turn the power on */ - err = usb2_req_set_port_feature - (udev, &Giant, portno, UHF_PORT_POWER); - + if (!err) { + /* turn the power on */ + err = usb2_req_set_port_feature + (udev, &Giant, portno, UHF_PORT_POWER); + } if (err) { DPRINTF(-1, "port %d power on failed, %s\n", portno, usb2_errstr(err)); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 13:24:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A78E0106567B; Fri, 4 Jul 2008 13:24: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 669AE106564A for ; Fri, 4 Jul 2008 13:24:24 +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 557238FC1E for ; Fri, 4 Jul 2008 13:24:24 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64DOO9G012144 for ; Fri, 4 Jul 2008 13:24:24 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64DOOWE012142 for perforce@freebsd.org; Fri, 4 Jul 2008 13:24:24 GMT (envelope-from trasz@freebsd.org) Date: Fri, 4 Jul 2008 13:24:24 GMT Message-Id: <200807041324.m64DOOWE012142@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 144615 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, 04 Jul 2008 13:24:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=144615 Change 144615 by trasz@trasz_traszkan on 2008/07/04 13:23:48 Fix previous fix. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#5 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#5 (text+ko) ==== @@ -756,6 +756,11 @@ ACL_ENTRY_FILE_INHERIT) == 0) && !is_directory) continue; + if ((parent_entry->ae_flags & + (ACL_ENTRY_DIRECTORY_INHERIT | + ACL_ENTRY_FILE_INHERIT)) == 0) + continue; + KASSERT(child_aclp->acl_cnt < ACL_MAX_ENTRIES, "child_aclp->acl_cnt < ACL_MAX_ENTRIES"); child_aclp->acl_entry[child_aclp->acl_cnt] = *parent_entry; From owner-p4-projects@FreeBSD.ORG Fri Jul 4 14:02:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AEEC91065681; Fri, 4 Jul 2008 14:02: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 734931065676 for ; Fri, 4 Jul 2008 14:02:03 +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 61C358FC14 for ; Fri, 4 Jul 2008 14:02:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64E2305015227 for ; Fri, 4 Jul 2008 14:02:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64E23eO015225 for perforce@freebsd.org; Fri, 4 Jul 2008 14:02:03 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 14:02:03 GMT Message-Id: <200807041402.m64E23eO015225@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 144621 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, 04 Jul 2008 14:02:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=144621 Change 144621 by hselasky@hselasky_laptop001 on 2008/07/04 14:02:00 Compile fix. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#6 (text+ko) ==== @@ -76,7 +76,6 @@ static int ugen_get_cdesc(struct usb2_fifo *f, struct usb2_gen_descriptor *pgd); static int ugen_get_sdesc(struct usb2_fifo *f, struct usb2_gen_descriptor *ugd); static int usb2_gen_fill_deviceinfo(struct usb2_fifo *f, struct usb2_device_info *di); -static int ugen_do_request(struct usb2_fifo *f, struct usb2_ctl_request *ur); static int ugen_re_enumerate(struct usb2_fifo *f); static int ugen_iface_ioctl(struct usb2_fifo *f, u_long cmd, void *addr); static int ugen_ctrl_ioctl(struct usb2_fifo *f, u_long cmd, void *addr, int fflags); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 14:05:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25AA71065684; Fri, 4 Jul 2008 14:05: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 D6FA01065670 for ; Fri, 4 Jul 2008 14:05:06 +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 AAA7C8FC0C for ; Fri, 4 Jul 2008 14:05:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64E56vY016622 for ; Fri, 4 Jul 2008 14:05:06 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64E56rr016620 for perforce@freebsd.org; Fri, 4 Jul 2008 14:05:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 14:05:06 GMT Message-Id: <200807041405.m64E56rr016620@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 144622 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, 04 Jul 2008 14:05:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=144622 Change 144622 by hselasky@hselasky_laptop001 on 2008/07/04 14:04:22 Compile fix (more). Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#7 (text+ko) ==== @@ -42,6 +42,7 @@ #include #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Fri Jul 4 14:22:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 948941065672; Fri, 4 Jul 2008 14:22: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 58A521065681 for ; Fri, 4 Jul 2008 14:22:39 +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 470918FC22 for ; Fri, 4 Jul 2008 14:22:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64EMcwJ018048 for ; Fri, 4 Jul 2008 14:22:38 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64EMcqh018046 for perforce@freebsd.org; Fri, 4 Jul 2008 14:22:38 GMT (envelope-from gabor@freebsd.org) Date: Fri, 4 Jul 2008 14:22:38 GMT Message-Id: <200807041422.m64EMcqh018046@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 144625 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, 04 Jul 2008 14:22:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=144625 Change 144625 by gabor@gabor_server on 2008/07/04 14:22:18 - Add --no-ignore-file-name-case (default) - First try to add --ignore-file-name-case, doesn't work correctly yet Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#8 edit .. //depot/projects/soc2008/gabor_textproc/diff/diff.h#4 edit .. //depot/projects/soc2008/gabor_textproc/diff/diffdir.c#4 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#8 (text+ko) ==== @@ -47,6 +47,7 @@ int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag; int sflag, tflag, Tflag, wflag; int format, status; +int fcase_behave = FCASE_SENSITIVE; unsigned long long context; char *start, *ifdefname, *diffargs, *label[2], *ignore_pats; struct stat stb1, stb2; @@ -55,14 +56,16 @@ enum { HELP_OPT = CHAR_MAX + 1, - NORMAL_OPT + NORMAL_OPT, + FCASE_SENSITIVE_OPT, + FCASE_IGNORE_OPT }; #define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" static struct option longopts[] = { + { "ignore-file-name-case", no_argument, NULL, FCASE_IGNORE_OPT }, + { "no-ignore-file-name-case", no_argument, NULL, FCASE_SENSITIVE_OPT }, /* XXX: UNIMPLEMENTED - { "ignore-file-name-case", no_argument, NULL, OPT_IGN_FN_CASE }, - { "no-ignore-file-name-case", no_argument, NULL, OPT_NIGN_FN_CASE }, { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, */ { "normal", no_argument, NULL, NORMAL_OPT }, /* XXX: UNIMPLEMENTED @@ -249,6 +252,10 @@ case 'x': push_excludes(optarg); break; + case FCASE_SENSITIVE_OPT: + break; + case FCASE_IGNORE_OPT: + fcase_behave = FCASE_IGNORE; case NORMAL_OPT: /* compatibility, this is the default */ break; ==== //depot/projects/soc2008/gabor_textproc/diff/diff.h#4 (text+ko) ==== @@ -70,6 +70,13 @@ #define D_SKIPPED1 8 /* path1 was a special file */ #define D_SKIPPED2 9 /* path2 was a special file */ +/* + * Values of the the filename case-sensitivity + */ + +#define FCASE_SENSITIVE 0 /* Case-sensitive */ +#define FCASE_IGNORE 1 /* Case-insensitive */ + struct excludes { char *pattern; struct excludes *next; @@ -78,6 +85,7 @@ extern int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag, sflag, tflag, Tflag, wflag; extern int format, status; +extern int fcase_behave; extern unsigned long long context; extern char *start, *ifdefname, *diffargs, *label[2], *ignore_pats; extern struct stat stb1, stb2; ==== //depot/projects/soc2008/gabor_textproc/diff/diffdir.c#4 (text+ko) ==== @@ -108,8 +108,12 @@ dent1 = *dp1; dent2 = *dp2; - pos = dent1 == NULL ? 1 : dent2 == NULL ? -1 : - strcmp(dent1->d_name, dent2->d_name); + if (fcase_behave == FCASE_SENSITIVE) + pos = dent1 == NULL ? 1 : dent2 == NULL ? -1 : + strcmp(dent1->d_name, dent2->d_name); + else + pos = dent1 == NULL ? 1 : dent2 == NULL ? -1 : + strcasecmp(dent1->d_name, dent2->d_name); if (pos == 0) { /* file exists in both dirs, diff it */ diffit(dent1, path1, dirlen1, path2, dirlen2); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 14:32:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B19921065671; Fri, 4 Jul 2008 14:32: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 75B40106566C for ; Fri, 4 Jul 2008 14:32:49 +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 6351B8FC14 for ; Fri, 4 Jul 2008 14:32:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64EWn2i020104 for ; Fri, 4 Jul 2008 14:32:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64EWn3I020102 for perforce@freebsd.org; Fri, 4 Jul 2008 14:32:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 14:32:49 GMT Message-Id: <200807041432.m64EWn3I020102@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 144626 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, 04 Jul 2008 14:32:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=144626 Change 144626 by hselasky@hselasky_laptop001 on 2008/07/04 14:32:07 Move HID parsing routines into the USB core, hence they are used by both usb2_input and usb2_serial. And we don't want a dependancy between these two modules. Affected files ... .. //depot/projects/usb/src/sys/conf/files#31 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.c#1 add .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.h#3 add .. //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/input/ukbd2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/input/ums2.c#3 edit .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_hid.c#3 delete .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_input.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_input.h#2 delete .. //depot/projects/usb/src/sys/dev/usb2/serial/ucycom2.c#3 edit .. //depot/projects/usb/src/sys/modules/usb2/core/Makefile#5 edit .. //depot/projects/usb/src/sys/modules/usb2/input/Makefile#3 edit Differences ... ==== //depot/projects/usb/src/sys/conf/files#31 (text+ko) ==== @@ -1361,6 +1361,7 @@ dev/usb2/core/usb2_error.c optional usb2_core dev/usb2/core/usb2_generic.c optional usb2_core dev/usb2/core/usb2_handle_request.c optional usb2_core +dev/usb2/core/usb2_hid.c optional usb2_core dev/usb2/core/usb2_hub.c optional usb2_core dev/usb2/core/usb2_if.m optional usb2_core dev/usb2/core/usb2_lookup.c optional usb2_core @@ -1429,7 +1430,6 @@ dev/usb2/input/uhid2.c optional usb2_core usb2_input dev/usb2/input/ukbd2.c optional usb2_core usb2_input dev/usb2/input/ums2.c optional usb2_core usb2_input -dev/usb2/input/usb2_hid.c optional usb2_core usb2_input dev/usb2/input/usb2_input.c optional usb2_core usb2_input # # USB2 quirks ==== //depot/projects/usb/src/sys/dev/usb2/input/uhid2.c#4 (text+ko) ==== @@ -67,6 +67,7 @@ #include #include #include +#include #include #include @@ -722,7 +723,7 @@ } if (sc->sc_repdesc_ptr == NULL) { - error = hid_read_report_desc_from_usb + error = usb2_req_get_hid_desc (uaa->device, &Giant, &(sc->sc_repdesc_ptr), &(sc->sc_repdesc_size), M_USBDEV, uaa->info.bIfaceIndex); ==== //depot/projects/usb/src/sys/dev/usb2/input/ukbd2.c#3 (text+ko) ==== @@ -63,6 +63,7 @@ #include #include #include +#include #include ==== //depot/projects/usb/src/sys/dev/usb2/input/ums2.c#3 (text+ko) ==== @@ -60,6 +60,7 @@ #include #include #include +#include #include @@ -377,7 +378,7 @@ (id->bInterfaceClass != UICLASS_HID)) { return (ENXIO); } - error = hid_read_report_desc_from_usb + error = usb2_req_get_hid_desc (uaa->device, &Giant, &d_ptr, &d_len, M_TEMP, uaa->info.bIfaceIndex); @@ -436,7 +437,7 @@ DPRINTF(0, "error=%s\n", usb2_errstr(err)); goto detach; } - err = hid_read_report_desc_from_usb + err = usb2_req_get_hid_desc (uaa->device, &Giant, &d_ptr, &d_len, M_TEMP, uaa->info.bIfaceIndex); ==== //depot/projects/usb/src/sys/dev/usb2/input/usb2_input.c#2 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb2/serial/ucycom2.c#3 (text+ko) ==== @@ -52,11 +52,10 @@ #include #include #include +#include #include -#include - #define UCYCOM_MAX_IOLEN (1024 + 2) /* bytes */ #define UCYCOM_ENDPT_MAX 3 /* units */ @@ -173,7 +172,6 @@ DRIVER_MODULE(ucycom, ushub, ucycom_driver, ucycom_devclass, NULL, 0); MODULE_DEPEND(ucycom, usb2_core, 1, 1, 1); -MODULE_DEPEND(ucycom, usb2_input, 1, 1, 1); MODULE_DEPEND(ucycom, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); /* @@ -235,7 +233,7 @@ /* get report descriptor */ - error = hid_read_report_desc_from_usb + error = usb2_req_get_hid_desc (uaa->device, &Giant, &urd_ptr, &urd_len, M_USBDEV, UCYCOM_IFACE_INDEX); ==== //depot/projects/usb/src/sys/modules/usb2/core/Makefile#5 (text+ko) ==== @@ -17,6 +17,7 @@ SRCS+= usb2_error.c SRCS+= usb2_generic.c SRCS+= usb2_handle_request.c +SRCS+= usb2_hid.c SRCS+= usb2_hub.c SRCS+= usb2_lookup.c SRCS+= usb2_mbuf.c ==== //depot/projects/usb/src/sys/modules/usb2/input/Makefile#3 (text+ko) ==== @@ -9,7 +9,6 @@ SRCS+= uhid2.c SRCS+= ukbd2.c SRCS+= ums2.c -SRCS+= usb2_hid.c SRCS+= usb2_input.c .include From owner-p4-projects@FreeBSD.ORG Fri Jul 4 14:37:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3CF2B1065679; Fri, 4 Jul 2008 14:37:55 +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 0126F1065670 for ; Fri, 4 Jul 2008 14:37:55 +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 E3DB58FC21 for ; Fri, 4 Jul 2008 14:37:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64Ebs9r020574 for ; Fri, 4 Jul 2008 14:37:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64Ebs2K020572 for perforce@freebsd.org; Fri, 4 Jul 2008 14:37:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 14:37:54 GMT Message-Id: <200807041437.m64Ebs2K020572@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 144627 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, 04 Jul 2008 14:37:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=144627 Change 144627 by hselasky@hselasky_laptop001 on 2008/07/04 14:37:39 Compile fixes. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.h#4 edit .. //depot/projects/usb/src/sys/dev/usb2/input/usb2_input.h#3 add Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.c#2 (text+ko) ==== @@ -54,8 +54,7 @@ #include #include #include - -#include +#include static void hid_clear_local(struct hid_item *); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hid.h#4 (text+ko) ==== @@ -25,8 +25,8 @@ * SUCH DAMAGE. */ -#ifndef _USB2_HID_H_ -#define _USB2_HID_H_ +#ifndef _USB2_CORE_HID_H_ +#define _USB2_CORE_HID_H_ struct usb2_hid_descriptor; struct usb2_config_descriptor; @@ -85,4 +85,4 @@ struct usb2_hid_descriptor *hid_get_descriptor_from_usb(struct usb2_config_descriptor *cd, struct usb2_interface_descriptor *id); usb2_error_t usb2_req_get_hid_desc(struct usb2_device *udev, struct mtx *mtx, void **descp, uint16_t *sizep, usb2_malloc_type mem, uint8_t iface_index); -#endif /* _USB2_HID_H_ */ +#endif /* _USB2_CORE_HID_H_ */ From owner-p4-projects@FreeBSD.ORG Fri Jul 4 14:44:01 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A022D1065685; Fri, 4 Jul 2008 14:44: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 641631065683 for ; Fri, 4 Jul 2008 14:44:01 +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 52BA58FC0C for ; Fri, 4 Jul 2008 14:44:01 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64Ei1i7021082 for ; Fri, 4 Jul 2008 14:44:01 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64Ei1sH021080 for perforce@freebsd.org; Fri, 4 Jul 2008 14:44:01 GMT (envelope-from gabor@freebsd.org) Date: Fri, 4 Jul 2008 14:44:01 GMT Message-Id: <200807041444.m64Ei1sH021080@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 144629 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, 04 Jul 2008 14:44:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=144629 Change 144629 by gabor@gabor_server on 2008/07/04 14:43:10 - Use small caps in messages Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/nls/pt_BR.ISO8859-1.msg#3 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/nls/pt_BR.ISO8859-1.msg#3 (text+ko) ==== @@ -12,8 +12,8 @@ 8 "parênteses nâo balanceados" 9 "contexto está fora da escala" 10 "FreeBSD grep 2.5.1\n" -11 "Opcão não conhecida de --binary-files" -12 "Arquivo binário %s casa com o padrão\n" +11 "opcão não conhecida de --binary-files" +12 "arquivo binário %s casa com o padrão\n" 12 "el valor está fora da escala" -13 "Opcão não conhecida de -d ou --directory" -14 "Opcão não conhecida de --color" +13 "opcão não conhecida de -d ou --directory" +14 "opcão não conhecida de --color" From owner-p4-projects@FreeBSD.ORG Fri Jul 4 15:23:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BF991065672; Fri, 4 Jul 2008 15:23: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 4FA6D106564A for ; Fri, 4 Jul 2008 15:23:50 +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 3D7EB8FC15 for ; Fri, 4 Jul 2008 15:23:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64FNoun025825 for ; Fri, 4 Jul 2008 15:23:50 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64FNoJv025823 for perforce@freebsd.org; Fri, 4 Jul 2008 15:23:50 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 15:23:50 GMT Message-Id: <200807041523.m64FNoJv025823@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 144633 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, 04 Jul 2008 15:23:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=144633 Change 144633 by hselasky@hselasky_laptop001 on 2008/07/04 15:23:40 Compile fixes for Sparc64 target architecture. Affected files ... .. //depot/projects/usb/src/sys/compat/ndis/ntoskrnl_var.h#4 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#10 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/compat/ndis/ntoskrnl_var.h#4 (text+ko) ==== @@ -117,6 +117,7 @@ /* Note: assumes x86 page size of 4K. */ +#ifndef PAGE_SHIFT #if PAGE_SIZE == 4096 #define PAGE_SHIFT 12 #elif PAGE_SIZE == 8192 @@ -124,6 +125,7 @@ #else #error PAGE_SHIFT undefined! #endif +#endif #define SPAN_PAGES(ptr, len) \ ((uint32_t)((((uintptr_t)(ptr) & (PAGE_SIZE - 1)) + \ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_transfer.c#10 (text+ko) ==== @@ -1165,7 +1165,7 @@ /* the size of the SETUP structure is hardcoded ! */ if (xfer->frlengths[0] != sizeof(struct usb2_device_request)) { - DPRINTF(-1, "Wrong framelength %u != %u\n", + DPRINTF(-1, "Wrong framelength %u != %zu\n", xfer->frlengths[0], sizeof(struct usb2_device_request)); goto error; ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#4 (text+ko) ==== @@ -1273,7 +1273,7 @@ ural_tx_freem(m); return; } - DPRINTF(0, " %u %u (out)\n", sizeof(sc->sc_tx_desc), m->m_pkthdr.len); + DPRINTF(0, " %zu %u (out)\n", sizeof(sc->sc_tx_desc), m->m_pkthdr.len); bcopy(&(sc->sc_tx_desc), mm->m_data, sizeof(sc->sc_tx_desc)); mm->m_len = sizeof(sc->sc_tx_desc); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 16:26:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F14941065673; Fri, 4 Jul 2008 16:26:05 +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 B5AAA106566C for ; Fri, 4 Jul 2008 16:26:05 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A33DD8FC0A for ; Fri, 4 Jul 2008 16:26:05 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64GQ575032096 for ; Fri, 4 Jul 2008 16:26:05 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64GQ5TR032094 for perforce@freebsd.org; Fri, 4 Jul 2008 16:26:05 GMT (envelope-from remko@freebsd.org) Date: Fri, 4 Jul 2008 16:26:05 GMT Message-Id: <200807041626.m64GQ5TR032094@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 144640 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, 04 Jul 2008 16:26:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=144640 Change 144640 by remko@remko_nakur on 2008/07/04 16:25:11 Rene translated the last part, it's ready for review. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#6 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mail/chapter.sgml#6 (text+ko) ==== @@ -2160,12 +2160,181 @@ fetchmail gebruiken - + fetchmail + + fetchmail is een volwaardige + client voor IMAP en POP + welke gebruikers in staat stelt om automatisch mail van + IMAP- en POP-servers op afstand + naar plaatselijke postbussen te downloaden; daar kan het + gemakkelijker worden benaderd. fetchmail + kan met de port mail/fetchmail worden + geïnstalleerd, en biedt verschillende mogelijkheden, + waaronder: + + + + Ondersteuning voor POP3, + APOP, KPOP, + IMAP, ETRN, en + ODMR protocollen. + + + + De mogelijkheid om mail via SMTP door + te sturen, wat filteren, doorsturen, en aliassen toestaat om + normaal te functioneren. + + + + Kan in daemon-modus gedraaid worden om periodiek op + nieuwe berichten te controleren. + + + + Kan verschillende postbussen ophalen en ze afhankelijk + van de instellingen naar verschillende plaatselijke + gebruikers doorsturen. + + + + Hoewel het niet de bedoeling van dit document is om alle + mogelijkheden van fetchmail uit te + leggen, zullen sommige basismogelijkheden worden uitgelegd. Het + gereedschap fetchmail heeft een + instellingenbestand .fetchmailrc nodig om + correct te kunnen werken. Dit bestand bevat zowel informatie + over de server als de inloggegevens. Vanwege de gevoelige aard + van de inhoud van dit bestand is het aan te raden om het met het + volgende commando alleen leesbaar te maken voor de eigenaar ervan + : + + &prompt.user; chmod 600 .fetchmailrc + + Het volgende .fetchmailrc dient als een + voorbeeld voor het downloaden van een postbus van een enkele + gebruiker via POP. Het vertelt + fetchmail om met example.com te verbinden als gebruiker + joesoap met wachtwoord XXX + . Dit voorbeeld gaat ervan uit dat de gebruiker + joesoap ook een gebruiker is op het + plaatselijke systeem. + + poll example.com protocol pop3 username "joesoap" password "XXX" + + Het volgende voorbeeld legt verbinding met meerdere + POP- en IMAP-servers en stuurt de + mail door naar verschillende plaatselijke gebruikers indien van + toepassing: + + poll example.com proto pop3: +user "joesoap", with password "XXX", is "jsoap" here; +user "andrea", with password "XXXX"; +poll example2.net proto imap: +user "john", with password "XXXXX", is "myth" here; + + Het gereedschap fetchmail kan in + daemon-modus worden gedraad met de vlag + gevolgd door het interval (in seconden) waarmee + fetchmail de servers die in het bestand + .fetchmailrc vermeld staan dient te vragen. + Het volgende voorbeeld zorgt ervoor dat fetchmail + elke 600 seconden vraagt: + + &prompt.user; fetchmail -d 600 + + Meer informatie over fetchmail is + te vinden op . + + + + + Marc + Silver + Bijgedragen door + + + + procmail gebruiken - + + procmail + + Het gereedschap procmail is een + zeer krachtig gereedschap voor het filteren van binnenkomende + mail. Het stelt gebruikers in staat om regels te + definiëren welke aan binnenkomende mail gekoppeld kunnen + worden om specifieke taken uit te voeren of om de mail naar + alternatieve postbussen en/of emailadressen door te sturen. + procmail kan met de port mail/procmail geïnstalleerd + worden. Eenmaal geïnstalleerd kan het direct met de meeste + MTAs geïntegreerd worden; raadpleeg de + documentatie van de MTA voor meer informatie. + Als alternatief kan procmail + geïntegreerd worden door de volgende regel aan het bestand + .forward in de thuismap van de gebruiker + die procmail gebruikt toe te voegen: + + + "|exec /usr/local/bin/procmail || exit 75" + + De volgende sectie geeft wat basisregels van + procmailmet een korte beschrijving ervan. Deze, + en andere, regels dienen in het bestand + .procmailrc geplaatst te worden, welke zich + in de thuismap van de gebruiker dient te bevinden. + + De meerderheid van deze regels kan ook in de hulppagina + &man.procmailex.5; gevonden worden. + + Stuur alle mail van user@example.com door naar + het externe adres goodmail@example2.com: + + :0 +* ^From.*user@example.com +! goodmail@example2.com + + Stuur alle mails korten dan 1000 bytes door naar het externe + adres goodmail@example2.com: + + :0 +* < 1000 +! goodmail@example2.com + + Stuur alle mail verzonden aan + alternate@example.com door naar een postbus + alternate: + + :0 +* ^TOalternate@example.com +alternate + + Stuur alle mail met het onderwerp Spam door + naar /dev/null: + + :0 +^Subject:.*Spam +/dev/null + + Een handig recept dat binnenkomende &os;.org mailinglijsten parst en + elke lijst in en eigen postbus plaatst: + + :0 +* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG +{ + LISTNAME=${MATCH} + :0 + * LISTNAME??^\/[^@]+ + FreeBSD-${MATCH} +} From owner-p4-projects@FreeBSD.ORG Fri Jul 4 17:33:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF4B3106567D; Fri, 4 Jul 2008 17:33: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 822E01065675 for ; Fri, 4 Jul 2008 17:33:13 +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 6FF228FC19 for ; Fri, 4 Jul 2008 17:33:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64HXD7A047893 for ; Fri, 4 Jul 2008 17:33:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64HXDhM047891 for perforce@freebsd.org; Fri, 4 Jul 2008 17:33:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 17:33:13 GMT Message-Id: <200807041733.m64HXDhM047891@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 144642 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, 04 Jul 2008 17:33:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=144642 Change 144642 by hselasky@hselasky_laptop001 on 2008/07/04 17:32:31 Revert some changes to "ieee80211_proto.c" and implement the correct solution for the problem I tried to patch after advice from Sam Leffler. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#4 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#4 edit .. //depot/projects/usb/src/sys/net80211/ieee80211_proto.c#9 integrate Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#4 (text+ko) ==== @@ -1526,11 +1526,19 @@ static int rum_newstate_cb(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) { + struct rum_vap *uvp = RUM_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct rum_softc *sc = ic->ic_ifp->if_softc; DPRINTF(0, "setting new state: %d\n", nstate); + if (usb2_config_td_is_gone(&(sc->sc_config_td))) { + /* Special case which happens at detach. */ + if (nstate == IEEE80211_S_INIT) { + (uvp->newstate) (vap, nstate, arg); + } + return (0); /* nothing to do */ + } mtx_lock(&(sc->sc_mtx)); /* store next state */ ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#5 (text+ko) ==== @@ -1519,11 +1519,19 @@ static int ural_newstate_cb(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) { + struct ural_vap *uvp = URAL_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct ural_softc *sc = ic->ic_ifp->if_softc; DPRINTF(0, "setting new state: %d\n", nstate); + if (usb2_config_td_is_gone(&(sc->sc_config_td))) { + /* Special case which happens at detach. */ + if (nstate == IEEE80211_S_INIT) { + (uvp->newstate) (vap, nstate, arg); + } + return (0); /* nothing to do */ + } mtx_lock(&(sc->sc_mtx)); /* store next state */ ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#4 (text+ko) ==== @@ -2127,11 +2127,19 @@ static int zyd_newstate_cb(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) { + struct zyd_vap *uvp = ZYD_VAP(vap); struct ieee80211com *ic = vap->iv_ic; struct zyd_softc *sc = ic->ic_ifp->if_softc; DPRINTF(0, "setting new state: %d\n", nstate); + if (usb2_config_td_is_gone(&(sc->sc_config_td))) { + /* Special case which happens at detach. */ + if (nstate == IEEE80211_S_INIT) { + (uvp->newstate) (vap, nstate, arg); + } + return (0); /* nothing to do */ + } mtx_lock(&(sc->sc_mtx)); /* store next state */ ==== //depot/projects/usb/src/sys/net80211/ieee80211_proto.c#9 (text+ko) ==== @@ -241,8 +241,6 @@ FREEAPPIE(vap->iv_appie_assocresp); FREEAPPIE(vap->iv_appie_wpa); #undef FREEAPPIE - callout_drain(&vap->iv_swbmiss); - callout_drain(&vap->iv_mgtsend); } /* From owner-p4-projects@FreeBSD.ORG Fri Jul 4 18:22:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F4C6106567B; Fri, 4 Jul 2008 18:22: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 136311065671 for ; Fri, 4 Jul 2008 18:22:03 +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 016AB8FC1C for ; Fri, 4 Jul 2008 18:22:03 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64IM2Nm053246 for ; Fri, 4 Jul 2008 18:22:02 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64IM2hS053244 for perforce@freebsd.org; Fri, 4 Jul 2008 18:22:02 GMT (envelope-from gabor@freebsd.org) Date: Fri, 4 Jul 2008 18:22:02 GMT Message-Id: <200807041822.m64IM2hS053244@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 144647 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, 04 Jul 2008 18:22:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144647 Change 144647 by gabor@gabor_server on 2008/07/04 18:21:43 - Add --help / -h Affected files ... .. //depot/projects/soc2008/gabor_textproc/sort/sort.c#7 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/sort/sort.c#7 (text+ko) ==== @@ -108,8 +108,8 @@ { "directory-order", no_argument, NULL, 'd' }, { "ignore-case", no_argument, NULL, 'f' }, /* XXX: UNIMPLEMENTED - { "general-numeric-sort", no_argument, NULL, 'g' }, - { "help", no_argument, NULL, 'h' }, */ + { "general-numeric-sort", no_argument, NULL, 'g' }, */ + { "help", no_argument, NULL, 'h' }, { "ignore-nonprinting", no_argument, NULL, 'i' }, { "key", required_argument, NULL, 'k' }, /* XXX: UNIMPLEMENTED @@ -154,7 +154,7 @@ fixit(&argc, argv); if (!issetugid() && (outfile = getenv("TMPDIR"))) tmpdir = outfile; - while ((ch = getopt_long(argc, argv, "bcdfik:mHno:rR:S:st:T:uvy:z", longopts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, "bcdfik:mhHno:rR:S:st:T:uvy:z", longopts, NULL)) != -1) { switch (ch) { case 'b': fldtab->flags |= BI | BT; break; @@ -232,6 +232,7 @@ d_mask['\n'] = d_mask[' ']; d_mask[REC_D] = REC_D_F; break; + case 'h': case '?': default: usage(NULL); From owner-p4-projects@FreeBSD.ORG Fri Jul 4 18:32:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D3B241065679; Fri, 4 Jul 2008 18:32: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 97A33106564A for ; Fri, 4 Jul 2008 18:32:13 +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 854648FC2C for ; Fri, 4 Jul 2008 18:32:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64IWDRU054118 for ; Fri, 4 Jul 2008 18:32:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64IWDGk054116 for perforce@freebsd.org; Fri, 4 Jul 2008 18:32:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 18:32:13 GMT Message-Id: <200807041832.m64IWDGk054116@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 144650 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, 04 Jul 2008 18:32:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=144650 Change 144650 by hselasky@hselasky_laptop001 on 2008/07/04 18:31:55 Cleanup locking a little bit. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#11 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_device.c#11 (text+ko) ==== @@ -507,15 +507,19 @@ uint16_t max_power; uint8_t nifc; uint8_t selfpowered; + uint8_t do_unlock; usb2_error_t err; DPRINTF(5, "udev=%p index=%d\n", udev, index); - if (!sx_xlocked(udev->default_sx + 1)) { - /* the caller is not properly locked */ - DPRINTF(-1, "not locked\n"); - return (USB_ERR_NOT_LOCKED); + /* automatic locking */ + if (sx_xlocked(udev->default_sx + 1)) { + do_unlock = 0; + } else { + do_unlock = 1; + sx_xlock(udev->default_sx + 1); } + /* detach all interface drivers */ usb2_detach_device(udev, USB_IFACE_INDEX_ANY, 1); @@ -529,13 +533,13 @@ * the current config number and index. */ err = usb2_req_set_config(udev, &Giant, USB_UNCONFIG_NO); - return (err); + goto done; } /* get the full config descriptor */ err = usb2_req_get_config_desc_full(udev, &Giant, &cdp, M_USB, index); if (err) { - goto error; + goto done; } /* set the new config descriptor */ @@ -606,7 +610,7 @@ if (power > max_power) { DPRINTF(-1, "power exceeded %d > %d\n", power, max_power); err = USB_ERR_NO_POWER; - goto error; + goto done; } /* Only update "self_powered" in USB Host Mode */ if (udev->flags.usb2_mode == USB_MODE_HOST) { @@ -619,21 +623,25 @@ /* Set the actual configuration value. */ err = usb2_req_set_config(udev, &Giant, cdp->bConfigurationValue); if (err) { - goto error; + goto done; } /* Allocate and fill interface data. */ nifc = cdp->bNumInterface; while (nifc--) { err = usb2_fill_iface_data(udev, nifc, 0); if (err) { - goto error; + goto done; } } - return (0); -error: +done: DPRINTF(0, "error=%s\n", usb2_errstr(err)); - usb2_free_iface_data(udev); + if (err) { + usb2_free_iface_data(udev); + } + if (do_unlock) { + sx_unlock(udev->default_sx + 1); + } return (err); } @@ -655,12 +663,14 @@ { struct usb2_interface *iface = usb2_get_iface(udev, iface_index); usb2_error_t err; + uint8_t do_unlock; - if (!sx_xlocked(udev->default_sx + 1)) { - /* the caller is not properly locked */ - DPRINTF(-1, "not locked\n"); - err = USB_ERR_NOT_LOCKED; - goto done; + /* automatic locking */ + if (sx_xlocked(udev->default_sx + 1)) { + do_unlock = 0; + } else { + do_unlock = 1; + sx_xlock(udev->default_sx + 1); } if (iface == NULL) { err = USB_ERR_INVAL; @@ -677,6 +687,9 @@ iface->idesc->bAlternateSetting); done: + if (do_unlock) { + sx_unlock(udev->default_sx + 1); + } return (err); } @@ -1041,16 +1054,23 @@ struct usb2_interface *iface; uint8_t i; uint8_t j; + uint8_t do_unlock; if (udev == NULL) { DPRINTF(0, "udev == NULL\n"); return (USB_ERR_INVAL); } - sx_assert(udev->default_sx + 1, SA_LOCKED); + /* automatic locking */ + if (sx_xlocked(udev->default_sx + 1)) { + do_unlock = 0; + } else { + do_unlock = 1; + sx_xlock(udev->default_sx + 1); + } if (udev->curr_config_index == USB_UNCONFIG_INDEX) { /* do nothing - no configuration has been set */ - return (0); + goto done; } /* setup USB attach arguments */ @@ -1123,6 +1143,10 @@ DPRINTF(-1, "device delete child failed!\n"); } } +done: + if (do_unlock) { + sx_unlock(udev->default_sx + 1); + } return (0); } ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_hub.c#10 (text+ko) ==== @@ -227,10 +227,8 @@ if (child->driver_added_refcount != refcount) { child->driver_added_refcount = refcount; - sx_xlock(child->default_sx + 1); err = usb2_probe_and_attach(child, USB_IFACE_INDEX_ANY); - sx_unlock(child->default_sx + 1); if (err) { goto done; } From owner-p4-projects@FreeBSD.ORG Fri Jul 4 19:14:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67BC01065676; Fri, 4 Jul 2008 19:14: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 2A788106566C for ; Fri, 4 Jul 2008 19:14:57 +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 186F88FC13 for ; Fri, 4 Jul 2008 19:14:57 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64JEvvf058901 for ; Fri, 4 Jul 2008 19:14:57 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64JEukc058899 for perforce@freebsd.org; Fri, 4 Jul 2008 19:14:56 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 4 Jul 2008 19:14:56 GMT Message-Id: <200807041914.m64JEukc058899@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 144655 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, 04 Jul 2008 19:14:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=144655 Change 144655 by pgj@disznohal on 2008/07/04 19:14:44 Add a missing correction Submitted by: gabor Affected files ... .. //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#5 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/copyright/copyright.sgml#5 (text+ko) ==== @@ -21,7 +21,7 @@

    A &os; licenc

    A &os; dokumentációs licenc

    A védjegyek jegyzéke

    -

    A BSD licensz

    +

    A BSD licenc

    A BSD démon

    A &os; portok terjesztésének korlátozásai

    From owner-p4-projects@FreeBSD.ORG Fri Jul 4 20:12:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8ABE1065670; Fri, 4 Jul 2008 20:12: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 6C6F11065672 for ; Fri, 4 Jul 2008 20:12:56 +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 593B78FC13 for ; Fri, 4 Jul 2008 20:12:56 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64KCuVW064704 for ; Fri, 4 Jul 2008 20:12:56 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64KCuj5064702 for perforce@freebsd.org; Fri, 4 Jul 2008 20:12:56 GMT (envelope-from gabor@freebsd.org) Date: Fri, 4 Jul 2008 20:12:56 GMT Message-Id: <200807042012.m64KCuj5064702@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 144660 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, 04 Jul 2008 20:12:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=144660 Change 144660 by gabor@gabor_server on 2008/07/04 20:12:48 - Implement --from-file and --to-file Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#9 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#9 (text+ko) ==== @@ -58,7 +58,9 @@ HELP_OPT = CHAR_MAX + 1, NORMAL_OPT, FCASE_SENSITIVE_OPT, - FCASE_IGNORE_OPT + FCASE_IGNORE_OPT, + FROMFILE_OPT, + TOFILE_OPT }; #define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" @@ -75,9 +77,10 @@ { "line-format", required_argument, NULL, OPT_LF }, { "LTYPE-line-format", required_argument, NULL, OPT_LLF }, { "tabsize", optional_argument, NULL, OPT_TSIZE }, - { "unidirectional-new-file", no_argument, NULL, OPT_UNINF }, - { "from-file", required_argument, NULL, OPT_FFILE }, - { "to-file", required_argument, NULL, OPT_TOFILE }, + { "unidirectional-new-file", no_argument, NULL, OPT_UNINF }, */ + { "from-file", required_argument, NULL, FROMFILE_OPT }, + { "to-file", required_argument, NULL, TOFILE_OPT }, +/* XXX: UNIMPLEMENTED { "horizon-lines", required_argument, NULL, OPT_HLINES }, { "speed-large-files", no_argument, NULL, OPT_LFILES }, */ { "help", no_argument, NULL, HELP_OPT }, @@ -129,8 +132,9 @@ int main(int argc, char **argv) { - char *ep, **oargv; + char *ep, *fromfile = NULL, *tofile = NULL, **oargv; int ch, lastch, gotstdin, prevoptind, newarg; + char *dst, *src; oargv = argv; gotstdin = 0; @@ -252,10 +256,22 @@ case 'x': push_excludes(optarg); break; + case FROMFILE_OPT: + if (tofile != NULL) + err(2, "--from-file and --to-file are both specified"); + asprintf(&fromfile, "%s", optarg); + break; + case TOFILE_OPT: + if (fromfile != NULL) + err(2, "--from-file and --to-file are both specified"); + asprintf(&tofile, "%s", optarg); + break; case FCASE_SENSITIVE_OPT: + /* this is the default */ break; case FCASE_IGNORE_OPT: fcase_behave = FCASE_IGNORE; + break; case NORMAL_OPT: /* compatibility, this is the default */ break; @@ -275,7 +291,11 @@ * Do sanity checks, fill in stb1 and stb2 and call the appropriate * driver routine. Both drivers use the contents of stb1 and stb2. */ - if (argc != 2) + if (fromfile != NULL || tofile != NULL) { + if (argc < 1) + usage(); + } + else if (argc != 2 ) usage(); if (ignore_pats != NULL) { char buf[BUFSIZ]; @@ -290,36 +310,58 @@ errx(2, "%s", buf); } } - if (strcmp(argv[0], "-") == 0) { - fstat(STDIN_FILENO, &stb1); - gotstdin = 1; - } else if (stat(argv[0], &stb1) != 0) - err(2, "%s", argv[0]); - if (strcmp(argv[1], "-") == 0) { - fstat(STDIN_FILENO, &stb2); - gotstdin = 1; - } else if (stat(argv[1], &stb2) != 0) - err(2, "%s", argv[1]); - if (gotstdin && (S_ISDIR(stb1.st_mode) || S_ISDIR(stb2.st_mode))) - errx(2, "can't compare - to a directory"); - set_argstr(oargv, argv); - if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) { - if (format == D_IFDEF) - errx(2, "-D option not supported with directories"); - diffdir(argv[0], argv[1]); + + if (fromfile != NULL) { + src = fromfile; + dst = argv[0]; + } else if (tofile != NULL) { + dst = tofile; + src = argv[0]; } else { - if (S_ISDIR(stb1.st_mode)) { - argv[0] = splice(argv[0], argv[1]); - if (stat(argv[0], &stb1) < 0) - err(2, "%s", argv[0]); + src = argv[0]; + dst = argv[1]; + } + + for (ch = 1; src && dst;ch++) { + if (strcmp(src, "-") == 0) { + fstat(STDIN_FILENO, &stb1); + gotstdin = 1; + } else if (stat(src, &stb1) != 0) + err(2, "%s", src); + if (strcmp(dst, "-") == 0) { + fstat(STDIN_FILENO, &stb2); + gotstdin = 1; + } else if (stat(dst, &stb2) != 0) + err(2, "%s", dst); + if (gotstdin && (S_ISDIR(stb1.st_mode) || S_ISDIR(stb2.st_mode))) + errx(2, "can't compare - to a directory"); +/* XXX: ??? + set_argstr(oargv, argv); */ + if (S_ISDIR(stb1.st_mode) && S_ISDIR(stb2.st_mode)) { + if (format == D_IFDEF) + errx(2, "-D option not supported with directories"); + diffdir(src, dst); + } else { + if (S_ISDIR(stb1.st_mode)) { + src = splice(src, dst); + if (stat(argv[0], &stb1) < 0) + err(2, "%s", argv[0]); + } + if (S_ISDIR(stb2.st_mode)) { + argv[1] = splice(dst, src); + if (stat(argv[1], &stb2) < 0) + err(2, "%s", argv[1]); + } + print_status(diffreg(src, dst, 0), src, dst, + NULL); + if (fromfile != NULL) + dst = argv[ch]; + else if (tofile != NULL) + src = argv[ch]; + else + break; } - if (S_ISDIR(stb2.st_mode)) { - argv[1] = splice(argv[1], argv[0]); - if (stat(argv[1], &stb2) < 0) - err(2, "%s", argv[1]); - } - print_status(diffreg(argv[0], argv[1], 0), argv[0], argv[1], - NULL); + } exit(status); } From owner-p4-projects@FreeBSD.ORG Fri Jul 4 20:26:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2EA6F1065672; Fri, 4 Jul 2008 20:26: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 E771C106564A for ; Fri, 4 Jul 2008 20:26:09 +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 BA1E98FC19 for ; Fri, 4 Jul 2008 20:26:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64KQ9em066023 for ; Fri, 4 Jul 2008 20:26:09 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64KQ9qq066021 for perforce@freebsd.org; Fri, 4 Jul 2008 20:26:09 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 20:26:09 GMT Message-Id: <200807042026.m64KQ9qq066021@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 144661 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, 04 Jul 2008 20:26:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=144661 Change 144661 by hselasky@hselasky_laptop001 on 2008/07/04 20:25:10 Remove not needed printout. Affected files ... .. //depot/projects/usb/src/sys/kern/vfs_mount.c#11 edit Differences ... ==== //depot/projects/usb/src/sys/kern/vfs_mount.c#11 (text+ko) ==== @@ -1696,9 +1696,6 @@ * Improve booting from removable devices * having USB in mind. */ - printf("Waiting %u more seconds for boot " - "device. Press any key for boot " - "prompt.\r", timeout); pause("WROOT", hz); if (cncheckc() == -1) { goto retry; From owner-p4-projects@FreeBSD.ORG Fri Jul 4 20:30:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69A141065678; Fri, 4 Jul 2008 20:30: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 2DA78106564A for ; Fri, 4 Jul 2008 20:30:14 +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 1A14C8FC13 for ; Fri, 4 Jul 2008 20:30:14 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64KUE4Z066341 for ; Fri, 4 Jul 2008 20:30:14 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64KUEII066339 for perforce@freebsd.org; Fri, 4 Jul 2008 20:30:14 GMT (envelope-from gabor@freebsd.org) Date: Fri, 4 Jul 2008 20:30:14 GMT Message-Id: <200807042030.m64KUEII066339@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 144662 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, 04 Jul 2008 20:30:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=144662 Change 144662 by gabor@gabor_server on 2008/07/04 20:29:47 - Document recently added features - Fix typo - Add a new section for miscallenous options - Bump .Dd Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.1#2 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" .\" @(#)diff.1 8.1 (Berkeley) 6/30/93 .\" -.Dd Apr 7, 2008 +.Dd Jul 4, 2008 .Dt DIFF 1 .Os .Sh NAME @@ -78,6 +78,14 @@ .Ek .Ar dir1 dir2 .Nm diff +.Op Fl Fl from-file Ar file1 +.Ar file2 +.Op Ar file3 ... +.Nm diff +.Op Fl Fl to-file Ar file1 +.Ar file2 +.Op Ar file3 ... +.Nm diff .Op Fl v .Sh DESCRIPTION The @@ -161,6 +169,10 @@ insert or delete command. This is the form used by .Xr rcsdiff 1 . +.It Fl Fl normal +Produces a normal diff. +This is the default behaviour and this option is preserved for +compatibility. .It Fl q , Fl Fl brief Just print a line when the files differ. Does not output a list of changes. @@ -204,6 +216,14 @@ Try very hard to produce a diff as small as possible. This may consume a lot of processing power and memory when processing large files with many changes. +.It Fl Fl from-file Ns = Ns Ar file +Takes +.Ar file +as a source of comparison and compares each argument to +.Ar file . +The +.Ar file +argument can be a directory. .It Fl I Ar pattern , Fl Fl ignore-matching-lines Ns = Ns Ar pattern Ignores changes, insertions, and deletions whose lines match the extended regular expression @@ -253,6 +273,14 @@ the indentation of the original source lines and make the output listing difficult to interpret. This option will preserve the original source's indentation. +.It Fl Fl to-file Ns = Ns file +Takes +.Ar file +as a destination of comparison and compares each argument to +.Ar file . +The +.Ar file +argument can be a directory. .It Fl w , Fl Fl ignore-all-space Is similar to .Fl b @@ -265,9 +293,14 @@ .Pp Directory comparison options: .Bl -tag -width Ds +.It Fl Fl ignore-file-name-case +Ignore the file name cases when comparing directories. .It Fl N , Fl Fl new-file If a file is found in only one directory, act as if it was found in the other directory too but was of zero size. +.It Fl Fl no-ignore-file-name-case +Compare directories with case sensitivity. +This is the default. .It Fl P If a file is found only in .Ar dir2 , @@ -302,8 +335,14 @@ Multiple .Fl x options may be specified. +.El +.Pp +Miscallenaous options: +.Bl -tag -width Ds +.It Fl Fl help +Prints usage info. .It Fl v , Fl Fl version -Print version ino. +Prints version info. .El .Pp If both arguments are directories, From owner-p4-projects@FreeBSD.ORG Fri Jul 4 20:32:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 989181065677; Fri, 4 Jul 2008 20:32: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 5CFB1106564A for ; Fri, 4 Jul 2008 20:32:16 +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 497F68FC1A for ; Fri, 4 Jul 2008 20:32:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64KWGPR066493 for ; Fri, 4 Jul 2008 20:32:16 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64KWGtI066491 for perforce@freebsd.org; Fri, 4 Jul 2008 20:32:16 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 20:32:16 GMT Message-Id: <200807042032.m64KWGtI066491@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 144663 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, 04 Jul 2008 20:32:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=144663 Change 144663 by hselasky@hselasky_laptop001 on 2008/07/04 20:31:46 USB WLAN drivers depend on the wlan_amrr module after all. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#6 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#5 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#5 (text+ko) ==== @@ -415,6 +415,7 @@ DRIVER_MODULE(rum, ushub, rum_driver, rum_devclass, NULL, 0); MODULE_DEPEND(rum, usb2_core, 1, 1, 1); MODULE_DEPEND(rum, wlan, 1, 1, 1); +MODULE_DEPEND(rum, wlan_amrr, 1, 1, 1); static int rum_probe(device_t dev) ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#6 (text+ko) ==== @@ -408,6 +408,7 @@ DRIVER_MODULE(ural, ushub, ural_driver, ural_devclass, NULL, 0); MODULE_DEPEND(ural, usb2_core, 1, 1, 1); MODULE_DEPEND(ural, wlan, 1, 1, 1); +MODULE_DEPEND(ural, wlan_amrr, 1, 1, 1); static int ural_probe(device_t dev) ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#5 (text+ko) ==== @@ -305,6 +305,7 @@ DRIVER_MODULE(zyd, ushub, zyd_driver, zyd_devclass, NULL, 0); MODULE_DEPEND(zyd, usb2_core, 1, 1, 1); MODULE_DEPEND(zyd, wlan, 1, 1, 1); +MODULE_DEPEND(zyd, wlan_amrr, 1, 1, 1); static uint8_t zyd_plcp2ieee(uint8_t signal, uint8_t isofdm) From owner-p4-projects@FreeBSD.ORG Fri Jul 4 21:21:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9D101065683; Fri, 4 Jul 2008 21:21: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 AE5F91065680 for ; Fri, 4 Jul 2008 21:21:06 +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 7FDFF8FC16 for ; Fri, 4 Jul 2008 21:21:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m64LL6hN081068 for ; Fri, 4 Jul 2008 21:21:06 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m64LL651081066 for perforce@freebsd.org; Fri, 4 Jul 2008 21:21:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 4 Jul 2008 21:21:06 GMT Message-Id: <200807042121.m64LL651081066@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 144668 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, 04 Jul 2008 21:21:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=144668 Change 144668 by hselasky@hselasky_laptop001 on 2008/07/04 21:20:50 Align buffer properly. ARM processors cannot read unaligned words or double words. Affected files ... .. //depot/projects/usb/src/sys/arm/at91/at91_mci.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/arm/at91/at91_mci.c#4 (text+ko) ==== @@ -80,7 +80,7 @@ int bus_busy; struct mmc_request *req; struct mmc_command *curcmd; - char bounce_buffer[BBSZ]; + uint32_t bounce_buffer[BBSZ/4]; }; static inline uint32_t From owner-p4-projects@FreeBSD.ORG Sat Jul 5 06:05:58 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FB4610656F9; Sat, 5 Jul 2008 06:05: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 0312B10656F3 for ; Sat, 5 Jul 2008 06:05:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C32128FC24 for ; Sat, 5 Jul 2008 06:05:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6565vrv055943 for ; Sat, 5 Jul 2008 06:05:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6565v5Q055941 for perforce@freebsd.org; Sat, 5 Jul 2008 06:05:57 GMT (envelope-from jb@freebsd.org) Date: Sat, 5 Jul 2008 06:05:57 GMT Message-Id: <200807050605.m6565v5Q055941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 144684 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, 05 Jul 2008 06:05:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=144684 Change 144684 by jb@freebsd3 on 2008/07/05 06:05:49 Run ctfconvert on the generated objects too. This allows DTrace scripts to see variables like 'ostype'; Affected files ... .. //depot/projects/dtrace/src/sys/conf/kern.post.mk#14 edit Differences ... ==== //depot/projects/dtrace/src/sys/conf/kern.post.mk#14 (text+ko) ==== @@ -236,6 +236,9 @@ config.o env.o hints.o vers.o vnode_if.o: ${NORMAL_C} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif config.ln env.ln hints.ln vers.ln vnode_if.ln: ${NORMAL_LINT} From owner-p4-projects@FreeBSD.ORG Sat Jul 5 11:52:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C521106568D; Sat, 5 Jul 2008 11:52: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 008571065673 for ; Sat, 5 Jul 2008 11:52: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 D996B8FC24 for ; Sat, 5 Jul 2008 11:52:51 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65BqpGn099840 for ; Sat, 5 Jul 2008 11:52:51 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65Bqp1V099838 for perforce@freebsd.org; Sat, 5 Jul 2008 11:52:51 GMT (envelope-from trasz@freebsd.org) Date: Sat, 5 Jul 2008 11:52:51 GMT Message-Id: <200807051152.m65Bqp1V099838@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 144705 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, 05 Jul 2008 11:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=144705 Change 144705 by trasz@trasz_traszkan on 2008/07/05 11:52:39 Update TODO. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#2 (text+ko) ==== @@ -1,62 +1,28 @@ Things to do, in no particular order: -Compatibility -============= +- Add the ability to remove ACE by number to setfacl(1), -- Create 'struct acl_old' and related types as a copy of 'struct acl' - and related types. Replace all occurences of 'struct acl' with 'struct - acl_old'. +- Add the ability to add ACE at a given position in ACL to setfacl(1), -- Extend 'struct acl' and related types as needed for NFSv4 ACLs. +- Change acl_{get,set}_flags_np into Darwin-compatible calls: -- Write code to translate between 'struct acl' and 'struct acl_old'. + int acl_add_flag_np(acl_flagset_t flagset_d, acl_flag_t flag); + int acl_clear_flags_np(acl_flagset_t flagset_d); + int acl_delete_flag_np(acl_flagset_t flagset_d, acl_flag_t flag); + int acl_get_flag_np(acl_flagset_t flagset_d, acl_flag_t flag); + int acl_get_flagset_np(void *obj_p, acl_flagset_t *flagset_p); + int acl_set_flagset_np(void *obj_p, acl_flagset_t flagset_d); -- Add acl_whatever_flag_np routines to the libc. +- Find out what to do with chmod(1). Right now, "chmod 600" on file + which already has mode 0600 does not call chmod(2) at all - and it + should, as it might cause ACL recomputation. -- Move ACL-related VOPs from using 'acl_old' to 'acl' for both interfacing - with the upper layers and on-disk storage. +- Make access control more granular. -- Add new set of ACL syscalls. Break out common code into separate routines - and implement syscalls for both new and old API as wrappers around - that - for example, for new API, the syscall will copyin and call the common - routine; for old API the syscall will copyin, translate and call the common - routine. +- Attach ZFS to the framework. -- Find out how symbol versioning works. Use it to create backward compatible - API - wrap old API around new one, using translation routines described above. +- Write code to do the same operations on UFS and ZFS and compare results. -Actual implementation -===================== - -- Find out how interaction between "legacy" UNIX permissions (rwxrwxrwx) - and NFSv4 ACLs works in SunOS. - -- Find out how interaction between "legacy" UNIX permissions (rwxrwxrwx) - and NFSv4 ACLs works in Darwin. - -- Decide on the command line tools user interface. - -- Implement parser for the new ACL type. - -- Implement printer for the new ACL type. - -- Add mount flag (nfs4acls?), mutually exclusive with 'acls', to turn on new ACLs. - -- Add some mock-up code to kern/subr_acl_nfs4.c. - -- Extend stuff from ufs/ufs/ufs_acl.c to call that code for NFSv4 ACLs. At this point - I should be able to test if storing and retrieving works as it should, for both new - (struct acl) and old (struct acl_old) on-disk layout. - -- Replace the mock-up with actual implementation. ;-) - (XXX: This deserves for a longer description.) - -Testing -======= - -- Find out if there is any existing tool to test this. - -- Find out what functionality is needed for regression tests. - -- Implement. +- Write library that implements SunOS acl(2)/facl(2) as wrappers around + __acl_whatever syscalls. Use it in Samba. From owner-p4-projects@FreeBSD.ORG Sat Jul 5 11:59:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74E011065677; Sat, 5 Jul 2008 11:59: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 38E5C1065675 for ; Sat, 5 Jul 2008 11:59: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 28E008FC18 for ; Sat, 5 Jul 2008 11:59:59 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65Bxx8O000550 for ; Sat, 5 Jul 2008 11:59:59 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65Bxx6a000548 for perforce@freebsd.org; Sat, 5 Jul 2008 11:59:59 GMT (envelope-from trasz@freebsd.org) Date: Sat, 5 Jul 2008 11:59:59 GMT Message-Id: <200807051159.m65Bxx6a000548@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 144706 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, 05 Jul 2008 11:59:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=144706 Change 144706 by trasz@trasz_traszkan on 2008/07/05 11:59:34 Rename two functions to match Darwin. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#7 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#3 (text+ko) ==== @@ -186,7 +186,7 @@ * in most cases they wouldn't even get evaluated. */ if (acl_type == ACL_TYPE_NFS4) { - if (acl_create_entry_at_position_np(&acl_new, &entry_new, 0) == -1) { + if (acl_create_entry_np(&acl_new, &entry_new, 0) == -1) { acl_free(acl_new); return (-1); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#3 (text) ==== @@ -13,9 +13,9 @@ acl_delete_link_np; acl_delete_fd_np; acl_delete_entry; - acl_delete_entry_at_position_np; + acl_delete_entry_np; acl_create_entry; - acl_create_entry_at_position_np; + acl_create_entry_np; acl_get_entry; acl_free; acl_from_text; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#3 (text+ko) ==== @@ -122,7 +122,7 @@ } int -acl_delete_entry_at_position_np(acl_t acl, int offset) +acl_delete_entry_np(acl_t acl, int offset) { struct acl *acl_int; int i; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_entry.c#3 (text+ko) ==== @@ -71,7 +71,7 @@ } int -acl_create_entry_at_position_np(acl_t *acl_p, acl_entry_t *entry_p, int offset) +acl_create_entry_np(acl_t *acl_p, acl_entry_t *entry_p, int offset) { int i; struct acl *acl_int; ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#7 (text+ko) ==== @@ -304,9 +304,9 @@ ssize_t acl_copy_ext(void *_buf_p, acl_t _acl, ssize_t _size); acl_t acl_copy_int(const void *_buf_p); int acl_create_entry(acl_t *_acl_p, acl_entry_t *_entry_p); -int acl_create_entry_at_position_np(acl_t *_acl_p, acl_entry_t *_entry_p, int _index); +int acl_create_entry_np(acl_t *_acl_p, acl_entry_t *_entry_p, int _index); int acl_delete_entry(acl_t _acl, acl_entry_t _entry_d); -int acl_delete_entry_at_position_np(acl_t _acl, int _index); +int acl_delete_entry_np(acl_t _acl, int _index); int acl_delete_fd_np(int _filedes, acl_type_t _type); int acl_delete_file_np(const char *_path_p, acl_type_t _type); int acl_delete_link_np(const char *_path_p, acl_type_t _type); From owner-p4-projects@FreeBSD.ORG Sat Jul 5 16:54:05 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 679C91065682; Sat, 5 Jul 2008 16:54:05 +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 2BB37106567B for ; Sat, 5 Jul 2008 16:54:05 +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 175DB8FC1C for ; Sat, 5 Jul 2008 16:54:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65Gs5pP048696 for ; Sat, 5 Jul 2008 16:54:05 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65Gs49U048694 for perforce@freebsd.org; Sat, 5 Jul 2008 16:54:04 GMT (envelope-from trasz@freebsd.org) Date: Sat, 5 Jul 2008 16:54:04 GMT Message-Id: <200807051654.m65Gs49U048694@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 144723 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, 05 Jul 2008 16:54:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=144723 Change 144723 by trasz@trasz_traszkan on 2008/07/05 16:53:46 Change the "flag" part of the API to be compatible with Darwin. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#8 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#3 (text+ko) ==== @@ -4,15 +4,6 @@ - Add the ability to add ACE at a given position in ACL to setfacl(1), -- Change acl_{get,set}_flags_np into Darwin-compatible calls: - - int acl_add_flag_np(acl_flagset_t flagset_d, acl_flag_t flag); - int acl_clear_flags_np(acl_flagset_t flagset_d); - int acl_delete_flag_np(acl_flagset_t flagset_d, acl_flag_t flag); - int acl_get_flag_np(acl_flagset_t flagset_d, acl_flag_t flag); - int acl_get_flagset_np(void *obj_p, acl_flagset_t *flagset_p); - int acl_set_flagset_np(void *obj_p, acl_flagset_t flagset_d); - - Find out what to do with chmod(1). Right now, "chmod 600" on file which already has mode 0600 does not call chmod(2) at all - and it should, as it might cause ACL recomputation. ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#4 (text+ko) ==== @@ -43,7 +43,7 @@ { acl_permset_t permset; acl_extended_t extended; - acl_flag_t flags; + acl_flagset_t flagset; int have_entry; uid_t *id, *id_new; @@ -67,10 +67,10 @@ err(1, "acl_get_extended_np() failed"); if (acl_set_extended_np(*entry_new, extended)) err(1, "acl_set_extended_np() failed"); - if (acl_get_flags_np(*entry, &flags)) - err(1, "acl_get_flags_np() failed"); - if (acl_set_flags_np(*entry_new, flags)) - err(1, "acl_set_flags_np() failed"); + if (acl_get_flagset_np(*entry, &flagset)) + err(1, "acl_get_flagset_np() failed"); + if (acl_set_flagset_np(*entry_new, flagset)) + err(1, "acl_set_flagset_np() failed"); } have_entry = 1; @@ -92,7 +92,7 @@ acl_t acl_new; acl_tag_t tag, tag_new; acl_extended_t extended, extended_new; - acl_flag_t flags; + acl_flagset_t flagset; int entry_id, entry_id_new, have_entry; if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) @@ -163,10 +163,10 @@ err(1, "acl_get_extended_np() failed"); if (acl_set_extended_np(entry_new, extended)) err(1, "acl_set_extended_np() failed"); - if (acl_get_flags_np(entry, &flags)) - err(1, "acl_get_flags_np() failed"); - if (acl_set_flags_np(entry_new, flags)) - err(1, "acl_set_flags_np() failed"); + if (acl_get_flagset_np(entry, &flagset)) + err(1, "acl_get_flagset_np() failed"); + if (acl_set_flagset_np(entry_new, flagset)) + err(1, "acl_set_flagset_np() failed"); } have_entry = 1; break; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#4 (text+ko) ==== @@ -8,6 +8,7 @@ acl_delete.c \ acl_delete_entry.c \ acl_entry.c \ + acl_flag.c \ acl_flags_nfs4.c \ acl_free.c \ acl_from_text.c \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Symbol.map#4 (text) ==== @@ -22,24 +22,28 @@ acl_get_file; acl_get_link_np; acl_get_extended_np; - acl_get_flags_np; acl_get_fd; acl_get_fd_np; + acl_get_flag_np; acl_get_perm_np; + acl_get_flagset_np; acl_get_permset; acl_get_qualifier; acl_get_tag_type; acl_init; acl_dup; + acl_add_flag_np; acl_add_perm; + acl_clear_flags_np; acl_clear_perms; + acl_delete_flag_np; acl_delete_perm; acl_set_extended_np; - acl_set_flags_np; acl_set_file; acl_set_link_np; acl_set_fd; acl_set_fd_np; + acl_set_flagset_np; acl_set_permset; acl_set_qualifier; acl_set_tag_type; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#2 (text+ko) ==== @@ -154,7 +154,7 @@ return (error); } - error = acl_set_flags_np(entry, flags); + error = acl_set_flagset_np(entry, &flags); return (error); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#4 (text+ko) ==== @@ -243,21 +243,3 @@ return (0); } -int -acl_get_flags_np(acl_entry_t entry_d, acl_flag_t *flags_p) -{ - if (entry_d == NULL || flags_p == NULL) { - errno = EINVAL; - return (-1); - } - - if (!_entry_is_nfs4(entry_d)) { - errno = EINVAL; - return (-1); - } - - *flags_p = entry_d->ae_flags; - - return (0); -} - ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#4 (text+ko) ==== @@ -271,25 +271,3 @@ return (-1); } -int -acl_set_flags_np(acl_entry_t entry_d, acl_flag_t flags) -{ - if (entry_d == NULL) { - errno = EINVAL; - return (-1); - } - - if ((flags & ACL_FLAGS_BITS) != flags) { - errno = EINVAL; - return (-1); - } - - if (!_entry_must_be_nfs4(entry_d)) { - errno = EINVAL; - return (-1); - } - - entry_d->ae_flags = flags; - return (0); -} - ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#2 (text+ko) ==== @@ -135,18 +135,26 @@ format_entry_compact(char *str, size_t size, const acl_entry_t entry) { size_t off = 0, maximum_who_field_length = 18; + acl_permset_t permset; + acl_flagset_t flagset; assert(_entry_is_nfs4(entry)); + if (acl_get_flagset_np(entry, &flagset)) + return (0); + + if (acl_get_permset(entry, &permset)) + return (0); + off += format_who(str + off, size - off, entry); if (off < maximum_who_field_length) off += add_padding(str, size - off, maximum_who_field_length - off); off += snprintf(str + off, size - off, ":"); - off += _nfs4_format_access_mask(str + off, size - off, entry->ae_perm, 0); + off += _nfs4_format_access_mask(str + off, size - off, *permset, 0); off += snprintf(str + off, size - off, ":"); - off += _nfs4_format_flags(str + off, size - off, entry->ae_flags, 0); + off += _nfs4_format_flags(str + off, size - off, *flagset, 0); off += snprintf(str + off, size - off, ":"); off += format_extended(str + off, size - off, entry); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#8 (text+ko) ==== @@ -80,6 +80,7 @@ typedef int acl_extended_t; typedef int acl_type_t; typedef int *acl_permset_t; +typedef int *acl_flagset_t; struct acl_entry { acl_tag_t ae_tag; @@ -297,8 +298,10 @@ * filesystems (i.e., AFS). */ __BEGIN_DECLS +int acl_add_flag_np(acl_flagset_t _flagset_d, acl_flag_t _flag); int acl_add_perm(acl_permset_t _permset_d, acl_perm_t _perm); int acl_calc_mask(acl_t *_acl_p); +int acl_clear_flags_np(acl_flagset_t _flagset_d); int acl_clear_perms(acl_permset_t _permset_d); int acl_copy_entry(acl_entry_t _dest_d, acl_entry_t _src_d); ssize_t acl_copy_ext(void *_buf_p, acl_t _acl, ssize_t _size); @@ -312,6 +315,7 @@ int acl_delete_link_np(const char *_path_p, acl_type_t _type); int acl_delete_def_file(const char *_path_p); int acl_delete_def_link_np(const char *_path_p); +int acl_delete_flag_np(acl_flagset_t _flagset_d, acl_flag_t _flag); int acl_delete_perm(acl_permset_t _permset_d, acl_perm_t _perm); acl_t acl_dup(acl_t _acl); int acl_free(void *_obj_p); @@ -320,20 +324,21 @@ acl_t acl_get_fd(int _fd); acl_t acl_get_fd_np(int fd, acl_type_t _type); acl_t acl_get_file(const char *_path_p, acl_type_t _type); -int acl_get_flags_np(acl_entry_t _entry_d, acl_flag_t *_flags_p); int acl_get_extended_np(acl_entry_t _entry_d, acl_extended_t *_extended_p); acl_t acl_get_link_np(const char *_path_p, acl_type_t _type); void *acl_get_qualifier(acl_entry_t _entry_d); +int acl_get_flag_np(acl_flagset_t _flagset_d, acl_flag_t _flag); int acl_get_perm_np(acl_permset_t _permset_d, acl_perm_t _perm); +int acl_get_flagset_np(acl_entry_t _entry_d, acl_flagset_t *_flagset_p); int acl_get_permset(acl_entry_t _entry_d, acl_permset_t *_permset_p); int acl_get_tag_type(acl_entry_t _entry_d, acl_tag_t *_tag_type_p); acl_t acl_init(int _count); int acl_set_fd(int _fd, acl_t _acl); int acl_set_fd_np(int _fd, acl_t _acl, acl_type_t _type); int acl_set_file(const char *_path_p, acl_type_t _type, acl_t _acl); -int acl_set_flags_np(acl_entry_t _entry_d, acl_flag_t _flags); int acl_set_extended_np(acl_entry_t _entry_d, acl_extended_t _extended); int acl_set_link_np(const char *_path_p, acl_type_t _type, acl_t _acl); +int acl_set_flagset_np(acl_entry_t _entry_d, acl_flagset_t _flagset_d); int acl_set_permset(acl_entry_t _entry_d, acl_permset_t _permset_d); int acl_set_qualifier(acl_entry_t _entry_d, const void *_tag_qualifier_p); int acl_set_tag_type(acl_entry_t _entry_d, acl_tag_t _tag_type); From owner-p4-projects@FreeBSD.ORG Sat Jul 5 17:28:52 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D93831065672; Sat, 5 Jul 2008 17:28:51 +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 9AC46106564A for ; Sat, 5 Jul 2008 17:28:51 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 883498FC1B for ; Sat, 5 Jul 2008 17:28:51 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65HSpue052535 for ; Sat, 5 Jul 2008 17:28:51 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65HSi6I052529 for perforce@freebsd.org; Sat, 5 Jul 2008 17:28:44 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 17:28:44 GMT Message-Id: <200807051728.m65HSi6I052529@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144725 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, 05 Jul 2008 17:28:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=144725 Change 144725 by marcel@marcel_xcllnt on 2008/07/05 17:28:44 IFC @144724 Affected files ... .. //depot/projects/uart/Makefile#15 integrate .. //depot/projects/uart/amd64/acpica/acpi_machdep.c#7 integrate .. //depot/projects/uart/amd64/acpica/madt.c#11 integrate .. //depot/projects/uart/amd64/amd64/bpf_jit_machdep.c#3 integrate .. //depot/projects/uart/amd64/amd64/bpf_jit_machdep.h#2 integrate .. //depot/projects/uart/amd64/amd64/cpu_switch.S#7 integrate .. //depot/projects/uart/amd64/amd64/exception.S#11 integrate .. //depot/projects/uart/amd64/amd64/genassym.c#13 integrate .. //depot/projects/uart/amd64/amd64/identcpu.c#17 integrate .. //depot/projects/uart/amd64/amd64/intr_machdep.c#16 integrate .. //depot/projects/uart/amd64/amd64/legacy.c#8 integrate .. //depot/projects/uart/amd64/amd64/local_apic.c#17 integrate .. //depot/projects/uart/amd64/amd64/machdep.c#31 integrate .. //depot/projects/uart/amd64/amd64/mem.c#5 integrate .. //depot/projects/uart/amd64/amd64/minidump_machdep.c#4 integrate .. //depot/projects/uart/amd64/amd64/mp_machdep.c#23 integrate .. //depot/projects/uart/amd64/amd64/mptable.c#8 integrate .. //depot/projects/uart/amd64/amd64/nexus.c#13 integrate .. //depot/projects/uart/amd64/amd64/pmap.c#50 integrate .. //depot/projects/uart/amd64/amd64/prof_machdep.c#8 integrate .. //depot/projects/uart/amd64/amd64/trap.c#22 integrate .. //depot/projects/uart/amd64/conf/GENERIC#32 integrate .. //depot/projects/uart/amd64/conf/NOTES#19 integrate .. //depot/projects/uart/amd64/ia32/ia32_signal.c#7 integrate .. //depot/projects/uart/amd64/include/atomic.h#7 integrate .. //depot/projects/uart/amd64/include/clock.h#11 integrate .. //depot/projects/uart/amd64/include/cpufunc.h#5 integrate .. //depot/projects/uart/amd64/include/intr_machdep.h#8 integrate .. //depot/projects/uart/amd64/include/iodev.h#2 integrate .. //depot/projects/uart/amd64/include/memdev.h#2 integrate .. //depot/projects/uart/amd64/include/nexusvar.h#1 branch .. //depot/projects/uart/amd64/include/param.h#10 integrate .. //depot/projects/uart/amd64/include/pcb.h#5 integrate .. //depot/projects/uart/amd64/include/pcb_ext.h#2 delete .. //depot/projects/uart/amd64/include/pcpu.h#6 integrate .. //depot/projects/uart/amd64/include/pmap.h#16 integrate .. //depot/projects/uart/amd64/include/pmc_mdep.h#4 integrate .. //depot/projects/uart/amd64/include/stack.h#2 integrate .. //depot/projects/uart/amd64/include/timerreg.h#2 integrate .. //depot/projects/uart/amd64/include/vmparam.h#10 integrate .. //depot/projects/uart/amd64/isa/atpic.c#8 integrate .. //depot/projects/uart/amd64/isa/clock.c#16 integrate .. //depot/projects/uart/amd64/linux32/linux.h#8 integrate .. //depot/projects/uart/amd64/linux32/linux32_dummy.c#9 integrate .. //depot/projects/uart/amd64/linux32/linux32_proto.h#15 integrate .. //depot/projects/uart/amd64/linux32/linux32_syscall.h#15 integrate .. //depot/projects/uart/amd64/linux32/linux32_sysent.c#15 integrate .. //depot/projects/uart/amd64/linux32/linux32_sysvec.c#20 integrate .. //depot/projects/uart/amd64/linux32/syscalls.master#15 integrate .. //depot/projects/uart/arm/arm/bus_space_generic.c#1 branch .. //depot/projects/uart/arm/arm/elf_trampoline.c#11 integrate .. //depot/projects/uart/arm/arm/exception.S#4 integrate .. //depot/projects/uart/arm/arm/identcpu.c#12 integrate .. //depot/projects/uart/arm/arm/intr.c#13 integrate .. //depot/projects/uart/arm/arm/locore.S#12 integrate .. //depot/projects/uart/arm/arm/machdep.c#13 integrate .. //depot/projects/uart/arm/arm/pmap.c#26 integrate .. //depot/projects/uart/arm/arm/vm_machdep.c#19 integrate .. //depot/projects/uart/arm/at91/at91.c#9 integrate .. //depot/projects/uart/arm/at91/at91_twi.c#8 integrate .. //depot/projects/uart/arm/at91/if_ate.c#13 integrate .. //depot/projects/uart/arm/at91/kb920x_machdep.c#14 integrate .. //depot/projects/uart/arm/at91/uart_dev_at91usart.c#11 integrate .. //depot/projects/uart/arm/conf/AVILA#5 integrate .. //depot/projects/uart/arm/conf/AVILA.hints#2 integrate .. //depot/projects/uart/arm/conf/BWCT#3 integrate .. //depot/projects/uart/arm/conf/CRB#3 integrate .. //depot/projects/uart/arm/conf/EP80219#5 integrate .. //depot/projects/uart/arm/conf/GUMSTIX#1 branch .. //depot/projects/uart/arm/conf/GUMSTIX.hints#1 branch .. //depot/projects/uart/arm/conf/HL200#2 integrate .. //depot/projects/uart/arm/conf/IQ31244#14 integrate .. //depot/projects/uart/arm/conf/KB920X#10 integrate .. //depot/projects/uart/arm/conf/SIMICS#11 integrate .. //depot/projects/uart/arm/conf/SKYEYE#7 integrate .. //depot/projects/uart/arm/include/intr.h#7 integrate .. //depot/projects/uart/arm/include/machdep.h#3 integrate .. //depot/projects/uart/arm/include/memdev.h#2 integrate .. //depot/projects/uart/arm/include/param.h#8 integrate .. //depot/projects/uart/arm/sa11x0/assabet_machdep.c#14 integrate .. //depot/projects/uart/arm/sa11x0/files.sa11x0#3 integrate .. //depot/projects/uart/arm/sa11x0/sa11x0_io.c#8 integrate .. //depot/projects/uart/arm/sa11x0/sa11x0_ost.c#6 integrate .. //depot/projects/uart/arm/xscale/i80321/ep80219_machdep.c#7 integrate .. //depot/projects/uart/arm/xscale/i80321/files.ep80219#2 integrate .. //depot/projects/uart/arm/xscale/i80321/files.i80219#2 integrate .. //depot/projects/uart/arm/xscale/i80321/files.i80321#4 integrate .. //depot/projects/uart/arm/xscale/i80321/files.iq31244#3 integrate .. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#20 integrate .. //depot/projects/uart/arm/xscale/i80321/obio_space.c#5 integrate .. //depot/projects/uart/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/uart/arm/xscale/i8134x/files.i81342#2 integrate .. //depot/projects/uart/arm/xscale/i8134x/i81342_pci.c#3 integrate .. //depot/projects/uart/arm/xscale/i8134x/obio_space.c#2 integrate .. //depot/projects/uart/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/uart/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/uart/arm/xscale/ixp425/files.ixp425#3 integrate .. //depot/projects/uart/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/uart/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/uart/arm/xscale/ixp425/ixp425_a4x_space.c#2 integrate .. //depot/projects/uart/arm/xscale/ixp425/ixp425_space.c#2 integrate .. //depot/projects/uart/arm/xscale/pxa/files.pxa#1 branch .. //depot/projects/uart/arm/xscale/pxa/if_smc_smi.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_gpio.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_icu.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_machdep.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_obio.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_smi.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_space.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxa_timer.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxareg.h#1 branch .. //depot/projects/uart/arm/xscale/pxa/pxavar.h#1 branch .. //depot/projects/uart/arm/xscale/pxa/std.pxa#1 branch .. //depot/projects/uart/arm/xscale/pxa/uart_bus_pxa.c#1 branch .. //depot/projects/uart/arm/xscale/pxa/uart_cpu_pxa.c#1 branch .. //depot/projects/uart/boot/Makefile.inc#1 branch .. //depot/projects/uart/boot/arm/Makefile.inc#1 branch .. //depot/projects/uart/boot/arm/at91/Makefile.inc#7 integrate .. //depot/projects/uart/boot/common/ufsread.c#6 integrate .. //depot/projects/uart/boot/efi/Makefile.inc#3 integrate .. //depot/projects/uart/boot/forth/loader.conf#17 integrate .. //depot/projects/uart/boot/i386/Makefile.inc#6 integrate .. //depot/projects/uart/boot/i386/boot2/boot2.c#10 integrate .. //depot/projects/uart/boot/i386/cdboot/cdboot.s#6 integrate .. //depot/projects/uart/boot/i386/libi386/biossmap.c#7 integrate .. //depot/projects/uart/boot/i386/libi386/time.c#3 integrate .. //depot/projects/uart/boot/i386/loader/Makefile#9 integrate .. //depot/projects/uart/boot/i386/pxeldr/pxeldr.S#5 integrate .. //depot/projects/uart/boot/ia64/Makefile.inc#3 integrate .. //depot/projects/uart/boot/ia64/common/Makefile#2 integrate .. //depot/projects/uart/boot/ia64/efi/Makefile#5 integrate .. //depot/projects/uart/boot/ia64/ski/Makefile#5 integrate .. //depot/projects/uart/boot/ofw/Makefile.inc#1 branch .. //depot/projects/uart/boot/pc98/Makefile.inc#5 integrate .. //depot/projects/uart/boot/pc98/boot2/Makefile#5 integrate .. //depot/projects/uart/boot/pc98/boot2/README.serial.98#2 delete .. //depot/projects/uart/boot/pc98/cdboot/cdboot.s#4 integrate .. //depot/projects/uart/boot/pc98/loader/Makefile#8 integrate .. //depot/projects/uart/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/uart/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/uart/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/uart/boot/sparc64/loader/Makefile#5 integrate .. //depot/projects/uart/boot/uboot/Makefile#2 integrate .. //depot/projects/uart/boot/uboot/Makefile.inc#1 branch .. //depot/projects/uart/boot/uboot/common/main.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/Makefile#2 integrate .. //depot/projects/uart/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/uart/boot/uboot/lib/copy.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/devicename.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/elf_freebsd.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/glue.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/glue.h#2 integrate .. //depot/projects/uart/boot/uboot/lib/libuboot.h#2 integrate .. //depot/projects/uart/boot/uboot/lib/module.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/net.c#2 integrate .. //depot/projects/uart/boot/uboot/lib/reboot.c#2 integrate .. //depot/projects/uart/cam/scsi/scsi_ses.c#10 integrate .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/bitmap.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cpupart.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cpuvar.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cpuvar_defs.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cyclic.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/cyclic_impl.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/dnlc.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/elf.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/feature_tests.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/mman.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/mntent.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/mnttab.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/modctl.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/mount.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/mutex.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/objfs.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/param.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/pcpu.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/policy.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/proc.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/random.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/rwlock.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/sdt.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/sema.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/stat.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/string.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/sysmacros.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/systm.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/taskq.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/taskq_impl.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/time.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/types.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/uio.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/varargs.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/vfs.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/vnode.h#1 branch .. //depot/projects/uart/cddl/compat/opensolaris/sys/zone.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/acl/acl_common.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/acl/acl_common.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/atomic/i386/atomic.S#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/atomic/ia64/atomic.S#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/atomic/sparc64/atomic.S#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/avl/avl.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/nvpair/nvpair.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/zfs/zfs_prop.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/common/zfs/zfs_prop.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/Makefile.files#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/ctf/ctf_mod.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/ctf/ctf_subr.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/dtrace/lockstat.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/dtrace/profile.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/dtrace/sdt_subr.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/dtrace/systrace.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/gfs.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/bplist.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/fletcher.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/gzip.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bplist.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_zfetch.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_synctask.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/unique.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_disk.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_rlock.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/unique.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs.conf#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/os/callb.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/os/list.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/os/taskq.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/rpc/xdr.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/rpc/xdr_array.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/rpc/xdr_mem.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/asm_linkage.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/avl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/avl_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/bitmap.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/byteorder.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/callb.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/ccompile.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/cmn_err.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/compress.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/cpupart.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/cpuvar.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/cred.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/ctf.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/debug.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/dkio.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/dklabel.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/dtrace.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/errorq.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/feature_tests.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/fm/fs/zfs.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/fm/protocol.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/fm/util.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/gfs.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/list.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/list_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/note.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/nvpair.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/nvpair_impl.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/processor.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/procset.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/synch.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/sysevent.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/sys/zmod.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/adler32.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/crc32.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/crc32.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/deflate.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/deflate.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inffast.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inffast.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inffixed.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inflate.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inflate.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inftrees.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/inftrees.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/trees.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/zconf.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/zlib.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/zmod.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/zmod_subr.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/zutil.c#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/common/zmod/zutil.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/intel/sys/fasttrap_isa.h#1 branch .. //depot/projects/uart/cddl/contrib/opensolaris/uts/sparc/sys/fasttrap_isa.h#1 branch .. //depot/projects/uart/cddl/dev/cyclic/amd64/cyclic_machdep.c#1 branch .. //depot/projects/uart/cddl/dev/cyclic/cyclic.c#1 branch .. //depot/projects/uart/cddl/dev/cyclic/cyclic_test.c#1 branch .. //depot/projects/uart/cddl/dev/cyclic/i386/cyclic_machdep.c#1 branch .. //depot/projects/uart/cddl/dev/dtmalloc/dtmalloc.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/amd64/dis_tables.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/amd64/dis_tables.h#1 branch .. //depot/projects/uart/cddl/dev/dtrace/amd64/dtrace_asm.S#1 branch .. //depot/projects/uart/cddl/dev/dtrace/amd64/dtrace_isa.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/amd64/dtrace_subr.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/amd64/instr_size.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_anon.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_cddl.h#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_clone.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_debug.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_hacks.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_ioctl.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_load.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_modevent.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_sysctl.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_test.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_unload.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/dtrace_vtime.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/i386/dis_tables.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/i386/dis_tables.h#1 branch .. //depot/projects/uart/cddl/dev/dtrace/i386/dtrace_asm.S#1 branch .. //depot/projects/uart/cddl/dev/dtrace/i386/dtrace_isa.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/i386/dtrace_subr.c#1 branch .. //depot/projects/uart/cddl/dev/dtrace/i386/instr_size.c#1 branch .. //depot/projects/uart/cddl/dev/fbt/fbt.c#1 branch .. //depot/projects/uart/cddl/dev/profile/profile.c#1 branch .. //depot/projects/uart/cddl/dev/prototype.c#1 branch .. //depot/projects/uart/cddl/dev/sdt/sdt.c#1 branch .. //depot/projects/uart/cddl/dev/systrace/systrace.c#1 branch .. //depot/projects/uart/compat/freebsd32/freebsd32_misc.c#23 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_proto.h#23 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_syscall.h#23 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_syscalls.c#23 integrate .. //depot/projects/uart/compat/freebsd32/freebsd32_sysent.c#23 integrate .. //depot/projects/uart/compat/freebsd32/syscalls.master#22 integrate .. //depot/projects/uart/compat/linprocfs/linprocfs.c#30 integrate .. //depot/projects/uart/compat/linux/linux_emul.c#6 integrate .. //depot/projects/uart/compat/linux/linux_emul.h#5 integrate .. //depot/projects/uart/compat/linux/linux_file.c#17 integrate .. //depot/projects/uart/compat/linux/linux_file.h#1 branch .. //depot/projects/uart/compat/linux/linux_futex.c#6 integrate .. //depot/projects/uart/compat/linux/linux_futex.h#3 integrate .. //depot/projects/uart/compat/linux/linux_mib.c#7 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#26 integrate .. //depot/projects/uart/compat/linux/linux_stats.c#17 integrate .. //depot/projects/uart/compat/linux/linux_uid16.c#8 integrate .. //depot/projects/uart/compat/linux/linux_util.c#8 integrate .. //depot/projects/uart/compat/linux/linux_util.h#9 integrate .. //depot/projects/uart/compat/ndis/subr_ndis.c#14 integrate .. //depot/projects/uart/compat/ndis/subr_ntoskrnl.c#14 integrate .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_atomic.c#2 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_kmem.c#3 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_kobj.c#4 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_kstat.c#3 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_misc.c#3 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_policy.c#3 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_string.c#2 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_vfs.c#7 delete .. //depot/projects/uart/compat/opensolaris/kern/opensolaris_zone.c#2 delete .. //depot/projects/uart/compat/opensolaris/machine/endian.h#2 delete .. //depot/projects/uart/compat/opensolaris/rpc/xdr.h#3 delete .. //depot/projects/uart/compat/opensolaris/sys/acl.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/atomic.h#3 delete .. //depot/projects/uart/compat/opensolaris/sys/bitmap.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/byteorder.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/callb.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/cmn_err.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/cpupart.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/cpuvar.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/cred.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/cyclic.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/debug.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/dirent.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/dkio.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/dnlc.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/elf.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/kcondvar.h#3 delete .. //depot/projects/uart/compat/opensolaris/sys/kmem.h#4 delete .. //depot/projects/uart/compat/opensolaris/sys/kobj.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/kstat.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/lock.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/misc.h#3 delete .. //depot/projects/uart/compat/opensolaris/sys/mman.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/mntent.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/mnttab.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/modctl.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/mount.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/mutex.h#4 delete .. //depot/projects/uart/compat/opensolaris/sys/objfs.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/param.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/pcpu.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/policy.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/proc.h#4 delete .. //depot/projects/uart/compat/opensolaris/sys/random.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/rwlock.h#4 delete .. //depot/projects/uart/compat/opensolaris/sys/sdt.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/stat.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/string.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/sunddi.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/sysmacros.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/systm.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/taskq.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/taskq_impl.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/time.h#3 delete .. //depot/projects/uart/compat/opensolaris/sys/types.h#4 delete .. //depot/projects/uart/compat/opensolaris/sys/uio.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/varargs.h#2 delete .. //depot/projects/uart/compat/opensolaris/sys/vfs.h#3 delete .. //depot/projects/uart/compat/opensolaris/sys/vnode.h#4 delete .. //depot/projects/uart/compat/opensolaris/sys/zone.h#2 delete .. //depot/projects/uart/compat/pecoff/imgact_pecoff.c#11 delete .. //depot/projects/uart/compat/pecoff/imgact_pecoff.h#3 delete .. //depot/projects/uart/compat/svr4/svr4_fcntl.c#10 integrate .. //depot/projects/uart/compat/svr4/svr4_misc.c#17 integrate .. //depot/projects/uart/compat/svr4/svr4_stat.c#6 integrate .. //depot/projects/uart/compat/svr4/svr4_sysvec.c#9 integrate .. //depot/projects/uart/conf/Makefile.amd64#9 integrate .. //depot/projects/uart/conf/Makefile.arm#16 integrate .. //depot/projects/uart/conf/Makefile.mips#1 branch .. //depot/projects/uart/conf/NOTES#56 integrate .. //depot/projects/uart/conf/files#87 integrate .. //depot/projects/uart/conf/files.amd64#33 integrate .. //depot/projects/uart/conf/files.i386#39 integrate .. //depot/projects/uart/conf/files.mips#1 branch .. //depot/projects/uart/conf/files.pc98#32 integrate .. //depot/projects/uart/conf/files.powerpc#19 integrate .. //depot/projects/uart/conf/files.sparc64#21 integrate .. //depot/projects/uart/conf/files.sun4v#7 integrate .. //depot/projects/uart/conf/kern.mk#11 integrate .. //depot/projects/uart/conf/kern.post.mk#21 integrate .. //depot/projects/uart/conf/kern.pre.mk#19 integrate .. //depot/projects/uart/conf/ldscript.mips#1 branch .. //depot/projects/uart/conf/ldscript.mips.cfe#1 branch .. //depot/projects/uart/conf/newvers.sh#7 integrate .. //depot/projects/uart/conf/options#53 integrate .. //depot/projects/uart/conf/options.amd64#13 integrate .. //depot/projects/uart/conf/options.arm#14 integrate .. //depot/projects/uart/conf/options.i386#19 integrate .. //depot/projects/uart/conf/options.mips#1 branch .. //depot/projects/uart/conf/options.pc98#16 integrate .. //depot/projects/uart/contrib/dev/iwn/LICENSE#1 branch .. //depot/projects/uart/contrib/dev/iwn/iwlwifi-4965-4.44.17.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/oltr/COPYRIGHT#2 delete .. //depot/projects/uart/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete .. //depot/projects/uart/contrib/dev/oltr/if_oltr.c#10 delete .. //depot/projects/uart/contrib/dev/oltr/if_oltr_isa.c#2 delete .. //depot/projects/uart/contrib/dev/oltr/if_oltr_pci.c#4 delete .. //depot/projects/uart/contrib/dev/oltr/if_oltrvar.h#3 delete .. //depot/projects/uart/contrib/dev/oltr/trlld.h#2 delete .. //depot/projects/uart/contrib/dev/oltr/trlldbm.c#2 delete .. //depot/projects/uart/contrib/dev/oltr/trlldhm.c#2 delete .. //depot/projects/uart/contrib/dev/oltr/trlldmac.c#2 delete .. //depot/projects/uart/contrib/dev/ral/LICENSE#1 branch .. //depot/projects/uart/contrib/dev/ral/Makefile#1 branch .. //depot/projects/uart/contrib/dev/ral/rt2561.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/ral/rt2561s.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/ral/rt2661.fw.uu#1 branch .. //depot/projects/uart/contrib/dev/ral/rt2661_ucode.h#1 branch .. //depot/projects/uart/contrib/dev/ral/rt2860.fw.uu#1 branch .. //depot/projects/uart/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 integrate .. //depot/projects/uart/contrib/opensolaris/OPENSOLARIS.LICENSE#2 delete .. //depot/projects/uart/contrib/opensolaris/common/acl/acl_common.c#2 delete .. //depot/projects/uart/contrib/opensolaris/common/acl/acl_common.h#2 delete .. //depot/projects/uart/contrib/opensolaris/common/atomic/amd64/atomic.S#3 delete .. //depot/projects/uart/contrib/opensolaris/common/atomic/i386/atomic.S#3 delete .. //depot/projects/uart/contrib/opensolaris/common/atomic/ia64/atomic.S#2 delete .. //depot/projects/uart/contrib/opensolaris/common/avl/avl.c#3 delete .. //depot/projects/uart/contrib/opensolaris/common/nvpair/nvpair.c#3 delete .. //depot/projects/uart/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c#2 delete .. //depot/projects/uart/contrib/opensolaris/common/zfs/zfs_namecheck.c#2 delete .. //depot/projects/uart/contrib/opensolaris/common/zfs/zfs_namecheck.h#2 delete .. //depot/projects/uart/contrib/opensolaris/common/zfs/zfs_prop.c#2 delete .. //depot/projects/uart/contrib/opensolaris/common/zfs/zfs_prop.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/Makefile.files#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/gfs.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/bplist.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/fletcher.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/gzip.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/lzjb.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/metaslab.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/refcount.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sha256.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/spa.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/space_map.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/bplist.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_zfetch.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_synctask.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/unique.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_disk.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_rlock.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/txg.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/uberblock.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/unique.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zap.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs.conf#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#5 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zil.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zio.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/os/callb.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/os/list.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/os/taskq.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/rpc/xdr.c#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/rpc/xdr.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/rpc/xdr_array.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/rpc/xdr_mem.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/asm_linkage.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/avl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/avl_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/bitmap.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/byteorder.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/callb.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/ccompile.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/compress.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/cred.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/debug.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/dkio.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/dklabel.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/errorq.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/feature_tests.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/fm/fs/zfs.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/fm/protocol.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/fm/util.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/fs/zfs.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/gfs.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/isa_defs.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/list.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/list_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/note.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/nvpair.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/nvpair_impl.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/processor.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/procset.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/sdt.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/synch.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/sysevent.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/sysmacros.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/vmem.h#3 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/sys/zmod.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/adler32.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/crc32.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/crc32.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/deflate.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/deflate.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inffast.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inffast.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inffixed.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inflate.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inflate.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inftrees.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/inftrees.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/trees.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/zconf.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/zlib.h#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/zmod.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/zmod_subr.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/zutil.c#2 delete .. //depot/projects/uart/contrib/opensolaris/uts/common/zmod/zutil.h#2 delete .. //depot/projects/uart/contrib/pf/net/pf.c#16 integrate .. //depot/projects/uart/contrib/pf/net/pf_if.c#7 integrate .. //depot/projects/uart/contrib/pf/net/pf_ioctl.c#14 integrate .. //depot/projects/uart/contrib/pf/net/pfvar.h#6 integrate .. //depot/projects/uart/contrib/rdma/core_priv.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_addr.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_cache.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_cm.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_fmr_pool.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_mad.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_marshall.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_pack.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_sa.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_smi.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_umem.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_user_cm.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_user_mad.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_user_sa.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_user_verbs.h#1 branch .. //depot/projects/uart/contrib/rdma/ib_verbs.h#1 branch .. //depot/projects/uart/contrib/rdma/iw_cm.h#1 branch .. //depot/projects/uart/contrib/rdma/krping/getopt.c#1 branch .. //depot/projects/uart/contrib/rdma/krping/getopt.h#1 branch .. //depot/projects/uart/contrib/rdma/krping/krping.c#1 branch .. //depot/projects/uart/contrib/rdma/krping/krping.h#1 branch .. //depot/projects/uart/contrib/rdma/krping/krping_dev.c#1 branch .. //depot/projects/uart/contrib/rdma/rdma_addr.c#1 branch .. //depot/projects/uart/contrib/rdma/rdma_cache.c#1 branch .. //depot/projects/uart/contrib/rdma/rdma_cm.h#1 branch .. //depot/projects/uart/contrib/rdma/rdma_cm_ib.h#1 branch .. //depot/projects/uart/contrib/rdma/rdma_cma.c#1 branch .. //depot/projects/uart/contrib/rdma/rdma_device.c#1 branch .. //depot/projects/uart/contrib/rdma/rdma_iwcm.c#1 branch .. //depot/projects/uart/contrib/rdma/rdma_user_cm.h#1 branch .. //depot/projects/uart/contrib/rdma/rdma_verbs.c#1 branch .. //depot/projects/uart/contrib/rdma/types.h#1 branch .. //depot/projects/uart/ddb/db_capture.c#2 integrate .. //depot/projects/uart/ddb/db_command.c#15 integrate .. //depot/projects/uart/ddb/db_ps.c#16 integrate .. //depot/projects/uart/ddb/ddb.h#12 integrate .. //depot/projects/uart/dev/aac/aac.c#21 integrate .. //depot/projects/uart/dev/aac/aac_cam.c#14 integrate .. //depot/projects/uart/dev/aac/aac_debug.c#8 integrate .. //depot/projects/uart/dev/aac/aac_disk.c#8 integrate .. //depot/projects/uart/dev/aac/aac_pci.c#18 integrate .. //depot/projects/uart/dev/aac/aacreg.h#8 integrate .. //depot/projects/uart/dev/aac/aacvar.h#8 integrate .. //depot/projects/uart/dev/acpi_support/acpi_asus.c#11 integrate .. //depot/projects/uart/dev/acpi_support/acpi_ibm.c#10 integrate .. //depot/projects/uart/dev/acpi_support/acpi_sony.c#7 integrate .. //depot/projects/uart/dev/acpica/Osd/OsdSynch.c#10 integrate .. //depot/projects/uart/dev/acpica/acpi.c#32 integrate .. //depot/projects/uart/dev/acpica/acpi_cpu.c#14 integrate .. //depot/projects/uart/dev/acpica/acpi_thermal.c#15 integrate .. //depot/projects/uart/dev/acpica/acpivar.h#19 integrate .. //depot/projects/uart/dev/age/if_age.c#1 branch .. //depot/projects/uart/dev/age/if_agereg.h#1 branch .. //depot/projects/uart/dev/age/if_agevar.h#1 branch .. //depot/projects/uart/dev/agp/agp_i810.c#3 integrate .. //depot/projects/uart/dev/arl/if_arl.c#7 delete .. //depot/projects/uart/dev/arl/if_arl_isa.c#6 delete .. //depot/projects/uart/dev/arl/if_arlreg.h#4 delete .. //depot/projects/uart/dev/asmc/asmc.c#2 integrate .. //depot/projects/uart/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/uart/dev/ata/ata-all.c#27 integrate .. //depot/projects/uart/dev/ata/ata-all.h#21 integrate .. //depot/projects/uart/dev/ata/ata-card.c#13 integrate .. //depot/projects/uart/dev/ata/ata-cbus.c#8 integrate .. //depot/projects/uart/dev/ata/ata-chipset.c#30 integrate .. //depot/projects/uart/dev/ata/ata-disk.c#22 integrate .. //depot/projects/uart/dev/ata/ata-disk.h#7 integrate .. //depot/projects/uart/dev/ata/ata-dma.c#17 integrate .. //depot/projects/uart/dev/ata/ata-isa.c#8 integrate .. //depot/projects/uart/dev/ata/ata-lowlevel.c#24 integrate .. //depot/projects/uart/dev/ata/ata-pci.c#17 integrate .. //depot/projects/uart/dev/ata/ata-pci.h#22 integrate .. //depot/projects/uart/dev/ata/ata-queue.c#21 integrate .. //depot/projects/uart/dev/ata/ata-raid.c#17 integrate .. //depot/projects/uart/dev/ata/ata-raid.h#11 integrate .. //depot/projects/uart/dev/ata/ata-usb.c#7 integrate .. //depot/projects/uart/dev/ata/ata_if.m#4 integrate .. //depot/projects/uart/dev/ata/atapi-cam.c#17 integrate .. //depot/projects/uart/dev/ata/atapi-cd.c#23 integrate .. //depot/projects/uart/dev/ata/atapi-cd.h#11 integrate .. //depot/projects/uart/dev/ata/atapi-fd.c#14 integrate .. //depot/projects/uart/dev/ata/atapi-fd.h#8 integrate .. //depot/projects/uart/dev/ata/atapi-tape.c#11 integrate .. //depot/projects/uart/dev/ata/atapi-tape.h#7 integrate .. //depot/projects/uart/dev/ath/ah_osdep.c#4 integrate .. //depot/projects/uart/dev/ath/ah_osdep.h#3 integrate .. //depot/projects/uart/dev/ath/ath_rate/amrr/amrr.c#8 integrate .. //depot/projects/uart/dev/ath/ath_rate/amrr/amrr.h#2 integrate .. //depot/projects/uart/dev/ath/ath_rate/onoe/onoe.c#8 integrate .. //depot/projects/uart/dev/ath/ath_rate/onoe/onoe.h#3 integrate .. //depot/projects/uart/dev/ath/ath_rate/sample/sample.c#11 integrate .. //depot/projects/uart/dev/ath/ath_rate/sample/sample.h#5 integrate .. //depot/projects/uart/dev/ath/if_ath.c#41 integrate .. //depot/projects/uart/dev/ath/if_ath_pci.c#14 integrate .. //depot/projects/uart/dev/ath/if_athioctl.h#13 integrate .. //depot/projects/uart/dev/ath/if_athrate.h#5 integrate .. //depot/projects/uart/dev/ath/if_athvar.h#26 integrate .. //depot/projects/uart/dev/atkbdc/psm.c#8 integrate .. //depot/projects/uart/dev/awi/am79c930.c#5 delete .. //depot/projects/uart/dev/awi/am79c930reg.h#3 delete .. //depot/projects/uart/dev/awi/am79c930var.h#3 delete .. //depot/projects/uart/dev/awi/awi.c#10 delete .. //depot/projects/uart/dev/awi/awireg.h#3 delete .. //depot/projects/uart/dev/awi/awivar.h#7 delete .. //depot/projects/uart/dev/awi/if_awi_pccard.c#9 delete .. //depot/projects/uart/dev/bce/if_bce.c#12 integrate .. //depot/projects/uart/dev/bce/if_bcefw.h#5 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#12 integrate .. //depot/projects/uart/dev/bfe/if_bfe.c#19 integrate .. //depot/projects/uart/dev/bge/if_bge.c#38 integrate .. //depot/projects/uart/dev/bge/if_bgereg.h#24 integrate .. //depot/projects/uart/dev/bktr/bktr_i2c.c#9 integrate .. //depot/projects/uart/dev/bm/if_bm.c#1 branch .. //depot/projects/uart/dev/bm/if_bmreg.h#1 branch .. //depot/projects/uart/dev/bm/if_bmvar.h#1 branch .. //depot/projects/uart/dev/ce/ceddk.h#2 integrate .. //depot/projects/uart/dev/ce/if_ce.c#7 integrate .. //depot/projects/uart/dev/ciss/ciss.c#25 integrate .. //depot/projects/uart/dev/cnw/if_cnw.c#10 delete .. //depot/projects/uart/dev/cnw/if_cnwioctl.h#3 delete .. //depot/projects/uart/dev/cnw/if_cnwreg.h#2 delete .. //depot/projects/uart/dev/coretemp/coretemp.c#4 integrate .. //depot/projects/uart/dev/cp/cpddk.h#3 integrate .. //depot/projects/uart/dev/cp/if_cp.c#9 integrate .. //depot/projects/uart/dev/cs/if_cs.c#10 integrate .. //depot/projects/uart/dev/cs/if_cs_isa.c#6 integrate .. //depot/projects/uart/dev/cs/if_cs_pccard.c#9 integrate .. //depot/projects/uart/dev/cs/if_csreg.h#4 integrate .. //depot/projects/uart/dev/cs/if_csvar.h#8 integrate .. //depot/projects/uart/dev/ctau/ctddk.h#3 integrate .. //depot/projects/uart/dev/ctau/if_ct.c#11 integrate .. //depot/projects/uart/dev/cx/cxddk.h#3 integrate .. //depot/projects/uart/dev/cx/if_cx.c#10 integrate .. //depot/projects/uart/dev/cxgb/common/cxgb_ael1002.c#5 integrate .. //depot/projects/uart/dev/cxgb/common/cxgb_common.h#6 integrate .. //depot/projects/uart/dev/cxgb/common/cxgb_version.h#4 integrate .. //depot/projects/uart/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/projects/uart/dev/cxgb/cxgb_config.h#5 integrate .. //depot/projects/uart/dev/cxgb/cxgb_ioctl.h#5 integrate .. //depot/projects/uart/dev/cxgb/cxgb_l2t.c#4 delete .. //depot/projects/uart/dev/cxgb/cxgb_l2t.h#4 delete .. //depot/projects/uart/dev/cxgb/cxgb_main.c#9 integrate .. //depot/projects/uart/dev/cxgb/cxgb_offload.c#4 integrate .. //depot/projects/uart/dev/cxgb/cxgb_offload.h#5 integrate .. //depot/projects/uart/dev/cxgb/cxgb_osdep.h#7 integrate .. //depot/projects/uart/dev/cxgb/cxgb_sge.c#9 integrate .. //depot/projects/uart/dev/cxgb/sys/cxgb_support.c#2 integrate .. //depot/projects/uart/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_l2t.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_l2t.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#1 branch .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#1 branch .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate .. //depot/projects/uart/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate .. //depot/projects/uart/dev/dc/if_dc.c#13 integrate .. //depot/projects/uart/dev/dc/if_dcreg.h#8 integrate .. //depot/projects/uart/dev/dcons/dcons_os.c#11 integrate .. //depot/projects/uart/dev/de/if_de.c#6 integrate .. //depot/projects/uart/dev/drm/drm_pciids.h#8 integrate .. //depot/projects/uart/dev/drm/i915_dma.c#6 integrate .. //depot/projects/uart/dev/em/e1000_80003es2lan.c#4 integrate .. //depot/projects/uart/dev/em/e1000_82540.c#4 integrate .. //depot/projects/uart/dev/em/e1000_82541.c#4 integrate .. //depot/projects/uart/dev/em/e1000_82542.c#4 integrate .. //depot/projects/uart/dev/em/e1000_82543.c#4 integrate .. //depot/projects/uart/dev/em/e1000_82571.c#4 integrate .. //depot/projects/uart/dev/em/e1000_82571.h#4 integrate .. //depot/projects/uart/dev/em/e1000_api.c#4 integrate .. //depot/projects/uart/dev/em/e1000_api.h#4 integrate .. //depot/projects/uart/dev/em/e1000_defines.h#4 integrate .. //depot/projects/uart/dev/em/e1000_hw.h#4 integrate .. //depot/projects/uart/dev/em/e1000_ich8lan.c#4 integrate .. //depot/projects/uart/dev/em/e1000_ich8lan.h#4 integrate .. //depot/projects/uart/dev/em/e1000_mac.c#4 integrate .. //depot/projects/uart/dev/em/e1000_mac.h#4 integrate .. //depot/projects/uart/dev/em/e1000_manage.c#4 integrate .. //depot/projects/uart/dev/em/e1000_nvm.c#4 integrate .. //depot/projects/uart/dev/em/e1000_nvm.h#4 integrate .. //depot/projects/uart/dev/em/e1000_osdep.c#1 branch .. //depot/projects/uart/dev/em/e1000_osdep.h#4 integrate .. //depot/projects/uart/dev/em/e1000_phy.c#4 integrate .. //depot/projects/uart/dev/em/e1000_phy.h#4 integrate .. //depot/projects/uart/dev/em/if_em.c#32 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 5 17:33:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7ABDB106567F; Sat, 5 Jul 2008 17:33: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 3FEBF1065674 for ; Sat, 5 Jul 2008 17:33:57 +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 2D97A8FC0A for ; Sat, 5 Jul 2008 17:33:57 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65HXv5u052968 for ; Sat, 5 Jul 2008 17:33:57 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65HXu9q052966 for perforce@freebsd.org; Sat, 5 Jul 2008 17:33:56 GMT (envelope-from trasz@freebsd.org) Date: Sat, 5 Jul 2008 17:33:56 GMT Message-Id: <200807051733.m65HXu9q052966@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 144726 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, 05 Jul 2008 17:33:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=144726 Change 144726 by trasz@trasz_traszkan on 2008/07/05 17:33:03 IFC Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/TODO#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/ipfw#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/mountcritlocal#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/nfsclient#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_write_disk.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/config_freebsd.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_gtar_1.tgz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tgz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tgz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_tar_empty_filename.tar.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/quotacheck/preen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/quotacheck/quotacheck.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/secure/usr.bin/bdes/bdes.ps#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/cnw.4#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.i386/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.i386/arl.4#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.i386/oltr.4#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.i386/sbni.4#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.powerpc/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.powerpc/bm.4#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/sbsh.4#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/snd_emu10kx.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/uftdi.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-doc.dot#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-ports.dot#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-src.dot#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/vmparam.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/boot2/README.serial.98#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.i386#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.pc98#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/kern.post.mk#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/COPYRIGHT#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/if_oltr.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/if_oltr_isa.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/if_oltr_pci.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/if_oltrvar.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/trlld.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/trlldbm.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/trlldhm.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/oltr/trlldmac.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_asus.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/arl/if_arl.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/arl/if_arl_isa.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/arl/if_arlreg.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bm/if_bmreg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bm/if_bmvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cnw/if_cnw.c#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cnw/if_cnwioctl.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cnw/if_cnwreg.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/lmc/if_lmc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbni/if_sbni.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbni/if_sbni_isa.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbni/if_sbni_pci.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbni/if_sbnireg.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbni/if_sbnivar.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbsh/if_sbsh.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sbsh/if_sbshreg.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_ethersubr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_rrip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/NOTES#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_alq.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_jail.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_malloc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_mib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_poll.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_xxx.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_param.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_debug.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/arl/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/cnw/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/oltr/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/sbni/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/sbsh/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_bridge.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_lagg.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_ppp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/netisr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/netisr.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/rtsock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netatalk/ddp_usrreq.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/if_ether.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_gre.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_input.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/frag6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_forward.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_input.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipx/ipx_input.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netnatm/natm_proto.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/bootp_subr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nlm/nlm_advlock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nlm/nlm_prot_impl.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/include/bus.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/pc98/busiosubr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/authunix_prot.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/include/in_cksum.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/in_cksum.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/kernel.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/socketvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/lib/msun/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/lib/msun/test-fmaxmin.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/lib/msun/test-fmaxmin.t#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/config_freebsd.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ldd/ldd.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ldd/ldd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/config_freebsd.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/read.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/write.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/arlcontrol/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/arlcontrol/arlcontrol.8#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/arlcontrol/arlcontrol.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/edquota/edquota.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/quot/quot.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/quotaon/quotaon.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/repquota/repquota.c#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.144 2008/07/01 21:54:08 danger Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.150 2008/07/04 21:24:35 jhb 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,41 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080704: sbsh(4) removed +OLD_FILES+=usr/share/man/man4/if_sbsh.4.gz +OLD_FILES+=usr/share/man/man4/sbsh.4.gz +# 20080704: sbni(4) removed +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/share/man/man4/i386/if_sbni.4.gz +OLD_FILES+=usr/share/man/man4/i386/sbni.4.gz +.endif +# 20080704: cnw(4) removed +OLD_FILES+=usr/share/man/man4/if_cnw.4.gz +OLD_FILES+=usr/share/man/man4/cnw.4.gz +# 20080704: oltr(4) removed +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/share/man/man4/i386/if_oltr.4.gz +OLD_FILES+=usr/share/man/man4/i386/oltr.4.gz +.endif +# 20080704: arl(4) removed +.if ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/sbin/arlcontrol +OLD_FILES+=usr/share/man/man4/i386/arl.4.gz +OLD_FILES+=usr/share/man/man8/arlcontrol.8.gz +.endif +# 20080703: sunlabel only for sparc64 +.if ${TARGET_ARCH} != "sparc64" +OLD_FILES+=sbin/sunlabel +OLD_FILES+=usr/share/man/man8/sunlabel.8.gz +.endif +# 20080703: bsdlabel & fdisk removed on ia64 +.if ${TARGET_ARCH} == "ia64" +OLD_FILES+=sbin/bsdlabel +OLD_FILES+=usr/share/man/man8/bsdlabel.8.gz +OLD_FILES+=usr/share/man/man8/disklabel.8.gz +OLD_FILES+=sbin/fdisk +OLD_FILES+=usr/share/man/man8/fdisk.8.gz +.endif # 20080701: wpa_supplicant.conf moved to share/examples/etc/ OLD_FILES+=usr/share/examples/wpa_supplicant/wpa_supplicant.conf OLD_DIRS+=usr/share/examples/wpa_supplicant ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#4 (text+ko) ==== @@ -4,6 +4,8 @@ - Add the ability to add ACE at a given position in ACL to setfacl(1), +- Add error checking to acl_to_text_nfs4.c. + - Find out what to do with chmod(1). Right now, "chmod 600" on file which already has mode 0600 does not call chmod(2) at all - and it should, as it might cause ACL recomputation. ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/ipfw#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ipfw,v 1.17 2008/01/27 15:15:12 mtm Exp $ +# $FreeBSD: src/etc/rc.d/ipfw,v 1.18 2008/07/05 15:27:39 mtm Exp $ # # PROVIDE: ipfw @@ -51,7 +51,9 @@ # Enable the firewall # - ${SYSCTL_W} net.inet.ip.fw.enable=1 + if ! ${SYSCTL_W} net.inet.ip.fw.enable=1 1>/dev/null 2>&1; then + warn "failed to enable firewall" + fi } ipfw_stop() ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/mountcritlocal#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.16 2008/03/06 14:39:33 mtm Exp $ +# $FreeBSD: src/etc/rc.d/mountcritlocal,v 1.17 2008/07/05 15:19:58 mtm Exp $ # # PROVIDE: mountcritlocal @@ -28,7 +28,7 @@ esac # Mount everything except nfs filesystems. - echo -n 'Mounting local file systems:' + [ -z "${rc_quiet}" ] && echo -n 'Mounting local file systems:' mount_excludes='no' for i in ${netfs_types}; do fstype=${i%:*} @@ -37,7 +37,7 @@ mount_excludes=${mount_excludes%,} mount -a -t ${mount_excludes} err=$? - echo '.' + [ -z "${rc_quiet}" ] && echo '.' case ${err} in 0) ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.d/nfsclient#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nfsclient,v 1.6 2006/12/31 10:37:18 yar Exp $ +# $FreeBSD: src/etc/rc.d/nfsclient,v 1.7 2008/07/05 15:13:21 mtm Exp $ # # PROVIDE: nfsclient @@ -22,11 +22,15 @@ # if [ -n "${nfs_access_cache}" ]; then - echo "NFS access cache time=${nfs_access_cache}" - sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null + [ -z "${rc_quiet}" ] && echo "NFS access cache time=${nfs_access_cache}" + if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then + warn "failed to set access cache timeout" + fi fi if [ -n "${nfs_bufpackets}" ]; then - sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null + if ! sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null; then + warn "failed to set vfs.nfs.bufpackets" + fi fi unmount_all ==== //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#3 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.265 2008/06/25 04:56:08 wollman Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.266 2008/07/05 08:54:58 phk Exp $ % ======================================================================= || || @@ -22738,6 +22738,10 @@ they don't even invite me. -- Dave Barry % +I asked a teacher what the opposite of a miracle was and she, without +thinking, I assume, said it was an act of God. + -- Terry Prachett (Daily Mail 21 june 2008) +% I asked the engineer who designed the communication terminal's keyboards why these were not manufactured in a central facility, in view of the small number needed [1 per month] in his factory. He explained that this @@ -52173,6 +52177,9 @@ the affair," and of course be sadly disappointed thereby. -- Sacramento Daily Union, November 29, 1861 % +Too many of his [Mozarts] works sound like interoffice memos. + -- Glenn Gould +% Too many people are thinking of security instead of opportunity. They seem more afraid of life than death. -- James F. Byrnes ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive.h#2 (text+ko) ==== @@ -22,7 +22,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/libarchive/archive.h,v 1.17 2008/06/15 05:05:53 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h,v 1.18 2008/07/05 01:50:40 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -112,13 +112,13 @@ * (ARCHIVE_API_VERSION * 1000000 + ARCHIVE_API_FEATURE * 1000) * #endif */ -#define ARCHIVE_VERSION_NUMBER 2005004 +#define ARCHIVE_VERSION_NUMBER 2005005 __LA_DECL int archive_version_number(void); /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_STRING "libarchive 2.5.4b" +#define ARCHIVE_VERSION_STRING "libarchive 2.5.5" __LA_DECL const char * archive_version_string(void); #if ARCHIVE_VERSION_NUMBER < 3000000 ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_write_disk.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.26 2008/06/21 19:05:29 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.28 2008/07/05 01:48:33 kientzle Exp $"); #ifdef HAVE_SYS_TYPES_H #include @@ -64,9 +64,6 @@ #ifdef HAVE_LINUX_FS_H #include /* for Linux file flags */ #endif -#ifdef HAVE_LINUX_EXT2_FS_H -#include /* for Linux file flags */ -#endif #ifdef HAVE_LIMITS_H #include #endif @@ -613,8 +610,8 @@ /* Restore metadata. */ /* - * Look up the "real" UID only if we're going to need it. We - * need this for TODO_SGID because chown() requires both. + * Look up the "real" UID only if we're going to need it. + * TODO: the TODO_SGID condition can be dropped here, can't it? */ if (a->todo & (TODO_OWNER | TODO_SUID | TODO_SGID)) { a->uid = a->lookup_uid(a->lookup_uid_data, @@ -622,6 +619,7 @@ archive_entry_uid(a->entry)); } /* Look up the "real" GID only if we're going to need it. */ + /* TODO: the TODO_SUID condition can be dropped here, can't it? */ if (a->todo & (TODO_OWNER | TODO_SGID | TODO_SUID)) { a->gid = a->lookup_gid(a->lookup_gid_data, archive_entry_gname(a->entry), @@ -1023,7 +1021,10 @@ a->deferred |= (a->todo & TODO_TIMES); a->todo &= ~TODO_TIMES; /* Never use an immediate chmod(). */ - if (mode != final_mode) + /* We can't avoid the chmod() entirely if EXTRACT_PERM + * because of SysV SGID inheritance. */ + if ((mode != final_mode) + || (a->flags & ARCHIVE_EXTRACT_PERM)) a->deferred |= (a->todo & TODO_MODE); a->todo &= ~TODO_MODE; } @@ -1565,8 +1566,8 @@ /* * Note: Although we can skip setting the user id if the desired user * id matches the current user, we cannot skip setting the group, as - * many systems set the gid bit based on the containing directory. So - * we have to perform a chown syscall if we want to restore the SGID + * many systems set the gid based on the containing directory. So + * we have to perform a chown syscall if we want to set the SGID * bit. (The alternative is to stat() and then possibly chown(); it's * more efficient to skip the stat() and just always chown().) Note * that a successful chown() here clears the TODO_SGID_CHECK bit, which ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/config_freebsd.h#3 (text+ko) ==== @@ -22,7 +22,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/libarchive/config_freebsd.h,v 1.10 2008/06/15 05:12:47 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/config_freebsd.h,v 1.11 2008/07/05 01:50:07 kientzle Exp $ */ /* FreeBSD 5.0 and later have ACL support. */ @@ -87,8 +87,6 @@ #define HAVE_STRING_H 1 #define HAVE_STRRCHR 1 #define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1 -#define HAVE_STRUCT_STAT_ST_RDEV 1 -#define HAVE_STRUCT_TM_TM_GMTOFF 1 #define HAVE_SYS_ACL_H 1 #define HAVE_SYS_IOCTL_H 1 #define HAVE_SYS_SELECT_H 1 ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_compat_gtar_1.tgz.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_compat_gtar_1.tgz.uu,v 1.2 2008/07/03 03:26:30 peter Exp $ begin 644 test_compat_gtar_1.tgz M'XL(`,N`6T<``^W62PZ",!`&X!YE3@`SI:6Z'W+PJB)43=4 MJO^W:1.Z:#KYATG2)!T5]7Y95/N-Z@:UF)ZO7B9"-TPD[%@4%1W=Y\'IV$P. ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_pax_filename_encoding.tar.gz.uu,v 1.2 2008/07/03 03:26:30 peter Exp $ begin 644 test_pax_filename_encoding.tar.gz M'XL(`)4;VT<``^V6STK#0!#&<\Y3[!/HS/Z-ASVHEQ1$BE[L<4T6$DP32:-$ MG\%'\Y%Z,*7$UEJLE"91NK_+P.P>OF'X^&9LZM":V):GYCYZ?YOFQ5W]\NH= ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu,v 1.2 2008/07/03 03:26:30 peter Exp $ begin 644 test_read_format_gtar_sparse_1_13.tgz M'XL(`&&";$<``^W72VX;1Q2%XNYD*Q``P\\L&.(\OYSNP/)LGE` M!SDF.D#^SP,G94&\7?VS']^[O0'H$?N"!!V@4A_GWJ8*$".\V MK=Y8U1+KB\#H)L2G;BV77=?/EZ?K^]-#E31[WQYCC?+V<5/SSRG*:BU*1,_U ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu,v 1.2 2008/07/03 03:26:30 peter Exp $ begin 644 test_read_format_gtar_sparse_1_17_posix00.tgz M'XL(`&*";$<``^W9S6[;1A2&8:UU%;Z!RO/#^5MHW:R*;'H!K,,`06L[$&7` M[=5W%#FN'(Q-Z1S5K-#W642!E&/3/M\$'\'5]GXG;,#F`_,,F5F>?QSN/ZR'3^O-=IE:K7:^O1DV ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#2 (text+ko) ==== @@ -1,3 +1,4 @@ +$FreeBSD: src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu,v 1.2 2008/07/03 03:26:30 peter Exp $ begin 644 test_read_format_gtar_sparse_1_17_posix10.tgz M'XL(`&.";$<``^W7RV[;5A1&88WU%'J!RN=^&7B:9E0$*/H`1,*!B]@))`

    @@ -9,7 +9,7 @@ atacontrol \ ${_atm} \ badsect \ - bsdlabel \ + ${_bsdlabel} \ camcontrol \ ccdconfig \ clri \ @@ -85,7 +85,7 @@ slattach \ spppcontrol \ startslip \ - sunlabel \ + ${_sunlabel} \ swapon \ sysctl \ tunefs \ @@ -113,6 +113,10 @@ _rtsol= rtsol .endif +.if ${MACHINE_ARCH} != "ia64" +_bsdlabel= bsdlabel +.endif + .if ${MACHINE_ARCH} == "i386" .if ${MACHINE} == "i386" _fdisk= fdisk @@ -131,8 +135,11 @@ .endif .if ${MACHINE_ARCH} == "ia64" -_fdisk= fdisk _mca= mca .endif +.if ${MACHINE_ARCH} == "sparc64" +_sunlabel= sunlabel +.endif + .include ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sbin/geom/Makefile,v 1.5 2008/06/05 15:24:10 marcel Exp $ +# $FreeBSD: src/sbin/geom/Makefile,v 1.6 2008/07/03 19:40:59 marcel Exp $ .if defined(RESCUE) || defined(RELEASE_CRUNCH) @@ -9,6 +9,7 @@ PROG= geom SRCS= geom.c geom_label.c geom_part.c subr.c +NO_MAN= CFLAGS+=-I${.CURDIR} -I${.CURDIR}/core -DSTATIC_GEOM_CLASSES ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/quotacheck/preen.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/quotacheck/preen.c,v 1.27 2008/01/26 12:03:26 mpp Exp $ + * $FreeBSD: src/sbin/quotacheck/preen.c,v 1.28 2008/07/02 15:51:59 des Exp $ */ #include @@ -57,17 +57,17 @@ struct partentry { TAILQ_ENTRY(partentry) p_entries; - char *p_devname; /* device name */ + char *p_devname; /* device name */ char *p_mntpt; /* mount point */ - char *p_type; /* file system type */ + char *p_type; /* file system type */ struct quotaname *p_quota; /* quota file info ptr */ }; TAILQ_HEAD(part, partentry) badh; struct diskentry { - TAILQ_ENTRY(diskentry) d_entries; - char *d_name; /* disk base name */ + TAILQ_ENTRY(diskentry) d_entries; + char *d_name; /* disk base name */ TAILQ_HEAD(prt, partentry) d_part; /* list of partitions on disk */ int d_pid; /* 0 or pid of fsck proc */ }; @@ -82,7 +82,7 @@ extern char *estrdup(const char *); int -checkfstab() +checkfstab(void) { struct fstab *fs; struct diskentry *d, *nextdisk; @@ -120,7 +120,7 @@ if (sumstatus) return (sumstatus); continue; - } + } if (name == NULL) { (void) fprintf(stderr, "BAD DISK NAME %s\n", fs->fs_spec); @@ -139,7 +139,7 @@ } while ((pid = wait(&status)) != -1) { - TAILQ_FOREACH(d, &diskh, d_entries) + TAILQ_FOREACH(d, &diskh, d_entries) if (d->d_pid == pid) break; @@ -226,7 +226,7 @@ if (len == 0) len = strlen(name); - TAILQ_FOREACH(d, &diskh, d_entries) + TAILQ_FOREACH(d, &diskh, d_entries) if (strncmp(d->d_name, name, len) == 0 && d->d_name[len] == 0) return d; ==== //depot/projects/soc2008/trasz_nfs4acl/sbin/quotacheck/quotacheck.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/quotacheck/quotacheck.c,v 1.35 2008/01/26 12:03:26 mpp Exp $"); +__FBSDID("$FreeBSD: src/sbin/quotacheck/quotacheck.c,v 1.36 2008/07/02 15:51:59 des Exp $"); /* * Fix up / report on disk quotas & usage @@ -133,9 +133,7 @@ void usage(void); int -main(argc, argv) - int argc; - char *argv[]; +main(int argc, char *argv[]) { struct fstab *fs; struct passwd *pw; @@ -216,17 +214,16 @@ } void -usage() +usage(void) { - (void)fprintf(stderr, "%s\n%s\n", + (void)fprintf(stderr, "%s\n%s\n", "usage: quotacheck [-guv] [-l maxrun] -a", " quotacheck [-guv] filesystem ..."); exit(1); } struct quotaname * -needchk(fs) - struct fstab *fs; +needchk(struct fstab *fs) { struct quotaname *qnp; char *qfnp; @@ -260,9 +257,7 @@ * Scan the specified file system to check quota(s) present on it. */ int -chkquota(fsname, mntpt, qnp) - char *fsname, *mntpt; - struct quotaname *qnp; +chkquota(char *fsname, char *mntpt, struct quotaname *qnp) { struct fileusage *fup; union dinode *dp; @@ -363,7 +358,7 @@ * to be negative to prevent generating 100GB+ * quota files. */ - if ((int)DIP(dp, di_uid) < 0 || + if ((int)DIP(dp, di_uid) < 0 || (int)DIP(dp, di_gid) < 0) { if (vflag) { if (aflag) @@ -375,7 +370,7 @@ continue; } - /* + /* * Do not account for file system snapshot files * or the actual quota data files to be consistent * with how they are handled inside the kernel. @@ -419,9 +414,7 @@ * Update a specified quota file. */ int -update(fsname, quotafile, type) - char *fsname, *quotafile; - int type; +update(char *fsname, char *quotafile, int type) { struct fileusage *fup; FILE *qfi, *qfo; @@ -475,7 +468,7 @@ lastid = (sb.st_size / sizeof(struct dqblk)) - 1; else lastid = 0; - for (id = 0, offset = 0; id <= lastid; + for (id = 0, offset = 0; id <= lastid; id++, offset += sizeof(struct dqblk)) { if (fread((char *)&dqbuf, sizeof(struct dqblk), 1, qfi) == 0) dqbuf = zerodqbuf; @@ -542,7 +535,7 @@ } fwrite((char *)&dqbuf, sizeof(struct dqblk), 1, qfo); (void) quotactl(fsname, QCMD(Q_SETUSE, type), id, - (caddr_t)&dqbuf); + (caddr_t)&dqbuf); fup->fu_curinodes = 0; fup->fu_curblocks = 0; } @@ -559,9 +552,7 @@ * Check to see if target appears in list of size cnt. */ int -oneof(target, list, cnt) - char *target, *list[]; - int cnt; +oneof(char *target, char *list[], int cnt) { int i; @@ -575,7 +566,7 @@ * Determine the group identifier for quota files. */ int -getquotagid() +getquotagid(void) { struct group *gr; @@ -588,10 +579,7 @@ * Check to see if a particular quota is to be enabled. */ int -hasquota(fs, type, qfnamep) - struct fstab *fs; - int type; - char **qfnamep; +hasquota(struct fstab *fs, int type, char **qfnamep) { char *opt; char *cp; @@ -642,9 +630,7 @@ * Lookup an id of a specific type. */ struct fileusage * -lookup(id, type) - u_long id; - int type; +lookup(u_long id, int type) { struct fileusage *fup; @@ -658,11 +644,7 @@ * Add a new file usage id if it does not already exist. */ struct fileusage * -addid(id, type, name, fsname) - u_long id; - int type; - char *name; - char *fsname; +addid(u_long id, int type, char *name, char *fsname) { struct fileusage *fup, **fhp; int len; @@ -686,7 +668,7 @@ if (vflag) { if (aflag && fsname != NULL) (void)printf("%s: ", fsname); - printf("unknown %cid: %lu\n", + printf("unknown %cid: %lu\n", type == USRQUOTA ? 'u' : 'g', id); } } @@ -773,7 +755,7 @@ * Free up data structures used to scan inodes. */ void -freeinodebuf() +freeinodebuf(void) { if (inodebuf != NULL) @@ -785,10 +767,7 @@ * Read specified disk blocks. */ void -bread(bno, buf, cnt) - ufs2_daddr_t bno; - char *buf; - long cnt; +bread(ufs2_daddr_t bno, char *buf, long cnt) { if (lseek(fi, (off_t)bno * dev_bsize, SEEK_SET) < 0 || @@ -800,12 +779,8 @@ * Display updated block and i-node counts. */ void -printchanges(fsname, type, dp, fup, id) - char *fsname; - int type; - struct dqblk *dp; - struct fileusage *fup; - u_long id; +printchanges(char *fsname, int type, struct dqblk *dp, + struct fileusage *fup, u_long id) { if (!vflag) return; @@ -833,7 +808,7 @@ (void)printf("\tinodes %lu -> %lu", (u_long)dp->dqb_curinodes, (u_long)fup->fu_curinodes); if (dp->dqb_curblocks != fup->fu_curblocks) - (void)printf("\tblocks %lu -> %lu", + (void)printf("\tblocks %lu -> %lu", (u_long)dp->dqb_curblocks, (u_long)fup->fu_curblocks); (void)printf("\n"); ==== //depot/projects/soc2008/trasz_nfs4acl/secure/usr.bin/bdes/bdes.ps#2 (text+ko) ==== @@ -9,6 +9,7 @@ % % Known Problems: % Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1 +% $FreeBSD: src/secure/usr.bin/bdes/bdes.ps,v 1.3 2008/07/03 03:36:58 peter Exp $ /FMversion (2.0) def % Set up Color vs. Black-and-White /FMPrintInColor systemdict /colorimage known def ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.419 2008/05/27 02:18:17 yongari Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.421 2008/07/04 21:24:35 jhb Exp $ MAN= aac.4 \ acpi.4 \ @@ -50,7 +50,6 @@ ciss.4 \ cm.4 \ cmx.4 \ - cnw.4 \ coda.4 \ ${_coretemp.4} \ cpufreq.4 \ @@ -293,7 +292,6 @@ safe.4 \ sbp.4 \ sbp_targ.4 \ - sbsh.4 \ scc.4 \ sched_4bsd.4 \ sched_ule.4 \ @@ -442,7 +440,6 @@ MLINKS+=bfe.4 if_bfe.4 MLINKS+=bge.4 if_bge.4 MLINKS+=bktr.4 brooktree.4 -MLINKS+=cnw.4 if_cnw.4 MLINKS+=crypto.4 cryptodev.4 MLINKS+=cue.4 if_cue.4 MLINKS+=dc.4 if_dc.4 @@ -507,7 +504,6 @@ MLINKS+=rl.4 if_rl.4 MLINKS+=rue.4 if_rue.4 MLINKS+=rum.4 if_rum.4 -MLINKS+=sbsh.4 if_sbsh.4 MLINKS+=scsi.4 CAM.4 \ scsi.4 cam.4 \ scsi.4 scbus.4 \ ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.i386/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man4/man4.i386/Makefile,v 1.185 2007/03/30 21:19:10 takawata Exp $ +# $FreeBSD: src/share/man/man4/man4.i386/Makefile,v 1.188 2008/07/04 21:06:57 jhb Exp $ MAN= acpi_aiboost.4 \ acpi_asus.4 \ @@ -12,7 +12,6 @@ amdpm.4 \ apm.4 \ ar.4 \ - arl.4 \ ce.4 \ cp.4 \ CPU_ELAN.4 \ @@ -32,7 +31,6 @@ mse.4 \ ndis.4 \ npx.4 \ - oltr.4 \ padlock.4 \ pae.4 \ pbio.4 \ @@ -41,7 +39,6 @@ pnp.4 \ pnpbios.4 \ ray.4 \ - sbni.4 \ scd.4 \ smapi.4 \ snc.4 \ @@ -55,9 +52,7 @@ MLINKS= CPU_ELAN.4 CPU_SOEKRIS.4 MLINKS+=ndis.4 if_ndis.4 -MLINKS+=oltr.4 if_oltr.4 MLINKS+=pae.4 PAE.4 -MLINKS+=sbni.4 if_sbni.4 MANSUBDIR=/i386 ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.powerpc/Makefile#2 (text+ko) ==== @@ -1,6 +1,7 @@ -# $FreeBSD: src/share/man/man4/man4.powerpc/Makefile,v 1.1 2006/08/01 22:19:00 sobomax Exp $ +# $FreeBSD: src/share/man/man4/man4.powerpc/Makefile,v 1.2 2008/07/04 14:51:42 nwhitehorn Exp $ -MAN= powermac_nvram.4 +MAN= bm.4 \ + powermac_nvram.4 MANSUBDIR=/powerpc ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/snd_emu10kx.4#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_emu10kx.4,v 1.6 2008/05/28 05:46:04 keramida Exp $ +.\" $FreeBSD: src/share/man/man4/snd_emu10kx.4,v 1.7 2008/07/03 16:48:35 danger Exp $ .\" .Dd May 28, 2008 .Dt SND_EMU10KX 4 @@ -143,7 +143,7 @@ the sound subsystem does not support such an amount of PCM channels. This device can not be opened for read, thus confusing many applications. .Pp -Within a multichannel stream , thefirst half (0-15 or 0-31) is a copy of all DSP >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jul 5 17:40:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B868F1065670; Sat, 5 Jul 2008 17:40: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 7DCCA1065686 for ; Sat, 5 Jul 2008 17:40:03 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6D77F8FC0A for ; Sat, 5 Jul 2008 17:40:03 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65He3gB053475 for ; Sat, 5 Jul 2008 17:40:03 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65He3vU053473 for perforce@freebsd.org; Sat, 5 Jul 2008 17:40:03 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 17:40:03 GMT Message-Id: <200807051740.m65He3vU053473@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144727 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, 05 Jul 2008 17:40:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144727 Change 144727 by marcel@marcel_xcllnt on 2008/07/05 17:39:11 Add a class for the Intel I8251 as found on PC98. It's an USART, capable of bisync serial communications. Affected files ... .. //depot/projects/uart/dev/scc/scc_bus.h#13 edit Differences ... ==== //depot/projects/uart/dev/scc/scc_bus.h#13 (text) ==== @@ -40,10 +40,11 @@ #define SCC_IVAR_HWMTX 5 /* Hardware class -- the SCC type. */ -#define SCC_CLASS_HD64570 1 +#define SCC_CLASS_SAB82532 0 +#define SCC_CLASS_Z8530 1 #define SCC_CLASS_QUICC 2 -#define SCC_CLASS_SAB82532 3 -#define SCC_CLASS_Z8530 4 +#define SCC_CLASS_HD64570 3 +#define SCC_CLASS_I8251 4 /* The possible modes supported by the SCC. */ #define SCC_MODE_ASYNC 0x01 From owner-p4-projects@FreeBSD.ORG Sat Jul 5 17:50:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23D691065671; Sat, 5 Jul 2008 17:50: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 DC2FB106564A for ; Sat, 5 Jul 2008 17:50:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CB38C8FC19 for ; Sat, 5 Jul 2008 17:50:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65HoDLn054281 for ; Sat, 5 Jul 2008 17:50:13 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65HoDv6054271 for perforce@freebsd.org; Sat, 5 Jul 2008 17:50:13 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 17:50:13 GMT Message-Id: <200807051750.m65HoDv6054271@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144728 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, 05 Jul 2008 17:50:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=144728 Change 144728 by marcel@marcel_xcllnt on 2008/07/05 17:49:53 Add basic PC98 (infrastructure) support. Submitted by: nyan Affected files ... .. //depot/projects/uart/conf/files#88 edit .. //depot/projects/uart/conf/files.amd64#34 edit .. //depot/projects/uart/conf/files.i386#40 edit .. //depot/projects/uart/conf/files.pc98#33 edit .. //depot/projects/uart/conf/files.sparc64#22 edit .. //depot/projects/uart/dev/uart/uart_bus_cbus.c#1 add .. //depot/projects/uart/dev/uart/uart_cpu_pc98.c#16 edit Differences ... ==== //depot/projects/uart/conf/files#88 (text+ko) ==== @@ -1252,9 +1252,7 @@ dev/tx/if_tx.c optional tx dev/txp/if_txp.c optional txp dev/uart/uart_bus_acpi.c optional uart acpi -#dev/uart/uart_bus_cbus.c optional uart cbus dev/uart/uart_bus_ebus.c optional uart ebus -dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_bus_pccard.c optional uart pccard dev/uart/uart_bus_pci.c optional uart pci dev/uart/uart_bus_puc.c optional uart puc ==== //depot/projects/uart/conf/files.amd64#34 (text+ko) ==== @@ -205,6 +205,7 @@ dev/syscons/scterm-sc.c optional sc dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc +dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_cpu_amd64.c optional uart dev/wpi/if_wpi.c optional wpi isa/atrtc.c standard ==== //depot/projects/uart/conf/files.i386#40 (text+ko) ==== @@ -224,6 +224,7 @@ dev/syscons/scvesactl.c optional sc vga vesa dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc +dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_cpu_i386.c optional uart dev/acpica/acpi_if.m standard dev/wpi/if_wpi.c optional wpi ==== //depot/projects/uart/conf/files.pc98#33 (text+ko) ==== @@ -130,6 +130,7 @@ dev/snc/if_snc_pccard.c optional snc pccard dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm +dev/uart/uart_bus_cbus.c optional uart isa dev/uart/uart_cpu_pc98.c optional uart i386/bios/apm.c optional apm #i386/i386/apic_vector.s optional apic ==== //depot/projects/uart/conf/files.sparc64#22 (text+ko) ==== @@ -65,6 +65,7 @@ dev/syscons/scgfbrndr.c optional sc dev/syscons/scterm-sc.c optional sc dev/syscons/scvtb.c optional sc +dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc kern/syscalls.c optional ktr ==== //depot/projects/uart/dev/uart/uart_cpu_pc98.c#16 (text+ko) ==== @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2008 TAKAHASHI Yoshihiro * Copyright (c) 2003 M. Warner Losh, Marcel Moolenaar * All rights reserved. * @@ -36,6 +37,17 @@ #include #include +static struct { + bus_addr_t iobase; + struct uart_class *class; +} uart_cbus_devs[] = { +#ifdef notyet + { 0x30, &uart_i8251_class }, +#endif + { 0x238, &uart_ns8250_class }, + { 0, NULL } +}; + bus_space_tag_t uart_bus_space_io = I386_BUS_SPACE_IO; bus_space_tag_t uart_bus_space_mem = I386_BUS_SPACE_MEM; @@ -43,16 +55,19 @@ uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) { - return (0); /* XXX */ + if (i386_memio_compare(b1->bst, b1->bsh, b2->bst, b2->bsh) == 0) + return (1); + + return (0); } int uart_cpu_getdev(int devtype, struct uart_devinfo *di) { struct uart_class *class; - unsigned int i, ivar, flags; + unsigned int i, j, ivar; - class = &uart_ns8250_class; + class = &uart_ns8250_class; /* currently ns8250 only */ if (class == NULL) return (ENXIO); @@ -63,16 +78,14 @@ /* * There is a serial port on all pc98 hardware. It is 8251 or * an enhance version of that. Some pc98 have the second serial - * port which is 16550A compatible. However, for the sio driver, - * flags selected which type of uart was in the sytem. We use - * something similar to sort things out. + * port which is 16550A compatible. */ - for (i = 0; i < 1; i++) { - if (resource_int_value("uart", i, "flags", &flags)) + for (i = 0; i < 2; i++) { + if (resource_int_value("uart", i, "flags", &ivar)) continue; - if (devtype == UART_DEV_CONSOLE && !UART_FLAGS_CONSOLE(flags)) + if (devtype == UART_DEV_CONSOLE && !UART_FLAGS_CONSOLE(ivar)) continue; - if (devtype == UART_DEV_DBGPORT && !UART_FLAGS_DBGPORT(flags)) + if (devtype == UART_DEV_DBGPORT && !UART_FLAGS_DBGPORT(ivar)) continue; /* * We have a possible device. Make sure it's enabled and @@ -85,6 +98,16 @@ ivar == 0) continue; + class = NULL; + for (j = 0; uart_cbus_devs[j].iobase; j++) { + if (ivar == uart_cbus_devs[j].iobase) { + class = uart_cbus_devs[j].class; + break; + } + } + if (class == NULL) + continue; + di->ops = uart_getops(class); di->bas.chan = 0; di->bas.bst = uart_bus_space_io; From owner-p4-projects@FreeBSD.ORG Sat Jul 5 18:05:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8A9411065672; Sat, 5 Jul 2008 18:05: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 4E108106568C for ; Sat, 5 Jul 2008 18:05:29 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3CF898FC1A for ; Sat, 5 Jul 2008 18:05:29 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65I5TcJ056556 for ; Sat, 5 Jul 2008 18:05:29 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65I5T4Y056554 for perforce@freebsd.org; Sat, 5 Jul 2008 18:05:29 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 18:05:29 GMT Message-Id: <200807051805.m65I5T4Y056554@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144729 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, 05 Jul 2008 18:05:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=144729 Change 144729 by marcel@marcel_xcllnt on 2008/07/05 18:05:19 Declare uart_i8251_class. Since it's weak, we don't actually have to have a definition for it. Eliminate #ifdef notyet around references to uart_i8251_class. Affected files ... .. //depot/projects/uart/dev/uart/uart.h#15 edit .. //depot/projects/uart/dev/uart/uart_bus_cbus.c#2 edit .. //depot/projects/uart/dev/uart/uart_cpu_pc98.c#17 edit Differences ... ==== //depot/projects/uart/dev/uart/uart.h#15 (text+ko) ==== @@ -64,6 +64,7 @@ */ struct uart_class; +extern struct uart_class uart_i8251_class __attribute__((weak)); extern struct uart_class uart_ns8250_class __attribute__((weak)); extern struct uart_class uart_quicc_class __attribute__((weak)); extern struct uart_class uart_sab82532_class __attribute__((weak)); ==== //depot/projects/uart/dev/uart/uart_bus_cbus.c#2 (text+ko) ==== @@ -62,9 +62,7 @@ bus_addr_t iobase; struct uart_class *class; } uart_cbus_devs[] = { -#ifdef notyet { 0x30, &uart_i8251_class }, -#endif { 0x238, &uart_ns8250_class }, { 0, NULL } }; @@ -103,9 +101,7 @@ logical_id = isa_get_logicalid(dev); switch (logical_id) { case 0x0100e4a5: /* RSA-98III */ -#ifdef notyet sc->sc_class = &uart_rsa_class; -#endif break; case 0x4180a3b8: /* PC-9821CB-B04 */ case 0x0181a3b8: /* PC-9821CB2-B04 */ @@ -134,6 +130,9 @@ } } + if (sc->sc_class == NULL) + return (ENXIO); + return (uart_bus_probe(dev, 0, 0, 0, 0)); } ==== //depot/projects/uart/dev/uart/uart_cpu_pc98.c#17 (text+ko) ==== @@ -41,9 +41,7 @@ bus_addr_t iobase; struct uart_class *class; } uart_cbus_devs[] = { -#ifdef notyet { 0x30, &uart_i8251_class }, -#endif { 0x238, &uart_ns8250_class }, { 0, NULL } }; @@ -67,9 +65,7 @@ struct uart_class *class; unsigned int i, j, ivar; - class = &uart_ns8250_class; /* currently ns8250 only */ - if (class == NULL) - return (ENXIO); + class = &uart_i8251_class; /* Check the environment. */ if (uart_getenv(devtype, di, class) == 0) From owner-p4-projects@FreeBSD.ORG Sat Jul 5 19:33:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2C101065677; Sat, 5 Jul 2008 19:33: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 B610C1065673 for ; Sat, 5 Jul 2008 19:33:02 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A31038FC13 for ; Sat, 5 Jul 2008 19:33:02 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65JX2iJ065292 for ; Sat, 5 Jul 2008 19:33:02 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65JX2Le065290 for perforce@freebsd.org; Sat, 5 Jul 2008 19:33:02 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 19:33:02 GMT Message-Id: <200807051933.m65JX2Le065290@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144738 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, 05 Jul 2008 19:33:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=144738 Change 144738 by marcel@marcel_xcllnt on 2008/07/05 19:32:37 Unify PC98 cbus attachment with standard isa bus attachment. On PC98 the cbus is put under option isa and is for the most part similar to isa. There's no need to duplicate the whole isa bus attachment into a new files. Affected files ... .. //depot/projects/uart/conf/files#89 edit .. //depot/projects/uart/conf/files.amd64#35 edit .. //depot/projects/uart/conf/files.i386#41 edit .. //depot/projects/uart/conf/files.pc98#34 edit .. //depot/projects/uart/conf/files.sparc64#23 edit .. //depot/projects/uart/dev/uart/uart_bus_cbus.c#3 delete .. //depot/projects/uart/dev/uart/uart_bus_isa.c#9 edit .. //depot/projects/uart/dev/uart/uart_cpu_pc98.c#18 edit Differences ... ==== //depot/projects/uart/conf/files#89 (text+ko) ==== @@ -1253,6 +1253,7 @@ dev/txp/if_txp.c optional txp dev/uart/uart_bus_acpi.c optional uart acpi dev/uart/uart_bus_ebus.c optional uart ebus +dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_bus_pccard.c optional uart pccard dev/uart/uart_bus_pci.c optional uart pci dev/uart/uart_bus_puc.c optional uart puc ==== //depot/projects/uart/conf/files.amd64#35 (text+ko) ==== @@ -205,7 +205,6 @@ dev/syscons/scterm-sc.c optional sc dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc -dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_cpu_amd64.c optional uart dev/wpi/if_wpi.c optional wpi isa/atrtc.c standard ==== //depot/projects/uart/conf/files.i386#41 (text+ko) ==== @@ -224,7 +224,6 @@ dev/syscons/scvesactl.c optional sc vga vesa dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc -dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_cpu_i386.c optional uart dev/acpica/acpi_if.m standard dev/wpi/if_wpi.c optional wpi ==== //depot/projects/uart/conf/files.pc98#34 (text+ko) ==== @@ -130,7 +130,6 @@ dev/snc/if_snc_pccard.c optional snc pccard dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm -dev/uart/uart_bus_cbus.c optional uart isa dev/uart/uart_cpu_pc98.c optional uart i386/bios/apm.c optional apm #i386/i386/apic_vector.s optional apic ==== //depot/projects/uart/conf/files.sparc64#23 (text+ko) ==== @@ -65,7 +65,6 @@ dev/syscons/scgfbrndr.c optional sc dev/syscons/scterm-sc.c optional sc dev/syscons/scvtb.c optional sc -dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc kern/syscalls.c optional ktr ==== //depot/projects/uart/dev/uart/uart_bus_isa.c#9 (text+ko) ==== @@ -1,5 +1,7 @@ /*- - * Copyright (c) 2001 M. Warner Losh. All rights reserved. + * Copyright (c) 2001 M. Warner Losh + * Copyright (c) 2008 TAKAHASHI Yoshihiro + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -63,6 +65,7 @@ {0x1005d041, "Generic IRDA-compatible device"}, /* PNP0510 */ {0x1105d041, "Generic IRDA-compatible device"}, /* PNP0511 */ /* Devices that do not have a compatid */ +#ifndef PC98 {0x12206804, NULL}, /* ACH2012 - 5634BTS 56K Video Ready Modem */ {0x7602a904, NULL}, /* AEI0276 - 56K v.90 Fax Modem (LKT) */ {0x00007905, NULL}, /* AKY0000 - 56K Plug&Play Modem */ @@ -141,8 +144,30 @@ {0x0300695c, NULL}, /* WCI0003 - Fax/Voice/Modem/Speakphone/Asvd */ {0x01a0896a, NULL}, /* ZTIA001 - Zoom Internal V90 Faxmodem */ {0x61f7896a, NULL}, /* ZTIF761 - Zoom ComStar 33.6 */ +#else + {0x4180a3b8, NULL}, /* NEC8041 - PC-9821CB-B04 */ + {0x0181a3b8, NULL}, /* NEC8101 - PC-9821CB2-B04 */ + {0x5181a3b8, NULL}, /* NEC8151 - Internal FAX/Modem for Cx3, Cb3 */ + {0x9181a3b8, NULL}, /* NEC8191 - PC-9801-120 */ + {0xe181a3b8, NULL}, /* NEC81E1 - Internal FAX/Modem */ + {0x1182a3b8, NULL}, /* NEC8211 - PC-9801-123 */ + {0x3182a3b8, NULL}, /* NEC8231 - Internal FAX/Modem (Voice) */ + {0x4182a3b8, NULL}, /* NEC8241 - PC-9821NR-B05 */ + {0x5182a3b8, NULL}, /* NEC8251 - Internel FAX/Modem */ + {0x7182a3b8, NULL}, /* NEC8271 - PC-9801-125 */ + {0x11802fbf, NULL}, /* OYO8011 - Internal FAX/Modem (Ring) */ +#endif + {0} +}; + +#ifdef PC98 +extern struct uart_class *uart_pc98_getdev(u_long); + +static struct isa_pnp_id isa_i8251_ids[] = { + {0x0100e4a5, "RSA-98III"}, {0} }; +#endif static int uart_isa_probe(device_t dev) @@ -159,8 +184,19 @@ return (uart_bus_probe(dev, 0, 0, 0, 0)); } - /* Add checks for non-ns8250 IDs here. */ +#ifndef PC98 return (ENXIO); +#else + /* Probe PnP _and_ non-PnP i8251 here. */ + if (ISA_PNP_PROBE(parent, dev, isa_i8251_ids) != ENXIO) { + sc->sc_class = &uart_i8251_class; + return (uart_bus_probe(dev, 0, 0, 0, 0)); + } + + sc->sc_class = uart_pc98_getdev(bus_get_resource_start(dev, + SYS_RES_IOPORT, 0)); + return (uart_bus_probe(dev, 0, 0, 0, 0)); +#endif } DRIVER_MODULE(uart, isa, uart_isa_driver, uart_devclass, 0, 0); ==== //depot/projects/uart/dev/uart/uart_cpu_pc98.c#18 (text+ko) ==== @@ -37,17 +37,29 @@ #include #include +bus_space_tag_t uart_bus_space_io = I386_BUS_SPACE_IO; +bus_space_tag_t uart_bus_space_mem = I386_BUS_SPACE_MEM; + static struct { - bus_addr_t iobase; + u_long iobase; struct uart_class *class; -} uart_cbus_devs[] = { +} uart_pc98_devs[] = { { 0x30, &uart_i8251_class }, { 0x238, &uart_ns8250_class }, { 0, NULL } }; -bus_space_tag_t uart_bus_space_io = I386_BUS_SPACE_IO; -bus_space_tag_t uart_bus_space_mem = I386_BUS_SPACE_MEM; +struct uart_class * +uart_pc98_getdev(u_long port) +{ + int i; + + for (i = 0; uart_pc98_devs[i].iobase; i++) { + if (port == uart_pc98_devs[i].iobase) + return (uart_pc98_devs[i].class); + } + return (NULL); +} int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) @@ -63,7 +75,7 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di) { struct uart_class *class; - unsigned int i, j, ivar; + unsigned int i, ivar; class = &uart_i8251_class; @@ -94,13 +106,7 @@ ivar == 0) continue; - class = NULL; - for (j = 0; uart_cbus_devs[j].iobase; j++) { - if (ivar == uart_cbus_devs[j].iobase) { - class = uart_cbus_devs[j].class; - break; - } - } + class = uart_pc98_isa_dev(ivar); if (class == NULL) continue; From owner-p4-projects@FreeBSD.ORG Sat Jul 5 19:40:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1BE161065673; Sat, 5 Jul 2008 19:40: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 D4AF71065671 for ; Sat, 5 Jul 2008 19:40:14 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A84668FC0A for ; Sat, 5 Jul 2008 19:40:14 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65JeEa5066070 for ; Sat, 5 Jul 2008 19:40:14 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65JeEeW066068 for perforce@freebsd.org; Sat, 5 Jul 2008 19:40:14 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 19:40:14 GMT Message-Id: <200807051940.m65JeEeW066068@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144740 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, 05 Jul 2008 19:40:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=144740 Change 144740 by marcel@marcel_xcllnt on 2008/07/05 19:39:13 Fix typo. Affected files ... .. //depot/projects/uart/dev/uart/uart_cpu_pc98.c#19 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_cpu_pc98.c#19 (text+ko) ==== @@ -106,7 +106,7 @@ ivar == 0) continue; - class = uart_pc98_isa_dev(ivar); + class = uart_pc98_getdev(ivar); if (class == NULL) continue; From owner-p4-projects@FreeBSD.ORG Sat Jul 5 19:43:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F36A21065674; Sat, 5 Jul 2008 19: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 B7DCF1065671 for ; Sat, 5 Jul 2008 19:43:17 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A55F18FC18 for ; Sat, 5 Jul 2008 19:43:17 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65JhH3o066373 for ; Sat, 5 Jul 2008 19:43:17 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65JhHZ6066371 for perforce@freebsd.org; Sat, 5 Jul 2008 19:43:17 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 19:43:17 GMT Message-Id: <200807051943.m65JhHZ6066371@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144741 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, 05 Jul 2008 19:43:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=144741 Change 144741 by marcel@marcel_xcllnt on 2008/07/05 19:43:13 Unify even more... Affected files ... .. //depot/projects/uart/dev/uart/uart_bus_isa.c#10 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_bus_isa.c#10 (text+ko) ==== @@ -1,6 +1,7 @@ /*- + * Copyright (c) 2008 TAKAHASHI Yoshihiro + * Copyright (c) 2008 Marcel Moolenaar * Copyright (c) 2001 M. Warner Losh - * Copyright (c) 2008 TAKAHASHI Yoshihiro * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -65,7 +66,6 @@ {0x1005d041, "Generic IRDA-compatible device"}, /* PNP0510 */ {0x1105d041, "Generic IRDA-compatible device"}, /* PNP0511 */ /* Devices that do not have a compatid */ -#ifndef PC98 {0x12206804, NULL}, /* ACH2012 - 5634BTS 56K Video Ready Modem */ {0x7602a904, NULL}, /* AEI0276 - 56K v.90 Fax Modem (LKT) */ {0x00007905, NULL}, /* AKY0000 - 56K Plug&Play Modem */ @@ -144,7 +144,7 @@ {0x0300695c, NULL}, /* WCI0003 - Fax/Voice/Modem/Speakphone/Asvd */ {0x01a0896a, NULL}, /* ZTIA001 - Zoom Internal V90 Faxmodem */ {0x61f7896a, NULL}, /* ZTIF761 - Zoom ComStar 33.6 */ -#else + /* The following are found in PC98 hardware. */ {0x4180a3b8, NULL}, /* NEC8041 - PC-9821CB-B04 */ {0x0181a3b8, NULL}, /* NEC8101 - PC-9821CB2-B04 */ {0x5181a3b8, NULL}, /* NEC8151 - Internal FAX/Modem for Cx3, Cb3 */ @@ -156,17 +156,16 @@ {0x5182a3b8, NULL}, /* NEC8251 - Internel FAX/Modem */ {0x7182a3b8, NULL}, /* NEC8271 - PC-9801-125 */ {0x11802fbf, NULL}, /* OYO8011 - Internal FAX/Modem (Ring) */ -#endif {0} }; -#ifdef PC98 -extern struct uart_class *uart_pc98_getdev(u_long); - static struct isa_pnp_id isa_i8251_ids[] = { {0x0100e4a5, "RSA-98III"}, {0} }; + +#ifdef PC98 +extern struct uart_class *uart_pc98_getdev(u_long); #endif static int @@ -184,18 +183,18 @@ return (uart_bus_probe(dev, 0, 0, 0, 0)); } -#ifndef PC98 - return (ENXIO); -#else /* Probe PnP _and_ non-PnP i8251 here. */ if (ISA_PNP_PROBE(parent, dev, isa_i8251_ids) != ENXIO) { sc->sc_class = &uart_i8251_class; return (uart_bus_probe(dev, 0, 0, 0, 0)); } +#ifdef PC98 sc->sc_class = uart_pc98_getdev(bus_get_resource_start(dev, SYS_RES_IOPORT, 0)); return (uart_bus_probe(dev, 0, 0, 0, 0)); +#else + return (ENXIO); #endif } From owner-p4-projects@FreeBSD.ORG Sat Jul 5 20:20:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9218B10656D5; Sat, 5 Jul 2008 20:20: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 53FED10656BE for ; Sat, 5 Jul 2008 20:20:56 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 412FE8FC27 for ; Sat, 5 Jul 2008 20:20:56 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65KKt4V070759 for ; Sat, 5 Jul 2008 20:20:55 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65KKtrg070757 for perforce@freebsd.org; Sat, 5 Jul 2008 20:20:55 GMT (envelope-from marcel@freebsd.org) Date: Sat, 5 Jul 2008 20:20:55 GMT Message-Id: <200807052020.m65KKtrg070757@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 144744 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, 05 Jul 2008 20:20:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=144744 Change 144744 by marcel@marcel_xcllnt on 2008/07/05 20:20:54 Make this compile... Affected files ... .. //depot/projects/uart/dev/uart/uart.h#16 edit .. //depot/projects/uart/dev/uart/uart_bus_isa.c#11 edit Differences ... ==== //depot/projects/uart/dev/uart/uart.h#16 (text+ko) ==== @@ -70,6 +70,10 @@ extern struct uart_class uart_sab82532_class __attribute__((weak)); extern struct uart_class uart_z8530_class __attribute__((weak)); +#ifdef PC98 +struct uart_class *uart_pc98_getdev(u_long port); +#endif + /* * Device flags. */ ==== //depot/projects/uart/dev/uart/uart_bus_isa.c#11 (text+ko) ==== @@ -164,10 +164,6 @@ {0} }; -#ifdef PC98 -extern struct uart_class *uart_pc98_getdev(u_long); -#endif - static int uart_isa_probe(device_t dev) { From owner-p4-projects@FreeBSD.ORG Sat Jul 5 20:52:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C2F31065670; Sat, 5 Jul 2008 20:52: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 10496106567F for ; Sat, 5 Jul 2008 20:52:36 +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 F07C08FC20 for ; Sat, 5 Jul 2008 20:52:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m65KqZ82082533 for ; Sat, 5 Jul 2008 20:52:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m65KqZNt082531 for perforce@freebsd.org; Sat, 5 Jul 2008 20:52:35 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 5 Jul 2008 20:52:35 GMT Message-Id: <200807052052.m65KqZNt082531@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 144747 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, 05 Jul 2008 20:52:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=144747 Change 144747 by hselasky@hselasky_laptop001 on 2008/07/05 20:52:05 Improve autoinstall test and factor out re-enumerate code. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#8 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#7 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_generic.c#8 (text+ko) ==== @@ -880,11 +880,8 @@ static int ugen_re_enumerate(struct usb2_fifo *f) { - struct usb2_device *parent_hub; struct usb2_device *udev = f->udev; int error; - uint8_t old_addr; - uint8_t buf[8]; if (f->fifo_index >= 2) { /* control endpoint only */ @@ -893,46 +890,14 @@ if (suser(curthread)) { return (EPERM); } - old_addr = udev->address; - parent_hub = udev->parent_hub; - if (parent_hub == NULL) { - error = EINVAL; - goto done; - } - error = usb2_req_reset_port(parent_hub, &Giant, udev->port_no); - if (error) { - error = ENXIO; - goto done; - } - /* - * After that the port has been reset our device should be at - * address zero: - */ - udev->address = USB_START_ADDR; + mtx_lock(f->priv_mtx); + error = usb2_req_re_enumerate(udev, f->priv_mtx); + mtx_unlock(f->priv_mtx); - /* - * It should be allowed to read some descriptors from address - * zero: - */ - error = usb2_req_get_desc(udev, &Giant, buf, - 8, 8, 0, UDESC_DEVICE, 0, 0); if (error) { - error = ENXIO; - goto done; + return (ENXIO); } - /* - * Restore device address: - */ - error = usb2_req_set_address(udev, &Giant, old_addr); - if (error) { - error = ENXIO; - goto done; - } -done: - /* restore address */ - udev->address = old_addr; - - return (error); + return (0); } static int ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.c#2 (text+ko) ==== @@ -197,6 +197,23 @@ static void bbb_done(struct bbb_transfer *sc, uint8_t error) { + struct usb2_xfer *xfer; + + xfer = sc->xfer[sc->state]; + + /* verify the error code */ + + if (error) { + switch (USB_GET_STATE(xfer)) { + case USB_ST_SETUP: + case USB_ST_TRANSFERRED: + error = 1; + break; + default: + error = 2; + break; + } + } sc->error = error; sc->state = ST_COMMAND; sc->status_try = 1; @@ -448,53 +465,6 @@ return (sc->error); } -usb2_error_t -usb2_reset_device(struct usb2_device *udev, struct mtx *mtx) -{ - struct usb2_device *parent_hub; - usb2_error_t err; - uint8_t old_addr; - - old_addr = udev->address; - parent_hub = udev->parent_hub; - if (parent_hub == NULL) { - err = USB_ERR_INVAL; - goto done; - } - err = usb2_req_reset_port(parent_hub, mtx, udev->port_no); - if (err) { - goto done; - } - /* - * After that the port has been reset our device should be at - * address zero: - */ - udev->address = USB_START_ADDR; - - /* - * Restore device address: - */ - err = usb2_req_set_address(udev, mtx, old_addr); - if (err) { - /* XXX ignore any errors! */ - err = 0; - } - /* allow device time to set new address */ - usb2_pause_mtx(mtx, USB_SET_ADDRESS_SETTLE); - -done: - /* restore address */ - udev->address = old_addr; - - if (err == 0) { - /* restore configuration */ - err = usb2_req_set_config(udev, mtx, udev->curr_config_no); - /* wait a little bit, just in case */ - usb2_pause_mtx(mtx, 10); - } - return (err); -} - /*------------------------------------------------------------------------* * usb2_test_autoinstall * @@ -586,9 +556,6 @@ goto done; done: - if (mtx_owned(&(sc->mtx))) { - usb2_reset_device(udev, &(sc->mtx)); - } mtx_unlock(&(sc->mtx)); usb2_transfer_unsetup(sc->xfer, ST_MAX); mtx_destroy(&(sc->mtx)); ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_msctest.h#2 (text+ko) ==== @@ -26,7 +26,6 @@ #ifndef _USB2_MSCTEST_H_ #define _USB2_MSCTEST_H_ -usb2_error_t usb2_reset_device(struct usb2_device *udev, struct mtx *mtx); usb2_error_t usb2_test_autoinstall(struct usb2_device *udev, uint8_t iface_index); #endif /* _USB2_MSCTEST_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.c#7 (text+ko) ==== @@ -1264,3 +1264,68 @@ USETW(req.wLength, 1); return (usb2_do_request(udev, mtx, &req, pconf)); } + +/*------------------------------------------------------------------------* + * usb2_req_re_enumerate + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb2_error_t +usb2_req_re_enumerate(struct usb2_device *udev, struct mtx *mtx) +{ + struct usb2_device_descriptor ddesc; + struct usb2_device *parent_hub; + usb2_error_t err; + uint8_t old_addr; + + old_addr = udev->address; + parent_hub = udev->parent_hub; + if (parent_hub == NULL) { + err = USB_ERR_INVAL; + goto done; + } + err = usb2_req_reset_port(parent_hub, mtx, udev->port_no); + if (err) { + DPRINTF(-1, "addr=%d, port reset failed\n", old_addr); + goto done; + } + /* + * After that the port has been reset our device should be at + * address zero: + */ + udev->address = USB_START_ADDR; + + /* + * Restore device address: + */ + err = usb2_req_set_address(udev, mtx, old_addr); + if (err) { + /* XXX ignore any errors! */ + DPRINTF(-1, "addr=%d, set address failed\n", + old_addr); + err = 0; + } + /* allow device time to set new address */ + usb2_pause_mtx(mtx, USB_SET_ADDRESS_SETTLE); + + /* get the device descriptor */ + err = usb2_req_get_device_desc(udev, mtx, &ddesc); + if (err) { + DPRINTF(-1, "addr=%d, getting device " + "descriptor failed!\n", old_addr); + goto done; + } +done: + /* restore address */ + udev->address = old_addr; + + if (err == 0) { + /* restore configuration */ + err = usb2_req_set_config(udev, mtx, udev->curr_config_no); + /* wait a little bit, just in case */ + usb2_pause_mtx(mtx, 10); + } + return (err); +} ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_request.h#4 (text+ko) ==== @@ -52,6 +52,7 @@ usb2_error_t usb2_req_set_port_feature(struct usb2_device *udev, struct mtx *mtx, uint8_t port, uint16_t sel); usb2_error_t usb2_req_set_protocol(struct usb2_device *udev, struct mtx *mtx, uint8_t iface_index, uint16_t report); usb2_error_t usb2_req_set_report(struct usb2_device *udev, struct mtx *mtx, void *data, uint16_t len, uint8_t iface_index, uint8_t type, uint8_t id); +usb2_error_t usb2_req_re_enumerate(struct usb2_device *udev, struct mtx *mtx); #define usb2_do_request(u,m,r,d) \ usb2_do_request_flags(u,m,r,d,0,NULL,USB_DEFAULT_TIMEOUT)