Date: Mon, 2 May 2011 14:23:36 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r221325 - in projects/largeSMP: contrib/openresolv contrib/top sbin/mount_nfs sbin/recoverdisk share/man/man4 share/misc share/mk sys/amd64/conf sys/amd64/pci sys/conf sys/dev/acpica sy... Message-ID: <201105021423.p42ENaiI041835@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: attilio Date: Mon May 2 14:23:36 2011 New Revision: 221325 URL: http://svn.freebsd.org/changeset/base/221325 Log: MFC @ r221324 Modified: projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in projects/largeSMP/sbin/mount_nfs/Makefile projects/largeSMP/sbin/recoverdisk/recoverdisk.1 projects/largeSMP/sbin/recoverdisk/recoverdisk.c projects/largeSMP/share/man/man4/vxge.4 projects/largeSMP/share/misc/bsd-family-tree projects/largeSMP/sys/amd64/conf/GENERIC projects/largeSMP/sys/amd64/pci/pci_bus.c projects/largeSMP/sys/conf/NOTES projects/largeSMP/sys/conf/files projects/largeSMP/sys/conf/kern.mk projects/largeSMP/sys/conf/options projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c projects/largeSMP/sys/dev/pci/pci.c projects/largeSMP/sys/dev/pci/pci_pci.c projects/largeSMP/sys/dev/wpi/if_wpi.c projects/largeSMP/sys/fs/nfs/nfs_commonport.c projects/largeSMP/sys/i386/conf/GENERIC projects/largeSMP/sys/i386/pci/pci_bus.c projects/largeSMP/sys/mips/atheros/ar724x_pci.c projects/largeSMP/sys/mips/conf/PB92.hints projects/largeSMP/sys/nfs/nfssvc.h projects/largeSMP/sys/x86/x86/mptable_pci.c projects/largeSMP/sys/x86/x86/nexus.c projects/largeSMP/usr.bin/man/man.sh projects/largeSMP/usr.bin/nfsstat/nfsstat.1 projects/largeSMP/usr.bin/nfsstat/nfsstat.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in ============================================================================== --- projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/contrib/openresolv/resolvconf.conf.5.in Mon May 2 14:23:36 2011 (r221325) @@ -43,7 +43,7 @@ Listed below are the standard .Nm variables that may be set. .Pp -After updaing this file, you may wish to run +After updating this file, you may wish to run .Nm resolvconf -u to apply the new configuration. .Sh RESOLVCONF OPTIONS Modified: projects/largeSMP/sbin/mount_nfs/Makefile ============================================================================== --- projects/largeSMP/sbin/mount_nfs/Makefile Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sbin/mount_nfs/Makefile Mon May 2 14:23:36 2011 (r221325) @@ -5,7 +5,7 @@ PROG= mount_nfs SRCS= mount_nfs.c getmntopts.c mounttab.c MAN= mount_nfs.8 -MLINKS= mount_nfs.8 mount_newnfs.8 +MLINKS= mount_nfs.8 mount_oldnfs.8 MOUNT= ${.CURDIR}/../mount UMNTALL= ${.CURDIR}/../../usr.sbin/rpc.umntall Modified: projects/largeSMP/sbin/recoverdisk/recoverdisk.1 ============================================================================== --- projects/largeSMP/sbin/recoverdisk/recoverdisk.1 Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sbin/recoverdisk/recoverdisk.1 Mon May 2 14:23:36 2011 (r221325) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 6, 2006 +.Dd May 1, 2011 .Dt RECOVERDISK 1 .Os .Sh NAME @@ -33,17 +33,20 @@ .Sh SYNOPSIS .Nm .Op Fl b Ar bigsize -.Op Fl r Ar rlist -.Op Fl s Ar snapshot -.Op Fl w Ar wlist -.Ar special -.Op Ar file +.Op Fl r Ar readlist +.Op Fl s Ar interval +.Op Fl w Ar writelist +.Ar source +.Op Ar destination .Sh DESCRIPTION The .Nm utility reads data from the -.Ar special +.Ar source file until all blocks could be successfully read. +If +.Ar destination +was specified all data is being written to that file. It starts reading in multiples of the sector size. Whenever a block fails, it is put to the end of the working queue and will be read again, possibly with a smaller read size. @@ -59,13 +62,13 @@ The options are as follows: The size of reads attempted first. The middle pass is roughly the logarithmic average of the bigsize and the sectorsize. -.It Fl r Ar rlist +.It Fl r Ar readlist Read the list of blocks and block sizes to read from the specified file. -.It Fl s Ar snapshot -How often we should update the worklist file while things go OK. -The default is 60 and the units is "progress messages" so if things +.It Fl s Ar interval +How often we should update the writelist file while things go OK. +The default is 60 and the unit is "progress messages" so if things go well, this is the same as once per minute. -.It Fl w Ar wlist +.It Fl w Ar writelist Write the list of remaining blocks to read to the specified file if .Nm is aborted via @@ -102,20 +105,19 @@ Percent complete. .Sh EXAMPLES .Bd -literal # recover data from failing hard drive ad3 -touch /data/lots_of_space -recoverdisk /dev/ad3 /data/lots_of_space +recoverdisk /dev/ad3 /data/disk.img # clone a hard disk recoverdisk /dev/ad3 /dev/ad4 # read an ISO image from a CD-ROM -touch /data/cd.iso; recoverdisk /dev/acd0 /data/cd.iso +recoverdisk /dev/cd0 /data/cd.iso # continue reading from a broken CD and update the existing worklist -recoverdisk -r worklist -w worklist /dev/acd0 /data/cd.iso +recoverdisk -r worklist -w worklist /dev/cd0 /data/cd.iso # recover a single file from the unreadable media -touch file.avi; recoverdisk /cdrom/file.avi file.avi +recoverdisk /cdrom/file.avi file.avi # If the disk hangs the system on read-errors try: recoverdisk -b 0 /dev/ad3 /somewhere @@ -133,7 +135,7 @@ utility first appeared in The original implementation was done by .An Poul-Henning Kamp Aq phk@FreeBSD.org with minor improvements from -.An Ulrich Sp\(:orlein Aq uspoerlein@gmail.com . +.An Ulrich Sp\(:orlein Aq uqs@FreeBSD.org . .Pp This manual page was written by .An Ulrich Sp\(:orlein . @@ -144,4 +146,13 @@ This is due to the DMA reads being split These reads then fail if the sectorsize is not a divisor of 128kB. When reading a full raw audio CD, this leads to roughly 700 error messages flying by. -This is harmless. +This is harmless and can be avoided by setting +.Fl b +to no more than 128kB. +.\".Pp +.\"When reading from optical media, a bug in the GEOM framework will +.\"prevent it from seeing that the media has been removed. +.\"The device can still be opened, but all reads will fail. +.\"This is usually harmless, but will send +.\".Nm +.\"into an infinite loop. Modified: projects/largeSMP/sbin/recoverdisk/recoverdisk.c ============================================================================== --- projects/largeSMP/sbin/recoverdisk/recoverdisk.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sbin/recoverdisk/recoverdisk.c Mon May 2 14:23:36 2011 (r221325) @@ -86,7 +86,7 @@ save_worklist(void) if (file == NULL) err(1, "Error opening file %s", wworklist); - TAILQ_FOREACH(llp, &lumps, list) + TAILQ_FOREACH(llp, &lumps, list) fprintf(file, "%jd %jd %d\n", (intmax_t)llp->start, (intmax_t)llp->len, llp->state); @@ -134,8 +134,8 @@ read_worklist(off_t t) static void usage(void) { - (void)fprintf(stderr, - "usage: recoverdisk [-r worklist] [-w worklist] source-drive [destination]\n"); + (void)fprintf(stderr, "usage: recoverdisk [-b bigsize] [-r readlist] " + "[-s interval] [-w writelist] source [destination]\n"); exit(1); } @@ -153,7 +153,7 @@ main(int argc, char * const argv[]) int fdr, fdw; off_t t, d, start, len; size_t i, j; - int error, flags, state; + int error, state; u_char *buf; u_int sectorsize; time_t t1, t2; @@ -196,7 +196,6 @@ main(int argc, char * const argv[]) error = fstat(fdr, &sb); if (error < 0) err(1, "fstat failed"); - flags = O_WRONLY; if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) { error = ioctl(fdr, DIOCGSECTORSIZE, §orsize); if (error < 0) @@ -210,7 +209,6 @@ main(int argc, char * const argv[]) err(1, "DIOCGMEDIASIZE failed"); } else { t = sb.st_size; - flags |= O_CREAT | O_TRUNC; } if (bigsize < minsize) @@ -229,9 +227,12 @@ main(int argc, char * const argv[]) err(1, "Cannot allocate %zu bytes buffer", bigsize); if (argc > 1) { - fdw = open(argv[1], flags, DEFFILEMODE); + fdw = open(argv[1], O_WRONLY | O_CREAT, DEFFILEMODE); if (fdw < 0) err(1, "Cannot open write descriptor %s", argv[1]); + if (ftruncate(fdw, t) < 0) + err(1, "Cannot truncate output %s to %jd bytes", + argv[1], (intmax_t)t); } else fdw = -1; @@ -292,6 +293,10 @@ main(int argc, char * const argv[]) } printf("\n%jd %zu failed (%s)\n", lp->start, i, strerror(errno)); + if (errno == EINVAL) { + printf("read() size too big? Try with -b 131072"); + aborting = 1; + } if (errno == ENXIO) aborting = 1; new_lump(lp->start, i, lp->state + 1); Modified: projects/largeSMP/share/man/man4/vxge.4 ============================================================================== --- projects/largeSMP/share/man/man4/vxge.4 Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/share/man/man4/vxge.4 Mon May 2 14:23:36 2011 (r221325) @@ -49,13 +49,12 @@ The .Nm driver provides support for Neterion X3100 adapters. The driver supports TCP Segmentation Offload (TSO/LSO), -Large Receive Offlaod (LRO), Jumbo Frames, Receive Traffic Hash (RTH), +Large Receive Offload (LRO), Jumbo Frames, Receive Traffic Hash (RTH), VLAN, Promiscuous mode and Multi function mode. .Pp - The .Nm -driver supports following function modes: +driver supports the following function modes: .Bd -ragged -offset indent .Cd "SF1_VP17 - 1 function with 17 VPATHs" .Ed Modified: projects/largeSMP/share/misc/bsd-family-tree ============================================================================== --- projects/largeSMP/share/misc/bsd-family-tree Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/share/misc/bsd-family-tree Mon May 2 14:23:36 2011 (r221325) @@ -246,7 +246,7 @@ FreeBSD 5.2 | | | | | | | NetBSD 5.1 | | | FreeBSD FreeBSD | | | | | 8.2 7.4 | | | DragonFly 2.10.1 - | v | | | | + | v | | OpenBSD 4.9 | | | | | | FreeBSD 9 -current | NetBSD -current OpenBSD -current | | | | | | @@ -533,6 +533,7 @@ NetBSD 5.1 2010-11-19 [NBD] FreeBSD 7.4 2011-02-24 [FBD] FreeBSD 8.2 2011-02-24 [FBD] DragonFly 2.10.1 2011-04-26 [DFB] +OpenBSD 4.9 2011-05-01 [OBD] Bibliography ------------------------ Modified: projects/largeSMP/sys/amd64/conf/GENERIC ============================================================================== --- projects/largeSMP/sys/amd64/conf/GENERIC Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/amd64/conf/GENERIC Mon May 2 14:23:36 2011 (r221325) @@ -261,8 +261,16 @@ device ath_pci # Atheros pci/cardbus g device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +device ipw # Intel 2100 wireless NICs. +device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +device iwn # Intel 4965/1000/5000/6000 wireless NICs. +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +device wpi # Intel 3945ABG wireless NICs. # Pseudo devices. device loop # Network loopback @@ -314,7 +322,9 @@ device rue # RealTek RTL8150 USB Ether device udav # Davicom DM9601E USB # USB Wireless device rum # Ralink Technology RT2501USB wireless NICs +device run # Ralink Technology RT2700/RT2800/RT3000 NICs. device uath # Atheros AR5523 wireless NICs +device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs device zyd # ZyDAS zb1211/zb1211b wireless NICs Modified: projects/largeSMP/sys/amd64/pci/pci_bus.c ============================================================================== --- projects/largeSMP/sys/amd64/pci/pci_bus.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/amd64/pci/pci_bus.c Mon May 2 14:23:36 2011 (r221325) @@ -348,6 +348,7 @@ static device_method_t legacy_pcib_metho DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/conf/NOTES ============================================================================== --- projects/largeSMP/sys/conf/NOTES Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/NOTES Mon May 2 14:23:36 2011 (r221325) @@ -1940,6 +1940,8 @@ device xmphy # XaQti XMAC II # lge: Support for PCI gigabit ethernet adapters based on the Level 1 # LXT1001 NetCellerator chipset. This includes the D-Link DGE-500SX, # SMC TigerCard 1000 (SMC9462SX), and some Addtron cards. +# malo: Marvell Libertas wireless NICs. +# mwl: Marvell 88W8363 802.11n wireless NICs. # msk: Support for gigabit ethernet adapters based on the Marvell/SysKonnect # Yukon II Gigabit controllers, including 88E8021, 88E8022, 88E8061, # 88E8062, 88E8035, 88E8036, 88E8038, 88E8050, 88E8052, 88E8053, @@ -2131,6 +2133,8 @@ options AH_RXCFG_SDMAMW_4BYTES device ath_rate_sample # SampleRate tx rate control for ath device bwi # Broadcom BCM430* BCM431* device bwn # Broadcom BCM43xx +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. # Use "private" jumbo buffers allocated exclusively for the ti(4) driver. @@ -2727,6 +2731,9 @@ device run # Atheros AR5523 wireless driver device uath # +# Conexant/Intersil PrismGT wireless driver +device upgt +# # Ralink Technology RT2500USB wireless driver device ural # Modified: projects/largeSMP/sys/conf/files ============================================================================== --- projects/largeSMP/sys/conf/files Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/files Mon May 2 14:23:36 2011 (r221325) @@ -1995,6 +1995,7 @@ dev/wi/if_wi.c optional wi dev/wi/if_wi_pccard.c optional wi pccard dev/wi/if_wi_pci.c optional wi pci dev/wl/if_wl.c optional wl isa +dev/wpi/if_wpi.c optional wpi pci wpifw.c optional wpifw \ compile-with "${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 -mwpi -c${.TARGET}" \ no-implicit-rule before-depend local \ Modified: projects/largeSMP/sys/conf/kern.mk ============================================================================== --- projects/largeSMP/sys/conf/kern.mk Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/kern.mk Mon May 2 14:23:36 2011 (r221325) @@ -3,24 +3,25 @@ # # Warning flags for compiling the kernel and components of the kernel. # -# Note that the newly added -Wcast-qual is responsible for generating +# Note that the newly added -Wcast-qual is responsible for generating # most of the remaining warnings. Warnings introduced with -Wall will # also pop up, but are easier to fix. CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ - -Wundef -Wno-pointer-sign -fformat-extensions + -Wundef -Wno-pointer-sign -fformat-extensions \ + -Wmissing-include-dirs # # The following flags are next up for working on: -# -W +# -Wextra # -# On the i386, do not align the stack to 16-byte boundaries. Otherwise GCC -# 2.95 adds code to the entry and exit point of every function to align the +# On i386, do not align the stack to 16-byte boundaries. Otherwise GCC 2.95 +# and above adds code to the entry and exit point of every function to align the # stack to 16-byte boundaries -- thus wasting approximately 12 bytes of stack -# per function call. While the 16-byte alignment may benefit micro benchmarks, +# per function call. While the 16-byte alignment may benefit micro benchmarks, # it is probably an overall loss as it makes the code bigger (less efficient # use of code cache tag lines) and uses more stack (less efficient use of data -# cache tag lines). Explicitly prohibit the use of SSE and other SIMD +# cache tag lines). Explicitly prohibit the use of FPU, SSE and other SIMD # operations inside the kernel itself. These operations are exclusively # reserved for user applications. # @@ -35,6 +36,7 @@ INLINE_LIMIT?= 8000 .if ${MACHINE_CPUARCH} == "arm" INLINE_LIMIT?= 8000 .endif + # # For IA-64, we use r13 for the kernel globals pointer and we only use # a very small subset of float registers for integer divides. @@ -98,7 +100,7 @@ INLINE_LIMIT?= 8000 CFLAGS+= -ffreestanding # -# GCC SSP support. +# GCC SSP support # .if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \ ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" @@ -106,9 +108,8 @@ CFLAGS+= -fstack-protector .endif # -# Enable CTF conversation on request. +# Enable CTF conversation on request # .if defined(WITH_CTF) .undef NO_CTF .endif - Modified: projects/largeSMP/sys/conf/options ============================================================================== --- projects/largeSMP/sys/conf/options Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/conf/options Mon May 2 14:23:36 2011 (r221325) @@ -775,6 +775,8 @@ ATH_ENABLE_11N opt_ah.h # options for the Atheros hal AH_SUPPORT_AR5416 opt_ah.h +# XXX For now, this breaks non-AR9130 chipsets, so only use it +# XXX when actually targetting AR9130. AH_SUPPORT_AR9130 opt_ah.h AH_DEBUG opt_ah.h @@ -791,6 +793,7 @@ AH_MAXCHAN opt_ah.h AH_RXCFG_SDMAMW_4BYTES opt_ah.h # AR5416 and later interrupt mitigation +# XXX do not use this for AR9130 AH_AR5416_INTERRUPT_MITIGATION opt_ah.h # options for the Broadcom BCM43xx driver (bwi) Modified: projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/acpica/acpi_pcib_acpi.c Mon May 2 14:23:36 2011 (r221325) @@ -100,6 +100,7 @@ static device_method_t acpi_pcib_acpi_me DEVMETHOD(bus_read_ivar, acpi_pcib_read_ivar), DEVMETHOD(bus_write_ivar, acpi_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, acpi_pcib_acpi_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/dev/pci/pci.c ============================================================================== --- projects/largeSMP/sys/dev/pci/pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/pci/pci.c Mon May 2 14:23:36 2011 (r221325) @@ -142,6 +142,7 @@ static device_method_t pci_methods[] = { DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_delete_resource, pci_delete_resource), DEVMETHOD(bus_alloc_resource, pci_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_rl_release_resource), DEVMETHOD(bus_activate_resource, pci_activate_resource), DEVMETHOD(bus_deactivate_resource, pci_deactivate_resource), Modified: projects/largeSMP/sys/dev/pci/pci_pci.c ============================================================================== --- projects/largeSMP/sys/dev/pci/pci_pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/pci/pci_pci.c Mon May 2 14:23:36 2011 (r221325) @@ -73,6 +73,7 @@ static device_method_t pcib_methods[] = DEVMETHOD(bus_read_ivar, pcib_read_ivar), DEVMETHOD(bus_write_ivar, pcib_write_ivar), DEVMETHOD(bus_alloc_resource, pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/dev/wpi/if_wpi.c ============================================================================== --- projects/largeSMP/sys/dev/wpi/if_wpi.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/dev/wpi/if_wpi.c Mon May 2 14:23:36 2011 (r221325) @@ -2298,7 +2298,7 @@ wpi_mrr_setup(struct wpi_softc *sc) } /* setup MRR for control frames */ - mrr.which = htole32(WPI_MRR_CTL); + mrr.which = WPI_MRR_CTL; error = wpi_cmd(sc, WPI_CMD_MRR_SETUP, &mrr, sizeof mrr, 0); if (error != 0) { device_printf(sc->sc_dev, @@ -2307,7 +2307,7 @@ wpi_mrr_setup(struct wpi_softc *sc) } /* setup MRR for data frames */ - mrr.which = htole32(WPI_MRR_DATA); + mrr.which = WPI_MRR_DATA; error = wpi_cmd(sc, WPI_CMD_MRR_SETUP, &mrr, sizeof mrr, 0); if (error != 0) { device_printf(sc->sc_dev, Modified: projects/largeSMP/sys/fs/nfs/nfs_commonport.c ============================================================================== --- projects/largeSMP/sys/fs/nfs/nfs_commonport.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/fs/nfs/nfs_commonport.c Mon May 2 14:23:36 2011 (r221325) @@ -404,6 +404,8 @@ nfssvc_call(struct thread *p, struct nfs } else if (uap->flag & NFSSVC_GETSTATS) { error = copyout(&newnfsstats, CAST_USER_ADDR_T(uap->argp), sizeof (newnfsstats)); + if ((uap->flag & NFSSVC_ZEROSTATS) != 0 && error == 0) + bzero(&newnfsstats, sizeof(newnfsstats)); return (error); } else if (uap->flag & NFSSVC_NFSUSERDPORT) { u_short sockport; Modified: projects/largeSMP/sys/i386/conf/GENERIC ============================================================================== --- projects/largeSMP/sys/i386/conf/GENERIC Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/i386/conf/GENERIC Mon May 2 14:23:36 2011 (r221325) @@ -273,9 +273,17 @@ device ath_pci # Atheros pci/cardbus g device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +device ipw # Intel 2100 wireless NICs. +device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +device iwn # Intel 4965/1000/5000/6000 wireless NICs. +device malo # Marvell Libertas wireless NICs. +device mwl # Marvell 88W8363 802.11n wireless NICs. device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC. +device wpi # Intel 3945ABG wireless NICs. # Pseudo devices. device loop # Network loopback @@ -327,7 +335,9 @@ device rue # RealTek RTL8150 USB Ether device udav # Davicom DM9601E USB # USB Wireless device rum # Ralink Technology RT2501USB wireless NICs +device run # Ralink Technology RT2700/RT2800/RT3000 NICs. device uath # Atheros AR5523 wireless NICs +device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs device zyd # ZyDAS zb1211/zb1211b wireless NICs Modified: projects/largeSMP/sys/i386/pci/pci_bus.c ============================================================================== --- projects/largeSMP/sys/i386/pci/pci_bus.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/i386/pci/pci_bus.c Mon May 2 14:23:36 2011 (r221325) @@ -565,6 +565,7 @@ static device_method_t legacy_pcib_metho DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/mips/atheros/ar724x_pci.c ============================================================================== --- projects/largeSMP/sys/mips/atheros/ar724x_pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/mips/atheros/ar724x_pci.c Mon May 2 14:23:36 2011 (r221325) @@ -57,8 +57,7 @@ __FBSDID("$FreeBSD$"); #include <mips/atheros/ar71xxreg.h> #include <mips/atheros/ar724xreg.h> #include <mips/atheros/ar71xx_setup.h> -#include <mips/atheros/ar71xx_pci_bus_space.h> /* XXX */ -#include <mips/atheros/ar71xx_bus_space_reversed.h> /* XXX */ +#include <mips/atheros/ar71xx_pci_bus_space.h> #include <mips/atheros/ar71xx_cpudef.h> @@ -113,7 +112,7 @@ static uint32_t ar724x_pci_read_config(device_t dev, u_int bus, u_int slot, u_int func, u_int reg, int bytes) { - uint32_t cmd, data, shift, mask; + uint32_t data, shift, mask; /* Register access is 32-bit aligned */ shift = (reg & 3) * 8; @@ -125,18 +124,9 @@ ar724x_pci_read_config(device_t dev, u_i dprintf("%s: tag (%x, %x, %x) reg %d(%d)\n", __func__, bus, slot, func, reg, bytes); - if ((bus == 0) && (slot == 0) && (func == 0)) { + if ((bus == 0) && (slot == 0) && (func == 0)) data = ATH_READ_REG(AR724X_PCI_CFG_BASE + (reg & ~3)); - /* - * WAR for BAR issue - We are unable to access the PCI device - * space if we set the BAR with proper base address. - */ - if (reg == PCIR_BAR(0) && bytes == 4) { - cmd = (ar71xx_soc == AR71XX_SOC_AR7240) ? - 0xffff : 0x1000ffff; - ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, cmd, bytes); - } - } else + else data = -1; /* Get request bytes from 32-bit word */ @@ -158,14 +148,14 @@ ar724x_pci_write_config(device_t dev, u_ if ((bus != 0) || (slot != 0) || (func != 0)) return; - ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, data, bytes); /* - * WAR for BAR issue - We are unable to access the PCI device space - * if we set the BAR with proper base address. - * Force a flush here (at register writing). + * WAR for BAR issue on AR7240 - We are unable to access the PCI device + * space if we set the BAR with proper base address. */ - if (reg == PCIR_BAR(0) && bytes == 4) - (void)ar724x_pci_read_config(dev, bus, slot, func, reg, bytes); + if (reg == PCIR_BAR(0) && bytes == 4 && ar71xx_soc == AR71XX_SOC_AR7240) + ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, 0xffff, bytes); + else + ar724x_pci_write(AR724X_PCI_CFG_BASE, reg, data, bytes); } static void @@ -232,6 +222,9 @@ ar724x_pci_setup(device_t dev) else reg = 0x1ffc1; ATH_WRITE_REG(AR724X_PCI_APP, reg); + /* Flush write */ + (void) ATH_READ_REG(AR724X_PCI_APP); + DELAY(1000); reg = ATH_READ_REG(AR724X_PCI_RESET); @@ -457,10 +450,7 @@ ar724x_pci_activate_resource(device_t bu case SYS_RES_MEMORY: case SYS_RES_IOPORT: - /* XXX */ - //rman_set_bustag(r, ar71xx_bus_space_pcimem); - //rman_set_bustag(r, mips_bus_space_generic); - rman_set_bustag(r, ar71xx_bus_space_reversed); + rman_set_bustag(r, ar71xx_bus_space_pcimem); break; } } Modified: projects/largeSMP/sys/mips/conf/PB92.hints ============================================================================== --- projects/largeSMP/sys/mips/conf/PB92.hints Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/mips/conf/PB92.hints Mon May 2 14:23:36 2011 (r221325) @@ -30,7 +30,11 @@ hint.arge.0.at="nexus0" hint.arge.0.maddr=0x19000000 hint.arge.0.msize=0x1000 hint.arge.0.irq=2 -hint.arge.0.phymask=0x1 + +# AR8316 workaround for now +hint.arge.0.media=1000 +hint.arge.0.fduplex=1 +hint.arge.0.phymask=0x3 # GPIO hint.gpio.0.at="apb0" Modified: projects/largeSMP/sys/nfs/nfssvc.h ============================================================================== --- projects/largeSMP/sys/nfs/nfssvc.h Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/nfs/nfssvc.h Mon May 2 14:23:36 2011 (r221325) @@ -64,5 +64,6 @@ #define NFSSVC_CBADDSOCK 0x00200000 #define NFSSVC_GETSTATS 0x00400000 #define NFSSVC_BACKUPSTABLE 0x00800000 +#define NFSSVC_ZEROSTATS 0x01000000 /* modifier for GETSTATS */ #endif /* _NFS_NFSSVC_H */ Modified: projects/largeSMP/sys/x86/x86/mptable_pci.c ============================================================================== --- projects/largeSMP/sys/x86/x86/mptable_pci.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/x86/x86/mptable_pci.c Mon May 2 14:23:36 2011 (r221325) @@ -116,6 +116,7 @@ static device_method_t mptable_hostb_met DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_adjust_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), Modified: projects/largeSMP/sys/x86/x86/nexus.c ============================================================================== --- projects/largeSMP/sys/x86/x86/nexus.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/sys/x86/x86/nexus.c Mon May 2 14:23:36 2011 (r221325) @@ -100,6 +100,8 @@ static device_t nexus_add_child(device_t int unit); static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, u_long, u_long, u_long, u_int); +static int nexus_adjust_resource(device_t, device_t, int, struct resource *, + u_long, u_long); #ifdef SMP static int nexus_bind_intr(device_t, device_t, struct resource *, int); #endif @@ -144,6 +146,7 @@ static device_method_t nexus_methods[] = DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), + DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_activate_resource, nexus_activate_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), @@ -332,6 +335,23 @@ nexus_add_child(device_t bus, u_int orde return(child); } +static struct rman * +nexus_rman(int type) +{ + switch (type) { + case SYS_RES_IRQ: + return (&irq_rman); + case SYS_RES_DRQ: + return (&drq_rman); + case SYS_RES_IOPORT: + return (&port_rman); + case SYS_RES_MEMORY: + return (&mem_rman); + default: + return (NULL); + } +} + /* * Allocate a resource on behalf of child. NB: child is usually going to be a * child of one of our descendants, not a direct child of nexus0. @@ -364,27 +384,9 @@ nexus_alloc_resource(device_t bus, devic } flags &= ~RF_ACTIVE; - - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - - case SYS_RES_DRQ: - rm = &drq_rman; - break; - - case SYS_RES_IOPORT: - rm = &port_rman; - break; - - case SYS_RES_MEMORY: - rm = &mem_rman; - break; - - default: - return 0; - } + rm = nexus_rman(type); + if (rm == NULL) + return (NULL); rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == 0) @@ -402,6 +404,20 @@ nexus_alloc_resource(device_t bus, devic } static int +nexus_adjust_resource(device_t bus, device_t child, int type, + struct resource *r, u_long start, u_long end) +{ + struct rman *rm; + + rm = nexus_rman(type); + if (rm == NULL) + return (ENXIO); + if (!rman_is_region_manager(r, rm)) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + +static int nexus_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { Modified: projects/largeSMP/usr.bin/man/man.sh ============================================================================== --- projects/largeSMP/usr.bin/man/man.sh Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/usr.bin/man/man.sh Mon May 2 14:23:36 2011 (r221325) @@ -889,16 +889,18 @@ do_whatis() { search_whatis whatis "$@" } -EQN=/usr/bin/eqn +# User's PATH setting decides on the groff-suite to pick up. +EQN=eqn +NROFF='groff -S -P-c -Wall -mtty-char -man' +PIC=pic +REFER=refer +TBL=tbl +TROFF='groff -S -P-c -man' +VGRIND=vgrind + COL=/usr/bin/col LOCALE=/usr/bin/locale -NROFF='/usr/bin/groff -S -Wall -mtty-char -man' -PIC=/usr/bin/pic SYSCTL=/sbin/sysctl -TBL=/usr/bin/tbl -TROFF='/usr/bin/groff -S -man' -REFER=/usr/bin/refer -VGRIND=/usr/bin/vgrind debug=0 man_default_sections='1:1aout:8:2:3:n:4:5:6:7:9:l' Modified: projects/largeSMP/usr.bin/nfsstat/nfsstat.1 ============================================================================== --- projects/largeSMP/usr.bin/nfsstat/nfsstat.1 Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/usr.bin/nfsstat/nfsstat.1 Mon May 2 14:23:36 2011 (r221325) @@ -28,7 +28,7 @@ .\" From: @(#)nfsstat.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd October 18, 2007 +.Dd May 1, 2011 .Dt NFSSTAT 1 .Os .Sh NAME @@ -78,7 +78,6 @@ activity for both the client and server second intervals. .It Fl z Reset statistics after displaying them. -(Not currently supported by the experimental nfs subsystem.) .It Fl e Gather statistics from the experimental nfs subsystem that includes support for NFSv4 instead of the regular nfs subsystem. Modified: projects/largeSMP/usr.bin/nfsstat/nfsstat.c ============================================================================== --- projects/largeSMP/usr.bin/nfsstat/nfsstat.c Mon May 2 14:13:12 2011 (r221324) +++ projects/largeSMP/usr.bin/nfsstat/nfsstat.c Mon May 2 14:23:36 2011 (r221325) @@ -85,6 +85,7 @@ static int zflag = 0; static int run_v4 = 0; static int printtitle = 1; static struct ext_nfsstats ext_nfsstats; +static int nfssvc_flag; void intpr(int, int); void printhdr(int, int); @@ -107,6 +108,7 @@ main(int argc, char **argv) char *memf, *nlistf; char errbuf[_POSIX2_LINE_MAX]; + nfssvc_flag = NFSSVC_GETSTATS; interval = 0; memf = nlistf = NULL; while ((ch = getopt(argc, argv, "cesWM:N:w:z")) != -1) @@ -135,6 +137,7 @@ main(int argc, char **argv) break; case 'z': zflag = 1; + nfssvc_flag |= NFSSVC_ZEROSTATS; break; case 'e': run_v4 = 1; @@ -161,7 +164,7 @@ main(int argc, char **argv) errx(1, "experimental client/server not loaded"); if (run_v4 != 0) { - if (nfssvc(NFSSVC_GETSTATS, &ext_nfsstats) < 0) + if (nfssvc(nfssvc_flag, &ext_nfsstats) < 0) err(1, "Can't get stats"); } else if (nlistf != NULL || memf != NULL) { deadkernel = 1; @@ -793,13 +796,13 @@ exp_sidewaysintpr(u_int interval, int cl int hdrcnt = 1; ext_nfsstatsp = &lastst; - if (nfssvc(NFSSVC_GETSTATS, ext_nfsstatsp) < 0) + if (nfssvc(nfssvc_flag, ext_nfsstatsp) < 0) err(1, "Can't get stats"); sleep(interval); for (;;) { ext_nfsstatsp = &nfsstats; - if (nfssvc(NFSSVC_GETSTATS, ext_nfsstatsp) < 0) + if (nfssvc(nfssvc_flag, ext_nfsstatsp) < 0) err(1, "Can't get stats"); if (--hdrcnt == 0) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105021423.p42ENaiI041835>