svn commit: r240256 - head/usr.bin/sort
Author: joel (doc committer) Date: Sun Sep 9 06:54:42 2012 New Revision: 240256 URL: http://svn.freebsd.org/changeset/base/240256 Log: Remove trailing whitespace. Modified: head/usr.bin/sort/sort.1.in Modified: head/usr.bin/sort/sort.1.in == --- head/usr.bin/sort/sort.1.in Sun Sep 9 05:06:16 2012(r240255) +++ head/usr.bin/sort/sort.1.in Sun Sep 9 06:54:42 2012(r240256) @@ -313,8 +313,8 @@ without arguments. When called with argument .Fl d it must decompress standard input to standard output. -If PROGRAM fails, -.Nm +If PROGRAM fails, +.Nm must exit with error. An example of PROGRAM that can be used here is bzip2. .It Fl Fl random-source Ns = Ns Ar filename ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240257 - head/usr.bin/xlint/lint1
Author: joel (doc committer) Date: Sun Sep 9 07:23:15 2012 New Revision: 240257 URL: http://svn.freebsd.org/changeset/base/240257 Log: Remove clause 3 and 4 from the NetBSD Foundation copyright header, missed in r203971. Modified: head/usr.bin/xlint/lint1/makeman Modified: head/usr.bin/xlint/lint1/makeman == --- head/usr.bin/xlint/lint1/makemanSun Sep 9 06:54:42 2012 (r240256) +++ head/usr.bin/xlint/lint1/makemanSun Sep 9 07:23:15 2012 (r240257) @@ -46,13 +46,6 @@ cat \__EOF .\ 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 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240263 - head/sys/netinet
Author: tuexen Date: Sun Sep 9 08:14:04 2012 New Revision: 240263 URL: http://svn.freebsd.org/changeset/base/240263 Log: Whitespace changes. MFC after: 10 days Modified: head/sys/netinet/sctp_pcb.c Modified: head/sys/netinet/sctp_pcb.c == --- head/sys/netinet/sctp_pcb.c Sun Sep 9 07:52:13 2012(r240262) +++ head/sys/netinet/sctp_pcb.c Sun Sep 9 08:14:04 2012(r240263) @@ -2757,7 +2757,6 @@ sctp_inpcb_bind(struct socket *so, struc return (EINVAL); } lport = sin6-sin6_port; - /* * For LOOPBACK the prison_local_ip6() call * will transmute the ipv6 address to the @@ -2795,7 +2794,7 @@ sctp_inpcb_bind(struct socket *so, struc SCTP_INP_INCR_REF(inp); if (lport) { /* -* Did the caller specify a port? if so we must see if a ep +* Did the caller specify a port? if so we must see if an ep * already has this one bound. */ /* got to be root to get at low ports */ @@ -2876,8 +2875,7 @@ continue_anyway: if (bindall) { /* verify that no lport is not used by a singleton */ if ((port_reuse_active == 0) - (inp_tmp = sctp_isport_inuse(inp, lport, vrf_id)) - ) { + (inp_tmp = sctp_isport_inuse(inp, lport, vrf_id))) { /* Sorry someone already has this one bound */ if ((sctp_is_feature_on(inp, SCTP_PCB_FLAGS_PORTREUSE)) (sctp_is_feature_on(inp_tmp, SCTP_PCB_FLAGS_PORTREUSE))) { @@ -3043,9 +3041,9 @@ continue_anyway: * zero out the port to find the address! yuck! can't do * this earlier since need port for sctp_pcb_findep() */ - if (sctp_ifap != NULL) + if (sctp_ifap != NULL) { ifa = sctp_ifap; - else { + } else { /* * Note for BSD we hit here always other O/S's will * pass things in via the sctp_ifap argument ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240264 - head
Author: glebius Date: Sun Sep 9 08:14:47 2012 New Revision: 240264 URL: http://svn.freebsd.org/changeset/base/240264 Log: Add removed if_pflow.h. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Sun Sep 9 08:14:04 2012(r240263) +++ head/ObsoleteFiles.inc Sun Sep 9 08:14:47 2012(r240264) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20120908: pf cleanup +OLD_FILES+=usr/include/net/if_pflow.h # 20120816: new clang import which bumps version from 3.1 to 3.2 OLD_FILES+=usr/bin/llvm-ld OLD_FILES+=usr/bin/llvm-stub ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240271 - head/contrib/bsnmp/snmpd
Author: glebius Date: Sun Sep 9 09:46:48 2012 New Revision: 240271 URL: http://svn.freebsd.org/changeset/base/240271 Log: For UDP transport set IP_RECVDSTADDR sockopt on the socket, and provide IP_SENDSRCADDR control with datagram message we reply with. This makes bsnmpd reply from exactly same address that request was sent to, thus successfully bypassing stateful firewalls or other kinds of strict checking. PR: bin/171279 Modified: head/contrib/bsnmp/snmpd/main.c head/contrib/bsnmp/snmpd/trans_udp.c Modified: head/contrib/bsnmp/snmpd/main.c == --- head/contrib/bsnmp/snmpd/main.c Sun Sep 9 08:40:44 2012 (r240270) +++ head/contrib/bsnmp/snmpd/main.c Sun Sep 9 09:46:48 2012 (r240271) @@ -1106,10 +1106,11 @@ recv_stream(struct port_input *pi) * Each receive should return one datagram. */ static int -recv_dgram(struct port_input *pi) +recv_dgram(struct port_input *pi, struct in_addr *laddr) { u_char embuf[1000]; - char cbuf[CMSG_SPACE(SOCKCREDSIZE(CMGROUP_MAX))]; + char cbuf[CMSG_SPACE(SOCKCREDSIZE(CMGROUP_MAX)) + + CMSG_SPACE(sizeof(struct in_addr))]; struct msghdr msg; struct iovec iov[1]; ssize_t len; @@ -1159,6 +1160,9 @@ recv_dgram(struct port_input *pi) for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) { + if (cmsg-cmsg_level == IPPROTO_IP + cmsg-cmsg_type == IP_RECVDSTADDR) + memcpy(laddr, CMSG_DATA(cmsg), sizeof(struct in_addr)); if (cmsg-cmsg_level == SOL_SOCKET cmsg-cmsg_type == SCM_CREDS) cred = (struct sockcred *)CMSG_DATA(cmsg); @@ -1187,12 +1191,27 @@ snmpd_input(struct port_input *pi, struc #ifdef USE_TCPWRAPPERS char client[16]; #endif + struct msghdr msg; + struct iovec iov[1]; + char cbuf[CMSG_SPACE(sizeof(struct in_addr))]; + struct cmsghdr *cmsgp; /* get input depending on the transport */ if (pi-stream) { + msg.msg_control = NULL; + msg.msg_controllen = 0; + ret = recv_stream(pi); } else { - ret = recv_dgram(pi); + memset(cbuf, 0, CMSG_SPACE(sizeof(struct in_addr))); + msg.msg_control = cbuf; + msg.msg_controllen = CMSG_SPACE(sizeof(struct in_addr)); + cmsgp = CMSG_FIRSTHDR(msg); + cmsgp-cmsg_len = CMSG_LEN(sizeof(struct in_addr)); + cmsgp-cmsg_level = IPPROTO_IP; + cmsgp-cmsg_type = IP_SENDSRCADDR; + + ret = recv_dgram(pi, (struct in_addr *)CMSG_DATA(cmsgp)); } if (ret == -1) @@ -1337,11 +1356,19 @@ snmpd_input(struct port_input *pi, struc sndbuf, sndlen, SNMP, ierr, vi, NULL); if (ferr == SNMPD_INPUT_OK) { - slen = sendto(pi-fd, sndbuf, sndlen, 0, pi-peer, pi-peerlen); + msg.msg_name = pi-peer; + msg.msg_namelen = pi-peerlen; + msg.msg_iov = iov; + msg.msg_iovlen = 1; + msg.msg_flags = 0; + iov[0].iov_base = sndbuf; + iov[0].iov_len = sndlen; + + slen = sendmsg(pi-fd, msg, 0); if (slen == -1) - syslog(LOG_ERR, sendto: %m); + syslog(LOG_ERR, sendmsg: %m); else if ((size_t)slen != sndlen) - syslog(LOG_ERR, sendto: short write %zu/%zu, + syslog(LOG_ERR, sendmsg: short write %zu/%zu, sndlen, (size_t)slen); } snmp_pdu_free(pdu); Modified: head/contrib/bsnmp/snmpd/trans_udp.c == --- head/contrib/bsnmp/snmpd/trans_udp.cSun Sep 9 08:40:44 2012 (r240270) +++ head/contrib/bsnmp/snmpd/trans_udp.cSun Sep 9 09:46:48 2012 (r240271) @@ -103,11 +103,19 @@ udp_init_port(struct tport *tp) struct udp_port *p = (struct udp_port *)tp; struct sockaddr_in addr; u_int32_t ip; + const int on = 1; if ((p-input.fd = socket(PF_INET, SOCK_DGRAM, 0)) 0) { syslog(LOG_ERR, creating UDP socket: %m); return (SNMP_ERR_RES_UNAVAIL); } + if (setsockopt(p-input.fd, IPPROTO_IP, IP_RECVDSTADDR, on, + sizeof(on)) == -1) { + syslog(LOG_ERR, setsockopt(IP_RECVDSTADDR): %m); + close(p-input.fd); + p-input.fd = -1; + return (SNMP_ERR_GENERR); + } ip = (p-addr[0] 24) | (p-addr[1] 16) | (p-addr[2] 8) | p-addr[3]; memset(addr, 0, sizeof(addr)); ___ svn-src-head@freebsd.org mailing
svn commit: r240272 - head/sys/boot/uboot/lib
Author: ae Date: Sun Sep 9 11:30:45 2012 New Revision: 240272 URL: http://svn.freebsd.org/changeset/base/240272 Log: Make struct uboot_devdesc compatible with struct disk_devdesc. Modified: head/sys/boot/uboot/lib/libuboot.h Modified: head/sys/boot/uboot/lib/libuboot.h == --- head/sys/boot/uboot/lib/libuboot.h Sun Sep 9 09:46:48 2012 (r240271) +++ head/sys/boot/uboot/lib/libuboot.h Sun Sep 9 11:30:45 2012 (r240272) @@ -35,18 +35,15 @@ struct uboot_devdesc union { struct { void*data; - int pnum; - int ptype; + int slice; + int partition; + off_t offset; } disk; } d_kind; }; #define d_disk d_kind.disk -#define PTYPE_BSDLABEL 1 -#define PTYPE_GPT 2 -#define PTYPE_MBR 3 - /* * Default network packet alignment in memory */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240273 - head/sys/boot/uboot/lib
Author: ae Date: Sun Sep 9 11:32:06 2012 New Revision: 240273 URL: http://svn.freebsd.org/changeset/base/240273 Log: Use disk_fmtdev() and disk_parsedev() functions from the new DISK API. Modified: head/sys/boot/uboot/lib/devicename.c Modified: head/sys/boot/uboot/lib/devicename.c == --- head/sys/boot/uboot/lib/devicename.cSun Sep 9 11:30:45 2012 (r240272) +++ head/sys/boot/uboot/lib/devicename.cSun Sep 9 11:32:06 2012 (r240273) @@ -27,12 +27,11 @@ #include sys/cdefs.h __FBSDID($FreeBSD$); -#include sys/disklabel.h - #include stand.h #include string.h #include bootstrap.h +#include disk.h #include libuboot.h static int uboot_parsedev(struct uboot_devdesc **dev, const char *devspec, @@ -90,7 +89,7 @@ uboot_parsedev(struct uboot_devdesc **de struct devsw *dv; char *cp; const char *np; - int i, unit, pnum, ptype, err; + int i, unit, err; /* minimum length check */ if (strlen(devspec) 2) @@ -114,51 +113,13 @@ uboot_parsedev(struct uboot_devdesc **de case DEVT_NONE: break; +#ifdef LOADER_DISK_SUPPORT case DEVT_DISK: - unit = -1; - pnum = -1; - ptype = -1; - if (*np (*np != ':')) { - /* next comes the unit number */ - unit = strtol(np, cp, 10); - if (cp == np) { - err = EUNIT; - goto fail; - } - if (*cp (*cp != ':')) { - /* get partition */ - if (*cp == 'p' *(cp + 1) - *(cp + 1) != ':') { - pnum = strtol(cp + 1, cp, 10); - ptype = PTYPE_GPT; - } else if (*cp == 's' *(cp + 1) - *(cp + 1) != ':') { - pnum = strtol(cp + 1, cp, 10); - ptype = PTYPE_MBR; - } else { - pnum = *cp - 'a'; - ptype = PTYPE_BSDLABEL; - if ((pnum 0) || - (pnum = MAXPARTITIONS)) { - err = EPART; - goto fail; - } - cp++; - } - } - } - if (*cp (*cp != ':')) { - err = EINVAL; + err = disk_parsedev((struct disk_devdesc *)idev, np, path); + if (err != 0) goto fail; - } - - idev-d_unit = unit; - idev-d_disk.pnum = pnum; - idev-d_disk.ptype = ptype; - idev-d_disk.data = NULL; - if (path != NULL) - *path = (*cp == 0) ? cp : cp + 1; break; +#endif case DEVT_NET: unit = 0; @@ -204,7 +165,6 @@ char * uboot_fmtdev(void *vdev) { struct uboot_devdesc *dev = (struct uboot_devdesc *)vdev; - char *cp; static char buf[128]; switch(dev-d_type) { @@ -213,22 +173,9 @@ uboot_fmtdev(void *vdev) break; case DEVT_DISK: - cp = buf; - cp += sprintf(cp, %s%d, dev-d_dev-dv_name, dev-d_unit); - if (dev-d_kind.disk.pnum = 0) { - if (dev-d_kind.disk.ptype == PTYPE_BSDLABEL) - cp += sprintf(cp, %c, - dev-d_kind.disk.pnum + 'a'); - else if (dev-d_kind.disk.ptype == PTYPE_GPT) - cp += sprintf(cp, p%i, - dev-d_kind.disk.pnum); - else if (dev-d_kind.disk.ptype == PTYPE_MBR) - cp += sprintf(cp, s%i, - dev-d_kind.disk.pnum); - } - - strcat(cp, :); - break; +#ifdef LOADER_DISK_SUPPORT + return (disk_fmtdev(vdev)); +#endif case DEVT_NET: sprintf(buf, %s%d:, dev-d_dev-dv_name, dev-d_unit); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240274 - head/sys/boot/uboot/lib
Author: ae Date: Sun Sep 9 11:33:06 2012 New Revision: 240274 URL: http://svn.freebsd.org/changeset/base/240274 Log: Update uboot's disk driver to use new DISK API. Modified: head/sys/boot/uboot/lib/disk.c Modified: head/sys/boot/uboot/lib/disk.c == --- head/sys/boot/uboot/lib/disk.c Sun Sep 9 11:32:06 2012 (r240273) +++ head/sys/boot/uboot/lib/disk.c Sun Sep 9 11:33:06 2012 (r240274) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2008 Semihalf, Rafal Jaworowski * Copyright (c) 2009 Semihalf, Piotr Ziecik + * Copyright (c) 2012 Andrey V. Elsukov a...@freebsd.org * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,20 +35,13 @@ __FBSDID($FreeBSD$); #include sys/param.h -#include sys/endian.h -#include sys/queue.h -#include netinet/in.h +#include sys/disk.h #include machine/stdarg.h #include stand.h -#include uuid.h - -#define FSTYPENAMES -#include sys/disklabel.h -#include sys/diskmbr.h -#include sys/gpt.h #include api_public.h #include bootstrap.h +#include disk.h #include glue.h #include libuboot.h @@ -66,51 +60,28 @@ __FBSDID($FreeBSD$); #define debugf(fmt, args...) #endif -struct gpt_part { - int gp_index; - uuid_t gp_type; - uint64_tgp_start; - uint64_tgp_end; -}; +static struct { + int opened; /* device is opened */ + int handle; /* storage device handle */ + int type; /* storage type */ + off_t blocks; /* block count */ + u_int bsize; /* block size */ +} stor_info[UB_MAX_DEV]; -struct open_dev { - int od_bsize; /* block size */ - int od_bstart; /* start block offset from beginning of disk */ - union { - struct { - struct disklabel bsdlabel; - } _bsd; - struct { - struct gpt_part *gpt_partitions; - int gpt_nparts; - } _gpt; - } _data; -}; +#defineSI(dev) (stor_info[(dev)-d_unit]) -#defineod_bsdlabel _data._bsd.bsdlabel -#defineod_nparts _data._gpt.gpt_nparts -#defineod_partitions _data._gpt.gpt_partitions - -static uuid_t efi = GPT_ENT_TYPE_EFI; -static uuid_t freebsd_boot = GPT_ENT_TYPE_FREEBSD_BOOT; -static uuid_t freebsd_ufs = GPT_ENT_TYPE_FREEBSD_UFS; -static uuid_t freebsd_swap = GPT_ENT_TYPE_FREEBSD_SWAP; -static uuid_t freebsd_zfs = GPT_ENT_TYPE_FREEBSD_ZFS; -static uuid_t ms_basic_data = GPT_ENT_TYPE_MS_BASIC_DATA; - -static int stor_info[UB_MAX_DEV]; static int stor_info_no = 0; -static int stor_opendev(struct open_dev **, struct uboot_devdesc *); -static int stor_closedev(struct uboot_devdesc *); -static int stor_readdev(struct uboot_devdesc *, daddr_t, size_t, char *); -static int stor_open_count = 0; +static int stor_opendev(struct disk_devdesc *); +static int stor_readdev(struct disk_devdesc *, daddr_t, size_t, char *); /* devsw I/F */ static int stor_init(void); static int stor_strategy(void *, int, daddr_t, size_t, char *, size_t *); static int stor_open(struct open_file *, ...); static int stor_close(struct open_file *); +static int stor_ioctl(struct open_file *f, u_long cmd, void *data); static void stor_print(int); +static void stor_cleanup(void); struct devsw uboot_storage = { disk, @@ -119,24 +90,16 @@ struct devsw uboot_storage = { stor_strategy, stor_open, stor_close, - noioctl, - stor_print + stor_ioctl, + stor_print, + stor_cleanup }; -static void -uuid_letoh(uuid_t *uuid) -{ - - uuid-time_low = le32toh(uuid-time_low); - uuid-time_mid = le16toh(uuid-time_mid); - uuid-time_hi_and_version = le16toh(uuid-time_hi_and_version); -} - static int stor_init(void) { struct device_info *di; - int i, found = 0; + int i; if (devs_no == 0) { printf(No U-Boot devices! Really enumerated?\n); @@ -151,12 +114,18 @@ stor_init(void) stor_info_no); return (-1); } - stor_info[stor_info_no++] = i; - found = 1; + stor_info[stor_info_no].handle = i; + stor_info[stor_info_no].opened = 0; + stor_info[stor_info_no].type = di-type; + stor_info[stor_info_no].blocks = + di-di_stor.block_count; + stor_info[stor_info_no].bsize = + di-di_stor.block_size; + stor_info_no++; } } - if (!found) { + if (!stor_info_no) { debugf(No storage
svn commit: r240275 - head/sys/boot/uboot/lib
Author: ae Date: Sun Sep 9 11:34:27 2012 New Revision: 240275 URL: http://svn.freebsd.org/changeset/base/240275 Log: Build disk.c only when DISK_SUPPORT is enabled. Modified: head/sys/boot/uboot/lib/Makefile Modified: head/sys/boot/uboot/lib/Makefile == --- head/sys/boot/uboot/lib/MakefileSun Sep 9 11:33:06 2012 (r240274) +++ head/sys/boot/uboot/lib/MakefileSun Sep 9 11:34:27 2012 (r240275) @@ -6,13 +6,18 @@ LIB= uboot INTERNALLIB= WARNS?=2 -SRCS= crc32.c console.c copy.c devicename.c disk.c elf_freebsd.c glue.c +SRCS= crc32.c console.c copy.c devicename.c elf_freebsd.c glue.c SRCS+= module.c net.c reboot.c time.c CFLAGS+= -ffreestanding -msoft-float CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ +.if !defined(LOADER_NO_DISK_SUPPORT) +SRCS+= disk.c +CFLAGS+= -DLOADER_DISK_SUPPORT +.endif + # Pick up FDT includes CFLAGS+= -I${.CURDIR}/../../../../sys/contrib/libfdt/ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240276 - head/sys/boot/uboot/common
Author: ae Date: Sun Sep 9 11:37:17 2012 New Revision: 240276 URL: http://svn.freebsd.org/changeset/base/240276 Log: Update according to the change of struct uboot_devdesc. Modified: head/sys/boot/uboot/common/main.c Modified: head/sys/boot/uboot/common/main.c == --- head/sys/boot/uboot/common/main.c Sun Sep 9 11:34:27 2012 (r240275) +++ head/sys/boot/uboot/common/main.c Sun Sep 9 11:37:17 2012 (r240276) @@ -185,7 +185,7 @@ main(void) if (strncmp(devsw[i]-dv_name, disk, strlen(devsw[i]-dv_name)) == 0) { f.f_devdata = currdev; - currdev.d_disk.pnum = 0; + currdev.d_disk.slice = 0; if (devsw[i]-dv_open(f,currdev) == 0) break; } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240277 - in head/sys/boot: arm/uboot powerpc/uboot
Author: ae Date: Sun Sep 9 11:40:37 2012 New Revision: 240277 URL: http://svn.freebsd.org/changeset/base/240277 Log: Handle LOADER_NO_DISK_SUPPORT knob in the arm and powerpc ubldr. Modified: head/sys/boot/arm/uboot/Makefile head/sys/boot/powerpc/uboot/Makefile Modified: head/sys/boot/arm/uboot/Makefile == --- head/sys/boot/arm/uboot/MakefileSun Sep 9 11:37:17 2012 (r240276) +++ head/sys/boot/arm/uboot/MakefileSun Sep 9 11:40:37 2012 (r240277) @@ -14,7 +14,11 @@ UBLDR_LOADADDR?= 0x100 # Architecture-specific loader code SRCS= start.S conf.c vers.c +.if !defined(LOADER_NO_DISK_SUPPORT) LOADER_DISK_SUPPORT?= yes +.else +LOADER_DISK_SUPPORT= no +.endif LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?=no LOADER_EXT2FS_SUPPORT?=no Modified: head/sys/boot/powerpc/uboot/Makefile == --- head/sys/boot/powerpc/uboot/MakefileSun Sep 9 11:37:17 2012 (r240276) +++ head/sys/boot/powerpc/uboot/MakefileSun Sep 9 11:40:37 2012 (r240277) @@ -12,7 +12,11 @@ NO_MAN= SRCS= start.S conf.c vers.c SRCS+= ucmpdi2.c +.if !defined(LOADER_NO_DISK_SUPPORT) LOADER_DISK_SUPPORT?= yes +.else +LOADER_DISK_SUPPORT= no +.endif LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?=no LOADER_EXT2FS_SUPPORT?=no ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240278 - head/usr.bin/find
Author: des Date: Sun Sep 9 13:18:13 2012 New Revision: 240278 URL: http://svn.freebsd.org/changeset/base/240278 Log: Document -quit, four and a half years after it was implemented. MFC after:3 days Pointy hat to:imp@ Modified: head/usr.bin/find/find.1 Modified: head/usr.bin/find/find.1 == --- head/usr.bin/find/find.1Sun Sep 9 11:40:37 2012(r240277) +++ head/usr.bin/find/find.1Sun Sep 9 13:18:13 2012(r240278) @@ -31,7 +31,7 @@ .\@(#)find.1 8.7 (Berkeley) 5/9/95 .\ $FreeBSD$ .\ -.Dd July 25, 2012 +.Dd September 9, 2012 .Dt FIND 1 .Os .Sh NAME @@ -741,6 +741,10 @@ Note, the primary has no effect if the .Fl d option was specified. +.It Ic -quit +Causes +.Nm +to immediately terminate. .It Ic -regex Ar pattern True if the whole path of the file matches .Ar pattern ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240279 - head/sys/dev/usb/controller
Author: hselasky Date: Sun Sep 9 14:41:34 2012 New Revision: 240279 URL: http://svn.freebsd.org/changeset/base/240279 Log: Add support for host mode to the DWC OTG controller driver. The DWC OTG host mode support should still be considered experimental. Isochronous support for DWC OTG is not fully implemented. Some code added derives from Aleksandr Rybalko's dotg.c driver. Modified: head/sys/dev/usb/controller/dwc_otg.c head/sys/dev/usb/controller/dwc_otg.h head/sys/dev/usb/controller/dwc_otgreg.h Modified: head/sys/dev/usb/controller/dwc_otg.c == --- head/sys/dev/usb/controller/dwc_otg.c Sun Sep 9 13:18:13 2012 (r240278) +++ head/sys/dev/usb/controller/dwc_otg.c Sun Sep 9 14:41:34 2012 (r240279) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2012 Hans Petter Selasky. All rights reserved. + * Copyright (c) 2010-2011 Aleksandr Rybalko. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -25,8 +26,7 @@ /* * This file contains the driver for the DesignWare series USB 2.0 OTG - * Controller. This driver currently only supports the device mode of - * the USB hardware. + * Controller. */ /* @@ -91,12 +91,15 @@ __FBSDID($FreeBSD$); DWC_OTG_BUS2SC(USB_DMATAG_TO_XROOT((pc)-tag_parent)-bus) #defineDWC_OTG_MSK_GINT_ENABLED\ - (GINTSTS_ENUMDONE | \ - GINTSTS_USBRST |\ - GINTSTS_USBSUSP | \ - GINTSTS_IEPINT |\ - GINTSTS_RXFLVL |\ - GINTSTS_SESSREQINT) + (GINTSTS_ENUMDONE | \ + GINTSTS_USBRST |\ + GINTSTS_USBSUSP | \ + GINTSTS_IEPINT |\ + GINTSTS_RXFLVL |\ + GINTSTS_SESSREQINT |\ + GINTMSK_OTGINTMSK | \ + GINTMSK_HCHINTMSK | \ + GINTSTS_PRTINT) #define DWC_OTG_USE_HSIC 0 @@ -114,12 +117,18 @@ SYSCTL_INT(_hw_usb_dwc_otg, OID_AUTO, de struct usb_bus_methods dwc_otg_bus_methods; struct usb_pipe_methods dwc_otg_device_non_isoc_methods; -struct usb_pipe_methods dwc_otg_device_isoc_fs_methods; +struct usb_pipe_methods dwc_otg_device_isoc_methods; static dwc_otg_cmd_t dwc_otg_setup_rx; static dwc_otg_cmd_t dwc_otg_data_rx; static dwc_otg_cmd_t dwc_otg_data_tx; static dwc_otg_cmd_t dwc_otg_data_tx_sync; + +static dwc_otg_cmd_t dwc_otg_host_setup_tx; +static dwc_otg_cmd_t dwc_otg_host_data_tx; +static dwc_otg_cmd_t dwc_otg_host_data_rx; +static dwc_otg_cmd_t dwc_otg_host_data_tx_sync; + static void dwc_otg_device_done(struct usb_xfer *, usb_error_t); static void dwc_otg_do_poll(struct usb_bus *); static void dwc_otg_standard_done(struct usb_xfer *); @@ -153,7 +162,7 @@ dwc_otg_get_hw_ep_profile(struct usb_dev } static int -dwc_otg_init_fifo(struct dwc_otg_softc *sc) +dwc_otg_init_fifo(struct dwc_otg_softc *sc, uint8_t mode) { struct dwc_otg_profile *pf; uint32_t fifo_size; @@ -193,7 +202,21 @@ dwc_otg_init_fifo(struct dwc_otg_softc * /* setup control endpoint profile */ sc-sc_hw_ep_profile[0].usb = dwc_otg_ep_profile[0]; - for (x = 1; x != sc-sc_dev_ep_max; x++) { + if (mode == DWC_MODE_HOST) { + + /* reset active endpoints */ + sc-sc_active_rx_ep = 0; + + DWC_OTG_WRITE_4(sc, DOTG_HPTXFSIZ, + ((fifo_size / 4) 16) | + (tx_start / 4)); + } + if (mode == DWC_MODE_DEVICE) { + + /* reset active endpoints */ + sc-sc_active_rx_ep = 1; + + for (x = 1; x != sc-sc_dev_ep_max; x++) { pf = sc-sc_hw_ep_profile + x; @@ -240,17 +263,22 @@ dwc_otg_init_fifo(struct dwc_otg_softc * DPRINTF(FIFO%d = IN:%d / OUT:%d\n, x, pf-usb.max_in_frame_size, pf-usb.max_out_frame_size); + } } /* reset RX FIFO */ DWC_OTG_WRITE_4(sc, DOTG_GRSTCTL, GRSTCTL_RXFFLSH); - /* reset all TX FIFOs */ - DWC_OTG_WRITE_4(sc, DOTG_GRSTCTL, - GRSTCTL_TXFIFO(0x10) | - GRSTCTL_TXFFLSH); - + if (mode != DWC_MODE_OTG) { + /* reset all TX FIFOs */ + DWC_OTG_WRITE_4(sc, DOTG_GRSTCTL, + GRSTCTL_TXFIFO(0x10) | + GRSTCTL_TXFFLSH); + } else { + /* reset active endpoints */ + sc-sc_active_rx_ep = 0; + } return (0); } @@ -322,13 +350,15 @@ dwc_otg_resume_irq(struct dwc_otg_softc sc-sc_flags.status_suspend = 0; sc-sc_flags.change_suspend = 1; - /* -* Disable resume interrupt and enable suspend -* interrupt: -*/ - sc-sc_irq_mask =
svn commit: r240280 - head/sys/arm/broadcom/bcm2835
Author: hselasky Date: Sun Sep 9 14:51:38 2012 New Revision: 240280 URL: http://svn.freebsd.org/changeset/base/240280 Log: Add support for DWC OTG. Added: head/sys/arm/broadcom/bcm2835/dwc_otg_brcm.c (contents, props changed) Added: head/sys/arm/broadcom/bcm2835/dwc_otg_brcm.c == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/broadcom/bcm2835/dwc_otg_brcm.cSun Sep 9 14:51:38 2012(r240280) @@ -0,0 +1,211 @@ +/*- + * Copyright (c) 2012 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: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include sys/cdefs.h +__FBSDID($FreeBSD$); + +#include sys/stdint.h +#include sys/stddef.h +#include sys/param.h +#include sys/queue.h +#include sys/types.h +#include sys/systm.h +#include sys/kernel.h +#include sys/bus.h +#include sys/module.h +#include sys/lock.h +#include sys/mutex.h +#include sys/condvar.h +#include sys/sysctl.h +#include sys/sx.h +#include sys/unistd.h +#include sys/callout.h +#include sys/malloc.h +#include sys/priv.h +#include sys/rman.h + +#include dev/fdt/fdt_common.h +#include dev/ofw/openfirm.h +#include dev/ofw/ofw_bus.h +#include dev/ofw/ofw_bus_subr.h + +#include dev/usb/usb.h +#include dev/usb/usbdi.h + +#include dev/usb/usb_core.h +#include dev/usb/usb_busdma.h +#include dev/usb/usb_process.h +#include dev/usb/usb_util.h + +#include dev/usb/usb_controller.h +#include dev/usb/usb_bus.h + +#include dev/usb/controller/dwc_otg.h + +static device_probe_t dwc_otg_probe; +static device_attach_t dwc_otg_attach; +static device_detach_t dwc_otg_detach; + +struct dwc_otg_super_softc { + struct dwc_otg_softc sc_otg;/* must be first */ +}; + +static int +dwc_otg_probe(device_t dev) +{ + if (!ofw_bus_is_compatible(dev, synopsys,designware-hs-otg2)) + return (ENXIO); + + device_set_desc(dev, DWC OTG 2.0 integrated USB controller); + + return (0); +} + +static int +dwc_otg_attach(device_t dev) +{ + struct dwc_otg_super_softc *sc = device_get_softc(dev); + int err; + int rid; + + /* initialise some bus fields */ + sc-sc_otg.sc_bus.parent = dev; + sc-sc_otg.sc_bus.devices = sc-sc_otg.sc_devices; + sc-sc_otg.sc_bus.devices_max = DWC_OTG_MAX_DEVICES; + + /* get all DMA memory */ + if (usb_bus_mem_alloc_all(sc-sc_otg.sc_bus, + USB_GET_DMA_TAG(dev), NULL)) { + return (ENOMEM); + } + rid = 0; + sc-sc_otg.sc_io_res = + bus_alloc_resource_any(dev, SYS_RES_MEMORY, rid, RF_ACTIVE); + + if (!(sc-sc_otg.sc_io_res)) { + err = ENOMEM; + goto error; + } + sc-sc_otg.sc_io_tag = rman_get_bustag(sc-sc_otg.sc_io_res); + sc-sc_otg.sc_io_hdl = rman_get_bushandle(sc-sc_otg.sc_io_res); + sc-sc_otg.sc_io_size = rman_get_size(sc-sc_otg.sc_io_res); + + rid = 0; + sc-sc_otg.sc_irq_res = + bus_alloc_resource_any(dev, SYS_RES_IRQ, rid, RF_ACTIVE); + if (sc-sc_otg.sc_irq_res == NULL) + goto error; + + sc-sc_otg.sc_bus.bdev = device_add_child(dev, usbus, -1); + if (sc-sc_otg.sc_bus.bdev == NULL) + goto error; + + device_set_ivars(sc-sc_otg.sc_bus.bdev, sc-sc_otg.sc_bus); + + err = bus_setup_intr(dev, sc-sc_otg.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, + NULL, (driver_intr_t *)dwc_otg_interrupt, sc, sc-sc_otg.sc_intr_hdl); + if (err) { + sc-sc_otg.sc_intr_hdl = NULL; + goto error; + } + err = dwc_otg_init(sc-sc_otg); + if (err == 0) { + err =
svn commit: r240281 - head/sys/dev/usb/controller
Author: hselasky Date: Sun Sep 9 14:53:34 2012 New Revision: 240281 URL: http://svn.freebsd.org/changeset/base/240281 Log: Add support for DWC OTG. Modified: head/sys/dev/usb/controller/usb_controller.c Modified: head/sys/dev/usb/controller/usb_controller.c == --- head/sys/dev/usb/controller/usb_controller.cSun Sep 9 14:51:38 2012(r240280) +++ head/sys/dev/usb/controller/usb_controller.cSun Sep 9 14:53:34 2012(r240281) @@ -129,6 +129,9 @@ DRIVER_MODULE(usbus, musbotg, usb_driver DRIVER_MODULE(usbus, uss820, usb_driver, usb_devclass, 0, 0); DRIVER_MODULE(usbus, octusb, usb_driver, usb_devclass, 0, 0); +/* Dual Mode Drivers */ +DRIVER_MODULE(usbus, dwcotg, usb_driver, usb_devclass, 0, 0); + /** * usb_probe * ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240282 - head/sys/dev/usb/controller
Author: hselasky Date: Sun Sep 9 17:23:57 2012 New Revision: 240282 URL: http://svn.freebsd.org/changeset/base/240282 Log: Implement missing USB suspend and resume support for DWC OTG driver. Modified: head/sys/dev/usb/controller/dwc_otg.c Modified: head/sys/dev/usb/controller/dwc_otg.c == --- head/sys/dev/usb/controller/dwc_otg.c Sun Sep 9 14:53:34 2012 (r240281) +++ head/sys/dev/usb/controller/dwc_otg.c Sun Sep 9 17:23:57 2012 (r240282) @@ -557,7 +557,6 @@ dwc_otg_host_setup_tx(struct dwc_otg_td temp = sc-sc_hcchar[td-channel]; temp = ~HCCHAR_EPDIR_IN; - temp |= HCCHAR_CHENA; /* must enable channel before writing data to FIFO */ DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(td-channel), temp); @@ -878,7 +877,7 @@ not_complete: sc-sc_haint_mask |= (1 td-channel); DWC_OTG_WRITE_4(sc, DOTG_HAINTMSK, sc-sc_haint_mask); - temp |= HCCHAR_CHENA | HCCHAR_EPDIR_IN; + temp |= HCCHAR_EPDIR_IN; /* must enable channel before data can be received */ DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(td-channel), temp); @@ -1114,8 +1113,7 @@ dwc_otg_host_data_tx(struct dwc_otg_td * /* TODO: HCTSIZ_DOPNG */ temp = sc-sc_hcchar[td-channel]; - temp = ~(HCCHAR_EPDIR_IN); - temp |= HCCHAR_CHENA; + temp = ~HCCHAR_EPDIR_IN; /* must enable before writing data to FIFO */ DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(td-channel), temp); @@ -2066,7 +2064,8 @@ dwc_otg_setup_standard_chain(struct usb_ (xfer-address HCCHAR_DEVADDR_SHIFT) | (xfer_type HCCHAR_EPTYPE_SHIFT) | ((xfer-endpointno UE_ADDR) HCCHAR_EPNUM_SHIFT) | - (xfer-max_packet_size HCCHAR_MPS_SHIFT); + (xfer-max_packet_size HCCHAR_MPS_SHIFT) | + HCCHAR_CHENA; if (usbd_get_speed(xfer-xroot-udev) == USB_SPEED_LOW) td-hcchar |= HCCHAR_LSPDDEV; @@ -2281,7 +2280,6 @@ dwc_otg_device_done(struct usb_xfer *xfe sc-sc_haint_mask = ~(1 td-channel); DWC_OTG_WRITE_4(sc, DOTG_HAINTMSK, sc-sc_haint_mask); - DWC_OTG_WRITE_4(sc, DOTG_HCINTMSK(td-channel), 0); DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(td-channel), HCCHAR_CHENA | HCCHAR_CHDIS); @@ -3565,13 +3563,69 @@ dwc_otg_get_dma_delay(struct usb_device static void dwc_otg_device_resume(struct usb_device *udev) { + struct dwc_otg_softc *sc = DWC_OTG_BUS2SC(udev-bus); + struct usb_xfer *xfer; + struct dwc_otg_td *td; + DPRINTF(\n); + + /* Disable relevant Host channels before going to suspend */ + + USB_BUS_LOCK(udev-bus); + + TAILQ_FOREACH(xfer, sc-sc_bus.intr_q.head, wait_entry) { + + if (xfer-xroot-udev == udev) { + + td = xfer-td_transfer_cache; + if (td != NULL + td-channel DWC_OTG_MAX_CHANNELS) { + + sc-sc_hcchar[td-channel] = + (sc-sc_hcchar[td-channel] ~HCCHAR_CHDIS) | + HCCHAR_CHENA; + + DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(td-channel), + sc-sc_hcchar[td-channel]); + } + } + } + + USB_BUS_UNLOCK(udev-bus); } static void dwc_otg_device_suspend(struct usb_device *udev) { + struct dwc_otg_softc *sc = DWC_OTG_BUS2SC(udev-bus); + struct usb_xfer *xfer; + struct dwc_otg_td *td; + DPRINTF(\n); + + /* Disable relevant Host channels before going to suspend */ + + USB_BUS_LOCK(udev-bus); + + TAILQ_FOREACH(xfer, sc-sc_bus.intr_q.head, wait_entry) { + + if (xfer-xroot-udev == udev) { + + td = xfer-td_transfer_cache; + if (td != NULL + td-channel DWC_OTG_MAX_CHANNELS) { + + sc-sc_hcchar[td-channel] = + (DWC_OTG_READ_4(sc, DOTG_HCCHAR(td-channel)) | + HCCHAR_CHDIS) ~HCCHAR_CHENA; + + DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(td-channel), + sc-sc_hcchar[td-channel]); + } + } + } + + USB_BUS_UNLOCK(udev-bus); } struct usb_bus_methods dwc_otg_bus_methods = ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240283 - in head/sys: kern sys
Author: kib Date: Sun Sep 9 19:11:52 2012 New Revision: 240283 URL: http://svn.freebsd.org/changeset/base/240283 Log: Add MNTK_LOOKUP_EXCL_DOTDOT struct mount flag, which specifies to the lookup code that dotdot lookups shall override any shared lock requests with the exclusive one. The flag is useful for filesystems which sometimes need to upgrade shared lock to exclusive inside the VOP_LOOKUP or later, which cannot be done safely for dotdot, due to dvp also locked and causing LOR. In collaboration with:pho MFC after:3 weeks Modified: head/sys/kern/vfs_lookup.c head/sys/sys/mount.h Modified: head/sys/kern/vfs_lookup.c == --- head/sys/kern/vfs_lookup.c Sun Sep 9 17:23:57 2012(r240282) +++ head/sys/kern/vfs_lookup.c Sun Sep 9 19:11:52 2012(r240283) @@ -406,11 +406,13 @@ namei(struct nameidata *ndp) } static int -compute_cn_lkflags(struct mount *mp, int lkflags) +compute_cn_lkflags(struct mount *mp, int lkflags, int cnflags) { - if (mp == NULL || - ((lkflags LK_SHARED) !(mp-mnt_kern_flag MNTK_LOOKUP_SHARED))) { + if (mp == NULL || ((lkflags LK_SHARED) + (!(mp-mnt_kern_flag MNTK_LOOKUP_SHARED) || + ((cnflags ISDOTDOT) + (mp-mnt_kern_flag MNTK_LOOKUP_EXCL_DOTDOT) { lkflags = ~LK_SHARED; lkflags |= LK_EXCLUSIVE; } @@ -539,7 +541,8 @@ lookup(struct nameidata *ndp) dp = ndp-ni_startdir; ndp-ni_startdir = NULLVP; vn_lock(dp, - compute_cn_lkflags(dp-v_mount, cnp-cn_lkflags | LK_RETRY)); + compute_cn_lkflags(dp-v_mount, cnp-cn_lkflags | LK_RETRY, + cnp-cn_flags)); dirloop: /* @@ -700,7 +703,7 @@ dirloop: VFS_UNLOCK_GIANT(tvfslocked); vn_lock(dp, compute_cn_lkflags(dp-v_mount, cnp-cn_lkflags | - LK_RETRY)); + LK_RETRY, ISDOTDOT)); } } @@ -738,7 +741,8 @@ unionlookup: vprint(lookup in, dp); #endif lkflags_save = cnp-cn_lkflags; - cnp-cn_lkflags = compute_cn_lkflags(dp-v_mount, cnp-cn_lkflags); + cnp-cn_lkflags = compute_cn_lkflags(dp-v_mount, cnp-cn_lkflags, + cnp-cn_flags); if ((error = VOP_LOOKUP(dp, ndp-ni_vp, cnp)) != 0) { cnp-cn_lkflags = lkflags_save; KASSERT(ndp-ni_vp == NULL, (leaf should be empty)); @@ -757,7 +761,7 @@ unionlookup: VFS_UNLOCK_GIANT(tvfslocked); vn_lock(dp, compute_cn_lkflags(dp-v_mount, cnp-cn_lkflags | - LK_RETRY)); + LK_RETRY, cnp-cn_flags)); goto unionlookup; } @@ -829,8 +833,8 @@ unionlookup: dvfslocked = 0; vref(vp_crossmp); ndp-ni_dvp = vp_crossmp; - error = VFS_ROOT(mp, compute_cn_lkflags(mp, cnp-cn_lkflags), - tdp); + error = VFS_ROOT(mp, compute_cn_lkflags(mp, cnp-cn_lkflags, + cnp-cn_flags), tdp); vfs_unbusy(mp); if (vn_lock(vp_crossmp, LK_SHARED | LK_NOWAIT)) panic(vp_crossmp exclusively locked or reclaimed); Modified: head/sys/sys/mount.h == --- head/sys/sys/mount.hSun Sep 9 17:23:57 2012(r240282) +++ head/sys/sys/mount.hSun Sep 9 19:11:52 2012(r240283) @@ -373,6 +373,7 @@ void __mnt_vnode_markerfree(str #defineMNTK_NO_IOPF0x0100 /* Disallow page faults during reads and writes. Filesystem shall properly handle i/o state on EFAULT. */ +#defineMNTK_LOOKUP_EXCL_DOTDOT 0x0800 #define MNTK_NOASYNC 0x0080 /* disable async */ #define MNTK_UNMOUNT 0x0100 /* unmount in progress */ #defineMNTK_MWAIT 0x0200 /* waiting for unmount to finish */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240284 - in head/sys: kern sys
Author: kib Date: Sun Sep 9 19:17:15 2012 New Revision: 240284 URL: http://svn.freebsd.org/changeset/base/240284 Log: Add a facility for vgone() to inform the set of subscribed mounts about vnode reclamation. Typical use is for the bypass mounts like nullfs to get a notification about lower vnode going away. Now, vgone() calls new VFS op vfs_reclaim_lowervp() with an argument lowervp which is reclaimed. It is possible to register several reclamation event listeners, to correctly handle the case of several nullfs mounts over the same directory. For the filesystem not having nullfs mounts over it, the overhead added is a single mount interlock lock/unlock in the vnode reclamation path. In collaboration with:pho MFC after:3 weeks Modified: head/sys/kern/vfs_mount.c head/sys/kern/vfs_subr.c head/sys/sys/mount.h Modified: head/sys/kern/vfs_mount.c == --- head/sys/kern/vfs_mount.c Sun Sep 9 19:11:52 2012(r240283) +++ head/sys/kern/vfs_mount.c Sun Sep 9 19:17:15 2012(r240284) @@ -481,6 +481,7 @@ vfs_mount_alloc(struct vnode *vp, struct mac_mount_create(cred, mp); #endif arc4rand(mp-mnt_hashseed, sizeof mp-mnt_hashseed, 0); + TAILQ_INIT(mp-mnt_uppers); return (mp); } @@ -514,6 +515,7 @@ vfs_mount_destroy(struct mount *mp) vprint(, vp); panic(unmount: dangling vnode); } + KASSERT(TAILQ_EMPTY(mp-mnt_uppers), (mnt_uppers)); if (mp-mnt_nvnodelistsize != 0) panic(vfs_mount_destroy: nonzero nvnodelistsize); if (mp-mnt_activevnodelistsize != 0) @@ -1275,7 +1277,8 @@ dounmount(mp, flags, td) } MNT_ILOCK(mp); - if (mp-mnt_kern_flag MNTK_UNMOUNT) { + if ((mp-mnt_kern_flag MNTK_UNMOUNT) != 0 || + !TAILQ_EMPTY(mp-mnt_uppers)) { MNT_IUNLOCK(mp); if (coveredvp) VOP_UNLOCK(coveredvp, 0); Modified: head/sys/kern/vfs_subr.c == --- head/sys/kern/vfs_subr.cSun Sep 9 19:11:52 2012(r240283) +++ head/sys/kern/vfs_subr.cSun Sep 9 19:17:15 2012(r240284) @@ -2688,6 +2688,58 @@ vgone(struct vnode *vp) VI_UNLOCK(vp); } +static void +vgonel_reclaim_lowervp_vfs(struct mount *mp __unused, +struct vnode *lowervp __unused) +{ +} + +/* + * Notify upper mounts about reclaimed vnode. + */ +static void +vgonel_reclaim_lowervp(struct vnode *vp) +{ + static struct vfsops vgonel_vfsops = { + .vfs_reclaim_lowervp = vgonel_reclaim_lowervp_vfs + }; + struct mount *mp, *ump, *mmp; + + mp = vp-v_mount; + if (mp == NULL) + return; + + MNT_ILOCK(mp); + if (TAILQ_EMPTY(mp-mnt_uppers)) + goto unlock; + MNT_IUNLOCK(mp); + mmp = malloc(sizeof(struct mount), M_TEMP, M_WAITOK | M_ZERO); + mmp-mnt_op = vgonel_vfsops; + mmp-mnt_kern_flag |= MNTK_MARKER; + MNT_ILOCK(mp); + mp-mnt_kern_flag |= MNTK_VGONE_UPPER; + for (ump = TAILQ_FIRST(mp-mnt_uppers); ump != NULL;) { + if ((ump-mnt_kern_flag MNTK_MARKER) != 0) { + ump = TAILQ_NEXT(ump, mnt_upper_link); + continue; + } + TAILQ_INSERT_AFTER(mp-mnt_uppers, ump, mmp, mnt_upper_link); + MNT_IUNLOCK(mp); + VFS_RECLAIM_LOWERVP(ump, vp); + MNT_ILOCK(mp); + ump = TAILQ_NEXT(mmp, mnt_upper_link); + TAILQ_REMOVE(mp-mnt_uppers, mmp, mnt_upper_link); + } + free(mmp, M_TEMP); + mp-mnt_kern_flag = ~MNTK_VGONE_UPPER; + if ((mp-mnt_kern_flag MNTK_VGONE_WAITER) != 0) { + mp-mnt_kern_flag = ~MNTK_VGONE_WAITER; + wakeup(mp-mnt_uppers); + } +unlock: + MNT_IUNLOCK(mp); +} + /* * vgone, with the vp interlock held. */ @@ -2712,6 +2764,7 @@ vgonel(struct vnode *vp) if (vp-v_iflag VI_DOOMED) return; vp-v_iflag |= VI_DOOMED; + /* * Check to see if the vnode is in use. If so, we have to call * VOP_CLOSE() and VOP_INACTIVE(). @@ -2719,6 +2772,8 @@ vgonel(struct vnode *vp) active = vp-v_usecount; oweinact = (vp-v_iflag VI_OWEINACT); VI_UNLOCK(vp); + vgonel_reclaim_lowervp(vp); + /* * Clean out any buffers associated with the vnode. * If the flush fails, just toss the buffers. Modified: head/sys/sys/mount.h == --- head/sys/sys/mount.hSun Sep 9 19:11:52 2012(r240283) +++ head/sys/sys/mount.hSun Sep 9 19:17:15 2012(r240284) @@ -188,6 +188,8 @@ struct mount { #definemnt_endzero
svn commit: r240285 - head/sys/fs/nullfs
Author: kib Date: Sun Sep 9 19:20:23 2012 New Revision: 240285 URL: http://svn.freebsd.org/changeset/base/240285 Log: Allow shared lookups for nullfs mounts, if lower filesystem supports it. There are two problems which shall be addressed for shared lookups use to have measurable effect on nullfs scalability: 1. When vfs_lookup() calls VOP_LOOKUP() for nullfs, which passes lookup operation to lower fs, resulting vnode is often only shared-locked. Then null_nodeget() cannot instantiate covering vnode for lower vnode, since insmntque1() and null_hashins() require exclusive lock on the lower. Change the assert that lower vnode is exclusively locked to only require any lock. If null hash failed to find pre-existing nullfs vnode for lower vnode and the vnode is shared-locked, the lower vnode lock is upgraded. 2. Nullfs reclaims its vnodes on deactivation. This is due to nullfs inability to detect reclamation of the lower vnode. Reclamation of a nullfs vnode at deactivation time prevents a reference to the lower vnode to become stale. Change nullfs VOP_INACTIVE to not reclaim the vnode, instead use the VFS_RECLAIM_LOWERVP to get notification and reclaim upper vnode together with the reclamation of the lower vnode. Note that nullfs reclamation procedure calls vput() on the lowervp vnode, temporary unlocking the vnode being reclaimed. This seems to be fine for MPSAFE filesystems, but not-MPSAFE code often put partially initialized vnode on some globally visible list, and later can decide that half-constructed vnode is not needed. If nullfs mount is created above such filesystem, then other threads might catch such not properly initialized vnode. Instead of trying to overcome this case, e.g. by recursing the lower vnode lock in null_reclaim_lowervp(), I decided to rely on nearby removal of the support for non-MPSAFE filesystems. In collaboration with:pho MFC after:3 weeks Modified: head/sys/fs/nullfs/null.h head/sys/fs/nullfs/null_subr.c head/sys/fs/nullfs/null_vfsops.c head/sys/fs/nullfs/null_vnops.c Modified: head/sys/fs/nullfs/null.h == --- head/sys/fs/nullfs/null.h Sun Sep 9 19:17:15 2012(r240284) +++ head/sys/fs/nullfs/null.h Sun Sep 9 19:20:23 2012(r240285) @@ -56,6 +56,7 @@ struct null_node { int nullfs_init(struct vfsconf *vfsp); int nullfs_uninit(struct vfsconf *vfsp); int null_nodeget(struct mount *mp, struct vnode *target, struct vnode **vpp); +struct vnode *null_hashget(struct mount *mp, struct vnode *lowervp); void null_hashrem(struct null_node *xp); int null_bypass(struct vop_generic_args *ap); Modified: head/sys/fs/nullfs/null_subr.c == --- head/sys/fs/nullfs/null_subr.c Sun Sep 9 19:17:15 2012 (r240284) +++ head/sys/fs/nullfs/null_subr.c Sun Sep 9 19:20:23 2012 (r240285) @@ -67,7 +67,6 @@ struct mtx null_hashmtx; static MALLOC_DEFINE(M_NULLFSHASH, nullfs_hash, NULLFS hash table); MALLOC_DEFINE(M_NULLFSNODE, nullfs_node, NULLFS vnode private part); -static struct vnode * null_hashget(struct mount *, struct vnode *); static struct vnode * null_hashins(struct mount *, struct null_node *); /* @@ -98,7 +97,7 @@ nullfs_uninit(vfsp) * Return a VREF'ed alias for lower vnode if already exists, else 0. * Lower vnode should be locked on entry and will be left locked on exit. */ -static struct vnode * +struct vnode * null_hashget(mp, lowervp) struct mount *mp; struct vnode *lowervp; @@ -209,14 +208,10 @@ null_nodeget(mp, lowervp, vpp) struct vnode *vp; int error; - /* -* The insmntque1() call below requires the exclusive lock on -* the nullfs vnode. -*/ - ASSERT_VOP_ELOCKED(lowervp, lowervp); - KASSERT(lowervp-v_usecount = 1, (Unreferenced vnode %p\n, lowervp)); + ASSERT_VOP_LOCKED(lowervp, lowervp); + KASSERT(lowervp-v_usecount = 1, (Unreferenced vnode %p, lowervp)); - /* Lookup the hash firstly */ + /* Lookup the hash firstly. */ *vpp = null_hashget(mp, lowervp); if (*vpp != NULL) { vrele(lowervp); @@ -224,6 +219,19 @@ null_nodeget(mp, lowervp, vpp) } /* +* The insmntque1() call below requires the exclusive lock on +* the nullfs vnode. Upgrade the lock now if hash failed to +* provide ready to use vnode. +*/ + if (VOP_ISLOCKED(lowervp) != LK_EXCLUSIVE) { + vn_lock(lowervp, LK_UPGRADE | LK_RETRY); + if ((lowervp-v_iflag VI_DOOMED) != 0) { + vput(lowervp); + return (ENOENT); + } + } + + /* * We do not serialize vnode creation, instead we will check for * duplicates later, when adding
svn commit: r240286 - head/sys/dev/acpica
Author: mav Date: Sun Sep 9 20:00:00 2012 New Revision: 240286 URL: http://svn.freebsd.org/changeset/base/240286 Log: At least from A70M FCH chipsets AMD started to use their real vendor ID (1022) in HPET. But according to report they still haven't fixed problem with level-triggered interrupts. Make workaround used for earlier chipsets apply to this new ID also. PR: amd64/171355 MFC after:3 days Modified: head/sys/dev/acpica/acpi_hpet.c Modified: head/sys/dev/acpica/acpi_hpet.c == --- head/sys/dev/acpica/acpi_hpet.c Sun Sep 9 19:20:23 2012 (r240285) +++ head/sys/dev/acpica/acpi_hpet.c Sun Sep 9 20:00:00 2012 (r240286) @@ -57,6 +57,7 @@ __FBSDID($FreeBSD$); #endif #define HPET_VENDID_AMD0x4353 +#define HPET_VENDID_AMD2 0x1022 #define HPET_VENDID_INTEL 0x8086 #define HPET_VENDID_NVIDIA 0x10de #define HPET_VENDID_SW 0x1166 @@ -505,7 +506,7 @@ hpet_attach(device_t dev) * properly, that makes it very unreliable - it freezes after any * interrupt loss. Avoid legacy IRQs for AMD. */ - if (vendor == HPET_VENDID_AMD) + if (vendor == HPET_VENDID_AMD || vendor == HPET_VENDID_AMD2) sc-allowed_irqs = 0x; /* * NVidia MCP5x chipsets have number of unexplained interrupt ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240289 - in head/sys/fs: nfs nfsclient
Author: rmacklem Date: Sun Sep 9 21:00:45 2012 New Revision: 240289 URL: http://svn.freebsd.org/changeset/base/240289 Log: Add a simple printf() based debug facility to the new nfs client. Use it for a printf() that can be harmlessly generated for mmap()'d files. It will be used extensively for the NFSv4.1 client. Debugging printf()s are enabled by setting vfs.nfs.debuglevel to a non-zero value. The higher the value, the more debugging printf()s. Reviewed by: jhb MFC after:2 weeks Modified: head/sys/fs/nfs/nfs_commonport.c head/sys/fs/nfs/nfscl.h head/sys/fs/nfsclient/nfs_clrpcops.c Modified: head/sys/fs/nfs/nfs_commonport.c == --- head/sys/fs/nfs/nfs_commonport.cSun Sep 9 20:26:19 2012 (r240288) +++ head/sys/fs/nfs/nfs_commonport.cSun Sep 9 21:00:45 2012 (r240289) @@ -60,6 +60,7 @@ struct mount nfsv4root_mnt; int newnfs_numnfsd = 0; struct nfsstats newnfsstats; int nfs_numnfscbd = 0; +int nfscl_debuglevel = 0; char nfsv4_callbackaddr[INET6_ADDRSTRLEN]; struct callout newnfsd_callout; void (*nfsd_call_servertimer)(void) = NULL; @@ -76,6 +77,8 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_c SYSCTL_STRING(_vfs_nfs, OID_AUTO, callback_addr, CTLFLAG_RW, nfsv4_callbackaddr, sizeof(nfsv4_callbackaddr), NFSv4 callback addr for server to use); +SYSCTL_INT(_vfs_nfs, OID_AUTO, debuglevel, CTLFLAG_RW, nfscl_debuglevel, +0, Debug level for new nfs client); /* * Defines for malloc Modified: head/sys/fs/nfs/nfscl.h == --- head/sys/fs/nfs/nfscl.h Sun Sep 9 20:26:19 2012(r240288) +++ head/sys/fs/nfs/nfscl.h Sun Sep 9 21:00:45 2012(r240289) @@ -68,4 +68,10 @@ struct nfsv4node { #defineNFSSATTR_SIZENEG1 0x4 #defineNFSSATTR_SIZERDEV 0x8 +/* Use this macro for debug printfs. */ +#defineNFSCL_DEBUG(level, ...) do { \ + if (nfscl_debuglevel = (level))\ + printf(__VA_ARGS__);\ + } while (0) + #endif /* _NFS_NFSCL_H */ Modified: head/sys/fs/nfsclient/nfs_clrpcops.c == --- head/sys/fs/nfsclient/nfs_clrpcops.cSun Sep 9 20:26:19 2012 (r240288) +++ head/sys/fs/nfsclient/nfs_clrpcops.cSun Sep 9 21:00:45 2012 (r240289) @@ -56,6 +56,7 @@ extern u_int32_t newnfs_false, newnfs_tr extern nfstype nfsv34_type[9]; extern int nfsrv_useacl; extern char nfsv4_callbackaddr[INET6_ADDRSTRLEN]; +extern int nfscl_debuglevel; NFSCLSTATEMUTEX; int nfstest_outofseq = 0; int nfscl_assumeposixlocks = 1; @@ -1398,7 +1399,7 @@ nfsrpc_write(vnode_t vp, struct uio *uio if (stateid.other[0] == 0 stateid.other[1] == 0 stateid.other[2] == 0) { nostateid = 1; - printf(stateid0 in write\n); + NFSCL_DEBUG(1, stateid0 in write\n); } } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240292 - head/contrib/sendmail/include/libmilter
Author: gshapiro Date: Mon Sep 10 01:15:51 2012 New Revision: 240292 URL: http://svn.freebsd.org/changeset/base/240292 Log: Properly define true/false when defining __bool_true_false_are_defined for filters which pull in mfapi.h before stdbool.h. Issue reported by Petr Rehor, maintainer of amavisd-milter port. MFC after:3 days Modified: head/contrib/sendmail/include/libmilter/mfapi.h Modified: head/contrib/sendmail/include/libmilter/mfapi.h == --- head/contrib/sendmail/include/libmilter/mfapi.h Sun Sep 9 22:12:15 2012(r240291) +++ head/contrib/sendmail/include/libmilter/mfapi.h Mon Sep 10 01:15:51 2012(r240292) @@ -96,6 +96,8 @@ typedef int sfsistat; # ifndef bool # ifndef __bool_true_false_are_defined typedef intbool; +#define false 0 +#define true 1 #define __bool_true_false_are_defined 1 # endif /* ! __bool_true_false_are_defined */ # endif /* bool */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240293 - head/share/misc
Author: eadler Date: Mon Sep 10 02:40:02 2012 New Revision: 240293 URL: http://svn.freebsd.org/changeset/base/240293 Log: Sync access file date recommendation Change from CVS to svn for canconical source of information MFC after:3 days Modified: head/share/misc/committers-doc.dot head/share/misc/committers-ports.dot head/share/misc/committers-src.dot Modified: head/share/misc/committers-doc.dot == --- head/share/misc/committers-doc.dot Mon Sep 10 01:15:51 2012 (r240292) +++ head/share/misc/committers-doc.dot Mon Sep 10 02:40:02 2012 (r240293) @@ -15,7 +15,7 @@ digraph doc { # foo [label=Foo Bar\n...@freebsd.org\n/??/??] # # /??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. # Use /MM/DD format. # # For returned commit bits, the node definition will follow this example: @@ -23,7 +23,7 @@ digraph doc { # foo [label=Foo Bar\n...@freebsd.org\n/??/??\n/??/??] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: head/share/misc/committers-ports.dot == --- head/share/misc/committers-ports.dotMon Sep 10 01:15:51 2012 (r240292) +++ head/share/misc/committers-ports.dotMon Sep 10 02:40:02 2012 (r240293) @@ -15,14 +15,15 @@ digraph ports { # foo [label=Foo Bar\n...@freebsd.org\n/??/??] # # /??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use /MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label=Foo Bar\n...@freebsd.org\n/??/??\n/??/??] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: head/share/misc/committers-src.dot == --- head/share/misc/committers-src.dot Mon Sep 10 01:15:51 2012 (r240292) +++ head/share/misc/committers-src.dot Mon Sep 10 02:40:02 2012 (r240293) @@ -15,14 +15,15 @@ digraph src { # foo [label=Foo Bar\n...@freebsd.org\n/??/??] # # /??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use /MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label=Foo Bar\n...@freebsd.org\n/??/??\n/??/??] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240294 - head/share/misc
Author: eadler Date: Mon Sep 10 02:40:17 2012 New Revision: 240294 URL: http://svn.freebsd.org/changeset/base/240294 Log: Keep this file relatively up to date (taken from f.b.o/adminstration) MFC after:3 days Modified: head/share/misc/organization.dot Modified: head/share/misc/organization.dot == --- head/share/misc/organization.dotMon Sep 10 02:40:02 2012 (r240293) +++ head/share/misc/organization.dotMon Sep 10 02:40:17 2012 (r240294) @@ -30,7 +30,7 @@ coresecretary [label=Core Team Secretar doccommitters [label=Doc/www Committers\ndoc-committ...@freebsd.org] doceng [label=Documentation Engineering Team\ndoc...@freebsd.org\ngjb, blackend,\ngabor, hrs] portscommitters [label=Ports Committers\nports-committ...@freebsd.org] -portmgr [label=Port Management Team\nport...@freebsd.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, flz, miwi] +portmgr [label=Port Management Team\nport...@freebsd.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, miwi] portmgrsecretary [label=Port Management Team Secretary\nportmgr-secret...@freebsd.org\ntabthorpe] re [label=Primary Release Engineering Team\n...@freebsd.org\nmux, bmah, hrs, kensmith,\nmurray, rwatson, dwhite] realpha [label=FreeBSD/alpha Release Engineering Team\nre-al...@freebsd.org\nwilko, murray, rwatson] @@ -41,6 +41,7 @@ repc98 [label=FreeBSD/pc98 Release Engi reppc [label=FreeBSD/ppc Release Engineering Team\nre-...@freebsd.org\ngrehan] resparc64 [label=FreeBSD/sparc64 Release Engineering Team\nre-spar...@freebsd.org\njake, phk, tmm, obrien,\nkensmith, murray, rwatson] secteam [label=Security Team\nsect...@freebsd.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz] +portssecteam [label=Ports Security Team\nports-sect...@freebsd.org\n] secteamsecretary [label=Security Team Secretary\nsecteam-secret...@freebsd.org\nremko] securityofficer [label=Security Officer Team\nsecurity-offi...@freebsd.org\ncperciva, simon, nectar] srccommitters [label=Src Committers\nsrc-committ...@freebsd.org] @@ -49,24 +50,23 @@ srccommitters [label=Src Committers\nsr accounts [label=Accounts Team\naccou...@freebsd.org\nmarkm, simon, kensmith,\ndhw] backups [label=Backup Administrators\nback...@freebsd.org\nsimon, kensmith,\ndhw] -bugmeister [label=Bugmeister Team\nbugmeis...@freebsd.org\nceri, linimon, remko] -clusteradm [label=Cluster Administrators\ncluster...@freebsd.org\nbillf, simon, ps,\nkensmith, peter] +bugmeister [label=Bugmeister Team\nbugmeis...@freebsd.org\neadler, gavin, gonzo, linimon] +clusteradm [label=Cluster Administrators\ncluster...@freebsd.org\nbrd, simon, ps,\nkensmith, peter] cvsupmaster [label=CVSup Mirror Site Coordinators\ncvsup-mas...@freebsd.org\nkuriyama, jdp,\nkensmith] -dcvs [label=CVS doc/www Repository Managers\nd...@freebsd.org\njoe, kuriyama, markm,\nsimon] dnsadm [label=DNS Administrators\ndns...@freebsd.org\nbillf, dg, ps,\nkensmith, peter] mirroradmin [label=FTP/WWW Mirror Site Coordinators\nmirror-ad...@freebsd.org\nkuriyama, kensmith] ncvs [label=CVS src Repository Managers\nn...@freebsd.org\njoe, kuriyama, markm,\nsimon, peter] pcvs [label=CVS ports Repository Managers\np...@freebsd.org\nmarcus, joe, kuriyama,\nmarkm, simon] perforceadmin [label=Perforce Repository Administrators\nperforce-ad...@freebsd.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw] -postmaster [label=Postmaster Team\npostmas...@freebsd.org\njmb, brd, dhw] +postmaster [label=Postmaster Team\npostmas...@freebsd.org\njmb, brd, sahil, dhw] refadm [label=Reference Systems Administrators\nref...@freebsd.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw] webmaster [label=Webmaster Team\nwebmas...@freebsd.org\nnik, kuriyama, simon,\njesusr, wosch] # Misc hats go here alphabetically sorted -donations [label=Donations Team\ndonati...@freebsd.org\nwilko, brueffer,\nobrien, trhodes, ds,\nrwatson] +donations [label=Donations Team\ndonati...@freebsd.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson] marketing [label=Marketing Team\nmarket...@freebsd.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson] -vendorrelations [label=Vendor Relations Team\nvendor-relati...@freebsd.org\nbrueffer, gioria, jmg, rik,\nphilip, hmp, marks,\nmurray] +vendorrelations [label=Vendor Relations Team\nvendor-relati...@freebsd.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray] # Here are the team relationships. # Group together all the entries for the superior team. @@ -114,6 +114,7 @@ re - reppc re - resparc64 securityofficer - secteam +securityofficer - portssecteam secteam - secteamsecretary ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To
svn commit: r240295 - head/include
Author: davidxu Date: Mon Sep 10 05:00:29 2012 New Revision: 240295 URL: http://svn.freebsd.org/changeset/base/240295 Log: Add missing prototype for clock_getcpuclockid. Modified: head/include/time.h Modified: head/include/time.h == --- head/include/time.h Mon Sep 10 02:40:17 2012(r240294) +++ head/include/time.h Mon Sep 10 05:00:29 2012(r240295) @@ -88,6 +88,13 @@ typedef __timer_t timer_t; #include sys/timespec.h #endif /* __POSIX_VISIBLE = 199309 */ +#if __POSIX_VISIBLE = 200112 +#ifndef _PID_T_DECLARED +typedef__pid_t pid_t; +#define_PID_T_DECLARED +#endif +#endif + /* These macros are also in sys/time.h. */ #if !defined(CLOCK_REALTIME) __POSIX_VISIBLE = 200112 #define CLOCK_REALTIME 0 @@ -165,6 +172,10 @@ int clock_settime(clockid_t, const struc int nanosleep(const struct timespec *, struct timespec *); #endif /* __POSIX_VISIBLE = 199309 */ +#if __POSIX_VISIBLE = 200112 +int clock_getcpuclockid(pid_t, clockid_t *); +#endif + #if __POSIX_VISIBLE = 199506 char *asctime_r(const struct tm *, char *); char *ctime_r(const time_t *, char *); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240296 - head/include
Author: davidxu Date: Mon Sep 10 05:09:39 2012 New Revision: 240296 URL: http://svn.freebsd.org/changeset/base/240296 Log: Process CPU-Time Clocks option is supported, define _POSIX_CPUTIME. Modified: head/include/unistd.h Modified: head/include/unistd.h == --- head/include/unistd.h Mon Sep 10 05:00:29 2012(r240295) +++ head/include/unistd.h Mon Sep 10 05:09:39 2012(r240296) @@ -100,6 +100,7 @@ typedef __useconds_tuseconds_t; * returns -1, the functions may be stubbed out. */ #define_POSIX_BARRIERS 200112L +#define_POSIX_CPUTIME 200112L #define_POSIX_READER_WRITER_LOCKS 200112L #define_POSIX_REGEXP 1 #define_POSIX_SHELL1 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r240297 - head/include
Author: davidxu Date: Mon Sep 10 05:12:45 2012 New Revision: 240297 URL: http://svn.freebsd.org/changeset/base/240297 Log: POSIX requires sigevent to be visible after mqueue.h is included. Modified: head/include/mqueue.h Modified: head/include/mqueue.h == --- head/include/mqueue.h Mon Sep 10 05:09:39 2012(r240296) +++ head/include/mqueue.h Mon Sep 10 05:12:45 2012(r240297) @@ -32,8 +32,8 @@ #include sys/cdefs.h #include sys/types.h #include sys/mqueue.h +#include sys/signal.h -struct sigevent; struct timespec; __BEGIN_DECLS ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org