All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/7] travis: add basic CI support
@ 2019-03-05 14:45 roman.stratiienko
  2019-03-05 14:45 ` [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20 roman.stratiienko
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 .travis.yml

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..0807760f4
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,73 @@
+language: c
+dist: xenial
+
+addons:
+  apt:
+    packages:
+      - gcc-aarch64-linux-gnu
+      - gcc-arm-linux-gnueabihf
+      - patch
+      - quilt
+      - wget
+
+env:
+  global:
+    - KDIR=/tmp/kernel
+
+install:
+  - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
+      KERNEL_URL=https://git.kernel.org/torvalds/t/linux-${KERNEL_VERSION}.tar.gz;
+    else
+      KERNEL_URL=https://www.kernel.org/pub/linux/kernel/v${KERNEL_VERSION::1}.x/linux-${KERNEL_VERSION}.tar.xz;
+    fi
+  - wget -O kernel.tar.xz ${KERNEL_URL} && mkdir ${KDIR} && tar -C ${KDIR} --strip=1 -xf kernel.tar.xz
+  - wget -O /tmp/ipipe.patch ${IPIPE_URL}
+
+before_script:
+  - case "${ARCH}" in
+      "arm64") export CROSS_COMPILE=aarch64-linux-gnu-
+          ;;
+      "arm"  ) export CROSS_COMPILE=arm-linux-gnueabihf-
+          ;;
+      "x86"  ) export CROSS_COMPILE=
+          ;;
+    esac
+  - pushd ${KDIR}
+  - make -j $(nproc) ${KERNEL_DEFCONFIG}
+  - ./scripts/config -e CONFIG_IPIPE
+  - ./scripts/config -e CONFIG_XENOMAI
+  - popd
+
+script:
+  - ./scripts/prepare-kernel.sh --ipipe=/tmp/ipipe.patch --arch=${ARCH} --linux=${KDIR}
+  - cd ${KDIR}
+  - make -j $(nproc) olddefconfig
+  - make -j $(nproc) all
+
+matrix:
+  include:
+    - env:
+      - ARCH: arm
+        KERNEL_VERSION: 4.20.7
+        KERNEL_DEFCONFIG: multi_v7_defconfig
+        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/draft-v4.20.7/0001-Draft-version-of-ipipe-arm-ported-on-v4.20.7.patch
+    - env:
+      - ARCH: arm
+        KERNEL_VERSION: 4.14.85
+        KERNEL_DEFCONFIG: multi_v7_defconfig
+        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.14.85-arm-6.patch
+    - env:
+      - ARCH: arm
+        KERNEL_VERSION: 4.1.18
+        KERNEL_DEFCONFIG: multi_v7_defconfig
+        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/arm/older/ipipe-core-4.1.18-arm-9.patch
+    - env:
+      - ARCH: x86
+        KERNEL_VERSION: 4.14.89
+        KERNEL_DEFCONFIG: x86_64_defconfig
+        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.14.89-x86-2.patch
+    - env:
+      - ARCH: x86
+        KERNEL_VERSION: 4.4.166
+        KERNEL_DEFCONFIG: i386_defconfig
+        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.4.166-x86-12.patch
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
@ 2019-03-05 14:45 ` roman.stratiienko
  2019-03-05 18:00   ` Jan Kiszka
  2019-03-05 14:45 ` [PATCH 3/7] Kernel: cobalt: workaround of BUILD_BUG_ON error on v4.18 roman.stratiienko
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

READ_ONCE() introduced from v3.19 commit 230fa253df63
("kernel: Provide READ_ONCE and ASSIGN_ONCE")
and ACCESS_ONCE() removed startibg from v4.15-rc4 commit
b899a850431e ("compiler.h: Remove ACCESS_ONCE()")
Replace ACCESS_ONCE with READ_ONCE and make READ_ONCE wrapper
for case when READ_ONCE is not available (<v3.19)

print_symbol() removed since v4.16-rc1 commit d2279c9d7f7d
("kallsyms: remove print_symbol() function")
use print_symbol for version less than v4.16 and printk starting from v4.16

$SRCARCH removed since v4.18-rc1, upstream commit 104daea149c4
("kconfig: reference environment variables directly and remove 'option env='")
forward SRCARCH from the scripts/prepare-kernel.sh

siginfo_t can't be used in kernel-space starting from v4.20-rc1 commit
ae7795bc6187 ("signal: Distinguish between kernel_siginfo and siginfo")
replace all siginfo_t to kernel_siginfo_t and create wrapper for kernel < v4.20

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 include/cobalt/uapi/kernel/urw.h               | 6 +++++-
 kernel/cobalt/include/linux/xenomai/wrappers.h | 4 ++++
 kernel/cobalt/posix/process.c                  | 6 +++++-
 kernel/cobalt/thread.c                         | 4 ++--
 scripts/Kconfig.frag                           | 2 +-
 scripts/prepare-kernel.sh                      | 1 +
 6 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/include/cobalt/uapi/kernel/urw.h b/include/cobalt/uapi/kernel/urw.h
