Module: xenomai-gch Branch: next Commit: 4b994f166b21cab58a5e15c94fb92c559e126ca8 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=4b994f166b21cab58a5e15c94fb92c559e126ca8
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> 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_RELAX 256 +# define _CC_COBALT_DEBUG_NET 512 #define _CC_COBALT_GET_POLICIES 4 # 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 0x00000001 +# define _CC_COBALT_NET_ETH_P_ALL 0x00000002 +# define _CC_COBALT_NET_IPV4 0x00000004 +# define _CC_COBALT_NET_ICMP 0x00000008 +# define _CC_COBALT_NET_NETROUTING 0x00000010 +# define _CC_COBALT_NET_ROUTER 0x00000020 +# define _CC_COBALT_NET_UDP 0x00000040 +# define _CC_COBALT_NET_AF_PACKET 0x00000080 +# define _CC_COBALT_NET_TDMA 0x00000100 +# define _CC_COBALT_NET_NOMAC 0x00000200 +# define _CC_COBALT_NET_CFG 0x00000400 +# define _CC_COBALT_NET_CAP 0x00000800 +# define _CC_COBALT_NET_PROXY 0x00001000 + + 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