Re: Cobalt compatible distribution

2019-03-20 Thread Alec Ari via Xenomai
Hi Don,

Glad I could help. Sorry for all the confusion!

Alec



[PATCH] drivers/net: reformat using kernel coding style

2019-03-20 Thread Philippe Gerum via Xenomai


As discussed earlier on this list [1], this patch reformats the RTnet
stack according to the kernel coding style. Due to its size, I'm not
going to paste it inline; please find it at [2].

Note: the following series introducing VLAN and multicast support is
based on this patch.

[1] https://www.xenomai.org/pipermail/xenomai/2019-February/040327.html
[2]
https://lab.xenomai.org/xenomai-rpm.git/commit/?h=for-upstream/next&id=f58f8e176a366182a182362b9af0ffe41ca81d86

-- 
Philippe.



[PATCH] travis: use ccache

2019-03-20 Thread roman.stratiienko--- via Xenomai
From: Roman Stratiienko 

This speeds-up travis build

Measurement results (build with ipipe-core-4.14.85-arm-6)
 - Without ccache: 26 min 7 sec
 - With ccache (1st run): 31 min 21 sec
 - With ccache (every next run): 4 min 23 sec

Signed-off-by: Roman Stratiienko 
---
 .travis.yml | 8 
 1 file changed, 8 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index c5a9026aa..e40cec51d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
 language: c
 dist: xenial
+cache: ccache
 
 addons:
   apt:
@@ -15,6 +16,8 @@ addons:
 env:
   global:
 - KDIR=/tmp/kernel
+- USE_CCACHE=1
+- CCACHE_MAXSIZE=400M
 
 install:
   - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
@@ -40,6 +43,10 @@ before_script:
   export CONFIGURE_OPTS="--enable-dlopen-libs --enable-lazy-setsched"
   ;;
 esac
+  - mkdir ~/ccache
+  - ln -s /usr/bin/ccache ~/ccache/aarch64-linux-gnu-gcc
+  - ln -s /usr/bin/ccache ~/ccache/arm-linux-gnueabihf-gcc
+  - export PATH=~/ccache:$PATH
   - pushd ${KDIR}
   - make -j $(nproc) ${KERNEL_DEFCONFIG}
   - ./scripts/config -e IPIPE
@@ -88,6 +95,7 @@ script:
   - scripts/bootstrap
   - ./configure --enable-smp ${CONFIGURE_OPTS}
   - make -j $(nproc)
+  - ccache -s
 
 matrix:
   include:
-- 
2.17.1




[PATCH 3/5] drivers/serial: imx: drop useless EWOULDBLOCK->EAGAIN remapping

2019-03-20 Thread Philippe Gerum via Xenomai
Signed-off-by: Philippe Gerum 
---
 kernel/drivers/serial/rt_imx_uart.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/kernel/drivers/serial/rt_imx_uart.c 
b/kernel/drivers/serial/rt_imx_uart.c
index 574fd1aa7..6118e29b7 100644
--- a/kernel/drivers/serial/rt_imx_uart.c
+++ b/kernel/drivers/serial/rt_imx_uart.c
@@ -1435,10 +1435,6 @@ static ssize_t rt_imx_uart_write(struct rtdm_fd *fd, 
const void *buf,
 */
ret = -EBADF;
}
-   if (ret == -EWOULDBLOCK) {
-   /* Fix error code for non-blocking mode. */
-   ret = -EAGAIN;
-   }
break;
}
}
-- 
2.20.1




[PATCH 2/5] drivers/serial: imx: fix locking imbalance upon -EBADF

2019-03-20 Thread Philippe Gerum via Xenomai
Signed-off-by: Philippe Gerum 
---
 kernel/drivers/serial/rt_imx_uart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/drivers/serial/rt_imx_uart.c 
