[Xenomai-git] Gilles Chanteperdrix : lib/cobalt: allow getting/ setting affinity in pthread_attr_ex_t

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: 6e26e8ac789b511cb4bdd6434cdd358da4038717
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=6e26e8ac789b511cb4bdd6434cdd358da4038717

Author: Gilles Chanteperdrix 
Date:   Wed Nov  4 01:34:59 2015 +0100

lib/cobalt: allow getting/setting affinity in pthread_attr_ex_t

---

 include/cobalt/pthread.h |7 +++
 lib/cobalt/attr.c|   12 
 2 files changed, 19 insertions(+)

diff --git a/include/cobalt/pthread.h b/include/cobalt/pthread.h
index 386c337..1d229de 100644
--- a/include/cobalt/pthread.h
+++ b/include/cobalt/pthread.h
@@ -164,6 +164,13 @@ int pthread_attr_getpersonality_ex(const pthread_attr_ex_t 
*attr_ex,
 
 int pthread_attr_setpersonality_ex(pthread_attr_ex_t *attr_ex,
   int personality);
+
+int pthread_attr_getaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, cpu_set_t *cpuset);
+
+int pthread_attr_setaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, const cpu_set_t *cpuset);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib/cobalt/attr.c b/lib/cobalt/attr.c
index 586de92..657771b 100644
--- a/lib/cobalt/attr.c
+++ b/lib/cobalt/attr.c
@@ -131,6 +131,18 @@ int pthread_attr_setscope_ex(pthread_attr_ex_t *attr_ex,
return pthread_attr_setscope(_ex->std, scope);
 }
 
