svn commit: r219842 - in projects/altix/sys: amd64/include conf
dev/ath/ath_hal/ar5416 dev/ath/ath_rate/sample dev/hptmv
i386/include kern modules modules/mlx4 modules/mlx4ib
modules/mlxen modules/...
Marcel Moolenaar
marcel at FreeBSD.org
Mon Mar 21 18:39:42 UTC 2011
Author: marcel
Date: Mon Mar 21 18:39:42 2011
New Revision: 219842
URL: http://svn.freebsd.org/changeset/base/219842
Log:
Merge svn+ssh://svn.freebsd.org/base/head@219841
Added:
projects/altix/sys/modules/mlx4/
- copied from r219841, head/sys/modules/mlx4/
projects/altix/sys/modules/mlx4ib/
- copied from r219841, head/sys/modules/mlx4ib/
projects/altix/sys/modules/mlxen/
- copied from r219841, head/sys/modules/mlxen/
projects/altix/sys/modules/mthca/
- copied from r219841, head/sys/modules/mthca/
projects/altix/sys/ofed/
- copied from r219841, head/sys/ofed/
Modified:
projects/altix/sys/amd64/include/endian.h
projects/altix/sys/conf/files
projects/altix/sys/conf/files.ia64
projects/altix/sys/conf/kern.pre.mk
projects/altix/sys/conf/options
projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
projects/altix/sys/dev/ath/ath_rate/sample/sample.c
projects/altix/sys/dev/hptmv/hptproc.c
projects/altix/sys/i386/include/endian.h
projects/altix/sys/kern/kern_intr.c
projects/altix/sys/kern/kern_jail.c
projects/altix/sys/kern/kern_sx.c
projects/altix/sys/kern/kern_sysctl.c
projects/altix/sys/kern/subr_bus.c
projects/altix/sys/modules/Makefile
projects/altix/sys/net/if.c
projects/altix/sys/net/if_arp.h
projects/altix/sys/net/if_llatbl.h
projects/altix/sys/net/if_types.h
projects/altix/sys/net/if_var.h
projects/altix/sys/net/if_vlan.c
projects/altix/sys/net/if_vlan_var.h
projects/altix/sys/netgraph/ng_base.c
projects/altix/sys/netinet/if_ether.c
projects/altix/sys/netinet/in.c
projects/altix/sys/netinet6/in6.c
projects/altix/sys/netinet6/nd6.c
projects/altix/sys/netinet6/nd6_nbr.c
projects/altix/sys/sys/bus.h
projects/altix/sys/sys/file.h
projects/altix/sys/sys/interrupt.h
projects/altix/sys/sys/jail.h
projects/altix/sys/sys/sx.h
projects/altix/sys/sys/sysctl.h
projects/altix/sys/vm/uma_core.c
projects/altix/sys/vm/vm_map.c
projects/altix/sys/vm/vm_map.h
Directory Properties:
projects/altix/lib/libstand/ (props changed)
projects/altix/sys/ (props changed)
projects/altix/sys/amd64/include/xen/ (props changed)
projects/altix/sys/boot/i386/efi/ (props changed)
projects/altix/sys/boot/ia64/efi/ (props changed)
projects/altix/sys/boot/ia64/ski/ (props changed)
projects/altix/sys/boot/powerpc/boot1.chrp/ (props changed)
projects/altix/sys/boot/powerpc/ofw/ (props changed)
projects/altix/sys/cddl/contrib/opensolaris/ (props changed)
projects/altix/sys/conf/ (props changed)
projects/altix/sys/contrib/dev/acpica/ (props changed)
projects/altix/sys/contrib/octeon-sdk/ (props changed)
projects/altix/sys/contrib/pf/ (props changed)
projects/altix/sys/contrib/x86emu/ (props changed)
projects/altix/sys/kern/subr_busdma.c (props changed)
projects/altix/sys/ofed/drivers/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/core/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/debug/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/hw/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/hw/mlx4/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/hw/mthca/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/ulp/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/ulp/ipoib/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/ulp/sdp/ (props changed)
projects/altix/sys/ofed/drivers/infiniband/util/ (props changed)
projects/altix/sys/ofed/drivers/net/ (props changed)
projects/altix/sys/ofed/drivers/net/mlx4/ (props changed)
projects/altix/sys/ofed/include/ (props changed)
projects/altix/sys/ofed/include/asm/ (props changed)
projects/altix/sys/ofed/include/linux/ (props changed)
projects/altix/sys/ofed/include/linux/mlx4/ (props changed)
projects/altix/sys/ofed/include/net/ (props changed)
projects/altix/sys/ofed/include/rdma/ (props changed)
Modified: projects/altix/sys/amd64/include/endian.h
==============================================================================
--- projects/altix/sys/amd64/include/endian.h Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/amd64/include/endian.h Mon Mar 21 18:39:42 2011 (r219842)
@@ -69,73 +69,59 @@ extern "C" {
#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P)
-#define __byte_swap_int_var(x) \
-__extension__ ({ register __uint32_t __X = (x); \
- __asm ("bswap %0" : "+r" (__X)); \
- __X; })
+#define __bswap64_const(_x) \
+ (((_x) >> 56) | \
+ (((_x) >> 40) & (0xffUL << 8)) | \
+ (((_x) >> 24) & (0xffUL << 16)) | \
+ (((_x) >> 8) & (0xffUL << 24)) | \
+ (((_x) << 8) & (0xffUL << 32)) | \
+ (((_x) << 24) & (0xffUL << 40)) | \
+ (((_x) << 40) & (0xffUL << 48)) | \
+ ((_x) << 56))
+
+#define __bswap32_const(_x) \
+ (((_x) >> 24) | \
+ (((_x) & (0xff << 16)) >> 8) | \
+ (((_x) & (0xff << 8)) << 8) | \
+ ((_x) << 24))
-#ifdef __OPTIMIZE__
-
-#define __byte_swap_int_const(x) \
- ((((x) & 0xff000000) >> 24) | \
- (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | \
- (((x) & 0x000000ff) << 24))
-#define __byte_swap_int(x) (__builtin_constant_p(x) ? \
- __byte_swap_int_const(x) : __byte_swap_int_var(x))
-
-#else /* __OPTIMIZE__ */
-
-#define __byte_swap_int(x) __byte_swap_int_var(x)
-
-#endif /* __OPTIMIZE__ */
-
-#define __byte_swap_long_var(x) \
-__extension__ ({ register __uint64_t __X = (x); \
- __asm ("bswap %0" : "+r" (__X)); \
- __X; })
-
-#ifdef __OPTIMIZE__
-
-#define __byte_swap_long_const(x) \
- (((x >> 56) | \
- ((x >> 40) & 0xff00) | \
- ((x >> 24) & 0xff0000) | \
- ((x >> 8) & 0xff000000) | \
- ((x << 8) & (0xfful << 32)) | \
- ((x << 24) & (0xfful << 40)) | \
- ((x << 40) & (0xfful << 48)) | \
- ((x << 56))))
-
-#define __byte_swap_long(x) (__builtin_constant_p(x) ? \
- __byte_swap_long_const(x) : __byte_swap_long_var(x))
-
-#else /* __OPTIMIZE__ */
-
-#define __byte_swap_long(x) __byte_swap_long_var(x)
-
-#endif /* __OPTIMIZE__ */
+#define __bswap16_const(_x) (__uint16_t)((_x) << 8 | (_x) >> 8)
static __inline __uint64_t
-__bswap64(__uint64_t _x)
+__bswap64_var(__uint64_t _x)
{
- return (__byte_swap_long(_x));
+ __asm ("bswap %0" : "+r" (_x));
+ return (_x);
}
static __inline __uint32_t
-__bswap32(__uint32_t _x)
+__bswap32_var(__uint32_t _x)
{
- return (__byte_swap_int(_x));
+ __asm ("bswap %0" : "+r" (_x));
+ return (_x);
}
static __inline __uint16_t
-__bswap16(__uint16_t _x)
+__bswap16_var(__uint16_t _x)
{
- return (_x << 8 | _x >> 8);
+
+ return (__bswap16_const(_x));
}
+#define __bswap64(_x) \
+ (__builtin_constant_p(_x) ? \
+ __bswap64_const((__uint64_t)(_x)) : __bswap64_var(_x))
+
+#define __bswap32(_x) \
+ (__builtin_constant_p(_x) ? \
+ __bswap32_const((__uint32_t)(_x)) : __bswap32_var(_x))
+
+#define __bswap16(_x) \
+ (__builtin_constant_p(_x) ? \
+ __bswap16_const((__uint16_t)(_x)) : __bswap16_var(_x))
+
#define __htonl(x) __bswap32(x)
#define __htons(x) __bswap16(x)
#define __ntohl(x) __bswap32(x)
Modified: projects/altix/sys/conf/files
==============================================================================
--- projects/altix/sys/conf/files Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/conf/files Mon Mar 21 18:39:42 2011 (r219842)
@@ -2792,6 +2792,281 @@ nlm/nlm_prot_server.c optional nfslockd
nlm/nlm_prot_svc.c optional nfslockd | nfsd
nlm/nlm_prot_xdr.c optional nfslockd | nfsd
nlm/sm_inter_xdr.c optional nfslockd | nfsd
+
+# OpenFabrics Enterprise Distribution (Infiniband)
+ofed/include/linux/linux_compat.c optional ofed \
+ no-depend compile-with "${OFED_C}"
+ofed/include/linux/linux_idr.c optional ofed \
+ no-depend compile-with "${OFED_C}"
+ofed/include/linux/linux_radix.c optional ofed \
+ no-depend compile-with "${OFED_C}"
+ofed/drivers/infiniband/core/addr.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/agent.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/cache.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+# XXX Mad.c must be ordered before cm.c for sysinit sets to occur in
+# the correct order.
+ofed/drivers/infiniband/core/mad.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/cm.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/cma.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/device.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/fmr_pool.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/iwcm.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/local_sa.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/mad_rmpp.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/multicast.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/notice.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/packer.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/sa_query.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/smi.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/sysfs.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/ucm.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/ucma.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/ud_header.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/umem.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/user_mad.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/uverbs_cmd.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/uverbs_main.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/uverbs_marshall.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+ofed/drivers/infiniband/core/verbs.c optional ofed \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
+
+ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c optional ipoib \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+#ofed/drivers/infiniband/ulp/ipoib/ipoib_fs.c optional ipoib \
+# no-depend \
+# compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c optional ipoib \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c optional ipoib \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c optional ipoib \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+ofed/drivers/infiniband/ulp/ipoib/ipoib_verbs.c optional ipoib \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+#ofed/drivers/infiniband/ulp/ipoib/ipoib_vlan.c optional ipoib \
+# no-depend \
+# compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
+
+ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c optional sdp \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
+ofed/drivers/infiniband/ulp/sdp/sdp_main.c optional sdp \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
+ofed/drivers/infiniband/ulp/sdp/sdp_rx.c optional sdp \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
+ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
+ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp \
+ no-depend \
+ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
+
+ofed/drivers/infiniband/hw/mlx4/ah.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/cq.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/doorbell.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/mad.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/main.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/mr.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/qp.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/srq.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+ofed/drivers/infiniband/hw/mlx4/wc.c optional mlx4ib \
+ no-depend obj-prefix "mlx4ib_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
+
+ofed/drivers/net/mlx4/alloc.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/catas.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/cmd.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/cq.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/eq.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/fw.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/icm.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/intf.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/main.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/mcg.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/mr.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/pd.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/port.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/profile.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/qp.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/reset.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/sense.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/srq.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/xrcd.c optional mlx4ib | mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+
+ofed/drivers/net/mlx4/en_cq.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_frag.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_main.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_netdev.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_port.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_resources.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_rx.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+ofed/drivers/net/mlx4/en_tx.c optional mlxen \
+ no-depend obj-prefix "mlx4_" \
+ compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
+
+ofed/drivers/infiniband/hw/mthca/mthca_allocator.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_av.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_catas.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_cmd.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_cq.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_eq.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_mad.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_main.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_mcg.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_memfree.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_mr.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_pd.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_profile.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_provider.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_qp.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_reset.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_srq.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+ofed/drivers/infiniband/hw/mthca/mthca_uar.c optional mthca \
+ no-depend compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/mthca/"
+
# crypto support
opencrypto/cast.c optional crypto | ipsec
opencrypto/criov.c optional crypto
Modified: projects/altix/sys/conf/files.ia64
==============================================================================
--- projects/altix/sys/conf/files.ia64 Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/conf/files.ia64 Mon Mar 21 18:39:42 2011 (r219842)
@@ -84,7 +84,6 @@ ia64/ia64/efi.c standard
ia64/ia64/elf_machdep.c standard
ia64/ia64/emulate.c standard
ia64/ia64/exception.S standard
-ia64/ia64/physical.S standard
ia64/ia64/gdb_machdep.c optional gdb
ia64/ia64/highfp.c standard
ia64/ia64/in_cksum.c optional inet
@@ -97,6 +96,7 @@ ia64/ia64/mem.c optional mem
ia64/ia64/mp_machdep.c optional smp
ia64/ia64/nexus.c standard
ia64/ia64/pal.S standard
+ia64/ia64/physical.S standard
ia64/ia64/pmap.c standard
ia64/ia64/ptrace_machdep.c standard
ia64/ia64/sal.c standard
Modified: projects/altix/sys/conf/kern.pre.mk
==============================================================================
--- projects/altix/sys/conf/kern.pre.mk Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/conf/kern.pre.mk Mon Mar 21 18:39:42 2011 (r219842)
@@ -146,6 +146,14 @@ NORMAL_CTFCONVERT= [ -z "${CTFCONVERT}"
NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC}
+# Infiniband C flags. Correct include paths and omit errors that linux
+# does not honor.
+OFEDINCLUDES= -I$S/ofed/include/
+OFEDNOERR= -Wno-cast-qual -Wno-pointer-arith -fms-extensions
+OFEDCFLAGS= ${CFLAGS:N-I*} ${OFEDINCLUDES} ${CFLAGS:M-I*} ${OFEDNOERR}
+OFED_C_NOIMP= ${CC} -c -o ${.TARGET} ${OFEDCFLAGS} ${WERROR} ${PROF}
+OFED_C= ${OFED_C_NOIMP} ${.IMPSRC}
+
GEN_CFILES= $S/$M/$M/genassym.c ${MFILES:T:S/.m$/.c/}
SYSTEM_CFILES= config.c env.c hints.c vnode_if.c
SYSTEM_DEP= Makefile ${SYSTEM_OBJS}
Modified: projects/altix/sys/conf/options
==============================================================================
--- projects/altix/sys/conf/options Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/conf/options Mon Mar 21 18:39:42 2011 (r219842)
@@ -862,3 +862,11 @@ X86BIOS
# Flattened device tree options
FDT opt_platform.h
FDT_DTB_STATIC opt_platform.h
+
+# OFED Infiniband stack
+OFED opt_ofed.h
+OFED_DEBUG_INIT opt_ofed.h
+SDP opt_ofed.h
+SDP_DEBUG opt_ofed.h
+IPOIB_DEBUG opt_ofed.h
+IPOIB_CM opt_ofed.h
Modified: projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
==============================================================================
--- projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -277,7 +277,8 @@ ar5416Attach(uint16_t devid, HAL_SOFTC s
HAL_INI_INIT(&AH5416(ah)->ah_ini_bank7, ar5416Bank7, 2);
HAL_INI_INIT(&AH5416(ah)->ah_ini_addac, ar5416Addac, 2);
- if (!IS_5416V2_2(ah)) { /* Owl 2.1/2.0 */
+ if (! IS_5416V2_2(ah)) { /* Owl 2.1/2.0 */
+ ath_hal_printf(ah, "[ath] Enabling CLKDRV workaround for AR5416 < v2.2\n");
struct ini {
uint32_t *data; /* NB: !const */
int rows, cols;
Modified: projects/altix/sys/dev/ath/ath_rate/sample/sample.c
==============================================================================
--- projects/altix/sys/dev/ath/ath_rate/sample/sample.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/dev/ath/ath_rate/sample/sample.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -250,6 +250,55 @@ pick_sample_rate(struct sample_softc *ss
#undef MCS
}
+static int
+ath_rate_get_static_rix(struct ath_softc *sc, const struct ieee80211_node *ni)
+{
+#define RATE(_ix) (ni->ni_rates.rs_rates[(_ix)] & IEEE80211_RATE_VAL)
+#define DOT11RATE(_ix) (rt->info[(_ix)].dot11Rate & IEEE80211_RATE_VAL)
+#define MCS(_ix) (ni->ni_htrates.rs_rates[_ix] | IEEE80211_RATE_MCS)
+ const struct ieee80211_txparam *tp = ni->ni_txparms;
+ int srate;
+
+ /* Check MCS rates */
+ for (srate = ni->ni_htrates.rs_nrates - 1; srate >= 0; srate--) {
+ if (MCS(srate) == tp->ucastrate)
+ return sc->sc_rixmap[tp->ucastrate];
+ }
+
+ /* Check legacy rates */
+ for (srate = ni->ni_rates.rs_nrates - 1; srate >= 0; srate--) {
+ if (RATE(srate) == tp->ucastrate)
+ return sc->sc_rixmap[tp->ucastrate];
+ }
+ return -1;
+#undef RATE
+#undef DOT11RATE
+#undef MCS
+}
+
+static void
+ath_rate_update_static_rix(struct ath_softc *sc, struct ieee80211_node *ni)
+{
+ struct ath_node *an = ATH_NODE(ni);
+ const struct ieee80211_txparam *tp = ni->ni_txparms;
+ struct sample_node *sn = ATH_NODE_SAMPLE(an);
+
+ if (tp != NULL && tp->ucastrate != IEEE80211_FIXED_RATE_NONE) {
+ /*
+ * A fixed rate is to be used; ucastrate is the IEEE code
+ * for this rate (sans basic bit). Check this against the
+ * negotiated rate set for the node. Note the fixed rate
+ * may not be available for various reasons so we only
+ * setup the static rate index if the lookup is successful.
+ */
+ sn->static_rix = ath_rate_get_static_rix(sc, ni);
+ } else {
+ sn->static_rix = -1;
+ }
+}
+
+
+
void
ath_rate_findrate(struct ath_softc *sc, struct ath_node *an,
int shortPreamble, size_t frameLen,
@@ -267,6 +316,8 @@ ath_rate_findrate(struct ath_softc *sc,
int rix, mrr, best_rix, change_rates;
unsigned average_tx_time;
+ ath_rate_update_static_rix(sc, &an->an_node);
+
if (sn->static_rix != -1) {
rix = sn->static_rix;
*try0 = ATH_TXMAXTRY;
@@ -560,9 +611,10 @@ ath_rate_tx_complete(struct ath_softc *s
* Only one rate was used; optimize work.
*/
IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
- &an->an_node, "%s: size %d %s rate/try %d %s/%d/%d",
+ &an->an_node, "%s: size %d (%d bytes) %s rate/try %d %s/%d/%d",
__func__,
bin_to_size(size_to_bin(frame_size)),
+ frame_size,
ts->ts_status ? "FAIL" : "OK",
dot11rate(rt, final_rix), dot11rate_label(rt, final_rix), short_tries, long_tries);
update_stats(sc, an, frame_size,
@@ -587,9 +639,10 @@ ath_rate_tx_complete(struct ath_softc *s
IEEE80211_NOTE(an->an_node.ni_vap, IEEE80211_MSG_RATECTL,
&an->an_node,
-"%s: size %d finaltsidx %d tries %d %s rate/try [%d %s/%d %d %s/%d %d %s/%d %d %s/%d]",
+"%s: size %d (%d bytes) finaltsidx %d tries %d %s rate/try [%d %s/%d %d %s/%d %d %s/%d %d %s/%d]",
__func__,
bin_to_size(size_to_bin(frame_size)),
+ frame_size,
finalTSIdx,
long_tries,
ts->ts_status ? "FAIL" : "OK",
@@ -686,12 +739,10 @@ ath_rate_ctl_reset(struct ath_softc *sc,
#define RATE(_ix) (ni->ni_rates.rs_rates[(_ix)] & IEEE80211_RATE_VAL)
#define DOT11RATE(_ix) (rt->info[(_ix)].dot11Rate & IEEE80211_RATE_VAL)
#define MCS(_ix) (ni->ni_htrates.rs_rates[_ix] | IEEE80211_RATE_MCS)
-
struct ath_node *an = ATH_NODE(ni);
- const struct ieee80211_txparam *tp = ni->ni_txparms;
struct sample_node *sn = ATH_NODE_SAMPLE(an);
const HAL_RATE_TABLE *rt = sc->sc_currates;
- int x, y, srate, rix;
+ int x, y, rix;
KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
@@ -702,33 +753,7 @@ ath_rate_ctl_reset(struct ath_softc *sc,
("no mrr schedule for mode %u", sc->sc_curmode));
sn->static_rix = -1;
- if (tp != NULL && tp->ucastrate != IEEE80211_FIXED_RATE_NONE) {
- /*
- * A fixed rate is to be used; ucastrate is the IEEE code
- * for this rate (sans basic bit). Check this against the
- * negotiated rate set for the node. Note the fixed rate
- * may not be available for various reasons so we only
- * setup the static rate index if the lookup is successful.
- */
-
- /* XXX todo: check MCS rates */
-
- /* Check legacy rates */
- for (srate = ni->ni_rates.rs_nrates - 1; srate >= 0; srate--)
- if (RATE(srate) == tp->ucastrate) {
- sn->static_rix = sc->sc_rixmap[tp->ucastrate];
- break;
- }
-#ifdef IEEE80211_DEBUG
- if (sn->static_rix == -1) {
- IEEE80211_NOTE(ni->ni_vap,
- IEEE80211_MSG_RATECTL, ni,
- "%s: ucastrate %u not found, nrates %u",
- __func__, tp->ucastrate,
- ni->ni_rates.rs_nrates);
- }
-#endif
- }
+ ath_rate_update_static_rix(sc, ni);
/*
* Construct a bitmask of usable rates. This has all
Modified: projects/altix/sys/dev/hptmv/hptproc.c
==============================================================================
--- projects/altix/sys/dev/hptmv/hptproc.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/dev/hptmv/hptproc.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -51,8 +51,8 @@ int hpt_rescan_all(void);
static char hptproc_buffer[256];
extern char DRIVER_VERSION[];
-#define FORMAL_HANDLER_ARGS struct sysctl_oid *oidp, void *arg1, int arg2, \
- struct sysctl_req *req
+#define FORMAL_HANDLER_ARGS struct sysctl_oid *oidp, void *arg1, \
+ intptr_t arg2, struct sysctl_req *req
#define REAL_HANDLER_ARGS oidp, arg1, arg2, req
typedef struct sysctl_req HPT_GET_INFO;
Modified: projects/altix/sys/i386/include/endian.h
==============================================================================
--- projects/altix/sys/i386/include/endian.h Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/i386/include/endian.h Mon Mar 21 18:39:42 2011 (r219842)
@@ -69,50 +69,59 @@ extern "C" {
#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P)
-#define __byte_swap_int_var(x) \
-__extension__ ({ register __uint32_t __X = (x); \
- __asm ("bswap %0" : "+r" (__X)); \
- __X; })
-
-#ifdef __OPTIMIZE__
-
-#define __byte_swap_int_const(x) \
- ((((x) & 0xff000000) >> 24) | \
- (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | \
- (((x) & 0x000000ff) << 24))
-#define __byte_swap_int(x) (__builtin_constant_p(x) ? \
- __byte_swap_int_const(x) : __byte_swap_int_var(x))
+#define __bswap64_const(_x) \
+ (((_x) >> 56) | \
+ (((_x) >> 40) & (0xffULL << 8)) | \
+ (((_x) >> 24) & (0xffULL << 16)) | \
+ (((_x) >> 8) & (0xffULL << 24)) | \
+ (((_x) << 8) & (0xffULL << 32)) | \
+ (((_x) << 24) & (0xffULL << 40)) | \
+ (((_x) << 40) & (0xffULL << 48)) | \
+ ((_x) << 56))
+
+#define __bswap32_const(_x) \
+ (((_x) >> 24) | \
+ (((_x) & (0xff << 16)) >> 8) | \
+ (((_x) & (0xff << 8)) << 8) | \
+ ((_x) << 24))
-#else /* __OPTIMIZE__ */
-
-#define __byte_swap_int(x) __byte_swap_int_var(x)
-
-#endif /* __OPTIMIZE__ */
+#define __bswap16_const(_x) (__uint16_t)((_x) << 8 | (_x) >> 8)
static __inline __uint64_t
-__bswap64(__uint64_t _x)
+__bswap64_var(__uint64_t __x)
{
- return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) |
- ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) |
- ((_x << 24) & ((__uint64_t)0xff << 40)) |
- ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56)));
+ return __bswap64_const(__x);
}
+
static __inline __uint32_t
-__bswap32(__uint32_t _x)
+__bswap32_var(__uint32_t _x)
{
- return (__byte_swap_int(_x));
+ __asm ("bswap %0" : "+r" (_x));
+ return (_x);
}
static __inline __uint16_t
-__bswap16(__uint16_t _x)
+__bswap16_var(__uint16_t _x)
{
- return (_x << 8 | _x >> 8);
+
+ return (__bswap16_const(_x));
}
+#define __bswap64(_x) \
+ (__builtin_constant_p(_x) ? \
+ __bswap64_const((__uint64_t)(_x)) : __bswap64_var(_x))
+
+#define __bswap32(_x) \
+ (__builtin_constant_p(_x) ? \
+ __bswap32_const((__uint32_t)(_x)) : __bswap32_var(_x))
+
+#define __bswap16(_x) \
+ (__builtin_constant_p(_x) ? \
+ __bswap16_const((__uint16_t)(_x)) : __bswap16_var(_x))
+
#define __htonl(x) __bswap32(x)
#define __htons(x) __bswap16(x)
#define __ntohl(x) __bswap32(x)
Modified: projects/altix/sys/kern/kern_intr.c
==============================================================================
--- projects/altix/sys/kern/kern_intr.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/kern/kern_intr.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -74,6 +74,7 @@ struct intr_thread {
/* Interrupt thread flags kept in it_flags */
#define IT_DEAD 0x000001 /* Thread is waiting to exit. */
+#define IT_WAIT 0x000002 /* Thread is waiting for completion. */
struct intr_entropy {
struct thread *td;
@@ -735,6 +736,39 @@ intr_handler_source(void *cookie)
return (ie->ie_source);
}
+/*
+ * Sleep until an ithread finishes executing an interrupt handler.
+ *
+ * XXX Doesn't currently handle interrupt filters or fast interrupt
+ * handlers. This is intended for compatibility with linux drivers
+ * only. Do not use in BSD code.
+ */
+void
+_intr_drain(int irq)
+{
+ struct mtx *mtx;
+ struct intr_event *ie;
+ struct intr_thread *ithd;
+ struct thread *td;
+
+ ie = intr_lookup(irq);
+ if (ie == NULL)
+ return;
+ if (ie->ie_thread == NULL)
+ return;
+ ithd = ie->ie_thread;
+ td = ithd->it_thread;
+ thread_lock(td);
+ mtx = td->td_lock;
+ if (!TD_AWAITING_INTR(td)) {
+ ithd->it_flags |= IT_WAIT;
+ msleep_spin(ithd, mtx, "isync", 0);
+ }
+ mtx_unlock_spin(mtx);
+ return;
+}
+
+
#ifndef INTR_FILTER
int
intr_event_remove_handler(void *cookie)
@@ -1271,6 +1305,7 @@ ithread_loop(void *arg)
struct intr_event *ie;
struct thread *td;
struct proc *p;
+ int wake;
td = curthread;
p = td->td_proc;
@@ -1279,6 +1314,7 @@ ithread_loop(void *arg)
("%s: ithread and proc linkage out of sync", __func__));
ie = ithd->it_event;
ie->ie_count = 0;
+ wake = 0;
/*
* As long as we have interrupts outstanding, go through the
@@ -1319,12 +1355,20 @@ ithread_loop(void *arg)
* set again, so we have to check it again.
*/
thread_lock(td);
- if (!ithd->it_need && !(ithd->it_flags & IT_DEAD)) {
+ if (!ithd->it_need && !(ithd->it_flags & (IT_DEAD | IT_WAIT))) {
TD_SET_IWAIT(td);
ie->ie_count = 0;
mi_switch(SW_VOL | SWT_IWAIT, NULL);
}
+ if (ithd->it_flags & IT_WAIT) {
+ wake = 1;
+ ithd->it_flags &= ~IT_WAIT;
+ }
thread_unlock(td);
+ if (wake) {
+ wakeup(ithd);
+ wake = 0;
+ }
}
}
@@ -1439,6 +1483,7 @@ ithread_loop(void *arg)
struct thread *td;
struct proc *p;
int priv;
+ int wake;
td = curthread;
p = td->td_proc;
@@ -1449,6 +1494,7 @@ ithread_loop(void *arg)
("%s: ithread and proc linkage out of sync", __func__));
ie = ithd->it_event;
ie->ie_count = 0;
+ wake = 0;
/*
* As long as we have interrupts outstanding, go through the
@@ -1492,12 +1538,20 @@ ithread_loop(void *arg)
* set again, so we have to check it again.
*/
thread_lock(td);
- if (!ithd->it_need && !(ithd->it_flags & IT_DEAD)) {
+ if (!ithd->it_need && !(ithd->it_flags & (IT_DEAD | IT_WAIT))) {
TD_SET_IWAIT(td);
ie->ie_count = 0;
mi_switch(SW_VOL | SWT_IWAIT, NULL);
}
+ if (ithd->it_flags & IT_WAIT) {
+ wake = 1;
+ ithd->it_flags &= ~IT_WAIT;
+ }
thread_unlock(td);
+ if (wake) {
+ wakeup(ithd);
+ wake = 0;
+ }
}
}
Modified: projects/altix/sys/kern/kern_jail.c
==============================================================================
--- projects/altix/sys/kern/kern_jail.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/kern/kern_jail.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -4182,7 +4182,7 @@ sysctl_jail_param(SYSCTL_HANDLER_ARGS)
i = 0;
return (SYSCTL_OUT(req, &i, sizeof(i)));
case CTLTYPE_STRING:
- snprintf(numbuf, sizeof(numbuf), "%d", arg2);
+ snprintf(numbuf, sizeof(numbuf), "%jd", (intmax_t)arg2);
return
(sysctl_handle_string(oidp, numbuf, sizeof(numbuf), req));
case CTLTYPE_STRUCT:
Modified: projects/altix/sys/kern/kern_sx.c
==============================================================================
--- projects/altix/sys/kern/kern_sx.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/kern/kern_sx.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -194,7 +194,7 @@ sx_sysinit(void *arg)
{
struct sx_args *sargs = arg;
- sx_init(sargs->sa_sx, sargs->sa_desc);
+ sx_init_flags(sargs->sa_sx, sargs->sa_desc, sargs->sa_flags);
}
void
Modified: projects/altix/sys/kern/kern_sysctl.c
==============================================================================
--- projects/altix/sys/kern/kern_sysctl.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/kern/kern_sysctl.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -365,10 +365,31 @@ sysctl_remove_oid(struct sysctl_oid *oid
return (error);
}
+int
+sysctl_remove_name(struct sysctl_oid *parent, const char *name,
+ int del, int recurse)
+{
+ struct sysctl_oid *p, *tmp;
+ int error;
+
+ error = ENOENT;
+ SYSCTL_XLOCK();
+ SLIST_FOREACH_SAFE(p, SYSCTL_CHILDREN(parent), oid_link, tmp) {
+ if (strcmp(p->oid_name, name) == 0) {
+ error = sysctl_remove_oid_locked(p, del, recurse);
+ break;
+ }
+ }
+ SYSCTL_XUNLOCK();
+
+ return (error);
+}
+
+
static int
sysctl_remove_oid_locked(struct sysctl_oid *oidp, int del, int recurse)
{
- struct sysctl_oid *p;
+ struct sysctl_oid *p, *tmp;
int error;
SYSCTL_ASSERT_XLOCKED();
@@ -387,7 +408,8 @@ sysctl_remove_oid_locked(struct sysctl_o
*/
if ((oidp->oid_kind & CTLTYPE) == CTLTYPE_NODE) {
if (oidp->oid_refcnt == 1) {
- SLIST_FOREACH(p, SYSCTL_CHILDREN(oidp), oid_link) {
+ SLIST_FOREACH_SAFE(p,
+ SYSCTL_CHILDREN(oidp), oid_link, tmp) {
if (!recurse)
return (ENOTEMPTY);
error = sysctl_remove_oid_locked(p, del,
@@ -428,14 +450,13 @@ sysctl_remove_oid_locked(struct sysctl_o
}
return (0);
}
-
/*
* Create new sysctls at run time.
* clist may point to a valid context initialized with sysctl_ctx_init().
*/
struct sysctl_oid *
sysctl_add_oid(struct sysctl_ctx_list *clist, struct sysctl_oid_list *parent,
- int number, const char *name, int kind, void *arg1, int arg2,
+ int number, const char *name, int kind, void *arg1, intptr_t arg2,
int (*handler)(SYSCTL_HANDLER_ARGS), const char *fmt, const char *descr)
{
struct sysctl_oid *oidp;
@@ -479,6 +500,7 @@ sysctl_add_oid(struct sysctl_ctx_list *c
SYSCTL_CHILDREN_SET(oidp, malloc(sizeof(struct sysctl_oid_list),
M_SYSCTLOID, M_WAITOK));
SLIST_INIT(SYSCTL_CHILDREN(oidp));
+ oidp->oid_arg2 = arg2;
} else {
oidp->oid_arg1 = arg1;
oidp->oid_arg2 = arg2;
Modified: projects/altix/sys/kern/subr_bus.c
==============================================================================
--- projects/altix/sys/kern/subr_bus.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/kern/subr_bus.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -1038,7 +1038,7 @@ devclass_driver_added(devclass_t dc, dri
* @param dc the devclass to edit
* @param driver the driver to register
*/
-static int
+int
devclass_add_driver(devclass_t dc, driver_t *driver, int pass, devclass_t *dcp)
{
driverlink_t dl;
@@ -1172,7 +1172,7 @@ devclass_driver_deleted(devclass_t buscl
* @param dc the devclass to edit
* @param driver the driver to unregister
*/
-static int
+int
devclass_delete_driver(devclass_t busclass, driver_t *driver)
{
devclass_t dc = devclass_find(driver->name);
Modified: projects/altix/sys/modules/Makefile
==============================================================================
--- projects/altix/sys/modules/Makefile Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/modules/Makefile Mon Mar 21 18:39:42 2011 (r219842)
@@ -185,6 +185,9 @@ SUBDIR= ${_3dfx} \
mfi \
mii \
mlx \
+ mlx4 \
+ mlx4ib \
+ mlxen \
${_mly} \
mmc \
mmcsd \
@@ -195,6 +198,7 @@ SUBDIR= ${_3dfx} \
msdosfs_iconv \
${_mse} \
msk \
+ mthca \
mvs \
mwl \
mwlfw \
Modified: projects/altix/sys/net/if.c
==============================================================================
--- projects/altix/sys/net/if.c Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/net/if.c Mon Mar 21 18:39:42 2011 (r219842)
@@ -1881,6 +1881,11 @@ if_route(struct ifnet *ifp, int flag, in
void (*vlan_link_state_p)(struct ifnet *); /* XXX: private from if_vlan */
void (*vlan_trunk_cap_p)(struct ifnet *); /* XXX: private from if_vlan */
+struct ifnet *(*vlan_trunkdev_p)(struct ifnet *);
+struct ifnet *(*vlan_devat_p)(struct ifnet *, uint16_t);
+int (*vlan_tag_p)(struct ifnet *, uint16_t *);
+int (*vlan_setcookie_p)(struct ifnet *, void *);
+void *(*vlan_cookie_p)(struct ifnet *);
/*
* Handle a change in the interface link state. To avoid LORs
@@ -1935,6 +1940,7 @@ do_link_state_change(void *arg, int pend
if (log_link_state_change)
log(LOG_NOTICE, "%s: link state changed to %s\n", ifp->if_xname,
(link_state == LINK_STATE_UP) ? "UP" : "DOWN" );
+ EVENTHANDLER_INVOKE(ifnet_link_event, ifp, ifp->if_link_state);
CURVNET_RESTORE();
}
Modified: projects/altix/sys/net/if_arp.h
==============================================================================
--- projects/altix/sys/net/if_arp.h Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/net/if_arp.h Mon Mar 21 18:39:42 2011 (r219842)
@@ -50,6 +50,7 @@ struct arphdr {
#define ARPHRD_ARCNET 7 /* arcnet hardware format */
#define ARPHRD_FRELAY 15 /* frame relay hardware format */
#define ARPHRD_IEEE1394 24 /* firewire hardware format */
+#define ARPHRD_INFINIBAND 32 /* infiniband hardware format */
u_short ar_pro; /* format of protocol address */
u_char ar_hln; /* length of hardware address */
u_char ar_pln; /* length of protocol address */
Modified: projects/altix/sys/net/if_llatbl.h
==============================================================================
--- projects/altix/sys/net/if_llatbl.h Mon Mar 21 18:20:53 2011 (r219841)
+++ projects/altix/sys/net/if_llatbl.h Mon Mar 21 18:39:42 2011 (r219842)
@@ -30,6 +30,8 @@ __FBSDID("$FreeBSD$");
#ifndef _NET_IF_LLATBL_H_
#define _NET_IF_LLATBL_H_
+#include "opt_ofed.h"
+
#include <sys/_rwlock.h>
#include <netinet/in.h>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list