index 40a1eb5ff..fcfde21a0 100644
--- a/include/cobalt/uapi/kernel/urw.h
+++ b/include/cobalt/uapi/kernel/urw.h
@@ -53,11 +53,15 @@ typedef struct {
 #define URW_INITIALIZER     { 0 }
 #define DEFINE_URW(__name)  urw_t __name = URW_INITIALIZER
 
+#ifndef READ_ONCE
+#define READ_ONCE ACCESS_ONCE
+#endif
+
 static inline void __try_read_start(const urw_t *urw, urwstate_t *tmp)
 {
 	__u32 token;
 repeat:
-	token = ACCESS_ONCE(urw->sequence);
+	token = READ_ONCE(urw->sequence);
 	smp_rmb();
 	if (token & 1) {
 		cpu_relax();
diff --git a/kernel/cobalt/include/linux/xenomai/wrappers.h b/kernel/cobalt/include/linux/xenomai/wrappers.h
index 7d00aa9d4..6ea86a0fd 100644
--- a/kernel/cobalt/include/linux/xenomai/wrappers.h
+++ b/kernel/cobalt/include/linux/xenomai/wrappers.h
@@ -49,4 +49,8 @@
 #define ipipe_root_nr_syscalls(ti)	NR_syscalls
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
+typedef siginfo_t kernel_siginfo_t;
+#endif
+
 #endif /* !_COBALT_LINUX_WRAPPERS_H */
diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c
index d0f2f3725..dcf6234d3 100644
--- a/kernel/cobalt/posix/process.c
+++ b/kernel/cobalt/posix/process.c
@@ -583,7 +583,7 @@ static inline void clear_threadinfo(void)
 static inline int disable_ondemand_memory(void)
 {
 	struct task_struct *p = current;
-	siginfo_t si;
+	kernel_siginfo_t si;
 
 	if ((p->mm->def_flags & VM_LOCKED) == 0) {
 		memset(&si, 0, sizeof(si));
@@ -747,7 +747,11 @@ static inline int handle_exception(struct ipipe_trap_data *d)
 		}
 		splexit(s);
 #endif /* CONFIG_XENO_ARCH_FPU */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)
+		printk("invalid use of FPU in Xenomai context at %pS\n",
+#else
 		print_symbol("invalid use of FPU in Xenomai context at %s\n",
+#endif
 			     xnarch_fault_pc(d));
 	}
 
diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
index a43d2f1ad..fa7a65569 100644
--- a/kernel/cobalt/thread.c
+++ b/kernel/cobalt/thread.c
@@ -2070,7 +2070,7 @@ void xnthread_relax(int notify, int reason)
 	struct xnthread *thread = xnthread_current();
 	struct task_struct *p = current;
 	int cpu __maybe_unused;
-	siginfo_t si;
+	kernel_siginfo_t si;
 
 	primary_mode_only();
 
@@ -2183,7 +2183,7 @@ static void lostage_task_signal(struct ipipe_work_header *work)
 	struct lostage_signal *rq;
 	struct xnthread *thread;
 	struct task_struct *p;
-	siginfo_t si;
+	kernel_siginfo_t si;
 	int signo;
 
 	rq = container_of(work, struct lostage_signal, work);
diff --git a/scripts/Kconfig.frag b/scripts/Kconfig.frag
index cd39f7670..c9655d43a 100644
--- a/scripts/Kconfig.frag
+++ b/scripts/Kconfig.frag
@@ -16,7 +16,7 @@ menuconfig XENOMAI
 	  Please visit http://xenomai.org for more information.
 
 if XENOMAI
-source "arch/$SRCARCH/xenomai/Kconfig"
+source "arch/@SRCARCH@/xenomai/Kconfig"
 endif
 
 if MIGRATION
diff --git a/scripts/prepare-kernel.sh b/scripts/prepare-kernel.sh
index 964e42e83..8707b1198 100755
--- a/scripts/prepare-kernel.sh
+++ b/scripts/prepare-kernel.sh
@@ -376,6 +376,7 @@ case $linux_VERSION.$linux_PATCHLEVEL in
 	    -e "s,@VERSION_MINOR@,$version_minor,g" \
 	    -e "s,@REVISION_LEVEL@,$revision_level,g" \
 	    -e "s,@VERSION_STRING@,$version_string,g" \
+	    -e "s,@SRCARCH@,$linux_arch,g" \
 	    $xenomai_root/scripts/Kconfig.frag |
             patch_append init/Kconfig
     fi
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 3/7] Kernel: cobalt: workaround of BUILD_BUG_ON error on v4.18
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
  2019-03-05 14:45 ` [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20 roman.stratiienko
@ 2019-03-05 14:45 ` roman.stratiienko
  2019-03-05 18:00   ` Jan Kiszka
  2019-03-05 14:45 ` [PATCH 4/7] kernel: cobalt: add missing quotes roman.stratiienko
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

After kernel v4.18 commit 4a0772cf0674
("tracing: Prevent further users of zero size static arrays in trace events")
creating zero length arrays will force compile-time error

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 kernel/cobalt/trace/cobalt-posix.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/cobalt/trace/cobalt-posix.h b/kernel/cobalt/trace/cobalt-posix.h
index 77392e725..3a87cc610 100644
--- a/kernel/cobalt/trace/cobalt-posix.h
+++ b/kernel/cobalt/trace/cobalt-posix.h
@@ -266,7 +266,7 @@ DECLARE_EVENT_CLASS(cobalt_void,
 	TP_PROTO(int dummy),
 	TP_ARGS(dummy),
 	TP_STRUCT__entry(
-		__array(char, dummy, 0)
+		__array(char, dummy, 1)
 	),
 	TP_fast_assign(
 		(void)dummy;
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 4/7] kernel: cobalt: add missing quotes
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
  2019-03-05 14:45 ` [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20 roman.stratiienko
  2019-03-05 14:45 ` [PATCH 3/7] Kernel: cobalt: workaround of BUILD_BUG_ON error on v4.18 roman.stratiienko
@ 2019-03-05 14:45 ` roman.stratiienko
  2019-03-05 18:03   ` Jan Kiszka
  2019-03-05 14:45 ` [PATCH 5/7] kernel: cobalt: support building against v5.0 roman.stratiienko
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 kernel/drivers/analogy/Kconfig | 8 ++++----
 kernel/drivers/can/Kconfig     | 4 ++--
 scripts/Kconfig.frag           | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/kernel/drivers/analogy/Kconfig b/kernel/drivers/analogy/Kconfig
index e8fa953d5..858762bda 100644
--- a/kernel/drivers/analogy/Kconfig
+++ b/kernel/drivers/analogy/Kconfig
@@ -48,9 +48,9 @@ config XENO_DRIVERS_ANALOGY_DRIVER_DEBUG_LEVEL
        WARNING: this threshold is only applied on the Analogy
        driver. That will not affect the core.
 
-source drivers/xenomai/analogy/testing/Kconfig
-source drivers/xenomai/analogy/intel/Kconfig
-source drivers/xenomai/analogy/national_instruments/Kconfig
-source drivers/xenomai/analogy/sensoray/Kconfig
+source "drivers/xenomai/analogy/testing/Kconfig"
+source "drivers/xenomai/analogy/intel/Kconfig"
+source "drivers/xenomai/analogy/national_instruments/Kconfig"
+source "drivers/xenomai/analogy/sensoray/Kconfig"
 
 endmenu
diff --git a/kernel/drivers/can/Kconfig b/kernel/drivers/can/Kconfig
index 33ca722ad..0bbfcc9d1 100644
--- a/kernel/drivers/can/Kconfig
+++ b/kernel/drivers/can/Kconfig
@@ -85,7 +85,7 @@ config XENO_DRIVERS_CAN_FLEXCAN
 
 	Say Y here if you want to support for Freescale FlexCAN.
 
-source drivers/xenomai/can/mscan/Kconfig
-source drivers/xenomai/can/sja1000/Kconfig
+source "drivers/xenomai/can/mscan/Kconfig"
+source "drivers/xenomai/can/sja1000/Kconfig"
 
 endmenu
diff --git a/scripts/Kconfig.frag b/scripts/Kconfig.frag
index c9655d43a..f2e89a896 100644
--- a/scripts/Kconfig.frag
+++ b/scripts/Kconfig.frag
@@ -48,4 +48,4 @@ config XENO_REVISION_LEVEL
 
 config XENO_VERSION_STRING
        string
-       default @VERSION_STRING@
+       default "@VERSION_STRING@"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 5/7] kernel: cobalt: support building against v5.0
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
                   ` (2 preceding siblings ...)
  2019-03-05 14:45 ` [PATCH 4/7] kernel: cobalt: add missing quotes roman.stratiienko
@ 2019-03-05 14:45 ` roman.stratiienko
  2019-03-05 18:05   ` Jan Kiszka
  2019-03-05 14:45 ` [PATCH 6/7] kernel: cobalt: migrate to ktime_t roman.stratiienko
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

Since kernel v5.0 upstream commit 96d4f267e40f
("Remove 'type' argument from access_ok() function")
 access_ok() funcion takes only 2 parameters

Change access_rok and access_wok wrappers for kernels
 starting from v5.0, and preserve them for earlier versions

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 kernel/cobalt/include/asm-generic/xenomai/syscall.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/kernel/cobalt/include/asm-generic/xenomai/syscall.h b/kernel/cobalt/include/asm-generic/xenomai/syscall.h
index e14a9d1e3..0d50d4107 100644
--- a/kernel/cobalt/include/asm-generic/xenomai/syscall.h
+++ b/kernel/cobalt/include/asm-generic/xenomai/syscall.h
@@ -27,8 +27,13 @@
 #include <asm/xenomai/machine.h>
 #include <cobalt/uapi/asm-generic/syscall.h>
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+#define access_rok(addr, size)	access_ok((addr), (size))
+#define access_wok(addr, size)	access_ok((addr), (size))
+#else
 #define access_rok(addr, size)	access_ok(VERIFY_READ, (addr), (size))
 #define access_wok(addr, size)	access_ok(VERIFY_WRITE, (addr), (size))
+#endif
 
 #define __xn_reg_arglist(regs)	\
 	__xn_reg_arg1(regs),	\
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 6/7] kernel: cobalt: migrate to ktime_t
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
                   ` (3 preceding siblings ...)
  2019-03-05 14:45 ` [PATCH 5/7] kernel: cobalt: support building against v5.0 roman.stratiienko
@ 2019-03-05 14:45 ` roman.stratiienko
  2019-03-05 18:16   ` Jan Kiszka
  2019-03-05 14:45 ` [PATCH 7/7] travis: append v5.0 to the matrix roman.stratiienko
  2019-03-05 17:53 ` [PATCH 1/7] travis: add basic CI support Jan Kiszka
  6 siblings, 1 reply; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 kernel/cobalt/clock.c                 | 4 +---
 kernel/drivers/analogy/rtdm_helpers.c | 5 +----
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/kernel/cobalt/clock.c b/kernel/cobalt/clock.c
index 272db3241..f8291b006 100644
--- a/kernel/cobalt/clock.c
+++ b/kernel/cobalt/clock.c
@@ -350,9 +350,7 @@ EXPORT_SYMBOL_GPL(xnclock_adjust);
 
 xnticks_t xnclock_get_host_time(void)
 {
-	struct timeval tv;
-	do_gettimeofday(&tv);
-	return tv.tv_sec * 1000000000ULL + tv.tv_usec * 1000;
+	return ktime_to_ns(ktime_get_real());
 }
 EXPORT_SYMBOL_GPL(xnclock_get_host_time);
 
diff --git a/kernel/drivers/analogy/rtdm_helpers.c b/kernel/drivers/analogy/rtdm_helpers.c
index 8330d0676..675594152 100644
--- a/kernel/drivers/analogy/rtdm_helpers.c
+++ b/kernel/drivers/analogy/rtdm_helpers.c
@@ -32,11 +32,8 @@ static nanosecs_abs_t a4l_clkofs;
 void a4l_init_time(void)
 {
 	nanosecs_abs_t t1, t2;
-	struct timeval tv;
 	t1 = rtdm_clock_read();
-	do_gettimeofday(&tv);
-	t2 = 1000000000 * ((nanosecs_abs_t)tv.tv_sec) +
-		1000000 * ((nanosecs_abs_t)tv.tv_usec);
+	t2 = ktime_to_ns(ktime_get_real());
 	a4l_clkofs = t2 - t1;
 }
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 7/7] travis: append v5.0 to the matrix
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
                   ` (4 preceding siblings ...)
  2019-03-05 14:45 ` [PATCH 6/7] kernel: cobalt: migrate to ktime_t roman.stratiienko
@ 2019-03-05 14:45 ` roman.stratiienko
  2019-03-05 18:24   ` Jan Kiszka
  2019-03-06 17:52   ` Philippe Gerum
  2019-03-05 17:53 ` [PATCH 1/7] travis: add basic CI support Jan Kiszka
  6 siblings, 2 replies; 19+ messages in thread
From: roman.stratiienko @ 2019-03-05 14:45 UTC (permalink / raw)
  To: xenomai; +Cc: Roman Stratiienko

From: Roman Stratiienko <roman.stratiienko@globallogic.com>

Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
---
 .travis.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 0807760f4..ab23b745d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,11 @@ script:
 
 matrix:
   include:
+    - env:
+      - ARCH: arm
+        KERNEL_VERSION: 5.0
+        KERNEL_DEFCONFIG: multi_v7_defconfig
+        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/v5.0-draft1/ipipe-arm-v5.0-draft.patch
     - env:
       - ARCH: arm
         KERNEL_VERSION: 4.20.7
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/7] travis: add basic CI support
  2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
                   ` (5 preceding siblings ...)
  2019-03-05 14:45 ` [PATCH 7/7] travis: append v5.0 to the matrix roman.stratiienko
@ 2019-03-05 17:53 ` Jan Kiszka
  2019-03-05 20:29   ` Greg Gallagher
       [not found]   ` <CAODwZ7ugD-swhVFpr7VrkEniJBNM3QvkPymNrzBJSNG3uUkMMw@mail.gmail.com>
  6 siblings, 2 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 17:53 UTC (permalink / raw)
  To: roman.stratiienko, xenomai

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 73 insertions(+)
>   create mode 100644 .travis.yml
> 
> diff --git a/.travis.yml b/.travis.yml
> new file mode 100644
> index 000000000..0807760f4
> --- /dev/null
> +++ b/.travis.yml
> @@ -0,0 +1,73 @@
> +language: c
> +dist: xenial
> +
> +addons:
> +  apt:
> +    packages:
> +      - gcc-aarch64-linux-gnu
> +      - gcc-arm-linux-gnueabihf
> +      - patch
> +      - quilt
> +      - wget
> +
> +env:
> +  global:
> +    - KDIR=/tmp/kernel
> +
> +install:
> +  - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
> +      KERNEL_URL=https://git.kernel.org/torvalds/t/linux-${KERNEL_VERSION}.tar.gz;
> +    else
> +      KERNEL_URL=https://www.kernel.org/pub/linux/kernel/v${KERNEL_VERSION::1}.x/linux-${KERNEL_VERSION}.tar.xz;
> +    fi
> +  - wget -O kernel.tar.xz ${KERNEL_URL} && mkdir ${KDIR} && tar -C ${KDIR} --strip=1 -xf kernel.tar.xz
> +  - wget -O /tmp/ipipe.patch ${IPIPE_URL}
> +
> +before_script:
> +  - case "${ARCH}" in
> +      "arm64") export CROSS_COMPILE=aarch64-linux-gnu-
> +          ;;
> +      "arm"  ) export CROSS_COMPILE=arm-linux-gnueabihf-
> +          ;;
> +      "x86"  ) export CROSS_COMPILE=
> +          ;;
> +    esac
> +  - pushd ${KDIR}
> +  - make -j $(nproc) ${KERNEL_DEFCONFIG}
> +  - ./scripts/config -e CONFIG_IPIPE
> +  - ./scripts/config -e CONFIG_XENOMAI
> +  - popd
> +
> +script:
> +  - ./scripts/prepare-kernel.sh --ipipe=/tmp/ipipe.patch --arch=${ARCH} --linux=${KDIR}
> +  - cd ${KDIR}
> +  - make -j $(nproc) olddefconfig
> +  - make -j $(nproc) all
> +
> +matrix:
> +  include:
> +    - env:
> +      - ARCH: arm
> +        KERNEL_VERSION: 4.20.7
> +        KERNEL_DEFCONFIG: multi_v7_defconfig
> +        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/draft-v4.20.7/0001-Draft-version-of-ipipe-arm-ported-on-v4.20.7.patch

Ah, nice, a port to a more recent kernel. Do you also have a queue according to 
our noarch / arch split? Would enable reuse for other archs.

> +    - env:
> +      - ARCH: arm
> +        KERNEL_VERSION: 4.14.85
> +        KERNEL_DEFCONFIG: multi_v7_defconfig
> +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.14.85-arm-6.patch
> +    - env:
> +      - ARCH: arm
> +        KERNEL_VERSION: 4.1.18
> +        KERNEL_DEFCONFIG: multi_v7_defconfig
> +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/arm/older/ipipe-core-4.1.18-arm-9.patch
> +    - env:
> +      - ARCH: x86
> +        KERNEL_VERSION: 4.14.89
> +        KERNEL_DEFCONFIG: x86_64_defconfig
> +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.14.89-x86-2.patch
> +    - env:
> +      - ARCH: x86
> +        KERNEL_VERSION: 4.4.166
> +        KERNEL_DEFCONFIG: i386_defconfig

Actually, we haven't tested 32-bit even on 4.4 in a while.

> +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.4.166-x86-12.patch
> 

Cool! This is a valuable step forward /wrt CI. How long do these builds run 
each, roughly? We scale by spawning a separate build per kernel, right?

I had travis on the to-do list for a while, but everyone around lacked time to 
finish what we started internally. I'll dig out what we had to ensure we can 
merge valuable ideas. But that may even happen after creating a baseline with this.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20
  2019-03-05 14:45 ` [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20 roman.stratiienko
@ 2019-03-05 18:00   ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 18:00 UTC (permalink / raw)
  To: roman.stratiienko, xenomai

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> READ_ONCE() introduced from v3.19 commit 230fa253df63
> ("kernel: Provide READ_ONCE and ASSIGN_ONCE")
> and ACCESS_ONCE() removed startibg from v4.15-rc4 commit
> b899a850431e ("compiler.h: Remove ACCESS_ONCE()")
> Replace ACCESS_ONCE with READ_ONCE and make READ_ONCE wrapper
> for case when READ_ONCE is not available (<v3.19)
> 
> print_symbol() removed since v4.16-rc1 commit d2279c9d7f7d
> ("kallsyms: remove print_symbol() function")
> use print_symbol for version less than v4.16 and printk starting from v4.16
> 
> $SRCARCH removed since v4.18-rc1, upstream commit 104daea149c4
> ("kconfig: reference environment variables directly and remove 'option env='")
> forward SRCARCH from the scripts/prepare-kernel.sh
> 
> siginfo_t can't be used in kernel-space starting from v4.20-rc1 commit
> ae7795bc6187 ("signal: Distinguish between kernel_siginfo and siginfo")
> replace all siginfo_t to kernel_siginfo_t and create wrapper for kernel < v4.20
> 

Could you split this up so that we have a clearer correlation between a related 
subject, log message and code changes?

> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   include/cobalt/uapi/kernel/urw.h               | 6 +++++-
>   kernel/cobalt/include/linux/xenomai/wrappers.h | 4 ++++
>   kernel/cobalt/posix/process.c                  | 6 +++++-
>   kernel/cobalt/thread.c                         | 4 ++--
>   scripts/Kconfig.frag                           | 2 +-
>   scripts/prepare-kernel.sh                      | 1 +
>   6 files changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/include/cobalt/uapi/kernel/urw.h b/include/cobalt/uapi/kernel/urw.h
> index 40a1eb5ff..fcfde21a0 100644
> --- a/include/cobalt/uapi/kernel/urw.h
> +++ b/include/cobalt/uapi/kernel/urw.h
> @@ -53,11 +53,15 @@ typedef struct {
>   #define URW_INITIALIZER     { 0 }
>   #define DEFINE_URW(__name)  urw_t __name = URW_INITIALIZER
>   
> +#ifndef READ_ONCE
> +#define READ_ONCE ACCESS_ONCE
> +#endif
> +
>   static inline void __try_read_start(const urw_t *urw, urwstate_t *tmp)
>   {
>   	__u32 token;
>   repeat:
> -	token = ACCESS_ONCE(urw->sequence);
> +	token = READ_ONCE(urw->sequence);
>   	smp_rmb();
>   	if (token & 1) {
>   		cpu_relax();
> diff --git a/kernel/cobalt/include/linux/xenomai/wrappers.h b/kernel/cobalt/include/linux/xenomai/wrappers.h
> index 7d00aa9d4..6ea86a0fd 100644
> --- a/kernel/cobalt/include/linux/xenomai/wrappers.h
> +++ b/kernel/cobalt/include/linux/xenomai/wrappers.h
> @@ -49,4 +49,8 @@
>   #define ipipe_root_nr_syscalls(ti)	NR_syscalls
>   #endif
>   
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
> +typedef siginfo_t kernel_siginfo_t;
> +#endif
> +
>   #endif /* !_COBALT_LINUX_WRAPPERS_H */
> diff --git a/kernel/cobalt/posix/process.c b/kernel/cobalt/posix/process.c
> index d0f2f3725..dcf6234d3 100644
> --- a/kernel/cobalt/posix/process.c
> +++ b/kernel/cobalt/posix/process.c
> @@ -583,7 +583,7 @@ static inline void clear_threadinfo(void)
>   static inline int disable_ondemand_memory(void)
>   {
>   	struct task_struct *p = current;
> -	siginfo_t si;
> +	kernel_siginfo_t si;
>   
>   	if ((p->mm->def_flags & VM_LOCKED) == 0) {
>   		memset(&si, 0, sizeof(si));
> @@ -747,7 +747,11 @@ static inline int handle_exception(struct ipipe_trap_data *d)
>   		}
>   		splexit(s);
>   #endif /* CONFIG_XENO_ARCH_FPU */
> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)
> +		printk("invalid use of FPU in Xenomai context at %pS\n",
> +#else
>   		print_symbol("invalid use of FPU in Xenomai context at %s\n",
> +#endif
>   			     xnarch_fault_pc(d));
>   	}
>   
> diff --git a/kernel/cobalt/thread.c b/kernel/cobalt/thread.c
> index a43d2f1ad..fa7a65569 100644
> --- a/kernel/cobalt/thread.c
> +++ b/kernel/cobalt/thread.c
> @@ -2070,7 +2070,7 @@ void xnthread_relax(int notify, int reason)
>   	struct xnthread *thread = xnthread_current();
>   	struct task_struct *p = current;
>   	int cpu __maybe_unused;
> -	siginfo_t si;
> +	kernel_siginfo_t si;
>   
>   	primary_mode_only();
>   
> @@ -2183,7 +2183,7 @@ static void lostage_task_signal(struct ipipe_work_header *work)
>   	struct lostage_signal *rq;
>   	struct xnthread *thread;
>   	struct task_struct *p;
> -	siginfo_t si;
> +	kernel_siginfo_t si;
>   	int signo;
>   
>   	rq = container_of(work, struct lostage_signal, work);
> diff --git a/scripts/Kconfig.frag b/scripts/Kconfig.frag
> index cd39f7670..c9655d43a 100644
> --- a/scripts/Kconfig.frag
> +++ b/scripts/Kconfig.frag
> @@ -16,7 +16,7 @@ menuconfig XENOMAI
>   	  Please visit http://xenomai.org for more information.
>   
>   if XENOMAI
> -source "arch/$SRCARCH/xenomai/Kconfig"
> +source "arch/@SRCARCH@/xenomai/Kconfig"
>   endif
>   
>   if MIGRATION
> diff --git a/scripts/prepare-kernel.sh b/scripts/prepare-kernel.sh
> index 964e42e83..8707b1198 100755
> --- a/scripts/prepare-kernel.sh
> +++ b/scripts/prepare-kernel.sh
> @@ -376,6 +376,7 @@ case $linux_VERSION.$linux_PATCHLEVEL in
>   	    -e "s,@VERSION_MINOR@,$version_minor,g" \
>   	    -e "s,@REVISION_LEVEL@,$revision_level,g" \
>   	    -e "s,@VERSION_STRING@,$version_string,g" \
> +	    -e "s,@SRCARCH@,$linux_arch,g" \
>   	    $xenomai_root/scripts/Kconfig.frag |
>               patch_append init/Kconfig
>       fi
> 

Looks good otherwise.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/7] Kernel: cobalt: workaround of BUILD_BUG_ON error on v4.18
  2019-03-05 14:45 ` [PATCH 3/7] Kernel: cobalt: workaround of BUILD_BUG_ON error on v4.18 roman.stratiienko
@ 2019-03-05 18:00   ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 18:00 UTC (permalink / raw)
  To: roman.stratiienko, xenomai

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> After kernel v4.18 commit 4a0772cf0674
> ("tracing: Prevent further users of zero size static arrays in trace events")
> creating zero length arrays will force compile-time error
> 
> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   kernel/cobalt/trace/cobalt-posix.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/cobalt/trace/cobalt-posix.h b/kernel/cobalt/trace/cobalt-posix.h
> index 77392e725..3a87cc610 100644
> --- a/kernel/cobalt/trace/cobalt-posix.h
> +++ b/kernel/cobalt/trace/cobalt-posix.h
> @@ -266,7 +266,7 @@ DECLARE_EVENT_CLASS(cobalt_void,
>   	TP_PROTO(int dummy),
>   	TP_ARGS(dummy),
>   	TP_STRUCT__entry(
> -		__array(char, dummy, 0)
> +		__array(char, dummy, 1)

Let's just do "__field(int, dummy)" at this chance.

I'll have to adjust some tracing patch as well that is currently in next.

>   	),
>   	TP_fast_assign(
>   		(void)dummy;
> 

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 4/7] kernel: cobalt: add missing quotes
  2019-03-05 14:45 ` [PATCH 4/7] kernel: cobalt: add missing quotes roman.stratiienko
@ 2019-03-05 18:03   ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 18:03 UTC (permalink / raw)
  To: roman.stratiienko, xenomai

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 

Minor "Add missing quotes in kconfig" or so.

Jan

> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   kernel/drivers/analogy/Kconfig | 8 ++++----
>   kernel/drivers/can/Kconfig     | 4 ++--
>   scripts/Kconfig.frag           | 2 +-
>   3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/kernel/drivers/analogy/Kconfig b/kernel/drivers/analogy/Kconfig
> index e8fa953d5..858762bda 100644
> --- a/kernel/drivers/analogy/Kconfig
> +++ b/kernel/drivers/analogy/Kconfig
> @@ -48,9 +48,9 @@ config XENO_DRIVERS_ANALOGY_DRIVER_DEBUG_LEVEL
>          WARNING: this threshold is only applied on the Analogy
>          driver. That will not affect the core.
>   
> -source drivers/xenomai/analogy/testing/Kconfig
> -source drivers/xenomai/analogy/intel/Kconfig
> -source drivers/xenomai/analogy/national_instruments/Kconfig
> -source drivers/xenomai/analogy/sensoray/Kconfig
> +source "drivers/xenomai/analogy/testing/Kconfig"
> +source "drivers/xenomai/analogy/intel/Kconfig"
> +source "drivers/xenomai/analogy/national_instruments/Kconfig"
> +source "drivers/xenomai/analogy/sensoray/Kconfig"
>   
>   endmenu
> diff --git a/kernel/drivers/can/Kconfig b/kernel/drivers/can/Kconfig
> index 33ca722ad..0bbfcc9d1 100644
> --- a/kernel/drivers/can/Kconfig
> +++ b/kernel/drivers/can/Kconfig
> @@ -85,7 +85,7 @@ config XENO_DRIVERS_CAN_FLEXCAN
>   
>   	Say Y here if you want to support for Freescale FlexCAN.
>   
> -source drivers/xenomai/can/mscan/Kconfig
> -source drivers/xenomai/can/sja1000/Kconfig
> +source "drivers/xenomai/can/mscan/Kconfig"
> +source "drivers/xenomai/can/sja1000/Kconfig"
>   
>   endmenu
> diff --git a/scripts/Kconfig.frag b/scripts/Kconfig.frag
> index c9655d43a..f2e89a896 100644
> --- a/scripts/Kconfig.frag
> +++ b/scripts/Kconfig.frag
> @@ -48,4 +48,4 @@ config XENO_REVISION_LEVEL
>   
>   config XENO_VERSION_STRING
>          string
> -       default @VERSION_STRING@
> +       default "@VERSION_STRING@"
> 

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 5/7] kernel: cobalt: support building against v5.0
  2019-03-05 14:45 ` [PATCH 5/7] kernel: cobalt: support building against v5.0 roman.stratiienko
@ 2019-03-05 18:05   ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 18:05 UTC (permalink / raw)
  To: roman.stratiienko, xenomai

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> Since kernel v5.0 upstream commit 96d4f267e40f
> ("Remove 'type' argument from access_ok() function")
>   access_ok() funcion takes only 2 parameters
> 
> Change access_rok and access_wok wrappers for kernels
>   starting from v5.0, and preserve them for earlier versions
> 

Also nitpicking: I would refer to access_ok in the subject line as well. This is 
already a single-topic patch, so that works out nicely.

Jan

> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   kernel/cobalt/include/asm-generic/xenomai/syscall.h | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/kernel/cobalt/include/asm-generic/xenomai/syscall.h b/kernel/cobalt/include/asm-generic/xenomai/syscall.h
> index e14a9d1e3..0d50d4107 100644
> --- a/kernel/cobalt/include/asm-generic/xenomai/syscall.h
> +++ b/kernel/cobalt/include/asm-generic/xenomai/syscall.h
> @@ -27,8 +27,13 @@
>   #include <asm/xenomai/machine.h>
>   #include <cobalt/uapi/asm-generic/syscall.h>
>   
> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
> +#define access_rok(addr, size)	access_ok((addr), (size))
> +#define access_wok(addr, size)	access_ok((addr), (size))
> +#else
>   #define access_rok(addr, size)	access_ok(VERIFY_READ, (addr), (size))
>   #define access_wok(addr, size)	access_ok(VERIFY_WRITE, (addr), (size))
> +#endif
>   
>   #define __xn_reg_arglist(regs)	\
>   	__xn_reg_arg1(regs),	\
> 

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 6/7] kernel: cobalt: migrate to ktime_t
  2019-03-05 14:45 ` [PATCH 6/7] kernel: cobalt: migrate to ktime_t roman.stratiienko
@ 2019-03-05 18:16   ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 18:16 UTC (permalink / raw)
  To: roman.stratiienko, xenomai

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   kernel/cobalt/clock.c                 | 4 +---
>   kernel/drivers/analogy/rtdm_helpers.c | 5 +----
>   2 files changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/kernel/cobalt/clock.c b/kernel/cobalt/clock.c
> index 272db3241..f8291b006 100644
> --- a/kernel/cobalt/clock.c
> +++ b/kernel/cobalt/clock.c
> @@ -350,9 +350,7 @@ EXPORT_SYMBOL_GPL(xnclock_adjust);
>   
>   xnticks_t xnclock_get_host_time(void)
>   {
> -	struct timeval tv;
> -	do_gettimeofday(&tv);
> -	return tv.tv_sec * 1000000000ULL + tv.tv_usec * 1000;
> +	return ktime_to_ns(ktime_get_real());
>   }
>   EXPORT_SYMBOL_GPL(xnclock_get_host_time);
>   
> diff --git a/kernel/drivers/analogy/rtdm_helpers.c b/kernel/drivers/analogy/rtdm_helpers.c
> index 8330d0676..675594152 100644
> --- a/kernel/drivers/analogy/rtdm_helpers.c
> +++ b/kernel/drivers/analogy/rtdm_helpers.c
> @@ -32,11 +32,8 @@ static nanosecs_abs_t a4l_clkofs;
>   void a4l_init_time(void)
>   {
>   	nanosecs_abs_t t1, t2;
> -	struct timeval tv;
>   	t1 = rtdm_clock_read();
> -	do_gettimeofday(&tv);
> -	t2 = 1000000000 * ((nanosecs_abs_t)tv.tv_sec) +
> -		1000000 * ((nanosecs_abs_t)tv.tv_usec);

Hmm.... I think this even fixes a bug: Should have been "1000 * ...".

> +	t2 = ktime_to_ns(ktime_get_real());
>   	a4l_clkofs = t2 - t1;
>   }
>   
> 

For the record: This pattern is supported since 3.17. So we are fine.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 7/7] travis: append v5.0 to the matrix
  2019-03-05 14:45 ` [PATCH 7/7] travis: append v5.0 to the matrix roman.stratiienko
@ 2019-03-05 18:24   ` Jan Kiszka
  2019-03-06 17:52   ` Philippe Gerum
  1 sibling, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 18:24 UTC (permalink / raw)
  To: roman.stratiienko, xenomai, Philippe Gerum

On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>   .travis.yml | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 0807760f4..ab23b745d 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -46,6 +46,11 @@ script:
>   
>   matrix:
>     include:
> +    - env:
> +      - ARCH: arm
> +        KERNEL_VERSION: 5.0
> +        KERNEL_DEFCONFIG: multi_v7_defconfig
> +        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/v5.0-draft1/ipipe-arm-v5.0-draft.patch
>       - env:
>         - ARCH: arm
>           KERNEL_VERSION: 4.20.7
> 

OK, looking at this and also the full matrix, I think we need to discuss what 
variation we want to test and from which sources.

It is generally useful to have the patch application process tested as well, but 
I think the primary, more easily maintainable source for CI would be git 
branches that reflect the latest version of the patch and the kernel series. So, 
one for 4.4, one for 4.14, one for tip, and all that multiplied by supported arch.

I'm not maintaining I-pipe on ARM - Philippe can better comment on how to ensure 
best that your effort is integrated smoothly into mainline. But I would prefer 
to pull your contributions from the I-pipe kernel tree for CI.

Thanks a lot for your patches! They are very valuable contributions.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/7] travis: add basic CI support
  2019-03-05 17:53 ` [PATCH 1/7] travis: add basic CI support Jan Kiszka
@ 2019-03-05 20:29   ` Greg Gallagher
  2019-03-05 21:27     ` Jan Kiszka
       [not found]   ` <CAODwZ7ugD-swhVFpr7VrkEniJBNM3QvkPymNrzBJSNG3uUkMMw@mail.gmail.com>
  1 sibling, 1 reply; 19+ messages in thread
From: Greg Gallagher @ 2019-03-05 20:29 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: roman.stratiienko, Xenomai@xenomai.org

On Tue, Mar 5, 2019 at 12:53 PM Jan Kiszka via Xenomai
<xenomai@xenomai.org> wrote:
>
> On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> > From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> >
> > Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> > ---
> >   .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> >   1 file changed, 73 insertions(+)
> >   create mode 100644 .travis.yml
> >
> > diff --git a/.travis.yml b/.travis.yml
> > new file mode 100644
> > index 000000000..0807760f4
> > --- /dev/null
> > +++ b/.travis.yml
> > @@ -0,0 +1,73 @@
> > +language: c
> > +dist: xenial
> > +
> > +addons:
> > +  apt:
> > +    packages:
> > +      - gcc-aarch64-linux-gnu
> > +      - gcc-arm-linux-gnueabihf
> > +      - patch
> > +      - quilt
> > +      - wget
> > +
> > +env:
> > +  global:
> > +    - KDIR=/tmp/kernel
> > +
> > +install:
> > +  - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
> > +      KERNEL_URL=https://git.kernel.org/torvalds/t/linux-${KERNEL_VERSION}.tar.gz;
> > +    else
> > +      KERNEL_URL=https://www.kernel.org/pub/linux/kernel/v${KERNEL_VERSION::1}.x/linux-${KERNEL_VERSION}.tar.xz;
> > +    fi
> > +  - wget -O kernel.tar.xz ${KERNEL_URL} && mkdir ${KDIR} && tar -C ${KDIR} --strip=1 -xf kernel.tar.xz
> > +  - wget -O /tmp/ipipe.patch ${IPIPE_URL}
> > +
> > +before_script:
> > +  - case "${ARCH}" in
> > +      "arm64") export CROSS_COMPILE=aarch64-linux-gnu-
> > +          ;;
> > +      "arm"  ) export CROSS_COMPILE=arm-linux-gnueabihf-
> > +          ;;
> > +      "x86"  ) export CROSS_COMPILE=
> > +          ;;
> > +    esac
> > +  - pushd ${KDIR}
> > +  - make -j $(nproc) ${KERNEL_DEFCONFIG}
> > +  - ./scripts/config -e CONFIG_IPIPE
> > +  - ./scripts/config -e CONFIG_XENOMAI
> > +  - popd
> > +
> > +script:
> > +  - ./scripts/prepare-kernel.sh --ipipe=/tmp/ipipe.patch --arch=${ARCH} --linux=${KDIR}
> > +  - cd ${KDIR}
> > +  - make -j $(nproc) olddefconfig
> > +  - make -j $(nproc) all
> > +
> > +matrix:
> > +  include:
> > +    - env:
> > +      - ARCH: arm
> > +        KERNEL_VERSION: 4.20.7
> > +        KERNEL_DEFCONFIG: multi_v7_defconfig
> > +        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/draft-v4.20.7/0001-Draft-version-of-ipipe-arm-ported-on-v4.20.7.patch
Do we want to maintainthe 4.20kernel in arm-ipipe tree?  Would it make
more sense to support a newer LTS kernel like 4.19?

-Greg

>
> Ah, nice, a port to a more recent kernel. Do you also have a queue according to
> our noarch / arch split? Would enable reuse for other archs.
>
> > +    - env:
> > +      - ARCH: arm
> > +        KERNEL_VERSION: 4.14.85
> > +        KERNEL_DEFCONFIG: multi_v7_defconfig
> > +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.14.85-arm-6.patch
> > +    - env:
> > +      - ARCH: arm
> > +        KERNEL_VERSION: 4.1.18
> > +        KERNEL_DEFCONFIG: multi_v7_defconfig
> > +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/arm/older/ipipe-core-4.1.18-arm-9.patch
> > +    - env:
> > +      - ARCH: x86
> > +        KERNEL_VERSION: 4.14.89
> > +        KERNEL_DEFCONFIG: x86_64_defconfig
> > +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.14.89-x86-2.patch
> > +    - env:
> > +      - ARCH: x86
> > +        KERNEL_VERSION: 4.4.166
> > +        KERNEL_DEFCONFIG: i386_defconfig
>
> Actually, we haven't tested 32-bit even on 4.4 in a while.
>
> > +        IPIPE_URL: https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.4.166-x86-12.patch
> >
>
> Cool! This is a valuable step forward /wrt CI. How long do these builds run
> each, roughly? We scale by spawning a separate build per kernel, right?
>
> I had travis on the to-do list for a while, but everyone around lacked time to
> finish what we started internally. I'll dig out what we had to ensure we can
> merge valuable ideas. But that may even happen after creating a baseline with this.
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE
> Corporate Competence Center Embedded Linux
>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/7] travis: add basic CI support
  2019-03-05 20:29   ` Greg Gallagher
@ 2019-03-05 21:27     ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-05 21:27 UTC (permalink / raw)
  To: Greg Gallagher; +Cc: roman.stratiienko, Xenomai@xenomai.org

On 05.03.19 21:29, Greg Gallagher via Xenomai wrote:
> On Tue, Mar 5, 2019 at 12:53 PM Jan Kiszka via Xenomai
> <xenomai@xenomai.org> wrote:
>>
>> On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
>>> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
>>>
>>> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
>>> ---
>>>    .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>    1 file changed, 73 insertions(+)
>>>    create mode 100644 .travis.yml
>>>
>>> diff --git a/.travis.yml b/.travis.yml
>>> new file mode 100644
>>> index 000000000..0807760f4
>>> --- /dev/null
>>> +++ b/.travis.yml
>>> @@ -0,0 +1,73 @@
>>> +language: c
>>> +dist: xenial
>>> +
>>> +addons:
>>> +  apt:
>>> +    packages:
>>> +      - gcc-aarch64-linux-gnu
>>> +      - gcc-arm-linux-gnueabihf
>>> +      - patch
>>> +      - quilt
>>> +      - wget
>>> +
>>> +env:
>>> +  global:
>>> +    - KDIR=/tmp/kernel
>>> +
>>> +install:
>>> +  - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
>>> +      KERNEL_URL=https://git.kernel.org/torvalds/t/linux-${KERNEL_VERSION}.tar.gz;
>>> +    else
>>> +      KERNEL_URL=https://www.kernel.org/pub/linux/kernel/v${KERNEL_VERSION::1}.x/linux-${KERNEL_VERSION}.tar.xz;
>>> +    fi
>>> +  - wget -O kernel.tar.xz ${KERNEL_URL} && mkdir ${KDIR} && tar -C ${KDIR} --strip=1 -xf kernel.tar.xz
>>> +  - wget -O /tmp/ipipe.patch ${IPIPE_URL}
>>> +
>>> +before_script:
>>> +  - case "${ARCH}" in
>>> +      "arm64") export CROSS_COMPILE=aarch64-linux-gnu-
>>> +          ;;
>>> +      "arm"  ) export CROSS_COMPILE=arm-linux-gnueabihf-
>>> +          ;;
>>> +      "x86"  ) export CROSS_COMPILE=
>>> +          ;;
>>> +    esac
>>> +  - pushd ${KDIR}
>>> +  - make -j $(nproc) ${KERNEL_DEFCONFIG}
>>> +  - ./scripts/config -e CONFIG_IPIPE
>>> +  - ./scripts/config -e CONFIG_XENOMAI
>>> +  - popd
>>> +
>>> +script:
>>> +  - ./scripts/prepare-kernel.sh --ipipe=/tmp/ipipe.patch --arch=${ARCH} --linux=${KDIR}
>>> +  - cd ${KDIR}
>>> +  - make -j $(nproc) olddefconfig
>>> +  - make -j $(nproc) all
>>> +
>>> +matrix:
>>> +  include:
>>> +    - env:
>>> +      - ARCH: arm
>>> +        KERNEL_VERSION: 4.20.7
>>> +        KERNEL_DEFCONFIG: multi_v7_defconfig
>>> +        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/draft-v4.20.7/0001-Draft-version-of-ipipe-arm-ported-on-v4.20.7.patch
> Do we want to maintainthe 4.20kernel in arm-ipipe tree?  Would it make
> more sense to support a newer LTS kernel like 4.19?
> 

