[Xenomai-git] Philippe Gerum : cobalt/kernel: fixup for v3.19+ (user_msghdr)
Module: xenomai-3 Branch: next Commit: a85a4116edb8d7631cea2b472dd5ce45297ef1af URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a85a4116edb8d7631cea2b472dd5ce45297ef1af Author: Philippe GerumDate: Mon Nov 2 20:45:10 2015 +0100 cobalt/kernel: fixup for v3.19+ (user_msghdr) --- include/cobalt/kernel/compat.h |5 +++-- include/cobalt/kernel/rtdm/fd.h | 16 include/cobalt/kernel/rtdm/rtdm.h|8 kernel/cobalt/include/asm-generic/xenomai/wrappers.h |4 kernel/cobalt/posix/compat.c |4 ++-- kernel/cobalt/posix/io.c |8 kernel/cobalt/posix/io.h |4 ++-- kernel/cobalt/posix/syscall32.c |4 ++-- kernel/cobalt/rtdm/core.c|8 kernel/cobalt/rtdm/fd.c |4 ++-- kernel/drivers/can/rtcan_raw.c |4 ++-- kernel/drivers/ipc/bufp.c|4 ++-- kernel/drivers/ipc/iddp.c|4 ++-- kernel/drivers/ipc/internal.h|8 kernel/drivers/ipc/rtipc.c |8 kernel/drivers/ipc/xddp.c|4 ++-- kernel/drivers/net/stack/ipv4/tcp/tcp.c |4 ++-- kernel/drivers/net/stack/ipv4/udp/udp.c |4 ++-- kernel/drivers/net/stack/packet/af_packet.c |4 ++-- 19 files changed, 57 insertions(+), 52 deletions(-) diff --git a/include/cobalt/kernel/compat.h b/include/cobalt/kernel/compat.h index b0ef81e..43378d9 100644 --- a/include/cobalt/kernel/compat.h +++ b/include/cobalt/kernel/compat.h @@ -22,6 +22,7 @@ #include #include +#include #include struct mq_attr; @@ -135,11 +136,11 @@ int sys32_get_sigval(union sigval *val, const union compat_sigval *u_cval); int sys32_put_siginfo(void __user *u_si, const struct siginfo *si, int overrun); -int sys32_get_msghdr(struct msghdr *msg, +int sys32_get_msghdr(struct user_msghdr *msg, const struct compat_msghdr __user *u_cmsg); int sys32_put_msghdr(struct compat_msghdr __user *u_cmsg, -const struct msghdr *msg); +const struct user_msghdr *msg); int sys32_get_iovec(struct iovec *iov, const struct compat_iovec __user *ciov, diff --git a/include/cobalt/kernel/rtdm/fd.h b/include/cobalt/kernel/rtdm/fd.h index 1c0fe9e..dc653d6 100644 --- a/include/cobalt/kernel/rtdm/fd.h +++ b/include/cobalt/kernel/rtdm/fd.h @@ -143,7 +143,7 @@ ssize_t rtdm_write_handler(struct rtdm_fd *fd, const void __user *buf, size_t si * @see @c recvmsg() in IEEE Std 1003.1, * http://www.opengroup.org/onlinepubs/009695399 */ -ssize_t rtdm_recvmsg_handler(struct rtdm_fd *fd, struct msghdr *msg, int flags); +ssize_t rtdm_recvmsg_handler(struct rtdm_fd *fd, struct user_msghdr *msg, int flags); /** * Transmit message handler @@ -160,7 +160,7 @@ ssize_t rtdm_recvmsg_handler(struct rtdm_fd *fd, struct msghdr *msg, int flags); * @see @c sendmsg() in IEEE Std 1003.1, * http://www.opengroup.org/onlinepubs/009695399 */ -ssize_t rtdm_sendmsg_handler(struct rtdm_fd *fd, const struct msghdr *msg, int flags); +ssize_t rtdm_sendmsg_handler(struct rtdm_fd *fd, const struct user_msghdr *msg, int flags); /** * Select handler @@ -267,16 +267,16 @@ struct rtdm_fd_ops { const void __user *buf, size_t size); /** See rtdm_recvmsg_handler(). */ ssize_t (*recvmsg_rt)(struct rtdm_fd *fd, - struct msghdr *msg, int flags); + struct user_msghdr *msg, int flags); /** See rtdm_recvmsg_handler(). */ ssize_t (*recvmsg_nrt)(struct rtdm_fd *fd, - struct msghdr *msg, int flags); + struct user_msghdr *msg, int flags); /** See rtdm_sendmsg_handler(). */ ssize_t (*sendmsg_rt)(struct rtdm_fd *fd, - const struct msghdr *msg, int flags); + const struct user_msghdr *msg, int flags); /** See rtdm_sendmsg_handler(). */ ssize_t (*sendmsg_nrt)(struct rtdm_fd *fd, - const struct msghdr *msg, int flags); + const struct user_msghdr *msg, int flags); /** See rtdm_select_handler(). */ int (*select)(struct rtdm_fd *fd, struct xnselector *selector, @@ -363,9 +363,9 @@ ssize_t rtdm_fd_write(int ufd, const void __user *buf, size_t size); int rtdm_fd_close(int ufd, unsigned int magic); -ssize_t rtdm_fd_recvmsg(int ufd, struct msghdr *msg, int flags); +ssize_t rtdm_fd_recvmsg(int ufd, struct user_msghdr *msg, int flags); -ssize_t
[Xenomai-git] Philippe Gerum : cobalt/kernel: fixup for v3.19+ (trace_seq)
Module: xenomai-3 Branch: next Commit: b1db961aacd984676b797952d11ce89913de9f57 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b1db961aacd984676b797952d11ce89913de9f57 Author: Philippe GerumDate: 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
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: hide configuration options if globally disabled
Module: xenomai-3 Branch: stable-3.0.x Commit: df9952b9d230dbcc19a83fe84a4ca9d84669c956 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=df9952b9d230dbcc19a83fe84a4ca9d84669c956 Author: Gilles ChanteperdrixDate: Sat Oct 31 20:54:19 2015 +0100 drivers/rtnet: hide configuration options if globally disabled --- kernel/drivers/net/Kconfig |4 1 file changed, 4 insertions(+) diff --git a/kernel/drivers/net/Kconfig b/kernel/drivers/net/Kconfig index caffc1f..ac3bced 100644 --- a/kernel/drivers/net/Kconfig +++ b/kernel/drivers/net/Kconfig @@ -5,6 +5,8 @@ config XENO_DRIVERS_NET select NET tristate "RTnet, TCP/IP socket interface" +if XENO_DRIVERS_NET + config XENO_DRIVERS_RTNET_CHECKED bool "Internal Bug Checks" default n @@ -18,4 +20,6 @@ source "drivers/xenomai/net/stack/Kconfig" source "drivers/xenomai/net/drivers/Kconfig" source "drivers/xenomai/net/addons/Kconfig" +endif + endmenu ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: fix loopback
Module: xenomai-3 Branch: stable-3.0.x Commit: 4008b601733bb55488bd5929514191acce783cde URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4008b601733bb55488bd5929514191acce783cde Author: Gilles ChanteperdrixDate: Sat Oct 31 21:31:00 2015 +0100 drivers/rtnet: fix loopback Allocate a device pool, since rtdev_xmit now compensates the sent packet with a packet from the device pool. --- kernel/drivers/net/drivers/loopback.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/drivers/net/drivers/loopback.c b/kernel/drivers/net/drivers/loopback.c index b404a64..ef5323a 100644 --- a/kernel/drivers/net/drivers/loopback.c +++ b/kernel/drivers/net/drivers/loopback.c @@ -95,7 +95,7 @@ static int __init loopback_init(void) printk("initializing loopback...\n"); -if ((rtdev = rt_alloc_etherdev(0, 0)) == NULL) +if ((rtdev = rt_alloc_etherdev(0, 1)) == NULL) return -ENODEV; rt_rtdev_connect(rtdev, _manager); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : smokey/tsc: remove redundant line breaks
Module: xenomai-3 Branch: stable-3.0.x Commit: 79395985545ebf7dc5e83a3f848805f1d2cf279b URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=79395985545ebf7dc5e83a3f848805f1d2cf279b Author: Gilles ChanteperdrixDate: Sat Oct 31 20:52:23 2015 +0100 smokey/tsc: remove redundant line breaks --- testsuite/smokey/tsc/tsc.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testsuite/smokey/tsc/tsc.c b/testsuite/smokey/tsc/tsc.c index 3d6de72..369f042 100644 --- a/testsuite/smokey/tsc/tsc.c +++ b/testsuite/smokey/tsc/tsc.c @@ -90,7 +90,7 @@ static int run_tsc(struct smokey_test *t, int argc, char *const argv[]) CPU_SET(i, ); smp_sched_setaffinity(0, sizeof(mask), ); - smokey_trace("Pinned to cpu %d\n", i); + smokey_trace("Pinned to cpu %d", i); break; } #endif @@ -116,7 +116,7 @@ static int run_tsc(struct smokey_test *t, int argc, char *const argv[]) } else secs = 60; min = secs / 60; - smokey_trace("Checking tsc for %u minute(s)\n", min); + smokey_trace("Checking tsc for %u minute(s)", min); for(i = 0; i < secs; i++) { min = ~0U; @@ -151,7 +151,7 @@ static int run_tsc(struct smokey_test *t, int argc, char *const argv[]) ++loops; } while (tsc2 - start < one_sec_tsc); - smokey_trace("min: %u, max: %u, avg: %g\n", + smokey_trace("min: %u, max: %u, avg: %g", min, max, (double)sum / loops); if (min < g_min) @@ -162,7 +162,7 @@ static int run_tsc(struct smokey_test *t, int argc, char *const argv[]) g_loops += loops; } - smokey_trace("min: %u, max: %u, avg: %g -> %g us\n", + smokey_trace("min: %u, max: %u, avg: %g -> %g us", g_min, g_max, (double)g_sum / g_loops, (double)timer_tsc2ns(g_sum) / (1000 * g_loops)); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : testsuite/smokey: tsc: shorten default duration
Module: xenomai-3 Branch: stable-3.0.x Commit: 427155df00aa291c9e12cd491e529ba26d3d6b59 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=427155df00aa291c9e12cd491e529ba26d3d6b59 Author: Gilles ChanteperdrixDate: Sun Nov 1 19:45:49 2015 +0100 testsuite/smokey: tsc: shorten default duration --- testsuite/smokey/tsc/tsc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/smokey/tsc/tsc.c b/testsuite/smokey/tsc/tsc.c index 369f042..2865e33 100644 --- a/testsuite/smokey/tsc/tsc.c +++ b/testsuite/smokey/tsc/tsc.c @@ -114,7 +114,7 @@ static int run_tsc(struct smokey_test *t, int argc, char *const argv[]) min = (secs + 59) / 60; secs = min * 60; } else - secs = 60; + secs = 15; min = secs / 60; smokey_trace("Checking tsc for %u minute(s)", min); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: refuse to uselessly queue packets
Module: xenomai-3 Branch: stable-3.0.x Commit: 0eeba1c172efabbc1d2194f7893cd40ad3ee1162 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0eeba1c172efabbc1d2194f7893cd40ad3ee1162 Author: Gilles ChanteperdrixDate: Sat Oct 31 21:33:18 2015 +0100 drivers/rtnet: refuse to uselessly queue packets If network interface is not running. --- kernel/drivers/net/stack/rtdev.c |7 +++ 1 file changed, 7 insertions(+) diff --git a/kernel/drivers/net/stack/rtdev.c b/kernel/drivers/net/stack/rtdev.c index 29d79c6..f7e1f41 100644 --- a/kernel/drivers/net/stack/rtdev.c +++ b/kernel/drivers/net/stack/rtdev.c @@ -33,6 +33,7 @@ #include #include #include +#include static unsigned int device_rtskbs = DEFAULT_DEVICE_RTSKBS; @@ -705,6 +706,12 @@ int rtdev_xmit(struct rtskb *rtskb) rtdev = rtskb->rtdev; +if (!rtnetif_carrier_ok(rtdev)) { + err = -EAGAIN; + kfree_rtskb(rtskb); + return err; +} + if (rtskb_acquire(rtskb, >dev_pool) != 0) { err = -ENOBUFS; kfree_rtskb(rtskb); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: fix SIOCGIFNAME ioctl
Module: xenomai-3 Branch: stable-3.0.x Commit: 92df665f42c4fbadcabfc324c6d3e9b20e1d2a66 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=92df665f42c4fbadcabfc324c6d3e9b20e1d2a66 Author: Gilles ChanteperdrixDate: Sun Nov 1 19:13:39 2015 +0100 drivers/rtnet: fix SIOCGIFNAME ioctl Add missing call to rtdev_dereference. --- kernel/drivers/net/stack/socket.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/drivers/net/stack/socket.c b/kernel/drivers/net/stack/socket.c index 0c028ab..64a2a2e 100644 --- a/kernel/drivers/net/stack/socket.c +++ b/kernel/drivers/net/stack/socket.c @@ -273,7 +273,8 @@ int rt_socket_if_ioctl(struct rtdm_fd *fd, int request, void *arg) if (rtdev == NULL) return -ENODEV; strlcpy(ifr->ifr_name, rtdev->name, IFNAMSIZ); -return 0; + ret = 0; + goto out; } rtdev = rtdev_get_by_name(ifr->ifr_name); @@ -312,6 +313,7 @@ int rt_socket_if_ioctl(struct rtdm_fd *fd, int request, void *arg) break; } + out: rtdev_dereference(rtdev); return ret; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: upgrade igb driver
Module: xenomai-3 Branch: stable-3.0.x Commit: b3e18b6d4015f4c445143c4b28bdc09110e4c6e5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b3e18b6d4015f4c445143c4b28bdc09110e4c6e5 Author: Gilles ChanteperdrixDate: 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-3.git;a=commitdiff;h=b3e18b6d4015f4c445143c4b28bdc09110e4c6e5 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: forbid removing the rtnet module
Module: xenomai-3 Branch: stable-3.0.x Commit: 4f36e3f8a998a0c86d0aa2456b29634f327caa9c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4f36e3f8a998a0c86d0aa2456b29634f327caa9c Author: Gilles ChanteperdrixDate: Sat Oct 31 20:56:32 2015 +0100 drivers/rtnet: forbid removing the rtnet module if a file descriptor points to /dev/rtnet --- kernel/drivers/net/stack/rtnet_chrdev.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/drivers/net/stack/rtnet_chrdev.c b/kernel/drivers/net/stack/rtnet_chrdev.c index a64d6da..d3f617c 100644 --- a/kernel/drivers/net/stack/rtnet_chrdev.c +++ b/kernel/drivers/net/stack/rtnet_chrdev.c @@ -278,7 +278,8 @@ void rtnet_unregister_ioctls(struct rtnet_ioctls *ioctls) static struct file_operations rtnet_fops = { -.unlocked_ioctl= rtnet_ioctl, +.owner = THIS_MODULE, +.unlocked_ioctl = rtnet_ioctl, }; static struct miscdevice rtnet_chr_misc_dev = { ___ 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
Module: xenomai-3 Branch: stable-3.0.x Commit: ba315472fef528ce82cf2bfe852c99092f0046c7 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ba315472fef528ce82cf2bfe852c99092f0046c7 Author: Gilles ChanteperdrixDate: 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 : doc: prebuild
Module: xenomai-3 Branch: next Commit: 867ff72f7b6ff3574d7f4bb8b3769a0538cc8fa2 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=867ff72f7b6ff3574d7f4bb8b3769a0538cc8fa2 Author: Philippe GerumDate: Sun Nov 1 18:42:42 2015 +0100 doc: prebuild --- doc/asciidoc/MIGRATION.adoc| 11 +- doc/asciidoc/TROUBLESHOOTING.COBALT.adoc | 12 + doc/asciidoc/TROUBLESHOOTING.MERCURY.adoc |9 + doc/prebuilt/html/MIGRATION/index.html | 26 +- doc/prebuilt/html/README.APPLICATIONS/index.html |2 +- doc/prebuilt/html/README.INSTALL/index.html|2 +- .../html/TROUBLESHOOTING.COBALT/index.html | 52 +- .../html/TROUBLESHOOTING.MERCURY/index.html| 14 +- .../html/xeno3prm/16550A__io_8h_source.html|2 +- .../html/xeno3prm/16550A__pci_8h_source.html |2 +- .../html/xeno3prm/16550A__pnp_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/8255_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/af__inet_8h_source.html |2 +- .../html/xeno3prm/alchemy_2compat_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/analogy_2driver_8h.html |2 +- .../html/xeno3prm/analogy_2driver_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/analogy_8h.html |2 +- doc/prebuilt/html/xeno3prm/analogy_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/annotated.html |2 +- doc/prebuilt/html/xeno3prm/apc_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/api-tags.html |2 +- ..._2include_2asm_2xenomai_2machine_8h_source.html |2 +- ...include_2asm_2xenomai_2syscall32_8h_source.html |2 +- ..._2include_2asm_2xenomai_2machine_8h_source.html |2 +- ...include_2asm_2xenomai_2syscall32_8h_source.html |2 +- ..._2include_2asm_2xenomai_2machine_8h_source.html |2 +- ...include_2asm_2xenomai_2syscall32_8h_source.html |2 +- ..._2include_2asm_2xenomai_2machine_8h_source.html |2 +- ...include_2asm_2xenomai_2syscall32_8h_source.html |2 +- ...m_2include_2asm_2xenomai_2fptest_8h_source.html |2 +- ...lude_2asm_2xenomai_2uapi_2fptest_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/arp_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/assert_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/async_8c.html |2 +- doc/prebuilt/html/xeno3prm/atomic_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/bheap_8h_source.html|2 +- ...n_2include_2asm_2xenomai_2fptest_8h_source.html |2 +- ...lude_2asm_2xenomai_2uapi_2fptest_8h_source.html |2 +- .../boilerplate_2ancillaries_8h_source.html|2 +- .../html/xeno3prm/boilerplate_2list_8h_source.html |2 +- .../html/xeno3prm/boilerplate_2lock_8h_source.html |2 +- .../html/xeno3prm/boilerplate_2time_8h_source.html |2 +- .../xeno3prm/boilerplate_2tunables_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/bufd_8h_source.html |2 +- .../html/xeno3prm/bufp-label_8c-example.html |2 +- .../html/xeno3prm/bufp-readwrite_8c-example.html |2 +- doc/prebuilt/html/xeno3prm/c1e_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/calibration_8c.html |2 +- doc/prebuilt/html/xeno3prm/can-rtt_8c-example.html |2 +- doc/prebuilt/html/xeno3prm/channel__range_8h.html |2 +- .../html/xeno3prm/channel__range_8h_source.html|2 +- doc/prebuilt/html/xeno3prm/classes.html|2 +- doc/prebuilt/html/xeno3prm/clockobj_8h_source.html |2 +- doc/prebuilt/html/xeno3prm/cluster_8h_source.html |2 +- .../html/xeno3prm/cobalt-core_8h_source.html |2 +- .../html/xeno3prm/cobalt-posix_8h_source.html |2 +- .../html/xeno3prm/cobalt-rtdm_8h_source.html |2 +- .../cobalt_2boilerplate_2limits_8h_source.html |2 +- .../cobalt_2boilerplate_2trace_8h_source.html |2 +- .../cobalt_2kernel_2ancillaries_8h_source.html |2 +- .../xeno3prm/cobalt_2kernel_2compat_8h_source.html |2 +- .../xeno3prm/cobalt_2kernel_2init_8h_source.html |2 +- .../xeno3prm/cobalt_2kernel_2list_8h_source.html |2 +- .../xeno3prm/cobalt_2kernel_2lock_8h_source.html |2 +- .../cobalt_2kernel_2registry_8h_source.html|2 +- .../cobalt_2kernel_2rtdm_2autotune_8h_source.html |2 +- .../cobalt_2kernel_2rtdm_2can_8h_source.html |2 +- .../cobalt_2kernel_2rtdm_2compat_8h_source.html|2 +- .../cobalt_2kernel_2rtdm_2ipc_8h_source.html |2 +- .../cobalt_2kernel_2rtdm_2rtdm_8h_source.html |2 +- .../cobalt_2kernel_2rtdm_2serial_8h_source.html|2 +- .../cobalt_2kernel_2rtdm_2testing_8h_source.html |2 +- .../xeno3prm/cobalt_2kernel_2rtdm_2udd_8h.html |4 +- .../cobalt_2kernel_2rtdm_2udd_8h__incl.map | 68 +- .../cobalt_2kernel_2rtdm_2udd_8h__incl.md5 |2 +- .../cobalt_2kernel_2rtdm_2udd_8h__incl.png | Bin 395192
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: upgrade igb driver
Module: xenomai-3 Branch: next Commit: 8268c5e87cf0ac5223d98a86918b9420a0e94382 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8268c5e87cf0ac5223d98a86918b9420a0e94382 Author: Gilles ChanteperdrixDate: 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-3.git;a=commitdiff;h=8268c5e87cf0ac5223d98a86918b9420a0e94382 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: forbid removing the rtnet module
Module: xenomai-3 Branch: next Commit: 8b396a5a120cc158e0e00e6d84edbf8585806f29 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8b396a5a120cc158e0e00e6d84edbf8585806f29 Author: Gilles ChanteperdrixDate: Sat Oct 31 20:56:32 2015 +0100 drivers/rtnet: forbid removing the rtnet module if a file descriptor points to /dev/rtnet --- kernel/drivers/net/stack/rtnet_chrdev.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/drivers/net/stack/rtnet_chrdev.c b/kernel/drivers/net/stack/rtnet_chrdev.c index a64d6da..d3f617c 100644 --- a/kernel/drivers/net/stack/rtnet_chrdev.c +++ b/kernel/drivers/net/stack/rtnet_chrdev.c @@ -278,7 +278,8 @@ void rtnet_unregister_ioctls(struct rtnet_ioctls *ioctls) static struct file_operations rtnet_fops = { -.unlocked_ioctl= rtnet_ioctl, +.owner = THIS_MODULE, +.unlocked_ioctl = rtnet_ioctl, }; static struct miscdevice rtnet_chr_misc_dev = { ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : testsuite/smokey: tsc: shorten default duration
Module: xenomai-3 Branch: next Commit: c26d4ab74e791503b0cfcb802ce678e56ff2f259 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c26d4ab74e791503b0cfcb802ce678e56ff2f259 Author: Gilles ChanteperdrixDate: Sun Nov 1 19:45:49 2015 +0100 testsuite/smokey: tsc: shorten default duration --- testsuite/smokey/tsc/tsc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/smokey/tsc/tsc.c b/testsuite/smokey/tsc/tsc.c index 369f042..2865e33 100644 --- a/testsuite/smokey/tsc/tsc.c +++ b/testsuite/smokey/tsc/tsc.c @@ -114,7 +114,7 @@ static int run_tsc(struct smokey_test *t, int argc, char *const argv[]) min = (secs + 59) / 60; secs = min * 60; } else - secs = 60; + secs = 15; min = secs / 60; smokey_trace("Checking tsc for %u minute(s)", min); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : bump version code
Module: xenomai-3 Branch: next Commit: 1cc9e73328af8e61071b91c6fccf1415e3a630ab URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1cc9e73328af8e61071b91c6fccf1415e3a630ab Author: Philippe GerumDate: Sun Nov 1 18:38:22 2015 +0100 bump version code --- config/version-code |2 +- config/version-label |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/version-code b/config/version-code index 4a36342..cb2b00e 100644 --- a/config/version-code +++ b/config/version-code @@ -1 +1 @@ -3.0.0 +3.0.1 diff --git a/config/version-label b/config/version-label index 9f55b2c..cb2b00e 100644 --- a/config/version-label +++ b/config/version-label @@ -1 +1 @@ -3.0 +3.0.1 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: hide configuration options if globally disabled
Module: xenomai-3 Branch: next Commit: 101404fc251e9fc0b997bdc6161925190580 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=101404fc251e9fc0b997bdc6161925190580 Author: Gilles ChanteperdrixDate: Sat Oct 31 20:54:19 2015 +0100 drivers/rtnet: hide configuration options if globally disabled --- kernel/drivers/net/Kconfig |4 1 file changed, 4 insertions(+) diff --git a/kernel/drivers/net/Kconfig b/kernel/drivers/net/Kconfig index caffc1f..ac3bced 100644 --- a/kernel/drivers/net/Kconfig +++ b/kernel/drivers/net/Kconfig @@ -5,6 +5,8 @@ config XENO_DRIVERS_NET select NET tristate "RTnet, TCP/IP socket interface" +if XENO_DRIVERS_NET + config XENO_DRIVERS_RTNET_CHECKED bool "Internal Bug Checks" default n @@ -18,4 +20,6 @@ source "drivers/xenomai/net/stack/Kconfig" source "drivers/xenomai/net/drivers/Kconfig" source "drivers/xenomai/net/addons/Kconfig" +endif + endmenu ___ 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
Module: xenomai-3 Branch: next Commit: a73161a18c90440b6ee4125e09526616dcff506a URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a73161a18c90440b6ee4125e09526616dcff506a Author: Gilles ChanteperdrixDate: 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] Gilles Chanteperdrix : drivers/rtnet: fix loopback
Module: xenomai-3 Branch: next Commit: 04df10d1fdc32e719b66f02da9117d2783a24bd2 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=04df10d1fdc32e719b66f02da9117d2783a24bd2 Author: Gilles ChanteperdrixDate: Sat Oct 31 21:31:00 2015 +0100 drivers/rtnet: fix loopback Allocate a device pool, since rtdev_xmit now compensates the sent packet with a packet from the device pool. --- kernel/drivers/net/drivers/loopback.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/drivers/net/drivers/loopback.c b/kernel/drivers/net/drivers/loopback.c index b404a64..ef5323a 100644 --- a/kernel/drivers/net/drivers/loopback.c +++ b/kernel/drivers/net/drivers/loopback.c @@ -95,7 +95,7 @@ static int __init loopback_init(void) printk("initializing loopback...\n"); -if ((rtdev = rt_alloc_etherdev(0, 0)) == NULL) +if ((rtdev = rt_alloc_etherdev(0, 1)) == NULL) return -ENODEV; rt_rtdev_connect(rtdev, _manager); ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Gilles Chanteperdrix : drivers/rtnet: fix SIOCGIFNAME ioctl
Module: xenomai-3 Branch: next Commit: ee1e6b32a0a7adfb694d1297daf447173b92237c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ee1e6b32a0a7adfb694d1297daf447173b92237c Author: Gilles ChanteperdrixDate: Sun Nov 1 19:13:39 2015 +0100 drivers/rtnet: fix SIOCGIFNAME ioctl Add missing call to rtdev_dereference. --- kernel/drivers/net/stack/socket.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/drivers/net/stack/socket.c b/kernel/drivers/net/stack/socket.c index 0c028ab..64a2a2e 100644 --- a/kernel/drivers/net/stack/socket.c +++ b/kernel/drivers/net/stack/socket.c @@ -273,7 +273,8 @@ int rt_socket_if_ioctl(struct rtdm_fd *fd, int request, void *arg) if (rtdev == NULL) return -ENODEV; strlcpy(ifr->ifr_name, rtdev->name, IFNAMSIZ); -return 0; + ret = 0; + goto out; } rtdev = rtdev_get_by_name(ifr->ifr_name); @@ -312,6 +313,7 @@ int rt_socket_if_ioctl(struct rtdm_fd *fd, int request, void *arg) break; } + out: rtdev_dereference(rtdev); return ret; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git