b/kernel/drivers/serial/rt_imx_uart.c
index 443a34261..574fd1aa7 100644
--- a/kernel/drivers/serial/rt_imx_uart.c
+++ b/kernel/drivers/serial/rt_imx_uart.c
@@ -1433,7 +1433,7 @@ static ssize_t rt_imx_uart_write(struct rtdm_fd *fd, 
const void *buf,
/* Device has been closed -
 * return immediately.
 */
-   return -EBADF;
+   ret = -EBADF;
}
if (ret == -EWOULDBLOCK) {
/* Fix error code for non-blocking mode. */
-- 
2.20.1




[PATCH 4/5] net/drivers: macb: do not check for initial checksum value

2019-03-20 Thread Philippe Gerum via Xenomai
See https://www.xenomai.org/pipermail/xenomai/2019-February/040321.html.

Signed-off-by: Philippe Gerum 
---
 kernel/drivers/net/drivers/macb.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/kernel/drivers/net/drivers/macb.c 
b/kernel/drivers/net/drivers/macb.c
index 8a6a10f9c..fc5b6679a 100644
--- a/kernel/drivers/net/drivers/macb.c
+++ b/kernel/drivers/net/drivers/macb.c
@@ -725,7 +725,6 @@ static int gem_rx(struct macb *bp, int budget, 
nanosecs_abs_t *time_stamp)
 bp->rx_buffer_size, DMA_FROM_DEVICE);
 
skb->protocol = rt_eth_type_trans(skb, bp->dev);
-   rtskb_checksum_none_assert(skb);
 
