svn commit: r199477 - head/sys/netinet

2009-11-18 Thread Michael Tuexen
Author: tuexen
Date: Wed Nov 18 12:17:06 2009
New Revision: 199477
URL: http://svn.freebsd.org/changeset/base/199477

Log:
  Fix a bug where the system panics when a SHUTDOWN is received with an
  illegal TSN.
  
  Approved by: rrs (mentor)
  MFC after: ASAP

Modified:
  head/sys/netinet/sctp_input.c

Modified: head/sys/netinet/sctp_input.c
==
--- head/sys/netinet/sctp_input.c   Wed Nov 18 09:20:04 2009
(r199476)
+++ head/sys/netinet/sctp_input.c   Wed Nov 18 12:17:06 2009
(r199477)
@@ -834,6 +834,9 @@ sctp_handle_shutdown(struct sctp_shutdow
return;
} else {
sctp_update_acked(stcb, cp, net, abort_flag);
+   if (*abort_flag) {
+   return;
+   }
}
if (asoc->control_pdapi) {
/*
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r199465 - head/lib/librt

2009-11-18 Thread M. Warner Losh
In message: <4b037c0a.5030...@freebsd.org>
David Xu  writes:
: M. Warner Losh wrote:
: > In message: <200911180135.nai1zaie051...@svn.freebsd.org>
: > David Xu  writes:
: > : Author: davidxu
: > : Date: Wed Nov 18 01:35:36 2009
: > : New Revision: 199465
: > : URL: http://svn.freebsd.org/changeset/base/199465
: > : 
: > : Log:
: > :   Fix compiler warnings.
: > : 
: > : Modified:
: > :   head/lib/librt/sigev_thread.c
: > : 
: > : Modified: head/lib/librt/sigev_thread.c
: > : 
==
: > : --- head/lib/librt/sigev_thread.c Wed Nov 18 01:13:15 2009
(r199464)
: > : +++ head/lib/librt/sigev_thread.c Wed Nov 18 01:35:36 2009
(r199465)
: > : @@ -439,9 +439,9 @@ worker_routine(void *arg)
: > :  {
: > :   struct sigev_node *sn = arg;
: > :  
: > : - _pthread_cleanup_push(worker_cleanup, sn);
: > : + pthread_cleanup_push(worker_cleanup, sn);
: > :   sn->sn_dispatch(sn);
: > : - _pthread_cleanup_pop(1);
: > : + pthread_cleanup_pop(1);
: > :  
: > :   return (0);
: > :  }
: > 
: > This change causes libthr to be needed now for librt.  Before this
: > wasn't the case, so ntp break on mips now (I haven't looked at other
: > arcs yet).  _pthread_cleanup_pop is exported from libc, while
: > pthread_cleanup_pop causes __pthread_cleanup_pop_imp to be referenced,
: > which is defined in libthr.
: > 
: > I guess that's a long way of saying "gee, this seems wrong to me,
: > please explain what you are fixing better or revert this change,
: > thanks" :)
: > 
: > Warner
: > 
: > 
: 
: librt needs libpthread to function correctly, otherwise SIGEV_THREAD
: notification won't work, though the ntp code may not use it, but who
: can guarantee librt never use threads? in old design, the timer
: functions were really in libpthread and implemented as threads.
: 
: Regards,
: David Xu
: 
: 
: Index: ntpdate/Makefile
: ===
: --- ntpdate/Makefile  (revision 199351)
: +++ ntpdate/Makefile  (working copy)
: @@ -9,7 +9,7 @@
:   CFLAGS+= -I${.CURDIR}/../../../contrib/ntp/include -I${.CURDIR}/../
: 
:   DPADD=  ${LIBNTP} ${LIBM} ${LIBMD} ${LIBRT}
: -LDADD=   ${LIBNTP} -lm -lmd -lrt
: +LDADD=   ${LIBNTP} -lm -lmd -lrt -lpthread
: 
:   CLEANFILES+= .version version.c
: 
: Index: ntpd/Makefile
: ===
: --- ntpd/Makefile (revision 199351)
: +++ ntpd/Makefile (working copy)
: @@ -33,7 +33,7 @@
:   -I${.CURDIR}/../../../contrib/ntp/libopts -I${.CURDIR}
: 
:   DPADD=  ${LIBPARSE} ${LIBNTP} ${LIBM} ${LIBMD} ${LIBRT} ${LIBOPTS}
: -LDADD=   ${LIBPARSE} ${LIBNTP} -lm -lmd -lrt ${LIBOPTS}
: +LDADD=   ${LIBPARSE} ${LIBNTP} -lm -lmd -lrt -lpthread ${LIBOPTS}
: 
:   .if ${MK_OPENSSL} != "no" && !defined(RELEASE_CRUNCH)
:   DPADD+= ${LIBCRYPTO}

I'd like to look more deeply into this issue.  Can you back out the
original commit until I can track things down a little more
completely?

Warner


___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r199469 - head/lib/librt

2009-11-18 Thread M. Warner Losh
In message: <200911180509.nai593kq058...@svn.freebsd.org>
David Xu  writes:
: Author: davidxu
: Date: Wed Nov 18 05:09:03 2009
: New Revision: 199469
: URL: http://svn.freebsd.org/changeset/base/199469
: 
: Log:
:   link libpthread because the librt really needs it to fully function.

If you are now requiring libpthread, why are you using the _pthread_*
functions everywhere else?

Warner

: Modified:
:   head/lib/librt/Makefile
: 
: Modified: head/lib/librt/Makefile
: ==
: --- head/lib/librt/Makefile   Wed Nov 18 04:34:43 2009(r199468)
: +++ head/lib/librt/Makefile   Wed Nov 18 05:09:03 2009(r199469)
: @@ -4,6 +4,7 @@ LIB=rt
:  SHLIB_MAJOR= 1
:  CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}
:  CFLAGS+=-Winline -Wall -g
: +LDADD+=-lpthread
:  
:  #MAN=libthr.3
:  
: 
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199478 - stable/8/lib/libc/net

2009-11-18 Thread Hajimu UMEMOTO
Author: ume
Date: Wed Nov 18 14:40:00 2009
New Revision: 199478
URL: http://svn.freebsd.org/changeset/base/199478

Log:
  MFC r199188: ANSIfy.

Modified:
  stable/8/lib/libc/net/ip6opt.c
Directory Properties:
  stable/8/lib/libc/   (props changed)
  stable/8/lib/libc/stdtime/   (props changed)

Modified: stable/8/lib/libc/net/ip6opt.c
==
--- stable/8/lib/libc/net/ip6opt.c  Wed Nov 18 12:17:06 2009
(r199477)
+++ stable/8/lib/libc/net/ip6opt.c  Wed Nov 18 14:40:00 2009
(r199478)
@@ -55,8 +55,7 @@ static void inet6_insert_padopt(u_char *
  * byte, the length byte, and the option data.
  */
 int
-inet6_option_space(nbytes)
-   int nbytes;
+inet6_option_space(int nbytes)
 {
nbytes += 2;/* we need space for nxt-hdr and length fields */
return(CMSG_SPACE((nbytes + 7) & ~7));
@@ -68,10 +67,7 @@ inet6_option_space(nbytes)
  * success or -1 on an error.
  */
 int
-inet6_option_init(bp, cmsgp, type)
-   void *bp;
-   struct cmsghdr **cmsgp;
-   int type;
+inet6_option_init(void *bp, struct cmsghdr **cmsgp, int type)
 {
struct cmsghdr *ch = (struct cmsghdr *)bp;
 
@@ -98,11 +94,8 @@ inet6_option_init(bp, cmsgp, type)
  * earlier.  It must have a value between 0 and 7, inclusive.
  */
 int
-inet6_option_append(cmsg, typep, multx, plusy)
-   struct cmsghdr *cmsg;
-   const u_int8_t *typep;
-   int multx;
-   int plusy;
+inet6_option_append(struct cmsghdr *cmsg, const u_int8_t *typep, int multx,
+int plusy)
 {
int padlen, optlen, off;
u_char *bp = (u_char *)cmsg + cmsg->cmsg_len;
@@ -171,11 +164,7 @@ inet6_option_append(cmsg, typep, multx, 
  * 
  */
 u_int8_t *
-inet6_option_alloc(cmsg, datalen, multx, plusy)
-   struct cmsghdr *cmsg;
-   int datalen;
-   int multx;
-   int plusy;
+inet6_option_alloc(struct cmsghdr *cmsg, int datalen, int multx, int plusy)
 {
int padlen, off;
u_int8_t *bp = (u_char *)cmsg + cmsg->cmsg_len;
@@ -238,9 +227,7 @@ inet6_option_alloc(cmsg, datalen, multx,
  * (RFC 2292, 6.3.5)
  */
 int
-inet6_option_next(cmsg, tptrp)
-   const struct cmsghdr *cmsg;
-   u_int8_t **tptrp;
+inet6_option_next(const struct cmsghdr *cmsg, u_int8_t **tptrp)
 {
struct ip6_ext *ip6e;
int hdrlen, optlen;
@@ -296,10 +283,7 @@ inet6_option_next(cmsg, tptrp)
  *   it's a typo. The variable should be type of u_int8_t **.
  */
 int
-inet6_option_find(cmsg, tptrp, type)
-   const struct cmsghdr *cmsg;
-   u_int8_t **tptrp;
-   int type;
+inet6_option_find(const struct cmsghdr *cmsg, u_int8_t **tptrp, int type)
 {
struct ip6_ext *ip6e;
int hdrlen, optlen;
@@ -352,8 +336,7 @@ inet6_option_find(cmsg, tptrp, type)
  * calculated length and the limitation of the buffer.
  */
 static int
-ip6optlen(opt, lim)
-   u_int8_t *opt, *lim;
+ip6optlen(u_int8_t *opt, u_int8_t *lim)
 {
int optlen;
 
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199479 - head/share/misc

2009-11-18 Thread Matthias Andree
Author: mandree (ports committer)
Date: Wed Nov 18 14:46:46 2009
New Revision: 199479
URL: http://svn.freebsd.org/changeset/base/199479

Log:
  Add mandree@ and mentorship relations with garga/miwi.

Modified:
  head/share/misc/committers-ports.dot

Modified: head/share/misc/committers-ports.dot
==
--- head/share/misc/committers-ports.dotWed Nov 18 14:40:00 2009
(r199478)
+++ head/share/misc/committers-ports.dotWed Nov 18 14:46:46 2009
(r199479)
@@ -110,6 +110,7 @@ lwhsu [label="Li-Wen hsu\nlw...@freebsd.
 lx [label="David thiel\...@freebsd.org\n2006/11/29"]
 maho [label="Maho nakata\nm...@freebsd.org\n2002/10/17"]
 makc [label="Max brazhnikov\m...@freebsd.org\n2008/08/25"]
+mandree [label="Matthias andree\nmand...@freebsd.org\n2009/11/18"]
 marcus [label="Joe Marcus clarke\nmar...@freebsd.org\n2002/04/05"]
 markus [label="Markus brueffer\nmar...@freebsd.org\n2004/02/21"]
 mat [label="Mathieu arnold\n...@freebsd.org\n2003/08/15"]
@@ -225,6 +226,7 @@ gabor -> pgj
 
 garga -> acm
 garga -> alepulver
+garga -> mandree
 garga -> mm
 garga -> rnoland
 garga -> vd
@@ -280,6 +282,7 @@ miwi -> beat
 miwi -> farrokhi
 miwi -> gahr
 miwi -> makc
+miwi -> mandree
 miwi -> mva
 miwi -> nox
 miwi -> tabthorpe
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199480 - head/share/misc

2009-11-18 Thread Matthias Andree
Author: mandree (ports committer)
Date: Wed Nov 18 14:47:47 2009
New Revision: 199480
URL: http://svn.freebsd.org/changeset/base/199480

Log:
  Fix mistyped \n in makc's label.
  
  This and previous commit have been...
  Approved by:garga (mentor)

Modified:
  head/share/misc/committers-ports.dot

Modified: head/share/misc/committers-ports.dot
==
--- head/share/misc/committers-ports.dotWed Nov 18 14:46:46 2009
(r199479)
+++ head/share/misc/committers-ports.dotWed Nov 18 14:47:47 2009
(r199480)
@@ -109,7 +109,7 @@ lth [label="Lars thegler\n...@freebsd.or
 lwhsu [label="Li-Wen hsu\nlw...@freebsd.org\n2007/04/03"]
 lx [label="David thiel\...@freebsd.org\n2006/11/29"]
 maho [label="Maho nakata\nm...@freebsd.org\n2002/10/17"]
-makc [label="Max brazhnikov\m...@freebsd.org\n2008/08/25"]
+makc [label="Max brazhnikov\nm...@freebsd.org\n2008/08/25"]
 mandree [label="Matthias andree\nmand...@freebsd.org\n2009/11/18"]
 marcus [label="Joe Marcus clarke\nmar...@freebsd.org\n2002/04/05"]
 markus [label="Markus brueffer\nmar...@freebsd.org\n2004/02/21"]
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r194783 - head/lib/libc/stdtime

2009-11-18 Thread John Baldwin
On Tuesday 17 November 2009 1:25:01 pm Jilles Tjoelker wrote:
> On Tue, Nov 17, 2009 at 01:50:32AM +0200, Dmitry Pryanishnikov wrote:
> > > Author: edwin
> > > Date: Tue Jun 23 22:28:44 2009
> > > New Revision: 194783
> > > URL: http://svn.freebsd.org/changeset/base/194783
> 
> > > Log:
> > >   Remove duplicate if-statement on gmt_is_set in gmtsub().
> 
> > >   MFC after:  1 week
> 
> > > Modified:
> > >   head/lib/libc/stdtime/localtime.c
> 
> >This change looks like a (small?) pessimization to me: before it, 
> > _MUTEX_LOCK/_MUTEX_UNLOCK pair would be skipped for the case gmt_is_set 
> > == TRUE (all invocations except the first one), now it won't. I'm not 
> > sure whether this is critical here though...
> 
> It is certainly less efficient, but the old code was (most likely)
> wrong. It used an idiom known as "double checked locking", which is
> incorrect in most memory models. The problem is that the store to
> gmt_is_set may become visible without stores to other memory (gmtptr and
> what it points to) becoming visible.

That is easily fixed with a memory barrier.  Just use atomic_store_rel() to 
set gmt_is_set at the end of the setup phase.

-- 
John Baldwin
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199484 - stable/8/sys/netinet

2009-11-18 Thread Michael Tuexen
Author: tuexen
Date: Wed Nov 18 15:35:03 2009
New Revision: 199484
URL: http://svn.freebsd.org/changeset/base/199484

Log:
  MFC 199477
  Fix a bug where the system panics when a SHUTDOWN is received with an
  illegal TSN.
  This bug was reported by Irene Ruengeler.
  
  Approved by: re, rrs (mentor)

Modified:
  stable/8/sys/netinet/sctp_input.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/netinet/sctp_input.c
==
--- stable/8/sys/netinet/sctp_input.c   Wed Nov 18 15:14:47 2009
(r199483)
+++ stable/8/sys/netinet/sctp_input.c   Wed Nov 18 15:35:03 2009
(r199484)
@@ -834,6 +834,9 @@ sctp_handle_shutdown(struct sctp_shutdow
return;
} else {
sctp_update_acked(stcb, cp, net, abort_flag);
+   if (*abort_flag) {
+   return;
+   }
}
if (asoc->control_pdapi) {
/*
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199490 - head/sys/vm

2009-11-18 Thread Alan Cox
Author: alc
Date: Wed Nov 18 18:05:54 2009
New Revision: 199490
URL: http://svn.freebsd.org/changeset/base/199490

Log:
  Simplify both the invocation and the implementation of vm_fault() for wiring
  pages.
  
  (Note: Claims made in the comments about the handling of breakpoints in
  wired pages have been false for roughly a decade.  This and another bug
  involving breakpoints will be fixed in coming changes.)
  
  Reviewed by:  kib

Modified:
  head/sys/vm/vm_extern.h
  head/sys/vm/vm_fault.c
  head/sys/vm/vm_map.c
  head/sys/vm/vm_map.h

Modified: head/sys/vm/vm_extern.h
==
--- head/sys/vm/vm_extern.h Wed Nov 18 17:51:54 2009(r199489)
+++ head/sys/vm/vm_extern.h Wed Nov 18 18:05:54 2009(r199490)
@@ -58,7 +58,7 @@ int vm_fault(vm_map_t, vm_offset_t, vm_p
 void vm_fault_copy_entry(vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t,
 vm_ooffset_t *);
 void vm_fault_unwire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t);
-int vm_fault_wire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t, boolean_t);
+int vm_fault_wire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t);
 int vm_forkproc(struct thread *, struct proc *, struct thread *, struct 
vmspace *, int);
 void vm_waitproc(struct proc *);
 int vm_mmap(vm_map_t, vm_offset_t *, vm_size_t, vm_prot_t, vm_prot_t, int, 
objtype_t, void *, vm_ooffset_t);

Modified: head/sys/vm/vm_fault.c
==
--- head/sys/vm/vm_fault.c  Wed Nov 18 17:51:54 2009(r199489)
+++ head/sys/vm/vm_fault.c  Wed Nov 18 18:05:54 2009(r199490)
@@ -185,7 +185,7 @@ unlock_and_deallocate(struct faultstate 
  *   default objects are zero-fill, there is no real pager.
  */
 #define TRYPAGER   (fs.object->type != OBJT_DEFAULT && \
-   (((fault_flags & VM_FAULT_WIRE_MASK) == 0) || wired))
+   ((fault_flags & VM_FAULT_CHANGE_WIRING) == 0 || wired))
 
 /*
  * vm_fault:
@@ -238,31 +238,15 @@ RetryFault:;
result = vm_map_lookup(&fs.map, vaddr, fault_type, &fs.entry,
&fs.first_object, &fs.first_pindex, &prot, &wired);
if (result != KERN_SUCCESS) {
-   if (result != KERN_PROTECTION_FAILURE ||
-   (fault_flags & VM_FAULT_WIRE_MASK) != VM_FAULT_USER_WIRE) {
-   if (growstack && result == KERN_INVALID_ADDRESS &&
-   map != kernel_map && curproc != NULL) {
-   result = vm_map_growstack(curproc, vaddr);
-   if (result != KERN_SUCCESS)
-   return (KERN_FAILURE);
-   growstack = FALSE;
-   goto RetryFault;
-   }
-   return (result);
+   if (growstack && result == KERN_INVALID_ADDRESS &&
+   map != kernel_map) {
+   result = vm_map_growstack(curproc, vaddr);
+   if (result != KERN_SUCCESS)
+   return (KERN_FAILURE);
+   growstack = FALSE;
+   goto RetryFault;
}
-
-   /*
-* If we are user-wiring a r/w segment, and it is COW, then
-* we need to do the COW operation.  Note that we don't COW
-* currently RO sections now, because it is NOT desirable
-* to COW .text.  We simply keep .text from ever being COW'ed
-* and take the heat that one cannot debug wired .text sections.
-*/
-   result = vm_map_lookup(&fs.map, vaddr,
-   VM_PROT_READ|VM_PROT_WRITE|VM_PROT_OVERRIDE_WRITE,
-   &fs.entry, &fs.first_object, &fs.first_pindex, &prot, 
&wired);
-   if (result != KERN_SUCCESS)
-   return (result);
+   return (result);
}
 
map_generation = fs.map->timestamp;
@@ -919,9 +903,8 @@ vnode_locked:
 * won't find it (yet).
 */
pmap_enter(fs.map->pmap, vaddr, fault_type, fs.m, prot, wired);
-   if (((fault_flags & VM_FAULT_WIRE_MASK) == 0) && (wired == 0)) {
+   if ((fault_flags & VM_FAULT_CHANGE_WIRING) == 0 && wired == 0)
vm_fault_prefault(fs.map->pmap, vaddr, fs.entry);
-   }
VM_OBJECT_LOCK(fs.object);
vm_page_lock_queues();
vm_page_flag_set(fs.m, PG_REFERENCED);
@@ -930,7 +913,7 @@ vnode_locked:
 * If the page is not wired down, then put it where the pageout daemon
 * can find it.
 */
-   if (fault_flags & VM_FAULT_WIRE_MASK) {
+   if (fault_flags & VM_FAULT_CHANGE_WIRING) {
if (wired)
vm_page_wire(fs.m);
else
@@ -1048,7 +1031,7 @@ vm_fault_quick(caddr_t v, int prot)
  *

svn commit: r199491 - head/sys/dev/ath/ath_hal

2009-11-18 Thread Rui Paulo
Author: rpaulo
Date: Wed Nov 18 18:48:18 2009
New Revision: 199491
URL: http://svn.freebsd.org/changeset/base/199491

Log:
  Add WorldB SKU.
  
  Reviewed by:  sam
  MFC after:1 week

Modified:
  head/sys/dev/ath/ath_hal/ah_regdomain.c

Modified: head/sys/dev/ath/ath_hal/ah_regdomain.c
==
--- head/sys/dev/ath/ath_hal/ah_regdomain.c Wed Nov 18 18:05:54 2009
(r199490)
+++ head/sys/dev/ath/ath_hal/ah_regdomain.c Wed Nov 18 18:48:18 2009
(r199491)
@@ -170,6 +170,7 @@ enum {
 
WOR9_WORLD  = 0x69, /* World9 (WO9 SKU) */  
WORA_WORLD  = 0x6A, /* WorldA (WOA SKU) */  
+   WORB_WORLD  = 0x6B, /* WorldB (WOB SKU) */
 
MKK3_MKKB   = 0x80, /* Japan UNI-1 even + MKKB */
MKK3_MKKA2  = 0x81, /* Japan UNI-1 even + MKKA2 */
@@ -432,6 +433,7 @@ static REG_DMN_PAIR_MAPPING regDomainPai
{EU1_WORLD, EU1_WORLD,  EU1_WORLD,  NO_REQ, NO_REQ, 
PSCAN_DEFER, CTRY_DEFAULT },
{WOR9_WORLD,WOR9_WORLD, WOR9_WORLD, DISALLOW_ADHOC_11A | 
DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, CTRY_DEFAULT },
{WORA_WORLD,WORA_WORLD, WORA_WORLD, DISALLOW_ADHOC_11A | 
DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, CTRY_DEFAULT },
+   {WORB_WORLD,WORB_WORLD, WORB_WORLD, DISALLOW_ADHOC_11A | 
DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, CTRY_DEFAULT },
 };
 
 /* 
@@ -1681,6 +1683,31 @@ static REG_DOMAIN regDomains[] = {
  WG1_2467_2467),
 .chan11g_turbo = BM1(T3_2437_2437)},
 
+   {.regDmnEnum= WORB_WORLD,
+.conformanceTestLimit  = NO_CTL,
+.dfsMask   = DFS_FCC3 | DFS_ETSI,
+.pscan = PSCAN_WWR,
+.flags = DISALLOW_ADHOC_11A,
+.chan11a   = BM4(W1_5260_5320,
+ W1_5180_5240,
+ W1_5745_5825,
+ W1_5500_5700),
+.chan11b   = BM7(W1_2412_2412,
+ W1_2437_2442,
+ W1_2462_2462,
+ W1_2472_2472,
+ W1_2417_2432,
+ W1_2447_2457,
+ W1_2467_2467),
+.chan11g   = BM7(WG1_2412_2412,
+ WG1_2437_2442,
+ WG1_2462_2462,
+ WG1_2472_2472,
+ WG1_2417_2432,
+ WG1_2447_2457,
+ WG1_2467_2467),
+.chan11g_turbo = BM1(T3_2437_2437)},
+
{.regDmnEnum= NULL1,
 .conformanceTestLimit  = NO_CTL,
}
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199492 - in head/sys: amd64/amd64 i386/i386 net

2009-11-18 Thread Jung-uk Kim
Author: jkim
Date: Wed Nov 18 19:26:17 2009
New Revision: 199492
URL: http://svn.freebsd.org/changeset/base/199492

Log:
  - Make BPF JIT compiler working again in userland.  We are limiting size of
  generated native binary to page size for now.
  - Update copyright date and fix some style nits.

Modified:
  head/sys/amd64/amd64/bpf_jit_machdep.c
  head/sys/amd64/amd64/bpf_jit_machdep.h
  head/sys/i386/i386/bpf_jit_machdep.c
  head/sys/i386/i386/bpf_jit_machdep.h
  head/sys/net/bpf_jitter.c
  head/sys/net/bpf_jitter.h

Modified: head/sys/amd64/amd64/bpf_jit_machdep.c
==
--- head/sys/amd64/amd64/bpf_jit_machdep.c  Wed Nov 18 18:48:18 2009
(r199491)
+++ head/sys/amd64/amd64/bpf_jit_machdep.c  Wed Nov 18 19:26:17 2009
(r199492)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy)
- * Copyright (C) 2005-2008 Jung-uk Kim 
+ * Copyright (C) 2005-2009 Jung-uk Kim 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
 #include 
 #else
 #include 
+#include 
+#include 
 #endif
 
 #include 
@@ -97,9 +99,9 @@ emit_code(bpf_bin_stream *stream, u_int 
 bpf_filter_func
 bpf_jit_compile(struct bpf_insn *prog, u_int nins, int *mem)
 {
+   bpf_bin_stream stream;
struct bpf_insn *ins;
u_int i, pass;
-   bpf_bin_stream stream;
 
/*
 * NOTE: do not modify the name of this variable, as it's used by
@@ -475,20 +477,31 @@ bpf_jit_compile(struct bpf_insn *prog, u
}
 
pass++;
-   if (pass == 2)
+   if (pass >= 2) {
+#ifndef _KERNEL
+   if (mprotect(stream.ibuf, stream.cur_ip,
+   PROT_READ | PROT_EXEC) != 0) {
+   munmap(stream.ibuf, BPF_JIT_MAXSIZE);
+   stream.ibuf = NULL;
+   }
+#endif
break;
+   }
 
 #ifdef _KERNEL
stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT);
-   if (stream.ibuf == NULL) {
-   free(stream.refs, M_BPFJIT);
-   return (NULL);
-   }
+   if (stream.ibuf == NULL)
+   break;
 #else
-   stream.ibuf = (char *)malloc(stream.cur_ip);
-   if (stream.ibuf == NULL) {
-   free(stream.refs);
-   return (NULL);
+   if (stream.cur_ip > BPF_JIT_MAXSIZE) {
+   stream.ibuf = NULL;
+   break;
+   }
+   stream.ibuf = (char *)mmap(NULL, BPF_JIT_MAXSIZE,
+   PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
+   if (stream.ibuf == MAP_FAILED) {
+   stream.ibuf = NULL;
+   break;
}
 #endif
 

Modified: head/sys/amd64/amd64/bpf_jit_machdep.h
==
--- head/sys/amd64/amd64/bpf_jit_machdep.h  Wed Nov 18 18:48:18 2009
(r199491)
+++ head/sys/amd64/amd64/bpf_jit_machdep.h  Wed Nov 18 19:26:17 2009
(r199492)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy)
- * Copyright (C) 2005-2008 Jung-uk Kim 
+ * Copyright (C) 2005-2009 Jung-uk Kim 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without

Modified: head/sys/i386/i386/bpf_jit_machdep.c
==
--- head/sys/i386/i386/bpf_jit_machdep.cWed Nov 18 18:48:18 2009
(r199491)
+++ head/sys/i386/i386/bpf_jit_machdep.cWed Nov 18 19:26:17 2009
(r199492)
@@ -1,6 +1,6 @@
 /*-
  * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy)
- * Copyright (C) 2005-2008 Jung-uk Kim 
+ * Copyright (C) 2005-2009 Jung-uk Kim 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
 #include 
 #else
 #include 
+#include 
+#include 
 #endif
 
 #include 
@@ -97,9 +99,9 @@ emit_code(bpf_bin_stream *stream, u_int 
 bpf_filter_func
 bpf_jit_compile(struct bpf_insn *prog, u_int nins, int *mem)
 {
+   bpf_bin_stream stream;
struct bpf_insn *ins;
u_int i, pass;
-   bpf_bin_stream stream;
 
/*
 * NOTE: do not modify the name of this variable, as it's used by
@@ -498,20 +500,31 @@ bpf_jit_compile(struct bpf_insn *prog, u
}
 
pass++;
-   if (pass == 2)
+   if (pass >= 2) {
+#ifndef _KERNEL
+   if (mprotect(stream.ibuf, stream.cur_ip,
+   PROT_READ | PROT_EXEC) != 0) {
+   munmap(strea

Re: svn commit: r199492 - in head/sys: amd64/amd64 i386/i386 net

2009-11-18 Thread Robert Watson

On Wed, 18 Nov 2009, Jung-uk Kim wrote:


Author: jkim
Date: Wed Nov 18 19:26:17 2009
New Revision: 199492
URL: http://svn.freebsd.org/changeset/base/199492

Log:
 - Make BPF JIT compiler working again in userland.  We are limiting size of
 generated native binary to page size for now.
 - Update copyright date and fix some style nits.


I'm not sure if you have noticed, but there are a bunch of embedded target 
ports of the BPF JIT in the PR collection -- ARM, MIPS, etc.  Any chance we 
might see those integrated into 9.x at some point?  The less cache-rich CPUs 
are especially helped by JIT parts.


Robert N M Watson
Computer Laboratory
University of Cambridge



Modified:
 head/sys/amd64/amd64/bpf_jit_machdep.c
 head/sys/amd64/amd64/bpf_jit_machdep.h
 head/sys/i386/i386/bpf_jit_machdep.c
 head/sys/i386/i386/bpf_jit_machdep.h
 head/sys/net/bpf_jitter.c
 head/sys/net/bpf_jitter.h

Modified: head/sys/amd64/amd64/bpf_jit_machdep.c
==
--- head/sys/amd64/amd64/bpf_jit_machdep.c  Wed Nov 18 18:48:18 2009
(r199491)
+++ head/sys/amd64/amd64/bpf_jit_machdep.c  Wed Nov 18 19:26:17 2009
(r199492)
@@ -1,6 +1,6 @@
/*-
 * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy)
- * Copyright (C) 2005-2008 Jung-uk Kim 
+ * Copyright (C) 2005-2009 Jung-uk Kim 
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
#include 
#else
#include 
+#include 
+#include 
#endif

#include 
@@ -97,9 +99,9 @@ emit_code(bpf_bin_stream *stream, u_int
bpf_filter_func
bpf_jit_compile(struct bpf_insn *prog, u_int nins, int *mem)
{
+   bpf_bin_stream stream;
struct bpf_insn *ins;
u_int i, pass;
-   bpf_bin_stream stream;

/*
 * NOTE: do not modify the name of this variable, as it's used by
@@ -475,20 +477,31 @@ bpf_jit_compile(struct bpf_insn *prog, u
}

pass++;
-   if (pass == 2)
+   if (pass >= 2) {
+#ifndef _KERNEL
+   if (mprotect(stream.ibuf, stream.cur_ip,
+   PROT_READ | PROT_EXEC) != 0) {
+   munmap(stream.ibuf, BPF_JIT_MAXSIZE);
+   stream.ibuf = NULL;
+   }
+#endif
break;
+   }

#ifdef _KERNEL
stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT);
-   if (stream.ibuf == NULL) {
-   free(stream.refs, M_BPFJIT);
-   return (NULL);
-   }
+   if (stream.ibuf == NULL)
+   break;
#else
-   stream.ibuf = (char *)malloc(stream.cur_ip);
-   if (stream.ibuf == NULL) {
-   free(stream.refs);
-   return (NULL);
+   if (stream.cur_ip > BPF_JIT_MAXSIZE) {
+   stream.ibuf = NULL;
+   break;
+   }
+   stream.ibuf = (char *)mmap(NULL, BPF_JIT_MAXSIZE,
+   PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
+   if (stream.ibuf == MAP_FAILED) {
+   stream.ibuf = NULL;
+   break;
}
#endif


Modified: head/sys/amd64/amd64/bpf_jit_machdep.h
==
--- head/sys/amd64/amd64/bpf_jit_machdep.h  Wed Nov 18 18:48:18 2009
(r199491)
+++ head/sys/amd64/amd64/bpf_jit_machdep.h  Wed Nov 18 19:26:17 2009
(r199492)
@@ -1,6 +1,6 @@
/*-
 * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy)
- * Copyright (C) 2005-2008 Jung-uk Kim 
+ * Copyright (C) 2005-2009 Jung-uk Kim 
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without

Modified: head/sys/i386/i386/bpf_jit_machdep.c
==
--- head/sys/i386/i386/bpf_jit_machdep.cWed Nov 18 18:48:18 2009
(r199491)
+++ head/sys/i386/i386/bpf_jit_machdep.cWed Nov 18 19:26:17 2009
(r199492)
@@ -1,6 +1,6 @@
/*-
 * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy)
- * Copyright (C) 2005-2008 Jung-uk Kim 
+ * Copyright (C) 2005-2009 Jung-uk Kim 
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
#include 
#else
#include 
+#include 
+#include 
#endif

#include 
@@ -97,9 +99,9 @@ emit_code(bpf_bin_stream *stream, u_int
bpf_filter_func
bpf_jit_compile(struct bpf_insn *prog, u_int nins, int *mem)
{
+   bpf_bin_stream stream;
struct bpf_insn *ins;
u_int i, pass;
-   bpf_bin_stream stream;

/*
 * NOTE: do not modify the name of this variable, as it's used by
@@ -498,20 +500,31 @@ bpf_jit_

svn commit: r199498 - in head/sys: amd64/amd64 i386/i386 net

2009-11-18 Thread Jung-uk Kim
Author: jkim
Date: Wed Nov 18 23:40:19 2009
New Revision: 199498
URL: http://svn.freebsd.org/changeset/base/199498

Log:
  - Change internal function bpf_jit_compile() to return allocated size of
  the generated binary and remove page size limitation for userland.
  - Use contigmalloc(9)/contigfree(9) instead of malloc(9)/free(9) to make
  sure the generated binary aligns properly and make it physically contiguous.

Modified:
  head/sys/amd64/amd64/bpf_jit_machdep.c
  head/sys/i386/i386/bpf_jit_machdep.c
  head/sys/net/bpf_jitter.c
  head/sys/net/bpf_jitter.h

Modified: head/sys/amd64/amd64/bpf_jit_machdep.c
==
--- head/sys/amd64/amd64/bpf_jit_machdep.c  Wed Nov 18 22:53:05 2009
(r199497)
+++ head/sys/amd64/amd64/bpf_jit_machdep.c  Wed Nov 18 23:40:19 2009
(r199498)
@@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$");
 
 #include 
 
-bpf_filter_funcbpf_jit_compile(struct bpf_insn *, u_int, int *);
+bpf_filter_funcbpf_jit_compile(struct bpf_insn *, u_int, size_t *, int 
*);
 
 /*
  * emit routine to update the jump table
@@ -97,7 +97,7 @@ emit_code(bpf_bin_stream *stream, u_int 
  * Function that does the real stuff
  */
 bpf_filter_func
-bpf_jit_compile(struct bpf_insn *prog, u_int nins, int *mem)
+bpf_jit_compile(struct bpf_insn *prog, u_int nins, size_t *size, int *mem)
 {
bpf_bin_stream stream;
struct bpf_insn *ins;
@@ -481,23 +481,21 @@ bpf_jit_compile(struct bpf_insn *prog, u
 #ifndef _KERNEL
if (mprotect(stream.ibuf, stream.cur_ip,
PROT_READ | PROT_EXEC) != 0) {
-   munmap(stream.ibuf, BPF_JIT_MAXSIZE);
+   munmap(stream.ibuf, stream.cur_ip);
stream.ibuf = NULL;
}
 #endif
+   *size = stream.cur_ip;
break;
}
 
 #ifdef _KERNEL
-   stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT);
+   stream.ibuf = (char *)contigmalloc(stream.cur_ip, M_BPFJIT,
+   M_NOWAIT, 0, ~0ULL, 16, 0);
if (stream.ibuf == NULL)
break;
 #else
-   if (stream.cur_ip > BPF_JIT_MAXSIZE) {
-   stream.ibuf = NULL;
-   break;
-   }
-   stream.ibuf = (char *)mmap(NULL, BPF_JIT_MAXSIZE,
+   stream.ibuf = (char *)mmap(NULL, stream.cur_ip,
PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
if (stream.ibuf == MAP_FAILED) {
stream.ibuf = NULL;

Modified: head/sys/i386/i386/bpf_jit_machdep.c
==
--- head/sys/i386/i386/bpf_jit_machdep.cWed Nov 18 22:53:05 2009
(r199497)
+++ head/sys/i386/i386/bpf_jit_machdep.cWed Nov 18 23:40:19 2009
(r199498)
@@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$");
 
 #include 
 
-bpf_filter_funcbpf_jit_compile(struct bpf_insn *, u_int, int *);
+bpf_filter_funcbpf_jit_compile(struct bpf_insn *, u_int, size_t *, int 
*);
 
 /*
  * emit routine to update the jump table
@@ -97,7 +97,7 @@ emit_code(bpf_bin_stream *stream, u_int 
  * Function that does the real stuff
  */
 bpf_filter_func
-bpf_jit_compile(struct bpf_insn *prog, u_int nins, int *mem)
+bpf_jit_compile(struct bpf_insn *prog, u_int nins, size_t *size, int *mem)
 {
bpf_bin_stream stream;
struct bpf_insn *ins;
@@ -504,23 +504,21 @@ bpf_jit_compile(struct bpf_insn *prog, u
 #ifndef _KERNEL
if (mprotect(stream.ibuf, stream.cur_ip,
PROT_READ | PROT_EXEC) != 0) {
-   munmap(stream.ibuf, BPF_JIT_MAXSIZE);
+   munmap(stream.ibuf, stream.cur_ip);
stream.ibuf = NULL;
}
 #endif
+   *size = stream.cur_ip;
break;
}
 
 #ifdef _KERNEL
-   stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT);
+   stream.ibuf = (char *)contigmalloc(stream.cur_ip, M_BPFJIT,
+   M_NOWAIT, 0, ~0ULL, 16, 0);
if (stream.ibuf == NULL)
break;
 #else
-   if (stream.cur_ip > BPF_JIT_MAXSIZE) {
-   stream.ibuf = NULL;
-   break;
-   }
-   stream.ibuf = (char *)mmap(NULL, BPF_JIT_MAXSIZE,
+   stream.ibuf = (char *)mmap(NULL, stream.cur_ip,
PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
if (stream.ibuf == MAP_FAILED) {
stream.ibuf = NULL;

Modified: head/sys/net/bpf_jitter.c
==
--- head/sy

Re: svn commit: r199492 - in head/sys: amd64/amd64 i386/i386 net

2009-11-18 Thread Jung-uk Kim
On Wednesday 18 November 2009 05:39 pm, Robert Watson wrote:
> I'm not sure if you have noticed, but there are a bunch of embedded
> target ports of the BPF JIT in the PR collection -- ARM, MIPS, etc.
>  Any chance we might see those integrated into 9.x at some point? 
> The less cache-rich CPUs are especially helped by JIT parts.

Yes, I am aware of such patches.  However, I am not qualified to 
review/test them. :-(

If someone has time/hardware/knowledge to verify their correctness, 
I'll be happy to commit them.

Thanks,

Jung-uk Kim
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199499 - in head/tools/regression/bpf/bpf_filter: . tests

2009-11-18 Thread Jung-uk Kim
Author: jkim
Date: Thu Nov 19 00:00:31 2009
New Revision: 199499
URL: http://svn.freebsd.org/changeset/base/199499

Log:
  Add a test case for very long BPF program.

Added:
  head/tools/regression/bpf/bpf_filter/tests/test0084.h   (contents, props 
changed)
Modified:
  head/tools/regression/bpf/bpf_filter/Makefile

Modified: head/tools/regression/bpf/bpf_filter/Makefile
==
--- head/tools/regression/bpf/bpf_filter/Makefile   Wed Nov 18 23:40:19 
2009(r199498)
+++ head/tools/regression/bpf/bpf_filter/Makefile   Thu Nov 19 00:00:31 
2009(r199499)
@@ -20,7 +20,7 @@ TEST_CASES?=  test0001 test0002 test0003 
test0069 test0070 test0071 test0072 \
test0073 test0074 test0075 test0076 \
test0077 test0078 test0079 test0080 \
-   test0081 test0082 test0083
+   test0081 test0082 test0083 test0084
 
 SYSDIR?=   ${.CURDIR}/../../../../sys
 

Added: head/tools/regression/bpf/bpf_filter/tests/test0084.h
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/tools/regression/bpf/bpf_filter/tests/test0084.h   Thu Nov 19 
00:00:31 2009(r199499)
@@ -0,0 +1,1030 @@
+/*-
+ * Test 0084:  Check very long BPF program.
+ *
+ * $FreeBSD$
+ */
+
+/* BPF program */
+struct bpf_insn pc[] = {
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 1),
+   BPF_STMT(BPF_LD+BPF_W+BPF

Re: svn commit: r199469 - head/lib/librt

2009-11-18 Thread David Xu

M. Warner Losh wrote:

In message: <200911180509.nai593kq058...@svn.freebsd.org>
David Xu  writes:
: Author: davidxu
: Date: Wed Nov 18 05:09:03 2009
: New Revision: 199469
: URL: http://svn.freebsd.org/changeset/base/199469
: 
: Log:

:   link libpthread because the librt really needs it to fully function.

If you are now requiring libpthread, why are you using the _pthread_*
functions everywhere else?

Warner


now the pthread_cleanup_push is a macro, but originally it is a
function.

I don't know if we need an underline version of pthread_cleanup_push,
it is trivial if one wants to add it.


___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r199502 - head/sys/ia64/ia64

2009-11-18 Thread Marcel Moolenaar
Author: marcel
Date: Thu Nov 19 01:27:22 2009
New Revision: 199502
URL: http://svn.freebsd.org/changeset/base/199502

Log:
  opt_* headers are included using the quoted form.

Modified:
  head/sys/ia64/ia64/db_machdep.c
  head/sys/ia64/ia64/exception.S

Modified: head/sys/ia64/ia64/db_machdep.c
==
--- head/sys/ia64/ia64/db_machdep.c Thu Nov 19 01:20:16 2009
(r199501)
+++ head/sys/ia64/ia64/db_machdep.c Thu Nov 19 01:27:22 2009
(r199502)
@@ -29,7 +29,7 @@
 #include 
 __FBSDID("$FreeBSD$");
 
-#include 
+#include "opt_xtrace.h"
 
 #include 
 #include 

Modified: head/sys/ia64/ia64/exception.S
==
--- head/sys/ia64/ia64/exception.S  Thu Nov 19 01:20:16 2009
(r199501)
+++ head/sys/ia64/ia64/exception.S  Thu Nov 19 01:27:22 2009
(r199502)
@@ -28,7 +28,7 @@
 #include 
 __FBSDID("$FreeBSD$");
 
-#include 
+#include "opt_xtrace.h"
 
 #include 
 #include 
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r199469 - head/lib/librt

2009-11-18 Thread M. Warner Losh
In message: <4b049b32.6090...@freebsd.org>
David Xu  writes:
: M. Warner Losh wrote:
: > In message: <200911180509.nai593kq058...@svn.freebsd.org>
: > David Xu  writes:
: > : Author: davidxu
: > : Date: Wed Nov 18 05:09:03 2009
: > : New Revision: 199469
: > : URL: http://svn.freebsd.org/changeset/base/199469
: > : 
: > : Log:
: > :   link libpthread because the librt really needs it to fully function.
: > 
: > If you are now requiring libpthread, why are you using the _pthread_*
: > functions everywhere else?
: > 
: > Warner
: 
: now the pthread_cleanup_push is a macro, but originally it is a
: function.
: 
: I don't know if we need an underline version of pthread_cleanup_push,
: it is trivial if one wants to add it.

That makes sense.  won't we need some compat shim for old binaries?

Warner
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"