svn commit: r217187 - head/etc/defaults
Author: jh Date: Sun Jan 9 09:21:11 2011 New Revision: 217187 URL: http://svn.freebsd.org/changeset/base/217187 Log: Replace nfs4 with newnfs in netfs_types. nfs4 was removed in r192578 and mount(8) has supported newnfs since r192930. PR: conf/153655 Submitted by: Anonymous MFC after:3 weeks Modified: head/etc/defaults/rc.conf Modified: head/etc/defaults/rc.conf == --- head/etc/defaults/rc.conf Sun Jan 9 08:54:57 2011(r217186) +++ head/etc/defaults/rc.conf Sun Jan 9 09:21:11 2011(r217187) @@ -89,7 +89,7 @@ fsck_y_enable="NO"# Set to YES to do fs fsck_y_flags=""# Additional flags for fsck -y background_fsck="YES" # Attempt to run fsck in the background where possible. background_fsck_delay="60" # Time to wait (seconds) before starting the fsck. -netfs_types="nfs:NFS nfs4:NFS4 smbfs:SMB portalfs:PORTAL nwfs:NWFS" # Net filesystems. +netfs_types="nfs:NFS newnfs:NEWNFS smbfs:SMB portalfs:PORTAL nwfs:NWFS" # Net filesystems. extra_netfs_types="NO" # List of network extra filesystem types for delayed # mount at startup (or NO). ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217191 - in head/lib/libthr: . thread
Author: kib Date: Sun Jan 9 12:38:40 2011 New Revision: 217191 URL: http://svn.freebsd.org/changeset/base/217191 Log: Implement the __pthread_map_stacks_exec() for libthr. Stack creation code is changed to call _rtld_get_stack_prot() to get the stack protection right. There is a race where thread is created during dlopen() of dso that requires executable stacks. Then, _rtld_get_stack_prot() may return PROT_READ | PROT_WRITE, but thread is still not linked into the thread list. In this case, the callback misses the thread stack, and rechecks the required protection afterward. Reviewed by: davidxu Modified: head/lib/libthr/pthread.map head/lib/libthr/thread/thr_create.c head/lib/libthr/thread/thr_private.h head/lib/libthr/thread/thr_rtld.c head/lib/libthr/thread/thr_stack.c Modified: head/lib/libthr/pthread.map == --- head/lib/libthr/pthread.map Sun Jan 9 11:52:23 2011(r217190) +++ head/lib/libthr/pthread.map Sun Jan 9 12:38:40 2011(r217191) @@ -382,6 +382,8 @@ FBSDprivate_1.0 { _thread_size_key; _thread_state_running; _thread_state_zoombie; + + __pthread_map_stacks_exec; }; FBSD_1.1 { Modified: head/lib/libthr/thread/thr_create.c == --- head/lib/libthr/thread/thr_create.c Sun Jan 9 11:52:23 2011 (r217190) +++ head/lib/libthr/thread/thr_create.c Sun Jan 9 12:38:40 2011 (r217191) @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -58,6 +59,7 @@ _pthread_create(pthread_t * thread, cons sigset_t set, oset; cpuset_t *cpusetp = NULL; int cpusetsize = 0; + int old_stack_prot; _thr_check_init(); @@ -96,6 +98,7 @@ _pthread_create(pthread_t * thread, cons new_thread->tid = TID_TERMINATED; + old_stack_prot = _rtld_get_stack_prot(); if (create_stack(&new_thread->attr) != 0) { /* Insufficient memory to create a stack: */ _thr_free(curthread, new_thread); @@ -130,6 +133,14 @@ _pthread_create(pthread_t * thread, cons /* Add the new thread. */ new_thread->refcount = 1; _thr_link(curthread, new_thread); + + /* +* Handle the race between __pthread_map_stacks_exec and +* thread linkage. +*/ + if (old_stack_prot != _rtld_get_stack_prot()) + _thr_stack_fix_protection(new_thread); + /* Return thread pointer eariler so that new thread can use it. */ (*thread) = new_thread; if (SHOULD_REPORT_EVENT(curthread, TD_CREATE) || cpusetp != NULL) { Modified: head/lib/libthr/thread/thr_private.h == --- head/lib/libthr/thread/thr_private.hSun Jan 9 11:52:23 2011 (r217190) +++ head/lib/libthr/thread/thr_private.hSun Jan 9 12:38:40 2011 (r217191) @@ -898,6 +898,7 @@ struct dl_phdr_info; void __pthread_cxa_finalize(struct dl_phdr_info *phdr_info); void _thr_tsd_unload(struct dl_phdr_info *phdr_info) __hidden; void _thr_sigact_unload(struct dl_phdr_info *phdr_info) __hidden; +void _thr_stack_fix_protection(struct pthread *thrd); __END_DECLS Modified: head/lib/libthr/thread/thr_rtld.c == --- head/lib/libthr/thread/thr_rtld.c Sun Jan 9 11:52:23 2011 (r217190) +++ head/lib/libthr/thread/thr_rtld.c Sun Jan 9 12:38:40 2011 (r217191) @@ -31,6 +31,8 @@ * A lockless rwlock for rtld. */ #include +#include +#include #include #include @@ -194,6 +196,9 @@ _thr_rtld_init(void) /* force to resolve memcpy PLT */ memcpy(&dummy, &dummy, sizeof(dummy)); + mprotect(NULL, 0, 0); + _rtld_get_stack_prot(); + li.lock_create = _thr_rtld_lock_create; li.lock_destroy = _thr_rtld_lock_destroy; li.rlock_acquire = _thr_rtld_rlock_acquire; Modified: head/lib/libthr/thread/thr_stack.c == --- head/lib/libthr/thread/thr_stack.c Sun Jan 9 11:52:23 2011 (r217190) +++ head/lib/libthr/thread/thr_stack.c Sun Jan 9 12:38:40 2011 (r217191) @@ -32,6 +32,7 @@ #include #include #include +#include #include "thr_private.h" @@ -128,6 +129,38 @@ round_up(size_t size) return size; } +void +_thr_stack_fix_protection(struct pthread *thrd) +{ + + mprotect((char *)thrd->attr.stackaddr_attr + + round_up(thrd->attr.guardsize_attr), + round_up(thrd->attr.stacksize_attr), + _rtld_get_stack_prot()); +} + +void __pthread_map_stacks_exec(void); +void +__pthread_map_stacks_exec(void) +{ + struct pthread *curthread, *thrd; + struct stack *st; + + curthr
svn commit: r217192 - in head: bin/ps sys/amd64/include sys/arm/include sys/i386/include sys/ia64/include sys/mips/include sys/powerpc/include sys/sparc64/include sys/sun4v/include sys/sys sys/vm
Author: kib Date: Sun Jan 9 12:50:44 2011 New Revision: 217192 URL: http://svn.freebsd.org/changeset/base/217192 Log: Move repeated MAXSLP definition from machine/vmparam.h to sys/vmmeter.h. Update the outdated comments describing MAXSLP and the process selection algorithm for swap out. Comments wording and reviewed by: alc Modified: head/bin/ps/print.c head/sys/amd64/include/vmparam.h head/sys/arm/include/vmparam.h head/sys/i386/include/vmparam.h head/sys/ia64/include/vmparam.h head/sys/mips/include/vmparam.h head/sys/powerpc/include/vmparam.h head/sys/sparc64/include/vmparam.h head/sys/sun4v/include/vmparam.h head/sys/sys/vmmeter.h head/sys/vm/vm_glue.c head/sys/vm/vm_meter.c Modified: head/bin/ps/print.c == --- head/bin/ps/print.c Sun Jan 9 12:38:40 2011(r217191) +++ head/bin/ps/print.c Sun Jan 9 12:50:44 2011(r217192) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/amd64/include/vmparam.h == --- head/sys/amd64/include/vmparam.hSun Jan 9 12:38:40 2011 (r217191) +++ head/sys/amd64/include/vmparam.hSun Jan 9 12:50:44 2011 (r217192) @@ -70,17 +70,6 @@ #endif /* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways (fractions and multiples of it are, that is, like - * half of a ``long time'', almost a long time, etc.) - * It is related to human patience and other factors which don't really - * change over time. - */ -#defineMAXSLP 20 - -/* * We provide a machine specific single page allocator through the use * of the direct mapped segment. This uses 2MB pages for reduced * TLB pressure. Modified: head/sys/arm/include/vmparam.h == --- head/sys/arm/include/vmparam.h Sun Jan 9 12:38:40 2011 (r217191) +++ head/sys/arm/include/vmparam.h Sun Jan 9 12:50:44 2011 (r217192) @@ -146,7 +146,6 @@ #define DFLSSIZ (2*1024*1024) #define MAXSSIZ (8*1024*1024) #define SGROWSIZ(128*1024) -#define MAXSLP 20 #ifdef ARM_USE_SMALL_ALLOC #define UMA_MD_SMALL_ALLOC Modified: head/sys/i386/include/vmparam.h == --- head/sys/i386/include/vmparam.h Sun Jan 9 12:38:40 2011 (r217191) +++ head/sys/i386/include/vmparam.h Sun Jan 9 12:50:44 2011 (r217192) @@ -64,18 +64,6 @@ #endif /* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways (fractions and multiples of it are, that is, like - * half of a ``long time'', almost a long time, etc.) - * It is related to human patience and other factors which don't really - * change over time. - */ -#defineMAXSLP 20 - - -/* * The physical address space is densely populated. */ #defineVM_PHYSSEG_DENSE Modified: head/sys/ia64/include/vmparam.h == --- head/sys/ia64/include/vmparam.h Sun Jan 9 12:38:40 2011 (r217191) +++ head/sys/ia64/include/vmparam.h Sun Jan 9 12:50:44 2011 (r217192) @@ -70,17 +70,6 @@ #endif /* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways (fractions and multiples of it are, that is, like - * half of a ``long time'', almost a long time, etc.) - * It is related to human patience and other factors which don't really - * change over time. - */ -#defineMAXSLP 20 - -/* * We need region 7 virtual addresses for pagetables. */ #define UMA_MD_SMALL_ALLOC Modified: head/sys/mips/include/vmparam.h == --- head/sys/mips/include/vmparam.h Sun Jan 9 12:38:40 2011 (r217191) +++ head/sys/mips/include/vmparam.h Sun Jan 9 12:50:44 2011 (r217192) @@ -69,17 +69,6 @@ #defineSGROWSIZ(128UL*1024)/* amount to grow stack */ #endif -/* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways
Re: svn commit: r185499 - head
On Mon, 1 Dec 2008, Alfred Perlstein wrote: Author: alfred Date: Mon Dec 1 00:45:51 2008 New Revision: 185499 URL: http://svn.freebsd.org/changeset/base/185499 Log: Provide a 'tinderbox' target that compiles enough of FreeBSD that a developer can rest reasonably assured that the tinderbox will not be broken. This target leverages most of 'universe' but will exit non-zero and output a summary at the end. "make tinderbox" Hi, I noticed that the file always grew but was never displayed automatically nor removed on a new run. I guess it's because I have MAKEOBJDIRPREFIX set in the environment and `pwd` is not ${.CURDIR} for the two operations. Anyone see any problems with this? Index: Makefile === --- Makefile(revision 217191) +++ Makefile(working copy) @@ -301,7 +301,7 @@ targets: .endfor .if defined(DOING_TINDERBOX) -FAILFILE=tinderbox.failed +FAILFILE=${.CURDIR}/tinderbox.failed MAKEFAIL=tee -a ${FAILFILE} .else MAKEFAIL=cat Modified: head/Makefile Modified: head/Makefile == --- head/Makefile Mon Dec 1 00:23:12 2008(r185498) +++ head/Makefile Mon Dec 1 00:45:51 2008(r185499) @@ -267,6 +267,10 @@ make: .PHONY ${MMAKE} all && \ ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR= +tinderbox: + cd ${.CURDIR} && \ + DOING_TINDERBOX=YES ${MAKE} ${JFLAG} universe + # # universe # @@ -274,14 +278,24 @@ make: .PHONY # with a reasonable chance of success, regardless of how old your # existing system is. # -.if make(universe) +.if make(universe) || make(tinderbox) TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v +.if defined(DOING_TINDERBOX) +FAILFILE=tinderbox.failed +MAKEFAIL=tee -a ${FAILFILE} +.else +MAKEFAIL=cat +.endif + universe: universe_prologue universe_prologue: @echo "--" @echo ">>> make universe started on ${STARTTIME}" @echo "--" +.if defined(DOING_TINDERBOX) + rm -f ${FAILFILE} +.endif .for target in ${TARGETS} KERNCONFS!= cd ${.CURDIR}/sys/${target}/conf && \ find [A-Z]*[A-Z] -type f -maxdepth 0 \ @@ -296,15 +310,15 @@ universe_${target}: ${MAKE} ${JFLAG} buildworld \ TARGET=${target} \ > _.${target}.buildworld 2>&1 || \ - echo "${target} world failed," \ - "check _.${target}.buildworld for details") + (echo "${target} world failed," \ + "check _.${target}.buildworld for details" | ${MAKEFAIL})) @echo ">> ${target} buildworld completed on `LC_ALL=C date`" .endif .if exists(${.CURDIR}/sys/${target}/conf/NOTES) @(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \ ${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \ - echo "${target} 'make LINT' failed," \ - "check _.${target}.makeLINT for details") + (echo "${target} 'make LINT' failed," \ + "check _.${target}.makeLINT for details"| ${MAKEFAIL})) .endif .for kernel in ${KERNCONFS} @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ @@ -312,8 +326,8 @@ universe_${target}: TARGET=${target} \ KERNCONF=${kernel} \ > _.${target}.${kernel} 2>&1 || \ - echo "${target} ${kernel} kernel failed," \ - "check _.${target}.${kernel} for details") + (echo "${target} ${kernel} kernel failed," \ + "check _.${target}.${kernel} for details"| ${MAKEFAIL})) .endfor @echo ">> ${target} completed on `LC_ALL=C date`" .endfor @@ -323,4 +337,11 @@ universe_epilogue: @echo ">>> make universe completed on `LC_ALL=C date`" @echo " (started ${STARTTIME})" @echo "--" +.if defined(DOING_TINDERBOX) + @if [ -e ${FAILFILE} ] ; then \ + echo "Tinderbox failed:" ;\ + cat ${FAILFILE} ;\ + exit 1 ;\ + fi +.endif .endif -- Bjoern A. Zeeb You have to have visions! Going to jail sucks -- All my daemons like it! http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r217073 - head/etc/rc.d
On Thu, 06.01.2011 at 21:09:22 +, Warner Losh wrote: > Author: imp > Date: Thu Jan 6 21:09:22 2011 > New Revision: 217073 > URL: http://svn.freebsd.org/changeset/base/217073 > > Log: > Don't require /usr/lib/aout to be on the system. Test for its > existance since we don't generally need it. > > MFC after: 1 week > > Modified: > head/etc/rc.d/ldconfig Umm, Would someone object if the aout stuff get's ripped out with prejudice? Regards, Uli ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217195 - head/sys/kern
Author: bz Date: Sun Jan 9 14:34:56 2011 New Revision: 217195 URL: http://svn.freebsd.org/changeset/base/217195 Log: Improve style and wording of comments and sysctl descriptions [1]. Move machdep.ct_debug to debug.clocktime as there was no reason to actually put it under machdep in r216340. Submitted by: bde [1] MFC after:3 days Modified: head/sys/kern/subr_clock.c Modified: head/sys/kern/subr_clock.c == --- head/sys/kern/subr_clock.c Sun Jan 9 14:18:16 2011(r217194) +++ head/sys/kern/subr_clock.c Sun Jan 9 14:34:56 2011(r217195) @@ -49,22 +49,14 @@ __FBSDID("$FreeBSD$"); #include #include -static int ct_debug; -static int adjkerntz; /* local offset from UTC in seconds */ -static int wall_cmos_clock;/* wall CMOS clock assumed if != 0 */ - int tz_minuteswest; int tz_dsttime; /* - * This have traditionally been in machdep, but should probably be moved to - * kern. + * The adjkerntz and wall_cmos_clock sysctls are in the "machdep" sysctl + * namespace because they were misplaced there originally. */ -SYSCTL_INT(_machdep, OID_AUTO, ct_debug, - CTLFLAG_RW, &ct_debug, 0, "Print ct debug if enabled."); -SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock, -CTLFLAG_RW, &wall_cmos_clock, 0, "CMOS clock keeps wall time"); - +static int adjkerntz; static int sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS) { @@ -74,11 +66,18 @@ sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ resettodr(); return (error); } - SYSCTL_PROC(_machdep, OID_AUTO, adjkerntz, CTLTYPE_INT|CTLFLAG_RW, &adjkerntz, 0, sysctl_machdep_adjkerntz, "I", "Local offset from UTC in seconds"); +static int ct_debug; +SYSCTL_INT(_debug, OID_AUTO, clocktime, CTLFLAG_RW, +&ct_debug, 0, "Enable printing of clocktime debugging"); + +static int wall_cmos_clock; +SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock, CTLFLAG_RW, +&wall_cmos_clock, 0, "Enables application of machdep.adjkerntz"); + /** * Generic routines to convert between a POSIX date * (seconds since 1/1/1970) and yr/mo/day/hr/min/sec ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r217147 - in head/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include sun4v/include
On Saturday 08 January 2011 21:30:49 Juli Mallett wrote: > On Sat, Jan 8, 2011 at 04:43, Tijl Coosemans wrote: >> Author: tijl >> Date: Sat Jan 8 12:43:05 2011 >> New Revision: 217147 >> URL: http://svn.freebsd.org/changeset/base/217147 >> >> Log: >> On mixed 32/64 bit architectures (mips, powerpc) use __LP64__ rather than >> architecture macros (__mips_n64, __powerpc64__) when 64 bit types (and >> corresponding macros) are different from 32 bit. [1] > > I don't know why you didn't talk with MIPS people at all about these > changes. That they were reviewed by Bruce is very reassuring in > aesthetic terms, but that's hardly sufficient. > > This and other changes have made it harder to support common MIPS > configurations and compilation options on FreeBSD. I'm glad you're at > least aware of n32 (as indicated in another message) and its > implications, but the use of ABI-specific names was deliberate. Have > you thought about -n32 with -mlong64? It isn't the same kind of dirty > hack as Bruce talks about when he talks about 64-bit longs on x86. > > I understand that __LP64__ and the idea that there are two reasonable > ABIs most (one 32-bit and one 64-bit) is appealing, but it's not true. > In the case of PowerPC, it does look like they weren't ABI-specific > macros, but MIPS's were. If nothing else, you make MIPS headers more > inconsistent with themselves, where most of them are > ABI-conditionalized and now some are instead LP64-centric. > > It seems like your end goal is probably consolidating these headers, > which I would like, too, but please attempt to allow for more > variation than just "longs are 32-bit and pointers are 32-bit, > otherwise longs are 64-bit and pointers are 64-bit." We're trying to > do the right thing with MIPS in terms of supporting multiple valid > ABIs on a single port, something which is a lot harder when people > restructure these critical headers without even asking us whether > there are any evident problems; even if 'make universe', for instance, > were enough, it leaves out some ABIs, and it certainly leaves out > future plans wrt ABIs. My main goal is to compile 32 bit code on amd64. To do that i386 and amd64 headers need to be merged as much as possible and I'm looking at mips and powerpc headers as examples. As I'm going through each of the machine headers however and as people review my patches several issues have come up. These are mostly generic in nature and spread over all architectures, not just mips. There are more problems in the mips and powerpc headers however because of the complexity of supporting both 32 bit and 64 bit ABIs. If you consider the mips headers too delicate to be changed without approval from mips@ I'll make sure to send patches there before committing from now on. As for 64 bit longs on 32 bit ABIs I would advise against spending your time on that. It's something that sounds nice in theory, but it's just not practical. You don't gain anything from it because there's another 64 bit type already (long long) and there's too much code out there that relies on long and pointer types having the same size or that assumes long is different between 32 bit and 64 bit ABIs, also in our own tree. So yes, in practice there's only ILP32 and LP64 and nothing in between. About the use of __LP64__. It's essentially cosmetic and can easily be changed back. However, if you can agree with me on mlong64 I would like to keep it (for type definitions). What the patches (committed + upcoming) show is that _inttypes.h, _limits.h and _stdint.h (_types.h needs more work) are exactly the same for mips, powerpc and x86 indicating that they aren't architecture specific. Changing __LP64__ back to __mips_n64 would introduce a difference that isn't any. Moreover, those headers would also work on pure ILP32 (arm) and LP64 (ia64, sparc64) architectures, so personally I would like to move them to sys/, because as the patches show, duplicated code starts to diverge, bugs creep in and are subsequently copy-pasted. Whenever I suggested this to someone however I never really got a positive response so the headers will stay under machine/ for now. I would still like to get a clear yes or no on this though. If you would still like to support mlong64, I think it should be possible to do this for all 32 bit architectures because the size of long isn't architecture dependent. But like I said, in my opinion it requires a lot of effort to get right for no gain at all. signature.asc Description: This is a digitally signed message part.
svn commit: r217200 - in head/sys/dev/usb: . serial
Author: gavin Date: Sun Jan 9 17:10:06 2011 New Revision: 217200 URL: http://svn.freebsd.org/changeset/base/217200 Log: Sync the list of devices supported by uslcom(4) with Linux, bringing in all new devices added between our r211022 and their git revision 93ad03d60b5b18897030038234aa2ebae8234748 Also correct a Foxconn entry. MFC after:1 week Modified: head/sys/dev/usb/serial/uslcom.c head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/serial/uslcom.c == --- head/sys/dev/usb/serial/uslcom.cSun Jan 9 16:58:38 2011 (r217199) +++ head/sys/dev/usb/serial/uslcom.cSun Jan 9 17:10:06 2011 (r217200) @@ -186,6 +186,7 @@ static const struct usb_device_id uslcom USLCOM_DEV(DYNASTREAM, ANT2USB), USLCOM_DEV(ELV, USBI2C), USLCOM_DEV(FOXCONN, PIRELLI_DP_L10), +USLCOM_DEV(FOXCONN, TCOM_TC_300), USLCOM_DEV(GEMALTO, PROXPU), USLCOM_DEV(JABLOTRON, PC60B), USLCOM_DEV(MEI, CASHFLOW_SC), @@ -194,6 +195,7 @@ static const struct usb_device_id uslcom USLCOM_DEV(OWEN, AC4), USLCOM_DEV(PHILIPS, ACE1001), USLCOM_DEV(PLX, CA42), +USLCOM_DEV(RENESAS, RX610), USLCOM_DEV(SILABS, AEROCOMM), USLCOM_DEV(SILABS, AMBER_AMB2560), USLCOM_DEV(SILABS, ARGUSISP), @@ -201,6 +203,8 @@ static const struct usb_device_id uslcom USLCOM_DEV(SILABS, ARKHAM_DS101_M), USLCOM_DEV(SILABS, ARYGON_MIFARE), USLCOM_DEV(SILABS, AVIT_USB_TTL), +USLCOM_DEV(SILABS, B_G_H3000), +USLCOM_DEV(SILABS, BALLUFF_RFID), USLCOM_DEV(SILABS, BEI_VCP), USLCOM_DEV(SILABS, BSM7DUSB), USLCOM_DEV(SILABS, BURNSIDE), @@ -248,7 +252,12 @@ static const struct usb_device_id uslcom USLCOM_DEV(SYNTECH, CYPHERLAB100), USLCOM_DEV(USI, MC60), USLCOM_DEV(VAISALA, CABLE), +USLCOM_DEV(WAGO, SERVICECABLE), USLCOM_DEV(WAVESENSE, JAZZ), +USLCOM_DEV(WIENERPLEINBAUS, PL512), +USLCOM_DEV(WIENERPLEINBAUS, RCM), +USLCOM_DEV(WIENERPLEINBAUS, MPOD), +USLCOM_DEV(WIENERPLEINBAUS, CML), #undef USLCOM_DEV }; Modified: head/sys/dev/usb/usbdevs == --- head/sys/dev/usb/usbdevsSun Jan 9 16:58:38 2011(r217199) +++ head/sys/dev/usb/usbdevsSun Jan 9 17:10:06 2011(r217200) @@ -642,6 +642,7 @@ vendor GLOBALSUN0x16ab Global Sun Techn vendor ANYDATA 0x16d5 AnyDATA Corporation vendor JABLOTRON 0x16d6 Jablotron vendor CMOTECH 0x16d8 C-motech +vendor WIENERPLEINBAUS 0x16dc WIENER Plein & Baus GmbH. vendor AXESSTEL0x1726 Axesstel Co., Ltd. vendor LINKSYS40x1737 Linksys vendor SENAO 0x1740 Senao @@ -661,6 +662,7 @@ vendor STELERA 0x1a8d Stelera Wireless vendor MATRIXORBITAL 0x1b3d Matrix Orbital vendor OVISLINK0x1b75 OvisLink vendor TCTMOBILE 0x1bbb TCT Mobile +vendor WAGO0x1be3 WAGO Kontakttechnik GmbH. vendor TELIT 0x1bc7 Telit vendor LONGCHEER 0x1c9e Longcheer Holdings, Ltd. vendor MPMAN 0x1cae MpMan @@ -1567,7 +1569,8 @@ product FIBERLINE WL430U 0x6003 WL-430U product FOSSIL WRISTPDA0x0002 Wrist PDA /* Foxconn products */ -product FOXCONN PIRELLI_DP_L10 0xe000 Pirelli DP-L10 +product FOXCONN TCOM_TC_3000xe000 T-Com TC 300 +product FOXCONN PIRELLI_DP_L10 0xe003 Pirelli DP-L10 /* Freecom products */ product FREECOM DVD0xfc01 DVD drive @@ -2751,6 +2754,9 @@ product REALTEK RTL8187B_00x8189 RTL818 product REALTEK RTL8187B_1 0x8197 RTL8187B Wireless Adapter product REALTEK RTL8187B_2 0x8198 RTL8187B Wireless Adapter +/* Renesas products */ +product RENESAS RX610 0x0053 RX610 RX-Stick + /* Ricoh products */ product RICOH VGPVCC2 0x1830 VGP-VCC2 Camera product RICOH VGPVCC3 0x1832 VGP-VCC3 Camera @@ -2967,6 +2973,7 @@ product SILABSTAMSMASTER 0x813f Tams Ma product SILABS WMRBATT 0x814a WMR RIGblaster Plug&Play product SILABS WMRRIGBLASTER 0x814a WMR RIGblaster Plug&Play product SILABS WMRRIGTALK 0x814b WMR RIGtalk RT1 +product SILABS B_G_H3000 0x8156 B&G H3000 Data Cable product SILABS HELICOM 0x815e Helicomm IP-Link 1220-DVM product SILABS AVIT_USB_TTL0x818b AVIT Research USB-TTL product SILABS MJS_TOSLINK 0x819f MJS USB-TOSLINk @@ -2988,6 +2995,7 @@ product SILABSCYGNAL 0x8382 Cygnal product SILABS AMBER_AMB2560 0x83a8 Amber Wireless AMB2560 product SILABS KYOCERA_GPS 0x8411 Kyocera GPS product SILABS BEI_VCP 0x846e BEI USB Sensor (VCP) +product SILABS BALLUFF_RFID0x8477 Balluff RFID reader product SILABS CP2102 0xea60 SILABS USB UART product SILABS CP210X_20xea61 CP210x Serial product SILABS INFINITY_MIC0xea71 Infinity GPS-MIC-1 Radio Monophone @@ -3321,6
svn commit: r217202 - in head/sys/dev/usb: . serial
Author: gavin Date: Sun Jan 9 17:40:04 2011 New Revision: 217202 URL: http://svn.freebsd.org/changeset/base/217202 Log: Add support for the Zeagle N2iTion3 Dive Computer to uplcom(4). This brings the list of supported devices in sync with kernel.org git revision f36ecd5de93e4c85a9e3d25100c6e233155b12e5, and OpenBSD uplcom.c r1.54 Modified: head/sys/dev/usb/serial/uplcom.c head/sys/dev/usb/usbdevs Modified: head/sys/dev/usb/serial/uplcom.c == --- head/sys/dev/usb/serial/uplcom.cSun Jan 9 17:19:04 2011 (r217201) +++ head/sys/dev/usb/serial/uplcom.cSun Jan 9 17:40:04 2011 (r217202) @@ -258,6 +258,7 @@ static const struct usb_device_id uplcom UPLCOM_DEV(BELKIN, F5U257), /* Belkin F5U257 */ UPLCOM_DEV(COREGA, CGUSBRS232R),/* Corega CG-USBRS232R */ UPLCOM_DEV(EPSON, CRESSI_EDY), /* Cressi Edy diving computer */ + UPLCOM_DEV(EPSON, N2ITION3),/* Zeagle N2iTion3 diving computer */ UPLCOM_DEV(ELECOM, UCSGT), /* ELECOM UC-SGT */ UPLCOM_DEV(ELECOM, UCSGT0), /* ELECOM UC-SGT */ UPLCOM_DEV(HAL, IMR001),/* HAL Corporation Crossam2+USB */ Modified: head/sys/dev/usb/usbdevs == --- head/sys/dev/usb/usbdevsSun Jan 9 17:19:04 2011(r217201) +++ head/sys/dev/usb/usbdevsSun Jan 9 17:40:04 2011(r217202) @@ -1532,6 +1532,7 @@ product EPSON 24800x0121 Perfection 24 product EPSON 3590 0x0122 Perfection 3590 scanner product EPSON 4990 0x012a Perfection 4990 Photo scanner product EPSON CRESSI_EDY 0x0521 Cressi Edy diving computer +product EPSON N2ITION3 0x0522 Zeagle N2iTion3 diving computer product EPSON STYLUS_875DC 0x0601 Stylus Photo 875DC Card Reader product EPSON STYLUS_895 0x0602 Stylus Photo 895 Card Reader product EPSON CX5400 0x0808 CX5400 scanner ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r217073 - head/etc/rc.d
On 01/09/2011 07:18, Ulrich Spörlein wrote: On Thu, 06.01.2011 at 21:09:22 +, Warner Losh wrote: Author: imp Date: Thu Jan 6 21:09:22 2011 New Revision: 217073 URL: http://svn.freebsd.org/changeset/base/217073 Log: Don't require /usr/lib/aout to be on the system. Test for its existance since we don't generally need it. MFC after: 1 week Modified: head/etc/rc.d/ldconfig Umm, Would someone object if the aout stuff get's ripped out with prejudice? yes. When this has come up in the past, people are still using binaries they built ages ago and no longer have sources to. There's no treason to rip it out unless it can be shown to not be working. This just removes one mandatory directory from startup (and even then, it is just a warning that's fixed). Warner ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217203 - head/sys/net
Author: bz Date: Sun Jan 9 20:40:21 2011 New Revision: 217203 URL: http://svn.freebsd.org/changeset/base/217203 Log: MfP4 CH=185246 [1]: Add FEATURE() to announce optional VIMAGE. MFC after:3 days [1] for the moment put it in vnet.c. Modified: head/sys/net/vnet.c Modified: head/sys/net/vnet.c == --- head/sys/net/vnet.c Sun Jan 9 17:40:04 2011(r217202) +++ head/sys/net/vnet.c Sun Jan 9 20:40:21 2011(r217203) @@ -80,6 +80,8 @@ __FBSDID("$FreeBSD$"); * stack instance. */ +FEATURE(vimage, "VIMAGE kernel virtualization"); + MALLOC_DEFINE(M_VNET, "vnet", "network stack control block"); /* ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217206 - in head: bin/sh tools/regression/bin/sh/execution
Author: jilles Date: Sun Jan 9 21:07:30 2011 New Revision: 217206 URL: http://svn.freebsd.org/changeset/base/217206 Log: sh: Remove special %builtin PATH entry. All builtins are now always found before a PATH search. Most ash derivatives have an undocumented feature where the presence of an entry "%builtin" in $PATH will cause builtins to be checked at that point of the PATH search, rather than before looking at any directories as documented in the man page (very old versions do document this feature). I am removing this feature from sh, as it complicates the code, may violate expectations (for example, /usr/bin/alias is very close to a forkbomb with PATH=/usr/bin:%builtin, only /usr/bin/builtin not being another link saves it) and appears to be unused (all the %builtin google code search finds is in some sort of ash source code). Note that aliases and functions took and take precedence above builtins. Because aliases work on a lexical level they can only ever be overridden on a lexical level (quoting or preceding 'builtin' or 'command'). Allowing override of functions via PATH does not really fit in the model of sh and it would work differently from %builtin if implemented. Note: POSIX says special builtins are found before functions. We comply to this because we do not allow functions with the same name as a special builtin. Silence from: freebsd-hackers@ (message sent 20101225) Discussed with: dougb Added: head/tools/regression/bin/sh/execution/path1.0 (contents, props changed) Modified: head/bin/sh/exec.c Modified: head/bin/sh/exec.c == --- head/bin/sh/exec.c Sun Jan 9 21:02:11 2011(r217205) +++ head/bin/sh/exec.c Sun Jan 9 21:07:30 2011(r217206) @@ -92,7 +92,6 @@ struct tblentry { static struct tblentry *cmdtable[CMDTABLESIZE]; -static int builtinloc = -1;/* index in path of %builtin, or -1 */ int exerrno = 0; /* Last exec error */ @@ -244,8 +243,7 @@ hashcmd(int argc __unused, char **argv _ } while ((name = *argptr) != NULL) { if ((cmdp = cmdlookup(name, 0)) != NULL -&& (cmdp->cmdtype == CMDNORMAL -|| (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0))) +&& cmdp->cmdtype == CMDNORMAL) delete_cmd_entry(); find_command(name, &entry, DO_ERR, pathval()); if (verbose) { @@ -336,8 +334,8 @@ find_command(const char *name, struct cm goto success; } - /* If %builtin not in path, check for builtin next */ - if (builtinloc < 0 && (i = find_builtin(name, &spec)) >= 0) { + /* Check for builtin next */ + if ((i = find_builtin(name, &spec)) >= 0) { INTOFF; cmdp = cmdlookup(name, 1); if (cmdp->cmdtype == CMDFUNCTION) @@ -353,7 +351,7 @@ find_command(const char *name, struct cm prev = -1; /* where to start */ if (cmdp) { /* doing a rehash */ if (cmdp->cmdtype == CMDBUILTIN) - prev = builtinloc; + prev = -1; else prev = cmdp->param.index; } @@ -365,19 +363,7 @@ loop: stunalloc(fullname); idx++; if (pathopt) { - if (prefix("builtin", pathopt)) { - if ((i = find_builtin(name, &spec)) < 0) - goto loop; - INTOFF; - cmdp = cmdlookup(name, 1); - if (cmdp->cmdtype == CMDFUNCTION) - cmdp = &loc_cmd; - cmdp->cmdtype = CMDBUILTIN; - cmdp->param.index = i; - cmdp->special = spec; - INTON; - goto success; - } else if (prefix("func", pathopt)) { + if (prefix("func", pathopt)) { /* handled below */ } else { goto loop; /* ignore unimplemented options */ @@ -484,8 +470,7 @@ hashcd(void) for (pp = cmdtable ; pp < &cmdtable[CMDTABLESIZE] ; pp++) { for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { - if (cmdp->cmdtype == CMDNORMAL -|| (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0)) + if (cmdp->cmdtype == CMDNORMAL) cmdp->rehash = 1; } } @@ -505,13 +490,11 @@ changepath(const char *newval) const char *old, *new; int idx; int firstch
svn commit: r217207 - head/include
Author: ed Date: Sun Jan 9 21:39:46 2011 New Revision: 217207 URL: http://svn.freebsd.org/changeset/base/217207 Log: Add missing __dead2 to __assert(). __assert() is called when an assertion fails. After printing an error message, it will call abort(). abort() never returns, hence it has the __dead2 attribute. Also add this attribute to __assert(). MFC after:3 weeks Modified: head/include/assert.h Modified: head/include/assert.h == --- head/include/assert.h Sun Jan 9 21:07:30 2011(r217206) +++ head/include/assert.h Sun Jan 9 21:39:46 2011(r217207) @@ -58,6 +58,6 @@ #ifndef _ASSERT_H_ #define _ASSERT_H_ __BEGIN_DECLS -void __assert(const char *, const char *, int, const char *); +void __assert(const char *, const char *, int, const char *) __dead2; __END_DECLS #endif /* !_ASSERT_H_ */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217208 - head/tools/regression/bin/date
Author: keramida (doc committer) Date: Sun Jan 9 22:05:09 2011 New Revision: 217208 URL: http://svn.freebsd.org/changeset/base/217208 Log: regression/date: unset all LC_xxx vars and set LANG/LC_ALL When running with a custom locale setup, it's easy to confuse the date regression tests and cause them to fail, e.g. when LANG='C' but LC_ALL='el_GR.UTF-8'. Set LC_ALL to 'C', which overrides all other LC_xxx options, to avoid this sort of problem. Reviewed by: uqs, edwin Modified: head/tools/regression/bin/date/regress.sh Modified: head/tools/regression/bin/date/regress.sh == --- head/tools/regression/bin/date/regress.sh Sun Jan 9 21:39:46 2011 (r217207) +++ head/tools/regression/bin/date/regress.sh Sun Jan 9 22:05:09 2011 (r217208) @@ -19,7 +19,7 @@ TEST1=343 # 1970-02-07 07:04:03 TEST2=100560 # 2001-11-12 21:11:12 -export LANG=C +export LC_ALL=C export TZ=UTC count=0 ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217209 - head/bin/sh
Author: jilles Date: Sun Jan 9 22:47:58 2011 New Revision: 217209 URL: http://svn.freebsd.org/changeset/base/217209 Log: sh: Follow-up to r216743, grabstackblock() can be replaced with stalloc(). grabstackblock() was used only once (but it is a very often executed piece of code). Modified: head/bin/sh/memalloc.c head/bin/sh/memalloc.h Modified: head/bin/sh/memalloc.c == --- head/bin/sh/memalloc.c Sun Jan 9 22:05:09 2011(r217208) +++ head/bin/sh/memalloc.c Sun Jan 9 22:47:58 2011(r217209) @@ -277,16 +277,6 @@ growstackblock(int min) -void -grabstackblock(int len) -{ - len = ALIGN(len); - stacknxt += len; - stacknleft -= len; -} - - - /* * The following routines are somewhat easier to use that the above. * The user declares a variable of type STACKSTR, which may be declared Modified: head/bin/sh/memalloc.h == --- head/bin/sh/memalloc.h Sun Jan 9 22:05:09 2011(r217208) +++ head/bin/sh/memalloc.h Sun Jan 9 22:47:58 2011(r217209) @@ -55,7 +55,6 @@ pointer stalloc(int); void stunalloc(pointer); void setstackmark(struct stackmark *); void popstackmark(struct stackmark *); -void grabstackblock(int); char *growstackstr(void); char *makestrspace(int, char *); char *stputbin(const char *data, int len, char *p); @@ -65,6 +64,7 @@ char *stputs(const char *data, char *p); #define stackblock() stacknxt #define stackblocksize() stacknleft +#define grabstackblock(n) stalloc(n) #define STARTSTACKSTR(p) p = stackblock() #define STPUTC(c, p) do { if (p == sstrend) p = growstackstr(); *p++ = (c); } while(0) #define CHECKSTRSPACE(n, p){ if (sstrend - p < n) p = makestrspace(n, p); } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217210 - head/sys/mips/cavium/octe
Author: jmallett Date: Sun Jan 9 23:05:46 2011 New Revision: 217210 URL: http://svn.freebsd.org/changeset/base/217210 Log: o) Remove some unused local definitions of IP protocol numbers. o) Use CPU_FOREACH rather than a miscrafted for loop with an off-by-one to enable workq interrupts on all cores. Modified: head/sys/mips/cavium/octe/ethernet-defines.h head/sys/mips/cavium/octe/ethernet.c Modified: head/sys/mips/cavium/octe/ethernet-defines.h == --- head/sys/mips/cavium/octe/ethernet-defines.hSun Jan 9 22:47:58 2011(r217209) +++ head/sys/mips/cavium/octe/ethernet-defines.hSun Jan 9 23:05:46 2011(r217210) @@ -79,8 +79,6 @@ AND WITH ALL FAULTS AND CAVIUM NETWORKS #define USE_MULTICORE_RECEIVE 0 #endif -#define IP_PROTOCOL_TCP 6 -#define IP_PROTOCOL_UDP 0x11 #define FAU_NUM_PACKET_BUFFERS_TO_FREE (CVMX_FAU_REG_END - sizeof(uint32_t)) #define TOTAL_NUMBER_OF_PORTS (CVMX_PIP_NUM_INPUT_PORTS+1) Modified: head/sys/mips/cavium/octe/ethernet.c == --- head/sys/mips/cavium/octe/ethernet.cSun Jan 9 22:47:58 2011 (r217209) +++ head/sys/mips/cavium/octe/ethernet.cSun Jan 9 23:05:46 2011 (r217210) @@ -235,15 +235,16 @@ static void cvm_oct_configure_common_hw( if (USE_MULTICORE_RECEIVE) { critical_enter(); { - int cpu; - for (cpu = 0; cpu < mp_maxid; cpu++) { - if (!CPU_ABSENT(cpu) && - (cpu != PCPU_GET(cpuid))) { - cvmx_ciu_intx0_t en; - en.u64 = cvmx_read_csr(CVMX_CIU_INTX_EN0(cpu*2)); - en.s.workq |= (1
svn commit: r217212 - head/sys/mips/cavium/octe
Author: jmallett Date: Sun Jan 9 23:46:24 2011 New Revision: 217212 URL: http://svn.freebsd.org/changeset/base/217212 Log: Now that we correctly enable rx interrupts on all cores, performance has gotten quite awful, because e.g. 4 packets will come in and get processed on 4 different cores at the same time, really battling with the TCP stack quite painfully. For now, just run one task at a time. This gets performance up in most cases to where it was before the correctness fixes that got interrupts to run on all cores (except in high-load TCP transmit cases where all we're handling receive for is ACKs) and in some cases it's better now. What would be ideal would be to use a more advanced interrupt mitigation strategy and possibly to use different workqueue groups per port for multi-port systems, and so on, but this is a fine stopgap. Modified: head/sys/mips/cavium/octe/ethernet-rx.c Modified: head/sys/mips/cavium/octe/ethernet-rx.c == --- head/sys/mips/cavium/octe/ethernet-rx.c Sun Jan 9 23:20:01 2011 (r217211) +++ head/sys/mips/cavium/octe/ethernet-rx.c Sun Jan 9 23:46:24 2011 (r217212) @@ -54,6 +54,8 @@ extern struct ifnet *cvm_oct_device[]; static struct task cvm_oct_task; static struct taskqueue *cvm_oct_taskq; +static int cvm_oct_rx_active; + /** * Interrupt handler. The interrupt occurs whenever the POW * transitions from 0->1 packets in our group. @@ -70,7 +72,13 @@ int cvm_oct_do_interrupt(void *dev_id) cvmx_write_csr(CVMX_POW_WQ_INT, 1
svn commit: r217213 - head/lib/bind
Author: dougb Date: Sun Jan 9 23:47:11 2011 New Revision: 217213 URL: http://svn.freebsd.org/changeset/base/217213 Log: Revert part of r217071 so that us mere mortals can clearly see what this bit of code is intended to do. :) Approved by: imp Modified: head/lib/bind/config.mk Modified: head/lib/bind/config.mk == --- head/lib/bind/config.mk Sun Jan 9 23:46:24 2011(r217212) +++ head/lib/bind/config.mk Sun Jan 9 23:47:11 2011(r217213) @@ -65,7 +65,11 @@ CFLAGS+= -I${LIB_BIND_DIR} .endif # Use the right version of the atomic.h file from lib/isc -ISC_ATOMIC_ARCH=${MACHINE_CPUARCH:S/i386/x86_32/:S/amd64/x86_32/} +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +ISC_ATOMIC_ARCH= x86_32 +.else +ISC_ATOMIC_ARCH= ${MACHINE_CPUARCH} +.endif # Optional features .if ${MK_BIND_LARGE_FILE} == "yes" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r217071 - head/lib/bind
On 01/08/2011 14:58, Warner Losh wrote: On 01/07/2011 22:13, Doug Barton wrote: I've said before that I like to have the opportunity to pre-commit review patches in this area because at minimum it helps me to be aware of them for potential MFC purposes. Thanks for the reminder Doug. Hope there's no hard feelings... Of course not. A waste of time and energy. :) I think that bsd.endian.mk is -current only, but there's no reason it can't be MFC'd. I'll merge it to 7 and 8 here in a few minutes and let you know. That'd be awesome, thanks. I plan to update BIND in RELENG_7 after the release and it would be great to have the bmake stuff consistent between branches to the extent possible. @@ -64,11 +65,7 @@ CFLAGS+= -I${LIB_BIND_DIR} .endif # Use the right version of the atomic.h file from lib/isc -.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" -ISC_ATOMIC_ARCH= x86_32 -.else -ISC_ATOMIC_ARCH= ${MACHINE_CPUARCH} -.endif +ISC_ATOMIC_ARCH=${MACHINE_CPUARCH:S/i386/x86_32/:S/amd64/x86_32/} This change I am less enthusiastic about. It seems to me that it does the exact same thing, but while admittedly quite a bit more clever than I am capable of I find it less readable. Unless this is doing something more or better than the previous code I will likely revert this. Damn. I missed that in my pre-commit review, or I'd have mentioned it in the commit log. Feel free to revert it if you don't like it, or I'd be happy to revert it if you wanted me to clean up my own mess. Np, I took care of it. FWIW, I should have been more clear about why I'm more interested in keeping the file readable. BIND updates come in 2 main flavors, planned, and unplanned. :) The latter are generally related to security updates, and therefore of a more urgent nature. So far we've had very good luck with my being available when updates of a more urgent nature are required, in addition to good luck in the sense that we haven't had a _truly_ urgent BIND update in some years now. Also, the bmake glue for BIND isn't all _that_ complex (thanks in large part to des) however ... My nightmare scenario is that we _do_ end up with a truly urgent BIND update, I'm not available for whatever reason, and some poor bastard is stuck with the job of having to enter the labyrinth without the benefit of the bits of the map that exist only in my head. For this reason I've tried to keep the FREEBSD-Update files both up to date and more detailed than is usually the case, but I am the last person to believe that I have done it all correctly. This particular bit of arcana (the x86_32 stuff) took me a non-trivial amount of time to decipher, so I am particularly interested in having the intention of the code to be very clear here. In any case, thanks again for your help on the endian stuff, and your fast response. Doug -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217214 - in head/sys: contrib/octeon-sdk mips/cavium mips/conf
Author: jmallett Date: Mon Jan 10 03:48:41 2011 New Revision: 217214 URL: http://svn.freebsd.org/changeset/base/217214 Log: o) Expand the CIU driver to be aware of newly-allocated parts of the IRQ range. o) Add 'octm', a trivial driver for the 10/100 management ports found on some Octeon systems. o) Make the Simple Executive's management port helper routines compile on FreeBSD (namely by not doing math on void pointers.) o) Add a cvmx_mgmt_port_sendm routine to the Simple Executive to send an mbuf so there is only one copy in the transmit path, rather than having to first copy the mbuf to an intermediate buffer and then copy that to the Simple Executive's transmit ring. o) Properly work out MII addresses of management ports on the Lanner MR-730. XXX The MR-730 also needs some patches to the MII read/write routines, but this is sufficient for now. Media detection will be fixed in the future when I can spend more time reading the vendor-supplied patches. Added: head/sys/mips/cavium/if_octm.c (contents, props changed) Modified: head/sys/contrib/octeon-sdk/cvmx-helper-board.c head/sys/contrib/octeon-sdk/cvmx-mgmt-port.c head/sys/contrib/octeon-sdk/cvmx-mgmt-port.h head/sys/mips/cavium/ciu.c head/sys/mips/cavium/cvmx_config.h head/sys/mips/cavium/files.octeon1 head/sys/mips/conf/OCTEON1 Modified: head/sys/contrib/octeon-sdk/cvmx-helper-board.c == --- head/sys/contrib/octeon-sdk/cvmx-helper-board.c Sun Jan 9 23:47:11 2011(r217213) +++ head/sys/contrib/octeon-sdk/cvmx-helper-board.c Mon Jan 10 03:48:41 2011(r217214) @@ -272,6 +272,8 @@ int cvmx_helper_board_get_mii_address(in return ipd_port - 16; return -1; case CVMX_BOARD_TYPE_CUST_LANNER_MR730: +if ((ipd_port >= CVMX_HELPER_BOARD_MGMT_IPD_PORT) && (ipd_port < (CVMX_HELPER_BOARD_MGMT_IPD_PORT + 2))) + return (ipd_port - CVMX_HELPER_BOARD_MGMT_IPD_PORT) + 0x81; if ((ipd_port >= 0) && (ipd_port < 4)) return ipd_port; return -1; Modified: head/sys/contrib/octeon-sdk/cvmx-mgmt-port.c == --- head/sys/contrib/octeon-sdk/cvmx-mgmt-port.cSun Jan 9 23:47:11 2011(r217213) +++ head/sys/contrib/octeon-sdk/cvmx-mgmt-port.cMon Jan 10 03:48:41 2011(r217214) @@ -112,7 +112,7 @@ CVMX_SHARED cvmx_mgmt_port_state_t *cvmx * * @return Number of ports */ -int __cvmx_mgmt_port_num_ports(void) +static int __cvmx_mgmt_port_num_ports(void) { if (OCTEON_IS_MODEL(OCTEON_CN56XX)) return 1; @@ -554,6 +554,62 @@ cvmx_mgmt_port_result_t cvmx_mgmt_port_s } +#if defined(__FreeBSD__) +/** + * Send a packet out the management port. The packet is copied so + * the input mbuf isn't used after this call. + * + * @param port Management port + * @param m Packet mbuf (with pkthdr) + * + * @return CVMX_MGMT_PORT_SUCCESS or an error code + */ +cvmx_mgmt_port_result_t cvmx_mgmt_port_sendm(int port, const struct mbuf *m) +{ +cvmx_mgmt_port_state_t *state; +cvmx_mixx_oring2_t mix_oring2; + +if ((port < 0) || (port >= __cvmx_mgmt_port_num_ports())) +return CVMX_MGMT_PORT_INVALID_PARAM; + +/* Max sure the packet size is valid */ +if ((m->m_pkthdr.len < 1) || (m->m_pkthdr.len > CVMX_MGMT_PORT_TX_BUFFER_SIZE)) +return CVMX_MGMT_PORT_INVALID_PARAM; + +state = cvmx_mgmt_port_state_ptr + port; + +cvmx_spinlock_lock(&state->lock); + +mix_oring2.u64 = cvmx_read_csr(CVMX_MIXX_ORING2(port)); +if (mix_oring2.s.odbell >= CVMX_MGMT_PORT_NUM_TX_BUFFERS - 1) +{ +/* No room for another packet */ +cvmx_spinlock_unlock(&state->lock); +return CVMX_MGMT_PORT_NO_MEMORY; +} +else +{ +/* Copy the packet into the output buffer */ + m_copydata(m, 0, m->m_pkthdr.len, state->tx_buffers[state->tx_write_index]); +/* Update the TX ring buffer entry size */ +state->tx_ring[state->tx_write_index].s.len = m->m_pkthdr.len; +/* This code doesn't support TX timestamps */ +state->tx_ring[state->tx_write_index].s.tstamp = 0; +/* Increment our TX index */ +state->tx_write_index = (state->tx_write_index + 1) % CVMX_MGMT_PORT_NUM_TX_BUFFERS; +/* Ring the doorbell, sending the packet */ +CVMX_SYNCWS; +cvmx_write_csr(CVMX_MIXX_ORING2(port), 1); +if (cvmx_read_csr(CVMX_MIXX_ORCNT(port))) +cvmx_write_csr(CVMX_MIXX_ORCNT(port), cvmx_read_csr(CVMX_MIXX_ORCNT(port))); + +cvmx_spinlock_unlock(&state->lock); +return CVMX_MGMT_PORT_SUCCESS; +} +} +#endif + + /** * Receive a packet from the management port. * @@ -564,7 +620,7 @@ cvmx_mgmt_port_result_t cvmx_mgmt_port_s * @return The size of the pack
svn commit: r217220 - head/sys/conf
Author: jchandra Date: Mon Jan 10 05:13:06 2011 New Revision: 217220 URL: http://svn.freebsd.org/changeset/base/217220 Log: Remove unnecessary 'cat'. Modified: head/sys/conf/Makefile.mips Modified: head/sys/conf/Makefile.mips == --- head/sys/conf/Makefile.mips Mon Jan 10 04:48:18 2011(r217219) +++ head/sys/conf/Makefile.mips Mon Jan 10 05:13:06 2011(r217220) @@ -86,7 +86,7 @@ CLEAN+= ${LDSCRIPT_NAME} ${LDSCRIPT_NAME ${KERNEL_KO}.tramp.noheader ${KERNEL_KO}.tramp.bin ${LDSCRIPT_NAME}: $S/conf/${LDSCRIPT_NAME} - cat $S/conf/${LDSCRIPT_NAME}|sed s/KERNLOADADDR/${KERNLOADADDR}/g \ + sed s/KERNLOADADDR/${KERNLOADADDR}/g $S/conf/${LDSCRIPT_NAME} \ > ${LDSCRIPT_NAME} %RULES ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217221 - head/sys/netinet
Author: lstewart Date: Mon Jan 10 06:12:01 2011 New Revision: 217221 URL: http://svn.freebsd.org/changeset/base/217221 Log: Reset the last_sack_ack SACK hint for TCP input processing to ensure that the hint is 0 when no SACK data is received to update the hint with. This was accidentally omitted from r216753. Sponsored by: FreeBSD Foundation MFC after:10 weeks X-MFC with: 216753 Modified: head/sys/netinet/tcp_input.c Modified: head/sys/netinet/tcp_input.c == --- head/sys/netinet/tcp_input.cMon Jan 10 05:13:06 2011 (r217220) +++ head/sys/netinet/tcp_input.cMon Jan 10 06:12:01 2011 (r217221) @@ -1291,6 +1291,7 @@ tcp_do_segment(struct mbuf *m, struct tc short ostate = 0; #endif thflags = th->th_flags; + tp->sackhint.last_sack_ack = 0; /* * If this is either a state-changing packet or current state isn't ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r217222 - head/sys/mips/cavium
Author: jmallett Date: Mon Jan 10 06:46:18 2011 New Revision: 217222 URL: http://svn.freebsd.org/changeset/base/217222 Log: o) Free mbufs in error cases. o) Clear/acknowledge receive interrupt at end of thread. This gives the management interfaces performance on the order of 100Mbps rather than the previous level of 10Mbps on my MR-730. Modified: head/sys/mips/cavium/if_octm.c Modified: head/sys/mips/cavium/if_octm.c == --- head/sys/mips/cavium/if_octm.c Mon Jan 10 06:12:01 2011 (r217221) +++ head/sys/mips/cavium/if_octm.c Mon Jan 10 06:46:18 2011 (r217222) @@ -511,9 +511,15 @@ octm_rx_intr(void *arg) continue; } + m_freem(m); + if (len == 0) break; sc->sc_ifp->if_ierrors++; } + + /* Acknowledge interrupts. */ + cvmx_write_csr(CVMX_MIXX_ISR(sc->sc_port), mixx_isr.u64); + cvmx_read_csr(CVMX_MIXX_ISR(sc->sc_port)); } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"