See my reply on patch 7: We need to discuss what to test, and from where to pull 
that.

I do not know the story of this version here, or the 5.0 one. They are surely 
useful to move forward, but releases are more reasonably done based on LTS. That 
means our next goal is 4.19, and then something around 5.4, I suppose.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Fwd: [PATCH 1/7] travis: add basic CI support
       [not found]   ` <CAODwZ7ugD-swhVFpr7VrkEniJBNM3QvkPymNrzBJSNG3uUkMMw@mail.gmail.com>
@ 2019-03-06 11:49     ` Roman Stratiienko
  2019-03-06 12:16       ` Jan Kiszka
  0 siblings, 1 reply; 19+ messages in thread
From: Roman Stratiienko @ 2019-03-06 11:49 UTC (permalink / raw)
  To: xenomai

On Tue, Mar 5, 2019 at 7:53 PM Jan Kiszka <jan.kiszka@siemens.com> wrote:
>
> On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
> > From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> >
> > Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> > ---
> >   .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> >   1 file changed, 73 insertions(+)
> >   create mode 100644 .travis.yml
> >
> > diff --git a/.travis.yml b/.travis.yml
> > new file mode 100644
> > index 000000000..0807760f4
> > --- /dev/null
> > +++ b/.travis.yml
> > @@ -0,0 +1,73 @@
> > +language: c
> > +dist: xenial
> > +
> > +addons:
> > +  apt:
> > +    packages:
> > +      - gcc-aarch64-linux-gnu
> > +      - gcc-arm-linux-gnueabihf
> > +      - patch
> > +      - quilt
> > +      - wget
> > +
> > +env:
> > +  global:
> > +    - KDIR=/tmp/kernel
> > +
> > +install:
> > +  - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
> > +      KERNEL_URL=
https://git.kernel.org/torvalds/t/linux-${KERNEL_VERSION}.tar.gz;
> > +    else
> > +      KERNEL_URL=
https://www.kernel.org/pub/linux/kernel/v${KERNEL_VERSION::1}.x/linux-${KERNEL_VERSION}.tar.xz
;
> > +    fi
> > +  - wget -O kernel.tar.xz ${KERNEL_URL} && mkdir ${KDIR} && tar -C
${KDIR} --strip=1 -xf kernel.tar.xz
> > +  - wget -O /tmp/ipipe.patch ${IPIPE_URL}
> > +
> > +before_script:
> > +  - case "${ARCH}" in
> > +      "arm64") export CROSS_COMPILE=aarch64-linux-gnu-
> > +          ;;
> > +      "arm"  ) export CROSS_COMPILE=arm-linux-gnueabihf-
> > +          ;;
> > +      "x86"  ) export CROSS_COMPILE=
> > +          ;;
> > +    esac
> > +  - pushd ${KDIR}
> > +  - make -j $(nproc) ${KERNEL_DEFCONFIG}
> > +  - ./scripts/config -e CONFIG_IPIPE
> > +  - ./scripts/config -e CONFIG_XENOMAI
> > +  - popd
> > +
> > +script:
> > +  - ./scripts/prepare-kernel.sh --ipipe=/tmp/ipipe.patch
--arch=${ARCH} --linux=${KDIR}
> > +  - cd ${KDIR}
> > +  - make -j $(nproc) olddefconfig
> > +  - make -j $(nproc) all
> > +
> > +matrix:
> > +  include:
> > +    - env:
> > +      - ARCH: arm
> > +        KERNEL_VERSION: 4.20.7
> > +        KERNEL_DEFCONFIG: multi_v7_defconfig
> > +        IPIPE_URL:
https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/draft-v4.20.7/0001-Draft-version-of-ipipe-arm-ported-on-v4.20.7.patch
>
> Ah, nice, a port to a more recent kernel. Do you also have a queue
according to
> our noarch / arch split? Would enable reuse for other archs.

I not really understand the motivation having arch / noarch. Is the any
article on this?

>
> > +    - env:
> > +      - ARCH: arm
> > +        KERNEL_VERSION: 4.14.85
> > +        KERNEL_DEFCONFIG: multi_v7_defconfig
> > +        IPIPE_URL:
https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.14.85-arm-6.patch
> > +    - env:
> > +      - ARCH: arm
> > +        KERNEL_VERSION: 4.1.18
> > +        KERNEL_DEFCONFIG: multi_v7_defconfig
> > +        IPIPE_URL:
https://xenomai.org/downloads/ipipe/v4.x/arm/older/ipipe-core-4.1.18-arm-9.patch
> > +    - env:
> > +      - ARCH: x86
> > +        KERNEL_VERSION: 4.14.89
> > +        KERNEL_DEFCONFIG: x86_64_defconfig
> > +        IPIPE_URL:
https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.14.89-x86-2.patch
> > +    - env:
> > +      - ARCH: x86
> > +        KERNEL_VERSION: 4.4.166
> > +        KERNEL_DEFCONFIG: i386_defconfig
>
> Actually, we haven't tested 32-bit even on 4.4 in a while.
>
> > +        IPIPE_URL:
https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.4.166-x86-12.patch
> >
>
> Cool! This is a valuable step forward /wrt CI. How long do these builds
run
> each, roughly? We scale by spawning a separate build per kernel, right?

You can check real builds on:
Patches on top of the master branch:
https://travis-ci.org/devel-opi/xenomai-fork/builds/501878686 (Ran for 28
min 59 sec)

Patches on top of the next branch (failed for some reason):
https://travis-ci.org/devel-opi/xenomai-fork/builds/502131163

Travis runs 5 parallel jobs simultaneously until other are pending.

>
> I had travis on the to-do list for a while, but everyone around lacked
time to
> finish what we started internally. I'll dig out what we had to ensure we
can
> merge valuable ideas. But that may even happen after creating a baseline
with this.
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE
> Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Fwd: [PATCH 1/7] travis: add basic CI support
  2019-03-06 11:49     ` Fwd: " Roman Stratiienko
