svn commit: r304518 - stable/9/contrib/binutils/bfd
Author: pfg Date: Sat Aug 20 02:21:45 2016 New Revision: 304518 URL: https://svnweb.freebsd.org/changeset/base/304518 Log: MFC r303147 binutils: fix "Bad value" error in bfd for MIPS when using -Bsymbolic. From OpenBSD's log: Inspired by https://sourceware.org/ml/binutils/2010-08/msg00333.html, but expressed differently so there are no GPLv3 issues. Obtained from:OpenBSD (CVS rev. 1.7) Modified: stable/9/contrib/binutils/bfd/elfxx-mips.c Directory Properties: stable/9/contrib/binutils/ (props changed) Modified: stable/9/contrib/binutils/bfd/elfxx-mips.c == --- stable/9/contrib/binutils/bfd/elfxx-mips.c Sat Aug 20 02:18:44 2016 (r304517) +++ stable/9/contrib/binutils/bfd/elfxx-mips.c Sat Aug 20 02:21:45 2016 (r304518) @@ -4797,7 +4797,7 @@ mips_elf_create_dynamic_relocation (bfd /* We must now calculate the dynamic symbol table index to use in the relocation. */ if (h != NULL - && (!h->root.def_regular + && (sec == NULL || !h->root.def_regular || (info->shared && !info->symbolic && !h->root.forced_local))) { indx = h->root.dynindx; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304517 - stable/10/contrib/binutils/bfd
Author: pfg Date: Sat Aug 20 02:18:44 2016 New Revision: 304517 URL: https://svnweb.freebsd.org/changeset/base/304517 Log: MFC r303147 binutils: fix "Bad value" error in bfd for MIPS when using -Bsymbolic. From OpenBSD's log: Inspired by https://sourceware.org/ml/binutils/2010-08/msg00333.html, but expressed differently so there are no GPLv3 issues. Obtained from:OpenBSD (CVS rev. 1.7) Modified: stable/10/contrib/binutils/bfd/elfxx-mips.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/binutils/bfd/elfxx-mips.c == --- stable/10/contrib/binutils/bfd/elfxx-mips.c Sat Aug 20 02:14:14 2016 (r304516) +++ stable/10/contrib/binutils/bfd/elfxx-mips.c Sat Aug 20 02:18:44 2016 (r304517) @@ -4801,7 +4801,7 @@ mips_elf_create_dynamic_relocation (bfd /* We must now calculate the dynamic symbol table index to use in the relocation. */ if (h != NULL - && (!h->root.def_regular + && (sec == NULL || !h->root.def_regular || (info->shared && !info->symbolic && !h->root.forced_local))) { indx = h->root.dynindx; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304516 - stable/11/contrib/binutils/bfd
Author: pfg Date: Sat Aug 20 02:14:14 2016 New Revision: 304516 URL: https://svnweb.freebsd.org/changeset/base/304516 Log: MFC r303147 binutils: fix "Bad value" error in bfd for MIPS when using -Bsymbolic. From OpenBSD's log: Inspired by https://sourceware.org/ml/binutils/2010-08/msg00333.html, but expressed differently so there are no GPLv3 issues. Obtained from:OpenBSD (CVS rev. 1.7) Modified: stable/11/contrib/binutils/bfd/elfxx-mips.c Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/binutils/bfd/elfxx-mips.c == --- stable/11/contrib/binutils/bfd/elfxx-mips.c Sat Aug 20 02:06:59 2016 (r304515) +++ stable/11/contrib/binutils/bfd/elfxx-mips.c Sat Aug 20 02:14:14 2016 (r304516) @@ -4801,7 +4801,7 @@ mips_elf_create_dynamic_relocation (bfd /* We must now calculate the dynamic symbol table index to use in the relocation. */ if (h != NULL - && (!h->root.def_regular + && (sec == NULL || !h->root.def_regular || (info->shared && !info->symbolic && !h->root.forced_local))) { indx = h->root.dynindx; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304515 - in stable/11: contrib/openresolv sbin/resolvconf
Author: pfg Date: Sat Aug 20 02:06:59 2016 New Revision: 304515 URL: https://svnweb.freebsd.org/changeset/base/304515 Log: MFC r303062, r303567, r303593: MFV r298167, r300962, r303048: openresolv(8): update to version 3.8.1. Among the new features it attempts to support alternative init systems. Modified: stable/11/contrib/openresolv/Makefile stable/11/contrib/openresolv/configure stable/11/contrib/openresolv/dnsmasq.in stable/11/contrib/openresolv/libc.in stable/11/contrib/openresolv/named.in stable/11/contrib/openresolv/resolvconf.8.in stable/11/contrib/openresolv/resolvconf.conf.5.in stable/11/contrib/openresolv/resolvconf.in stable/11/contrib/openresolv/unbound.in stable/11/sbin/resolvconf/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/openresolv/Makefile == --- stable/11/contrib/openresolv/Makefile Sat Aug 20 00:55:58 2016 (r304514) +++ stable/11/contrib/openresolv/Makefile Sat Aug 20 02:06:59 2016 (r304515) @@ -1,5 +1,4 @@ PKG= openresolv -VERSION= 3.7.3 # Nasty hack so that make clean works without configure being run _CONFIG_MK!= test -e config.mk && echo config.mk || echo config-null.mk @@ -10,14 +9,12 @@ SBINDIR?=/sbin SYSCONFDIR?= /etc LIBEXECDIR?= /libexec/resolvconf VARDIR?= /var/run/resolvconf -RCDIR?=/etc/rc.d -RESTARTCMD?= if ${RCDIR}/\1 status >/dev/null 2>\&1; then \ - ${RCDIR}/\1 restart; \ - fi INSTALL?= install SED?= sed +VERSION!= ${SED} -n 's/OPENRESOLV_VERSION="\(.*\)".*/\1/p' resolvconf.in + BINMODE?= 0755 DOCMODE?= 0644 MANMODE?= 0444 @@ -33,7 +30,9 @@ SED_SYSCONFDIR= -e 's:@SYSCONFDIR@:${SY SED_LIBEXECDIR=-e 's:@LIBEXECDIR@:${LIBEXECDIR}:g' SED_VARDIR=-e 's:@VARDIR@:${VARDIR}:g' SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g' -SED_RESTARTCMD=-e 's:@RESTARTCMD \(.*\)@:${RESTARTCMD}:g' +SED_RESTARTCMD=-e 's:@RESTARTCMD@:${RESTARTCMD}:g' +SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g' +SED_STATUSARG= -e 's:@STATUSARG@:${STATUSARG}:g' DISTPREFIX?= ${PKG}-${VERSION} DISTFILEGZ?= ${DISTPREFIX}.tar.gz @@ -44,9 +43,10 @@ FOSSILID?= current all: ${TARGET} -.in: +.in: Makefile ${CONFIG_MK} ${SED} ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} \ - ${SED_VARDIR} ${SED_RCDIR} ${SED_RESTARTCMD} \ + ${SED_VARDIR} \ + ${SED_RCDIR} ${SED_RESTARTCMD} ${SED_RCDIR} ${SED_STATUSARG} \ $< > $@ clean: Modified: stable/11/contrib/openresolv/configure == --- stable/11/contrib/openresolv/configure Sat Aug 20 00:55:58 2016 (r304514) +++ stable/11/contrib/openresolv/configure Sat Aug 20 02:06:59 2016 (r304515) @@ -8,6 +8,7 @@ HOST= TARGET= RESTARTCMD= RCDIR= +STATUSARG= for x do opt=${x%%=*} @@ -33,6 +34,8 @@ for x do --target) TARGET=$var;; --libdir) LIBDIR=$var;; --restartcmd) RESTARTCMD=$var;; + --rcdir) RCDIR=$var;; + --statusarg) STATUSARG=$var;; --includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";; --datadir|--infodir) ;; # ignore autotools --disable-maintainer-mode|--disable-dependency-tracking) ;; @@ -117,7 +120,17 @@ echo "Configuring openresolv for ... $OS rm -rf $CONFIG_MK echo "# $OS" >$CONFIG_MK -for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR; do +# On FreeBSD, /etc/init.d/foo status returns 0 if foo is not enabled +# regardless of if it's not running. +# So we force onestatus to work around this silly bug. +if [ -z "$STATUSARG" ]; then + case "$OS" in + freebsd*) STATUSARG="onestatus";; + esac +fi + +for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR RESTARTCMD RCDIR STATUSARG +do eval v=\$$x # Make files look nice for import l=$((10 - ${#x})) @@ -126,96 +139,6 @@ for x in SYSCONFDIR SBINDIR LIBEXECDIR V echo "$x=$t $v" >>$CONFIG_MK done -if [ -z "$RESTARTCMD" ]; then - printf "Checking for systemd ... " - if [ -x /bin/systemctl ]; then - RESTARTCMD="/bin/systemctl try-restart \1" - echo "yes" - elif [ -x /usr/bin/systemctl ]; then - RESTARTCMD="/usr/bin/systemctl try-restart \1" - echo "yes" - else - echo "no" - fi -fi - -# Arch upgraded to systemd, so this check has to be just after systemd -# but higher than the others -if [ -z "$RESTARTCMD" ]; then - printf "Checking for Arch ... " - if [ -e /etc/arch-release -a -d /etc/rc.d ]; then - RCDIR=/etc/rc.d - RESTARTCMD="[ -e /var/run/daemons/\1 ] \&\&
svn commit: r304514 - head/sys/powerpc/booke
Author: jhibbits Date: Sat Aug 20 00:55:58 2016 New Revision: 304514 URL: https://svnweb.freebsd.org/changeset/base/304514 Log: Skip HID1 initialization on e6500 cores, it doesn't exist. With this, and some drivers removed, a T2080 dev board boots to mountroot. Submitted by: Ivan Krivonos Modified: head/sys/powerpc/booke/locore.S Modified: head/sys/powerpc/booke/locore.S == --- head/sys/powerpc/booke/locore.S Sat Aug 20 00:49:29 2016 (r304513) +++ head/sys/powerpc/booke/locore.S Sat Aug 20 00:55:58 2016 (r304514) @@ -140,6 +140,8 @@ __start: beq 1f cmpli 0, 0, %r3, FSL_E5500 beq 1f + cmpli 0, 0, %r3, FSL_E6500 + beq 1f lis %r3, HID1_E500_DEFAULT_SET@h ori %r3, %r3, HID1_E500_DEFAULT_SET@l ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304513 - in head: . share/man/man4/man4.i386 sys/conf sys/dev/ie sys/i386/conf sys/modules sys/modules/ie sys/pc98/conf
Author: jhb Date: Sat Aug 20 00:49:29 2016 New Revision: 304513 URL: https://svnweb.freebsd.org/changeset/base/304513 Log: Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. This driver only supports 10Mb Ethernet using PIO (the hardware supports DMA, but the driver only does PIO). There are not any PCCard adapters supported by this driver, only ISA cards. In addition, it does not use bus_space but instead uses bcopy with volatile pointers triggering a host of warnings. (if_ie.c is one of 3 files always built with -Wno-error) Relnotes: yes Deleted: head/share/man/man4/man4.i386/ie.4 head/sys/dev/ie/ head/sys/modules/ie/ Modified: head/ObsoleteFiles.inc head/share/man/man4/man4.i386/Makefile head/sys/conf/files head/sys/i386/conf/NOTES head/sys/modules/Makefile head/sys/pc98/conf/NOTES Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Sat Aug 20 00:34:19 2016(r304512) +++ head/ObsoleteFiles.inc Sat Aug 20 00:49:29 2016(r304513) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20160819: Remove ie(4) +OLD_FILES+=usr/share/man/man4/i386/ie.4.gz # 20160819: Remove spic(4) OLD_FILES+=usr/share/man/man4/spic.4.gz # 20160819: Remove wl(4) and wlconfig(8) Modified: head/share/man/man4/man4.i386/Makefile == --- head/share/man/man4/man4.i386/Makefile Sat Aug 20 00:34:19 2016 (r304512) +++ head/share/man/man4/man4.i386/Makefile Sat Aug 20 00:49:29 2016 (r304513) @@ -16,7 +16,6 @@ MAN= aic.4 \ fe.4 \ glxiic.4 \ glxsb.4 \ - ie.4 \ longrun.4 \ mse.4 \ npx.4 \ Modified: head/sys/conf/files == --- head/sys/conf/files Sat Aug 20 00:34:19 2016(r304512) +++ head/sys/conf/files Sat Aug 20 00:49:29 2016(r304513) @@ -1579,8 +1579,6 @@ dev/ida/ida.c optional ida dev/ida/ida_disk.c optional ida dev/ida/ida_eisa.c optional ida eisa dev/ida/ida_pci.c optional ida pci -dev/ie/if_ie.c optional ie isa nowerror -dev/ie/if_ie_isa.c optional ie isa dev/iicbus/ad7418.coptional ad7418 dev/iicbus/ds1307.coptional ds1307 dev/iicbus/ds133x.coptional ds133x Modified: head/sys/i386/conf/NOTES == --- head/sys/i386/conf/NOTESSat Aug 20 00:34:19 2016(r304512) +++ head/sys/i386/conf/NOTESSat Aug 20 00:49:29 2016(r304513) @@ -624,12 +624,6 @@ hint.ed.0.at="isa" hint.ed.0.port="0x280" hint.ed.0.irq="5" hint.ed.0.maddr="0xd8000" -device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. -# Hints only required for Starlan -hint.ie.2.at="isa" -hint.ie.2.port="0x300" -hint.ie.2.irq="5" -hint.ie.2.maddr="0xd" device ipw # Intel 2100 wireless NICs. device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. device iwn # Intel 4965/1000/5000/6000 wireless NICs. Modified: head/sys/modules/Makefile == --- head/sys/modules/Makefile Sat Aug 20 00:34:19 2016(r304512) +++ head/sys/modules/Makefile Sat Aug 20 00:49:29 2016(r304513) @@ -141,7 +141,6 @@ SUBDIR= \ ${_ibcs2} \ ${_ichwd} \ ${_ida} \ - ${_ie} \ if_bridge \ if_disc \ if_edsc \ @@ -705,7 +704,6 @@ _elink= elink _glxiic= glxiic _glxsb=glxsb #_ibcs2= ibcs2 -_ie= ie _mse= mse _ncr= ncr _ncv= ncv Modified: head/sys/pc98/conf/NOTES == --- head/sys/pc98/conf/NOTESSat Aug 20 00:34:19 2016(r304512) +++ head/sys/pc98/conf/NOTESSat Aug 20 00:49:29 2016(r304513) @@ -390,11 +390,6 @@ hint.ed.0.at="isa" hint.ed.0.port="0x280" hint.ed.0.irq="5" hint.ed.0.maddr="0xd8000" -device ie # Hints only required for Starlan -hint.ie.2.at="isa" -hint.ie.2.port="0x300" -hint.ie.2.irq="5" -hint.ie.2.maddr="0xd" #devicele # Hint for the PC98-only C-NET(98)S C-bus front-end of le(4). hint.le.0.at="isa" ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304506 - in head: . release/doc/en_US.ISO8859-1/hardware share/man/man4/man4.i386 sys/conf sys/dev/wl sys/i386/conf sys/modules sys/modules/wl targets/pseudo/userland tools/build/mk t
On Fri, Aug 19, 2016 at 4:27 PM, John Baldwin <j...@freebsd.org> wrote: > Author: jhb > Date: Fri Aug 19 22:27:14 2016 > New Revision: 304506 > URL: https://svnweb.freebsd.org/changeset/base/304506 > > Log: > Remove the wl(4) driver and wlconfig(8) utility. > > The wl(4) driver supports pre-802.11 PCCard wireless adapters that > are slower than 802.11b. They do not work with any of the 802.11 > framework and the driver hasn't been reported to actually work in a > long time. s/PC Card/ISA/g There never were any PC Card wl cards. These cards were ISA only and ran at up to 1Mbps. Warner > Relnotes: yes > > Deleted: > head/share/man/man4/man4.i386/wl.4 > head/sys/dev/wl/ > head/sys/modules/wl/ > head/tools/kerneldoc/subsys/Doxyfile-dev_wl > head/usr.sbin/wlconfig/ > Modified: > head/ObsoleteFiles.inc > head/release/doc/en_US.ISO8859-1/hardware/article.xml > head/share/man/man4/man4.i386/Makefile > head/sys/conf/files > head/sys/conf/options > head/sys/i386/conf/NOTES > head/sys/modules/Makefile > head/targets/pseudo/userland/Makefile.depend > head/tools/build/mk/OptionalObsoleteFiles.inc > head/usr.sbin/Makefile.i386 > > Modified: head/ObsoleteFiles.inc > == > --- head/ObsoleteFiles.inc Fri Aug 19 22:13:01 2016(r304505) > +++ head/ObsoleteFiles.inc Fri Aug 19 22:27:14 2016(r304506) > @@ -38,6 +38,10 @@ > # xargs -n1 | sort | uniq -d; > # done > > +# 20160819: Remove wl(4) and wlconfig(8) > +OLD_FILES+=usr/share/man/man4/i386/wl.4.gz > +OLD_FILES+=usr/sbin/wlconfig > +OLD_FILES+=usr/share/man/man8/i386/wlconfig.8.gz > # 20160819: Remove si(4) and sicontrol(8) > OLD_FILES+=usr/share/man/man4/si.4.gz > OLD_FILES+=usr/sbin/sicontrol > > Modified: head/release/doc/en_US.ISO8859-1/hardware/article.xml > == > --- head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 > 22:13:01 2016(r304505) > +++ head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 > 22:27:14 2016(r304506) > @@ -1023,9 +1023,6 @@ > Intersil PRISM-2.5, Intersil Prism-3, and Symbol Spectrum24 > chipsets ( driver) > > - [] NCR / ATT / Lucent Technologies WaveLan > - T1-speed ISA/radio LAN cards ( driver) > - >[, ] Intel PRO/Wireless 3945ABG > MiniPCI network adapters ( driver) > > > Modified: head/share/man/man4/man4.i386/Makefile > == > --- head/share/man/man4/man4.i386/Makefile Fri Aug 19 22:13:01 2016 > (r304505) > +++ head/share/man/man4/man4.i386/Makefile Fri Aug 19 22:27:14 2016 > (r304506) > @@ -31,8 +31,7 @@ MAN= aic.4 \ > streams.4 \ > svr4.4 \ > vpd.4 \ > - vx.4 \ > - wl.4 > + vx.4 > > MLINKS=CPU_ELAN.4 CPU_SOEKRIS.4 > MLINKS+=pae.4 PAE.4 > > Modified: head/sys/conf/files > == > --- head/sys/conf/files Fri Aug 19 22:13:01 2016(r304505) > +++ head/sys/conf/files Fri Aug 19 22:27:14 2016(r304506) > @@ -2933,7 +2933,6 @@ dev/wb/if_wb.coptional wb pci > 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.coptional wpifw > \ > compile-with"${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 > -mwpi -c${.TARGET}" \ > > Modified: head/sys/conf/options > == > --- head/sys/conf/options Fri Aug 19 22:13:01 2016(r304505) > +++ head/sys/conf/options Fri Aug 19 22:27:14 2016(r304506) > @@ -218,8 +218,6 @@ SW_WATCHDOG opt_watchdog.h > TURNSTILE_PROFILING > UMTX_PROFILING > VERBOSE_SYSINIT > -WLCACHEopt_wavelan.h > -WLDEBUGopt_wavelan.h > > # POSIX kernel options > P1003_1B_MQUEUEopt_posix.h > > Modified: head/sys/i386/conf/NOTES > == > --- head/sys/i386/conf/NOTESFri Aug 19 22:13:01 2016(r304505) > +++ head/sys/i386/conf/NOTESFri Aug 19 22:27:14 2016(r304506) > @@ -648,11 +64
svn commit: r304512 - in stable/11: lib/libc/sys sys/kern
Author: bdrewery Date: Sat Aug 20 00:34:19 2016 New Revision: 304512 URL: https://svnweb.freebsd.org/changeset/base/304512 Log: MFC r304288: Garbage collect _umtx_lock(2)/_umtx_unlock(2) references removed in r263318. Modified: stable/11/lib/libc/sys/Symbol.map stable/11/sys/kern/capabilities.conf Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/sys/Symbol.map == --- stable/11/lib/libc/sys/Symbol.map Sat Aug 20 00:22:39 2016 (r304511) +++ stable/11/lib/libc/sys/Symbol.map Sat Aug 20 00:34:19 2016 (r304512) @@ -34,9 +34,7 @@ FBSD_1.0 { __setugid; __syscall; __sysctl; - _umtx_lock; _umtx_op; - _umtx_unlock; abort2; accept; access; @@ -455,12 +453,8 @@ FBSDprivate_1.0 { __sys___syscall; ___sysctl; __sys___sysctl; - __umtx_lock; - __sys__umtx_lock; __umtx_op; __sys__umtx_op; - __umtx_unlock; - __sys__umtx_unlock; _abort2; __sys_abort2; _accept; Modified: stable/11/sys/kern/capabilities.conf == --- stable/11/sys/kern/capabilities.confSat Aug 20 00:22:39 2016 (r304511) +++ stable/11/sys/kern/capabilities.confSat Aug 20 00:34:19 2016 (r304512) @@ -64,9 +64,7 @@ __sysctl ## ## XXRW: Need to check this very carefully. ## -_umtx_lock _umtx_op -_umtx_unlock ## ## Allow process termination using abort2(2). ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304511 - in stable: 10/sys/dev/pci 8/sys/dev/pci 9/sys/dev/pci
Author: jhb Date: Sat Aug 20 00:22:39 2016 New Revision: 304511 URL: https://svnweb.freebsd.org/changeset/base/304511 Log: MFC 298950: Fix an off by one error when remapping MSI-X vectors. pci_remap_msix() can be used to alter the mapping of allocated MSI-X vectors to the MSI-X table. The code had an off by one error when adding the IRQ resources after performing a remap. This was fatal for any vectors in the table that used the "last" valid IRQ as those vectors were assigned a garbage IRQ value. Modified: stable/8/sys/dev/pci/pci.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/pci/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/dev/pci/pci.c stable/9/sys/dev/pci/pci.c Directory Properties: stable/10/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/8/sys/dev/pci/pci.c == --- stable/8/sys/dev/pci/pci.c Sat Aug 20 00:08:10 2016(r304510) +++ stable/8/sys/dev/pci/pci.c Sat Aug 20 00:22:39 2016(r304511) @@ -1617,7 +1617,7 @@ pci_remap_msix_method(device_t dev, devi for (i = 0; i < count; i++) { if (vectors[i] == 0) continue; - irq = msix->msix_vectors[vectors[i]].mv_irq; + irq = msix->msix_vectors[vectors[i] - 1].mv_irq; resource_list_add(>resources, SYS_RES_IRQ, i + 1, irq, irq, 1); } @@ -1631,7 +1631,7 @@ pci_remap_msix_method(device_t dev, devi printf("---"); else printf("%d", - msix->msix_vectors[vectors[i]].mv_irq); + msix->msix_vectors[vectors[i] - 1].mv_irq); } printf("\n"); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304511 - in stable: 10/sys/dev/pci 8/sys/dev/pci 9/sys/dev/pci
Author: jhb Date: Sat Aug 20 00:22:39 2016 New Revision: 304511 URL: https://svnweb.freebsd.org/changeset/base/304511 Log: MFC 298950: Fix an off by one error when remapping MSI-X vectors. pci_remap_msix() can be used to alter the mapping of allocated MSI-X vectors to the MSI-X table. The code had an off by one error when adding the IRQ resources after performing a remap. This was fatal for any vectors in the table that used the "last" valid IRQ as those vectors were assigned a garbage IRQ value. Modified: stable/9/sys/dev/pci/pci.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/dev/pci/pci.c stable/8/sys/dev/pci/pci.c Directory Properties: stable/10/ (props changed) stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/pci/ (props changed) Modified: stable/9/sys/dev/pci/pci.c == --- stable/9/sys/dev/pci/pci.c Sat Aug 20 00:08:10 2016(r304510) +++ stable/9/sys/dev/pci/pci.c Sat Aug 20 00:22:39 2016(r304511) @@ -1660,7 +1660,7 @@ pci_remap_msix_method(device_t dev, devi for (i = 0; i < count; i++) { if (vectors[i] == 0) continue; - irq = msix->msix_vectors[vectors[i]].mv_irq; + irq = msix->msix_vectors[vectors[i] - 1].mv_irq; resource_list_add(>resources, SYS_RES_IRQ, i + 1, irq, irq, 1); } @@ -1674,7 +1674,7 @@ pci_remap_msix_method(device_t dev, devi printf("---"); else printf("%d", - msix->msix_vectors[vectors[i]].mv_irq); + msix->msix_vectors[vectors[i] - 1].mv_irq); } printf("\n"); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r298950 - head/sys/dev/pci
On Friday, August 19, 2016 08:21:03 AM Harry Schmalzbauer wrote: > Bezüglich John Baldwin's Nachricht vom 03.05.2016 02:35 (localtime): > > Author: jhb > > Date: Tue May 3 00:35:11 2016 > > New Revision: 298950 > > URL: https://svnweb.freebsd.org/changeset/base/298950 > > > > Log: > > Fix an off by one error when remapping MSI-X vectors. > > > > pci_remap_msix() can be used to alter the mapping of allocated > > MSI-X vectors to the MSI-X table. The code had an off by one error > > when adding the IRQ resources after performing a remap. This was > > fatal for any vectors in the table that used the "last" valid IRQ as > > those vectors were assigned a garbage IRQ value. > > > > MFC after:3 days > > Was this superseded by any other merge? > As far as I saw, it's missing in stable/10? Sorry, the reminder somehow got marked as done when it wasn't done yet. I've merged this back to 8.x and later. Thanks for the reminder! -- John Baldwin ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304511 - in stable: 10/sys/dev/pci 8/sys/dev/pci 9/sys/dev/pci
Author: jhb Date: Sat Aug 20 00:22:39 2016 New Revision: 304511 URL: https://svnweb.freebsd.org/changeset/base/304511 Log: MFC 298950: Fix an off by one error when remapping MSI-X vectors. pci_remap_msix() can be used to alter the mapping of allocated MSI-X vectors to the MSI-X table. The code had an off by one error when adding the IRQ resources after performing a remap. This was fatal for any vectors in the table that used the "last" valid IRQ as those vectors were assigned a garbage IRQ value. Modified: stable/10/sys/dev/pci/pci.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/8/sys/dev/pci/pci.c stable/9/sys/dev/pci/pci.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/pci/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/10/sys/dev/pci/pci.c == --- stable/10/sys/dev/pci/pci.c Sat Aug 20 00:08:10 2016(r304510) +++ stable/10/sys/dev/pci/pci.c Sat Aug 20 00:22:39 2016(r304511) @@ -1744,7 +1744,7 @@ pci_remap_msix_method(device_t dev, devi for (i = 0; i < count; i++) { if (vectors[i] == 0) continue; - irq = msix->msix_vectors[vectors[i]].mv_irq; + irq = msix->msix_vectors[vectors[i] - 1].mv_irq; resource_list_add(>resources, SYS_RES_IRQ, i + 1, irq, irq, 1); } @@ -1758,7 +1758,7 @@ pci_remap_msix_method(device_t dev, devi printf("---"); else printf("%d", - msix->msix_vectors[vectors[i]].mv_irq); + msix->msix_vectors[vectors[i] - 1].mv_irq); } printf("\n"); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304510 - head/sys/dev/ixl
Author: erj Date: Sat Aug 20 00:08:10 2016 New Revision: 304510 URL: https://svnweb.freebsd.org/changeset/base/304510 Log: ixlv(4): Fix ixlv(4) not loading when loaded as a kernel module and netmap is enabled. Define (unused) netmap variables; ixlv(4) doesn't support netmap yet. Reported by: sergey.koz...@intel.com Sponsored by: Intel Corporation Modified: head/sys/dev/ixl/if_ixlv.c Modified: head/sys/dev/ixl/if_ixlv.c == --- head/sys/dev/ixl/if_ixlv.c Fri Aug 19 23:44:07 2016(r304509) +++ head/sys/dev/ixl/if_ixlv.c Sat Aug 20 00:08:10 2016(r304510) @@ -217,6 +217,10 @@ TUNABLE_INT("hw.ixlv.tx_itr", _tx_i SYSCTL_INT(_hw_ixlv, OID_AUTO, tx_itr, CTLFLAG_RDTUN, _tx_itr, 0, "TX Interrupt Rate"); +/* Fix when building as a standalone module when netmap is enabled */ +#if defined(DEV_NETMAP) && !defined(NETMAP_IXL_MAIN) +int ixl_rx_miss, ixl_rx_miss_bufs, ixl_crcstrip; +#endif /* * Device identification routine ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304509 - head/sys/arm/allwinner
Author: manu Date: Fri Aug 19 23:44:07 2016 New Revision: 304509 URL: https://svnweb.freebsd.org/changeset/base/304509 Log: if_emac: Before generating a random MAC address, try using the SID rootkey to generate one. This is was U-Boot does to generate a random MAC so we end up with the same MAC address as if U-Boot did generate it. MFC after:1 week Modified: head/sys/arm/allwinner/if_emac.c Modified: head/sys/arm/allwinner/if_emac.c == --- head/sys/arm/allwinner/if_emac.cFri Aug 19 23:39:08 2016 (r304508) +++ head/sys/arm/allwinner/if_emac.cFri Aug 19 23:44:07 2016 (r304509) @@ -77,6 +77,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include @@ -167,12 +168,17 @@ static void emac_get_hwaddr(struct emac_softc *sc, uint8_t *hwaddr) { uint32_t val0, val1, rnd; + u_char rootkey[16]; /* * Try to get MAC address from running hardware. * If there is something non-zero there just use it. * * Otherwise set the address to a convenient locally assigned address, +* using the SID rootkey. +* This is was uboot does so we end up with the same mac as if uboot +* did set it. +* If we can't get the root key, generate a random one, * 'bsd' + random 24 low-order bits. 'b' is 0x62, which has the locally * assigned bit set, and the broadcast/multicast bit clear. */ @@ -186,13 +192,23 @@ emac_get_hwaddr(struct emac_softc *sc, u hwaddr[4] = (val0 >> 8) & 0xff; hwaddr[5] = (val0 >> 0) & 0xff; } else { - rnd = arc4random() & 0x00ff; - hwaddr[0] = 'b'; - hwaddr[1] = 's'; - hwaddr[2] = 'd'; - hwaddr[3] = (rnd >> 16) & 0xff; - hwaddr[4] = (rnd >> 8) & 0xff; - hwaddr[5] = (rnd >> 0) & 0xff; + if (aw_sid_get_rootkey(rootkey) == 0) { + hwaddr[0] = 0x2; + hwaddr[1] = rootkey[3]; + hwaddr[2] = rootkey[12]; + hwaddr[3] = rootkey[13]; + hwaddr[4] = rootkey[14]; + hwaddr[5] = rootkey[15]; + } + else { + rnd = arc4random() & 0x00ff; + hwaddr[0] = 'b'; + hwaddr[1] = 's'; + hwaddr[2] = 'd'; + hwaddr[3] = (rnd >> 16) & 0xff; + hwaddr[4] = (rnd >> 8) & 0xff; + hwaddr[5] = (rnd >> 0) & 0xff; + } } if (bootverbose) printf("MAC address: %s\n", ether_sprintf(hwaddr)); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304508 - in head: . share/man/man4 sys/conf sys/i386/conf sys/i386/isa
Author: jhb Date: Fri Aug 19 23:39:08 2016 New Revision: 304508 URL: https://svnweb.freebsd.org/changeset/base/304508 Log: Remove the spic(4) driver for the Sony Vaoi Jogdial. This hardware is not present on any modern systems. The driver is quite hackish (raw inb/outb instead of bus_space, and raw inb/outb to random I/O ports to enable ACPI since it predated proper ACPI support). Relnotes: yes Deleted: head/share/man/man4/spic.4 head/sys/i386/isa/spic.c head/sys/i386/isa/spicreg.h Modified: head/ObsoleteFiles.inc head/share/man/man4/Makefile head/sys/conf/files.i386 head/sys/i386/conf/NOTES Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Fri Aug 19 23:31:56 2016(r304507) +++ head/ObsoleteFiles.inc Fri Aug 19 23:39:08 2016(r304508) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20160819: Remove spic(4) +OLD_FILES+=usr/share/man/man4/spic.4.gz # 20160819: Remove wl(4) and wlconfig(8) OLD_FILES+=usr/share/man/man4/i386/wl.4.gz OLD_FILES+=usr/sbin/wlconfig Modified: head/share/man/man4/Makefile == --- head/share/man/man4/MakefileFri Aug 19 23:31:56 2016 (r304507) +++ head/share/man/man4/MakefileFri Aug 19 23:39:08 2016 (r304508) @@ -496,7 +496,6 @@ MAN=aac.4 \ snd_via82c686.4 \ snd_vibes.4 \ snp.4 \ - spic.4 \ ${_spkr.4} \ splash.4 \ sppp.4 \ Modified: head/sys/conf/files.i386 == --- head/sys/conf/files.i386Fri Aug 19 23:31:56 2016(r304507) +++ head/sys/conf/files.i386Fri Aug 19 23:39:08 2016(r304508) @@ -516,7 +516,6 @@ i386/isa/elink.coptional ep | ie i386/isa/npx.c optional npx i386/isa/pmtimer.c optional pmtimer i386/isa/prof_machdep.coptional profiling-routine -i386/isa/spic.coptional spic i386/linux/imgact_linux.c optional compat_linux i386/linux/linux_dummy.c optional compat_linux i386/linux/linux_machdep.c optional compat_linux Modified: head/sys/i386/conf/NOTES == --- head/sys/i386/conf/NOTESFri Aug 19 23:31:56 2016(r304507) +++ head/sys/i386/conf/NOTESFri Aug 19 23:39:08 2016(r304508) @@ -834,7 +834,6 @@ device hyperv # HyperV drivers # vpd: Vital Product Data kernel interface # pmtimer: Adjust system timer at wakeup time # pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) -# spic: Sony Programmable I/O controller (VAIO notebooks) # asmc: Apple System Management Controller # si: Specialix International SI/XIO or SX intelligent serial card driver # tpm: Trusted Platform Module @@ -871,9 +870,6 @@ device pmtimer device pbio hint.pbio.0.at="isa" hint.pbio.0.port="0x360" -device spic -hint.spic.0.at="isa" -hint.spic.0.port="0x10a0" device asmc device tpm device padlock_rng # VIA Padlock RNG ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304507 - in stable: 10/sys/boot/efi/loader 11/sys/boot/efi/loader
Author: jhb Date: Fri Aug 19 23:31:56 2016 New Revision: 304507 URL: https://svnweb.freebsd.org/changeset/base/304507 Log: MFC 304018: Add defines needed to export SMBIOS serial numbers Some defines needed for exporting serial numbers from the SMBIOS were missed during integration of SMBIOS support in the EFI boot loader (r281138). This is needed for getting the hostid set from the system hardware UUID. PR: 206031 Modified: stable/11/sys/boot/efi/loader/Makefile Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/boot/efi/loader/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/11/sys/boot/efi/loader/Makefile == --- stable/11/sys/boot/efi/loader/Makefile Fri Aug 19 22:27:14 2016 (r304506) +++ stable/11/sys/boot/efi/loader/Makefile Fri Aug 19 23:31:56 2016 (r304507) @@ -63,6 +63,18 @@ CFLAGS+= -DNO_PCI -DEFI LIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a .endif +.if !defined(BOOT_HIDE_SERIAL_NUMBERS) +# Export serial numbers, UUID, and asset tag from loader. +CFLAGS+= -DSMBIOS_SERIAL_NUMBERS +.if defined(BOOT_LITTLE_ENDIAN_UUID) +# Use little-endian UUID format as defined in SMBIOS 2.6. +CFLAGS+= -DSMBIOS_LITTLE_ENDIAN_UUID +.elif defined(BOOT_NETWORK_ENDIAN_UUID) +# Use network-endian UUID format for backward compatibility. +CFLAGS+= -DSMBIOS_NETWORK_ENDIAN_UUID +.endif +.endif + .if ${MK_FORTH} != "no" BOOT_FORTH=yes CFLAGS+= -DBOOT_FORTH ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304507 - in stable: 10/sys/boot/efi/loader 11/sys/boot/efi/loader
Author: jhb Date: Fri Aug 19 23:31:56 2016 New Revision: 304507 URL: https://svnweb.freebsd.org/changeset/base/304507 Log: MFC 304018: Add defines needed to export SMBIOS serial numbers Some defines needed for exporting serial numbers from the SMBIOS were missed during integration of SMBIOS support in the EFI boot loader (r281138). This is needed for getting the hostid set from the system hardware UUID. PR: 206031 Modified: stable/10/sys/boot/efi/loader/Makefile Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/boot/efi/loader/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/10/sys/boot/efi/loader/Makefile == --- stable/10/sys/boot/efi/loader/Makefile Fri Aug 19 22:27:14 2016 (r304506) +++ stable/10/sys/boot/efi/loader/Makefile Fri Aug 19 23:31:56 2016 (r304507) @@ -50,6 +50,18 @@ CFLAGS+= -DEFI_ZFS_BOOT .endif CFLAGS+= -DNO_PCI -DEFI +.if !defined(BOOT_HIDE_SERIAL_NUMBERS) +# Export serial numbers, UUID, and asset tag from loader. +CFLAGS+= -DSMBIOS_SERIAL_NUMBERS +.if defined(BOOT_LITTLE_ENDIAN_UUID) +# Use little-endian UUID format as defined in SMBIOS 2.6. +CFLAGS+= -DSMBIOS_LITTLE_ENDIAN_UUID +.elif defined(BOOT_NETWORK_ENDIAN_UUID) +# Use network-endian UUID format for backward compatibility. +CFLAGS+= -DSMBIOS_NETWORK_ENDIAN_UUID +.endif +.endif + .if ${MK_FORTH} != "no" BOOT_FORTH=yes CFLAGS+= -DBOOT_FORTH ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304506 - in head: . release/doc/en_US.ISO8859-1/hardware share/man/man4/man4.i386 sys/conf sys/dev/wl sys/i386/conf sys/modules sys/modules/wl targets/pseudo/userland tools/build/mk to...
Author: jhb Date: Fri Aug 19 22:27:14 2016 New Revision: 304506 URL: https://svnweb.freebsd.org/changeset/base/304506 Log: Remove the wl(4) driver and wlconfig(8) utility. The wl(4) driver supports pre-802.11 PCCard wireless adapters that are slower than 802.11b. They do not work with any of the 802.11 framework and the driver hasn't been reported to actually work in a long time. Relnotes: yes Deleted: head/share/man/man4/man4.i386/wl.4 head/sys/dev/wl/ head/sys/modules/wl/ head/tools/kerneldoc/subsys/Doxyfile-dev_wl head/usr.sbin/wlconfig/ Modified: head/ObsoleteFiles.inc head/release/doc/en_US.ISO8859-1/hardware/article.xml head/share/man/man4/man4.i386/Makefile head/sys/conf/files head/sys/conf/options head/sys/i386/conf/NOTES head/sys/modules/Makefile head/targets/pseudo/userland/Makefile.depend head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.sbin/Makefile.i386 Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Fri Aug 19 22:13:01 2016(r304505) +++ head/ObsoleteFiles.inc Fri Aug 19 22:27:14 2016(r304506) @@ -38,6 +38,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20160819: Remove wl(4) and wlconfig(8) +OLD_FILES+=usr/share/man/man4/i386/wl.4.gz +OLD_FILES+=usr/sbin/wlconfig +OLD_FILES+=usr/share/man/man8/i386/wlconfig.8.gz # 20160819: Remove si(4) and sicontrol(8) OLD_FILES+=usr/share/man/man4/si.4.gz OLD_FILES+=usr/sbin/sicontrol Modified: head/release/doc/en_US.ISO8859-1/hardware/article.xml == --- head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 22:13:01 2016(r304505) +++ head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 22:27:14 2016(r304506) @@ -1023,9 +1023,6 @@ Intersil PRISM-2.5, Intersil Prism-3, and Symbol Spectrum24 chipsets ( driver) - [] NCR / ATT / Lucent Technologies WaveLan - T1-speed ISA/radio LAN cards ( driver) - [, ] Intel PRO/Wireless 3945ABG MiniPCI network adapters ( driver) Modified: head/share/man/man4/man4.i386/Makefile == --- head/share/man/man4/man4.i386/Makefile Fri Aug 19 22:13:01 2016 (r304505) +++ head/share/man/man4/man4.i386/Makefile Fri Aug 19 22:27:14 2016 (r304506) @@ -31,8 +31,7 @@ MAN= aic.4 \ streams.4 \ svr4.4 \ vpd.4 \ - vx.4 \ - wl.4 + vx.4 MLINKS=CPU_ELAN.4 CPU_SOEKRIS.4 MLINKS+=pae.4 PAE.4 Modified: head/sys/conf/files == --- head/sys/conf/files Fri Aug 19 22:13:01 2016(r304505) +++ head/sys/conf/files Fri Aug 19 22:27:14 2016(r304506) @@ -2933,7 +2933,6 @@ dev/wb/if_wb.coptional wb pci 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.coptional wpifw \ compile-with"${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 -mwpi -c${.TARGET}" \ Modified: head/sys/conf/options == --- head/sys/conf/options Fri Aug 19 22:13:01 2016(r304505) +++ head/sys/conf/options Fri Aug 19 22:27:14 2016(r304506) @@ -218,8 +218,6 @@ SW_WATCHDOG opt_watchdog.h TURNSTILE_PROFILING UMTX_PROFILING VERBOSE_SYSINIT -WLCACHEopt_wavelan.h -WLDEBUGopt_wavelan.h # POSIX kernel options P1003_1B_MQUEUEopt_posix.h Modified: head/sys/i386/conf/NOTES == --- head/sys/i386/conf/NOTESFri Aug 19 22:13:01 2016(r304505) +++ head/sys/i386/conf/NOTESFri Aug 19 22:27:14 2016(r304506) @@ -648,11 +648,6 @@ hint.sbni.0.port="0x210" hint.sbni.0.irq="0xefdead" hint.sbni.0.flags="0" device vmx # VMware VMXNET3 Ethernet -device wl -hint.wl.0.at="isa" -hint.wl.0.port="0x300" -optionsWLCACHE # enables the signal-strength cache -optionsWLDEBUG # enables verbose debugging output device wpi # Intel 3945ABG wireless NICs. # IEEE 802.11 adapter firmware modules Modified: head/sys/modules/Makefile == --- head/sys/modules/Makefile Fri Aug 19 22:13:01 2016(r304505) +++ head/sys/modules/Makefile Fri Aug 19 22:27:14 2016
svn commit: r304505 - head/release/doc/en_US.ISO8859-1/hardware
Author: jhb Date: Fri Aug 19 22:13:01 2016 New Revision: 304505 URL: https://svnweb.freebsd.org/changeset/base/304505 Log: Remove mentions of the mcd(4), scd(4), and si(4) drivers. Relnotes: yes Modified: head/release/doc/en_US.ISO8859-1/hardware/article.xml Modified: head/release/doc/en_US.ISO8859-1/hardware/article.xml == --- head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 22:05:22 2016(r304504) +++ head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 22:13:01 2016(r304505) @@ -772,23 +772,9 @@ - [] Sony proprietary interface (all models) - () - - - ATAPI IDE interface () - - [] The following device is unmaintained: - - - - Mitsumi proprietary CD-ROM interface (all models) - () - - @@ -1235,13 +1221,6 @@ - [, ] Specialix SI/XIO/SX multiport - serial cards, with both the older SIHOST2.x and the - enhanced (transputer based, aka JET) host cards - (ISA, EISA and PCI) are supported. Note that the newer SX+ - PCI cards are not currently supported. ( - driver) - [] Internel serial interfaces ( driver) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304504 - head/etc
Author: jhb Date: Fri Aug 19 22:05:22 2016 New Revision: 304504 URL: https://svnweb.freebsd.org/changeset/base/304504 Log: Remove stale drivers (amd(4) and asr(4)) from the SCSI controller regex. Modified: head/etc/devd.conf Modified: head/etc/devd.conf == --- head/etc/devd.conf Fri Aug 19 21:51:42 2016(r304503) +++ head/etc/devd.conf Fri Aug 19 22:05:22 2016(r304504) @@ -19,7 +19,7 @@ options { # Setup some shorthand for regex that we use later in the file. #XXX Yes, these are gross -- imp set scsi-controller-regex - "(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|\ + "(aac|adv|adw|aha|ahb|ahc|ahd|aic|amr|bt|ciss|ct|dpt|\ esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm)\ [0-9]+"; set wifi-driver-regex ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304503 - in head: etc release/doc/en_US.ISO8859-1/hardware sys/conf sys/dev/wds sys/modules sys/modules/wds sys/pc98/conf sys/sparc64/conf tools/kerneldoc/subsys
Author: jhb Date: Fri Aug 19 21:51:42 2016 New Revision: 304503 URL: https://svnweb.freebsd.org/changeset/base/304503 Log: Remove the wds(4) driver for the WD700 ISA SCSI HBA. While this driver does do DMA, it bounce buffers all transactions through a single 64k buffer. It also does not have a manpage. Relnotes: yes Deleted: head/sys/dev/wds/ head/sys/modules/wds/ head/tools/kerneldoc/subsys/Doxyfile-dev_wds Modified: head/etc/devd.conf head/release/doc/en_US.ISO8859-1/hardware/article.xml head/sys/conf/NOTES head/sys/conf/files head/sys/modules/Makefile head/sys/pc98/conf/NOTES head/sys/sparc64/conf/NOTES Modified: head/etc/devd.conf == --- head/etc/devd.conf Fri Aug 19 21:14:27 2016(r304502) +++ head/etc/devd.conf Fri Aug 19 21:51:42 2016(r304503) @@ -20,7 +20,7 @@ options { #XXX Yes, these are gross -- imp set scsi-controller-regex "(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|\ - esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)\ + esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm)\ [0-9]+"; set wifi-driver-regex "(ath|bwi|bwn|ipw|iwi|iwm|iwn|malo|mwl|ral|rsu|rum|run|uath|\ Modified: head/release/doc/en_US.ISO8859-1/hardware/article.xml == --- head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 21:14:27 2016(r304502) +++ head/release/doc/en_US.ISO8859-1/hardware/article.xml Fri Aug 19 21:51:42 2016(r304503) @@ -751,9 +751,6 @@ - [] The wds(4) driver supports the WD7000 SCSI - controller. - With all supported SCSI controllers, full support is provided for SCSI-I, SCSI-II, and SCSI-III peripherals, including hard disks, optical disks, tape drives (including Modified: head/sys/conf/NOTES == --- head/sys/conf/NOTES Fri Aug 19 21:14:27 2016(r304502) +++ head/sys/conf/NOTES Fri Aug 19 21:51:42 2016(r304503) @@ -1560,7 +1560,6 @@ options TERMINAL_KERN_ATTR=(FG_LIGHTRED # 53C876, 53C885, 53C895, 53C895A, 53C896, 53C897, 53C1510D, # 53C1010-33, 53C1010-66. # trm: Tekram DC395U/UW/F DC315U adapters. -# wds: WD7000 # # Note that the order is important in order for Buslogic ISA/EISA cards to be @@ -1602,11 +1601,6 @@ device mpt device ncr device sym device trm -device wds -hint.wds.0.at="isa" -hint.wds.0.port="0x350" -hint.wds.0.irq="11" -hint.wds.0.drq="6" # The aic7xxx driver will attempt to use memory mapped I/O for all PCI # controllers that have it configured only if this option is set. Unfortunately, Modified: head/sys/conf/files == --- head/sys/conf/files Fri Aug 19 21:14:27 2016(r304502) +++ head/sys/conf/files Fri Aug 19 21:51:42 2016(r304503) @@ -2930,7 +2930,6 @@ dev/vxge/vxgehal/vxgehal-channel.coptio dev/vxge/vxgehal/vxgehal-fifo.coptional vxge dev/watchdog/watchdog.cstandard dev/wb/if_wb.c optional wb pci -dev/wds/wd7000.c optional wds isa 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 Modified: head/sys/modules/Makefile == --- head/sys/modules/Makefile Fri Aug 19 21:14:27 2016(r304502) +++ head/sys/modules/Makefile Fri Aug 19 21:51:42 2016(r304503) @@ -390,7 +390,6 @@ SUBDIR= \ ${_vxge} \ wb \ ${_wbwd} \ - ${_wds} \ ${_wi} \ ${_wl} \ wlan \ @@ -718,7 +717,6 @@ _sbni= sbni _streams= streams _stg= stg _svr4= svr4 -_wds= wds .if ${MACHINE} == "i386" .if ${MK_EISA} != "no" _ahb= ahb Modified: head/sys/pc98/conf/NOTES == --- head/sys/pc98/conf/NOTESFri Aug 19 21:14:27 2016(r304502) +++ head/sys/pc98/conf/NOTESFri Aug 19 21:51:42 2016(r304503) @@ -595,7 +595,6 @@ nodeviceahb nodevice ahd nodevice mpt nodevice trm -nodevice wds nodevice dpt nodevice ciss nodevice iir Modified: head/sys/sparc64/conf/NOTES == --- head/sys/sparc64/conf/NOTES Fri Aug 19 21:14:27 2016(r304502) +++ head/sys/sparc64/conf/NOTES Fri Aug 19 21:51:42 2016(r304503) @@ -121,7 +121,6 @@ nodevicesnd_vibes nodevice
svn commit: r304502 - in head: . share/man/man4 sys/amd64/conf sys/conf sys/dev/si sys/i386/conf sys/modules sys/modules/si targets/pseudo/userland tools/kerneldoc/subsys usr.sbin usr.sbin/sicontrol
Author: jhb Date: Fri Aug 19 21:14:27 2016 New Revision: 304502 URL: https://svnweb.freebsd.org/changeset/base/304502 Log: Remove the si(4) driver and sicontrol(8) for Specialix serial cards. The si(4) driver supported multiport serial adapters for ISA, EISA, and PCI buses. This driver does not use bus_space, instead it depends on direct use of the pointer returned by rman_get_virtual(). It is also still locked by Giant and calls for patch testing to convert it to use bus_space were unanswered. Relnotes: yes Deleted: head/share/man/man4/si.4 head/sys/dev/si/ head/sys/modules/si/ head/tools/kerneldoc/subsys/Doxyfile-dev_si head/usr.sbin/sicontrol/ Modified: head/ObsoleteFiles.inc head/share/man/man4/Makefile head/sys/amd64/conf/NOTES head/sys/conf/files head/sys/i386/conf/NOTES head/sys/modules/Makefile head/targets/pseudo/userland/Makefile.depend head/usr.sbin/Makefile.amd64 head/usr.sbin/Makefile.i386 Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Fri Aug 19 20:53:55 2016(r304501) +++ head/ObsoleteFiles.inc Fri Aug 19 21:14:27 2016(r304502) @@ -38,6 +38,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20160819: Remove si(4) and sicontrol(8) +OLD_FILES+=usr/share/man/man4/si.4.gz +OLD_FILES+=usr/sbin/sicontrol +OLD_FILES+=usr/share/man/man8/sicontrol.8.gz # 20160819: Remove scd(4) OLD_FILES+=usr/share/man/man4/scd.4.gz # 20160815: Remove mcd(4) Modified: head/share/man/man4/Makefile == --- head/share/man/man4/MakefileFri Aug 19 20:53:55 2016 (r304501) +++ head/share/man/man4/MakefileFri Aug 19 21:14:27 2016 (r304502) @@ -453,7 +453,6 @@ MAN=aac.4 \ sf.4 \ ${_sfxge.4} \ sge.4 \ - si.4 \ siba.4 \ siftr.4 \ siis.4 \ Modified: head/sys/amd64/conf/NOTES == --- head/sys/amd64/conf/NOTES Fri Aug 19 20:53:55 2016(r304501) +++ head/sys/amd64/conf/NOTES Fri Aug 19 21:14:27 2016(r304502) @@ -542,7 +542,6 @@ hint.pbio.0.port="0x360" device smbios device vpd device asmc -device si device tpm device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG Modified: head/sys/conf/files == --- head/sys/conf/files Fri Aug 19 20:53:55 2016(r304501) +++ head/sys/conf/files Fri Aug 19 21:14:27 2016(r304502) @@ -2511,12 +2511,6 @@ dev/sdhci/sdhci_if.m optional sdhci dev/sdhci/sdhci_pci.c optional sdhci pci dev/sf/if_sf.c optional sf pci dev/sge/if_sge.c optional sge pci -dev/si/si.coptional si -dev/si/si2_z280.c optional si -dev/si/si3_t225.c optional si -dev/si/si_eisa.c optional si eisa -dev/si/si_isa.coptional si isa -dev/si/si_pci.coptional si pci dev/siba/siba_bwn.coptional siba_bwn pci dev/siba/siba_core.c optional siba_bwn pci dev/siis/siis.coptional siis pci Modified: head/sys/i386/conf/NOTES == --- head/sys/i386/conf/NOTESFri Aug 19 20:53:55 2016(r304501) +++ head/sys/i386/conf/NOTESFri Aug 19 21:14:27 2016(r304502) @@ -880,7 +880,6 @@ device spic hint.spic.0.at="isa" hint.spic.0.port="0x10a0" device asmc -device si device tpm device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG Modified: head/sys/modules/Makefile == --- head/sys/modules/Makefile Fri Aug 19 20:53:55 2016(r304501) +++ head/sys/modules/Makefile Fri Aug 19 21:14:27 2016(r304502) @@ -330,7 +330,6 @@ SUBDIR= \ ${_sf} \ ${_sfxge} \ sge \ - ${_si} \ siba_bwn \ siftr \ siis \ @@ -584,7 +583,6 @@ _rdma= rdma .endif _safe= safe _scsi_low= scsi_low -_si= si _speaker= speaker _splash= splash _sppp= sppp Modified: head/targets/pseudo/userland/Makefile.depend == --- head/targets/pseudo/userland/Makefile.dependFri Aug 19 20:53:55 2016(r304501) +++ head/targets/pseudo/userland/Makefile.dependFri Aug 19 21:14:27 2016(r304502) @@ -834,7 +834,6 @@ DIRDEPS.amd64= \ usr.sbin/lptcont
svn commit: r304501 - head/tools/kerneldoc/subsys
Author: jhb Date: Fri Aug 19 20:53:55 2016 New Revision: 304501 URL: https://svnweb.freebsd.org/changeset/base/304501 Log: Remove doxygen files for mcd(4) and scd(4) drivers. Submitted by: ak Deleted: head/tools/kerneldoc/subsys/Doxyfile-dev_mcd head/tools/kerneldoc/subsys/Doxyfile-dev_scd ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304500 - releng/11.0/share/timedef
Author: bapt Date: Fri Aug 19 20:37:32 2016 New Revision: 304500 URL: https://svnweb.freebsd.org/changeset/base/304500 Log: MFC r303354,303373,303404,304045,304192 Set date and time formats back to what they were before CLDR While CLDR brings us a good and up to date source data to generate locales for all databses we are using for locales, it is not the case of LC_TIME. Where it does not defines the informations we need. Put back all the date and time formats from the old locales. Make it statically for now (in order to be able to merge it now into 11.0-RELEASE). The generation tools will be updated soon. That gives us time to properly work on LC_TIME during the 12 timeframe. While here fix abbreviated month for af_ZA (which are already fixed in CLDR data upstream) In locales where AP/PM was not defined before CLDR data, remove again the AP/PM informations For locales where AP/PM was defined before CLDR data, keep the CLDR information which was properly translated. r303354,303373 by kevlo r303404,304192 by jkim Approved by: re (gjb) Modified: releng/11.0/share/timedef/af_ZA.UTF-8.src releng/11.0/share/timedef/am_ET.UTF-8.src releng/11.0/share/timedef/ar_JO.UTF-8.src releng/11.0/share/timedef/ar_MA.UTF-8.src releng/11.0/share/timedef/ar_SA.UTF-8.src releng/11.0/share/timedef/be_BY.CP1131.src releng/11.0/share/timedef/be_BY.CP1251.src releng/11.0/share/timedef/be_BY.ISO8859-5.src releng/11.0/share/timedef/be_BY.UTF-8.src releng/11.0/share/timedef/bg_BG.CP1251.src releng/11.0/share/timedef/bg_BG.UTF-8.src releng/11.0/share/timedef/ca_IT.ISO8859-15.src releng/11.0/share/timedef/ca_IT.UTF-8.src releng/11.0/share/timedef/cs_CZ.ISO8859-2.src releng/11.0/share/timedef/cs_CZ.UTF-8.src releng/11.0/share/timedef/da_DK.ISO8859-15.src releng/11.0/share/timedef/da_DK.UTF-8.src releng/11.0/share/timedef/de_AT.ISO8859-15.src releng/11.0/share/timedef/de_AT.UTF-8.src releng/11.0/share/timedef/de_DE.ISO8859-15.src releng/11.0/share/timedef/de_DE.UTF-8.src releng/11.0/share/timedef/el_GR.ISO8859-7.src releng/11.0/share/timedef/el_GR.UTF-8.src releng/11.0/share/timedef/en_CA.UTF-8.src releng/11.0/share/timedef/en_GB.UTF-8.src releng/11.0/share/timedef/en_IE.UTF-8.src releng/11.0/share/timedef/en_PH.UTF-8.src releng/11.0/share/timedef/en_SG.UTF-8.src releng/11.0/share/timedef/en_US.UTF-8.src releng/11.0/share/timedef/en_ZA.UTF-8.src releng/11.0/share/timedef/es_AR.ISO8859-1.src releng/11.0/share/timedef/es_CR.UTF-8.src releng/11.0/share/timedef/es_ES.ISO8859-15.src releng/11.0/share/timedef/es_ES.UTF-8.src releng/11.0/share/timedef/es_MX.ISO8859-1.src releng/11.0/share/timedef/es_MX.UTF-8.src releng/11.0/share/timedef/et_EE.ISO8859-15.src releng/11.0/share/timedef/eu_ES.UTF-8.src releng/11.0/share/timedef/fi_FI.ISO8859-15.src releng/11.0/share/timedef/fi_FI.UTF-8.src releng/11.0/share/timedef/fr_BE.ISO8859-15.src releng/11.0/share/timedef/fr_BE.UTF-8.src releng/11.0/share/timedef/fr_CA.ISO8859-15.src releng/11.0/share/timedef/fr_CA.UTF-8.src releng/11.0/share/timedef/fr_CH.ISO8859-15.src releng/11.0/share/timedef/fr_CH.UTF-8.src releng/11.0/share/timedef/fr_FR.ISO8859-15.src releng/11.0/share/timedef/fr_FR.UTF-8.src releng/11.0/share/timedef/he_IL.UTF-8.src releng/11.0/share/timedef/hi_IN.ISCII-DEV.src releng/11.0/share/timedef/hi_IN.UTF-8.src releng/11.0/share/timedef/hr_HR.ISO8859-2.src releng/11.0/share/timedef/hr_HR.UTF-8.src releng/11.0/share/timedef/hu_HU.ISO8859-2.src releng/11.0/share/timedef/hu_HU.UTF-8.src releng/11.0/share/timedef/hy_AM.ARMSCII-8.src releng/11.0/share/timedef/hy_AM.UTF-8.src releng/11.0/share/timedef/is_IS.ISO8859-15.src releng/11.0/share/timedef/is_IS.UTF-8.src releng/11.0/share/timedef/it_CH.ISO8859-15.src releng/11.0/share/timedef/it_CH.UTF-8.src releng/11.0/share/timedef/it_IT.ISO8859-15.src releng/11.0/share/timedef/it_IT.UTF-8.src releng/11.0/share/timedef/ja_JP.SJIS.src releng/11.0/share/timedef/ja_JP.UTF-8.src releng/11.0/share/timedef/ja_JP.eucJP.src releng/11.0/share/timedef/kk_KZ.UTF-8.src releng/11.0/share/timedef/ko_KR.UTF-8.src releng/11.0/share/timedef/ko_KR.eucKR.src (contents, props changed) releng/11.0/share/timedef/lt_LT.ISO8859-13.src releng/11.0/share/timedef/lt_LT.UTF-8.src releng/11.0/share/timedef/lv_LV.ISO8859-13.src releng/11.0/share/timedef/lv_LV.UTF-8.src releng/11.0/share/timedef/mn_MN.UTF-8.src releng/11.0/share/timedef/nb_NO.ISO8859-15.src releng/11.0/share/timedef/nb_NO.UTF-8.src releng/11.0/share/timedef/nl_BE.UTF-8.src releng/11.0/share/timedef/nl_NL.UTF-8.src releng/11.0/share/timedef/nn_NO.ISO8859-15.src releng/11.0/share/timedef/nn_NO.UTF-8.src releng/11.0/share/timedef/pl_PL.ISO8859-2.src releng/11.0/share/timedef/pl_PL.UTF-8.src releng/11.0/share/timedef/pt_BR.ISO8859-1.src releng/11.0/share/timedef/pt_BR.UTF-8.src
svn commit: r304499 - in stable: 10/lib/libc/sys 10/sys/kern 10/sys/sys 10/tests/sys/kern 11/lib/libc/sys 11/sys/kern 11/sys/sys 11/tests/sys/kern
Author: jhb Date: Fri Aug 19 20:17:57 2016 New Revision: 304499 URL: https://svnweb.freebsd.org/changeset/base/304499 Log: MFC 303001: Add PTRACE_VFORK to trace vfork events. First, PL_FLAG_FORKED events now also set a PL_FLAG_VFORKED flag when the new child was created via vfork() rather than fork(). Second, a new PL_FLAG_VFORK_DONE event can now be enabled via the PTRACE_VFORK event mask. This new stop is reported after the vfork parent resumes due to the child calling exit or exec. Debuggers can use this stop to reinsert breakpoints in the vfork parent process before it resumes. Modified: stable/11/lib/libc/sys/ptrace.2 stable/11/sys/kern/kern_fork.c stable/11/sys/kern/subr_syscall.c stable/11/sys/kern/sys_process.c stable/11/sys/sys/proc.h stable/11/sys/sys/ptrace.h stable/11/tests/sys/kern/ptrace_test.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/lib/libc/sys/ptrace.2 stable/10/sys/kern/kern_fork.c stable/10/sys/kern/subr_syscall.c stable/10/sys/kern/sys_process.c stable/10/sys/sys/proc.h stable/10/sys/sys/ptrace.h stable/10/tests/sys/kern/ptrace_test.c Directory Properties: stable/10/ (props changed) Modified: stable/11/lib/libc/sys/ptrace.2 == --- stable/11/lib/libc/sys/ptrace.2 Fri Aug 19 19:31:55 2016 (r304498) +++ stable/11/lib/libc/sys/ptrace.2 Fri Aug 19 20:17:57 2016 (r304499) @@ -151,6 +151,11 @@ The process ID of the new child process .Va pl_child_pid member of .Vt "struct ptrace_lwpinfo" . +If the new child process was created via +.Xr vfork 2 , +the traced process's stop will also include the +.Dv PL_FLAG_VFORKED +flag. Note that new child processes will be attached with the default tracing event mask; they do not inherit the event mask of the traced process. @@ -173,6 +178,33 @@ Note that new processes do not report an initial thread, and exiting processes do not report an event for the termination of the last thread. +.It Dv PTRACE_VFORK +Report a stop event when a parent process resumes after a +.Xr vfork 2 . +.Pp +When a thread in the traced process creates a new child process via +.Xr vfork 2 , +the stop that reports +.Dv PL_FLAG_FORKED +and +.Dv PL_FLAG_SCX +occurs just after the child process is created, +but before the thread waits for the child process to stop sharing process +memory. +If a debugger is not tracing the new child process, +it must ensure that no breakpoints are enabled in the shared process +memory before detaching from the new child process. +This means that no breakpoints are enabled in the parent process either. +.Pp +The +.Dv PTRACE_VFORK +flag enables a new stop that indicates when the new child process stops +sharing the process memory of the parent process. +A debugger can reinsert breakpoints in the parent process and resume it +in response to this event. +This event is indicated by setting the +.Dv PL_FLAG_VFORK_DONE +flag. .El .Pp The default tracing event mask when attaching to a process via @@ -501,6 +533,16 @@ is enabled. Note that this event is not reported when the last LWP in a process exits. The termination of the last thread is reported via a normal process exit event. +.It PL_FLAG_VFORKED +Indicates that the thread is returning from a call to +.Xr vfork 2 +that created a new child process. +This flag is set in addition to +.Dv PL_FLAG_FORKED . +.It PL_FLAG_VFORK_DONE +Indicates that the thread has resumed after a child process created via +.Xr vfork 2 +has stopped sharing its address space with the traced process. .El .It pl_sigmask The current signal mask of the LWP Modified: stable/11/sys/kern/kern_fork.c == --- stable/11/sys/kern/kern_fork.c Fri Aug 19 19:31:55 2016 (r304498) +++ stable/11/sys/kern/kern_fork.c Fri Aug 19 20:17:57 2016 (r304499) @@ -736,6 +736,7 @@ do_fork(struct thread *td, struct fork_r if (fr->fr_flags & RFPPWAIT) { td->td_pflags |= TDP_RFPPWAIT; td->td_rfppwait_p = p2; + td->td_dbgflags |= TDB_VFORK; } PROC_UNLOCK(p2); Modified: stable/11/sys/kern/subr_syscall.c == --- stable/11/sys/kern/subr_syscall.c Fri Aug 19 19:31:55 2016 (r304498) +++ stable/11/sys/kern/subr_syscall.c Fri Aug 19 20:17:57 2016 (r304499) @@ -242,5 +242,13 @@ again: cv_timedwait(>p_pwait, >p_mtx, hz); } PROC_UNLOCK(p2); + + if (td->td_dbgflags & TDB_VFORK) { + PROC_LOCK(p); + if (p->p_ptevents & PTRACE_VFORK) + ptracestop(td, SIGTRAP); + td->td_dbgflags &= ~TDB_VFORK; +
svn commit: r304499 - in stable: 10/lib/libc/sys 10/sys/kern 10/sys/sys 10/tests/sys/kern 11/lib/libc/sys 11/sys/kern 11/sys/sys 11/tests/sys/kern
Author: jhb Date: Fri Aug 19 20:17:57 2016 New Revision: 304499 URL: https://svnweb.freebsd.org/changeset/base/304499 Log: MFC 303001: Add PTRACE_VFORK to trace vfork events. First, PL_FLAG_FORKED events now also set a PL_FLAG_VFORKED flag when the new child was created via vfork() rather than fork(). Second, a new PL_FLAG_VFORK_DONE event can now be enabled via the PTRACE_VFORK event mask. This new stop is reported after the vfork parent resumes due to the child calling exit or exec. Debuggers can use this stop to reinsert breakpoints in the vfork parent process before it resumes. Modified: stable/10/lib/libc/sys/ptrace.2 stable/10/sys/kern/kern_fork.c stable/10/sys/kern/subr_syscall.c stable/10/sys/kern/sys_process.c stable/10/sys/sys/proc.h stable/10/sys/sys/ptrace.h stable/10/tests/sys/kern/ptrace_test.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/lib/libc/sys/ptrace.2 stable/11/sys/kern/kern_fork.c stable/11/sys/kern/subr_syscall.c stable/11/sys/kern/sys_process.c stable/11/sys/sys/proc.h stable/11/sys/sys/ptrace.h stable/11/tests/sys/kern/ptrace_test.c Directory Properties: stable/11/ (props changed) Modified: stable/10/lib/libc/sys/ptrace.2 == --- stable/10/lib/libc/sys/ptrace.2 Fri Aug 19 19:31:55 2016 (r304498) +++ stable/10/lib/libc/sys/ptrace.2 Fri Aug 19 20:17:57 2016 (r304499) @@ -151,6 +151,11 @@ The process ID of the new child process .Va pl_child_pid member of .Vt "struct ptrace_lwpinfo" . +If the new child process was created via +.Xr vfork 2 , +the traced process's stop will also include the +.Dv PL_FLAG_VFORKED +flag. Note that new child processes will be attached with the default tracing event mask; they do not inherit the event mask of the traced process. @@ -173,6 +178,33 @@ Note that new processes do not report an initial thread, and exiting processes do not report an event for the termination of the last thread. +.It Dv PTRACE_VFORK +Report a stop event when a parent process resumes after a +.Xr vfork 2 . +.Pp +When a thread in the traced process creates a new child process via +.Xr vfork 2 , +the stop that reports +.Dv PL_FLAG_FORKED +and +.Dv PL_FLAG_SCX +occurs just after the child process is created, +but before the thread waits for the child process to stop sharing process +memory. +If a debugger is not tracing the new child process, +it must ensure that no breakpoints are enabled in the shared process +memory before detaching from the new child process. +This means that no breakpoints are enabled in the parent process either. +.Pp +The +.Dv PTRACE_VFORK +flag enables a new stop that indicates when the new child process stops +sharing the process memory of the parent process. +A debugger can reinsert breakpoints in the parent process and resume it +in response to this event. +This event is indicated by setting the +.Dv PL_FLAG_VFORK_DONE +flag. .El .Pp The default tracing event mask when attaching to a process via @@ -501,6 +533,16 @@ is enabled. Note that this event is not reported when the last LWP in a process exits. The termination of the last thread is reported via a normal process exit event. +.It PL_FLAG_VFORKED +Indicates that the thread is returning from a call to +.Xr vfork 2 +that created a new child process. +This flag is set in addition to +.Dv PL_FLAG_FORKED . +.It PL_FLAG_VFORK_DONE +Indicates that the thread has resumed after a child process created via +.Xr vfork 2 +has stopped sharing its address space with the traced process. .El .It pl_sigmask The current signal mask of the LWP Modified: stable/10/sys/kern/kern_fork.c == --- stable/10/sys/kern/kern_fork.c Fri Aug 19 19:31:55 2016 (r304498) +++ stable/10/sys/kern/kern_fork.c Fri Aug 19 20:17:57 2016 (r304499) @@ -728,6 +728,7 @@ do_fork(struct thread *td, int flags, st if (flags & RFPPWAIT) { td->td_pflags |= TDP_RFPPWAIT; td->td_rfppwait_p = p2; + td->td_dbgflags |= TDB_VFORK; } PROC_UNLOCK(p2); if ((flags & RFSTOPPED) == 0) { Modified: stable/10/sys/kern/subr_syscall.c == --- stable/10/sys/kern/subr_syscall.c Fri Aug 19 19:31:55 2016 (r304498) +++ stable/10/sys/kern/subr_syscall.c Fri Aug 19 20:17:57 2016 (r304499) @@ -249,5 +249,13 @@ again: cv_timedwait(>p_pwait, >p_mtx, hz); } PROC_UNLOCK(p2); + + if (td->td_dbgflags & TDB_VFORK) { + PROC_LOCK(p); + if (p->p_ptevents & PTRACE_VFORK) + ptracestop(td, SIGTRAP); +
svn commit: r304498 - in head: . share/man/man4 sys/conf sys/dev/scd sys/modules sys/modules/scd
Author: jhb Date: Fri Aug 19 19:31:55 2016 New Revision: 304498 URL: https://svnweb.freebsd.org/changeset/base/304498 Log: Remove the scd(4) driver for Sony CDU31/33 CD-ROM drives. This is a driver for a pre-ATAPI ISA CD-ROM adapter. The driver only uses PIO. Deleted: head/share/man/man4/scd.4 head/sys/dev/scd/ head/sys/modules/scd/ Modified: head/ObsoleteFiles.inc head/share/man/man4/Makefile head/sys/conf/NOTES head/sys/conf/files head/sys/modules/Makefile Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Fri Aug 19 19:30:00 2016(r304497) +++ head/ObsoleteFiles.inc Fri Aug 19 19:31:55 2016(r304498) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20160819: Remove scd(4) +OLD_FILES+=usr/share/man/man4/scd.4.gz # 20160815: Remove mcd(4) OLD_FILES+=usr/share/man/man4/mcd.4.gz # 20160703: POSIXify locales with variants Modified: head/share/man/man4/Makefile == --- head/share/man/man4/MakefileFri Aug 19 19:30:00 2016 (r304497) +++ head/share/man/man4/MakefileFri Aug 19 19:31:55 2016 (r304498) @@ -441,7 +441,6 @@ MAN=aac.4 \ sbp.4 \ sbp_targ.4 \ scc.4 \ - scd.4 \ sched_4bsd.4 \ sched_ule.4 \ screen.4 \ Modified: head/sys/conf/NOTES == --- head/sys/conf/NOTES Fri Aug 19 19:30:00 2016(r304497) +++ head/sys/conf/NOTES Fri Aug 19 19:31:55 2016(r304498) @@ -2411,15 +2411,10 @@ options SND_OLDSTEREO # # Miscellaneous hardware: # -# scd: Sony CD-ROM using proprietary (non-ATAPI) interface # bktr: Brooktree bt848/848a/849a/878/879 video capture and TV Tuner board # joy: joystick (including IO DATA PCJOY PC Card joystick) # cmx: OmniKey CardMan 4040 pccard smartcard reader -# for the Sony CDU31/33A CDROM -device scd -hint.scd.0.at="isa" -hint.scd.0.port="0x230" device joy # PnP aware, hints for non-PnP only hint.joy.0.at="isa" hint.joy.0.port="0x201" Modified: head/sys/conf/files == --- head/sys/conf/files Fri Aug 19 19:30:00 2016(r304497) +++ head/sys/conf/files Fri Aug 19 19:31:55 2016(r304498) @@ -2506,8 +2506,6 @@ dev/scc/scc_core.coptional scc dev/scc/scc_dev_quicc.coptional scc quicc dev/scc/scc_dev_sab82532.c optional scc dev/scc/scc_dev_z8530.coptional scc -dev/scd/scd.c optional scd isa -dev/scd/scd_isa.c optional scd isa dev/sdhci/sdhci.c optional sdhci dev/sdhci/sdhci_if.m optional sdhci dev/sdhci/sdhci_pci.c optional sdhci pci Modified: head/sys/modules/Makefile == --- head/sys/modules/Makefile Fri Aug 19 19:30:00 2016(r304497) +++ head/sys/modules/Makefile Fri Aug 19 19:31:55 2016(r304498) @@ -322,7 +322,6 @@ SUBDIR= \ ${_safe} \ ${_sbni} \ scc \ - scd \ ${_scsi_low} \ sdhci \ sdhci_pci \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304497 - releng/11.0
Author: bdrewery Date: Fri Aug 19 19:30:00 2016 New Revision: 304497 URL: https://svnweb.freebsd.org/changeset/base/304497 Log: MFS r304475: MFC r304217: Trim unneeded bootstrap after r301470 made 9.1 the minimum supported release. Approved by: re (gjb) Modified: releng/11.0/Makefile.inc1 Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/Makefile.inc1 == --- releng/11.0/Makefile.inc1 Fri Aug 19 19:26:16 2016(r304496) +++ releng/11.0/Makefile.inc1 Fri Aug 19 19:30:00 2016(r304497) @@ -1579,10 +1579,6 @@ _groff= gnu/usr.bin/groff \ _vtfontcvt=usr.bin/vtfontcvt .endif -.if ${BOOTSTRAPPING} < 92 -_sed= usr.bin/sed -.endif - .if ${BOOTSTRAPPING} < 133 _libopenbsd= lib/libopenbsd _m4= usr.bin/m4 @@ -1621,10 +1617,6 @@ _crunchide= usr.sbin/crunch/crunchide _crunchgen=usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 -_awk= usr.bin/awk -.endif - # r296926 -P keymap search path, MFC to stable/10 in r298297 .if ${BOOTSTRAPPING} < 1003501 || \ (${BOOTSTRAPPING} >= 110 && ${BOOTSTRAPPING} < 1100103) @@ -1692,7 +1684,6 @@ bootstrap-tools: .PHONY ${_gperf} \ ${_groff} \ ${_dtc} \ -${_awk} \ ${_cat} \ ${_dd} \ ${_kbdcontrol} \ @@ -1700,7 +1691,6 @@ bootstrap-tools: .PHONY ${_libopenbsd} \ ${_makewhatis} \ usr.bin/rpcgen \ -${_sed} \ ${_yacc} \ ${_m4} \ ${_lex} \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304496 - stable/11/share/timedef
Author: bapt Date: Fri Aug 19 19:26:16 2016 New Revision: 304496 URL: https://svnweb.freebsd.org/changeset/base/304496 Log: MFC r303354,303373,303404,304045,304192 Set date and time formats back to what they were before CLDR While CLDR brings us a good and up to date source data to generate locales for all databses we are using for locales, it is not the case of LC_TIME. Where it does not defines the informations we need. Put back all the date and time formats from the old locales. Make it statically for now (in order to be able to merge it now into 11.0-RELEASE). The generation tools will be updated soon. That gives us time to properly work on LC_TIME during the 12 timeframe. While here fix abbreviated month for af_ZA (which are already fixed in CLDR data upstream) In locales where AP/PM was not defined before CLDR data, remove again the AP/PM informations For locales where AP/PM was defined before CLDR data, keep the CLDR information which was properly translated. r303354,303373 by kevlo r303404,304192 by jkim Modified: stable/11/share/timedef/af_ZA.UTF-8.src stable/11/share/timedef/am_ET.UTF-8.src stable/11/share/timedef/ar_JO.UTF-8.src stable/11/share/timedef/ar_MA.UTF-8.src stable/11/share/timedef/ar_SA.UTF-8.src stable/11/share/timedef/be_BY.CP1131.src stable/11/share/timedef/be_BY.CP1251.src stable/11/share/timedef/be_BY.ISO8859-5.src stable/11/share/timedef/be_BY.UTF-8.src stable/11/share/timedef/bg_BG.CP1251.src stable/11/share/timedef/bg_BG.UTF-8.src stable/11/share/timedef/ca_IT.ISO8859-15.src stable/11/share/timedef/ca_IT.UTF-8.src stable/11/share/timedef/cs_CZ.ISO8859-2.src stable/11/share/timedef/cs_CZ.UTF-8.src stable/11/share/timedef/da_DK.ISO8859-15.src stable/11/share/timedef/da_DK.UTF-8.src stable/11/share/timedef/de_AT.ISO8859-15.src stable/11/share/timedef/de_AT.UTF-8.src stable/11/share/timedef/de_DE.ISO8859-15.src stable/11/share/timedef/de_DE.UTF-8.src stable/11/share/timedef/el_GR.ISO8859-7.src stable/11/share/timedef/el_GR.UTF-8.src stable/11/share/timedef/en_CA.UTF-8.src stable/11/share/timedef/en_GB.UTF-8.src stable/11/share/timedef/en_IE.UTF-8.src stable/11/share/timedef/en_PH.UTF-8.src stable/11/share/timedef/en_SG.UTF-8.src stable/11/share/timedef/en_US.UTF-8.src stable/11/share/timedef/en_ZA.UTF-8.src stable/11/share/timedef/es_AR.ISO8859-1.src stable/11/share/timedef/es_CR.UTF-8.src stable/11/share/timedef/es_ES.ISO8859-15.src stable/11/share/timedef/es_ES.UTF-8.src stable/11/share/timedef/es_MX.ISO8859-1.src stable/11/share/timedef/es_MX.UTF-8.src stable/11/share/timedef/et_EE.ISO8859-15.src stable/11/share/timedef/eu_ES.UTF-8.src stable/11/share/timedef/fi_FI.ISO8859-15.src stable/11/share/timedef/fi_FI.UTF-8.src stable/11/share/timedef/fr_BE.ISO8859-15.src stable/11/share/timedef/fr_BE.UTF-8.src stable/11/share/timedef/fr_CA.ISO8859-15.src stable/11/share/timedef/fr_CA.UTF-8.src stable/11/share/timedef/fr_CH.ISO8859-15.src stable/11/share/timedef/fr_CH.UTF-8.src stable/11/share/timedef/fr_FR.ISO8859-15.src stable/11/share/timedef/fr_FR.UTF-8.src stable/11/share/timedef/he_IL.UTF-8.src stable/11/share/timedef/hi_IN.ISCII-DEV.src stable/11/share/timedef/hi_IN.UTF-8.src stable/11/share/timedef/hr_HR.ISO8859-2.src stable/11/share/timedef/hr_HR.UTF-8.src stable/11/share/timedef/hu_HU.ISO8859-2.src stable/11/share/timedef/hu_HU.UTF-8.src stable/11/share/timedef/hy_AM.ARMSCII-8.src stable/11/share/timedef/hy_AM.UTF-8.src stable/11/share/timedef/is_IS.ISO8859-15.src stable/11/share/timedef/is_IS.UTF-8.src stable/11/share/timedef/it_CH.ISO8859-15.src stable/11/share/timedef/it_CH.UTF-8.src stable/11/share/timedef/it_IT.ISO8859-15.src stable/11/share/timedef/it_IT.UTF-8.src stable/11/share/timedef/ja_JP.SJIS.src stable/11/share/timedef/ja_JP.UTF-8.src stable/11/share/timedef/ja_JP.eucJP.src stable/11/share/timedef/kk_KZ.UTF-8.src stable/11/share/timedef/ko_KR.UTF-8.src stable/11/share/timedef/ko_KR.eucKR.src (contents, props changed) stable/11/share/timedef/lt_LT.ISO8859-13.src stable/11/share/timedef/lt_LT.UTF-8.src stable/11/share/timedef/lv_LV.ISO8859-13.src stable/11/share/timedef/lv_LV.UTF-8.src stable/11/share/timedef/mn_MN.UTF-8.src stable/11/share/timedef/nb_NO.ISO8859-15.src stable/11/share/timedef/nb_NO.UTF-8.src stable/11/share/timedef/nl_BE.UTF-8.src stable/11/share/timedef/nl_NL.UTF-8.src stable/11/share/timedef/nn_NO.ISO8859-15.src stable/11/share/timedef/nn_NO.UTF-8.src stable/11/share/timedef/pl_PL.ISO8859-2.src stable/11/share/timedef/pl_PL.UTF-8.src stable/11/share/timedef/pt_BR.ISO8859-1.src stable/11/share/timedef/pt_BR.UTF-8.src stable/11/share/timedef/pt_PT.ISO8859-15.src stable/11/share/timedef/pt_PT.UTF-8.src stable/11/share/timedef/ro_RO.ISO8859-2.src stable/11/share/timedef/ro_RO.UTF-8.src
Re: svn commit: r304495 - releng/11.0/sys/dev/filemon
On 8/19/16 12:19 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Fri Aug 19 19:19:17 2016 > New Revision: 304495 > URL: https://svnweb.freebsd.org/changeset/base/304495 > > Log: > MFS r304474: > > MFC r304008: > > Avoid taking PROC_LOCK in syscalls if not being traced. > > Approved by:re (XXX) Woops, Approved by gjb. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r304495 - releng/11.0/sys/dev/filemon
Author: bdrewery Date: Fri Aug 19 19:19:17 2016 New Revision: 304495 URL: https://svnweb.freebsd.org/changeset/base/304495 Log: MFS r304474: MFC r304008: Avoid taking PROC_LOCK in syscalls if not being traced. Approved by: re (XXX) Modified: releng/11.0/sys/dev/filemon/filemon.c Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/sys/dev/filemon/filemon.c == --- releng/11.0/sys/dev/filemon/filemon.c Fri Aug 19 19:16:10 2016 (r304494) +++ releng/11.0/sys/dev/filemon/filemon.c Fri Aug 19 19:19:17 2016 (r304495) @@ -137,6 +137,8 @@ filemon_proc_get(struct proc *p) { struct filemon *filemon; + if (p->p_filemon == NULL) + return (NULL); PROC_LOCK(p); filemon = filemon_acquire(p->p_filemon); PROC_UNLOCK(p); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304494 - releng/11.0
Author: bdrewery Date: Fri Aug 19 19:16:10 2016 New Revision: 304494 URL: https://svnweb.freebsd.org/changeset/base/304494 Log: MFS r304472: MFC r304006: Avoid showing the bootstrap make command for check-old, etc. Approved by: re (gjb) Modified: releng/11.0/Makefile releng/11.0/Makefile.inc1 Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/Makefile == --- releng/11.0/MakefileFri Aug 19 19:02:18 2016(r304493) +++ releng/11.0/MakefileFri Aug 19 19:16:10 2016(r304494) @@ -209,7 +209,8 @@ SUB_MAKE= `test -x ${MYMAKE} && echo ${M SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk .endif -_MAKE= PATH=${PATH} ${SUB_MAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} +_MAKE= PATH=${PATH} MAKE_CMD=${MAKE} ${SUB_MAKE} -f Makefile.inc1 \ + TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} # Only allow meta mode for the whitelisted targets. See META_TGT_WHITELIST # above. Modified: releng/11.0/Makefile.inc1 == --- releng/11.0/Makefile.inc1 Fri Aug 19 19:02:18 2016(r304493) +++ releng/11.0/Makefile.inc1 Fri Aug 19 19:16:10 2016(r304494) @@ -2372,11 +2372,11 @@ check-old-dirs: .PHONY done delete-old: delete-old-files delete-old-dirs .PHONY - @echo "To remove old libraries run '${MAKE} delete-old-libs'." + @echo "To remove old libraries run '${MAKE_CMD} delete-old-libs'." check-old: check-old-files check-old-libs check-old-dirs .PHONY - @echo "To remove old files and directories run '${MAKE} delete-old'." - @echo "To remove old libraries run '${MAKE} delete-old-libs'." + @echo "To remove old files and directories run '${MAKE_CMD} delete-old'." + @echo "To remove old libraries run '${MAKE_CMD} delete-old-libs'." .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304493 - releng/11.0/sys/dev/e1000
Author: sbruno Date: Fri Aug 19 19:02:18 2016 New Revision: 304493 URL: https://svnweb.freebsd.org/changeset/base/304493 Log: MF stable11 r304337 e1000: Add support for Kaby Lake IDs Fixup some errors when transitioning to/from low power states. Approved by: re (kib) Modified: releng/11.0/sys/dev/e1000/e1000_api.c releng/11.0/sys/dev/e1000/e1000_hw.h releng/11.0/sys/dev/e1000/e1000_ich8lan.c releng/11.0/sys/dev/e1000/e1000_ich8lan.h releng/11.0/sys/dev/e1000/e1000_phy.c releng/11.0/sys/dev/e1000/if_em.c Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/sys/dev/e1000/e1000_api.c == --- releng/11.0/sys/dev/e1000/e1000_api.c Fri Aug 19 18:45:42 2016 (r304492) +++ releng/11.0/sys/dev/e1000/e1000_api.c Fri Aug 19 19:02:18 2016 (r304493) @@ -304,6 +304,10 @@ s32 e1000_set_mac_type(struct e1000_hw * case E1000_DEV_ID_PCH_SPT_I219_LM2: case E1000_DEV_ID_PCH_SPT_I219_V2: case E1000_DEV_ID_PCH_LBG_I219_LM3: + case E1000_DEV_ID_PCH_SPT_I219_LM4: + case E1000_DEV_ID_PCH_SPT_I219_V4: + case E1000_DEV_ID_PCH_SPT_I219_LM5: + case E1000_DEV_ID_PCH_SPT_I219_V5: mac->type = e1000_pch_spt; break; case E1000_DEV_ID_82575EB_COPPER: Modified: releng/11.0/sys/dev/e1000/e1000_hw.h == --- releng/11.0/sys/dev/e1000/e1000_hw.hFri Aug 19 18:45:42 2016 (r304492) +++ releng/11.0/sys/dev/e1000/e1000_hw.hFri Aug 19 19:02:18 2016 (r304493) @@ -142,6 +142,10 @@ struct e1000_hw; #define E1000_DEV_ID_PCH_SPT_I219_LM2 0x15B7 /* Sunrise Point-H PCH */ #define E1000_DEV_ID_PCH_SPT_I219_V2 0x15B8 /* Sunrise Point-H PCH */ #define E1000_DEV_ID_PCH_LBG_I219_LM3 0x15B9 /* LEWISBURG PCH */ +#define E1000_DEV_ID_PCH_SPT_I219_LM4 0x15D7 +#define E1000_DEV_ID_PCH_SPT_I219_V4 0x15D8 +#define E1000_DEV_ID_PCH_SPT_I219_LM5 0x15E3 +#define E1000_DEV_ID_PCH_SPT_I219_V5 0x15D6 #define E1000_DEV_ID_82576 0x10C9 #define E1000_DEV_ID_82576_FIBER 0x10E6 #define E1000_DEV_ID_82576_SERDES 0x10E7 @@ -957,9 +961,13 @@ struct e1000_dev_spec_ich8lan { E1000_MUTEX nvm_mutex; E1000_MUTEX swflag_mutex; bool nvm_k1_enabled; + bool disable_k1_off; bool eee_disable; u16 eee_lp_ability; enum e1000_ulp_state ulp_state; + bool ulp_capability_disabled; + bool during_suspend_flow; + bool during_dpg_exit; }; struct e1000_dev_spec_82575 { Modified: releng/11.0/sys/dev/e1000/e1000_ich8lan.c == --- releng/11.0/sys/dev/e1000/e1000_ich8lan.c Fri Aug 19 18:45:42 2016 (r304492) +++ releng/11.0/sys/dev/e1000/e1000_ich8lan.c Fri Aug 19 19:02:18 2016 (r304493) @@ -288,7 +288,7 @@ static void e1000_toggle_lanphypc_pch_lp mac_reg &= ~E1000_CTRL_LANPHYPC_VALUE; E1000_WRITE_REG(hw, E1000_CTRL, mac_reg); E1000_WRITE_FLUSH(hw); - usec_delay(10); + msec_delay(1); mac_reg &= ~E1000_CTRL_LANPHYPC_OVERRIDE; E1000_WRITE_REG(hw, E1000_CTRL, mac_reg); E1000_WRITE_FLUSH(hw); @@ -1625,7 +1625,17 @@ static s32 e1000_check_for_copper_link_i hw->phy.ops.write_reg_locked(hw, I217_PLL_CLOCK_GATE_REG, phy_reg); - } + + if (speed == SPEED_1000) { + hw->phy.ops.read_reg_locked(hw, HV_PM_CTRL, + _reg); + + phy_reg |= HV_PM_CTRL_K1_CLK_REQ; + + hw->phy.ops.write_reg_locked(hw, HV_PM_CTRL, +phy_reg); + } +} hw->phy.ops.release(hw); if (ret_val) @@ -1718,7 +1728,8 @@ static s32 e1000_check_for_copper_link_i u32 pcieanacfg = E1000_READ_REG(hw, E1000_PCIEANACFG); u32 fextnvm6 = E1000_READ_REG(hw, E1000_FEXTNVM6); - if (pcieanacfg & E1000_FEXTNVM6_K1_OFF_ENABLE) + if ((pcieanacfg & E1000_FEXTNVM6_K1_OFF_ENABLE) && + (hw->dev_spec.ich8lan.disable_k1_off == FALSE)) fextnvm6 |= E1000_FEXTNVM6_K1_OFF_ENABLE; else fextnvm6 &= ~E1000_FEXTNVM6_K1_OFF_ENABLE; Modified: releng/11.0/sys/dev/e1000/e1000_ich8lan.h == --- releng/11.0/sys/dev/e1000/e1000_ich8lan.h
svn commit: r304492 - head/sys/conf
Author: jhb Date: Fri Aug 19 18:45:42 2016 New Revision: 304492 URL: https://svnweb.freebsd.org/changeset/base/304492 Log: Move cxgb and cxgbe down to the non-mii PCI NIC section. Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES == --- head/sys/conf/NOTES Fri Aug 19 18:40:47 2016(r304491) +++ head/sys/conf/NOTES Fri Aug 19 18:45:42 2016(r304492) @@ -2116,9 +2116,6 @@ devicebce # Broadcom BCM5706/BCM5708 device bfe # Broadcom BCM440x 10/100 Ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn -device cxgb# Chelsio T3 10 Gigabit Ethernet -device cxgb_t3fw # Chelsio T3 10 Gigabit Ethernet firmware -device cxgbe # Chelsio T4 and T5 1GbE/10GbE/40GbE device dc # DEC/Intel 21143 and various workalikes device et # Agere ET1310 10/100/Gigabit Ethernet device fxp # Intel EtherExpress PRO/100B (82557, 82558) @@ -2149,6 +2146,9 @@ devicewb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # PCI Ethernet NICs. +device cxgb# Chelsio T3 10 Gigabit Ethernet +device cxgb_t3fw # Chelsio T3 10 Gigabit Ethernet firmware +device cxgbe # Chelsio T4 and T5 1GbE/10GbE/40GbE device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel Pro/1000 Gigabit Ethernet device igb # Intel Pro/1000 PCIE Gigabit Ethernet ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304491 - releng/11.0/sys/conf
Author: bdrewery Date: Fri Aug 19 18:40:47 2016 New Revision: 304491 URL: https://svnweb.freebsd.org/changeset/base/304491 Log: MFS r304470: MFC r304005: PORTS_MODULES: Don't leak in CC/CXX/CPP. Approved by: re (gjb) Modified: releng/11.0/sys/conf/kern.post.mk Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/sys/conf/kern.post.mk == --- releng/11.0/sys/conf/kern.post.mk Fri Aug 19 18:14:33 2016 (r304490) +++ releng/11.0/sys/conf/kern.post.mk Fri Aug 19 18:40:47 2016 (r304491) @@ -65,6 +65,10 @@ OSRELDATE!= awk '/^\#define[[:space:]]*_ # Keep the related ports builds in the obj directory so that they are only rebuilt once per kernel build WRKDIRPREFIX?= ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${KERNCONF} PORTSMODULESENV=\ + env \ + -u CC \ + -u CXX \ + -u CPP \ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \ SRC_BASE=${SRC_BASE} \ OSVERSION=${OSRELDATE} \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304490 - releng/11.0/usr.bin/xinstall
Author: bdrewery Date: Fri Aug 19 18:14:33 2016 New Revision: 304490 URL: https://svnweb.freebsd.org/changeset/base/304490 Log: MFS r304469: MFC r303929,r303930,r303931,r303932,r303933: r303929: Fix -S with -b not atomically updating the destination file. r303930: Support -v for -l. r303931: Fix -S with -l not being atomic. r303932: Fix -b failure not restoring flags on the destination file. r303933: Squelch a false-positive Clang static analyzer warning. Approved by: re (gjb) Modified: releng/11.0/usr.bin/xinstall/xinstall.c Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/usr.bin/xinstall/xinstall.c == --- releng/11.0/usr.bin/xinstall/xinstall.c Fri Aug 19 18:08:59 2016 (r304489) +++ releng/11.0/usr.bin/xinstall/xinstall.c Fri Aug 19 18:14:33 2016 (r304490) @@ -149,6 +149,7 @@ main(int argc, char *argv[]) char *p; const char *to_name; + fset = 0; iflags = 0; group = owner = NULL; while ((ch = getopt(argc, argv, "B:bCcD:df:g:h:l:M:m:N:o:pSsT:Uv")) != @@ -533,7 +534,9 @@ do_link(const char *from_name, const cha if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); - unlink(to_name); + if (verbose) + printf("install: link %s -> %s\n", + from_name, to_name); ret = rename(tmpl, to_name); /* * If rename has posix semantics, then the temporary @@ -543,8 +546,12 @@ do_link(const char *from_name, const cha (void)unlink(tmpl); } return (ret); - } else + } else { + if (verbose) + printf("install: link %s -> %s\n", + from_name, to_name); return (link(from_name, to_name)); + } } /* @@ -573,14 +580,18 @@ do_symlink(const char *from_name, const if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); - unlink(to_name); - + if (verbose) + printf("install: symlink %s -> %s\n", + from_name, to_name); if (rename(tmpl, to_name) == -1) { /* Remove temporary link before exiting. */ (void)unlink(tmpl); err(EX_OSERR, "%s: rename", to_name); } } else { + if (verbose) + printf("install: symlink %s -> %s\n", + from_name, to_name); if (symlink(from_name, to_name) == -1) err(EX_OSERR, "symlink %s -> %s", from_name, to_name); } @@ -886,11 +897,21 @@ install(const char *from_name, const cha } if (verbose) (void)printf("install: %s -> %s\n", to_name, backup); - if (rename(to_name, backup) < 0) { + if (unlink(backup) < 0 && errno != ENOENT) { + serrno = errno; + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, to_sb.st_flags); + unlink(tempfile); + errno = serrno; + err(EX_OSERR, "unlink: %s", backup); + } + if (link(to_name, backup) < 0) { serrno = errno; unlink(tempfile); + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, to_sb.st_flags); errno = serrno; - err(EX_OSERR, "rename: %s to %s", to_name, + err(EX_OSERR, "link: %s to %s", to_name, backup); } } @@ -,16 +1132,26 @@ create_newfile(const char *path, int tar if (dobackup) { if ((size_t)snprintf(backup, MAXPATHLEN, "%s%s", - path, suffix) != strlen(path) + strlen(suffix)) + path, suffix) != strlen(path) + strlen(suffix)) { + saved_errno = errno; + if (sbp->st_flags & NOCHANGEBITS) +
svn commit: r304489 - releng/11.0/share/mk
Author: bdrewery Date: Fri Aug 19 18:08:59 2016 New Revision: 304489 URL: https://svnweb.freebsd.org/changeset/base/304489 Log: MFS r304144: MFC r303964: PROGS: Support INTERNALPROG.prog=yes to not install it. Approved by: re (gjb) Modified: releng/11.0/share/mk/bsd.README releng/11.0/share/mk/bsd.progs.mk Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/share/mk/bsd.README == --- releng/11.0/share/mk/bsd.README Fri Aug 19 18:02:36 2016 (r304488) +++ releng/11.0/share/mk/bsd.README Fri Aug 19 18:08:59 2016 (r304489) @@ -331,6 +331,7 @@ PROGS_CXX PROG and PROGS_CXX in one Make - DEBUG_FLAGS - DPADD - DPSRCS + - INTERNALPROG (no installation) - LDADD - LDFLAGS - LIBADD Modified: releng/11.0/share/mk/bsd.progs.mk == --- releng/11.0/share/mk/bsd.progs.mk Fri Aug 19 18:02:36 2016 (r304488) +++ releng/11.0/share/mk/bsd.progs.mk Fri Aug 19 18:08:59 2016 (r304489) @@ -24,8 +24,8 @@ PROGS += ${PROGS_CXX} # just one of many PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN NO_WERROR \ PROGNAME SRCS STRIP WARNS -PROG_VARS += CFLAGS CXXFLAGS DEBUG_FLAGS DPADD LDADD LIBADD LINKS \ - LDFLAGS MLINKS ${PROG_OVERRIDE_VARS} +PROG_VARS += CFLAGS CXXFLAGS DEBUG_FLAGS DPADD INTERNALPROG LDADD LIBADD \ + LINKS LDFLAGS MLINKS ${PROG_OVERRIDE_VARS} .for v in ${PROG_VARS:O:u} .if empty(${PROG_OVERRIDE_VARS:M$v}) .if defined(${v}.${PROG}) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304488 - head/sys/arm/arm
Author: manu Date: Fri Aug 19 18:02:36 2016 New Revision: 304488 URL: https://svnweb.freebsd.org/changeset/base/304488 Log: Keep boot parameters in ARM trampoline code Currently boot parameters (r0 - r3) are forgotten in ARM trampoline code. This patch save them at startup and restore them before jumping into kernel _start() routine. This is usefull when booting with Linux ABI and/or custom bootloader. Submitted by: Grégory SoutadéReviewed by: imp Differential Revision:https://reviews.freebsd.org/D7395 Modified: head/sys/arm/arm/elf_trampoline.c Modified: head/sys/arm/arm/elf_trampoline.c == --- head/sys/arm/arm/elf_trampoline.c Fri Aug 19 17:57:14 2016 (r304487) +++ head/sys/arm/arm/elf_trampoline.c Fri Aug 19 18:02:36 2016 (r304488) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include extern char kernel_start[]; extern char kernel_end[]; @@ -47,7 +48,7 @@ extern void *_end; void _start(void); void __start(void); -void __startC(void); +void __startC(unsigned r0, unsigned r1, unsigned r2, unsigned r3); extern unsigned int cpu_ident(void); extern void armv6_idcache_wbinv_all(void); @@ -124,6 +125,10 @@ static int arm_dcache_l2_nsets; static int arm_dcache_l2_assoc; static int arm_dcache_l2_linesize; +/* + * Boot parameters + */ +static struct arm_boot_params s_boot_params; extern int arm9_dcache_sets_inc; extern int arm9_dcache_sets_max; @@ -172,12 +177,17 @@ bzero(void *addr, int count) static void arm9_setup(void); void -_startC(void) +_startC(unsigned r0, unsigned r1, unsigned r2, unsigned r3) { int tmp1; unsigned int sp = ((unsigned int)&_end & ~3) + 4; unsigned int pc, kernphysaddr; + s_boot_params.abp_r0 = r0; + s_boot_params.abp_r1 = r1; + s_boot_params.abp_r2 = r2; + s_boot_params.abp_r3 = r3; + /* * Figure out the physical address the kernel was loaded at. This * assumes the entry point (this code right here) is in the first page, @@ -211,8 +221,15 @@ _startC(void) /* Temporary set the sp and jump to the new location. */ __asm __volatile( "mov sp, %1\n" + "mov r0, %2\n" + "mov r1, %3\n" + "mov r2, %4\n" + "mov r3, %5\n" "mov pc, %0\n" - : : "r" (target_addr), "r" (tmp_sp)); + : : "r" (target_addr), "r" (tmp_sp), + "r" (s_boot_params.abp_r0), "r" (s_boot_params.abp_r1), + "r" (s_boot_params.abp_r2), "r" (s_boot_params.abp_r3), + : "r0", "r1", "r2", "r3"); } #endif @@ -487,6 +504,7 @@ load_kernel(unsigned int kstart, unsigne vm_offset_t lastaddr = 0; Elf_Addr ssym = 0; Elf_Dyn *dp; + struct arm_boot_params local_boot_params; eh = (Elf32_Ehdr *)kstart; ssym = 0; @@ -555,6 +573,12 @@ load_kernel(unsigned int kstart, unsigne if (!d) return ((void *)lastaddr); + /* +* Now the stack is fixed, copy boot params +* before it's overrided +*/ + memcpy(_boot_params, _boot_params, sizeof(local_boot_params)); + j = eh->e_phnum; for (i = 0; i < j; i++) { volatile char c; @@ -604,7 +628,10 @@ load_kernel(unsigned int kstart, unsigne "mcr p15, 0, %0, c1, c0, 0\n" /* CP15_SCTLR(%0)*/ : "=r" (ssym)); /* Jump to the entry point. */ - ((void(*)(void))(entry_point - KERNVIRTADDR + curaddr))(); + ((void(*)(unsigned, unsigned, unsigned, unsigned)) + (entry_point - KERNVIRTADDR + curaddr)) + (local_boot_params.abp_r0, local_boot_params.abp_r1, + local_boot_params.abp_r2, local_boot_params.abp_r3); __asm __volatile(".globl func_end\n" "func_end:"); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304487 - in head/sys: kern sys
Author: markj Date: Fri Aug 19 17:57:14 2016 New Revision: 304487 URL: https://svnweb.freebsd.org/changeset/base/304487 Log: Don't set P2_PTRACE_FSTP in a process that invokes ptrace(PT_TRACE_ME). Such processes are stopped synchronously by a direct call to ptracestop(SIGTRAP) upon exec. P2_PTRACE_FSTP causes the exec()ing thread to suspend itself while waiting for a SIGSTOP that never arrives. Reviewed by: kib MFC after:3 days Differential Revision:https://reviews.freebsd.org/D7576 Modified: head/sys/kern/kern_fork.c head/sys/kern/sys_process.c head/sys/sys/proc.h Modified: head/sys/kern/kern_fork.c == --- head/sys/kern/kern_fork.c Fri Aug 19 17:55:34 2016(r304486) +++ head/sys/kern/kern_fork.c Fri Aug 19 17:57:14 2016(r304487) @@ -1074,7 +1074,7 @@ fork_return(struct thread *td, struct tr * parent's children, do it now. */ dbg = p->p_pptr->p_pptr; - proc_set_traced(p); + proc_set_traced(p, true); CTR2(KTR_PTRACE, "fork_return: attaching to new child pid %d: oppid %d", p->p_pid, p->p_oppid); Modified: head/sys/kern/sys_process.c == --- head/sys/kern/sys_process.c Fri Aug 19 17:55:34 2016(r304486) +++ head/sys/kern/sys_process.c Fri Aug 19 17:57:14 2016(r304487) @@ -693,12 +693,13 @@ sys_ptrace(struct thread *td, struct ptr #endif void -proc_set_traced(struct proc *p) +proc_set_traced(struct proc *p, bool stop) { PROC_LOCK_ASSERT(p, MA_OWNED); p->p_flag |= P_TRACED; - p->p_flag2 |= P2_PTRACE_FSTP; + if (stop) + p->p_flag2 |= P2_PTRACE_FSTP; p->p_ptevents = PTRACE_DEFAULT; p->p_oppid = p->p_pptr->p_pid; } @@ -910,7 +911,7 @@ kern_ptrace(struct thread *td, int req, switch (req) { case PT_TRACE_ME: /* set my trace flag and "owner" so it can read/write me */ - proc_set_traced(p); + proc_set_traced(p, false); if (p->p_flag & P_PPWAIT) p->p_flag |= P_PPTRACE; CTR1(KTR_PTRACE, "PT_TRACE_ME: pid %d", p->p_pid); @@ -927,7 +928,7 @@ kern_ptrace(struct thread *td, int req, * The old parent is remembered so we can put things back * on a "detach". */ - proc_set_traced(p); + proc_set_traced(p, true); if (p->p_pptr != td->td_proc) { proc_reparent(p, td->td_proc); } Modified: head/sys/sys/proc.h == --- head/sys/sys/proc.h Fri Aug 19 17:55:34 2016(r304486) +++ head/sys/sys/proc.h Fri Aug 19 17:57:14 2016(r304487) @@ -1010,7 +1010,7 @@ void proc_linkup(struct proc *p, struct struct proc *proc_realparent(struct proc *child); void proc_reap(struct thread *td, struct proc *p, int *status, int options); void proc_reparent(struct proc *child, struct proc *newparent); -void proc_set_traced(struct proc *p); +void proc_set_traced(struct proc *p, bool stop); struct pstats *pstats_alloc(void); void pstats_fork(struct pstats *src, struct pstats *dst); void pstats_free(struct pstats *ps); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304485 - head/sys/dev/cxgbe
Author: jhb Date: Fri Aug 19 17:54:51 2016 New Revision: 304485 URL: https://svnweb.freebsd.org/changeset/base/304485 Log: Reorder sysctls so that nodes shared with the VF driver are added first. This permits a single early return for VF devices in the routines that add sysctl nodes. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision:https://reviews.freebsd.org/D7512 Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c == --- head/sys/dev/cxgbe/t4_main.cFri Aug 19 17:54:06 2016 (r304484) +++ head/sys/dev/cxgbe/t4_main.cFri Aug 19 17:54:51 2016 (r304485) @@ -4592,6 +4592,32 @@ t4_sysctls(struct adapter *sc) SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nports", CTLFLAG_RD, NULL, sc->params.nports, "# of ports"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "doorbells", + CTLTYPE_STRING | CTLFLAG_RD, doorbells, sc->doorbells, + sysctl_bitfield, "A", "available doorbells"); + + SYSCTL_ADD_INT(ctx, children, OID_AUTO, "core_clock", CTLFLAG_RD, NULL, + sc->params.vpd.cclk, "core clock frequency (in KHz)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_timers", + CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.timer_val, + sizeof(sc->params.sge.timer_val), sysctl_int_array, "A", + "interrupt holdoff timer values (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_pkt_counts", + CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.counter_val, + sizeof(sc->params.sge.counter_val), sysctl_int_array, "A", + "interrupt holdoff packet counter values"); + + t4_sge_sysctls(sc, ctx, children); + + sc->lro_timeout = 100; + SYSCTL_ADD_INT(ctx, children, OID_AUTO, "lro_timeout", CTLFLAG_RW, + >lro_timeout, 0, "lro inactive-flush timeout (in us)"); + + SYSCTL_ADD_INT(ctx, children, OID_AUTO, "debug_flags", CTLFLAG_RW, + >debug_flags, 0, "flags to enable runtime debugging"); + SYSCTL_ADD_INT(ctx, children, OID_AUTO, "hw_revision", CTLFLAG_RD, NULL, chip_rev(sc), "chip hardware revision"); @@ -4612,10 +4638,6 @@ t4_sysctls(struct adapter *sc) SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "cfcsum", CTLFLAG_RD, NULL, sc->cfcsum, "config file checksum"); - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "doorbells", - CTLTYPE_STRING | CTLFLAG_RD, doorbells, sc->doorbells, - sysctl_bitfield, "A", "available doorbells"); - #define SYSCTL_CAP(name, n, text) \ SYSCTL_ADD_PROC(ctx, children, OID_AUTO, #name, \ CTLTYPE_STRING | CTLFLAG_RD, caps_decoder[n], sc->name, \ @@ -4632,19 +4654,6 @@ t4_sysctls(struct adapter *sc) SYSCTL_CAP(fcoecaps, 8, "FCoE"); #undef SYSCTL_CAP - SYSCTL_ADD_INT(ctx, children, OID_AUTO, "core_clock", CTLFLAG_RD, NULL, - sc->params.vpd.cclk, "core clock frequency (in KHz)"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_timers", - CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.timer_val, - sizeof(sc->params.sge.timer_val), sysctl_int_array, "A", - "interrupt holdoff timer values (us)"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_pkt_counts", - CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.counter_val, - sizeof(sc->params.sge.counter_val), sysctl_int_array, "A", - "interrupt holdoff packet counter values"); - SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nfilters", CTLFLAG_RD, NULL, sc->tids.nftids, "number of filters"); @@ -4652,15 +4661,6 @@ t4_sysctls(struct adapter *sc) CTLFLAG_RD, sc, 0, sysctl_temperature, "I", "chip temperature (in Celsius)"); - t4_sge_sysctls(sc, ctx, children); - - sc->lro_timeout = 100; - SYSCTL_ADD_INT(ctx, children, OID_AUTO, "lro_timeout", CTLFLAG_RW, - >lro_timeout, 0, "lro inactive-flush timeout (in us)"); - - SYSCTL_ADD_INT(ctx, children, OID_AUTO, "debug_flags", CTLFLAG_RW, - >debug_flags, 0, "flags to enable runtime debugging"); - #ifdef SBUF_DRAIN /* * dev.t4nex.X.misc. Marked CTLFLAG_SKIP to avoid information overload. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304484 - head/sys/compat/cloudabi64
Author: ed Date: Fri Aug 19 17:54:06 2016 New Revision: 304484 URL: https://svnweb.freebsd.org/changeset/base/304484 Log: Regenerate system call table after r304483. Modified: head/sys/compat/cloudabi64/cloudabi64_proto.h head/sys/compat/cloudabi64/cloudabi64_syscall.h head/sys/compat/cloudabi64/cloudabi64_syscalls.c head/sys/compat/cloudabi64/cloudabi64_sysent.c Modified: head/sys/compat/cloudabi64/cloudabi64_proto.h == --- head/sys/compat/cloudabi64/cloudabi64_proto.h Fri Aug 19 17:53:37 2016(r304483) +++ head/sys/compat/cloudabi64/cloudabi64_proto.h Fri Aug 19 17:54:06 2016(r304484) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls64.master 304483 2016-08-19 17:53:37Z ed */ #ifndef _CLOUDABI64_SYSPROTO_H_ Modified: head/sys/compat/cloudabi64/cloudabi64_syscall.h == --- head/sys/compat/cloudabi64/cloudabi64_syscall.h Fri Aug 19 17:53:37 2016(r304483) +++ head/sys/compat/cloudabi64/cloudabi64_syscall.h Fri Aug 19 17:54:06 2016(r304484) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls64.master 304483 2016-08-19 17:53:37Z ed */ #defineCLOUDABI64_SYS_cloudabi_sys_clock_res_get 0 Modified: head/sys/compat/cloudabi64/cloudabi64_syscalls.c == --- head/sys/compat/cloudabi64/cloudabi64_syscalls.cFri Aug 19 17:53:37 2016(r304483) +++ head/sys/compat/cloudabi64/cloudabi64_syscalls.cFri Aug 19 17:54:06 2016(r304484) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls64.master 304483 2016-08-19 17:53:37Z ed */ const char *cloudabi64_syscallnames[] = { Modified: head/sys/compat/cloudabi64/cloudabi64_sysent.c == --- head/sys/compat/cloudabi64/cloudabi64_sysent.c Fri Aug 19 17:53:37 2016(r304483) +++ head/sys/compat/cloudabi64/cloudabi64_sysent.c Fri Aug 19 17:54:06 2016(r304484) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls64.master 304483 2016-08-19 17:53:37Z ed */ #include ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304483 - head/sys/contrib/cloudabi
Author: ed Date: Fri Aug 19 17:53:37 2016 New Revision: 304483 URL: https://svnweb.freebsd.org/changeset/base/304483 Log: Use the proper value for svn:keywords. Pointy hat to:me Modified: Directory Properties: head/sys/contrib/cloudabi/syscalls64.master (props changed) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304482 - head/sys/dev/cxgbe/common
Author: jhb Date: Fri Aug 19 17:52:48 2016 New Revision: 304482 URL: https://svnweb.freebsd.org/changeset/base/304482 Log: Adjust t4_port_init() to work with VF devices. Specifically, the FW_PORT_CMD may or may not work for a VF (the PF driver can choose whether or not to permit access to this command), so don't attempt to fetch port information on a VF if permission is denied by the PF. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision:https://reviews.freebsd.org/D7511 Modified: head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/t4_hw.c == --- head/sys/dev/cxgbe/common/t4_hw.c Fri Aug 19 17:51:52 2016 (r304481) +++ head/sys/dev/cxgbe/common/t4_hw.c Fri Aug 19 17:52:48 2016 (r304482) @@ -7938,15 +7938,26 @@ int t4_port_init(struct adapter *adap, i } while ((adap->params.portvec & (1 << j)) == 0); } - c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_READ | - V_FW_PORT_CMD_PORTID(j)); - c.action_to_len16 = htonl( - V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_GET_PORT_INFO) | - FW_LEN16(c)); - ret = t4_wr_mbox(adap, mbox, , sizeof(c), ); - if (ret) - return ret; + if (!(adap->flags & IS_VF) || + adap->params.vfres.r_caps & FW_CMD_CAP_PORT) { + c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ | + V_FW_PORT_CMD_PORTID(j)); + c.action_to_len16 = htonl( + V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_GET_PORT_INFO) | + FW_LEN16(c)); + ret = t4_wr_mbox(adap, mbox, , sizeof(c), ); + if (ret) + return ret; + + ret = be32_to_cpu(c.u.info.lstatus_to_modtype); + p->mdio_addr = (ret & F_FW_PORT_CMD_MDIOCAP) ? + G_FW_PORT_CMD_MDIOADDR(ret) : -1; + p->port_type = G_FW_PORT_CMD_PTYPE(ret); + p->mod_type = G_FW_PORT_CMD_MODTYPE(ret); + + init_link_config(>link_cfg, be16_to_cpu(c.u.info.pcap)); + } ret = t4_alloc_vi(adap, mbox, j, pf, vf, 1, addr, _size); if (ret < 0) @@ -7959,14 +7970,6 @@ int t4_port_init(struct adapter *adap, i p->vi[0].rss_size = rss_size; t4_os_set_hw_addr(adap, p->port_id, addr); - ret = be32_to_cpu(c.u.info.lstatus_to_modtype); - p->mdio_addr = (ret & F_FW_PORT_CMD_MDIOCAP) ? - G_FW_PORT_CMD_MDIOADDR(ret) : -1; - p->port_type = G_FW_PORT_CMD_PTYPE(ret); - p->mod_type = G_FW_PORT_CMD_MODTYPE(ret); - - init_link_config(>link_cfg, be16_to_cpu(c.u.info.pcap)); - param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_RSSINFO) | V_FW_PARAMS_PARAM_YZ(p->vi[0].viid); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304481 - head/sys/contrib/cloudabi
Author: ed Date: Fri Aug 19 17:51:52 2016 New Revision: 304481 URL: https://svnweb.freebsd.org/changeset/base/304481 Log: Add missing SVN keywords keyword. Modified: Directory Properties: head/sys/contrib/cloudabi/syscalls64.master (props changed) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304479 - head/sys/dev/cxgbe/common
Author: jhb Date: Fri Aug 19 17:49:49 2016 New Revision: 304479 URL: https://svnweb.freebsd.org/changeset/base/304479 Log: Add structures for VF-specific adapter parameters. While here, mark which parameters are PF-specific and which are VF-specific. Sponsored by: Chelsio Communications Differential Revision:https://reviews.freebsd.org/D7508 Modified: head/sys/dev/cxgbe/common/common.h Modified: head/sys/dev/cxgbe/common/common.h == --- head/sys/dev/cxgbe/common/common.h Fri Aug 19 17:49:35 2016 (r304478) +++ head/sys/dev/cxgbe/common/common.h Fri Aug 19 17:49:49 2016 (r304479) @@ -280,12 +280,52 @@ struct chip_params { u16 mps_tcam_size; }; +/* VF-only parameters. */ + +/* + * Global Receive Side Scaling (RSS) parameters in host-native format. + */ +struct rss_params { + unsigned int mode; /* RSS mode */ + union { + struct { + u_int synmapen:1; /* SYN Map Enable */ + u_int syn4tupenipv6:1; /* enable hashing 4-tuple IPv6 SYNs */ + u_int syn2tupenipv6:1; /* enable hashing 2-tuple IPv6 SYNs */ + u_int syn4tupenipv4:1; /* enable hashing 4-tuple IPv4 SYNs */ + u_int syn2tupenipv4:1; /* enable hashing 2-tuple IPv4 SYNs */ + u_int ofdmapen:1; /* Offload Map Enable */ + u_int tnlmapen:1; /* Tunnel Map Enable */ + u_int tnlalllookup:1; /* Tunnel All Lookup */ + u_int hashtoeplitz:1; /* use Toeplitz hash */ + } basicvirtual; + } u; +}; + +/* + * Maximum resources provisioned for a PCI VF. + */ +struct vf_resources { + unsigned int nvi; /* N virtual interfaces */ + unsigned int neq; /* N egress Qs */ + unsigned int nethctrl; /* N egress ETH or CTRL Qs */ + unsigned int niqflint; /* N ingress Qs/w free list(s) & intr */ + unsigned int niq; /* N ingress Qs */ + unsigned int tc;/* PCI-E traffic class */ + unsigned int pmask; /* port access rights mask */ + unsigned int nexactf; /* N exact MPS filters */ + unsigned int r_caps;/* read capabilities */ + unsigned int wx_caps; /* write/execute capabilities */ +}; + struct adapter_params { struct sge_params sge; - struct tp_params tp; + struct tp_params tp; /* PF-only */ struct vpd_params vpd; struct pci_params pci; - struct devlog_params devlog; + struct devlog_params devlog;/* PF-only */ + struct rss_params rss; /* VF-only */ + struct vf_resources vfres; /* VF-only */ unsigned int sf_size; /* serial flash size in bytes */ unsigned int sf_nsec; /* # of flash sectors */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304478 - in head: sys/compat/cloudabi sys/compat/cloudabi64 sys/contrib/cloudabi usr.bin/truss
Author: ed Date: Fri Aug 19 17:49:35 2016 New Revision: 304478 URL: https://svnweb.freebsd.org/changeset/base/304478 Log: Import the new automatically generated system call table for CloudABI. Now that we've switched over to using the vDSO on CloudABI, it becomes a lot easier for us to phase out old features. System call numbering is no longer something that's part of the ABI. It's fully based on names. As long as the numbering used by the kernel and the vDSO is consistent (which it always is), it's all right. Let's put this to the test by removing a system call (thread_tcb_set()) that's already unused for quite some time now, but was only left intact to serve as a placeholder. Sync in the new system call table that uses alphabetic sorting of system calls. Obtained from:https://github.com/NuxiNL/cloudabi Added: head/sys/contrib/cloudabi/syscalls64.master Deleted: head/sys/contrib/cloudabi/syscalls.master Modified: head/sys/compat/cloudabi/cloudabi_thread.c head/sys/compat/cloudabi64/Makefile head/sys/compat/cloudabi64/cloudabi64_proto.h head/sys/compat/cloudabi64/cloudabi64_syscall.h head/sys/compat/cloudabi64/cloudabi64_syscalls.c head/sys/compat/cloudabi64/cloudabi64_sysent.c head/sys/compat/cloudabi64/cloudabi64_systrace_args.c head/sys/contrib/cloudabi/cloudabi64_types.h head/sys/contrib/cloudabi/cloudabi_types.h head/sys/contrib/cloudabi/cloudabi_types_common.h head/sys/contrib/cloudabi/cloudabi_vdso_aarch64.c head/sys/contrib/cloudabi/cloudabi_vdso_x86_64.c head/usr.bin/truss/syscalls.c Modified: head/sys/compat/cloudabi/cloudabi_thread.c == --- head/sys/compat/cloudabi/cloudabi_thread.c Fri Aug 19 17:48:47 2016 (r304477) +++ head/sys/compat/cloudabi/cloudabi_thread.c Fri Aug 19 17:49:35 2016 (r304478) @@ -60,14 +60,6 @@ cloudabi_sys_thread_exit(struct thread * } int -cloudabi_sys_thread_tcb_set(struct thread *td, -struct cloudabi_sys_thread_tcb_set_args *uap) -{ - - return (cpu_set_user_tls(td, uap->tcb)); -} - -int cloudabi_sys_thread_yield(struct thread *td, struct cloudabi_sys_thread_yield_args *uap) { Modified: head/sys/compat/cloudabi64/Makefile == --- head/sys/compat/cloudabi64/Makefile Fri Aug 19 17:48:47 2016 (r304477) +++ head/sys/compat/cloudabi64/Makefile Fri Aug 19 17:49:35 2016 (r304478) @@ -8,7 +8,7 @@ sysent: cloudabi64_sysent.c cloudabi64_s cloudabi64_sysent.c cloudabi64_syscall.h cloudabi64_proto.h \ cloudabi64_syscalls.c cloudabi64_systrace_args.c: \ -../../kern/makesyscalls.sh ../../contrib/cloudabi/syscalls.master \ +../../kern/makesyscalls.sh ../../contrib/cloudabi/syscalls64.master \ syscalls.conf - sh ../../kern/makesyscalls.sh ../../contrib/cloudabi/syscalls.master \ + sh ../../kern/makesyscalls.sh ../../contrib/cloudabi/syscalls64.master \ syscalls.conf Modified: head/sys/compat/cloudabi64/cloudabi64_proto.h == --- head/sys/compat/cloudabi64/cloudabi64_proto.h Fri Aug 19 17:48:47 2016(r304477) +++ head/sys/compat/cloudabi64/cloudabi64_proto.h Fri Aug 19 17:49:35 2016(r304478) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/contrib/cloudabi/syscalls.master 297468 2016-03-31 18:50:06Z ed + * created from FreeBSD */ #ifndef _CLOUDABI64_SYSPROTO_H_ @@ -236,6 +236,14 @@ struct cloudabi64_sys_poll_args { char out_l_[PADL_(cloudabi64_event_t *)]; cloudabi64_event_t * out; char out_r_[PADR_(cloudabi64_event_t *)]; char nsubscriptions_l_[PADL_(size_t)]; size_t nsubscriptions; char nsubscriptions_r_[PADR_(size_t)]; }; +struct cloudabi64_sys_poll_fd_args { + char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; + char in_l_[PADL_(const cloudabi64_subscription_t *)]; const cloudabi64_subscription_t * in; char in_r_[PADR_(const cloudabi64_subscription_t *)]; + char nin_l_[PADL_(size_t)]; size_t nin; char nin_r_[PADR_(size_t)]; + char out_l_[PADL_(cloudabi64_event_t *)]; cloudabi64_event_t * out; char out_r_[PADR_(cloudabi64_event_t *)]; + char nout_l_[PADL_(size_t)]; size_t nout; char nout_r_[PADR_(size_t)]; + char timeout_l_[PADL_(const cloudabi64_subscription_t *)]; const cloudabi64_subscription_t * timeout; char timeout_r_[PADR_(const cloudabi64_subscription_t *)]; +}; struct cloudabi_sys_proc_exec_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char data_l_[PADL_(const void *)]; const void * data; char data_r_[PADR_(const void *)]; @@ -302,20 +310,9 @@ struct cloudabi_sys_thread_exit_args { char
svn commit: r304477 - releng/11.0/usr.bin/truss
Author: bdrewery Date: Fri Aug 19 17:48:47 2016 New Revision: 304477 URL: https://svnweb.freebsd.org/changeset/base/304477 Log: MFS r304143: MFC r303934,r303937,r303942: r303934: Support rmdir(2). r303937: Use proper argument length for rmdir(2) for r303934. r303942: Fix sorting in r303934. Approved by: re (gjb) Modified: releng/11.0/usr.bin/truss/syscalls.c Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/usr.bin/truss/syscalls.c == --- releng/11.0/usr.bin/truss/syscalls.cFri Aug 19 17:37:32 2016 (r304476) +++ releng/11.0/usr.bin/truss/syscalls.cFri Aug 19 17:48:47 2016 (r304477) @@ -281,6 +281,8 @@ static struct syscall decoded_syscalls[] .args = { { Atfd, 0 }, { Name, 1 }, { Atfd, 2 }, { Name, 3 } } }, { .name = "rfork", .ret_type = 1, .nargs = 1, .args = { { Rforkflags, 0 } } }, + { .name = "rmdir", .ret_type = 1, .nargs = 1, + .args = { { Name, 0 } } }, { .name = "select", .ret_type = 1, .nargs = 5, .args = { { Int, 0 }, { Fd_set, 1 }, { Fd_set, 2 }, { Fd_set, 3 }, { Timeval, 4 } } }, ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304476 - head/lib/libc/sys
Author: jhb Date: Fri Aug 19 17:37:32 2016 New Revision: 304476 URL: https://svnweb.freebsd.org/changeset/base/304476 Log: Fix various nits in the aio operation manpages. - Avoid double use of "request" in a single sentence. Instead, describe aio_sigevent as being used to request notification of the associated operation's completion. This matches the language used to describe aio_sigevent in aio(4). - Simplify the prohibition on modifying buffers while requests are in flight. - Fix case mismatch. - Drop note about not using stack variables. C programmers should be able to figure out if a stack variable is safe based on the later warning about the life cycle requirements of control blocks. - Remove prohibition on modifying the I/O buffer for aio_fsync() since it does not use an I/O buffer. For aio_mlock(), prohibit modifications to the mapping (e.g. due to mprotect, munmap, mmap, etc.) but do not prohibit modifications to the memory backing the buffer (stores into the pages backing the buffer). Requested by: wblock (1,2), kib (4) Reviewed by: kib, rpokala, wblock MFC after:3 days Sponsored by: Chelsio Communications Differential Revision:https://reviews.freebsd.org/D7462 Modified: head/lib/libc/sys/aio_fsync.2 head/lib/libc/sys/aio_mlock.2 head/lib/libc/sys/aio_read.2 head/lib/libc/sys/aio_write.2 Modified: head/lib/libc/sys/aio_fsync.2 == --- head/lib/libc/sys/aio_fsync.2 Fri Aug 19 17:03:14 2016 (r304475) +++ head/lib/libc/sys/aio_fsync.2 Fri Aug 19 17:37:32 2016 (r304476) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 21, 2016 +.Dd August 19, 2016 .Dt AIO_FSYNC 2 .Os .Sh NAME @@ -74,16 +74,14 @@ the call returns without having enqueued .Pp The .Fa iocb->aio_sigevent -structure can be used to request notification of the request's +structure can be used to request notification of the operation's completion as described in .Xr aio 4 . .Sh RESTRICTIONS -The asynchronous I/O Control Block structure pointed to by +The Asynchronous I/O Control Block structure pointed to by .Fa iocb must remain valid until the operation has completed. -For this reason, use of auto (stack) variables -for these objects is discouraged. .Pp The asynchronous I/O control buffer .Fa iocb @@ -91,9 +89,8 @@ should be zeroed before the .Fn aio_fsync call to avoid passing bogus context information to the kernel. .Pp -Modifications of the Asynchronous I/O Control Block structure or the -buffer contents after the request has been enqueued, but before the -request has completed, are not allowed. +Modification of the Asynchronous I/O Control Block structure is not allowed +while the request is queued. .Sh RETURN VALUES .Rv -std aio_fsync .Sh ERRORS Modified: head/lib/libc/sys/aio_mlock.2 == --- head/lib/libc/sys/aio_mlock.2 Fri Aug 19 17:03:14 2016 (r304475) +++ head/lib/libc/sys/aio_mlock.2 Fri Aug 19 17:37:32 2016 (r304476) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 21, 2016 +.Dd August 19, 2016 .Dt AIO_MLOCK 2 .Os .Sh NAME @@ -67,7 +67,7 @@ then the call returns without having enq .Pp The .Fa iocb->aio_sigevent -structure can be used to request notification of the request's +structure can be used to request notification of the operation's completion as described in .Xr aio 4 . .Sh RESTRICTIONS @@ -77,8 +77,6 @@ and the buffer that the .Fa iocb->aio_buf member of that structure references must remain valid until the operation has completed. -For this reason, use of auto (stack) variables -for these objects is discouraged. .Pp The asynchronous I/O control buffer .Fa iocb @@ -87,8 +85,8 @@ should be zeroed before the call to avoid passing bogus context information to the kernel. .Pp Modifications of the Asynchronous I/O Control Block structure or the -buffer contents after the request has been enqueued, but before the -request has completed, are not allowed. +memory mapping described by the virtual address range are not allowed +while the request is queued. .Sh RETURN VALUES .Rv -std aio_mlock .Sh ERRORS Modified: head/lib/libc/sys/aio_read.2 == --- head/lib/libc/sys/aio_read.2Fri Aug 19 17:03:14 2016 (r304475) +++ head/lib/libc/sys/aio_read.2Fri Aug 19 17:37:32 2016 (r304476) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 21, 2016 +.Dd August 19, 2016 .Dt AIO_READ 2 .Os .Sh NAME @@ -82,7 +82,7 @@ not be referenced after the request is e .Pp The .Fa iocb->aio_sigevent -structure can be used to request notification of the request's +structure can be used to request notification of the operation's completion as described in .Xr aio 4 . .Sh RESTRICTIONS @@ -92,8 +92,6
svn commit: r304475 - stable/11
Author: bdrewery Date: Fri Aug 19 17:03:14 2016 New Revision: 304475 URL: https://svnweb.freebsd.org/changeset/base/304475 Log: MFC r304217: Trim unneeded bootstrap after r301470 made 9.1 the minimum supported release. Modified: stable/11/Makefile.inc1 Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile.inc1 == --- stable/11/Makefile.inc1 Fri Aug 19 17:02:14 2016(r304474) +++ stable/11/Makefile.inc1 Fri Aug 19 17:03:14 2016(r304475) @@ -1579,10 +1579,6 @@ _groff= gnu/usr.bin/groff \ _vtfontcvt=usr.bin/vtfontcvt .endif -.if ${BOOTSTRAPPING} < 92 -_sed= usr.bin/sed -.endif - .if ${BOOTSTRAPPING} < 133 _libopenbsd= lib/libopenbsd _m4= usr.bin/m4 @@ -1621,10 +1617,6 @@ _crunchide= usr.sbin/crunch/crunchide _crunchgen=usr.sbin/crunch/crunchgen .endif -.if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 -_awk= usr.bin/awk -.endif - # r296926 -P keymap search path, MFC to stable/10 in r298297 .if ${BOOTSTRAPPING} < 1003501 || \ (${BOOTSTRAPPING} >= 110 && ${BOOTSTRAPPING} < 1100103) @@ -1692,7 +1684,6 @@ bootstrap-tools: .PHONY ${_gperf} \ ${_groff} \ ${_dtc} \ -${_awk} \ ${_cat} \ ${_dd} \ ${_kbdcontrol} \ @@ -1700,7 +1691,6 @@ bootstrap-tools: .PHONY ${_libopenbsd} \ ${_makewhatis} \ usr.bin/rpcgen \ -${_sed} \ ${_yacc} \ ${_m4} \ ${_lex} \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304474 - stable/11/sys/dev/filemon
Author: bdrewery Date: Fri Aug 19 17:02:14 2016 New Revision: 304474 URL: https://svnweb.freebsd.org/changeset/base/304474 Log: MFC r304008: Avoid taking PROC_LOCK in syscalls if not being traced. Modified: stable/11/sys/dev/filemon/filemon.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/filemon/filemon.c == --- stable/11/sys/dev/filemon/filemon.c Fri Aug 19 17:02:05 2016 (r304473) +++ stable/11/sys/dev/filemon/filemon.c Fri Aug 19 17:02:14 2016 (r304474) @@ -137,6 +137,8 @@ filemon_proc_get(struct proc *p) { struct filemon *filemon; + if (p->p_filemon == NULL) + return (NULL); PROC_LOCK(p); filemon = filemon_acquire(p->p_filemon); PROC_UNLOCK(p); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304473 - stable/10/sys/dev/filemon
Author: bdrewery Date: Fri Aug 19 17:02:05 2016 New Revision: 304473 URL: https://svnweb.freebsd.org/changeset/base/304473 Log: MFC r304008: Avoid taking PROC_LOCK in syscalls if not being traced. Modified: stable/10/sys/dev/filemon/filemon.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/filemon/filemon.c == --- stable/10/sys/dev/filemon/filemon.c Fri Aug 19 17:01:13 2016 (r304472) +++ stable/10/sys/dev/filemon/filemon.c Fri Aug 19 17:02:05 2016 (r304473) @@ -137,6 +137,8 @@ filemon_proc_get(struct proc *p) { struct filemon *filemon; + if (p->p_filemon == NULL) + return (NULL); PROC_LOCK(p); filemon = filemon_acquire(p->p_filemon); PROC_UNLOCK(p); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304472 - stable/11
Author: bdrewery Date: Fri Aug 19 17:01:13 2016 New Revision: 304472 URL: https://svnweb.freebsd.org/changeset/base/304472 Log: MFC r304006: Avoid showing the bootstrap make command for check-old, etc. Modified: stable/11/Makefile stable/11/Makefile.inc1 Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile == --- stable/11/Makefile Fri Aug 19 16:59:16 2016(r304471) +++ stable/11/Makefile Fri Aug 19 17:01:13 2016(r304472) @@ -209,7 +209,8 @@ SUB_MAKE= `test -x ${MYMAKE} && echo ${M SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk .endif -_MAKE= PATH=${PATH} ${SUB_MAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} +_MAKE= PATH=${PATH} MAKE_CMD=${MAKE} ${SUB_MAKE} -f Makefile.inc1 \ + TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} # Only allow meta mode for the whitelisted targets. See META_TGT_WHITELIST # above. Modified: stable/11/Makefile.inc1 == --- stable/11/Makefile.inc1 Fri Aug 19 16:59:16 2016(r304471) +++ stable/11/Makefile.inc1 Fri Aug 19 17:01:13 2016(r304472) @@ -2372,11 +2372,11 @@ check-old-dirs: .PHONY done delete-old: delete-old-files delete-old-dirs .PHONY - @echo "To remove old libraries run '${MAKE} delete-old-libs'." + @echo "To remove old libraries run '${MAKE_CMD} delete-old-libs'." check-old: check-old-files check-old-libs check-old-dirs .PHONY - @echo "To remove old files and directories run '${MAKE} delete-old'." - @echo "To remove old libraries run '${MAKE} delete-old-libs'." + @echo "To remove old files and directories run '${MAKE_CMD} delete-old'." + @echo "To remove old libraries run '${MAKE_CMD} delete-old-libs'." .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304470 - stable/11/sys/conf
Author: bdrewery Date: Fri Aug 19 16:59:01 2016 New Revision: 304470 URL: https://svnweb.freebsd.org/changeset/base/304470 Log: MFC r304005: PORTS_MODULES: Don't leak in CC/CXX/CPP. Modified: stable/11/sys/conf/kern.post.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/kern.post.mk == --- stable/11/sys/conf/kern.post.mk Fri Aug 19 16:56:52 2016 (r304469) +++ stable/11/sys/conf/kern.post.mk Fri Aug 19 16:59:01 2016 (r304470) @@ -65,6 +65,10 @@ OSRELDATE!= awk '/^\#define[[:space:]]*_ # Keep the related ports builds in the obj directory so that they are only rebuilt once per kernel build WRKDIRPREFIX?= ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${KERNCONF} PORTSMODULESENV=\ + env \ + -u CC \ + -u CXX \ + -u CPP \ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \ SRC_BASE=${SRC_BASE} \ OSVERSION=${OSRELDATE} \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304471 - stable/10/usr.bin/xinstall
Author: bdrewery Date: Fri Aug 19 16:59:16 2016 New Revision: 304471 URL: https://svnweb.freebsd.org/changeset/base/304471 Log: MFC r303929,r303930,r303931,r303932,r303933: r303929: Fix -S with -b not atomically updating the destination file. r303930: Support -v for -l. r303931: Fix -S with -l not being atomic. r303932: Fix -b failure not restoring flags on the destination file. r303933: Squelch a false-positive Clang static analyzer warning. Modified: stable/10/usr.bin/xinstall/xinstall.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.bin/xinstall/xinstall.c == --- stable/10/usr.bin/xinstall/xinstall.c Fri Aug 19 16:59:01 2016 (r304470) +++ stable/10/usr.bin/xinstall/xinstall.c Fri Aug 19 16:59:16 2016 (r304471) @@ -151,6 +151,7 @@ main(int argc, char *argv[]) char *p; const char *to_name; + fset = 0; iflags = 0; group = owner = NULL; while ((ch = getopt(argc, argv, "B:bCcD:df:g:h:l:M:m:N:o:pSsT:Uv")) != @@ -535,7 +536,9 @@ do_link(const char *from_name, const cha if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); - unlink(to_name); + if (verbose) + printf("install: link %s -> %s\n", + from_name, to_name); ret = rename(tmpl, to_name); /* * If rename has posix semantics, then the temporary @@ -545,8 +548,12 @@ do_link(const char *from_name, const cha (void)unlink(tmpl); } return (ret); - } else + } else { + if (verbose) + printf("install: link %s -> %s\n", + from_name, to_name); return (link(from_name, to_name)); + } } /* @@ -575,14 +582,18 @@ do_symlink(const char *from_name, const if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); - unlink(to_name); - + if (verbose) + printf("install: symlink %s -> %s\n", + from_name, to_name); if (rename(tmpl, to_name) == -1) { /* Remove temporary link before exiting. */ (void)unlink(tmpl); err(EX_OSERR, "%s: rename", to_name); } } else { + if (verbose) + printf("install: symlink %s -> %s\n", + from_name, to_name); if (symlink(from_name, to_name) == -1) err(EX_OSERR, "symlink %s -> %s", from_name, to_name); } @@ -882,11 +893,21 @@ install(const char *from_name, const cha } if (verbose) (void)printf("install: %s -> %s\n", to_name, backup); - if (rename(to_name, backup) < 0) { + if (unlink(backup) < 0 && errno != ENOENT) { + serrno = errno; + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, to_sb.st_flags); + unlink(tempfile); + errno = serrno; + err(EX_OSERR, "unlink: %s", backup); + } + if (link(to_name, backup) < 0) { serrno = errno; unlink(tempfile); + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, to_sb.st_flags); errno = serrno; - err(EX_OSERR, "rename: %s to %s", to_name, + err(EX_OSERR, "link: %s to %s", to_name, backup); } } @@ -1109,16 +1130,26 @@ create_newfile(const char *path, int tar if (dobackup) { if ((size_t)snprintf(backup, MAXPATHLEN, "%s%s", - path, suffix) != strlen(path) + strlen(suffix)) + path, suffix) != strlen(path) + strlen(suffix)) { + saved_errno = errno; + if (sbp->st_flags & NOCHANGEBITS) + (void)chflags(path, sbp->st_flags); + errno =
svn commit: r304469 - stable/11/usr.bin/xinstall
Author: bdrewery Date: Fri Aug 19 16:56:52 2016 New Revision: 304469 URL: https://svnweb.freebsd.org/changeset/base/304469 Log: MFC r303929,r303930,r303931,r303932,r303933: r303929: Fix -S with -b not atomically updating the destination file. r303930: Support -v for -l. r303931: Fix -S with -l not being atomic. r303932: Fix -b failure not restoring flags on the destination file. r303933: Squelch a false-positive Clang static analyzer warning. Modified: stable/11/usr.bin/xinstall/xinstall.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/xinstall/xinstall.c == --- stable/11/usr.bin/xinstall/xinstall.c Fri Aug 19 16:45:21 2016 (r304468) +++ stable/11/usr.bin/xinstall/xinstall.c Fri Aug 19 16:56:52 2016 (r304469) @@ -149,6 +149,7 @@ main(int argc, char *argv[]) char *p; const char *to_name; + fset = 0; iflags = 0; group = owner = NULL; while ((ch = getopt(argc, argv, "B:bCcD:df:g:h:l:M:m:N:o:pSsT:Uv")) != @@ -533,7 +534,9 @@ do_link(const char *from_name, const cha if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); - unlink(to_name); + if (verbose) + printf("install: link %s -> %s\n", + from_name, to_name); ret = rename(tmpl, to_name); /* * If rename has posix semantics, then the temporary @@ -543,8 +546,12 @@ do_link(const char *from_name, const cha (void)unlink(tmpl); } return (ret); - } else + } else { + if (verbose) + printf("install: link %s -> %s\n", + from_name, to_name); return (link(from_name, to_name)); + } } /* @@ -573,14 +580,18 @@ do_symlink(const char *from_name, const if (target_sb->st_flags & NOCHANGEBITS) (void)chflags(to_name, target_sb->st_flags & ~NOCHANGEBITS); - unlink(to_name); - + if (verbose) + printf("install: symlink %s -> %s\n", + from_name, to_name); if (rename(tmpl, to_name) == -1) { /* Remove temporary link before exiting. */ (void)unlink(tmpl); err(EX_OSERR, "%s: rename", to_name); } } else { + if (verbose) + printf("install: symlink %s -> %s\n", + from_name, to_name); if (symlink(from_name, to_name) == -1) err(EX_OSERR, "symlink %s -> %s", from_name, to_name); } @@ -886,11 +897,21 @@ install(const char *from_name, const cha } if (verbose) (void)printf("install: %s -> %s\n", to_name, backup); - if (rename(to_name, backup) < 0) { + if (unlink(backup) < 0 && errno != ENOENT) { + serrno = errno; + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, to_sb.st_flags); + unlink(tempfile); + errno = serrno; + err(EX_OSERR, "unlink: %s", backup); + } + if (link(to_name, backup) < 0) { serrno = errno; unlink(tempfile); + if (to_sb.st_flags & NOCHANGEBITS) + (void)chflags(to_name, to_sb.st_flags); errno = serrno; - err(EX_OSERR, "rename: %s to %s", to_name, + err(EX_OSERR, "link: %s to %s", to_name, backup); } } @@ -,16 +1132,26 @@ create_newfile(const char *path, int tar if (dobackup) { if ((size_t)snprintf(backup, MAXPATHLEN, "%s%s", - path, suffix) != strlen(path) + strlen(suffix)) + path, suffix) != strlen(path) + strlen(suffix)) { + saved_errno = errno; + if (sbp->st_flags & NOCHANGEBITS) + (void)chflags(path, sbp->st_flags); + errno =
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
On 08/19/16 08:57, Allan Jude wrote: On 2016-08-19 10:13, Warner Losh wrote: On Fri, Aug 19, 2016 at 12:51 AM, Dag-Erling Smørgravwrote: Warner Losh writes: Allan Jude writes: Which makes more sense: A) If stripesize == 0, use some sane value like 4096 I don't like this. B) Some other combination that uses the reported stripe size, unless it is 0, in which case it uses 4096 (or some other value controlled by a different new sysctl) Don't like this so much. C) create kern.geom.min_stripe_size with a default of 512, but users can set 4096 if they use only 4k devices. (doesn't really solve the problem for the installer) Default it to 4k, and allow users to set it to 512. If the drive reports < this value report this value instead. I don't like either option. Option D (which I don't like either, but which should at least work in most cases) is a sysctl that specifies a minimum factor, and set the reported stripe size to the least common multiple of that number and the actual stripe or sector size. This is what my bsdinstall patch does. However, I think that pushing this down to a layer where it will affect all applications is a terrible idea, because we have no way of knowing what will break[*], and it can seriously mislead users and hinder troubleshooting - especially if it is enabled by default rather than only when necessary. I took a look into the implications of doing a 4k stripesize 'automatically' this morning. I found a few places in g_part where it would actively hurt when coupled with gpart's insistence on aligning things. So I now think it's a bad idea. This will make it harder for FreeBSD to generate arbitrary disk layouts. And I'm not too sure about what things like gstripe would report as a result and if this would actually interfere if you had a large, but not power of two stripe size. I don't think it's a good idea to enforce stripe alignment everywhere, either. It works for partitions because they are very large relative to the stripe size, and at worst we will waste a few millionths of the disk on inter-partition gaps, which should only occur between the partition table and the boot partition, and possibly, if the stripe size is very large, between the boot partition and the swap partition. But forcing filesystems to respect the stripe size will lead to no end of trouble, because RAID volumes can have stripe sizes of 16 kB or more. I think it is important to align partitions during installation because of the huge performance impact of misaligned partitions on AF disks, but despite what Nathan claims, I never advocated applying the same logic everywhere. Yea, having poked at it for just a little while, I agree. The installer is the right place to make sure we don't cross-thread the 4k sectors. Stripe size means too many other things to have it be useful in that context. Warner Maybe instead we just change gpart to default to 4k alignment, but users can always override with -a 512 or some other value? Then the installer behaves the same as a user typing 'gpart', but we don't mess with the entire geom layer? ZFS also looks at this, so we would need it there, and there might be a few others. At the very least, gpart and the installer should have the same behavior. Warner, could you elaborate on what you mean by "cross-threading"? Are you worried about nested partition tables in which the outer one is misaligned? Having the disk drivers report a 4K stripesize seems to have worked so far; I'm not sure how reporting it more often would cause problems. You wouldn't want all drivers, or all GEOM layers, to do this, of course. If the problem is that "stripe size" has an overloaded meaning, we could easily add another GEOM property. -Nathan ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
On 08/18/16 22:33, Warner Losh wrote: On Aug 18, 2016, at 11:21 PM, Nathan Whitehornwrote: On 08/18/16 21:15, Warner Losh wrote: On Thu, Aug 18, 2016 at 6:56 AM, Allan Jude wrote: On 08/18/16 05:50 AM, Dag-Erling Smørgrav wrote: Nathan Whitehorn writes: OK. In which configurations? My Dell servers, for instance, don't do this. How are they set up? What drivers are being used? Is this something that affects passthrough disks, RAIDs, disk images? Most LSI MegaRAID controllers don't have real passthrough, only JBOD. You can query the drive with "camcontrol identify passX", but the controller does not report a stripe size for the volume (mfidY). The point is that *if the reported stripe size is wrong*, more things than partition alignment in the installer will suffer for it. It's not wrong, it's non-existent, and I'm getting really tired of repeating myself. Fixing the installer with a bandaid in the run-up to a release is fine, but *we need to fix the underlying problem*. We can't, because hardware sucks, and I'm getting really tired of repeating myself. DES Which makes more sense: A) If stripesize == 0, use some sane value like 4096 I don't like this. B) Some other combination that uses the reported stripe size, unless it is 0, in which case it uses 4096 (or some other value controlled by a different new sysctl) Don't like this so much. C) create kern.geom.min_stripe_size with a default of 512, but users can set 4096 if they use only 4k devices. (doesn't really solve the problem for the installer) Default it to 4k, and allow users to set it to 512. If the drive reports < this value report this value instead. You'll need to make this a tunable. Then the upper layers wouldn't care. There's a small chance that some SD cards might be reporting values that are too large. But I think it is confined to SD cards and if I see too many more I'll do something specific in the SD driver. Warner That sounds good to me and I think can clean up a lot of code and potential foot-shooting. Who is planning to make the patch? I'm happy to do anything that would be helpful. The patch is super-easy, but I need to get the concept validated and make sure that it does not have unintended side effects. Warner Sounds great. There is no urgency here -- we have a good solution for 11.0 already -- so taking time to do it right sounds good. I believe stripesize is only consumed by disk formatting tools, so unintended side effects at least should be minimal. -Nathan ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
On 2016-08-19 10:13, Warner Losh wrote: > On Fri, Aug 19, 2016 at 12:51 AM, Dag-Erling Smørgravwrote: >> Warner Losh writes: >>> Allan Jude writes: Which makes more sense: A) If stripesize == 0, use some sane value like 4096 >>> >>> I don't like this. >>> B) Some other combination that uses the reported stripe size, unless it is 0, in which case it uses 4096 (or some other value controlled by a different new sysctl) >>> >>> Don't like this so much. >>> C) create kern.geom.min_stripe_size with a default of 512, but users can set 4096 if they use only 4k devices. (doesn't really solve the problem for the installer) >>> >>> Default it to 4k, and allow users to set it to 512. If the drive >>> reports < this value >>> report this value instead. >> >> I don't like either option. Option D (which I don't like either, but >> which should at least work in most cases) is a sysctl that specifies a >> minimum factor, and set the reported stripe size to the least common >> multiple of that number and the actual stripe or sector size. This is >> what my bsdinstall patch does. However, I think that pushing this down >> to a layer where it will affect all applications is a terrible idea, >> because we have no way of knowing what will break[*], and it can >> seriously mislead users and hinder troubleshooting - especially if it is >> enabled by default rather than only when necessary. > > I took a look into the implications of doing a 4k stripesize 'automatically' > this morning. I found a few places in g_part where it would actively > hurt when coupled with gpart's insistence on aligning things. So I > now think it's a bad idea. This will make it harder for FreeBSD to > generate arbitrary disk layouts. And I'm not too sure about what > things like gstripe would report as a result and if this would actually > interfere if you had a large, but not power of two stripe size. > >> I don't think it's a good idea to enforce stripe alignment everywhere, >> either. It works for partitions because they are very large relative to >> the stripe size, and at worst we will waste a few millionths of the disk >> on inter-partition gaps, which should only occur between the partition >> table and the boot partition, and possibly, if the stripe size is very >> large, between the boot partition and the swap partition. But forcing >> filesystems to respect the stripe size will lead to no end of trouble, >> because RAID volumes can have stripe sizes of 16 kB or more. I think it >> is important to align partitions during installation because of the huge >> performance impact of misaligned partitions on AF disks, but despite >> what Nathan claims, I never advocated applying the same logic >> everywhere. > > Yea, having poked at it for just a little while, I agree. The installer is the > right place to make sure we don't cross-thread the 4k sectors. Stripe size > means too many other things to have it be useful in that context. > > Warner > Maybe instead we just change gpart to default to 4k alignment, but users can always override with -a 512 or some other value? Then the installer behaves the same as a user typing 'gpart', but we don't mess with the entire geom layer? -- Allan Jude signature.asc Description: OpenPGP digital signature
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
On 2016-08-19 00:15, Warner Losh wrote: >> Which makes more sense: >> >> A) If stripesize == 0, use some sane value like 4096 > > I don't like this. > >> B) Some other combination that uses the reported stripe size, unless it >> is 0, in which case it uses 4096 (or some other value controlled by a >> different new sysctl) > > Don't like this so much. > >> C) create kern.geom.min_stripe_size with a default of 512, but users can >> set 4096 if they use only 4k devices. (doesn't really solve the problem >> for the installer) > > Default it to 4k, and allow users to set it to 512. If the drive > reports < this value > report this value instead. You'll need to make this a tunable. Then the upper > layers wouldn't care. There's a small chance that some SD cards might be > reporting values that are too large. But I think it is confined to SD cards > and > if I see too many more I'll do something specific in the SD driver. > > Warner > I think I mentioned this earlier in the thread,, but I do have a USB thumbstick that reports an 8mb stripe size. But I agree, I think a sysctl where you set the minimum (default 4096, but settable to 512), that is a tunable that can be overwritten in loader.conf What do we want for the logic as to what values it can be set to? Any power of 2 greater than or equal to 512? -- Allan Jude signature.asc Description: OpenPGP digital signature
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, 19 Aug 2016, Alexey Dokuchaev wrote: On Fri, Aug 19, 2016 at 09:12:53PM +1000, Bruce Evans wrote: I normally use my version of biosboot for boot2. I improved its caching just a couple of years ago. It was using 9K buffer optimized for 1440K floppies. Now it uses a 32K buffer. Booting a 5.5MB kernel takes a fraction of a second. That looks like change that everyone would benefit from. Consider posting a patch or committing it yourself. ;-) Oops, it is actually loading that takes a fraction of a second. Not much different than with -current boot2 or old loader. -current boot2 also works for me, but I managed to squeeze more of the features that I want into biosboot (everything except ufs2). Booting from the boot1 prompt takes 20-25 seconds here. Of course I don't use modules, so not many seeks are needed. Why not, they're convenient (apart from "kernel version mismatch" crap that I keep hitting now and then)? AFAIR they were slow to load at some point but that was (not so) recently fixed. Same reason that I don't use shared libraries if possible - they are larger, slower and more difficult to debug. For kernel development, the version control problem is large. Modules are good for avoiding rebooting when developing something in a single module, but I usually work on either small changes that panic often or system wide-changes that need recompiling everything. Both require rebooting a lot to test, and I can rebuild a kernel and without modules and reboot it almost faster than I can remember where the modules directories are. Bruce ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, Aug 19, 2016 at 3:35 AM, Toomas Soomewrote: > >> On 19. aug 2016, at 12:24, Konstantin Belousov wrote: >> >> On Fri, Aug 19, 2016 at 11:50:35AM +0300, Toomas Soome wrote: >>> On 19. aug 2016, at 10:39, Konstantin Belousov wrote: On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: > On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischer > wrote: >> On 16/08/2016 4:54 AM, John Baldwin wrote: >>> >>> On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: Author: jhb Date: Mon Aug 15 20:38:02 2016 New Revision: 304187 URL: https://svnweb.freebsd.org/changeset/base/304187 Log: Remove the mcd(4) driver for Mitsumi CD-ROM players. This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in the manpage, this driver is only useful as a backend to cdcontrol to play audio CDs since it doesn't use DMA, so its data performance is "abysmal" (and that was true in the mid 90's). >>> >>> No one stepped up to test patches for it either when I last posted >>> patches >>> to >>> convert it from timeout(9) to callout(9). I have a few more drivers >>> that >>> are >>> both very old and that people have no business using in 12 (think ISA >>> adapters that don't do DMA and can't be used with pccard) that I will be >>> removing over the next little while. I brought up a list of drivers on >>> arch@ >>> a couple of years ago and the conversation drifted off into the weeds >>> about >>> trimming GENERIC, etc. No one objected to the specific drivers I listed >>> though (and I got a few pleas of "please remove"). If someone shows up >>> desperately clutching an ISA adapter they can always dig up the source >>> from >>> svn and deal with forward porting it for whatever API changes have >>> happened >>> since it was removed. >> >> >> I would imagine any machine still holding one of these probably has not >> enough memory to run FreeBSD. >> >> would we still run in 2MB? > > With insane levels of tuning, we can run in 32MB userland that can do > things. Even 64MB is tight w/o some tuning. 16MB is almost certainly > right out except for very specialized situations. 2MB? We can't even > load the loader in that :(. Oh, and all these memory configs are only > possible if you tweak the loader's block cache... > 32MB is quite usable. Without any tuning, you get slightly less than 10MB for userspace, which is enough to for many things, and plenty if swap is added. Note that you cannot boot on such configurations since loader was broken, but if you do manage to jump to kernel, things were fine several months ago. I tested my relatively recent OOM changes on 32MB qemu config. > Warner >>> >>> If the target is to go as low memory as possible, sure, you can strip all >>> off, from boot loader point, you should load kernel from stage2 and not use >>> loader at all (you can load and jump kernel even now from stage2, assuming >>> it wont need any special configuration from loader config) etc etc. This >>> means highly specialized build and has nothing to do with generic all >>> purpose system. >>> >> Why you describe this as an 'alternative' ? Before that loader changes, >> I regularly tested on 32MB qemy i386 image and 64MB amd64 image. I do >> not see anything extreme in these configs. They use normal boot path, >> which provides kernels with debugging symbols, metadata, loaded modules >> etc. Why should I use deficient boot2-only loading, which, additionally, >> cannot work on amd64 ? >> >> More, this is the only reasonable way for most developers to ensure that >> system is still usable on tiny configs found on embedded devices. Right >> now the min which I have to set up is 128MB, and VM changes are simply not >> tested on anything smaller. It is guaranteed that small systems will grow >> regressions fast. And I will not jump through the hoops to mitigate >> breakage induced by other people' changes. >> >>> Also at some point, there is an question about how reasonable it is to have >>> such configuration as part of generic code base for special bits like boot >>> loader itself, as the problem is, testing all those variants is becoming >>> impossible and even keeping reasonable code base in all of the #if #else >>> #endif spaghetti is getting quite hard and error prone. >>> From developers point of view, it is not really encouraging to have possible feedback like ???oh, but you did break my 32MB system boot??? ;) This does bring back some memories however. For first 2 unix systems I was dealing with, one had 8MB and another had 12MB of memory??? it was ~ 1992-1993;) >>> >> Not
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, Aug 19, 2016 at 5:27 AM, Konstantin Belousovwrote: > On Fri, Aug 19, 2016 at 09:12:53PM +1000, Bruce Evans wrote: >> On Fri, 19 Aug 2016, Konstantin Belousov wrote: >> >> > On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: >> >> On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischer >> >> wrote: >> >>> On 16/08/2016 4:54 AM, John Baldwin wrote: >> >> On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: >> > ,,, >> > Log: >> >Remove the mcd(4) driver for Mitsumi CD-ROM players. >> > This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in >> >the manpage, this driver is only useful as a backend to cdcontrol to >> >play audio CDs since it doesn't use DMA, so its data performance is >> >"abysmal" (and that was true in the mid 90's). >> >> No one stepped up to test patches for it either when I last posted >> patches >> to >> convert it from timeout(9) to callout(9). I have a few more drivers >> that >> are >> ... >> >>> >> >>> I would imagine any machine still holding one of these probably has not >> >>> enough memory to run FreeBSD. >> >>> >> >>> would we still run in 2MB? >> >> >> >> With insane levels of tuning, we can run in 32MB userland that can do >> >> things. Even 64MB is tight w/o some tuning. 16MB is almost certainly >> >> right out except for very specialized situations. 2MB? We can't even >> >> load the loader in that :(. Oh, and all these memory configs are only >> >> possible if you tweak the loader's block cache... >> > >> > 32MB is quite usable. Without any tuning, you get slightly less than 10MB >> > for userspace, which is enough to for many things, and plenty if swap is >> > added. >> >> No, 32MB needs lots of needs tuning. -current seems to need about 16MB >> more than just a few months ago when I last discussed this with you. >> My i386 system doesn't have many drivers or a bloated userland (*), >> but it took the following tuning plus my PAE tuning fixes to boot in >> 32MB: >> - disable [l]em1 >> - reduce tx and buffers to 256 for em0. They default to 4096 for em. That >>is something like 8K * 1500 bytes = 12MB for em0 alone. lem[1] wants >>another 12MB. I think this is not all statically allocated, but the >>drivers hang onto that much. >> This now longer works. -current without my PAE tuning fixes hangs mounting >> root or in usb initialization with this tuning and 40MB. -current with my >> PAE tuning fixes hangs similarly with 32MB; with 40MB it boots to the >> start of multiuser but then hangs (it starts 1 getty, then 2 sendmails >> and kills them with "out of swap space") and 1 rpcbind (also killed). I >> don't use swap, but it was needed 20 years ago on a system that actually >> had 32MB of memory. >> >> (*) /bin/sh doing nothing much in -current i386: size 6532K res 1924K >> /bin/shin my ~5.2 i386: size 864K res 592K >> >> The kernel size is 5.5MB text 370K data 2.2MB bss (lots of bloat in bss >> for debugging and vt). In single user mode, with 40MB to start, there >> is 22116K wired and 2516K free. A few programs can be run in 2516K >> without swap if they have res 592K and not 1924K. >> >> > Note that you cannot boot on such configurations since loader was broken, >> > but if you do manage to jump to kernel, things were fine several months >> > ago. I tested my relatively recent OOM changes on 32MB qemu config. >> >> I have no problems booting such configuratations since I don't use the >> current loader and only use old loader to change the environment to >> set up special configurations like this. I use my version of biosboot >> for boot2. This requires fixing 2 layers of complicated breakage in >> init386(). vm86 is now used before the TSS and PIC resources that it >> uses are initialized, but only in paths that are not normally used >> because they are for memory sizing that is normally done by loader >> :-(. >> >> I normally use my version of biosboot for boot2. I improved its caching >> just a couple of years ago. It was using 9K buffer optimized for 1440K >> floppies. Now it uses a 32K buffer. Booting a 5.5MB kernel takes a >> fraction of a second. Of course I don't use modules, so not many seeks >> are needed. > > Of course I use modules and do not use GENERIC. I just tried: with today > HEAD, and old loader on 32MB VM, I get 11MB free in single-user mode. > Active+inactive is ~4MB, and 1M is eaten by buffers, which is about right > for init+/bin/sh+top idle system. The situation on x86 must be a lot better than arm. My old Atmel boards with 32MB have < 1MB free when booted to the login prompt (more at single user) and need special tuning to reduce the 5MB of network buffers allocated to be anything approaching useful. Warner ___ svn-src-all@freebsd.org mailing list
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
On Fri, Aug 19, 2016 at 12:51 AM, Dag-Erling Smørgravwrote: > Warner Losh writes: >> Allan Jude writes: >> > Which makes more sense: >> > >> > A) If stripesize == 0, use some sane value like 4096 >> >> I don't like this. >> >> > B) Some other combination that uses the reported stripe size, unless it >> > is 0, in which case it uses 4096 (or some other value controlled by a >> > different new sysctl) >> >> Don't like this so much. >> >> > C) create kern.geom.min_stripe_size with a default of 512, but users can >> > set 4096 if they use only 4k devices. (doesn't really solve the problem >> > for the installer) >> >> Default it to 4k, and allow users to set it to 512. If the drive >> reports < this value >> report this value instead. > > I don't like either option. Option D (which I don't like either, but > which should at least work in most cases) is a sysctl that specifies a > minimum factor, and set the reported stripe size to the least common > multiple of that number and the actual stripe or sector size. This is > what my bsdinstall patch does. However, I think that pushing this down > to a layer where it will affect all applications is a terrible idea, > because we have no way of knowing what will break[*], and it can > seriously mislead users and hinder troubleshooting - especially if it is > enabled by default rather than only when necessary. I took a look into the implications of doing a 4k stripesize 'automatically' this morning. I found a few places in g_part where it would actively hurt when coupled with gpart's insistence on aligning things. So I now think it's a bad idea. This will make it harder for FreeBSD to generate arbitrary disk layouts. And I'm not too sure about what things like gstripe would report as a result and if this would actually interfere if you had a large, but not power of two stripe size. > I don't think it's a good idea to enforce stripe alignment everywhere, > either. It works for partitions because they are very large relative to > the stripe size, and at worst we will waste a few millionths of the disk > on inter-partition gaps, which should only occur between the partition > table and the boot partition, and possibly, if the stripe size is very > large, between the boot partition and the swap partition. But forcing > filesystems to respect the stripe size will lead to no end of trouble, > because RAID volumes can have stripe sizes of 16 kB or more. I think it > is important to align partitions during installation because of the huge > performance impact of misaligned partitions on AF disks, but despite > what Nathan claims, I never advocated applying the same logic > everywhere. Yea, having poked at it for just a little while, I agree. The installer is the right place to make sure we don't cross-thread the 4k sectors. Stripe size means too many other things to have it be useful in that context. Warner ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304466 - stable/9/sys/contrib/pf/net
Author: kp Date: Fri Aug 19 13:39:36 2016 New Revision: 304466 URL: https://svnweb.freebsd.org/changeset/base/304466 Log: MFC r304152: pf: Add missing byte-order swap to pf_match_addr_range Without this, rules using address ranges (e.g. "10.1.1.1 - 10.1.1.5") did not match addresses correctly on little-endian systems. PR: 211796 Obtained from:OpenBSD (sthen) Modified: stable/9/sys/contrib/pf/net/pf.c Modified: stable/9/sys/contrib/pf/net/pf.c == --- stable/9/sys/contrib/pf/net/pf.cFri Aug 19 13:12:57 2016 (r304465) +++ stable/9/sys/contrib/pf/net/pf.cFri Aug 19 13:39:36 2016 (r304466) @@ -2691,8 +2691,8 @@ pf_match_addr_range(struct pf_addr *b, s switch (af) { #ifdef INET case AF_INET: - if ((a->addr32[0] < b->addr32[0]) || - (a->addr32[0] > e->addr32[0])) + if ((ntohl(a->addr32[0]) < ntohl(b->addr32[0])) || + (ntohl(a->addr32[0]) > ntohl(e->addr32[0]))) return (0); break; #endif /* INET */ @@ -2702,15 +2702,15 @@ pf_match_addr_range(struct pf_addr *b, s /* check a >= b */ for (i = 0; i < 4; ++i) - if (a->addr32[i] > b->addr32[i]) + if (ntohl(a->addr32[i]) > ntohl(b->addr32[i])) break; - else if (a->addr32[i] < b->addr32[i]) + else if (ntohl(a->addr32[i]) < ntohl(b->addr32[i])) return (0); /* check a <= e */ for (i = 0; i < 4; ++i) - if (a->addr32[i] < e->addr32[i]) + if (ntohl(a->addr32[i]) < ntohl(e->addr32[i])) break; - else if (a->addr32[i] > e->addr32[i]) + else if (ntohl(a->addr32[i]) > ntohl(e->addr32[i])) return (0); break; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, Aug 19, 2016 at 09:12:53PM +1000, Bruce Evans wrote: > I normally use my version of biosboot for boot2. I improved its caching > just a couple of years ago. It was using 9K buffer optimized for 1440K > floppies. Now it uses a 32K buffer. Booting a 5.5MB kernel takes a > fraction of a second. That looks like change that everyone would benefit from. Consider posting a patch or committing it yourself. ;-) > Of course I don't use modules, so not many seeks are needed. Why not, they're convenient (apart from "kernel version mismatch" crap that I keep hitting now and then)? AFAIR they were slow to load at some point but that was (not so) recently fixed. ./danfe ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304464 - in head/sys/arm/allwinner: . a10
Author: manu Date: Fri Aug 19 12:48:32 2016 New Revision: 304464 URL: https://svnweb.freebsd.org/changeset/base/304464 Log: Allwinner: Move a10_padconf.c into a10 subdirectory. Added: head/sys/arm/allwinner/a10/a10_padconf.c - copied unchanged from r304463, head/sys/arm/allwinner/a10_padconf.c Deleted: head/sys/arm/allwinner/a10_padconf.c Modified: head/sys/arm/allwinner/a10/files.a10 Copied: head/sys/arm/allwinner/a10/a10_padconf.c (from r304463, head/sys/arm/allwinner/a10_padconf.c) == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/allwinner/a10/a10_padconf.cFri Aug 19 12:48:32 2016 (r304464, copy of r304463, head/sys/arm/allwinner/a10_padconf.c) @@ -0,0 +1,231 @@ +/*- + * Copyright (c) 2016 Emmanuel Vadot+ * 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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include + +#ifdef SOC_ALLWINNER_A10 + +const static struct allwinner_pins a10_pins[] = { + {"PA0", 0, 0, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", NULL, NULL, NULL}}, + {"PA1", 0, 1, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", NULL, NULL, NULL}}, + {"PA2", 0, 2, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", NULL, NULL, NULL}}, + {"PA3", 0, 3, {"gpio_in", "gpio_out", "emac", "spi1", "uart2", NULL, NULL, NULL}}, + {"PA4", 0, 4, {"gpio_in", "gpio_out", "emac", "spi1", NULL, NULL, NULL, NULL}}, + {"PA5", 0, 5, {"gpio_in", "gpio_out", "emac", "spi3", NULL, NULL, NULL, NULL}}, + {"PA6", 0, 6, {"gpio_in", "gpio_out", "emac", "spi3", NULL, NULL, NULL, NULL}}, + {"PA7", 0, 7, {"gpio_in", "gpio_out", "emac", "spi3", NULL, NULL, NULL, NULL}}, + {"PA8", 0, 8, {"gpio_in", "gpio_out", "emac", "spi3", NULL, NULL, NULL, NULL}}, + {"PA9", 0, 9, {"gpio_in", "gpio_out", "emac", "spi3", NULL, NULL, NULL, NULL}}, + {"PA10", 0, 10, {"gpio_in", "gpio_out", "emac", NULL, "uart1", NULL, NULL, NULL}}, + {"PA11", 0, 11, {"gpio_in", "gpio_out", "emac", NULL, "uart1", NULL, NULL, NULL}}, + {"PA12", 0, 12, {"gpio_in", "gpio_out", "emac", "uart6", "uart1", NULL, NULL, NULL}}, + {"PA13", 0, 13, {"gpio_in", "gpio_out", "emac", "uart6", "uart1", NULL, NULL, NULL}}, + {"PA14", 0, 14, {"gpio_in", "gpio_out", "emac", "uart7", "uart1", NULL, NULL, NULL}}, + {"PA15", 0, 15, {"gpio_in", "gpio_out", "emac", "uart7", "uart1", NULL, NULL, NULL}}, + {"PA16", 0, 16, {"gpio_in", "gpio_out", NULL, "can", "uart1", NULL, NULL, NULL}}, + {"PA17", 0, 17, {"gpio_in", "gpio_out", NULL, "can", "uart1", NULL, NULL, NULL}}, + + {"PB0", 1, 0, {"gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, NULL, NULL}}, + {"PB1", 1, 1, {"gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, NULL, NULL}}, + {"PB2", 1, 2, {"gpio_in", "gpio_out", "pwm", NULL, NULL, NULL, NULL, NULL}}, + {"PB3", 1, 3, {"gpio_in", "gpio_out", "ir0", NULL, NULL, NULL, NULL, NULL}}, + {"PB4", 1, 4, {"gpio_in", "gpio_out", "ir0", NULL, NULL, NULL, NULL, NULL}}, + {"PB5", 1, 5, {"gpio_in", "gpio_out", "i2s", "ac97", NULL, NULL, NULL, NULL}}, + {"PB6", 1, 6, {"gpio_in", "gpio_out", "i2s", "ac97", NULL, NULL, NULL, NULL}}, + {"PB7", 1, 7, {"gpio_in", "gpio_out", "i2s", "ac97", NULL, NULL, NULL, NULL}}, + {"PB8", 1, 8, {"gpio_in", "gpio_out", "i2s", "ac97", NULL, NULL, NULL, NULL}}, + {"PB9", 1, 9, {"gpio_in", "gpio_out", "i2s", NULL, NULL, NULL, NULL, NULL}}, + {"PB10", 1, 10,
svn commit: r304463 - stable/10/sys/netpfil/pf
Author: kp Date: Fri Aug 19 11:36:00 2016 New Revision: 304463 URL: https://svnweb.freebsd.org/changeset/base/304463 Log: MFC r304152: pf: Add missing byte-order swap to pf_match_addr_range Without this, rules using address ranges (e.g. "10.1.1.1 - 10.1.1.5") did not match addresses correctly on little-endian systems. PR: 211796 Obtained from:OpenBSD (sthen) Modified: stable/10/sys/netpfil/pf/pf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netpfil/pf/pf.c == --- stable/10/sys/netpfil/pf/pf.c Fri Aug 19 11:31:30 2016 (r304462) +++ stable/10/sys/netpfil/pf/pf.c Fri Aug 19 11:36:00 2016 (r304463) @@ -2564,8 +2564,8 @@ pf_match_addr_range(struct pf_addr *b, s switch (af) { #ifdef INET case AF_INET: - if ((a->addr32[0] < b->addr32[0]) || - (a->addr32[0] > e->addr32[0])) + if ((ntohl(a->addr32[0]) < ntohl(b->addr32[0])) || + (ntohl(a->addr32[0]) > ntohl(e->addr32[0]))) return (0); break; #endif /* INET */ @@ -2575,15 +2575,15 @@ pf_match_addr_range(struct pf_addr *b, s /* check a >= b */ for (i = 0; i < 4; ++i) - if (a->addr32[i] > b->addr32[i]) + if (ntohl(a->addr32[i]) > ntohl(b->addr32[i])) break; - else if (a->addr32[i] < b->addr32[i]) + else if (ntohl(a->addr32[i]) < ntohl(b->addr32[i])) return (0); /* check a <= e */ for (i = 0; i < 4; ++i) - if (a->addr32[i] < e->addr32[i]) + if (ntohl(a->addr32[i]) < ntohl(e->addr32[i])) break; - else if (a->addr32[i] > e->addr32[i]) + else if (ntohl(a->addr32[i]) > ntohl(e->addr32[i])) return (0); break; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304462 - stable/11/sys/netpfil/pf
Author: kp Date: Fri Aug 19 11:31:30 2016 New Revision: 304462 URL: https://svnweb.freebsd.org/changeset/base/304462 Log: MFC r304152: pf: Add missing byte-order swap to pf_match_addr_range Without this, rules using address ranges (e.g. "10.1.1.1 - 10.1.1.5") did not match addresses correctly on little-endian systems. PR: 211796 Obtained from:OpenBSD (sthen) Modified: stable/11/sys/netpfil/pf/pf.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netpfil/pf/pf.c == --- stable/11/sys/netpfil/pf/pf.c Fri Aug 19 11:12:59 2016 (r304461) +++ stable/11/sys/netpfil/pf/pf.c Fri Aug 19 11:31:30 2016 (r304462) @@ -2600,8 +2600,8 @@ pf_match_addr_range(struct pf_addr *b, s switch (af) { #ifdef INET case AF_INET: - if ((a->addr32[0] < b->addr32[0]) || - (a->addr32[0] > e->addr32[0])) + if ((ntohl(a->addr32[0]) < ntohl(b->addr32[0])) || + (ntohl(a->addr32[0]) > ntohl(e->addr32[0]))) return (0); break; #endif /* INET */ @@ -2611,15 +2611,15 @@ pf_match_addr_range(struct pf_addr *b, s /* check a >= b */ for (i = 0; i < 4; ++i) - if (a->addr32[i] > b->addr32[i]) + if (ntohl(a->addr32[i]) > ntohl(b->addr32[i])) break; - else if (a->addr32[i] < b->addr32[i]) + else if (ntohl(a->addr32[i]) < ntohl(b->addr32[i])) return (0); /* check a <= e */ for (i = 0; i < 4; ++i) - if (a->addr32[i] < e->addr32[i]) + if (ntohl(a->addr32[i]) < ntohl(e->addr32[i])) break; - else if (a->addr32[i] > e->addr32[i]) + else if (ntohl(a->addr32[i]) > ntohl(e->addr32[i])) return (0); break; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, Aug 19, 2016 at 09:12:53PM +1000, Bruce Evans wrote: > On Fri, 19 Aug 2016, Konstantin Belousov wrote: > > > On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: > >> On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischer> >> wrote: > >>> On 16/08/2016 4:54 AM, John Baldwin wrote: > > On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: > > ,,, > > Log: > >Remove the mcd(4) driver for Mitsumi CD-ROM players. > > This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in > >the manpage, this driver is only useful as a backend to cdcontrol to > >play audio CDs since it doesn't use DMA, so its data performance is > >"abysmal" (and that was true in the mid 90's). > > No one stepped up to test patches for it either when I last posted > patches > to > convert it from timeout(9) to callout(9). I have a few more drivers that > are > ... > >>> > >>> I would imagine any machine still holding one of these probably has not > >>> enough memory to run FreeBSD. > >>> > >>> would we still run in 2MB? > >> > >> With insane levels of tuning, we can run in 32MB userland that can do > >> things. Even 64MB is tight w/o some tuning. 16MB is almost certainly > >> right out except for very specialized situations. 2MB? We can't even > >> load the loader in that :(. Oh, and all these memory configs are only > >> possible if you tweak the loader's block cache... > > > > 32MB is quite usable. Without any tuning, you get slightly less than 10MB > > for userspace, which is enough to for many things, and plenty if swap is > > added. > > No, 32MB needs lots of needs tuning. -current seems to need about 16MB > more than just a few months ago when I last discussed this with you. > My i386 system doesn't have many drivers or a bloated userland (*), > but it took the following tuning plus my PAE tuning fixes to boot in > 32MB: > - disable [l]em1 > - reduce tx and buffers to 256 for em0. They default to 4096 for em. That >is something like 8K * 1500 bytes = 12MB for em0 alone. lem[1] wants >another 12MB. I think this is not all statically allocated, but the >drivers hang onto that much. > This now longer works. -current without my PAE tuning fixes hangs mounting > root or in usb initialization with this tuning and 40MB. -current with my > PAE tuning fixes hangs similarly with 32MB; with 40MB it boots to the > start of multiuser but then hangs (it starts 1 getty, then 2 sendmails > and kills them with "out of swap space") and 1 rpcbind (also killed). I > don't use swap, but it was needed 20 years ago on a system that actually > had 32MB of memory. > > (*) /bin/sh doing nothing much in -current i386: size 6532K res 1924K > /bin/shin my ~5.2 i386: size 864K res 592K > > The kernel size is 5.5MB text 370K data 2.2MB bss (lots of bloat in bss > for debugging and vt). In single user mode, with 40MB to start, there > is 22116K wired and 2516K free. A few programs can be run in 2516K > without swap if they have res 592K and not 1924K. > > > Note that you cannot boot on such configurations since loader was broken, > > but if you do manage to jump to kernel, things were fine several months > > ago. I tested my relatively recent OOM changes on 32MB qemu config. > > I have no problems booting such configuratations since I don't use the > current loader and only use old loader to change the environment to > set up special configurations like this. I use my version of biosboot > for boot2. This requires fixing 2 layers of complicated breakage in > init386(). vm86 is now used before the TSS and PIC resources that it > uses are initialized, but only in paths that are not normally used > because they are for memory sizing that is normally done by loader > :-(. > > I normally use my version of biosboot for boot2. I improved its caching > just a couple of years ago. It was using 9K buffer optimized for 1440K > floppies. Now it uses a 32K buffer. Booting a 5.5MB kernel takes a > fraction of a second. Of course I don't use modules, so not many seeks > are needed. Of course I use modules and do not use GENERIC. I just tried: with today HEAD, and old loader on 32MB VM, I get 11MB free in single-user mode. Active+inactive is ~4MB, and 1M is eaten by buffers, which is about right for init+/bin/sh+top idle system. Anyway, judging from the other responses, this is the lost case. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, 19 Aug 2016, Konstantin Belousov wrote: On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischerwrote: On 16/08/2016 4:54 AM, John Baldwin wrote: On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: ,,, Log: Remove the mcd(4) driver for Mitsumi CD-ROM players. This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in the manpage, this driver is only useful as a backend to cdcontrol to play audio CDs since it doesn't use DMA, so its data performance is "abysmal" (and that was true in the mid 90's). No one stepped up to test patches for it either when I last posted patches to convert it from timeout(9) to callout(9). I have a few more drivers that are ... I would imagine any machine still holding one of these probably has not enough memory to run FreeBSD. would we still run in 2MB? With insane levels of tuning, we can run in 32MB userland that can do things. Even 64MB is tight w/o some tuning. 16MB is almost certainly right out except for very specialized situations. 2MB? We can't even load the loader in that :(. Oh, and all these memory configs are only possible if you tweak the loader's block cache... 32MB is quite usable. Without any tuning, you get slightly less than 10MB for userspace, which is enough to for many things, and plenty if swap is added. No, 32MB needs lots of needs tuning. -current seems to need about 16MB more than just a few months ago when I last discussed this with you. My i386 system doesn't have many drivers or a bloated userland (*), but it took the following tuning plus my PAE tuning fixes to boot in 32MB: - disable [l]em1 - reduce tx and buffers to 256 for em0. They default to 4096 for em. That is something like 8K * 1500 bytes = 12MB for em0 alone. lem[1] wants another 12MB. I think this is not all statically allocated, but the drivers hang onto that much. This now longer works. -current without my PAE tuning fixes hangs mounting root or in usb initialization with this tuning and 40MB. -current with my PAE tuning fixes hangs similarly with 32MB; with 40MB it boots to the start of multiuser but then hangs (it starts 1 getty, then 2 sendmails and kills them with "out of swap space") and 1 rpcbind (also killed). I don't use swap, but it was needed 20 years ago on a system that actually had 32MB of memory. (*) /bin/sh doing nothing much in -current i386: size 6532K res 1924K /bin/shin my ~5.2 i386: size 864K res 592K The kernel size is 5.5MB text 370K data 2.2MB bss (lots of bloat in bss for debugging and vt). In single user mode, with 40MB to start, there is 22116K wired and 2516K free. A few programs can be run in 2516K without swap if they have res 592K and not 1924K. Note that you cannot boot on such configurations since loader was broken, but if you do manage to jump to kernel, things were fine several months ago. I tested my relatively recent OOM changes on 32MB qemu config. I have no problems booting such configuratations since I don't use the current loader and only use old loader to change the environment to set up special configurations like this. I use my version of biosboot for boot2. This requires fixing 2 layers of complicated breakage in init386(). vm86 is now used before the TSS and PIC resources that it uses are initialized, but only in paths that are not normally used because they are for memory sizing that is normally done by loader :-(. I normally use my version of biosboot for boot2. I improved its caching just a couple of years ago. It was using 9K buffer optimized for 1440K floppies. Now it uses a 32K buffer. Booting a 5.5MB kernel takes a fraction of a second. Of course I don't use modules, so not many seeks are needed. Bruce ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304461 - head/sys/arm/nvidia
Author: mmel Date: Fri Aug 19 11:12:59 2016 New Revision: 304461 URL: https://svnweb.freebsd.org/changeset/base/304461 Log: TEGRA: Remove forgotten debug printf. Modified: head/sys/arm/nvidia/tegra_pcie.c Modified: head/sys/arm/nvidia/tegra_pcie.c == --- head/sys/arm/nvidia/tegra_pcie.cFri Aug 19 10:53:17 2016 (r304460) +++ head/sys/arm/nvidia/tegra_pcie.cFri Aug 19 11:12:59 2016 (r304461) @@ -567,7 +567,6 @@ tegra_pcib_msi_intr(void *arg) /* Handle one vector. */ while (reg != 0) { bit = ffs(reg) - 1; -//printf("%s: i: %d, reg: 0x%08X, bit: 0x%08X, addr: 0x%08llX\n", __func__, i, reg, bit, rman_get_start(sc->afi_mem_res)); /* Send EOI */ AFI_WR4(sc, AFI_MSI_VEC(i), 1 << bit); irq = i * AFI_MSI_INTR_IN_REG + bit; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304439 - head/sys/dev/usb/net
On Fri, Aug 19, 2016 at 12:39:58PM +0200, Hans Petter Selasky wrote: > On 08/19/16 11:22, YongHyeon PYUN wrote: > >On Fri, Aug 19, 2016 at 11:11:56AM +0200, Hans Petter Selasky wrote: > >>On 08/19/16 10:55, YongHyeon PYUN wrote: > >>>I think the order is right but it was not tested on big-endian > >>>systems. > >> > >>Hi, > >> > >>I'm pretty sure the ifdef is wrong, because you write the fields one at > >>a time, using htole32(): > >> > >>txhdr.mss = 0; > >>txhdr.len = > >>htole32(AXGE_TXBYTES(m->m_pkthdr.len)); > >> > >>Big endian machines don't re-order variables like this. > >> > >>You should remove the #else part. > > > >Wouldn't USB stack pass txhdr structure without any > >modification? And controller want to see len (low 32bits address) > >first and then mss (high 32bits address). On big endian systems I > >guess this should be reversed in host memory layout. This is so > >confusing so I could be wrong. > > The USB stack passes TXHDR as-is and the host controller is byte > oriented, not 64-bit word oriented. That's why the layout is the same as > long as you assign per 32-bit field. > Ok, fixed in r304458. Thanks for pointing it out! ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304459 - in head/sys: arm/arm arm/nvidia arm/ti/omap4 arm64/arm64 dev/fdt dev/gpio dev/iicbus dev/ofw dev/pci dev/vnic kern mips/mips sys
Author: mmel Date: Fri Aug 19 10:52:39 2016 New Revision: 304459 URL: https://svnweb.freebsd.org/changeset/base/304459 Log: INTRNG: Rework handling with resources. Partially revert r301453. - Read interrupt properties at bus enumeration time and store it into global mapping table. - At bus_activate_resource() time, given mapping entry is resolved and connected to real interrupt source. A copy of mapping entry is attached to given resource. - At bus_setup_intr() time, mapping entry stored in resource is used for delivery of requested interrupt configuration. - For MSI/MSIX interrupts, mapping entry is created within pci_alloc_msi()/pci_alloc_msix() call. - For legacy PCI interrupts, mapping entry must be created within pcib_route_interrupt() by pcib driver itself. Reviewed by: nwhitehorn, andrew Differential Revision: https://reviews.freebsd.org/D7493 Modified: head/sys/arm/arm/nexus.c head/sys/arm/nvidia/tegra_lic.c head/sys/arm/ti/omap4/omap4_wugen.c head/sys/arm64/arm64/nexus.c head/sys/dev/fdt/simplebus.c head/sys/dev/gpio/gpiobus.c head/sys/dev/gpio/gpiobusvar.h head/sys/dev/gpio/ofw_gpiobus.c head/sys/dev/iicbus/ofw_iicbus.c head/sys/dev/ofw/ofw_bus_subr.c head/sys/dev/ofw/ofw_bus_subr.h head/sys/dev/ofw/ofwbus.c head/sys/dev/pci/pci_host_generic.c head/sys/dev/vnic/mrml_bridge.c head/sys/dev/vnic/thunder_mdio_fdt.c head/sys/kern/bus_if.m head/sys/kern/pic_if.m head/sys/kern/subr_bus.c head/sys/kern/subr_intr.c head/sys/mips/mips/nexus.c head/sys/sys/bus.h head/sys/sys/intr.h Modified: head/sys/arm/arm/nexus.c == --- head/sys/arm/arm/nexus.cFri Aug 19 10:51:30 2016(r304458) +++ head/sys/arm/arm/nexus.cFri Aug 19 10:52:39 2016(r304459) @@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$"); #ifdef FDT #include +#include #include "ofw_bus_if.h" #endif @@ -379,6 +380,11 @@ nexus_activate_resource(device_t bus, de #endif rman_set_virtual(r, (void *)vaddr); rman_set_bushandle(r, vaddr); + return (0); + } else if (type == SYS_RES_IRQ) { +#ifdef INTRNG + intr_activate_irq(child, r); +#endif } return (0); } @@ -390,17 +396,23 @@ nexus_deactivate_resource(device_t bus, bus_size_t psize; bus_space_handle_t vaddr; - psize = (bus_size_t)rman_get_size(r); - vaddr = rman_get_bushandle(r); + if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { + psize = (bus_size_t)rman_get_size(r); + vaddr = rman_get_bushandle(r); - if (vaddr != 0) { + if (vaddr != 0) { #ifdef FDT - bus_space_unmap(fdtbus_bs_tag, vaddr, psize); + bus_space_unmap(fdtbus_bs_tag, vaddr, psize); #else - pmap_unmapdev((vm_offset_t)vaddr, (vm_size_t)psize); + pmap_unmapdev((vm_offset_t)vaddr, (vm_size_t)psize); +#endif + rman_set_virtual(r, NULL); + rman_set_bushandle(r, 0); + } + } else if (type == SYS_RES_IRQ) { +#ifdef INTRNG + intr_deactivate_irq(child, r); #endif - rman_set_virtual(r, NULL); - rman_set_bushandle(r, 0); } return (rman_deactivate_resource(r)); @@ -411,11 +423,22 @@ static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, pcell_t *intr) { - -#ifdef INTRNG - return (INTR_IRQ_INVALID); -#else +#ifndef INTRNG return (intr_fdt_map_irq(iparent, intr, icells)); -#endif +#else + u_int irq; + struct intr_map_data_fdt *fdt_data; + size_t len; + + len = sizeof(*fdt_data) + icells * sizeof(pcell_t); + fdt_data = (struct intr_map_data_fdt *)intr_alloc_map_data( + INTR_MAP_DATA_FDT, len, M_WAITOK | M_ZERO); + fdt_data->iparent = iparent; + fdt_data->ncells = icells; + memcpy(fdt_data->cells, intr, icells * sizeof(pcell_t)); + irq = intr_map_irq(NULL, iparent, (struct intr_map_data *)fdt_data); + return (irq); +#endif /* INTRNG */ } -#endif +#endif /* FDT */ + Modified: head/sys/arm/nvidia/tegra_lic.c == --- head/sys/arm/nvidia/tegra_lic.c Fri Aug 19 10:51:30 2016 (r304458) +++ head/sys/arm/nvidia/tegra_lic.c Fri Aug 19 10:52:39 2016 (r304459) @@ -88,12 +88,12 @@ struct tegra_lic_sc { }; static int -tegra_lic_alloc_intr(device_t dev, struct intr_irqsrc *isrc, +tegra_lic_activate_intr(device_t dev, struct intr_irqsrc *isrc, struct resource *res, struct intr_map_data *data) { struct tegra_lic_sc *sc = device_get_softc(dev); - return (PIC_ALLOC_INTR(sc->parent, isrc, res, data)); + return (PIC_ACTIVATE_INTR(sc->parent, isrc, res, data));
svn commit: r304460 - head/sys/arm/nvidia
Author: mmel Date: Fri Aug 19 10:53:17 2016 New Revision: 304460 URL: https://svnweb.freebsd.org/changeset/base/304460 Log: TEGRA: Implement MSI/MSIX interrupts for pcie controller. Modified: head/sys/arm/nvidia/tegra_pcie.c Modified: head/sys/arm/nvidia/tegra_pcie.c == --- head/sys/arm/nvidia/tegra_pcie.cFri Aug 19 10:52:39 2016 (r304459) +++ head/sys/arm/nvidia/tegra_pcie.cFri Aug 19 10:53:17 2016 (r304460) @@ -33,20 +33,20 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include +#include #include -#include #include #include #include -#include -#include #include -#include -#include #include #include +#include +#include #include #include @@ -68,8 +68,9 @@ __FBSDID("$FreeBSD$"); #include #include "ofw_bus_if.h" +#include "msi_if.h" #include "pcib_if.h" - +#include "pic_if.h" #defineAFI_AXI_BAR0_SZ 0x000 @@ -93,17 +94,10 @@ __FBSDID("$FreeBSD$"); #defineAFI_MSI_BAR_SZ 0x060 #defineAFI_MSI_FPCI_BAR_ST 0x064 #defineAFI_MSI_AXI_BAR_ST 0x068 - - -#defineAFI_AXI_BAR6_SZ 0x134 -#defineAFI_AXI_BAR7_SZ 0x138 -#defineAFI_AXI_BAR8_SZ 0x13c -#defineAFI_AXI_BAR6_START 0x140 -#defineAFI_AXI_BAR7_START 0x144 -#defineAFI_AXI_BAR8_START 0x148 -#defineAFI_FPCI_BAR6 0x14c -#defineAFI_FPCI_BAR7 0x150 -#defineAFI_FPCI_BAR8 0x154 +#define AFI_MSI_VEC(x) (0x06c + 4 * (x)) +#define AFI_MSI_EN_VEC(x) (0x08c + 4 * (x)) +#define AFI_MSI_INTR_IN_REG32 +#define AFI_MSI_REGS 8 #defineAFI_CONFIGURATION 0x0ac #define AFI_CONFIGURATION_EN_FPCI (1 << 0) @@ -209,6 +203,8 @@ __FBSDID("$FreeBSD$"); #defineTEGRA_PCIE_LINKUP_TIMEOUT 200 +#define TEGRA_PCIB_MSI_ENABLE + #defineDEBUG #ifdef DEBUG #definedebugf(fmt, args...) do { printf(fmt,##args); } while (0) @@ -258,6 +254,13 @@ static struct ofw_compat_data compat_dat {NULL, 0}, }; +#defineTEGRA_FLAG_MSI_USED 0x0001 +struct tegra_pcib_irqsrc { + struct intr_irqsrc isrc; + u_int irq; + u_int flags; +}; + struct tegra_pcib_port { int enabled; int port_idx; /* chip port index */ @@ -271,6 +274,7 @@ struct tegra_pcib_port { }; #defineTEGRA_PCIB_MAX_PORTS3 +#defineTEGRA_PCIB_MAX_MSI AFI_MSI_INTR_IN_REG * AFI_MSI_REGS struct tegra_pcib_softc { struct ofw_pci_softcofw_pci; device_tdev; @@ -303,7 +307,7 @@ struct tegra_pcib_softc { regulator_t supply_vddio_pex_ctl; regulator_t supply_avdd_pll_erefe; - uint32_tmsi_bitmap; + vm_offset_t msi_page; /* VA of MSI page */ bus_addr_t cfg_base_addr; /* base address of config */ bus_size_t cfg_cur_offs; /* currently mapped window */ bus_space_handle_t cfg_handle; /* handle of config window */ @@ -311,9 +315,9 @@ struct tegra_pcib_softc { int lanes_cfg; int num_ports; struct tegra_pcib_port *ports[TEGRA_PCIB_MAX_PORTS]; + struct tegra_pcib_irqsrc *isrcs; }; - static int tegra_pcib_maxslots(device_t dev) { @@ -324,13 +328,15 @@ static int tegra_pcib_route_interrupt(device_t bus, device_t dev, int pin) { struct tegra_pcib_softc *sc; + u_int irq; sc = device_get_softc(bus); - device_printf(bus, "route pin %d for device %d.%d to %ju\n", + irq = intr_map_clone_irq(rman_get_start(sc->irq_res)); + device_printf(bus, "route pin %d for device %d.%d to %u\n", pin, pci_get_slot(dev), pci_get_function(dev), - rman_get_start(sc->irq_res)); + irq); - return (rman_get_start(sc->irq_res)); + return (irq); } static int @@ -471,84 +477,320 @@ static int tegra_pci_intr(void *arg) return (FILTER_HANDLED); } -#if defined(TEGRA_PCI_MSI) +/* --- + * + * PCI MSI interface + */ +static int +tegra_pcib_alloc_msi(device_t pci, device_t child, int count, int maxcount, +int *irqs) +{ + phandle_t msi_parent; + + /* ofw_bus_msimap() don't
svn commit: r304458 - head/sys/dev/usb/net
Author: yongari Date: Fri Aug 19 10:51:30 2016 New Revision: 304458 URL: https://svnweb.freebsd.org/changeset/base/304458 Log: Host controller is byte oriented. Fix wrong assumption on big-endian systems. Pointed out by: hselasky Modified: head/sys/dev/usb/net/if_axgereg.h Modified: head/sys/dev/usb/net/if_axgereg.h == --- head/sys/dev/usb/net/if_axgereg.h Fri Aug 19 09:11:50 2016 (r304457) +++ head/sys/dev/usb/net/if_axgereg.h Fri Aug 19 10:51:30 2016 (r304458) @@ -154,21 +154,15 @@ enum { #defineAXGE_N_FRAMES 16 struct axge_frame_txhdr { -#if BYTE_ORDER == LITTLE_ENDIAN uint32_tlen; - uint32_tmss; -#else - uint32_tmss; - uint32_tlen; -#endif -} __packed; - #defineAXGE_TXLEN_MASK 0x0001 #defineAXGE_VLAN_INSERT0x2000 #defineAXGE_CSUM_DISABLE 0x8000 + uint32_tmss; #defineAXGE_MSS_MASK 0x3FFF #defineAXGE_PADDING0x80008000 #defineAXGE_VLAN_TAG_MASK 0x +} __packed; #defineAXGE_TXBYTES(x) ((x) & AXGE_TXLEN_MASK) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304439 - head/sys/dev/usb/net
On 08/19/16 11:22, YongHyeon PYUN wrote: On Fri, Aug 19, 2016 at 11:11:56AM +0200, Hans Petter Selasky wrote: On 08/19/16 10:55, YongHyeon PYUN wrote: I think the order is right but it was not tested on big-endian systems. Hi, I'm pretty sure the ifdef is wrong, because you write the fields one at a time, using htole32(): txhdr.mss = 0; txhdr.len = htole32(AXGE_TXBYTES(m->m_pkthdr.len)); Big endian machines don't re-order variables like this. You should remove the #else part. Wouldn't USB stack pass txhdr structure without any modification? And controller want to see len (low 32bits address) first and then mss (high 32bits address). On big endian systems I guess this should be reversed in host memory layout. This is so confusing so I could be wrong. The USB stack passes TXHDR as-is and the host controller is byte oriented, not 64-bit word oriented. That's why the layout is the same as long as you assign per 32-bit field. --HPS ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
> On 19. aug 2016, at 12:24, Konstantin Belousovwrote: > > On Fri, Aug 19, 2016 at 11:50:35AM +0300, Toomas Soome wrote: >> >>> On 19. aug 2016, at 10:39, Konstantin Belousov wrote: >>> >>> On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischer wrote: > On 16/08/2016 4:54 AM, John Baldwin wrote: >> >> On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: >>> >>> Author: jhb >>> Date: Mon Aug 15 20:38:02 2016 >>> New Revision: 304187 >>> URL: https://svnweb.freebsd.org/changeset/base/304187 >>> >>> Log: >>> Remove the mcd(4) driver for Mitsumi CD-ROM players. >>>This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in >>> the manpage, this driver is only useful as a backend to cdcontrol to >>> play audio CDs since it doesn't use DMA, so its data performance is >>> "abysmal" (and that was true in the mid 90's). >> >> No one stepped up to test patches for it either when I last posted >> patches >> to >> convert it from timeout(9) to callout(9). I have a few more drivers that >> are >> both very old and that people have no business using in 12 (think ISA >> adapters that don't do DMA and can't be used with pccard) that I will be >> removing over the next little while. I brought up a list of drivers on >> arch@ >> a couple of years ago and the conversation drifted off into the weeds >> about >> trimming GENERIC, etc. No one objected to the specific drivers I listed >> though (and I got a few pleas of "please remove"). If someone shows up >> desperately clutching an ISA adapter they can always dig up the source >> from >> svn and deal with forward porting it for whatever API changes have >> happened >> since it was removed. > > > I would imagine any machine still holding one of these probably has not > enough memory to run FreeBSD. > > would we still run in 2MB? With insane levels of tuning, we can run in 32MB userland that can do things. Even 64MB is tight w/o some tuning. 16MB is almost certainly right out except for very specialized situations. 2MB? We can't even load the loader in that :(. Oh, and all these memory configs are only possible if you tweak the loader's block cache... >>> >>> 32MB is quite usable. Without any tuning, you get slightly less than 10MB >>> for userspace, which is enough to for many things, and plenty if swap is >>> added. >>> >>> Note that you cannot boot on such configurations since loader was broken, >>> but if you do manage to jump to kernel, things were fine several months >>> ago. I tested my relatively recent OOM changes on 32MB qemu config. Warner >>> >> >> If the target is to go as low memory as possible, sure, you can strip all >> off, from boot loader point, you should load kernel from stage2 and not use >> loader at all (you can load and jump kernel even now from stage2, assuming >> it wont need any special configuration from loader config) etc etc. This >> means highly specialized build and has nothing to do with generic all >> purpose system. >> > Why you describe this as an 'alternative' ? Before that loader changes, > I regularly tested on 32MB qemy i386 image and 64MB amd64 image. I do > not see anything extreme in these configs. They use normal boot path, > which provides kernels with debugging symbols, metadata, loaded modules > etc. Why should I use deficient boot2-only loading, which, additionally, > cannot work on amd64 ? > > More, this is the only reasonable way for most developers to ensure that > system is still usable on tiny configs found on embedded devices. Right > now the min which I have to set up is 128MB, and VM changes are simply not > tested on anything smaller. It is guaranteed that small systems will grow > regressions fast. And I will not jump through the hoops to mitigate > breakage induced by other people' changes. > >> Also at some point, there is an question about how reasonable it is to have >> such configuration as part of generic code base for special bits like boot >> loader itself, as the problem is, testing all those variants is becoming >> impossible and even keeping reasonable code base in all of the #if #else >> #endif spaghetti is getting quite hard and error prone. >> >>> From developers point of view, it is not really encouraging to have >>> possible feedback like ???oh, but you did break my 32MB system boot??? ;) >>> This does bring back some memories however. For first 2 unix systems I was >>> dealing with, one had 8MB and another had 12MB of memory??? it was ~ >>> 1992-1993;) >> > Not mine, but you (?) indirectly broke system for people who do use 32MB > on other arches, since low memory config on dev systems become 128MB. > I cared about
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Fri, Aug 19, 2016 at 11:50:35AM +0300, Toomas Soome wrote: > > > On 19. aug 2016, at 10:39, Konstantin Belousovwrote: > > > > On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: > >> On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischer > >> wrote: > >>> On 16/08/2016 4:54 AM, John Baldwin wrote: > > On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: > > > > Author: jhb > > Date: Mon Aug 15 20:38:02 2016 > > New Revision: 304187 > > URL: https://svnweb.freebsd.org/changeset/base/304187 > > > > Log: > > Remove the mcd(4) driver for Mitsumi CD-ROM players. > > This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in > > the manpage, this driver is only useful as a backend to cdcontrol to > > play audio CDs since it doesn't use DMA, so its data performance is > > "abysmal" (and that was true in the mid 90's). > > No one stepped up to test patches for it either when I last posted > patches > to > convert it from timeout(9) to callout(9). I have a few more drivers that > are > both very old and that people have no business using in 12 (think ISA > adapters that don't do DMA and can't be used with pccard) that I will be > removing over the next little while. I brought up a list of drivers on > arch@ > a couple of years ago and the conversation drifted off into the weeds > about > trimming GENERIC, etc. No one objected to the specific drivers I listed > though (and I got a few pleas of "please remove"). If someone shows up > desperately clutching an ISA adapter they can always dig up the source > from > svn and deal with forward porting it for whatever API changes have > happened > since it was removed. > >>> > >>> > >>> I would imagine any machine still holding one of these probably has not > >>> enough memory to run FreeBSD. > >>> > >>> would we still run in 2MB? > >> > >> With insane levels of tuning, we can run in 32MB userland that can do > >> things. Even 64MB is tight w/o some tuning. 16MB is almost certainly > >> right out except for very specialized situations. 2MB? We can't even > >> load the loader in that :(. Oh, and all these memory configs are only > >> possible if you tweak the loader's block cache... > >> > > > > 32MB is quite usable. Without any tuning, you get slightly less than 10MB > > for userspace, which is enough to for many things, and plenty if swap is > > added. > > > > Note that you cannot boot on such configurations since loader was broken, > > but if you do manage to jump to kernel, things were fine several months > > ago. I tested my relatively recent OOM changes on 32MB qemu config. > >> Warner > > > > If the target is to go as low memory as possible, sure, you can strip all > off, from boot loader point, you should load kernel from stage2 and not use > loader at all (you can load and jump kernel even now from stage2, assuming it > wont need any special configuration from loader config) etc etc. This means > highly specialized build and has nothing to do with generic all purpose > system. > Why you describe this as an 'alternative' ? Before that loader changes, I regularly tested on 32MB qemy i386 image and 64MB amd64 image. I do not see anything extreme in these configs. They use normal boot path, which provides kernels with debugging symbols, metadata, loaded modules etc. Why should I use deficient boot2-only loading, which, additionally, cannot work on amd64 ? More, this is the only reasonable way for most developers to ensure that system is still usable on tiny configs found on embedded devices. Right now the min which I have to set up is 128MB, and VM changes are simply not tested on anything smaller. It is guaranteed that small systems will grow regressions fast. And I will not jump through the hoops to mitigate breakage induced by other people' changes. > Also at some point, there is an question about how reasonable it is to have > such configuration as part of generic code base for special bits like boot > loader itself, as the problem is, testing all those variants is becoming > impossible and even keeping reasonable code base in all of the #if #else > #endif spaghetti is getting quite hard and error prone. > > >From developers point of view, it is not really encouraging to have possible > >feedback like ???oh, but you did break my 32MB system boot??? ;) This does > >bring back some memories however. For first 2 unix systems I was dealing > >with, one had 8MB and another had 12MB of memory??? it was ~ 1992-1993;) > Not mine, but you (?) indirectly broke system for people who do use 32MB on other arches, since low memory config on dev systems become 128MB. I cared about 32MB before, but not any longer. > Right now the loader and stage2 are set to use 64MB heap to make it possible > to implement zfs feature
Re: svn commit: r304439 - head/sys/dev/usb/net
On Fri, Aug 19, 2016 at 11:11:56AM +0200, Hans Petter Selasky wrote: > On 08/19/16 10:55, YongHyeon PYUN wrote: > >I think the order is right but it was not tested on big-endian > >systems. > > Hi, > > I'm pretty sure the ifdef is wrong, because you write the fields one at > a time, using htole32(): > > txhdr.mss = 0; > txhdr.len = htole32(AXGE_TXBYTES(m->m_pkthdr.len)); > > Big endian machines don't re-order variables like this. > > You should remove the #else part. Wouldn't USB stack pass txhdr structure without any modification? And controller want to see len (low 32bits address) first and then mss (high 32bits address). On big endian systems I guess this should be reversed in host memory layout. This is so confusing so I could be wrong. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304457 - releng/11.0/usr.sbin/bsdinstall/partedit
Author: des Date: Fri Aug 19 09:11:50 2016 New Revision: 304457 URL: https://svnweb.freebsd.org/changeset/base/304457 Log: MFH (r304142): ensure stripe size is non-zero multiple of 4096 PR: 211361 Approved by: re (gjb) Modified: releng/11.0/usr.sbin/bsdinstall/partedit/gpart_ops.c Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/usr.sbin/bsdinstall/partedit/gpart_ops.c == --- releng/11.0/usr.sbin/bsdinstall/partedit/gpart_ops.cFri Aug 19 08:44:37 2016(r304456) +++ releng/11.0/usr.sbin/bsdinstall/partedit/gpart_ops.cFri Aug 19 09:11:50 2016(r304457) @@ -795,6 +795,7 @@ gpart_max_free(struct ggeom *geom, intma { struct gconfig *gc; struct gprovider *pp, **providers; + intmax_t sectorsize, stripesize, offset; intmax_t lastend; intmax_t start, end; intmax_t maxsize, maxstart; @@ -845,12 +846,25 @@ gpart_max_free(struct ggeom *geom, intma pp = LIST_FIRST(>lg_consumer)->lg_provider; - /* Compute beginning of new partition and maximum available space */ - if (pp->lg_stripesize > 0 && - (maxstart*pp->lg_sectorsize % pp->lg_stripesize) != 0) { - intmax_t offset = (pp->lg_stripesize - - ((maxstart*pp->lg_sectorsize) % pp->lg_stripesize)) / - pp->lg_sectorsize; + /* +* Round the start and size of the largest available space up to +* the nearest multiple of the adjusted stripe size. +* +* The adjusted stripe size is the least common multiple of the +* actual stripe size, or the sector size if no stripe size was +* reported, and 4096. The reason for this is that contemporary +* disks often have 4096-byte physical sectors but report 512 +* bytes instead for compatibility with older / broken operating +* systems and BIOSes. For the same reasons, virtualized storage +* may also report a 512-byte stripe size, or none at all. +*/ + sectorsize = pp->lg_sectorsize; + if ((stripesize = pp->lg_stripesize) == 0) + stripesize = sectorsize; + while (stripesize % 4096 != 0) + stripesize *= 2; + if ((offset = maxstart * sectorsize % stripesize) != 0) { + offset = (stripesize - offset) / sectorsize; maxstart += offset; maxsize -= offset; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304439 - head/sys/dev/usb/net
On 08/19/16 10:55, YongHyeon PYUN wrote: I think the order is right but it was not tested on big-endian systems. Hi, I'm pretty sure the ifdef is wrong, because you write the fields one at a time, using htole32(): txhdr.mss = 0; txhdr.len = htole32(AXGE_TXBYTES(m->m_pkthdr.len)); Big endian machines don't re-order variables like this. You should remove the #else part. --HPS ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304439 - head/sys/dev/usb/net
On Fri, Aug 19, 2016 at 10:50:47AM +0200, Hans Petter Selasky wrote: > On 08/19/16 02:50, Pyun YongHyeon wrote: > >Modified: head/sys/dev/usb/net/if_axgereg.h > >== > >--- head/sys/dev/usb/net/if_axgereg.hFri Aug 19 00:03:41 2016 > >(r304438) > >+++ head/sys/dev/usb/net/if_axgereg.hFri Aug 19 00:50:32 2016 > >(r304439) > >@@ -156,19 +156,20 @@ enum { > > struct axge_frame_txhdr { > > #if BYTE_ORDER == LITTLE_ENDIAN > > uint32_tlen; > >-#define AXGE_TXLEN_MASK 0x0001 > >-#define AXGE_VLAN_INSERT0x2000 > >-#define AXGE_CSUM_DISABLE 0x8000 > > uint32_tmss; > >-#define AXGE_MSS_MASK 0x3FFF > >-#define AXGE_PADDING0x80008000 > >-#define AXGE_VLAN_TAG_MASK 0x > > #else > > uint32_tmss; > > uint32_tlen; > > #endif > > } __packed; > > > > Hi, > > Is it correct to switch the order of mss and len variables for > bit/little endian? Looks buggy to me. > I think the order is right but it was not tested on big-endian systems. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
> On 19. aug 2016, at 10:39, Konstantin Belousovwrote: > > On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: >> On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischer wrote: >>> On 16/08/2016 4:54 AM, John Baldwin wrote: On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: > > Author: jhb > Date: Mon Aug 15 20:38:02 2016 > New Revision: 304187 > URL: https://svnweb.freebsd.org/changeset/base/304187 > > Log: > Remove the mcd(4) driver for Mitsumi CD-ROM players. > This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in > the manpage, this driver is only useful as a backend to cdcontrol to > play audio CDs since it doesn't use DMA, so its data performance is > "abysmal" (and that was true in the mid 90's). No one stepped up to test patches for it either when I last posted patches to convert it from timeout(9) to callout(9). I have a few more drivers that are both very old and that people have no business using in 12 (think ISA adapters that don't do DMA and can't be used with pccard) that I will be removing over the next little while. I brought up a list of drivers on arch@ a couple of years ago and the conversation drifted off into the weeds about trimming GENERIC, etc. No one objected to the specific drivers I listed though (and I got a few pleas of "please remove"). If someone shows up desperately clutching an ISA adapter they can always dig up the source from svn and deal with forward porting it for whatever API changes have happened since it was removed. >>> >>> >>> I would imagine any machine still holding one of these probably has not >>> enough memory to run FreeBSD. >>> >>> would we still run in 2MB? >> >> With insane levels of tuning, we can run in 32MB userland that can do >> things. Even 64MB is tight w/o some tuning. 16MB is almost certainly >> right out except for very specialized situations. 2MB? We can't even >> load the loader in that :(. Oh, and all these memory configs are only >> possible if you tweak the loader's block cache... >> > > 32MB is quite usable. Without any tuning, you get slightly less than 10MB > for userspace, which is enough to for many things, and plenty if swap is > added. > > Note that you cannot boot on such configurations since loader was broken, > but if you do manage to jump to kernel, things were fine several months > ago. I tested my relatively recent OOM changes on 32MB qemu config. >> Warner > If the target is to go as low memory as possible, sure, you can strip all off, from boot loader point, you should load kernel from stage2 and not use loader at all (you can load and jump kernel even now from stage2, assuming it wont need any special configuration from loader config) etc etc. This means highly specialized build and has nothing to do with generic all purpose system. Also at some point, there is an question about how reasonable it is to have such configuration as part of generic code base for special bits like boot loader itself, as the problem is, testing all those variants is becoming impossible and even keeping reasonable code base in all of the #if #else #endif spaghetti is getting quite hard and error prone. From developers point of view, it is not really encouraging to have possible feedback like “oh, but you did break my 32MB system boot” ;) This does bring back some memories however. For first 2 unix systems I was dealing with, one had 8MB and another had 12MB of memory… it was ~ 1992-1993;) Right now the loader and stage2 are set to use 64MB heap to make it possible to implement zfs feature support and later on, for more features. Also note that UEFI setups are much harder to deal with regard of memory management, because as long as BS are in control, you can not really control the memory management there and can end up with fragmented unusable (for kernel loading) layout. This is especially nasty as apparently some (buggy) systems actually have runtime services using boot services memory areas, so you can end up in setup where you can not re-use BS memory and those chunks can be all over the low memory address space… rgds, toomas ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304439 - head/sys/dev/usb/net
On Fri, Aug 19, 2016 at 4:50 PM, Hans Petter Selaskywrote: > On 08/19/16 02:50, Pyun YongHyeon wrote: >> >> Modified: head/sys/dev/usb/net/if_axgereg.h >> >> == >> --- head/sys/dev/usb/net/if_axgereg.h Fri Aug 19 00:03:41 2016 >> (r304438) >> +++ head/sys/dev/usb/net/if_axgereg.h Fri Aug 19 00:50:32 2016 >> (r304439) >> @@ -156,19 +156,20 @@ enum { >> struct axge_frame_txhdr { >> #if BYTE_ORDER == LITTLE_ENDIAN >> uint32_tlen; >> -#defineAXGE_TXLEN_MASK 0x0001 >> -#defineAXGE_VLAN_INSERT0x2000 >> -#defineAXGE_CSUM_DISABLE 0x8000 >> uint32_tmss; >> -#defineAXGE_MSS_MASK 0x3FFF >> -#defineAXGE_PADDING0x80008000 >> -#defineAXGE_VLAN_TAG_MASK 0x >> #else >> uint32_tmss; >> uint32_tlen; >> #endif >> } __packed; >> > > Hi, > > Is it correct to switch the order of mss and len variables for bit/little > endian? Looks buggy to me. It probably is a 64bits field. IMHO, using a 64bits field and mask/shift-op probably will be better here. Thanks, sephe -- Tomorrow Will Never Die ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304439 - head/sys/dev/usb/net
On 08/19/16 02:50, Pyun YongHyeon wrote: Modified: head/sys/dev/usb/net/if_axgereg.h == --- head/sys/dev/usb/net/if_axgereg.h Fri Aug 19 00:03:41 2016 (r304438) +++ head/sys/dev/usb/net/if_axgereg.h Fri Aug 19 00:50:32 2016 (r304439) @@ -156,19 +156,20 @@ enum { struct axge_frame_txhdr { #if BYTE_ORDER == LITTLE_ENDIAN uint32_tlen; -#defineAXGE_TXLEN_MASK 0x0001 -#defineAXGE_VLAN_INSERT0x2000 -#defineAXGE_CSUM_DISABLE 0x8000 uint32_tmss; -#defineAXGE_MSS_MASK 0x3FFF -#defineAXGE_PADDING0x80008000 -#defineAXGE_VLAN_TAG_MASK 0x #else uint32_tmss; uint32_tlen; #endif } __packed; Hi, Is it correct to switch the order of mss and len variables for bit/little endian? Looks buggy to me. --HPS ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304456 - releng/11.0/libexec/rtld-elf
Author: kib Date: Fri Aug 19 08:44:37 2016 New Revision: 304456 URL: https://svnweb.freebsd.org/changeset/base/304456 Log: MFC r304011: Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf. MFC r304012: Fill phdr and phsize for rtld object. Approved by: re (gjb) Modified: releng/11.0/libexec/rtld-elf/rtld.c Directory Properties: releng/11.0/ (props changed) Modified: releng/11.0/libexec/rtld-elf/rtld.c == --- releng/11.0/libexec/rtld-elf/rtld.c Fri Aug 19 08:07:04 2016 (r304455) +++ releng/11.0/libexec/rtld-elf/rtld.c Fri Aug 19 08:44:37 2016 (r304456) @@ -1916,6 +1916,7 @@ static void init_rtld(caddr_t mapbase, Elf_Auxinfo **aux_info) { Obj_Entry objtmp; /* Temporary rtld object */ +const Elf_Ehdr *ehdr; const Elf_Dyn *dyn_rpath; const Elf_Dyn *dyn_soname; const Elf_Dyn *dyn_runpath; @@ -1954,6 +1955,9 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * relocate_objects(, true, , 0, NULL); } +ehdr = (Elf_Ehdr *)mapbase; +objtmp.phdr = (Elf_Phdr *)((char *)mapbase + ehdr->e_phoff); +objtmp.phsize = ehdr->e_phnum * sizeof(objtmp.phdr[0]); /* Initialize the object list. */ TAILQ_INIT(_list); @@ -2164,8 +2168,7 @@ load_needed_objects(Obj_Entry *first, in { Obj_Entry *obj; -obj = first; -TAILQ_FOREACH_FROM(obj, _list, next) { +for (obj = first; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; if (process_needed(obj, obj->needed, flags) == -1) @@ -2769,9 +2772,8 @@ relocate_objects(Obj_Entry *first, bool Obj_Entry *obj; int error; - error = 0; - obj = first; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (error = 0, obj = first; obj != NULL; + obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; error = relocate_object(obj, bind_now, rtldobj, flags, @@ -2811,8 +2813,7 @@ resolve_objects_ifunc(Obj_Entry *first, { Obj_Entry *obj; - obj = first; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (obj = first; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; if (resolve_object_ifunc(obj, bind_now, flags, lockstate) == -1) @@ -4316,7 +4317,7 @@ trace_loaded_objects(Obj_Entry *obj) list_containers = getenv(_LD("TRACE_LOADED_OBJECTS_ALL")); -TAILQ_FOREACH_FROM(obj, _list, next) { +for (; obj != NULL; obj = TAILQ_NEXT(obj, next)) { Needed_Entry*needed; char*name, *path; boolis_lib; @@ -4661,8 +4662,7 @@ allocate_tls(Obj_Entry *objs, void *oldt */ free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); } else { - obj = objs; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (obj = objs; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker || obj->tlsoffset == 0) continue; addr = segbase - obj->tlsoffset; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304455 - stable/10/libexec/rtld-elf
Author: kib Date: Fri Aug 19 08:07:04 2016 New Revision: 304455 URL: https://svnweb.freebsd.org/changeset/base/304455 Log: MFC r304012: Fill phdr and phsize for rtld object. Modified: stable/10/libexec/rtld-elf/rtld.c Directory Properties: stable/10/ (props changed) Modified: stable/10/libexec/rtld-elf/rtld.c == --- stable/10/libexec/rtld-elf/rtld.c Fri Aug 19 08:05:08 2016 (r304454) +++ stable/10/libexec/rtld-elf/rtld.c Fri Aug 19 08:07:04 2016 (r304455) @@ -1872,6 +1872,7 @@ static void init_rtld(caddr_t mapbase, Elf_Auxinfo **aux_info) { Obj_Entry objtmp; /* Temporary rtld object */ +const Elf_Ehdr *ehdr; const Elf_Dyn *dyn_rpath; const Elf_Dyn *dyn_soname; const Elf_Dyn *dyn_runpath; @@ -1910,6 +1911,9 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * relocate_objects(, true, , 0, NULL); } +ehdr = (Elf_Ehdr *)mapbase; +objtmp.phdr = (Elf_Phdr *)((char *)mapbase + ehdr->e_phoff); +objtmp.phsize = ehdr->e_phnum * sizeof(objtmp.phdr[0]); /* Initialize the object list. */ TAILQ_INIT(_list); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304454 - stable/10/libexec/rtld-elf
Author: kib Date: Fri Aug 19 08:05:08 2016 New Revision: 304454 URL: https://svnweb.freebsd.org/changeset/base/304454 Log: MFC r304011: Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf. Modified: stable/10/libexec/rtld-elf/rtld.c Directory Properties: stable/10/ (props changed) Modified: stable/10/libexec/rtld-elf/rtld.c == --- stable/10/libexec/rtld-elf/rtld.c Fri Aug 19 08:00:48 2016 (r304453) +++ stable/10/libexec/rtld-elf/rtld.c Fri Aug 19 08:05:08 2016 (r304454) @@ -2120,8 +2120,7 @@ load_needed_objects(Obj_Entry *first, in { Obj_Entry *obj; -obj = first; -TAILQ_FOREACH_FROM(obj, _list, next) { +for (obj = first; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; if (process_needed(obj, obj->needed, flags) == -1) @@ -2720,9 +2719,8 @@ relocate_objects(Obj_Entry *first, bool Obj_Entry *obj; int error; - error = 0; - obj = first; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (error = 0, obj = first; obj != NULL; + obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; error = relocate_object(obj, bind_now, rtldobj, flags, @@ -2762,8 +2760,7 @@ resolve_objects_ifunc(Obj_Entry *first, { Obj_Entry *obj; - obj = first; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (obj = first; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; if (resolve_object_ifunc(obj, bind_now, flags, lockstate) == -1) @@ -4213,7 +4210,7 @@ trace_loaded_objects(Obj_Entry *obj) list_containers = getenv(LD_ "TRACE_LOADED_OBJECTS_ALL"); -TAILQ_FOREACH_FROM(obj, _list, next) { +for (; obj != NULL; obj = TAILQ_NEXT(obj, next)) { Needed_Entry*needed; char*name, *path; boolis_lib; @@ -4557,8 +4554,7 @@ allocate_tls(Obj_Entry *objs, void *oldt */ free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); } else { - obj = objs; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (obj = objs; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker || obj->tlsoffset == 0) continue; addr = segbase - obj->tlsoffset; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304453 - in stable/11: lib/libsysdecode libexec/rtld-elf
Author: kib Date: Fri Aug 19 08:00:48 2016 New Revision: 304453 URL: https://svnweb.freebsd.org/changeset/base/304453 Log: MFC r304016: Move defines common between rtld and libsysdecode into the header. Added: stable/11/libexec/rtld-elf/rtld_utrace.h - copied unchanged from r304016, head/libexec/rtld-elf/rtld_utrace.h Modified: stable/11/lib/libsysdecode/Makefile stable/11/lib/libsysdecode/utrace.c stable/11/libexec/rtld-elf/rtld.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libsysdecode/Makefile == --- stable/11/lib/libsysdecode/Makefile Fri Aug 19 07:59:00 2016 (r304452) +++ stable/11/lib/libsysdecode/Makefile Fri Aug 19 08:00:48 2016 (r304453) @@ -9,6 +9,7 @@ SRCS= errno.c ioctl.c syscallnames.c utr INCS= sysdecode.h CFLAGS+= -I${.CURDIR}/../../sys +CFLAGS+= -I${.CURDIR}/../../libexec/rtld-elf MAN+= sysdecode.3 \ sysdecode_abi_to_freebsd_errno.3 \ Modified: stable/11/lib/libsysdecode/utrace.c == --- stable/11/lib/libsysdecode/utrace.c Fri Aug 19 07:59:00 2016 (r304452) +++ stable/11/lib/libsysdecode/utrace.c Fri Aug 19 08:00:48 2016 (r304453) @@ -35,33 +35,11 @@ __FBSDID("$FreeBSD$"); #include #include #include - -#defineUTRACE_DLOPEN_START 1 -#defineUTRACE_DLOPEN_STOP 2 -#defineUTRACE_DLCLOSE_START3 -#defineUTRACE_DLCLOSE_STOP 4 -#defineUTRACE_LOAD_OBJECT 5 -#defineUTRACE_UNLOAD_OBJECT6 -#defineUTRACE_ADD_RUNDEP 7 -#defineUTRACE_PRELOAD_FINISHED 8 -#defineUTRACE_INIT_CALL9 -#defineUTRACE_FINI_CALL10 -#defineUTRACE_DLSYM_START 11 -#defineUTRACE_DLSYM_STOP 12 - -struct utrace_rtld { - char sig[4];/* 'RTLD' */ - int event; - void *handle; - void *mapbase; - size_t mapsize; - int refcnt; - char name[MAXPATHLEN]; -}; +#include "rtld_utrace.h" #ifdef __LP64__ struct utrace_rtld32 { - char sig[4];/* 'RTLD' */ + char sig[4]; int event; uint32_t handle; uint32_t mapbase; @@ -189,10 +167,11 @@ sysdecode_utrace(FILE *fp, void *p, size struct utrace_malloc um; struct utrace_malloc32 *pm; #endif + static const char rtld_utrace_sig[RTLD_UTRACE_SIG_SZ] = RTLD_UTRACE_SIG; - if (len == sizeof(struct utrace_rtld) && bcmp(p, "RTLD", 4) == 0) { + if (len == sizeof(struct utrace_rtld) && bcmp(p, rtld_utrace_sig, + sizeof(rtld_utrace_sig)) == 0) return (print_utrace_rtld(fp, p)); - } if (len == sizeof(struct utrace_malloc)) { print_utrace_malloc(fp, p); @@ -200,7 +179,8 @@ sysdecode_utrace(FILE *fp, void *p, size } #ifdef __LP64__ - if (len == sizeof(struct utrace_rtld32) && bcmp(p, "RTLD", 4) == 0) { + if (len == sizeof(struct utrace_rtld32) && bcmp(p, rtld_utrace_sig, + sizeof(rtld_utrace_sig)) == 0) { pr = p; memset(, 0, sizeof(ur)); memcpy(ur.sig, pr->sig, sizeof(ur.sig)); Modified: stable/11/libexec/rtld-elf/rtld.c == --- stable/11/libexec/rtld-elf/rtld.c Fri Aug 19 07:59:00 2016 (r304452) +++ stable/11/libexec/rtld-elf/rtld.c Fri Aug 19 08:00:48 2016 (r304453) @@ -59,6 +59,7 @@ #include "paths.h" #include "rtld_tls.h" #include "rtld_printf.h" +#include "rtld_utrace.h" #include "notes.h" /* Types. */ @@ -273,29 +274,6 @@ char *ld_env_prefix = LD_; (dlp)->num_alloc = obj_count, \ (dlp)->num_used = 0) -#defineUTRACE_DLOPEN_START 1 -#defineUTRACE_DLOPEN_STOP 2 -#defineUTRACE_DLCLOSE_START3 -#defineUTRACE_DLCLOSE_STOP 4 -#defineUTRACE_LOAD_OBJECT 5 -#defineUTRACE_UNLOAD_OBJECT6 -#defineUTRACE_ADD_RUNDEP 7 -#defineUTRACE_PRELOAD_FINISHED 8 -#defineUTRACE_INIT_CALL9 -#defineUTRACE_FINI_CALL10 -#defineUTRACE_DLSYM_START 11 -#defineUTRACE_DLSYM_STOP 12 - -struct utrace_rtld { - char sig[4];/* 'RTLD' */ - int event; - void *handle; - void *mapbase; /* Used for 'parent' and 'init/fini' */ - size_t mapsize; - int refcnt; /* Used for 'mode' */ - char name[MAXPATHLEN]; -}; - #defineLD_UTRACE(e, h, mb, ms, r, n) do {
svn commit: r304452 - stable/11/libexec/rtld-elf
Author: kib Date: Fri Aug 19 07:59:00 2016 New Revision: 304452 URL: https://svnweb.freebsd.org/changeset/base/304452 Log: MFC r304012: Fill phdr and phsize for rtld object. Modified: stable/11/libexec/rtld-elf/rtld.c Directory Properties: stable/11/ (props changed) Modified: stable/11/libexec/rtld-elf/rtld.c == --- stable/11/libexec/rtld-elf/rtld.c Fri Aug 19 07:57:43 2016 (r304451) +++ stable/11/libexec/rtld-elf/rtld.c Fri Aug 19 07:59:00 2016 (r304452) @@ -1916,6 +1916,7 @@ static void init_rtld(caddr_t mapbase, Elf_Auxinfo **aux_info) { Obj_Entry objtmp; /* Temporary rtld object */ +const Elf_Ehdr *ehdr; const Elf_Dyn *dyn_rpath; const Elf_Dyn *dyn_soname; const Elf_Dyn *dyn_runpath; @@ -1954,6 +1955,9 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * relocate_objects(, true, , 0, NULL); } +ehdr = (Elf_Ehdr *)mapbase; +objtmp.phdr = (Elf_Phdr *)((char *)mapbase + ehdr->e_phoff); +objtmp.phsize = ehdr->e_phnum * sizeof(objtmp.phdr[0]); /* Initialize the object list. */ TAILQ_INIT(_list); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304451 - stable/11/libexec/rtld-elf
Author: kib Date: Fri Aug 19 07:57:43 2016 New Revision: 304451 URL: https://svnweb.freebsd.org/changeset/base/304451 Log: MFC r304011: Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf. Modified: stable/11/libexec/rtld-elf/rtld.c Directory Properties: stable/11/ (props changed) Modified: stable/11/libexec/rtld-elf/rtld.c == --- stable/11/libexec/rtld-elf/rtld.c Fri Aug 19 07:56:07 2016 (r304450) +++ stable/11/libexec/rtld-elf/rtld.c Fri Aug 19 07:57:43 2016 (r304451) @@ -2164,8 +2164,7 @@ load_needed_objects(Obj_Entry *first, in { Obj_Entry *obj; -obj = first; -TAILQ_FOREACH_FROM(obj, _list, next) { +for (obj = first; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; if (process_needed(obj, obj->needed, flags) == -1) @@ -2769,9 +2768,8 @@ relocate_objects(Obj_Entry *first, bool Obj_Entry *obj; int error; - error = 0; - obj = first; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (error = 0, obj = first; obj != NULL; + obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; error = relocate_object(obj, bind_now, rtldobj, flags, @@ -2811,8 +2809,7 @@ resolve_objects_ifunc(Obj_Entry *first, { Obj_Entry *obj; - obj = first; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (obj = first; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker) continue; if (resolve_object_ifunc(obj, bind_now, flags, lockstate) == -1) @@ -4316,7 +4313,7 @@ trace_loaded_objects(Obj_Entry *obj) list_containers = getenv(_LD("TRACE_LOADED_OBJECTS_ALL")); -TAILQ_FOREACH_FROM(obj, _list, next) { +for (; obj != NULL; obj = TAILQ_NEXT(obj, next)) { Needed_Entry*needed; char*name, *path; boolis_lib; @@ -4661,8 +4658,7 @@ allocate_tls(Obj_Entry *objs, void *oldt */ free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); } else { - obj = objs; - TAILQ_FOREACH_FROM(obj, _list, next) { + for (obj = objs; obj != NULL; obj = TAILQ_NEXT(obj, next)) { if (obj->marker || obj->tlsoffset == 0) continue; addr = segbase - obj->tlsoffset; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304450 - stable/11/lib/libsysdecode
Author: kib Date: Fri Aug 19 07:56:07 2016 New Revision: 304450 URL: https://svnweb.freebsd.org/changeset/base/304450 Log: MFC r303991: Decode 32bit utrace records on the 64bit host. Modified: stable/11/lib/libsysdecode/utrace.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libsysdecode/utrace.c == --- stable/11/lib/libsysdecode/utrace.c Fri Aug 19 07:48:32 2016 (r304449) +++ stable/11/lib/libsysdecode/utrace.c Fri Aug 19 07:56:07 2016 (r304450) @@ -33,7 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #defineUTRACE_DLOPEN_START 1 @@ -59,6 +59,18 @@ struct utrace_rtld { char name[MAXPATHLEN]; }; +#ifdef __LP64__ +struct utrace_rtld32 { + char sig[4];/* 'RTLD' */ + int event; + uint32_t handle; + uint32_t mapbase; + uint32_t mapsize; + int refcnt; + char name[MAXPATHLEN]; +}; +#endif + static int print_utrace_rtld(FILE *fp, void *p) { @@ -145,6 +157,14 @@ struct utrace_malloc { void *r; }; +#ifdef __LP64__ +struct utrace_malloc32 { + uint32_t p; + uint32_t s; + uint32_t r; +}; +#endif + static void print_utrace_malloc(FILE *fp, void *p) { @@ -163,6 +183,12 @@ print_utrace_malloc(FILE *fp, void *p) int sysdecode_utrace(FILE *fp, void *p, size_t len) { +#ifdef __LP64__ + struct utrace_rtld ur; + struct utrace_rtld32 *pr; + struct utrace_malloc um; + struct utrace_malloc32 *pm; +#endif if (len == sizeof(struct utrace_rtld) && bcmp(p, "RTLD", 4) == 0) { return (print_utrace_rtld(fp, p)); @@ -172,6 +198,32 @@ sysdecode_utrace(FILE *fp, void *p, size print_utrace_malloc(fp, p); return (1); } - + +#ifdef __LP64__ + if (len == sizeof(struct utrace_rtld32) && bcmp(p, "RTLD", 4) == 0) { + pr = p; + memset(, 0, sizeof(ur)); + memcpy(ur.sig, pr->sig, sizeof(ur.sig)); + ur.event = pr->event; + ur.handle = (void *)(uintptr_t)pr->handle; + ur.mapbase = (void *)(uintptr_t)pr->mapbase; + ur.mapsize = pr->mapsize; + ur.refcnt = pr->refcnt; + memcpy(ur.name, pr->name, sizeof(ur.name)); + return (print_utrace_rtld(fp, )); + } + + if (len == sizeof(struct utrace_malloc32)) { + pm = p; + memset(, 0, sizeof(um)); + um.p = pm->p == (uint32_t)-1 ? (void *)(intptr_t)-1 : + (void *)(uintptr_t)pm->p; + um.s = pm->s; + um.r = (void *)(uintptr_t)pm->r; + print_utrace_malloc(fp, ); + return (1); + } +#endif + return (0); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304449 - stable/11/usr.bin/kdump
Author: kib Date: Fri Aug 19 07:48:32 2016 New Revision: 304449 URL: https://svnweb.freebsd.org/changeset/base/304449 Log: MFC r303990: Remove unused prototypes. Modified: stable/11/usr.bin/kdump/kdump.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/kdump/kdump.c == --- stable/11/usr.bin/kdump/kdump.c Fri Aug 19 07:05:34 2016 (r304448) +++ stable/11/usr.bin/kdump/kdump.c Fri Aug 19 07:48:32 2016 (r304449) @@ -105,8 +105,6 @@ void ktrgenio(struct ktr_genio *, int); void ktrpsig(struct ktr_psig *); void ktrcsw(struct ktr_csw *); void ktrcsw_old(struct ktr_csw_old *); -void ktruser_malloc(void *); -void ktruser_rtld(int, void *); void ktruser(int, void *); void ktrcaprights(cap_rights_t *); void ktritimerval(struct itimerval *it); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304187 - in head: . share/man/man4 sys/conf sys/dev/mcd sys/modules sys/modules/mcd
On Thu, Aug 18, 2016 at 09:28:57PM -0600, Warner Losh wrote: > On Thu, Aug 18, 2016 at 12:50 AM, Julian Elischerwrote: > > On 16/08/2016 4:54 AM, John Baldwin wrote: > >> > >> On Monday, August 15, 2016 08:38:02 PM John Baldwin wrote: > >>> > >>> Author: jhb > >>> Date: Mon Aug 15 20:38:02 2016 > >>> New Revision: 304187 > >>> URL: https://svnweb.freebsd.org/changeset/base/304187 > >>> > >>> Log: > >>>Remove the mcd(4) driver for Mitsumi CD-ROM players. > >>> This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in > >>>the manpage, this driver is only useful as a backend to cdcontrol to > >>>play audio CDs since it doesn't use DMA, so its data performance is > >>>"abysmal" (and that was true in the mid 90's). > >> > >> No one stepped up to test patches for it either when I last posted patches > >> to > >> convert it from timeout(9) to callout(9). I have a few more drivers that > >> are > >> both very old and that people have no business using in 12 (think ISA > >> adapters that don't do DMA and can't be used with pccard) that I will be > >> removing over the next little while. I brought up a list of drivers on > >> arch@ > >> a couple of years ago and the conversation drifted off into the weeds > >> about > >> trimming GENERIC, etc. No one objected to the specific drivers I listed > >> though (and I got a few pleas of "please remove"). If someone shows up > >> desperately clutching an ISA adapter they can always dig up the source > >> from > >> svn and deal with forward porting it for whatever API changes have > >> happened > >> since it was removed. > > > > > > I would imagine any machine still holding one of these probably has not > > enough memory to run FreeBSD. > > > > would we still run in 2MB? > > With insane levels of tuning, we can run in 32MB userland that can do > things. Even 64MB is tight w/o some tuning. 16MB is almost certainly > right out except for very specialized situations. 2MB? We can't even > load the loader in that :(. Oh, and all these memory configs are only > possible if you tweak the loader's block cache... > 32MB is quite usable. Without any tuning, you get slightly less than 10MB for userspace, which is enough to for many things, and plenty if swap is added. Note that you cannot boot on such configurations since loader was broken, but if you do manage to jump to kernel, things were fine several months ago. I tested my relatively recent OOM changes on 32MB qemu config. > Warner ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r304448 - stable/11/usr.sbin/bsdinstall/partedit
Author: des Date: Fri Aug 19 07:05:34 2016 New Revision: 304448 URL: https://svnweb.freebsd.org/changeset/base/304448 Log: MFH (r304142): ensure stripe size is non-zero multiple of 4096 PR: 211361 Modified: stable/11/usr.sbin/bsdinstall/partedit/gpart_ops.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/bsdinstall/partedit/gpart_ops.c == --- stable/11/usr.sbin/bsdinstall/partedit/gpart_ops.c Fri Aug 19 05:43:28 2016(r304447) +++ stable/11/usr.sbin/bsdinstall/partedit/gpart_ops.c Fri Aug 19 07:05:34 2016(r304448) @@ -795,6 +795,7 @@ gpart_max_free(struct ggeom *geom, intma { struct gconfig *gc; struct gprovider *pp, **providers; + intmax_t sectorsize, stripesize, offset; intmax_t lastend; intmax_t start, end; intmax_t maxsize, maxstart; @@ -845,12 +846,25 @@ gpart_max_free(struct ggeom *geom, intma pp = LIST_FIRST(>lg_consumer)->lg_provider; - /* Compute beginning of new partition and maximum available space */ - if (pp->lg_stripesize > 0 && - (maxstart*pp->lg_sectorsize % pp->lg_stripesize) != 0) { - intmax_t offset = (pp->lg_stripesize - - ((maxstart*pp->lg_sectorsize) % pp->lg_stripesize)) / - pp->lg_sectorsize; + /* +* Round the start and size of the largest available space up to +* the nearest multiple of the adjusted stripe size. +* +* The adjusted stripe size is the least common multiple of the +* actual stripe size, or the sector size if no stripe size was +* reported, and 4096. The reason for this is that contemporary +* disks often have 4096-byte physical sectors but report 512 +* bytes instead for compatibility with older / broken operating +* systems and BIOSes. For the same reasons, virtualized storage +* may also report a 512-byte stripe size, or none at all. +*/ + sectorsize = pp->lg_sectorsize; + if ((stripesize = pp->lg_stripesize) == 0) + stripesize = sectorsize; + while (stripesize % 4096 != 0) + stripesize *= 2; + if ((offset = maxstart * sectorsize % stripesize) != 0) { + offset = (stripesize - offset) / sectorsize; maxstart += offset; maxsize -= offset; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
Warner Loshwrites: > Allan Jude writes: > > Which makes more sense: > > > > A) If stripesize == 0, use some sane value like 4096 > > I don't like this. > > > B) Some other combination that uses the reported stripe size, unless it > > is 0, in which case it uses 4096 (or some other value controlled by a > > different new sysctl) > > Don't like this so much. > > > C) create kern.geom.min_stripe_size with a default of 512, but users can > > set 4096 if they use only 4k devices. (doesn't really solve the problem > > for the installer) > > Default it to 4k, and allow users to set it to 512. If the drive > reports < this value > report this value instead. I don't like either option. Option D (which I don't like either, but which should at least work in most cases) is a sysctl that specifies a minimum factor, and set the reported stripe size to the least common multiple of that number and the actual stripe or sector size. This is what my bsdinstall patch does. However, I think that pushing this down to a layer where it will affect all applications is a terrible idea, because we have no way of knowing what will break[*], and it can seriously mislead users and hinder troubleshooting - especially if it is enabled by default rather than only when necessary. I don't think it's a good idea to enforce stripe alignment everywhere, either. It works for partitions because they are very large relative to the stripe size, and at worst we will waste a few millionths of the disk on inter-partition gaps, which should only occur between the partition table and the boot partition, and possibly, if the stripe size is very large, between the boot partition and the swap partition. But forcing filesystems to respect the stripe size will lead to no end of trouble, because RAID volumes can have stripe sizes of 16 kB or more. I think it is important to align partitions during installation because of the huge performance impact of misaligned partitions on AF disks, but despite what Nathan claims, I never advocated applying the same logic everywhere. [*] Apart from audio CDs. We already know that it will break those. DES -- Dag-Erling Smørgrav - d...@des.no ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
On Fri, Aug 19, 2016 at 08:21:49AM +0200, Dag-Erling Smørgrav wrote: > Nathan Whitehornwrites: > > This is ridiculous. I've asked a series of technical questions about > > generalizing a patch you made and that I think is a good idea. In > > response, those questions have been met with a non-stop torrent of > > insults and abuse instead of answers, with only one eventual nugget of > > information in response to one of them -- that you ran into problems > > with mfid -- to redeem it. I'm done with this discussion. > > I suggest you go and read through the discussion again. I gave you > plenty of information, mentioning LSI and hypervisors, for instance, and > even, as I grew increasingly frustrated by your stonewalling, showed you > how to inspect the code to confirm that most RAID drivers do not even > try to report a stripe size. Meanwhile, you steadfastedly refused to > address my arguments, simply repeating your position again and again, > and insisting that the fact that you have never encountered any systems > that get the stripe size wrong (which I don't believe, but I'm willing > to believe that you've never noticed) invalidates the fact that I have. > Not to mention your steadfast defense of the non-existent purity of the > installer. When Warner finally intervened, you switched to setting up > strawmen, asking me to pick and defend one of two positions which I've > never held. I'm not going to play that game. > > > Hopefully we can have a real conversation about this at this some > > point after the release. > > Likewise, but I'm not holding my breath. > I'll mediate this then. Not right now. I think everyone needs to step back for a bit. Glen signature.asc Description: PGP signature
Re: svn commit: r304142 - head/usr.sbin/bsdinstall/partedit
Nathan Whitehornwrites: > This is ridiculous. I've asked a series of technical questions about > generalizing a patch you made and that I think is a good idea. In > response, those questions have been met with a non-stop torrent of > insults and abuse instead of answers, with only one eventual nugget of > information in response to one of them -- that you ran into problems > with mfid -- to redeem it. I'm done with this discussion. I suggest you go and read through the discussion again. I gave you plenty of information, mentioning LSI and hypervisors, for instance, and even, as I grew increasingly frustrated by your stonewalling, showed you how to inspect the code to confirm that most RAID drivers do not even try to report a stripe size. Meanwhile, you steadfastedly refused to address my arguments, simply repeating your position again and again, and insisting that the fact that you have never encountered any systems that get the stripe size wrong (which I don't believe, but I'm willing to believe that you've never noticed) invalidates the fact that I have. Not to mention your steadfast defense of the non-existent purity of the installer. When Warner finally intervened, you switched to setting up strawmen, asking me to pick and defend one of two positions which I've never held. I'm not going to play that game. > Hopefully we can have a real conversation about this at this some > point after the release. Likewise, but I'm not holding my breath. DES -- Dag-Erling Smørgrav - d...@des.no ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r298950 - head/sys/dev/pci
Bezüglich John Baldwin's Nachricht vom 03.05.2016 02:35 (localtime): > Author: jhb > Date: Tue May 3 00:35:11 2016 > New Revision: 298950 > URL: https://svnweb.freebsd.org/changeset/base/298950 > > Log: > Fix an off by one error when remapping MSI-X vectors. > > pci_remap_msix() can be used to alter the mapping of allocated > MSI-X vectors to the MSI-X table. The code had an off by one error > when adding the IRQ resources after performing a remap. This was > fatal for any vectors in the table that used the "last" valid IRQ as > those vectors were assigned a garbage IRQ value. > > MFC after: 3 days Was this superseded by any other merge? As far as I saw, it's missing in stable/10? Thanks, -Harry ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"