bp->stats.rx_packets++;
bp->stats.rx_bytes += skb->len;
@@ -792,7 +791,6 @@ static int macb_rx_frame(struct macb *bp, unsigned int 
first_frag,
offset = 0;
len += NET_IP_ALIGN;
skb->time_stamp = *time_stamp;
-   rtskb_checksum_none_assert(skb);
rtskb_put(skb, len);
 
for (frag = first_frag; ; frag++) {
-- 
2.20.1




[PATCH 5/5] net/drivers: stack: remove unused assertion

2019-03-20 Thread Philippe Gerum via Xenomai
We have no more in-tree users for it.

Signed-off-by: Philippe Gerum 
---
 doc/asciidoc/MIGRATION.adoc  | 4 +---
 kernel/drivers/net/stack/include/rtskb.h | 2 --
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/doc/asciidoc/MIGRATION.adoc b/doc/asciidoc/MIGRATION.adoc
index b4f95dc45..cf1346415 100644
--- a/doc/asciidoc/MIGRATION.adoc
+++ b/doc/asciidoc/MIGRATION.adoc
@@ -1129,8 +1129,7 @@ unsigned int rtskb_module_pool_init(struct rtskb_pool 
*pool,
 rtnetdev_priv(), rtdev_emerg(), rtdev_alert(), rtdev_crit(),
 rtdev_err(), rtdev_warn(), rtdev_notice(), rtdev_info(),
 rtdev_dbg(), rtdev_vdbg(), RTDEV_TX_OK, RTDEV_TX_BUSY,
-rtskb_checksum_none_assert(), rtskb_tx_timestamp(). Their
-declarations are equivalent to:
+rtskb_tx_timestamp(). Their declarations are equivalent to:
 
 ---
 #define RTDEV_TX_OK0
@@ -1148,7 +1147,6 @@ void rtdev_info(struct rntet_device *dev, const char 
*format, ...);
 void rtdev_dbg(struct rntet_device *dev, const char *format, ...);
 void rtdev_vdbg(struct rntet_device *dev, const char *format, ...);
 
-void rtskb_checksum_non_assert(struct rtskb *skb);
 void rtskb_tx_timestamp(struct rtskb *skb);
 ---
 
diff --git a/kernel/drivers/net/stack/include/rtskb.h 
b/kernel/drivers/net/stack/include/rtskb.h
index a1793e9a8..0f7e0bff2 100644
--- a/kernel/drivers/net/stack/include/rtskb.h
+++ b/kernel/drivers/net/stack/include/rtskb.h
@@ -294,8 +294,6 @@ extern void kfree_rtskb(struct rtskb *skb);
 #define dev_kfree_rtskb(a)  kfree_rtskb(a)
 
 
-#define rtskb_checksum_none_assert(skb) (skb->ip_summed = CHECKSUM_NONE)
-
 static inline void rtskb_tx_timestamp(struct rtskb *skb)
 {
nanosecs_abs_t *ts = skb->xmit_stamp;
-- 
2.20.1




[PATCH 1/5] testsuite/gpiotest: define missing 'timestamp' argument

2019-03-20 Thread Philippe Gerum via Xenomai
Signed-off-by: Philippe Gerum 
---
 testsuite/gpiotest/gpiotest.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/testsuite/gpiotest/gpiotest.c b/testsuite/gpiotest/gpiotest.c
index 7347ac506..2e4b1bf4d 100644
--- a/testsuite/gpiotest/gpiotest.c
+++ b/testsuite/gpiotest/gpiotest.c
@@ -35,6 +35,7 @@ smokey_test_plugin(interrupt,
   SMOKEY_STRING(device),
   SMOKEY_STRING(trigger),
   SMOKEY_BOOL(select),
+  SMOKEY_BOOL(timestamp),
   ),
"Wait for interrupts from a GPIO pin.\n"
"\tdevice=\n"
-- 
2.20.1




[PATCH 0/5] serial, net, testsuite fixes

2019-03-20 Thread Philippe Gerum via Xenomai
No critical changes here; although patch #0002 fixes a locking
imbalance in some error path, the latter is in theory impossible to
trigger.

Philippe Gerum (5):
  testsuite/gpiotest: define missing 'timestamp' argument
  drivers/serial: imx: fix locking imbalance upon -EBADF
  drivers/serial: imx: drop useless EWOULDBLOCK->EAGAIN remapping
  net/drivers: macb: do not check for initial checksum value
  net/drivers: stack: remove unused assertion

 doc/asciidoc/MIGRATION.adoc  |  4 +---
 kernel/drivers/net/drivers/macb.c|  2 --
 kernel/drivers/net/stack/include/rtskb.h |  2 --
 kernel/drivers/serial/rt_imx_uart.c  |  6 +-
 testsuite/gpiotest/gpiotest.c| 11 ++-
 5 files changed, 8 insertions(+), 17 deletions(-)

-- 
2.20.1




libcopperplate.so depends on modecheck?

2019-03-20 Thread Lange Norbert via Xenomai
Hello,

Seems like libcopperplate.so always depends on libmodechk.so, as the following 
symbols would imply:

nm -D 
/home/lano/buildroot/host/x86_64-buildroot-linux-gnu/sysroot/usr/xenomai/lib/libcopperplate.so
 | grep __real
 U __real_free
 U __real_malloc

xeno-config deals with this by always linking modeck, even if you add 
--no-mode-check-

I am not completely confident with the wrapper-magic,
but shouldn't libcopperplate use either cobalt_malloc or the libc malloc?
__real_malloc is just a stub for libc malloc, so I really don't get the point 
(assuming this is intentional).

Modeswitches could also be detected by interposing libraries, so removing 
libmodechk
Is a viable thing to do.
(shameless plug: https://github.com/nolange/preload_checkers )


Regards, Norbert


This message and any attachments are solely for the use of the intended 
recipients. They may contain privileged and/or confidential information or 
other information protected from disclosure. If you are not an intended 
recipient, you are hereby notified that you received this email in error and 
that any review, dissemination, distribution or copying of this email and any 
attachment is strictly prohibited. If you have received this email in error, 
please contact the sender and delete the message and any attachment from your 
system.

ANDRITZ HYDRO GmbH


Rechtsform/ Legal form: Gesellschaft mit beschränkter Haftung / Corporation

Firmensitz/ Registered seat: Wien

Firmenbuchgericht/ Court of registry: Handelsgericht Wien

Firmenbuchnummer/ Company registration: FN 61833 g

DVR: 0605077

UID-Nr.: ATU14756806


Thank You