@ 2019-03-06 12:16       ` Jan Kiszka
  0 siblings, 0 replies; 19+ messages in thread
From: Jan Kiszka @ 2019-03-06 12:16 UTC (permalink / raw)
  To: Roman Stratiienko, xenomai

On 06.03.19 12:49, Roman Stratiienko via Xenomai wrote:
> On Tue, Mar 5, 2019 at 7:53 PM Jan Kiszka <jan.kiszka@siemens.com> wrote:
>>
>> On 05.03.19 15:45, roman.stratiienko--- via Xenomai wrote:
>>> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
>>>
>>> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
>>> ---
>>>    .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>    1 file changed, 73 insertions(+)
>>>    create mode 100644 .travis.yml
>>>
>>> diff --git a/.travis.yml b/.travis.yml
>>> new file mode 100644
>>> index 000000000..0807760f4
>>> --- /dev/null
>>> +++ b/.travis.yml
>>> @@ -0,0 +1,73 @@
>>> +language: c
>>> +dist: xenial
>>> +
>>> +addons:
>>> +  apt:
>>> +    packages:
>>> +      - gcc-aarch64-linux-gnu
>>> +      - gcc-arm-linux-gnueabihf
>>> +      - patch
>>> +      - quilt
>>> +      - wget
>>> +
>>> +env:
>>> +  global:
>>> +    - KDIR=/tmp/kernel
>>> +
>>> +install:
>>> +  - if [[ "${KERNEL_VERSION}" == *-rc* ]]; then
>>> +      KERNEL_URL=
> https://git.kernel.org/torvalds/t/linux-${KERNEL_VERSION}.tar.gz;
>>> +    else
>>> +      KERNEL_URL=
> https://www.kernel.org/pub/linux/kernel/v${KERNEL_VERSION::1}.x/linux-${KERNEL_VERSION}.tar.xz
> ;
>>> +    fi
>>> +  - wget -O kernel.tar.xz ${KERNEL_URL} && mkdir ${KDIR} && tar -C
> ${KDIR} --strip=1 -xf kernel.tar.xz
>>> +  - wget -O /tmp/ipipe.patch ${IPIPE_URL}
>>> +
>>> +before_script:
>>> +  - case "${ARCH}" in
>>> +      "arm64") export CROSS_COMPILE=aarch64-linux-gnu-
>>> +          ;;
>>> +      "arm"  ) export CROSS_COMPILE=arm-linux-gnueabihf-
>>> +          ;;
>>> +      "x86"  ) export CROSS_COMPILE=
>>> +          ;;
>>> +    esac
>>> +  - pushd ${KDIR}
>>> +  - make -j $(nproc) ${KERNEL_DEFCONFIG}
>>> +  - ./scripts/config -e CONFIG_IPIPE
>>> +  - ./scripts/config -e CONFIG_XENOMAI
>>> +  - popd
>>> +
>>> +script:
>>> +  - ./scripts/prepare-kernel.sh --ipipe=/tmp/ipipe.patch
> --arch=${ARCH} --linux=${KDIR}
>>> +  - cd ${KDIR}
>>> +  - make -j $(nproc) olddefconfig
>>> +  - make -j $(nproc) all
>>> +
>>> +matrix:
>>> +  include:
>>> +    - env:
>>> +      - ARCH: arm
>>> +        KERNEL_VERSION: 4.20.7
>>> +        KERNEL_DEFCONFIG: multi_v7_defconfig
>>> +        IPIPE_URL:
> https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/draft-v4.20.7/0001-Draft-version-of-ipipe-arm-ported-on-v4.20.7.patch
>>
>> Ah, nice, a port to a more recent kernel. Do you also have a queue
> according to
>> our noarch / arch split? Would enable reuse for other archs.
> 
> I not really understand the motivation having arch / noarch. Is the any
> article on this?
> 

See https://gitlab.denx.de/Xenomai/xenomai/wikis/Repositories

>>
>>> +    - env:
>>> +      - ARCH: arm
>>> +        KERNEL_VERSION: 4.14.85
>>> +        KERNEL_DEFCONFIG: multi_v7_defconfig
>>> +        IPIPE_URL:
> https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.14.85-arm-6.patch
>>> +    - env:
>>> +      - ARCH: arm
>>> +        KERNEL_VERSION: 4.1.18
>>> +        KERNEL_DEFCONFIG: multi_v7_defconfig
>>> +        IPIPE_URL:
> https://xenomai.org/downloads/ipipe/v4.x/arm/older/ipipe-core-4.1.18-arm-9.patch
>>> +    - env:
>>> +      - ARCH: x86
>>> +        KERNEL_VERSION: 4.14.89
>>> +        KERNEL_DEFCONFIG: x86_64_defconfig
>>> +        IPIPE_URL:
> https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.14.89-x86-2.patch
>>> +    - env:
>>> +      - ARCH: x86
>>> +        KERNEL_VERSION: 4.4.166
>>> +        KERNEL_DEFCONFIG: i386_defconfig
>>
>> Actually, we haven't tested 32-bit even on 4.4 in a while.
>>
>>> +        IPIPE_URL:
> https://xenomai.org/downloads/ipipe/v4.x/x86/ipipe-core-4.4.166-x86-12.patch
>>>
>>
>> Cool! This is a valuable step forward /wrt CI. How long do these builds
> run
>> each, roughly? We scale by spawning a separate build per kernel, right?
> 
> You can check real builds on:
> Patches on top of the master branch:
> https://travis-ci.org/devel-opi/xenomai-fork/builds/501878686 (Ran for 28
> min 59 sec)
> 
> Patches on top of the next branch (failed for some reason):
> https://travis-ci.org/devel-opi/xenomai-fork/builds/502131163
> 
> Travis runs 5 parallel jobs simultaneously until other are pending.
> 

OK, thanks. My concern is about when the time limits of Travis free builds may 
hit us.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 7/7] travis: append v5.0 to the matrix
  2019-03-05 14:45 ` [PATCH 7/7] travis: append v5.0 to the matrix roman.stratiienko
  2019-03-05 18:24   ` Jan Kiszka
@ 2019-03-06 17:52   ` Philippe Gerum
  1 sibling, 0 replies; 19+ messages in thread
