Date: Wed, 2 Jul 2008 10:04:34 GMT From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 144476 for review Message-ID: <200807021004.m62A4YnS006795@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 <sys/cdefs.h> -__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 <sys/cdefs.h> -__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 <stdio.h> #include <stdlib.h> @@ -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<argc; ++i) { @@ -792,7 +802,17 @@ ioctl (fd, SERIAL_SETPROTO, "zaptel\0"); } else if (strncasecmp ("debug=", argv[i], 6) == 0) { debug = strtol (argv[i]+6, 0, 10); - ioctl (fd, SERIAL_SETDEBUG, &debug); + mode_valid = ioctl (fd, SERIAL_GETMODE, &mode) >= 0; + if (!mode_valid || mode != SERIAL_ASYNC) { + if (debug == 0) { + set_debug_ifconfig(0); + } else { + ioctl (fd, SERIAL_SETDEBUG, &debug); + set_debug_ifconfig(1); + } + } else { + ioctl (fd, SERIAL_SETDEBUG, &debug); + } } else if (strncasecmp ("loop=", argv[i], 5) == 0) { loop = (strcasecmp ("on", argv[i] + 5) == 0); ioctl (fd, SERIAL_SETLOOP, &loop); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include <sys/cdefs.h> -__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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/disklabel.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/ucred.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/proc.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> @@ -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 <sys/cdefs.h> -__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 <dev/mpt/mpt.h> #include <dev/mpt/mpt_cam.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/conf.h> @@ -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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807021004.m62A4YnS006795>