+int pthread_attr_getaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, cpu_set_t *cpuset)
+{
+   return pthread_attr_getaffinity_np(_ex->std, size, cpuset);
+}
+
+int pthread_attr_setaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, const cpu_set_t *cpuset)
+{
+   return pthread_attr_setaffinity_np(_ex->std, size, cpuset);
+}
+
 int pthread_attr_getpersonality_ex(const pthread_attr_ex_t *attr_ex,
   int *personality)
 {


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : testsuite/smokey: add RTnet raw packets test

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: 3806b25fe27f47dff18778f5cadec432fc28676f
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=3806b25fe27f47dff18778f5cadec432fc28676f

Author: Gilles Chanteperdrix 
Date:   Sun Nov  1 19:14:40 2015 +0100

testsuite/smokey: add RTnet raw packets test

---

 configure.ac |1 +
 testsuite/smokey/Makefile.am |1 +
 testsuite/smokey/net_common/setup.c  |7 +-
 testsuite/smokey/net_packet_raw/Makefile.am  |   10 +++
 testsuite/smokey/net_packet_raw/packet_raw.c |  122 ++
 5 files changed, 135 insertions(+), 6 deletions(-)

diff --git a/configure.ac b/configure.ac
index c277e50..bc11612 100644
--- a/configure.ac
+++ b/configure.ac
@@ -901,6 +901,7 @@ AC_CONFIG_FILES([ \
testsuite/smokey/leaks/Makefile \
testsuite/smokey/net_udp/Makefile \
testsuite/smokey/net_packet_dgram/Makefile \
+   testsuite/smokey/net_packet_raw/Makefile \
testsuite/smokey/net_common/Makefile \
testsuite/smokey/fpu-stress/Makefile \
testsuite/clocktest/Makefile \
diff --git a/testsuite/smokey/Makefile.am b/testsuite/smokey/Makefile.am
index 1a0364a..dd1d601 100644
--- a/testsuite/smokey/Makefile.am
+++ b/testsuite/smokey/Makefile.am
@@ -12,6 +12,7 @@ COBALT_SUBDIRS =  \
iddp\
leaks   \
net_packet_dgram\
+   net_packet_raw  \
net_udp \
net_common  \
posix-clock \
diff --git a/testsuite/smokey/net_common/setup.c 
b/testsuite/smokey/net_common/setup.c
index a315d2e..2dd79dc 100644
--- a/testsuite/smokey/net_common/setup.c
+++ b/testsuite/smokey/net_common/setup.c
@@ -251,16 +251,11 @@ static int find_peer(const char *intf, void *vpeer)
 
for(;;) {
err = fscanf(f, "%s\t%s\t%s\t%s\n", hash, dest, mac, dev);
-   if (err == 0) {
+   if (err == EOF) {
smokey_warning("No peer found\n");
err = -ENOENT;
goto err;
}
-   if (err < 0) {
-   err = -errno;
-   smokey_warning("fscanf: %s", strerror(-err));
-   goto err;
-   }
if (err < 4) {
smokey_warning("Error parsing"
" /proc/rtnet/ipv4/host_route\n");
diff --git a/testsuite/smokey/net_packet_raw/Makefile.am 
b/testsuite/smokey/net_packet_raw/Makefile.am
new file mode 100644
index 000..6a6372a
--- /dev/null
+++ b/testsuite/smokey/net_packet_raw/Makefile.am
@@ -0,0 +1,10 @@
+noinst_LIBRARIES = libnet_packet_raw.a
+
+libnet_packet_raw_a_SOURCES = \
+   packet_raw.c
+
+libnet_packet_raw_a_CPPFLAGS = \
+   @XENO_USER_CFLAGS@ \
+   -I$(srcdir)/../net_common \
+   -I$(top_srcdir)/include \
+   -I$(top_srcdir)/kernel/drivers/net/stack/include
diff --git a/testsuite/smokey/net_packet_raw/packet_raw.c 
b/testsuite/smokey/net_packet_raw/packet_raw.c
new file mode 100644
index 000..a7302ca
--- /dev/null
+++ b/testsuite/smokey/net_packet_raw/packet_raw.c
@@ -0,0 +1,122 @@
+/*
+ * RTnet AF_PACKET test
+ *
+ * Copyright (C) 2015 Gilles Chanteperdrix 
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include "smokey_net.h"
+
+smokey_test_plugin(net_packet_raw,
+   SMOKEY_ARGLIST(
+   SMOKEY_STRING(rtnet_driver),
+   SMOKEY_STRING(rtnet_interface),
+   SMOKEY_INT(rtnet_rate),
+   SMOKEY_INT(rtnet_duration),
+   ),
+   "Check RTnet driver, using raw packets, measuring round trip time\n"
+   "\tand packet losses,\n"
+   "\tthe rtnet_driver parameter allows choosing the network driver\n"
+   "\tthe rtnet_interface parameter allows choosing the network 
interface\n"
+   "\tthe rtnet_rate parameter allows choosing the packet rate\n"
+   "\tthe rtnet_duration parameter allows choosing the test duration\n"
+   "\tA server on the network must run the smokey_rtnet_server program."
+);
+
+struct raw_packet_client {
+   struct smokey_net_client base;
+   struct ethhdr header;
+};
+
+static int
+packet_raw_create_socket(struct smokey_net_client *bclient)
+{
+   struct raw_packet_client *client = (struct raw_packet_client *)bclient;
+   struct ifreq ifr;
+   int err, sock;
+
+   sock = smokey_check_errno(
+   __RT(socket(PF_PACKET, SOCK_RAW, htons(ETH_P_802_EX1 + 1;
+   if (sock < 0)
+   return sock;
+
+   memcpy(client->header.h_dest, bclient->ll_peer.sll_addr, 6);
+   ifr.ifr_ifindex = bclient->ll_peer.sll_ifindex;
+   err = smokey_check_errno(
+   __RT(ioctl(sock, SIOCGIFNAME, )));
+   if (err < 0)
+   goto err;
+ 

[Xenomai-git] Gilles Chanteperdrix : testsuite/smokey: add RTnet testsuite

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: 74bd22c6c498ea6c797bea555b97c43063f5753c
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=74bd22c6c498ea6c797bea555b97c43063f5753c

Author: Gilles Chanteperdrix 
Date:   Sun Oct 11 16:05:18 2015 +0200

testsuite/smokey: add RTnet testsuite

Starting with UDP and raw sockets.
Measuring round trip time and checking for lost packets.

---

 configure.ac |6 +-
 testsuite/smokey/Makefile.am |5 +-
 testsuite/smokey/net_common/Makefile.am  |   25 ++
 testsuite/smokey/net_common/client.c |  286 
 testsuite/smokey/net_common/server.c |  178 
 testsuite/smokey/net_common/setup.c  |  517 ++
 testsuite/smokey/net_common/smokey_net.h |   51 +++
 testsuite/smokey/net_common/smokey_net_server.c  |  214 +
 testsuite/smokey/net_common/smokey_net_server.h  |   31 ++
 testsuite/smokey/net_packet_dgram/Makefile.am|   10 +
 testsuite/smokey/net_packet_dgram/packet_dgram.c |   81 
 testsuite/smokey/net_udp/Makefile.am |   10 +
 testsuite/smokey/net_udp/udp.c   |   75 
 13 files changed, 1487 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 89c2911..c277e50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -879,8 +879,8 @@ AC_CONFIG_FILES([ \
lib/smokey/Makefile \
lib/trank/Makefile \
testsuite/Makefile \
+   testsuite/clocktest/Makefile \
testsuite/latency/Makefile \
-   testsuite/switchtest/Makefile \
testsuite/smokey/Makefile \
testsuite/smokey/arith/Makefile \
testsuite/smokey/sched-quota/Makefile \
@@ -899,8 +899,12 @@ AC_CONFIG_FILES([ \
testsuite/smokey/timerfd/Makefile \
testsuite/smokey/tsc/Makefile \
testsuite/smokey/leaks/Makefile \
+   testsuite/smokey/net_udp/Makefile \
+   testsuite/smokey/net_packet_dgram/Makefile \
+   testsuite/smokey/net_common/Makefile \
testsuite/smokey/fpu-stress/Makefile \
testsuite/clocktest/Makefile \
+   testsuite/switchtest/Makefile \
testsuite/xeno-test/Makefile \
utils/Makefile \
utils/hdb/Makefile \
diff --git a/testsuite/smokey/Makefile.am b/testsuite/smokey/Makefile.am
index 023cd47..1a0364a 100644
--- a/testsuite/smokey/Makefile.am
+++ b/testsuite/smokey/Makefile.am
@@ -11,6 +11,9 @@ COBALT_SUBDIRS =  \
fpu-stress  \
iddp\
leaks   \
+   net_packet_dgram\
+   net_udp \
+   net_common  \
posix-clock \
posix-cond  \
posix-fork  \
@@ -28,7 +31,7 @@ COBALT_SUBDIRS =  \
 MERCURY_SUBDIRS =
 
 DIST_SUBDIRS = $(COBALT_SUBDIRS) $(MERCURY_SUBDIRS)
-   
+
 if XENO_COBALT
 wrappers = $(XENO_POSIX_WRAPPERS)
 SUBDIRS = $(COBALT_SUBDIRS)
diff --git a/testsuite/smokey/net_common/Makefile.am 
b/testsuite/smokey/net_common/Makefile.am
new file mode 100644
index 000..614c709
--- /dev/null
+++ b/testsuite/smokey/net_common/Makefile.am
@@ -0,0 +1,25 @@
+bin_PROGRAMS = smokey_net_server
+
+noinst_LIBRARIES = libnet_common.a
+noinst_HEADERS = smokey_net.h
+
+AM_CPPFLAGS = \
+   @XENO_USER_CFLAGS@ \
+   -I$(top_srcdir)/include \
+   -I$(top_srcdir)/kernel/drivers/net/stack/include
+
+libnet_common_a_SOURCES = \
+   client.c \
+   server.c \
+   setup.c
+
+smokey_net_server_SOURCES = \
+   smokey_net_server.c
+
+smokey_net_server_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@
+
+smokey_net_server_LDADD = \
+   libnet_common.a \
+   $(top_builddir)/lib/@XENO_CORE_LIB@ \
+   @XENO_USER_LDADD@ \
+   -lpthread -lrt
diff --git a/testsuite/smokey/net_common/client.c 
b/testsuite/smokey/net_common/client.c
new file mode 100644
index 000..0932825
--- /dev/null
+++ b/testsuite/smokey/net_common/client.c
@@ -0,0 +1,286 @@
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "smokey_net.h"
+
+static int duration = 10;
+static int rate = 1000;
+static const char *driver = "rt_loopback";
+static const char *intf;
+static pthread_t tid;
+static unsigned long long glost, glate;
+
+static int rcv_packet(struct smokey_net_client *client, int sock, unsigned seq,
+   struct timespec *next_shot, bool last)
+{
+   static unsigned long long gmin = ~0ULL, gmax = 0, gsum = 0, gcount = 0;
+   static unsigned long long min = ~0ULL, max = 0, sum = 0, count = 0,
+   lost = 0, late = 0;
+   static struct timespec last_print;
+   struct smokey_net_payload payload;
+   struct timeval timeout;
+   struct timespec now;
+   char packet[256];
+   long long diff;
+   fd_set set;
+   int err;
+
+   FD_ZERO();
+   FD_SET(sock, );
+
+   err = smokey_check_errno(
+   __RT(clock_gettime(CLOCK_MONOTONIC, )));
+   

[Xenomai-git] Gilles Chanteperdrix : cobalt/corectl: allow retrieving RTnet configuration

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: 4b994f166b21cab58a5e15c94fb92c559e126ca8
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=4b994f166b21cab58a5e15c94fb92c559e126ca8

Author: Gilles Chanteperdrix 
Date:   Sat Oct 31 20:53:09 2015 +0100

cobalt/corectl: allow retrieving RTnet configuration

---

 include/cobalt/uapi/corectl.h |   17 +
 kernel/cobalt/posix/syscall.c |   30 ++
 2 files changed, 47 insertions(+)

diff --git a/include/cobalt/uapi/corectl.h b/include/cobalt/uapi/corectl.h
index 9466743..159bfbc 100644
--- a/include/cobalt/uapi/corectl.h
+++ b/include/cobalt/uapi/corectl.h
@@ -32,6 +32,7 @@
 #   define _CC_COBALT_DEBUG_POSIX_SYNCHRO  64
 #   define _CC_COBALT_DEBUG_LEGACY 128
 #   define _CC_COBALT_DEBUG_TRACE_RELAX256
+#   define _CC_COBALT_DEBUG_NET512
 
 #define _CC_COBALT_GET_POLICIES4
 #   define _CC_COBALT_SCHED_FIFO   1
@@ -46,6 +47,22 @@
 #define _CC_COBALT_START_CORE  7
 #define _CC_COBALT_STOP_CORE   8
 
+#define _CC_COBALT_GET_NET_CONFIG  9
+#   define _CC_COBALT_NET  0x0001
+#   define _CC_COBALT_NET_ETH_P_ALL0x0002
+#   define _CC_COBALT_NET_IPV4 0x0004
+#   define _CC_COBALT_NET_ICMP 0x0008
+#   define _CC_COBALT_NET_NETROUTING   0x0010
+#   define _CC_COBALT_NET_ROUTER   0x0020
+#   define _CC_COBALT_NET_UDP  0x0040
+#   define _CC_COBALT_NET_AF_PACKET0x0080
+#   define _CC_COBALT_NET_TDMA 0x0100
+#   define _CC_COBALT_NET_NOMAC0x0200
+#   define _CC_COBALT_NET_CFG  0x0400
+#   define _CC_COBALT_NET_CAP  0x0800
+#   define _CC_COBALT_NET_PROXY0x1000
+
+
 enum cobalt_run_states {
COBALT_STATE_DISABLED,
COBALT_STATE_RUNNING,
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 7f2e1c6..49fd5c7 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -408,6 +408,8 @@ static int get_conf_option(int option, void __user *u_buf, 
size_t u_bufsz)
val |= _CC_COBALT_DEBUG_LEGACY;
if (IS_ENABLED(CONFIG_XENO_OPT_DEBUG_TRACE_RELAX))
val |= _CC_COBALT_DEBUG_TRACE_RELAX;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_RTNET_CHECKED))
+   val |= _CC_COBALT_DEBUG_NET;
break;
case _CC_COBALT_GET_WATCHDOG:
 #ifdef CONFIG_XENO_OPT_WATCHDOG
@@ -417,6 +419,34 @@ static int get_conf_option(int option, void __user *u_buf, 
size_t u_bufsz)
case _CC_COBALT_GET_CORE_STATUS:
val = realtime_core_state();
break;
+   case _CC_COBALT_GET_NET_CONFIG:
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET))
+   val |= _CC_COBALT_NET;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_ETH_P_ALL))
+   val |= _CC_COBALT_NET_ETH_P_ALL;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTIPV4))
+   val |= _CC_COBALT_NET_IPV4;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTIPV4_ICMP))
+   val |= _CC_COBALT_NET_ICMP;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTIPV4_NETROUTING))
+   val |= _CC_COBALT_NET_NETROUTING;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTIPV4_ROUTE))
+   val |= _CC_COBALT_NET_ROUTER;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTIPV4_UDP))
+   val |= _CC_COBALT_NET_UDP;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTPACKET))
+   val |= _CC_COBALT_NET_AF_PACKET;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_TDMA))
+   val |= _CC_COBALT_NET_TDMA;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_NOMAC))
+   val |= _CC_COBALT_NET_NOMAC;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_RTCFG))
+   val |= _CC_COBALT_NET_CFG;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_ADDON_RTCAP))
+   val |= _CC_COBALT_NET_CAP;
+   if (IS_ENABLED(CONFIG_XENO_DRIVERS_NET_ADDON_PROXY))
+   val |= _CC_COBALT_NET_PROXY;
+   break;
default:
return -EINVAL;
}


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : lib/cobalt: allow getting/ setting affinity in pthread_attr_ex_t

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: next
Commit: daf79287d2655381ecc932fcb41175dd736ea8c9
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=daf79287d2655381ecc932fcb41175dd736ea8c9

Author: Gilles Chanteperdrix 
Date:   Wed Nov  4 01:34:59 2015 +0100

lib/cobalt: allow getting/setting affinity in pthread_attr_ex_t

---

 include/cobalt/pthread.h |7 +++
 lib/cobalt/attr.c|   12 
 2 files changed, 19 insertions(+)

diff --git a/include/cobalt/pthread.h b/include/cobalt/pthread.h
index 386c337..1d229de 100644
--- a/include/cobalt/pthread.h
+++ b/include/cobalt/pthread.h
@@ -164,6 +164,13 @@ int pthread_attr_getpersonality_ex(const pthread_attr_ex_t 
*attr_ex,
 
 int pthread_attr_setpersonality_ex(pthread_attr_ex_t *attr_ex,
   int personality);
+
+int pthread_attr_getaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, cpu_set_t *cpuset);
+
+int pthread_attr_setaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, const cpu_set_t *cpuset);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib/cobalt/attr.c b/lib/cobalt/attr.c
index 586de92..657771b 100644
--- a/lib/cobalt/attr.c
+++ b/lib/cobalt/attr.c
@@ -131,6 +131,18 @@ int pthread_attr_setscope_ex(pthread_attr_ex_t *attr_ex,
return pthread_attr_setscope(_ex->std, scope);
 }
 
+int pthread_attr_getaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, cpu_set_t *cpuset)
+{
+   return pthread_attr_getaffinity_np(_ex->std, size, cpuset);
+}
+
+int pthread_attr_setaffinity_ex(pthread_attr_ex_t *attr_ex,
+   size_t size, const cpu_set_t *cpuset)
+{
+   return pthread_attr_setaffinity_np(_ex->std, size, cpuset);
+}
+
 int pthread_attr_getpersonality_ex(const pthread_attr_ex_t *attr_ex,
   int *personality)
 {


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: upgrade igb driver

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: for-3.0.x
Commit: b3e18b6d4015f4c445143c4b28bdc09110e4c6e5
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=b3e18b6d4015f4c445143c4b28bdc09110e4c6e5

Author: Gilles Chanteperdrix 
Date:   Sat Oct 10 17:59:51 2015 +0200

drivers/rtnet: upgrade igb driver

---

 kernel/drivers/net/drivers/igb/Makefile|   15 +-
 kernel/drivers/net/drivers/igb/e1000_82575.c   | 2729 ---
 kernel/drivers/net/drivers/igb/e1000_82575.h   |  220 +-
 kernel/drivers/net/drivers/igb/e1000_defines.h |  659 ++-
 kernel/drivers/net/drivers/igb/e1000_hw.h  |  414 +-
 kernel/drivers/net/drivers/igb/e1000_i210.c|  902 
 kernel/drivers/net/drivers/igb/e1000_i210.h|   93 +
 kernel/drivers/net/drivers/igb/e1000_mac.c |  820 ++--
 kernel/drivers/net/drivers/igb/e1000_mac.h |   83 +-
 kernel/drivers/net/drivers/igb/e1000_mbx.c |  443 ++
 kernel/drivers/net/drivers/igb/e1000_mbx.h |   73 +
 kernel/drivers/net/drivers/igb/e1000_nvm.c |  425 +-
 kernel/drivers/net/drivers/igb/e1000_nvm.h |   70 +-
 kernel/drivers/net/drivers/igb/e1000_phy.c | 1504 --
 kernel/drivers/net/drivers/igb/e1000_phy.h |  138 +-
 kernel/drivers/net/drivers/igb/e1000_regs.h|  252 +-
 kernel/drivers/net/drivers/igb/igb.h   |  640 ++-
 kernel/drivers/net/drivers/igb/igb_ethtool.c   | 2033 
 kernel/drivers/net/drivers/igb/igb_hwmon.c |  249 +
 kernel/drivers/net/drivers/igb/igb_main.c  | 6179 +++-
 20 files changed, 11210 insertions(+), 6731 deletions(-)

Diff:   
http://git.xenomai.org/?p=xenomai-gch.git;a=commitdiff;h=b3e18b6d4015f4c445143c4b28bdc09110e4c6e5

___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : rtnet/ioctl: allow checking link state

2015-11-04 Thread git repository hosting
Module: xenomai-gch
Branch: for-3.0.x
Commit: ba315472fef528ce82cf2bfe852c99092f0046c7
URL:
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=ba315472fef528ce82cf2bfe852c99092f0046c7

Author: Gilles Chanteperdrix 
Date:   Sat Oct 10 19:37:50 2015 +0200

rtnet/ioctl: allow checking link state

Use the IFF_RUNNING bit in the flags returned by the SIOCGIFFLAGS ioctl,
like Linux SIOCGIFFLAGS ioctl.

---

 kernel/drivers/net/stack/include/rtdev.h |4 
 kernel/drivers/net/stack/rtdev.c |2 +-
 kernel/drivers/net/stack/rtnet_chrdev.c  |7 +++
 kernel/drivers/net/stack/socket.c|8 +++-
 utils/net/rtifconfig.c   |2 +-
 5 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/kernel/drivers/net/stack/include/rtdev.h 
b/kernel/drivers/net/stack/include/rtdev.h
index 67a8ffd..c1c0b4e 100644
--- a/kernel/drivers/net/stack/include/rtdev.h
+++ b/kernel/drivers/net/stack/include/rtdev.h
@@ -55,6 +55,10 @@ enum rtnet_link_state {
__RTNET_LINK_STATE_PRESENT,
__RTNET_LINK_STATE_NOCARRIER,
 };
+#define RTNET_LINK_STATE_XOFF (1 << __RTNET_LINK_STATE_XOFF)
+#define RTNET_LINK_STATE_START (1 << __RTNET_LINK_STATE_START)
+#define RTNET_LINK_STATE_PRESENT (1 << __RTNET_LINK_STATE_PRESENT)
+#define RTNET_LINK_STATE_NOCARRIER (1 << __RTNET_LINK_STATE_NOCARRIER)
 
 /***
  *  rtnet_device
diff --git a/kernel/drivers/net/stack/rtdev.c b/kernel/drivers/net/stack/rtdev.c
index f7e1f41..5eb73ce 100644
--- a/kernel/drivers/net/stack/rtdev.c
+++ b/kernel/drivers/net/stack/rtdev.c
@@ -644,7 +644,7 @@ int rtdev_open(struct rtnet_device *rtdev)
ret = rtdev->open(rtdev);
 
 if ( !ret )  {
-   rtdev->flags |= (IFF_UP | IFF_RUNNING);
+   rtdev->flags |= IFF_UP;
set_bit(__RTNET_LINK_STATE_START, >link_state);
 } else
rtdev_dereference(rtdev);
diff --git a/kernel/drivers/net/stack/rtnet_chrdev.c 
b/kernel/drivers/net/stack/rtnet_chrdev.c
index d3f617c..f06ff2a 100644
--- a/kernel/drivers/net/stack/rtnet_chrdev.c
+++ b/kernel/drivers/net/stack/rtnet_chrdev.c
@@ -210,6 +210,13 @@ static int rtnet_core_ioctl(struct rtnet_device *rtdev, 
unsigned int request,
cmd.args.info.broadcast_ip = rtdev->broadcast_ip;
cmd.args.info.mtu  = rtdev->mtu;
cmd.args.info.flags= rtdev->flags;
+if ((cmd.args.info.flags & IFF_UP)
+   && (rtdev->link_state
+   & (RTNET_LINK_STATE_PRESENT
+   | RTNET_LINK_STATE_NOCARRIER))
+== RTNET_LINK_STATE_PRESENT)
+cmd.args.info.flags |= IFF_RUNNING;
+
memcpy(cmd.args.info.dev_addr, rtdev->dev_addr, MAX_ADDR_LEN);
 
mutex_unlock(>nrt_lock);
diff --git a/kernel/drivers/net/stack/socket.c 
b/kernel/drivers/net/stack/socket.c
index 64a2a2e..7dacb25 100644
--- a/kernel/drivers/net/stack/socket.c
+++ b/kernel/drivers/net/stack/socket.c
@@ -242,7 +242,7 @@ int rt_socket_if_ioctl(struct rtdm_fd *fd, int request, 
void *arg)
for (i = 1; i <= MAX_RT_DEVICES; i++) {
rtdev = rtdev_get_by_index(i);
if (rtdev != NULL) {
-   if ((rtdev->flags & IFF_RUNNING) == 0) {
+   if ((rtdev->flags & IFF_UP) == 0) {
rtdev_dereference(rtdev);
continue;
}
@@ -288,6 +288,12 @@ int rt_socket_if_ioctl(struct rtdm_fd *fd, int request, 
void *arg)
 
case SIOCGIFFLAGS:
ifr->ifr_flags = rtdev->flags;
+if ((ifr->ifr_flags & IFF_UP)
+   && (rtdev->link_state
+   & (RTNET_LINK_STATE_PRESENT
+   | RTNET_LINK_STATE_NOCARRIER))
+== RTNET_LINK_STATE_PRESENT)
+ifr->ifr_flags |= IFF_RUNNING;
break;
 
case SIOCGIFHWADDR:
diff --git a/utils/net/rtifconfig.c b/utils/net/rtifconfig.c
index 2024afe..8117e12 100644
--- a/utils/net/rtifconfig.c
+++ b/utils/net/rtifconfig.c
@@ -290,7 +290,7 @@ void do_display(int print_flags)
 ret = ioctl(f, IOC_RT_IFINFO, );
 if (ret == 0) {
 if (((print_flags & PRINT_FLAG_INACTIVE) != 0) ||
-((cmd.args.info.flags & IFF_RUNNING) != 0))
+((cmd.args.info.flags & IFF_UP) != 0))
 print_dev();
 } else if (errno != ENODEV) {
 perror("ioctl");


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git


[Xenomai-git] Philippe Gerum : cobalt/kernel: fixup for v3.19+ (trace_seq)

2015-11-04 Thread git repository hosting
Module: xenomai-3
Branch: next
Commit: c3639b53a165d4633d446822794144d264c04dbe
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c3639b53a165d4633d446822794144d264c04dbe

Author: Philippe Gerum 
Date:   Tue Nov  3 13:11:25 2015 +0100

cobalt/kernel: fixup for v3.19+ (trace_seq)

---

 kernel/cobalt/include/asm-generic/xenomai/wrappers.h |7 +++
 kernel/cobalt/trace/cobalt-posix.h   |2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h 
b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
index d0c3952..c742202 100644
--- a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
+++ b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
@@ -62,10 +62,17 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
 #include 
+#include 
 
 #undef alloc_netdev
 #define alloc_netdev(sizeof_priv, name, name_assign_type, setup) \
alloc_netdev_mqs(sizeof_priv, name, setup, 1, 1)
+
+static inline unsigned char *
+trace_seq_buffer_ptr(struct trace_seq *s)
+{
+   return s->buffer + s->len;
+}
 #endif
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
diff --git a/kernel/cobalt/trace/cobalt-posix.h 
b/kernel/cobalt/trace/cobalt-posix.h
index 536108d..d87582f 100644
--- a/kernel/cobalt/trace/cobalt-posix.h
+++ b/kernel/cobalt/trace/cobalt-posix.h
@@ -92,7 +92,7 @@ DECLARE_EVENT_CLASS(syscall_exit,
 
 #define cobalt_print_sched_params(__policy, __p_ex)\
 ({ \
-   const char *__ret = p->buffer + p->len; \
+   const unsigned char *__ret = trace_seq_buffer_ptr(p);   \
switch (__policy) { \
case SCHED_QUOTA:   \
trace_seq_printf(p, "priority=%d, group=%d",\


___
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git