From: Philippe Gerum @ 2019-03-06 17:52 UTC (permalink / raw)
  To: roman.stratiienko, xenomai


Hi,

On 3/5/19 3:45 PM, roman.stratiienko--- via Xenomai wrote:
> From: Roman Stratiienko <roman.stratiienko@globallogic.com>
> 
> Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
> ---
>  .travis.yml | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 0807760f4..ab23b745d 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -46,6 +46,11 @@ script:
>  
>  matrix:
>    include:
> +    - env:
> +      - ARCH: arm
> +        KERNEL_VERSION: 5.0
> +        KERNEL_DEFCONFIG: multi_v7_defconfig
> +        IPIPE_URL: https://github.com/devel-opi/linux-ipipe-arm-porting/releases/download/v5.0-draft1/ipipe-arm-v5.0-draft.patch
>      - env:
>        - ARCH: arm
>          KERNEL_VERSION: 4.20.7
> 

I'm looking at [1] ATM, assuming this is where the patch above came from:

> 2a4faac5245b ipipe: kconfig: fix missing quotes

This is ARM stuff which should go to [2], where the latest ARM port of
the pipeline lives. Nitpicking: "arm/ipipe: kconfig: ..." would match
the current convention for the shortlog.

> 5231f75b1e8e Create readme.md

Do we need a separate file mentioning this info (compared to adding it
to a commit log)?

> 2d82784ecaad Fix uild

This is adapting the stm32 chip for IRQ pipeling, we did not have that
one fixed up yet, nice. This is material for [2] as well. However, some
changes are missing for this to work as expected:

- ipipe_handle_demuxed_irq should be substituted to generic_handle_irq,
to push the incoming IRQ stream from this device to the pipeline entry.
Otherwise nasty things may happen. Because this is a chained interrupt
decoded from a primary vector, we use the demuxed_irq form, otherwise we
would have used the plain domain_irq form.

- gc->chip_types->chip.flags should be or'ed with IRQCHIP_PIPELINE_SAFE.
This tells the genirq core that this irqchip is fine with interrupt
pipelining.

> 835db6f1c35e Fix build

This won't be enough for enabling the pipeline with this broadcom chip.
generic_handle_irq should be replaced by ipipe_handle_demuxed_irq in
brcmstb_l2_intc_irq_handle(). Also, taking the descriptor lock there in
case of bad irq is a no-go. This is a regular spinlock, we can take it
from a code running the low-level IRQ handling for the pipeline.

> 06b790f344cc Build fix
> 0b6098a739be Build fix

I'm unsure where the patched code came from, the original stuff from [1]
looks ok, and needs no patching.

> 461360fe54d1 travis: add .travis.yml

No issue to have that in the mainline I-pipe tree if you need so.

> d458d8321d83 Build Fixes

This commit should be be split, explaining the rationale for the changes
such as those to the TSC emulation code.

[1] https://github.com/devel-opi/linux-ipipe-arm-porting/tree/v5.0-draft2
[2] https://gitlab.denx.de/Xenomai/ipipe-arm

-- 
Philippe.


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-03-06 17:52 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-05 14:45 [PATCH 1/7] travis: add basic CI support roman.stratiienko
2019-03-05 14:45 ` [PATCH 2/7] kernel: cobalt: fix build with kernel v4.20 roman.stratiienko
2019-03-05 18:00   ` Jan Kiszka
2019-03-05 14:45 ` [PATCH 3/7] Kernel: cobalt: workaround of BUILD_BUG_ON error on v4.18 roman.stratiienko
2019-03-05 18:00   ` Jan Kiszka
2019-03-05 14:45 ` [PATCH 4/7] kernel: cobalt: add missing quotes roman.stratiienko
2019-03-05 18:03   ` Jan Kiszka
2019-03-05 14:45 ` [PATCH 5/7] kernel: cobalt: support building against v5.0 roman.stratiienko
2019-03-05 18:05   ` Jan Kiszka
2019-03-05 14:45 ` [PATCH 6/7] kernel: cobalt: migrate to ktime_t roman.stratiienko
2019-03-05 18:16   ` Jan Kiszka
2019-03-05 14:45 ` [PATCH 7/7] travis: append v5.0 to the matrix roman.stratiienko
2019-03-05 18:24   ` Jan Kiszka
2019-03-06 17:52   ` Philippe Gerum
2019-03-05 17:53 ` [PATCH 1/7] travis: add basic CI support Jan Kiszka
2019-03-05 20:29   ` Greg Gallagher
2019-03-05 21:27     ` Jan Kiszka
     [not found]   ` <CAODwZ7ugD-swhVFpr7VrkEniJBNM3QvkPymNrzBJSNG3uUkMMw@mail.gmail.com>
2019-03-06 11:49     ` Fwd: " Roman Stratiienko
2019-03-06 12:16       ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.